ما المقصود بالتحكم في الوصول استناداً إلى الدور في Azure ‏(Azure RBAC)؟

تعد إدارة الوصول إلى موارد السحابة وظيفة بالغة الأهمية لأي مؤسسة تستخدم السحابة. يساعدك عنصر التحكم في الوصول استنادًا إلى الدور في Azure‏ (Azure RBAC) على إدارة من يمكنه الوصول إلى موارد Azure، وماذا يمكنهم فعله بتلك الموارد، وما المساحات التي يمكنهم الوصول إليها.

Azure RBAC هو نظام تخويل مبني على Azure Resource Manager يوفر إدارة وصول دقيقة إلى موارد Azure.

يقدم هذا الفيديو نظرة عامة سريعة علىAzure RBAC.

ماذا يمكنني أن أفعل باستخدام Azure RBAC؟

فيما يلي بعض الأمثلة لما يمكنك فعله باستخدام Azure RBAC:

  • السماح لمستخدم واحد بإدارة الأجهزة الظاهرية في اشتراك، والسماح لمستخدم آخر بإدارة الشبكات الظاهرية
  • اسمح لمجموعة مسؤول قاعدة البيانات (DBA) بإدارة قواعد بيانات SQL في الاشتراك
  • السماح لمستخدم بإدارة كافة الموارد في مجموعة موارد، مثل الأجهزة الظاهرية ومواقع الويب والشبكات الفرعية
  • السماح للتطبيق بالوصول إلى كافة الموارد في مجموعة موارد

كيف يعمل Azure RBAC

الطريقة التي تتحكم في الوصول إلى الموارد باستخدام Azure RBAC هي تعيين أدوار Azure. هذا مفهوم رئيسي للفهم -- تُعد هذه كيفية إنفاذ الأذون. يتكون تعيين الدور من ثلاثة عناصر، هي: أساس الأمان، وتعريف الدور، والنطاق.

أساس الأمان

يُعد حساب الأمان الأساسي عبارة عن عنصر يمثل مستخدماً أو مجموعة أو كيان خدمة أو هوية مُدارة تطلب الوصول إلى موارد Azure. يمكنك تعيين دور لأي من أساسيات الأمان هذه.

Diagram showing the security principal types for a role assignment.

تعريف قاعدة

تعريف الدور هو مجموعة من الأذونات. عادةً ما تسمىدور. يسرد تعريف الدور الإجراءات التي يمكن تنفيذها، مثل القراءة، والكتابة، والحذف. يمكن أن تكون الأدوار عالية المستوى، مثل المالك، أو محددة، مثل قارئ الجهاز الظاهري.

Diagram showing role definition example for a role assignment

يشتمل Azure على العديد من الأدوار الداخلية التي يُمكن استخدامها. على سبيل المثال: يسمح دور Virtual Machine Contributorللمستخدم بإنشاء الأجهزة الظاهرية وإدارتها. إذا لم تلب الأدوار المضمنة الاحتياجات المحددة لمؤسستك، يمكنك إنشاء أدوار Azure المخصصة الخاصة بك.

يوفر هذا الفيديو نظرة عامة سريعة على الأدوار المدمجة والأدوار المخصصة.

يكون لدى Azure إجراءات بيانات تمكنك من منح حق الوصول إلى البيانات داخل كائن. على سبيل المثال، إذا قرأ المستخدم بيانات الوصول إلى حساب التخزين، يُمكنه قراءة الكائنات الثنائية كبيرة الحجم أو الرسائل داخل حساب التخزين ذلك.

لمزيد من المعلومات، انظر فهم تعريفات دور Azure.

النطاق

النطاق هو مجموعة الموارد التي ينطبق عليها الوصول. عند تعيين دور، يمكنك أيضًا تحديد الإجراءات المسموح بها من خلال تحديد نطاق. يكون هذا مفيداً في حال كنت تريد شخص مساهم الموقع ولكن لمجموعة موارد واحدة فقط.

في Azure، يمكنك تحديد نطاق على أربعة مستويات: مجموعة الإدارةأو الاشتراك أو مجموعة المواردأو المورد. تُنظم النطاقات على أساس العلاقات الأصل-الفرعي. يُمكنك تعيين أدوار على جميع مستويات النطاق.

Diagram showing scope levels for a role assignment.

لمزيد من المعلومات حول النطاق، انظر فهم النطاق.

تعيينات الأدوار

تعيين دور هو عملية إرفاق تعريف دور إلى مستخدم أو مجموعة أو خدمة أساسية أو هوية مدارة في نطاق معين لغرض منح حق الوصول. يتم منح الوصول عن طريق إنشاء تعيين دور، ويتم إبطال الوصول عن طريق إزالة تعيين دور.

يوضح الرسم التخطيطي التالي مثالاً لتعيين دور. في هذا المثال، تم تعيين دور المساهم لمجموعة موارد مبيعات الصيدليات لمجموعة الموارد. وهذا يعني أن المستخدمين في مجموعة التسويق يمكنهم إنشاء أو إدارة أي مورد لـ Azure في مجموعة موارد مبيعات الصيدليات. لا يتمتع مستخدمو التسويق بإمكانية الوصول إلى الموارد خارج مجموعة موارد مبيعات الصيدلية، إلا إذا كانوا جزءا من تعيين دور آخر.

Diagram showing how security principal, role definition, and scope create a role assignment.

يمكنك تعيين أدوار باستخدام مدخل Microsoft Azure أوAzure CLI أوAzure PowerShell أوAzure SDKs أو REST APIs.

