فهم تعريفات دور Azure

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

تعريف قاعدة

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

يوضح ما يلي مثالا على الخصائص في تعريف دور عند عرضه باستخدام Azure PowerShell:

Name
Id
IsCustom
Description
Actions []
NotActions []
DataActions []
NotDataActions []
AssignableScopes []
Condition
ConditionVersion

يوضح التالي مثالا على الخصائص في تعريف دور عند عرضه باستخدام واجهة برمجة تطبيقات Azure CLI أو REST:

roleName
name
id
roleType
type
description
actions []
notActions []
dataActions []
notDataActions []
assignableScopes []
condition
conditionVersion
createdOn
updatedOn
createdBy
updatedBy

يصف الجدول التالي معنى خصائص الدور.

الخاصية ‏‏الوصف
Name
roleName
عرض اسم الدور.
Id
name
معرف فريد للدور. الأدوار المضمنة لها نفس معرف الدور عبر السحب.
id معرف فريد مؤهل بالكامل للدور. حتى إذا تمت إعادة تسمية الدور، لا يتغير معرف الدور. من أفضل الممارسات استخدام معرف الدور في البرامج النصية الخاصة بك.
IsCustom
roleType
يشير إلى ما إذا كان هذا الدور دورا مخصصا. تعيين إلى true أو CustomRole للأدوار المخصصة. تعيين إلى false أو BuiltInRole للأدوار المضمنة.
type نوع الكائن. تعيين إلى Microsoft.Authorization/roleDefinitions.
Description
description
وصف الدور.
Actions
actions
صفيف من السلاسل التي تحدد إجراءات مستوى التحكم التي يسمح الدور بتنفيذها.
NotActions
notActions
صفيف من السلاسل التي تحدد إجراءات مستوى التحكم المستبعدة من المسموح به Actions.
DataActions
dataActions
صفيف من السلاسل التي تحدد إجراءات مستوى البيانات التي يسمح الدور بتنفيذها على بياناتك داخل هذا الكائن.
NotDataActions
notDataActions
صفيف من السلاسل التي تحدد إجراءات مستوى البيانات المستبعدة من المسموح به DataActions.
AssignableScopes
assignableScopes
صفيف من السلاسل التي تحدد النطاقات التي يتوفر الدور للتعيين.
Condition
condition
بالنسبة للأدوار المضمنة، بيان الشرط استنادا إلى إجراء واحد أو أكثر في تعريف الدور.
ConditionVersion
conditionVersion
رقم إصدار الشرط. الافتراضيات إلى 2.0 وهي الإصدار الوحيد المدعوم.
createdOn تم إنشاء دور التاريخ والوقت.
updatedOn تم آخر تحديث لدور التاريخ والوقت.
createdBy بالنسبة للأدوار المخصصة، الأساسي الذي أنشأ الدور.
updatedBy بالنسبة للأدوار المخصصة، الأساسي الذي حدث الدور.

تنسيق الإجراءات

يتم تحديد الإجراءات باستخدام السلاسل التي لها التنسيق التالي:

  • {Company}.{ProviderName}/{resourceType}/{action}

{action} يحدد جزء سلسلة الإجراء نوع الإجراءات التي يمكنك تنفيذها على نوع مورد. على سبيل المثال، سترى السلاسل الفرعية التالية في {action}:

سلسلة فرعية للإجراء ‏‏الوصف
* يمنح حرف البدل حق الوصول إلى كافة الإجراءات التي تطابق السلسلة.
read تمكين إجراءات القراءة (GET).
write تمكين إجراءات الكتابة (PUT أو PATCH).
action تمكين الإجراءات المخصصة مثل إعادة تشغيل الأجهزة الظاهرية (POST).
delete تمكين إجراءات الحذف (DELETE).

مثال تعريف الدور

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

دور المساهم كما هو معروض في Azure PowerShell:

