Toegang tot Azure Key Vault vanuit Azure Cosmos DB met behulp van een beheerde identiteit
VAN TOEPASSING OP: NoSQL MongoDB Cassandra Gremlin Tafel
Azure Cosmos DB moet mogelijk geheime/sleutelgegevens lezen uit Azure Key Vault. Uw Azure Cosmos DB kan bijvoorbeeld een door de klant beheerde sleutel vereisen die is opgeslagen in Azure Key Vault. Hiervoor moet Azure Cosmos DB worden geconfigureerd met een beheerde identiteit. Vervolgens moet een toegangsbeleid voor Azure Key Vault de beheerde identiteit toegang verlenen.
Vereisten
- Een Azure-account met een actief abonnement. Gratis een account maken
- Een bestaand Azure Cosmos DB-API voor NoSQL-account. Een Azure Cosmos DB-API voor NoSQL-account maken
- Een bestaande Azure Key Vault-resource. Een sleutelkluis maken met behulp van de Azure CLI
- Als u de stappen in dit artikel wilt uitvoeren, installeert u de Azure CLI en meldt u zich aan bij Azure.
Controle van vereisten
Sla in een terminal- of opdrachtvenster de namen van uw Azure Key Vault-resource, het Azure Cosmos DB-account en de resourcegroep op als shellvariabelen met de naam
keyVaultName
,cosmosName
enresourceGroupName
.# 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"
Notitie
Deze variabelen worden in latere stappen opnieuw gebruikt. In dit voorbeeld wordt ervan uitgegaan dat uw Azure Cosmos DB-accountnaam is
msdocs-cosmos-app
, dat uw sleutelkluisnaam ismsdocs-keyvault
en de naam van uw resourcegroep.msdocs-cosmos-keyvault-identity
Een door het systeem toegewezen beheerde identiteit maken in Azure Cosmos DB
Maak eerst een door het systeem toegewezen beheerde identiteit voor het bestaande Azure Cosmos DB-account.
Belangrijk
In deze instructiegids wordt ervan uitgegaan dat u een door het systeem toegewezen beheerde identiteit gebruikt. Veel van de stappen zijn vergelijkbaar bij het gebruik van een door de gebruiker toegewezen beheerde identiteit.
Voer
az cosmosdb identity assign
deze opdracht uit om een nieuwe door het systeem toegewezen beheerde identiteit te maken.az cosmosdb identity assign \ --resource-group $resourceGroupName \ --name $cosmosName
Haal de metagegevens van de door het systeem toegewezen beheerde identiteit op met behulp
az cosmosdb identity show
van, filter om alleen deprincipalId
eigenschap te retourneren met behulp van de queryparameter en sla het resultaat op in een shellvariabele met de naamprincipal
.principal=$( az cosmosdb identity show \ --resource-group $resourceGroupName \ --name $cosmosName \ --query principalId \ --output tsv ) echo $principal
Notitie
Deze variabele wordt in een latere stap opnieuw gebruikt.
Een Azure Key Vault-toegangsbeleid maken
In deze stap maakt u een toegangsbeleid in Azure Key Vault met behulp van de eerder beheerde identiteit.
Gebruik de
az keyvault set-policy
opdracht om een toegangsbeleid te maken in Azure Key Vault waarmee de beheerde Identiteit van Azure Cosmos DB toegang krijgt tot Key Vault. Het beleid gebruikt met name de parameters voor sleutelmachtigingen om machtigingen te verlenen aanget
,list
enimport
sleutels.az keyvault set-policy \ --name $keyVaultName \ --object-id $principal \ --key-permissions get list import
Volgende stappen
- Als u door de klant beheerde sleutels in Azure Key Vault wilt gebruiken met uw Azure Cosmos DB-account, raadpleegt u Door de klant beheerde sleutels configureren
- Als u Azure Key Vault wilt gebruiken om geheimen te beheren, raadpleegt u beveiligde referenties.