قم بتوفير الوصول إلى مفاتيح وشهادات وأسرار 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" المقيد لتغيير نموذج الأذونات.

  1. تمكين أذونات التحكم في الوصول استناداً إلى الدور في Azure على Key Vault:

    تمكين أذونات التحكم في الوصول استناداً إلى الدور في Azure - New Vault

  2. تمكين أذونات التحكم في الوصول استناداً إلى الدور في Azure على Key Vault الحالية:

    تمكين أذونات التحكم في الوصول استناداً إلى الدور في Azure - exisiting 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.

الاختبار والتحقق

إشعار

تستخدم المتصفحات التخزين المؤقت وتحديث الصفحة مطلوب بعد إزالة تعيينات الأدوار. السماح بعدة دقائق لتحديث تعيينات الأدوار

  1. التحقق من صحة إضافة بيانات سرية جديدة دون "مسؤول بيانات Key Vault السرية" دور على مستوى Key Vault.

    1. انتقل إلى علامة تبويب التحكم في الوصول إلى Key Vault وأزل تعيين دور "مسؤول بيانات Key Vault السرية" لهذا المورد.

      إزالة التعيين - Key Vault

    2. انتقل إلى بيانات سرية أُنشئت مسبقًا. يمكنك أن ترى جميع خصائص البيانات السرية.

      عرض البيانات السرية مع الوصول

    3. إنشاء بيانات سرية جديدة (يجب أن تظهر الأسرار > +Generate/Import) هذا الخطأ:

      إنشاء بيانات سرية جديدة

  2. التحقق من صحة تحرير البيانات السرية دون "مسؤول بيانات Key Vault السرية" دور على مستوى البيانات السرية.

    1. انتقل إلى علامة تبويب التحكم في الوصول إلى Key Vault المنشأة مسبقًا وأزل تعيين دور "مسؤول بيانات Key Vault السرية" لهذا المورد.

    2. انتقل إلى بيانات سرية أُنشئت مسبقًا. يمكنك أن ترى خصائص البيانات السرية.

      عرض البيانات السرية بدون وصول

  3. التحقق من صحة قراءة البيانات السرية دون دور القارئ على مستوى Key Vault.

    1. انتقل إلى علامة تبويب التحكم في الوصول لمجموعة موارد Key Vault وأزل تعيين دور "قارئ Key Vault".

    2. يجب أن يظهر الانتقال إلى علامة التبويب Key vault's Secrets هذا الخطأ:

      علامة تبويب البيانات السرية - خطأ

إنشاء أدوار مخصصة

تعريف دور إنشاء الأمر az

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}"] \
}'

للمزيد من المعلومات عن كيفية إنشاء أدوار مخصصة، راجع:

أدوار Azure المخصصة

الأسئلة المتداولة

هل يمكنني استخدام تعيينات نموذج عنصر نطاق عنصر التحكم في الوصول المستند إلى الدور (RBAC) Key Vault لتوفير العزل لفرق التطبيق داخل Key Vault؟

‏‏لا. يسمح لك نموذج إذن التحكم في الوصول استنادا إلى الدور بتعيين الوصول إلى الكائنات الفردية في Key Vault للمستخدم أو التطبيق، ولكن أي عمليات إدارية مثل التحكم في الوصول إلى الشبكة والمراقبة وإدارة الكائنات تتطلب أذونات على مستوى المخزن، والتي ستعرض بعد ذلك معلومات آمنة للمشغلين عبر فرق التطبيق.

معرفة المزيد