تكوين المفاتيح المدارة من قبل العميل لحساب Azure Cosmos DB الخاص بك باستخدام Azure Managed HSM Key Vault
ينطبق على: NoSQL
MongoDB
كاساندرا
العفريت
جدول
يرجى الرجوع إلى ارتباط تكوين المفاتيح التي يديرها العميل باستخدام Azure Key Vault
إشعار
حاليا، تتوفر المفاتيح المدارة من قبل العملاء فقط لحسابات Azure Cosmos DB الجديدة. يجب عليك تكوينها أثناء إنشاء الحساب.
تسجيل موفر موارد Azure Cosmos DB لاشتراك Azure الخاص بك
سجّل الدخول إلى مدخل Microsoft Azure ، وانتقل إلى اشتراك Azure الخاص بك، وحدد موفرو الموارد ضمن علامة التبويب الإعدادات :
ابحث عن موفر مورد Microsoft.DocumentDB . تحقق مما إذا كان قد تم وضع علامة على موفر المورد على أنه مسجل بالفعل. إذا لم يكن كذلك، فاختر موفر المورد وحدد تسجيل :
تكوين Azure Managed HSM Key Vault
يتطلب استخدام المفاتيح المُدارة بواسطة العميل مع Azure Cosmos DB تعيين خاصيتين في مثيل Azure Key Vault الذي تخطط لاستخدامه لاستضافة مفاتيح التشفير: حذف ناعم و حماية التطهير .
نظرا لأن الحذف المبدئي قيد التشغيل بشكل افتراضي، يجب تمكين الحماية من الإزالة فقط. عند إنشاء HSM المدار، استخدم أمر CLI التالي:
objectId = az ad signed-in-user show --query id -o tsv
az keyvault create --hsm-name $hsmName --resource-group $rgName --location $location --enable-purge-protection true --administrators $objectId --retention-days 7
إذا كنت تستخدم مثيل Azure Managed HSM Key Vault موجود، يمكنك التحقق من تمكين هذه الخصائص من خلال النظر إلى قسم الخصائص باستخدام الأمر التالي:
az keyvault show $hsmName $rgName
إذا لم يتم تمكين الحماية من الإزالة، يمكن استخدام الأمر التالي:
az keyvault update-hsm --enable-purge-protection true --hsm-name $hsmName --resource-group $rgName
لمزيد من المعلومات حول أوامر CLI المتوفرة ل HSM المدار، راجع Azure Key Vault التالي
إنشاء مفتاح التشفير وتعيين الأدوار المراسلة
بمجرد تنشيط HSM المدار، يجب إنشاء المفتاح الذي سيتم استخدامه لحساب CMK. لهذا، يتم تعيين الدور "مستخدم تشفير HSM المدار" للمسؤول. لقراءة المزيد حول كيفية عمل RBAC (التحكم في الوصول استنادا إلى الدور) مع HSM المدار، راجع المقالات التالية: الأدوار المضمنة RBAC المحلية ل HSM المدارة - Azure Key Vault | التحكم في الوصول إلى Microsoft Learn وAzure Managed HSM | Microsoft Learn
objectId = az ad signed-in-user show --query id -o tsv
$keyName = "Name of your key"
az keyvault role assignment create --hsm-name $hsmName --role "Managed HSM Crypto User" --assignee $objectId --scope /keys
az keyvault key create --hsm-name $hsmName --name $keyName --ops wrapKey unwrapKey --kty RSA-HSM --size 3072
الآن بعد أن تم إنشاء المفتاح، يجب تعيين دور المراسل إما إلى معرف Cosmos DB الأساسي أو هوية Azure المدارة لتوفير الحساب. يتم استخدام الدور "مستخدم تشفير خدمة تشفير HSM المدارة" لأنه لديه الأذونات الثلاثة الوحيدة اللازمة للعمل مع حساب CMK، وهي: الحصول على والتفاف وإلغاء التغليف. يتم أيضا تحديد نطاق هذه الأذونات لتكون مفيدة فقط على المفاتيح المخزنة على Azure Managed HSM.
بدون هوية مدارة من Azure:
$cosmosPrincipal = az ad sp show --id a232010e-820c-4083-83bb-3ace5fc29d0b --query id -o tsv
az keyvault role assignment create --hsm-name $hsmName --role "Managed HSM Crypto Service Encryption User" --assignee $cosmosPrincipal --scope /keys
$keyURI = "https://{0}.managedhsm.azure.net/keys/{1}" -f $hsmName, $keyName
az cosmosdb create -n $cosmosName -g $rgName --key-uri $keyURI
باستخدام هوية Azure المدارة:
$identityResourceID = az identity show -g $rgName -n $identityName --query id -o tsv
$identityPrincipal = az identity show -g $rgName -n $identityName --query principalId -o tsv
$defaultIdentity = "UserAssignedIdentity={0}" -f $identityResourceID
az keyvault role assignment create --hsm-name $hsmName --role "Managed HSM Crypto Service Encryption User" --assignee $cosmosPrincipal --scope /keys
$keyURI = "https://{0}.managedhsm.azure.net/keys/{1}" -f $hsmName, $keyName
az cosmosdb create -n $cosmosName -g $rgName --key-uri $keyURI --assign-identity $identityResourceID --default-identity $defaultIdentity
سيؤدي ذلك إلى توفير حساب Cosmos DB CMK مع مفتاح مخزن على Azure Managed HSM Key Vault.
التبديل إلى الهوية المدارة المعينة من قبل النظام.
يدعم Cosmos DB استخدام هوية مدارة معينة من قبل النظام لحساب CMK Cosmos DB. لمزيد من المعلومات حول CMK للهوية المدارة المعينة من قبل النظام، راجع: تكوين المفاتيح المدارة من قبل العميل لحساب Azure Cosmos DB الخاص بك
نفذ الأوامر التالية للتبديل من الهوية الافتراضية إلى الهوية المدارة المعينة من قبل النظام:
az cosmosdb identity assign -n $cosmosName -g $rgName
$principalMSIId = az cosmosdb identity show -n $cosmosName -g $rgName --query principalId -o tsv
az keyvault role assignment create --hsm-name $hsmName --role "Managed HSM Crypto Service Encryption User" --assignee $principalMSIId --scope /keys
az cosmosdb update --resource-group $rgName --name $cosmosName --default-identity "SystemAssignedIdentity"
كملاحظة اختيارية، يمكن إزالة تعيين الدور الأصلي للمعرف الأساسي ل Cosmos DB أو هوية Azure المدارة.
az keyvault role assignment delete --hsm-name $hsmName --role "Managed HSM Crypto Service Encryption User" --assignee $cosmosPrincipal --scope /keys
الخطوات التالية
- تعرف على المزيد حول تشفير البيانات في Azure Cosmos DB .
- احصل على نظرة عامة حول الوصول الآمن إلى البيانات في Azure Cosmos DB.
الملاحظات
https://aka.ms/ContentUserFeedback.
قريبًا: خلال عام 2024، سنتخلص تدريجيًا من GitHub Issues بوصفها آلية إرسال ملاحظات للمحتوى ونستبدلها بنظام ملاحظات جديد. لمزيد من المعلومات، راجعإرسال الملاحظات وعرضها المتعلقة بـ