{
  "Name": "Contributor",
  "Id": "b24988ac-6180-42a0-ab88-20f7382dd24c",
  "IsCustom": false,
  "Description": "Grants full access to manage all resources, but does not allow you to assign roles in Azure RBAC, manage assignments in Azure Blueprints, or share image galleries.",
  "Actions": [
    "*"
  ],
  "NotActions": [
    "Microsoft.Authorization/*/Delete",
    "Microsoft.Authorization/*/Write",
    "Microsoft.Authorization/elevateAccess/Action",
    "Microsoft.Blueprint/blueprintAssignments/write",
    "Microsoft.Blueprint/blueprintAssignments/delete",
    "Microsoft.Compute/galleries/share/action",
    "Microsoft.Purview/consents/write",
    "Microsoft.Purview/consents/delete"
  ],
  "DataActions": [],
  "NotDataActions": [],
  "AssignableScopes": [
    "/"
  ],
  "Condition": null,
  "ConditionVersion": null
}

دور المساهم كما هو معروض في Azure CLI:

[
  {
    "assignableScopes": [
      "/"
    ],
    "createdBy": null,
    "createdOn": "2015-02-02T21:55:09.880642+00:00",
    "description": "Grants full access to manage all resources, but does not allow you to assign roles in Azure RBAC, manage assignments in Azure Blueprints, or share image galleries.",
    "id": "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c",
    "name": "b24988ac-6180-42a0-ab88-20f7382dd24c",
    "permissions": [
      {
        "actions": [
          "*"
        ],
        "condition": null,
        "conditionVersion": null,
        "dataActions": [],
        "notActions": [
          "Microsoft.Authorization/*/Delete",
          "Microsoft.Authorization/*/Write",
          "Microsoft.Authorization/elevateAccess/Action",
          "Microsoft.Blueprint/blueprintAssignments/write",
          "Microsoft.Blueprint/blueprintAssignments/delete",
          "Microsoft.Compute/galleries/share/action",
          "Microsoft.Purview/consents/write",
          "Microsoft.Purview/consents/delete"
        ],
        "notDataActions": []
      }
    ],
    "roleName": "Contributor",
    "roleType": "BuiltInRole",
    "type": "Microsoft.Authorization/roleDefinitions",
    "updatedBy": null,
    "updatedOn": "2023-07-10T15:10:53.947865+00:00"
  }
]

إجراءات التحكم والبيانات

يتم تحديد التحكم في الوصول المستند إلى الدور لإجراءات وحدة التحكم في Actions خصائص و NotActions لتعريف الدور. فيما يلي بعض الأمثلة على إجراءات وحدة التحكم في Azure:

  • إدارة الوصول إلى حساب تخزين
  • إنشاء حاوية كائن ثنائي كبير الحجم أو تحديثها أو حذفها
  • حذف مجموعة موارد وجميع مواردها

لا يتم توريث الوصول إلى وحدة التحكم إلى مستوى البيانات شريطة تعيين أسلوب مصادقة الحاوية إلى حساب مستخدم Microsoft Entra وليس مفتاح الوصول. يمنع هذا الفصل الأدوار ذات أحرف البدل (*) من الوصول غير المقيد إلى بياناتك. على سبيل المثال، إذا كان لدى المستخدم دور قارئ على اشتراك، فيمكنه عرض حساب التخزين، ولكن بشكل افتراضي لا يمكنه عرض البيانات الأساسية.

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

لدعم إجراءات مستوى البيانات، تمت إضافة خصائص بيانات جديدة إلى تعريف الدور. يتم تحديد إجراءات مستوى البيانات في الخاصيتين DataActions و NotDataActions . بإضافة خصائص البيانات هذه، يتم الاحتفاظ بالفصل بين وحدة التحكم ولوحة البيانات. يمنع هذا تعيينات الأدوار الحالية مع أحرف البدل (*) من الوصول إلى البيانات فجأة. فيما يلي بعض إجراءات مستوى البيانات التي يمكن تحديدها في DataActions و NotDataActions:

  • قراءة قائمة النقط في حاوية
  • كتابة نقطة تخزين في حاوية
  • حذف رسالة في قائمة انتظار

