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

Kontrola požadovaných součástí

  1. 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, cosmosNamea 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"
    

    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íčů je msdocs-keyvault a název vaší skupiny prostředků je msdocs-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.

  1. 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 
    
  2. Načtěte metadata spravované identity přiřazené systémem pomocí az cosmosdb identity showfiltru, aby se vrátila principalId vlastnost pomocí parametru dotazu , a uložte výsledek do proměnné prostředí s názvem principal.

    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.

  1. 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í , getlista import klíčů.

    az keyvault set-policy \
        --name $keyVaultName \
        --object-id $principal \
        --key-permissions get list import
    

Další kroky