다음을 통해 공유


Azure에서 Python 앱에 대한 ID 및 액세스 관리

Azure에서 Python 애플리케이션용 IAM(ID 및 액세스 관리)에는 다음 두 가지 주요 개념이 포함됩니다.

  • 인증: 사용자, 그룹, 서비스 또는 애플리케이션의 ID 확인
  • 권한 부여: 해당 ID가 Azure 리소스에서 수행할 수 있는 작업 결정

Azure는 애플리케이션의 보안 요구 사항에 맞게 여러 IAM 옵션을 제공합니다. 이 문서에는 시작하는 데 도움이 되는 필수 리소스에 대한 링크가 포함되어 있습니다.

자세한 내용은 ID 및 액세스 관리에 대한 권장 사항을 참조하세요.

암호 없는 연결

가능하면 관리 ID를 사용하여 ID 관리를 간소화하고 보안을 강화하는 것이 좋습니다. 관리 ID는 암호 없는 인증을 지원하므로 코드 또는 환경 변수에 암호 또는 클라이언트 비밀과 같은 중요한 자격 증명을 포함할 필요가 없습니다. 관리 ID는 App Service, Azure Functions 및 Azure Container Apps와 같은 Azure 서비스에 사용할 수 있습니다. 이를 통해 애플리케이션은 자격 증명을 관리할 필요 없이 Azure 서비스에 인증할 수 있습니다.

다음 리소스는 DefaultAzureCredential을 통해 암호 없는 인증으로 Python용 Azure SDK를 사용하는 방법을 보여 줍니다. DefaultAzureCredential 은 여러 자격 증명 형식을 안전하고 지능적인 순서로 연결하여 로컬 개발 및 프로덕션 환경을 원활하게 지원하므로 Azure에서 실행되는 대부분의 애플리케이션에 적합합니다.

서비스 커넥터

Python 애플리케이션에서 일반적으로 사용되는 많은 Azure 리소스는 서비스 커넥터를 지원합니다. 서비스 커넥터는 Azure 서비스 간의 보안 연결을 구성하는 프로세스를 간소화합니다. 컴퓨팅 서비스(예: App Service 또는 Container Apps)와 종속 서비스(예: Azure Storage, Azure SQL 또는 Cosmos DB) 간의 인증, 네트워크 액세스 및 연결 문자열 설정을 자동화합니다. 이렇게 하면 수동 단계가 줄어들고, 관리 ID 및 프라이빗 엔드포인트 사용과 같은 모범 사례를 적용하고, 배포 일관성 및 보안을 향상시킬 수 있습니다.

키 보관소 (Key Vault)

Azure Key Vault와 같은 키 관리 솔루션을 사용하면 관리 복잡성이 더 커지지만 비밀 및 자격 증명을 보다 세밀하게 제어할 수 있습니다.

앱에서 사용자 로그인을 위한 인증 및 ID

사용자가 Microsoft ID(예: Azure AD 계정) 또는 외부 소셜 계정(예: Google 또는 Facebook)으로 로그인할 수 있도록 하는 Python 애플리케이션을 개발할 수 있습니다. 앱이 인증되면 사용자가 사용자 프로필, 일정 및 전자 메일과 같은 리소스와 상호 작용할 수 있도록 자체 API 또는 Microsoft API(예: Microsoft Graph)에 액세스할 수 있는 권한을 부여할 수 있습니다.