الوصول إلى Azure Key Vault من Azure Cosmos DB باستخدام هوية مدارة

ينطبق على: NoSQL MongoDB كاساندرا العفريت جدول

قد تحتاج Azure Cosmos DB إلى قراءة البيانات السرية/الرئيسية من Azure Key Vault. على سبيل المثال، قد يتطلب Azure Cosmos DB مفتاحا يديره العميل مخزنا في Azure Key Vault. للقيام بذلك، يجب تكوين Azure Cosmos DB بهوية مدارة، ثم يجب أن يمنح نهج الوصول Azure Key Vault الوصول إلى الهوية المدارة.

المتطلبات الأساسية

التحقق من المتطلبات الأساسية

  1. في محطة طرفية أو نافذة أوامر، قم بتخزين أسماء مورد Azure Key Vault الخاص بك، وحساب Azure Cosmos DB ومجموعة الموارد كمتغيرات shell المسماة keyVaultName وcosmosName و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"
    

    إشعار

    ستتم إعادة استخدام هذه المتغيرات في خطوات لاحقة. يفترض هذا المثال أن اسم حساب Azure Cosmos DB الخاص بك هو msdocs-cosmos-app، واسم key vault هو msdocs-keyvault واسم مجموعة الموارد هو msdocs-cosmos-keyvault-identity.

إنشاء الهوية المدارة المعينة من قبل النظام في Azure Cosmos DB

أولا، قم بإنشاء هوية مدارة معينة من قبل النظام لحساب Azure Cosmos DB الحالي.

هام

يفترض هذا الدليل الإرشادي أنك تستخدم هوية مدارة معينة من قبل النظام. العديد من الخطوات متشابهة عند استخدام هوية مدارة معينة من قبل المستخدم.

  1. تشغيل az cosmosdb identity assign لإنشاء هوية مُدارة مخصصة من قبل النظام الجديد.

    az cosmosdb identity assign \
        --resource-group $resourceGroupName \
        --name $cosmosName 
    
  2. استرداد بيانات التعريف للهوية المدارة المعينة من قبل النظام باستخدام az cosmosdb identity show، قم بالتصفية لإرجاع principalId الخاصية فقط باستخدام معلمة الاستعلام، وتخزين النتيجة في متغير shell يسمى principal.

    principal=$(
        az cosmosdb identity show \
            --resource-group $resourceGroupName \
            --name $cosmosName \
            --query principalId \
            --output tsv
    )
    
    echo $principal
    

    إشعار

    ستتم إعادة استخدام هذا المتغير في خطوة لاحقة.

تعيين نهج وصول Azure Key Vault

في هذه الخطوة، قم بإنشاء نهج وصول في Azure Key Vault باستخدام الهوية المدارة مسبقا.

  1. استخدم الأمر az keyvault set-policy لإنشاء نهج وصول في Azure Key Vault يمنح إذن الهوية المدارة لـ Azure Cosmos DB للوصول إلى Key Vault. على وجه التحديد، سيستخدم النهج معلمات أذونات المفاتيح لمنح أذونات للمفاتيح get وlist وimport.

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

الخطوات التالية