الوصول إلى 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 الوصول إلى الهوية المدارة.
المتطلبات الأساسية
- حساب Azure مع اشتراك نشط. أنشئ حساباً مجاناً.
- واجهة برمجة تطبيقات Azure Cosmos DB موجودة لحساب NoSQL. إنشاء واجهة برمجة تطبيقات Azure Cosmos DB لحساب NoSQL
- مورد Azure Key Vault موجود. إنشاء مخزن مفاتيح باستخدام Azure CLI
- لتنفيذ الخطوات الواردة في هذه المقالة، ثبّت Azure CLI وسجّل الدخول إلى Azure.
التحقق من المتطلبات الأساسية
في محطة طرفية أو نافذة أوامر، قم بتخزين أسماء مورد 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 الحالي.
هام
يفترض هذا الدليل الإرشادي أنك تستخدم هوية مدارة معينة من قبل النظام. العديد من الخطوات متشابهة عند استخدام هوية مدارة معينة من قبل المستخدم.
تشغيل
az cosmosdb identity assign
لإنشاء هوية مُدارة مخصصة من قبل النظام الجديد.az cosmosdb identity assign \ --resource-group $resourceGroupName \ --name $cosmosName
استرداد بيانات التعريف للهوية المدارة المعينة من قبل النظام باستخدام
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 باستخدام الهوية المدارة مسبقا.
استخدم الأمر
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
الخطوات التالية
- لاستخدام المفاتيح المدارة من قبل العميل في Azure Key Vault مع حساب Azure Cosmos DB، راجع تكوين المفاتيح التي يديرها العميل
- لاستخدام Azure Key Vault لإدارة الأسرار، راجع بيانات الاعتماد الآمنة.