فيما يلي تعريف دور Storage Blob Data Reader ، والذي يتضمن إجراءات في كل من Actions الخاصيتين و DataActions . يسمح لك هذا الدور بقراءة حاوية الكائن الثنائي كبير الحجم وكذلك بيانات الكائن الثنائي كبير الحجم الأساسية.

دور Storage Blob Data Reader كما هو معروض في Azure PowerShell:

{
  "Name": "Storage Blob Data Reader",
  "Id": "2a2b9908-6ea1-4ae2-8e65-a410df84e7d1",
  "IsCustom": false,
  "Description": "Allows for read access to Azure Storage blob containers and data",
  "Actions": [
    "Microsoft.Storage/storageAccounts/blobServices/containers/read",
    "Microsoft.Storage/storageAccounts/blobServices/generateUserDelegationKey/action"
  ],
  "NotActions": [],
  "DataActions": [
    "Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read"
  ],
  "NotDataActions": [],
  "AssignableScopes": [
    "/"
  ],
  "Condition": null,
  "ConditionVersion": null
}

دور Storage Blob Data Reader كما هو معروض في Azure CLI:

[
  {
    "assignableScopes": [
      "/"
    ],
    "createdBy": null,
    "createdOn": "2017-12-21T00:01:24.797231+00:00",
    "description": "Allows for read access to Azure Storage blob containers and data",
    "id": "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleDefinitions/2a2b9908-6ea1-4ae2-8e65-a410df84e7d1",
    "name": "2a2b9908-6ea1-4ae2-8e65-a410df84e7d1",
    "permissions": [
      {
        "actions": [
          "Microsoft.Storage/storageAccounts/blobServices/containers/read",
          "Microsoft.Storage/storageAccounts/blobServices/generateUserDelegationKey/action"
        ],
        "condition": null,
        "conditionVersion": null,
        "dataActions": [
          "Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read"
        ],
        "notActions": [],
        "notDataActions": []
      }
    ],
    "roleName": "Storage Blob Data Reader",
    "roleType": "BuiltInRole",
    "type": "Microsoft.Authorization/roleDefinitions",
    "updatedBy": null,
    "updatedOn": "2021-11-11T20:13:55.297507+00:00"
  }
]

يمكن إضافة إجراءات مستوى البيانات فقط إلى DataActions خصائص و NotDataActions . يحدد موفرو الموارد الإجراءات التي هي إجراءات بيانات، عن طريق تعيين الخاصية isDataAction إلى true. للاطلاع على قائمة بالإجراءات حيث isDataAction هو true، راجع عمليات موفر الموارد. الأدوار التي لا تحتوي على إجراءات بيانات غير مطلوبة للحصول على DataActions خصائص و NotDataActions ضمن تعريف الدور.

تتم معالجة التخويل لكافة استدعاءات واجهة برمجة التطبيقات لمستوى التحكم بواسطة Azure Resource Manager. تتم معالجة تخويل استدعاءات واجهة برمجة التطبيقات لمستوى البيانات إما من قبل موفر موارد أو Azure Resource Manager.

مثال على إجراءات البيانات

لفهم كيفية عمل إجراءات وحدة التحكم ولوحة البيانات بشكل أفضل، دعونا ننظر في مثال محدد. تم تعيين دور المالك في نطاق الاشتراك ل Alice. تم تعيين دور Storage Blob Data Contributor ل Bob في نطاق حساب التخزين. يوضح الرسم التخطيطي التالي هذا المثال.

تم توسيع التحكم في الوصول المستند إلى الدور لدعم إجراءات مستوى التحكم ولوحة البيانات

دور المالك ل Alice ودور Storage Blob Data Contributor ل Bob لديهم الإجراءات التالية:

المالك

    الإجراءات
    *

