Aceder ao Azure Key Vault a partir do Azure Cosmos DB com uma identidade gerida
APLICA-SE A: NoSQL MongoDB Cassandra Gremlin Tabela
O Azure Cosmos DB poderá ter de ler dados secretos/chave do Azure Key Vault. Por exemplo, o Azure Cosmos DB pode exigir uma chave gerida pelo cliente armazenada no Azure Key Vault. Para tal, o Azure Cosmos DB deve ser configurado com uma identidade gerida e, em seguida, uma política de acesso Key Vault do Azure deve conceder acesso à identidade gerida.
Pré-requisitos
- Uma conta do Azure com uma subscrição ativa. Crie uma conta gratuitamente.
- Uma API do Azure Cosmos DB existente para conta NoSQL. Criar uma API do Azure Cosmos DB para conta NoSQL
- Um recurso do Azure Key Vault existente. Criar um cofre de chaves com a CLI do Azure
- Para executar os passos neste artigo, instale a CLI do Azure e inicie sessão no Azure.
Verificação de pré-requisitos
Numa janela de terminal ou comando, armazene os nomes do recurso do Azure Key Vault, da conta do Azure Cosmos DB e do grupo de recursos como variáveis de shell com o nome
keyVaultName
,cosmosName
eresourceGroupName
.# 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"
Nota
Estas variáveis serão reutilizadas em passos posteriores. Este exemplo pressupõe que o nome da conta do Azure Cosmos DB é
msdocs-cosmos-app
, o nome do cofre de chaves émsdocs-keyvault
e o nome do grupo de recursos émsdocs-cosmos-keyvault-identity
.
Criar uma identidade gerida atribuída pelo sistema no Azure Cosmos DB
Primeiro, crie uma identidade gerida atribuída pelo sistema para a conta existente do Azure Cosmos DB.
Importante
Este guia de procedimentos pressupõe que está a utilizar uma identidade gerida atribuída pelo sistema. Muitos dos passos são semelhantes ao utilizar uma identidade gerida atribuída pelo utilizador.
Execute
az cosmosdb identity assign
para criar uma nova identidade gerida atribuída pelo sistema.az cosmosdb identity assign \ --resource-group $resourceGroupName \ --name $cosmosName
Obtenha os metadados da identidade
az cosmosdb identity show
gerida atribuída pelo sistema com o , filtre para devolver aprincipalId
propriedade com o parâmetro de consulta e armazene o resultado numa variável de shell com o nomeprincipal
.principal=$( az cosmosdb identity show \ --resource-group $resourceGroupName \ --name $cosmosName \ --query principalId \ --output tsv ) echo $principal
Nota
Esta variável será reutilizada num passo posterior.
Criar uma política de acesso Key Vault do Azure
Neste passo, crie uma política de acesso no Azure Key Vault com a identidade gerida anteriormente.
Utilize o
az keyvault set-policy
comando para criar uma política de acesso no Azure Key Vault que dá permissão de identidade gerida do Azure Cosmos DB para aceder a Key Vault. Especificamente, a política utilizará os parâmetros de permissões de chave para conceder permissões aget
,list
eimport
chaves.az keyvault set-policy \ --name $keyVaultName \ --object-id $principal \ --key-permissions get list import
Passos seguintes
- Para utilizar chaves geridas pelo cliente no Azure Key Vault com a sua conta do Azure Cosmos DB, veja Configurar chaves geridas pelo cliente
- Para utilizar o Azure Key Vault para gerir segredos, veja credenciais seguras.