Přístup ke službě Azure Key Vault ze služby Azure Cosmos DB pomocí spravované identity
PLATÍ PRO: NoSQL MongoDB Cassandra Skřítek Stůl
Azure Cosmos DB může potřebovat číst data tajných kódů nebo klíčů ze služby Azure Key Vault. Vaše služba Azure Cosmos DB může například vyžadovat klíč spravovaný zákazníkem uložený ve službě Azure Key Vault. K tomu by měla být služba Azure Cosmos DB nakonfigurovaná se spravovanou identitou a pak by zásady přístupu ke službě Azure Key Vault měly udělit spravovaný přístup k identitě.
Požadavky
- Účet Azure s aktivním předplatným. Vytvoření účtu zdarma
- Existující účet rozhraní API služby Azure Cosmos DB pro NoSQL Vytvoření účtu rozhraní API služby Azure Cosmos DB pro NoSQL
- Existující prostředek služby Azure Key Vault. Vytvoření trezoru klíčů pomocí Azure CLI
- Pokud chcete provést kroky v tomto článku, nainstalujte Azure CLI a přihlaste se k Azure.
Kontrola požadovaných součástí
V terminálu nebo příkazovém okně uložte názvy vašeho prostředku služby Azure Key Vault, účtu služby Azure Cosmos DB a skupiny prostředků jako proměnné prostředí s názvem
keyVaultName
,cosmosName
aresourceGroupName
.# 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"
Poznámka:
Tyto proměnné se znovu použijí v dalších krocích. Tento příklad předpokládá, že název vašeho účtu služby Azure Cosmos DB je
msdocs-cosmos-app
, název vašeho trezoru klíčů jemsdocs-keyvault
a název vaší skupiny prostředků jemsdocs-cosmos-keyvault-identity
.
Vytvoření spravované identity přiřazené systémem ve službě Azure Cosmos DB
Nejprve vytvořte spravovanou identitu přiřazenou systémem pro existující účet služby Azure Cosmos DB.
Důležité
Tento návod předpokládá, že používáte spravovanou identitu přiřazenou systémem. Řada kroků je podobná při použití spravované identity přiřazené uživatelem.
Spuštěním příkazu
az cosmosdb identity assign
vytvořte novou spravovanou identitu přiřazenou systémem.az cosmosdb identity assign \ --resource-group $resourceGroupName \ --name $cosmosName
Načtěte metadata spravované identity přiřazené systémem pomocí
az cosmosdb identity show
filtru, aby se vrátilaprincipalId
vlastnost pomocí parametru dotazu , a uložte výsledek do proměnné prostředí s názvemprincipal
.principal=$( az cosmosdb identity show \ --resource-group $resourceGroupName \ --name $cosmosName \ --query principalId \ --output tsv ) echo $principal
Poznámka:
Tato proměnná se znovu použije v pozdějším kroku.
Vytvoření zásad přístupu ke službě Azure Key Vault
V tomto kroku vytvořte zásadu přístupu ve službě Azure Key Vault pomocí dříve spravované identity.
az keyvault set-policy
Pomocí příkazu vytvořte zásadu přístupu ve službě Azure Key Vault, která dává spravované identitě Azure Cosmos DB oprávnění pro přístup ke službě Key Vault. Konkrétně zásada použije parametry oprávnění klíče k udělení oprávnění ,get
list
aimport
klíčů.az keyvault set-policy \ --name $keyVaultName \ --object-id $principal \ --key-permissions get list import
Další kroky
- Informace o použití klíčů spravovaných zákazníkem ve službě Azure Key Vault s účtem služby Azure Cosmos DB najdete v tématu Konfigurace klíčů spravovaných zákazníkem.
- Informace o použití služby Azure Key Vault ke správě tajných kódů najdete v tématu Zabezpečené přihlašovací údaje.