المساهم في بيانات مخزن البيانات الثنائية الكبيرة

    الإجراءات
    Microsoft.Storage/storageAccounts/blobServices/containers/delete
    Microsoft.Storage/storageAccounts/blobServices/containers/read
    Microsoft.Storage/storageAccounts/blobServices/containers/write
    Microsoft.Storage/storageAccounts/blobServices/generateUserDelegationKey/action
    عمليات البيانات
    Microsoft.Storage/storageAccounts/blobServices/containers/blobs/delete
    Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read
    Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write
    Microsoft.Storage/storageAccounts/blobServices/containers/blobs/move/action
    Microsoft.Storage/storageAccounts/blobServices/containers/blobs/add/action

نظرا لأن Alice لديها إجراء حرف بدل (*) في نطاق اشتراك، ترث أذوناتها لأسفل لتمكينها من تنفيذ جميع إجراءات وحدة التحكم. يمكن ل Alice قراءة الحاويات وكتابتها وحذفها. ومع ذلك، لا يمكن ل Alice تنفيذ إجراءات مستوى البيانات دون اتخاذ خطوات إضافية. على سبيل المثال، بشكل افتراضي، لا يمكن ل Alice قراءة الكائنات الثنائية كبيرة الحجم داخل حاوية. لقراءة الكائنات الثنائية كبيرة الحجم، سيتعين على Alice استرداد مفاتيح الوصول إلى التخزين واستخدامها للوصول إلى الكائنات الثنائية كبيرة الحجم.

تقتصر أذونات Bob على و DataActions المحددين فقط Actions في دور Storage Blob Data Contributor. استنادا إلى الدور، يمكن ل Bob تنفيذ إجراءات مستوى التحكم و مستوى البيانات. على سبيل المثال، يمكن ل Bob قراءة الحاويات وكتابتها وحذفها في حساب التخزين المحدد ويمكنه أيضا قراءة الكائنات الثنائية كبيرة الحجم وكتابتها وحذفها.

لمزيد من المعلومات حول التحكم وأمان مستوى البيانات للتخزين، راجع دليل أمان Azure Storage.

ما هي الأدوات التي تدعم استخدام أدوار Azure لإجراءات البيانات؟

لعرض إجراءات البيانات والعمل معها، يجب أن يكون لديك الإصدارات الصحيحة من الأدوات أو SDKs:

أداة إصدار
Azure PowerShell 1.1.0 أو أحدث
Azure CLI 2.0.30 أو أحدث
Azure ل .NET معاينة 2.8.0 أو إصدار أحدث
Azure SDK for Go 15.0.0 أو أحدث
Azure ل Java 1.9.0 أو أحدث
Azure ل Python 0.40.0 أو أحدث
Azure SDK ل Ruby 0.17.1 أو أحدث

لعرض إجراءات البيانات واستخدامها في واجهة برمجة تطبيقات REST، يجب تعيين المعلمة api-version إلى الإصدار التالي أو أحدث:

  • 2018-07-01

الإجراءات

Actions يحدد الإذن إجراءات مستوى التحكم التي يسمح الدور بتنفيذها. وهي مجموعة من السلاسل التي تحدد الإجراءات القابلة للتأمين لموفري موارد Azure. فيما يلي بعض الأمثلة على إجراءات وحدة التحكم التي يمكن استخدامها في Actions.