لمزيد من المعلومات، انظر خطوات تعيين دور Azure.

المجموعات

تعد تعيينات الأدوار متعتية للمجموعات، ما يعني أنه إذا كان المستخدم عضوا في مجموعة وكانت هذه المجموعة عضوا في مجموعة أخرى لها تعيين دور، فإن المستخدم لديه الأذونات في تعيين الدور.

Diagram showing how role assignments are transitive for groups.

تعيينات أدوار متعددة

فماذا يحدث إذا كان لديك العديد من تعيينات الأدوار المتداخلة؟ يعتبر Azure RBAC نموذجاً مضافاً، لذا فإن الأذونات الفعالة هي مجموع تعيينات الدور الخاصة بك. خذ بعين الاعتبار المثال التالي حيث يتم منح مستخدم دور المساهم في نطاق الاشتراك ودور القارئ على مجموعة موارد. مجموع أذونات المساهم وأذونات القارئ هو دور المساهم للاشتراك بشكل فعال. لذلك، في هذه الحالة، لا يكون لتعيين دور القارئ أي تأثير.

Diagram showing how multiple role assignments overlap.

كيف يحددAzure RBAC ما إذا كان لدى المستخدم حق الوصول إلى مورد

فيما يلي الخطوات عالية المستوى التي يستخدمها Azure RBAC لتحديد ما إذا كان لديك حق الوصول إلى مورد. تنطبق هذه الخطوات على إدارة موارد Azure أو خدمات مستوى البيانات المتكاملة معAzure RBAC. هذا مفيد لفهم ما إذا كنت تحاول استكشاف مشكلة الوصول وإصلاحها.

  1. يكتسب المستخدم (أو مدير الخدمة) رمز مميز لإدارة موارد Azure.

    يتضمن الرمز المميز عضوية مجموعة المستخدم (بما في ذلك عضويات المجموعة العابرة).

  2. يقوم المستخدم باستدعاء REST API إلى إدارة موارد Azure مع الرمز المميز المرفق.

  3. يقوم مدير موارد Azure باسترداد جميع تعيينات الدور ورفض التعيينات التي تنطبق على المورد الذي يتم اتخاذ الإجراء عليه.

  4. في حالة تطبيق واجب الرفض، يتم حظر الوصول. وبخلاف ذلك، يستمر التقييم.

  5. يقوم مدير موارد Azure بتضييق تعيينات الأدوار التي تنطبق على هذا المستخدم أو مجموعته، ويحدد الأدوار التي يقوم بها المستخدم لهذا المورد.

  6. تحدد إدارة موارد Azure ما إذا كان الإجراء في استدعاء API مضمناً في الأدوار التي يقوم بها المستخدم لهذا المورد. إذا كانت الأدوار تتضمنActions أحرف بدل (*)، يتم حساب الأذونات الفعالة عن طريق طرح NotActions من المسموح به Actions. وبالمثل، يتم إجراء نفس الخصم لأي إجراءات بيانات.

    Actions - NotActions = Effective management permissions

    DataActions - NotDataActions = Effective data permissions

  7. إذا لم يكن للمستخدم دور مع الإجراء في النطاق المطلوب، فلا يسمح بالوصول. وإلا، يتم تقييم أي شروط.

  8. إذا كان تعيين الدور يتضمن شروطا، يتم تقييمها. وإلا يسمح بالوصول.

  9. إذا تم استيفاء الشروط، يسمح بالوصول. وإلا فلن يسمح بالوصول.

الرسم التخطيطي التالي هو ملخص منطق التقييم.

Evaluation logic flowchart for determining access to a resource.

أين يتم تخزين بيانات Azure RBAC؟

تُخزن تعريفات الأدوار وتعيينات الأدوار وتعيينات الرفض بشكل عام لضمان حصولك على حق الوصول إلى الموارد بغض النظر عن المنطقة التي أنشأت المورد بها.

عند حذف تعيين دور أو أي بيانات Azure RBAC أخرى، يتم حذف البيانات عالميا. ستفقد الأساسيات التي لديها حق الوصول إلى مورد عبر بيانات Azure RBAC وصولها.

لماذا بيانات Azure RBAC عمومية؟

بيانات Azure RBAC عالمية للتأكد من أن العملاء يمكنهم الوصول إلى الموارد في الوقت المناسب بغض النظر عن المكان الذي يصلون إليه. يتم فرض Azure RBAC بواسطة Azure Resource Manager، الذي يحتوي على نقطة نهاية عالمية ويتم توجيه الطلبات إلى أقرب منطقة للسرعة والمرونة. لذلك، يجب فرض Azure RBAC في جميع المناطق ويتم نسخ البيانات نسخا متماثلا إلى جميع المناطق. لمزيد من المعلومات، راجع مرونة Azure Resource Manager.

لنأخذ في الاعتبار المثال التالي. تنشئ Arina جهازا ظاهريا في شرق آسيا. يعمل بوب، وهو عضو في فريق أرينا، في الولايات المتحدة. يحتاج Bob إلى الوصول إلى الجهاز الظاهري الذي تم إنشاؤه في شرق آسيا. لمنح Bob حق الوصول في الوقت المناسب إلى الجهاز الظاهري، يحتاج Azure إلى نسخ تعيين الدور الذي يمنح Bob حق الوصول إلى الجهاز الظاهري من أي مكان يكون فيه Bob.

Diagram showing Azure RBAC data in multiple regions.

متطلبات الترخيص

تُستخدم هذه الميزة مجاناً إذ إنها مدرجة في اشتراك Azure.

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