Zugreifen auf Azure Key Vault in Azure Cosmos DB mithilfe einer verwalteten Identität
GILT FÜR: NoSQL MongoDB Cassandra Gremlin Tabelle
Azure Cosmos DB muss möglicherweise Geheimnisse/Schlüsseldaten aus Azure Key Vault lesen. Azure Cosmos DB kann z. B. einen in Azure Key Vault gespeicherten kundenseitig verwalteten Schlüssel benötigen. Dazu muss Azure Cosmos DB mit einer verwalteten Identität konfiguriert werden. Danach muss eine Azure Key Vault-Zugriffsrichtlinie der verwalteten Identität Zugriff gewähren.
Voraussetzungen
- Ein Azure-Konto mit einem aktiven Abonnement. Sie können kostenlos ein Konto erstellen.
- Ein vorhandenes Azure Cosmos DB API for NoSQL-Konto. Erstellen eines Azure Cosmos DB-API für NoSQL-Kontos
- Eine vorhandene Azure Key Vault-Ressource. Erstellen eines Schlüsseltresors über die Azure CLI
- Um die Schritte in diesem Artikel ausführen zu können, installieren Sie die Azure CLI, und melden Sie sich bei Azure an.
Prüfen der Voraussetzungen
Speichern Sie in einem Terminal- oder Befehlsfenster die Namen für die Azure Key Vault-Ressource, das Azure Cosmos DB-Konto und die Ressourcengruppe als Shellvariablen namens
keyVaultName
,cosmosName
undresourceGroupName
.# 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"
Hinweis
Diese Variablen werden in späteren Schritten verwendet. In diesem Beispiel wird davon ausgegangen, dass Ihr Azure Cosmos DB-Kontoname
msdocs-cosmos-app
ist, ihr Ressourcengruppenamemsdocs-keyvault
ist und Ihr Ressourcengruppennamemsdocs-cosmos-keyvault-identity
lautet.
Erstellen einer systemseitig zugewiesenen verwalteten Identität in Azure Cosmos DB
Erstellen Sie zunächst eine systemseitig zugewiesene verwaltete Identität für das vorhandene Azure Cosmos DB-Konto.
Wichtig
In dieser Anleitung wird davon ausgegangen, dass Sie eine systemseitig zugewiesene verwaltete Identität verwenden. Viele der Schritte sind ähnlich, wenn Sie eine benutzerseitig zugewiesene verwaltete Identität verwenden.
Führen Sie
az cosmosdb identity assign
aus, um eine systemseitig zugewiesene verwaltete Identität zu erstellen.az cosmosdb identity assign \ --resource-group $resourceGroupName \ --name $cosmosName
Rufen Sie die Metadaten der systemseitig zugewiesenen verwalteten Identität mithilfe von
az cosmosdb identity show
ab, filtern Sie die Daten mithilfe des query-Parameters so, dass nur dieprincipalId
-Eigenschaft zurückgegeben wird, und speichern Sie das Ergebnis in einer Shellvariable namensprincipal
.principal=$( az cosmosdb identity show \ --resource-group $resourceGroupName \ --name $cosmosName \ --query principalId \ --output tsv ) echo $principal
Hinweis
Diese Variable wird in einem späteren Schritt verwendet.
Erstellen einer Azure Key Vault-Zugriffsrichtlinie
In diesem Schritt erstellen Sie eine Zugriffsrichtlinie in Azure Key Vault unter Verwendung der zuvor erstellten verwalteten Identität.
Verwenden Sie den
az keyvault set-policy
-Befehl, um eine Zugriffsrichtlinie in Azure Key Vault zu erstellen, die der verwalteten Identität für Azure Cosmos DB Zugriffsberechtigung auf Key Vault gewährt. Insbesondere verwendet die Richtlinie die key-permissions-Parameter, um Berechtigungen für die Schlüsselget
,list
undimport
zu gewähren.az keyvault set-policy \ --name $keyVaultName \ --object-id $principal \ --key-permissions get list import
Nächste Schritte
- Informationen zur Verwendung von kundenseitig verwalteten Schlüsseln in Azure Key Vault mit Ihrem Azure Cosmos DB-Konto finden Sie im Abschnitt zum Konfigurieren von kundenseitig verwalteten Schlüsseln
- Informationen zum Verwalten von Geheimnissen mit Azure Key Vault finden Sie im Abschnitt zum Sichern von Anmeldeinformationen.