관리 ID를 사용하여 Azure Cosmos DB에서 Azure Key Vault에 액세스
적용 대상: NoSQL MongoDB Cassandra Gremlin 테이블
Azure Cosmos DB는 Azure Key Vault에서 비밀/키 데이터를 읽어야 할 수 있습니다. 예를 들어 Azure Cosmos DB에는 Azure Key Vault에 저장된 고객 관리형 키가 필요할 수 있습니다. 이렇게 하려면 Azure Cosmos DB를 관리 ID로 구성한 다음, Azure Key Vault 액세스 정책에서 관리 ID 액세스 권한을 부여해야 합니다.
필수 조건
- 활성 구독이 있는 Azure 계정. 체험 계정을 만듭니다.
- 기존 Azure Cosmos DB API for NoSQL 계정. Azure Cosmos DB NoSQL용 API 계정 만들기
- 기존 Azure Key Vault 리소스. Azure CLI를 사용하여 키 자격 증명 모음 만들기
- 이 문서의 단계를 수행하려면 Azure CLI를 설치하고 Azure에 로그인합니다.
필수 구성 요소 확인
터미널 또는 명령 창에서 Azure Key Vault 리소스, Azure Cosmos DB 계정 및 리소스 그룹의 이름을
keyVaultName
,cosmosName
및resourceGroupName
이라는 셸 변수로 저장합니다.# Variable for function app name keyVaultName="msdocs-keyvault" # Variable for Azure Cosmos DB account name cosmosName="msdocs-cosmos-app" # Variable for resource group name resourceGroupName="msdocs-cosmos-keyvault-identity"
참고 항목
이러한 변수는 이후 단계에서 다시 사용됩니다. 이 예제에서는 Azure Cosmos DB 계정 이름이
msdocs-cosmos-app
, 키 자격 증명 모음 이름이msdocs-keyvault
, 리소스 그룹 이름이msdocs-cosmos-keyvault-identity
라고 가정합니다.
Azure Cosmos DB에서 시스템 할당 관리 ID 만들기
먼저 기존 Azure Cosmos DB 계정에 대한 시스템 할당 관리 ID를 만듭니다.
Important
이 방법 가이드에서는 시스템 할당 관리 ID를 사용한다고 가정합니다. 대부분의 단계는 사용자 할당 관리 ID를 사용할 때와 비슷합니다.
az cosmosdb identity assign
을 실행하여 새로운 시스템이 할당한 관리 ID를 만듭니다.az cosmosdb identity assign \ --resource-group $resourceGroupName \ --name $cosmosName
az cosmosdb identity show
를 사용하여 시스템 할당 관리 ID의 메타데이터를 검색하고, 쿼리 매개 변수를 사용하여principalId
속성만 반환하도록 필터링하고, 결과를principal
이라는 셸 변수에 저장합니다.principal=$( az cosmosdb identity show \ --resource-group $resourceGroupName \ --name $cosmosName \ --query principalId \ --output tsv ) echo $principal
참고 항목
이 변수는 이후 단계에서 다시 사용됩니다.
Azure Key Vault 액세스 정책 만들기
이 단계에서는 이전에 관리된 ID를 사용하여 Azure Key Vault에서 액세스 정책을 만듭니다.
az keyvault set-policy
명령을 사용하여 Azure Cosmos DB 관리 ID에 Key Vault 액세스 권한을 부여하는 액세스 정책을 Azure Key Vault에서 만듭니다. 특히, 정책은 key-permissions 매개 변수를 사용하여get
,list
및import
키에 권한을 부여합니다.az keyvault set-policy \ --name $keyVaultName \ --object-id $principal \ --key-permissions get list import
다음 단계
- Azure Key Vault의 고객 관리형 키를 Azure Cosmos DB 계정으로 사용하려면 고객 관리형 키 구성을 참조하세요.
- Azure Key Vault를 사용하여 비밀을 관리하려면 보안 자격 증명을 참조하세요.