Azure 리소스에 대한 관리 ID를 사용한 자격 증명 모음 인증
Azure Key Vault는 Microsoft Entra ID를 사용하여 자격 증명 모음에 액세스하려는 사용자와 앱을 인증합니다. 자격 증명 모음에 대한 액세스 권한을 웹앱에 부여하려면 먼저 앱을 Microsoft Entra ID에 등록해야 합니다. 등록하면 앱에 대한 ID가 생성됩니다. 앱의 ID가 생긴 후에는 자격 증명 모음 권한을 앱에 할당할 수 있습니다.
앱과 사용자는 Microsoft Entra 인증 토큰을 사용하여 Key Vault에 인증합니다. Microsoft Entra ID에서 토큰을 가져오려면 비밀 또는 인증서가 필요합니다. 토큰이 있는 모든 사용자는 앱 ID를 사용하여 자격 증명 모음의 모든 비밀에 액세스할 수 있습니다.
앱 비밀은 자격 증명 모음에 안전하게 보관되지만, 비밀 또는 인증서에 액세스하기 위해 자격 증명 모음 외부에도 보관해야 합니다! 이를 부트스트랩 문제라고 하며, Azure에는 이에 대한 해결책이 있습니다.
Azure 리소스에 대한 관리 ID
Azure 리소스에 대한 관리 ID는 자격 증명 모음 외부에서 비밀을 하나도 관리하지 않고도 앱이 Key Vault 및 다른 Azure 서비스에 액세스하는 데 사용할 수 있는 Azure App Service의 기능입니다. 관리 ID를 사용하는 것은 웹앱에서 Key Vault를 활용할 수 있는 간단하고 안전한 방법입니다.
웹앱에서 관리 ID를 사용하면 Azure는 앱에서 사용할 용도로 별도의 토큰 부여 REST 서비스를 활성화합니다. 앱은 Microsoft Entra ID에서 직접 요청하는 대신 이 서비스에서 토큰을 요청합니다. 앱이 이 서비스에 액세스하려면 비밀을 사용해야 하지만, 해당 비밀은 앱 시작 시 App Service에 의해 앱의 환경 변수에 삽입됩니다. 이 비밀 값을 관리하거나 어딘가에 저장할 필요가 없고 앱 외부의 어떤 것도 이 비밀 또는 관리 ID 토큰 서비스 엔드포인트에 액세스할 수 없습니다.
Azure 리소스에 대한 관리 ID도 Microsoft Entra ID에 앱을 등록합니다. 웹앱을 삭제하거나 관리 ID를 사용하지 않도록 설정하면 Microsoft Entra ID가 등록을 삭제합니다.
관리 ID는 Azure 구독에 포함된 무료 버전을 포함하여 모든 버전의 Microsoft Entra ID에서 사용할 수 있습니다. App Service에서 관리형 ID를 사용하는 경우 추가 비용이 없고 구성이 필요 없으며 언제든지 앱에서 활성화 또는 비활성화할 수 있습니다.
웹앱에 관리형 ID를 사용하려면 구성 없이 단일 Azure CLI 명령만 있으면 됩니다. 이 작업은 나중에 App Service 앱을 설정하고 Azure에 배포할 때 수행합니다. 하지만 그전에 관리 ID에 대한 지식을 적용하여 앱의 코드를 작성하세요.