قم بتوفير الوصول إلى مفاتيح وشهادات وأسرار Key Vault باستخدام عنصر تحكم في الوصول المستند إلى دور Azure
إشعار
يدعم موفر موارد Key Vault نوعين من الموارد: vaults و HSMs المدارة. يُطبق التحكم بالوصول الموضح في هذه المقالة فقط على Vaults. للتعرف على نموذج التحكم في الوصول لـ HSM المُدار، راجع التحكم في الوصول لـ HSM المُدار.
إشعار
لا يدعم تكوين شهادة Azure App Service من خلال Azure Portal نموذج إذن Key Vault RBAC. يمكنك استخدام Azure PowerShell وAzure CLI وتوزيع قالب ARM مع تعيين دور مستخدم شهادة Key Vault للهوية العمومية ل App Service، على سبيل المثال Microsoft Azure App Service' في السحابة العامة.
التحكم في الوصول المستند إلى دور Azure (Azure RBAC) هو نظام تخويل مبني على Azure Resource Manager يوفر إدارة وصول مركزية لموارد Azure.
يسمح Azure RBAC للمستخدمين بإدارة المفاتيح والأسرار وأذونات الشهادات، ويوفر مكانا واحدا لإدارة جميع الأذونات عبر جميع خزائن المفاتيح.
يسمح نموذج Azure RBAC للمستخدمين بتعيين أذونات على مستويات نطاق مختلفة: مجموعة الإدارة أو الاشتراك أو مجموعة الموارد أو الموارد الفردية. يسمح Azure RBAC لمخزن المفاتيح أيضا للمستخدمين بالحصول على أذونات منفصلة على المفاتيح والأسرار والشهادات الفردية.
لمزيد من المعلومات، راجع التحكم في الوصول المستند إلى الدور في Azure.
أفضل الممارسات لتعيينات أدوار المفاتيح والأسرار والشهادات الفردية
توصيتنا هي استخدام مخزن لكل تطبيق لكل بيئة (التطوير وما قبل الإنتاج والإنتاج) مع الأدوار المعينة في نطاق مخزن المفاتيح.
يجب تجنب تعيين الأدوار على المفاتيح والأسرار والشهادات الفردية. الاستثناء هو سيناريو حيث يجب مشاركة الأسرار الفردية بين تطبيقات متعددة؛ على سبيل المثال، حيث يحتاج تطبيق واحد إلى الوصول إلى البيانات من تطبيق آخر.
للمزيد من المعلومات حول إرشادات إدارة Azure Key Vault، راجع:
أدوار Azure المضمنة لأجل عمليات مستوى بيانات Key Vault
إشعار
الدور Key Vault Contributor
هو لعمليات مستوى الإدارة فقط لإدارة خزائن المفاتيح. لا يسمح بالوصول إلى المفاتيح والبيانات السرية والشهادات.
الدور مدمج | الوصف | البطاقة/رقم البطاقة |
---|---|---|
مسؤول Key Vault | نفذ كل عمليات مستوى البيانات على مخزن المفتاح وكل العناصر فيه بما في ذلك الشهادات والمفاتيح والبيانات السرية. لا يمكن إدارة موارد Key Vault أو إدارة تعيينات الدور. يعمل فقط لـ Key Vault التي تستخدم نموذج إذن "التحكم في الوصول المستند إلى دور Azure". | 00482a5a-887f-4fb3-b363-3b7fe8e74483 |
قارئ Key Vault | اقرأ بيانات التعريف لـ Key Vaults وشهاداتها ومفاتيحها وبياناتها السرية. لا يمكن قراءة القيم الحساسة مثل محتويات البيانات السرية أو المواد الرئيسية. يعمل فقط لـ Key Vault التي تستخدم نموذج إذن "التحكم في الوصول المستند إلى دور Azure". | 21090545-7ca7-4776-b22c-e363652d74d2 |
عامل تشغيل إزالة Key Vault | يسمح بالحذف الدائم للخزائن المحذوفة مبدئيا. | a68e7c17-0ab2-4c09-9a58-125dae29748c |
مسؤول شهادات Key Vault | قم بتنفيذ أي إجراء على شهادات خزنة المفاتيح، باستثناء قراءة الأجزاء السرية والمفتاحية، وإدارة الأذونات. يعمل فقط لـ Key Vault التي تستخدم نموذج إذن "التحكم في الوصول المستند إلى دور Azure". | a4417e6f-fecd-4de8-b567-7b0420556985 |
مستخدم شهادة Key Vault | اقرأ محتويات الشهادة بأكملها بما في ذلك جزء البيانات السرية والمفتاح. يعمل فقط لـ Key Vault التي تستخدم نموذج إذن "التحكم في الوصول المستند إلى دور Azure". | db79e9a7-68ee-4b58-9aeb-b90e7c24fcba |
مسؤول Key Vault Crypto | تنفيذ أي إجراء على مفاتيح Key Vault، باستثناء إدارة الأذونات. يعمل فقط لـ Key Vault التي تستخدم نموذج إذن "التحكم في الوصول المستند إلى دور Azure". | 14b46e9e-c2b7-41b4-b07b-48a6ebf60603 |
مستخدم تشفير خدمة key Vault Crypto | قراءة بيانات تعريف المفاتيح وإجراء عمليات تضمين/فك. يعمل فقط لـ Key Vault التي تستخدم نموذج إذن "التحكم في الوصول المستند إلى دور Azure". | e147488a-f6f5-4113-8e2d-b22465e65bf6 |
مستخدم Key Vault Crypto | إجراء عمليات التشفير باستخدام المفاتيح. يعمل فقط لـ Key Vault التي تستخدم نموذج إذن "التحكم في الوصول المستند إلى دور Azure". | 12338af0-0e69-4776-bea7-57ae8d297424 |
مستخدم إصدار خدمة تشفير Key Vault | مفاتيح الإصدار للحوسبة السرية Azure والبيئات المكافئة . يعمل فقط لـ Key Vault التي تستخدم نموذج إذن "التحكم في الوصول المستند إلى دور Azure". | |
مسؤول بيانات Key Vault السرية | نفذ أي إجراء على مفاتيح Key Vault، باستثناء إدارة الأذونات. يعمل فقط لـ Key Vault التي تستخدم نموذج إذن "التحكم في الوصول المستند إلى دور Azure". | b86a8fe4-44ce-4948-aee5-eccb2c155cd7 |
مستخدم بيانات Key Vault السرية | اقرأ المحتويات السرية بما في ذلك جزء سري من شهادة بمفتاح خاص. يعمل فقط لـ Key Vault التي تستخدم نموذج إذن "التحكم في الوصول المستند إلى دور Azure". | 4633458b-17de-408a-b874-0445c86b69e6 |
لمزيد من المعلومات حول تعريفات الأدوار المضمنة في Azure، راجع الأدوار المضمنة في Azure.
إدارة تعيينات دور وحدة بيانات Key Vault المضمنة
الدور مدمج | الوصف | البطاقة/رقم البطاقة |
---|---|---|
مسؤول الوصول إلى بيانات Key Vault | إدارة الوصول إلى Azure Key Vault عن طريق إضافة أو إزالة تعيينات الأدوار لمسؤول Key Vault أو مسؤول شهادات Key Vault أو مسؤول تشفير Key Vault أو مستخدم تشفير خدمة تشفير Key Vault أو مستخدم تشفير Key Vault أو قارئ Key Vault أو مسؤول أسرار Key Vault أو أدوار مستخدم أسرار Key Vault. يتضمن شرط ABAC لتقييد تعيينات الأدوار. | 8b54135c-b56d-4d72-a534-26097cfdc8d8 |
استخدام أذونات التحكم في الوصول استناداً إلى الدور في Azure للبيانات السرية والمفتاح والشهادات مع Key Vault
يوفر نموذج إذن التحكم في الوصول استناداً إلى الدور في Azure الجديد لـ Key Vault بديلًا لنموذج أذونات نهج الوصول إلى Vault.
المتطلبات الأساسية
لديك اشتراك Azure. إذا لم يكن لديك حساب، فأنشئ حساب مجاني قبل أن تبدأ.
لإدارة تعيينات الأدوار، يجب أن يكون لديك Microsoft.Authorization/roleAssignments/write
وأذونات Microsoft.Authorization/roleAssignments/delete
، مثل مسؤول الوصول إلى بيانات Key Vault (مع أذونات مقيدة لتعيين/إزالة أدوار Key Vault معينة فقط)، أو مسؤول وصول المستخدم، أو المالك.
تمكين أذونات التحكم في الوصول استناداً إلى الدور في Azure على Key Vault
إشعار
يتطلب تغيير نموذج الإذن إذن "Microsoft.Authorization/roleAssignments/write" غير المقيد، والذي يعد جزءا من أدوار المالك ومسؤول وصول المستخدم. لا يمكن استخدام أدوار مسؤول الاشتراك الكلاسيكية مثل "مسؤول الخدمة" و"المسؤول المشارك"، أو "مسؤول الوصول إلى بيانات Key Vault" المقيد لتغيير نموذج الأذونات.
تمكين أذونات التحكم في الوصول استناداً إلى الدور في Azure على Key Vault:
تمكين أذونات التحكم في الوصول استناداً إلى الدور في Azure على Key Vault الحالية:
هام
يؤدي تعيين نموذج إذن التحكم في الوصول استناداً إلى الدور في Azure إلى إبطال كل أذونات نهج الوصول. يمكن أن يسبب انقطاع إذا لم يتم تعيين أدوار Azure المكافئة.
تعيين دور
إشعار
من المستحسن استخدام معرف الدور الفريد بدلًا من اسم الدور في البرامج النصية. لذلك، إذا أُعيدت تسمية دور، ستستمر البرامج النصية الخاصة بك في العمل. في هذا المستند، يتم استخدام اسم دور المستند لسهولة القراءة.
لإنشاء تعيين دور باستخدام Azure CLI، استخدم الأمر az role assignment :
az role assignment create --role {role-name-or-id} --assignee {assignee-upn}> --scope {scope}
للحصول على التفاصيل الكاملة، راجع تعيين أدوار Azure باستخدام واجهة مستوى الاستدعاء لـ Azure.
تعيين دور نطاق مجموعة الموارد
az role assignment create --role "Key Vault Reader" --assignee {i.e user@microsoft.com} --scope /subscriptions/{subscriptionid}/resourcegroups/{resource-group-name}
للحصول على التفاصيل الكاملة، راجع تعيين أدوار Azure باستخدام واجهة مستوى الاستدعاء لـ Azure.
يوفر أعلى قائمة تعيين الدور القدرة على سرد عناصر Key Vault في Key Vault.
تعيين دور نطاق Key Vault
az role assignment create --role "Key Vault Secrets Officer" --assignee {assignee-upn} --scope /subscriptions/{subscriptionid}/resourcegroups/{resource-group-name}/providers/Microsoft.KeyVault/vaults/{key-vault-name}
للحصول على التفاصيل الكاملة، راجع تعيين أدوار Azure باستخدام واجهة مستوى الاستدعاء لـ Azure.
تعيين دور نطاق البيانات السرية
إشعار
يجب استخدام بيانات Key vault السرية والشهادة وتعيينات دور النطاق الرئيسي فقط للسيناريوهات المحدودة الموضحة هنا للامتثال لأفضل ممارسات الأمان.
az role assignment create --role "Key Vault Secrets Officer" --assignee {i.e user@microsoft.com} --scope /subscriptions/{subscriptionid}/resourcegroups/{resource-group-name}/providers/Microsoft.KeyVault/vaults/{key-vault-name}/secrets/RBACSecret
للحصول على التفاصيل الكاملة، راجع تعيين أدوار Azure باستخدام واجهة مستوى الاستدعاء لـ Azure.
الاختبار والتحقق
إشعار
تستخدم المتصفحات التخزين المؤقت وتحديث الصفحة مطلوب بعد إزالة تعيينات الأدوار. السماح بعدة دقائق لتحديث تعيينات الأدوار
التحقق من صحة إضافة بيانات سرية جديدة دون "مسؤول بيانات Key Vault السرية" دور على مستوى Key Vault.
انتقل إلى علامة تبويب التحكم في الوصول إلى Key Vault وأزل تعيين دور "مسؤول بيانات Key Vault السرية" لهذا المورد.
انتقل إلى بيانات سرية أُنشئت مسبقًا. يمكنك أن ترى جميع خصائص البيانات السرية.
إنشاء بيانات سرية جديدة (يجب أن تظهر الأسرار > +Generate/Import) هذا الخطأ:
التحقق من صحة تحرير البيانات السرية دون "مسؤول بيانات Key Vault السرية" دور على مستوى البيانات السرية.
انتقل إلى علامة تبويب التحكم في الوصول إلى Key Vault المنشأة مسبقًا وأزل تعيين دور "مسؤول بيانات Key Vault السرية" لهذا المورد.
انتقل إلى بيانات سرية أُنشئت مسبقًا. يمكنك أن ترى خصائص البيانات السرية.
التحقق من صحة قراءة البيانات السرية دون دور القارئ على مستوى Key Vault.
انتقل إلى علامة تبويب التحكم في الوصول لمجموعة موارد Key Vault وأزل تعيين دور "قارئ Key Vault".
يجب أن يظهر الانتقال إلى علامة التبويب Key vault's Secrets هذا الخطأ:
إنشاء أدوار مخصصة
az role definition create --role-definition '{ \
"Name": "Backup Keys Operator", \
"Description": "Perform key backup/restore operations", \
"Actions": [
], \
"DataActions": [ \
"Microsoft.KeyVault/vaults/keys/read ", \
"Microsoft.KeyVault/vaults/keys/backup/action", \
"Microsoft.KeyVault/vaults/keys/restore/action" \
], \
"NotDataActions": [
], \
"AssignableScopes": ["/subscriptions/{subscriptionId}"] \
}'
للمزيد من المعلومات عن كيفية إنشاء أدوار مخصصة، راجع:
الأسئلة المتداولة
هل يمكنني استخدام تعيينات نموذج عنصر نطاق عنصر التحكم في الوصول المستند إلى الدور (RBAC) Key Vault لتوفير العزل لفرق التطبيق داخل Key Vault؟
لا. يسمح لك نموذج إذن التحكم في الوصول استنادا إلى الدور بتعيين الوصول إلى الكائنات الفردية في Key Vault للمستخدم أو التطبيق، ولكن أي عمليات إدارية مثل التحكم في الوصول إلى الشبكة والمراقبة وإدارة الكائنات تتطلب أذونات على مستوى المخزن، والتي ستعرض بعد ذلك معلومات آمنة للمشغلين عبر فرق التطبيق.