Доступ к Azure Key Vault из Azure Cosmos DB с помощью управляемого удостоверения
Область применения: Nosql Mongodb Кассандра Гремлин Таблица
Azure Cosmos DB может потребоваться считывать данные секрета или ключа из Azure Key Vault. Например, для Azure Cosmos DB может потребоваться ключ, управляемый клиентом, хранящийся в Azure Key Vault. Для этого в Azure Cosmos DB необходимо настроить управляемое удостоверение. Затем политика доступа Azure Key Vault должна разрешить доступ к управляемому удостоверению.
Необходимые компоненты
- Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно .
- Существующая учетная запись API Azure Cosmos DB для NoSQL. Создание учетной записи API Azure Cosmos DB для NoSQL
- Существующий ресурс 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
Сначала создайте управляемое удостоверение, назначаемое системой, для существующей учетной записи Azure Cosmos DB.
Внимание
В этом практическом руководстве предполагается, что вы используете управляемое удостоверение, назначаемое системой. Многие шаги будут аналогичными при использовании управляемого удостоверения, назначаемого пользователем.
Выполните
az cosmosdb identity assign
, чтобы создать управляемое удостоверение, назначаемое системой.az cosmosdb identity assign \ --resource-group $resourceGroupName \ --name $cosmosName
Получите метаданные управляемого удостоверения, назначаемого системой, с помощью
az cosmosdb identity show
, выполните фильтрацию, чтобы просто вернуть свойствоprincipalId
с помощью параметра query, и сохраните результат в переменной оболочки с именемprincipal
.principal=$( az cosmosdb identity show \ --resource-group $resourceGroupName \ --name $cosmosName \ --query principalId \ --output tsv ) echo $principal
Примечание.
Эта переменная будет использоваться повторно на дальнейших этапах.
Создание политики доступа Azure Key Vault
На этом шаге создайте политику доступа в Azure Key Vault с помощью управляемого удостоверения.
Выполните
az keyvault set-policy
, чтобы создать политику доступа в Azure Key Vault, которая предоставляет управляемому удостоверению Azure Cosmos DB разрешение на доступ к 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 для управления секретами, см. статью Безопасные учетные данные.