سلسلة الإجراء ‏‏الوصف
*/read يمنح حق الوصول إلى إجراءات القراءة لجميع أنواع الموارد لجميع موفري موارد Azure.
Microsoft.Compute/* يمنح حق الوصول إلى جميع الإجراءات لجميع أنواع الموارد في موفر موارد Microsoft.Compute.
Microsoft.Network/*/read يمنح حق الوصول إلى إجراءات القراءة لكافة أنواع الموارد في موفر موارد Microsoft.Network.
Microsoft.Compute/virtualMachines/* يمنح الوصول إلى جميع إجراءات الأجهزة الظاهرية وأنواع الموارد التابعة لها.
microsoft.web/sites/restart/Action يمنح حق الوصول لإعادة تشغيل تطبيق ويب.

عدم الإجراءات

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

Actions - NotActions = Effective control plane permissions

يعرض الجدول التالي مثالين على أذونات مستوى التحكم الفعالة لإجراء حرف بدل Microsoft.CostManagement :

الإجراءات عدم الإجراءات أذونات مستوى التحكم الفعالة
Microsoft.CostManagement/exports/* لا شيء Microsoft.CostManagement/exports/action
Microsoft.CostManagement/exports/read
Microsoft.CostManagement/exports/write
Microsoft.CostManagement/exports/delete
Microsoft.CostManagement/exports/run/action
Microsoft.CostManagement/exports/* Microsoft.CostManagement/exports/delete Microsoft.CostManagement/exports/action
Microsoft.CostManagement/exports/read
Microsoft.CostManagement/exports/write
Microsoft.CostManagement/exports/run/action

إشعار

إذا تم تعيين دور للمستخدم يستبعد إجراء في NotActions، وتم تعيين دور ثان يمنح حق الوصول إلى نفس الإجراء، يسمح للمستخدم بتنفيذ هذا الإجراء. NotActions ليست قاعدة رفض - إنها ببساطة طريقة ملائمة لإنشاء مجموعة من الإجراءات المسموح بها عندما تحتاج إجراءات محددة إلى استبعادها.

الاختلافات بين NotActions ورفض التعيينات

NotActions ورفض التعيينات ليست هي نفسها وتخدم أغراضا مختلفة. NotActions هي طريقة ملائمة لطرح إجراءات محددة من إجراء حرف بدل (*).

يمنع رفض التعيينات المستخدمين من تنفيذ إجراءات محددة حتى إذا منحهم تعيين الدور حق الوصول. لمزيد من المعلومات، انظر فهم Azure لرفض التعيينات.

عمليات البيانات

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

سلسلة إجراءات البيانات ‏‏الوصف
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read إرجاع كائن ثنائي كبير الحجم أو قائمة الكائنات الثنائية كبيرة الحجم.
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write إرجاع نتيجة كتابة كائن ثنائي كبير الحجم.
Microsoft.Storage/storageAccounts/queueServices/queues/messages/read إرجاع رسالة.
Microsoft.Storage/storageAccounts/queueServices/queues/messages/* إرجاع رسالة أو نتيجة كتابة رسالة أو حذفها.

NotDataActions

NotDataActions يحدد الإذن إجراءات مستوى البيانات التي يتم طرحها أو استبعادها من المسموح به DataActions الذي يحتوي على حرف بدل (*). NotDataActions استخدم الإذن إذا تم تعريف مجموعة الإجراءات التي تريد السماح بها بسهولة أكبر عن طريق طرح حرف DataActions بدل (*). يتم حساب الوصول الممنوح من قبل دور (أذونات فعالة) عن طريق طرح NotDataActions الإجراءات من DataActions الإجراءات. يوفر كل موفر موارد مجموعة من واجهات برمجة التطبيقات الخاصة به لتنفيذ إجراءات البيانات.

DataActions - NotDataActions = Effective data plane permissions

يعرض الجدول التالي مثالين لأذونات مستوى التاريخ الفعلي لإجراء حرف بدل Microsoft.Storage :

عمليات البيانات NotDataActions أذونات مستوى البيانات الفعالة
Microsoft.Storage/storageAccounts/queueServices/queues/messages/* لا شيء Microsoft.Storage/storageAccounts/queueServices/queues/messages/read
Microsoft.Storage/storageAccounts/queueServices/queues/messages/write
Microsoft.Storage/storageAccounts/queueServices/queues/messages/delete
Microsoft.Storage/storageAccounts/queueServices/queues/messages/add/action
Microsoft.Storage/storageAccounts/queueServices/queues/messages/process/action
Microsoft.Storage/storageAccounts/queueServices/queues/messages/* Microsoft.Storage/storageAccounts/queueServices/queues/messages/delete
Microsoft.Storage/storageAccounts/queueServices/queues/messages/read
Microsoft.Storage/storageAccounts/queueServices/queues/messages/write
Microsoft.Storage/storageAccounts/queueServices/queues/messages/add/action
Microsoft.Storage/storageAccounts/queueServices/queues/messages/process/action

إشعار

إذا تم تعيين دور للمستخدم يستبعد إجراء بيانات في NotDataActions، وتم تعيين دور ثان يمنح حق الوصول إلى إجراء البيانات نفسه، يسمح للمستخدم بتنفيذ إجراء البيانات هذا. NotDataActions ليست قاعدة رفض - إنها مجرد طريقة ملائمة لإنشاء مجموعة من إجراءات البيانات المسموح بها عندما تحتاج إجراءات بيانات محددة إلى استبعادها.

النطاقات القابلة للتعيين

AssignableScopes تحدد الخاصية النطاقات (الجذر أو مجموعة الإدارة أو الاشتراكات أو مجموعات الموارد) حيث يمكن تعيين تعريف دور. يمكنك توفير دور مخصص للتعيين في مجموعة الإدارة أو الاشتراكات أو مجموعات الموارد التي تتطلب ذلك فقط. يجب استخدام مجموعة إدارة واحدة على الأقل أو اشتراك أو مجموعة موارد واحدة.

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

تم AssignableScopes تعيين الأدوار المضمنة إلى النطاق الجذر ("/"). يشير النطاق الجذر إلى أن الدور متاح للتعيين في جميع النطاقات.

تتضمن أمثلة النطاقات الصالحة القابلة للتعيين ما يلي:

الدور متاح للتعيين مثال
اشتراك واحد "/subscriptions/{subscriptionId1}"
اشتراكان "/subscriptions/{subscriptionId1}", "/subscriptions/{subscriptionId2}"
مجموعة موارد الشبكة "/subscriptions/{subscriptionId1}/resourceGroups/Network"
مجموعة إدارة واحدة "/providers/Microsoft.Management/managementGroups/{groupId1}"
مجموعة الإدارة والاشتراك "/providers/Microsoft.Management/managementGroups/{groupId1}", "/subscriptions/{subscriptionId1}",
جميع النطاقات (تنطبق فقط على الأدوار المضمنة) "/"

يمكنك تعريف مجموعة إدارة واحدة فقط في AssignableScopes دور مخصص.

على الرغم من أنه من الممكن إنشاء دور مخصص مع مثيل مورد في AssignableScopes استخدام سطر الأوامر، فإنه لا يوصى به. يدعم كل مستأجر 5000 دور مخصص كحد أقصى. قد يؤدي استخدام هذه الاستراتيجية إلى استنفاد أدوارك المخصصة المتاحة. في النهاية، يتم تحديد مستوى الوصول من خلال تعيين الدور المخصص (النطاق + أذونات الدور + أساس الأمان) وليس AssignableScopes المدرج في الدور المخصص. لذلك، قم بإنشاء أدوارك المخصصة باستخدام AssignableScopes مجموعة الإدارة أو الاشتراك أو مجموعة الموارد، ولكن قم بتعيين الأدوار المخصصة ذات النطاق الضيق، مثل المورد أو مجموعة الموارد.

لمزيد من المعلومات حول AssignableScopes الأدوار المخصصة، راجع أدوار Azure المخصصة.

تعريف دور المسؤول المتميز

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

سلسلة الإجراء ‏‏الوصف
* إنشاء وإدارة الموارد من جميع الأنواع.
*/delete حذف الموارد من جميع الأنواع.
*/write كتابة الموارد من جميع الأنواع.
Microsoft.Authorization/denyAssignments/delete حذف تعيين رفض في النطاق المحدد.
Microsoft.Authorization/denyAssignments/write إنشاء تعيين رفض في النطاق المحدد.
Microsoft.Authorization/roleAssignments/delete حذف تعيين دور في النطاق المحدد.
Microsoft.Authorization/roleAssignments/write إنشاء تعيين دور في النطاق المحدد.
Microsoft.Authorization/roleDefinitions/delete احذف تعريف الدور المخصص المحدد.
Microsoft.Authorization/roleDefinitions/write إنشاء تعريف دور مخصص أو تحديثه بأذونات محددة ونطاقات قابلة للتعيين.

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