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

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

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

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

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

암호 없는 연결

가능하면 관리 ID를 사용하여 ID 관리를 간소화하고 보안을 강화합니다. 관리 ID는 암호 없는 인증을 지원하므로 코드 또는 환경 변수에 암호 또는 클라이언트 비밀과 같은 중요한 자격 증명을 포함할 필요가 없습니다. App Service, Azure Functions 및 Azure Container Apps 같은 Azure 서비스는 관리 ID를 지원합니다. 관리 ID를 사용하면 애플리케이션이 자격 증명을 관리하지 않고도 서비스를 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 Entra ID 계정과 같은 Microsoft ID 또는 Google 또는 Facebook과 같은 외부 소셜 계정으로 로그인할 수 있는 Python 애플리케이션을 개발할 수 있습니다. 앱이 인증되면 사용자가 사용자 프로필, 일정 및 전자 메일과 같은 리소스와 상호 작용할 수 있도록 자체 API 또는 Microsoft API(예: Microsoft Graph)에 액세스할 수 있는 권한을 부여할 수 있습니다.