فهم نطاق Azure RBAC
النطاق هو مجموعة الموارد التي ينطبق عليها الوصول. عند تعيين دور، من المهم فهم النطاق بحيث يمكنك منح أساس الأمان فقط الوصول الذي يحتاجه حقا. بتحديد النطاق، يمكنك تحديد الموارد المعرضة للخطر إذا تم اختراق أساس الأمان من أي وقت مضى.
مستويات النطاق
في Azure، يمكنك تحديد نطاق على أربعة مستويات: مجموعة الإدارة والاشتراك ومجموعة الموارد والموارد. تُنظم النطاقات على أساس العلاقات الأصل-الفرعي. يجعل كل مستوى من التدرج الهرمي النطاق أكثر تحديدًا. يُمكنك تعيين أدوار على جميع مستويات النطاق. يقرر المستوى الذي تحدده مدى تطبيق الدور. ترث المستويات الأدنى الإعدادات من المستويات الأعلى.
مجموعات الإدارة هي مستوى من النطاق فوق الاشتراكات، ولكن مجموعات الإدارة تدعم التسلسلات الهرمية الأكثر تعقيدا. يوضح الرسم التخطيطي التالي مثالا على التسلسل الهرمي لمجموعات الإدارة والاشتراكات التي يمكنك تعريفها. لمزيد من المعلومات حول مجموعات الإدارة، راجع ما هي مجموعات إدارة Azure؟.
تنسيق النطاق
إذا قمت بتعيين أدوار باستخدام سطر الأوامر، فستحتاج إلى تحديد النطاق. بالنسبة لأدوات سطر الأوامر، النطاق هو سلسلة طويلة محتملة تحدد النطاق الدقيق لتعيين الدور. في مدخل Microsoft Azure، يتم سرد هذا النطاق عادة كمعرف المورد.
يتكون النطاق من سلسلة من المعرفات مفصولة بحرف الشرطة المائلة (/). يمكنك التفكير في هذه السلسلة على أنها تعبر عن التسلسل الهرمي التالي، حيث يكون النص بدون عناصر نائبة ({}
) معرفات ثابتة:
/subscriptions
/{subscriptionId}
/resourcegroups
/{resourceGroupName}
/providers
/{providerName}
/{resourceType}
/{resourceSubType1}
/{resourceSubType2}
/{resourceName}
{subscriptionId}
هو معرف الاشتراك المراد استخدامه (GUID).{resourceGroupName}
هو اسم مجموعة الموارد التي تحتوي عليها.{providerName}
هو اسم موفر الموارد الذي يتعامل مع المورد، ثم{resourceType}
{resourceSubType*}
تحديد مستويات أخرى داخل موفر المورد هذا.{resourceName}
هو الجزء الأخير من السلسلة التي تعرف موردا معينا.
مجموعات الإدارة هي مستوى أعلى من الاشتراكات ونطاقها الأوسع (الأقل تحديدا). تنطبق تعيينات الأدوار على هذا المستوى على الاشتراكات داخل مجموعة الإدارة. يحتوي نطاق مجموعة الإدارة على التنسيق التالي:
/providers
/Microsoft.Management
/managementGroups
/{managmentGroupName}
أمثلة النطاق
النطاق | مثال |
---|---|
مجموعة الإدارة | /providers/Microsoft.Management/managementGroups/marketing-group |
الوصف | /subscriptions/00000000-0000-0000-0000-000000000000 |
مجموعة الموارد | /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Example-Storage-rg |
/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales |
|
Resource | /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Example-Storage-rg/providers/Microsoft.Storage/storageAccounts/azurestorage12345/blobServices/default/containers/blob-container-01 |
/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyVirtualNetworkResourceGroup/providers/Microsoft.Network/virtualNetworks/MyVirtualNetwork12345 |
كيفية تحديد نطاق مورد
من السهل إلى حد ما تحديد نطاق مجموعة إدارة أو اشتراك أو مجموعة موارد. تحتاج فقط إلى معرفة الاسم ومعرف الاشتراك. ومع ذلك، فإن تحديد نطاق المورد يتطلب المزيد من العمل. فيما يلي بعض الطرق التي يمكنك من خلالها تحديد نطاق مورد.
في مدخل Microsoft Azure، افتح المورد ثم انظر إلى الخصائص. يجب أن يسرد المورد معرف المورد حيث يمكنك تحديد النطاق. على سبيل المثال، فيما يلي معرفات الموارد لحساب تخزين.
طريقة أخرى هي استخدام مدخل Microsoft Azure لتعيين دور مؤقتا في نطاق المورد ثم استخدام Azure PowerShell أو Azure CLI لسرد تعيين الدور. في الإخراج، سيتم سرد النطاق كخاصية.
RoleAssignmentId : /subscriptions/<subscriptionId>/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/azurestorage12345/blobServices/default/containers/blob-container-01/pro viders/Microsoft.Authorization/roleAssignments/<roleAssignmentId> Scope : /subscriptions/<subscriptionId>/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/azurestorage12345/blobServices/default/containers/blob-container-01 DisplayName : User SignInName : user@contoso.com RoleDefinitionName : Storage Blob Data Reader RoleDefinitionId : 2a2b9908-6ea1-4ae2-8e65-a410df84e7d1 ObjectId : <principalId> ObjectType : User CanDelegate : False Description : ConditionVersion : Condition :
{ "canDelegate": null, "condition": null, "conditionVersion": null, "description": null, "id": "/subscriptions/{subscriptionId}/resourceGroups/Example-Storage-rg/providers/Microsoft.Storage/storageAccounts/azurestorage12345/blobServices/default/containers/blob-container-01/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId}", "name": "{roleAssignmentId}", "principalId": "{principalId}", "principalName": "user@contoso.com", "principalType": "User", "resourceGroup": "test-rg", "roleDefinitionId": "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleDefinitions/2a2b9908-6ea1-4ae2-8e65-a410df84e7d1", "roleDefinitionName": "Storage Blob Data Reader", "scope": "/subscriptions/{subscriptionId}/resourceGroups/Example-Storage-rg/providers/Microsoft.Storage/storageAccounts/azurestorage12345/blobServices/default/containers/blob-container-01", "type": "Microsoft.Authorization/roleAssignments" }
قوالب النطاق وARM
تعيين الدور هو نوع خاص في Azure Resource Manager يسمى مورد ملحق. مورد الامتداد هو مورد يضيف إلى إمكانات مورد آخر. وهي موجودة دائما كملحق (مثل تابع) لمورد آخر. على سبيل المثال، تعيين دور في نطاق الاشتراك هو مورد ملحق للاشتراك. اسم تعيين الدور هو دائما اسم المورد الذي تقوم بتوسيعه بالإضافة إلى /Microsoft.Authorization/roleAssignments/{roleAssignmentId}
. عند تعيين الأدوار باستخدام قالب Azure Resource Manager (قالب ARM)، لا تحتاج عادة إلى توفير النطاق. والسبب هو أن حقل النطاق ينتهي دائما بمعرف المورد الذي تقوم بتوسيعه. يمكن تحديد النطاق من معرف تعيين الدور نفسه. يعرض الجدول التالي أمثلة لمعرف تعيين دور والنطاق المقابل:
معرف تعيين الدور | النطاق |
---|---|
/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId} |
/subscriptions/{subscriptionId} |
/subscriptions/{subscriptionId}/resourceGroups/Example-Storage-rg/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId} |
/subscriptions/{subscriptionId}/resourceGroups/Example-Storage-rg |
لمزيد من المعلومات حول النطاق وقوالب ARM، راجع تعيين أدوار Azure باستخدام قوالب Azure Resource Manager. للحصول على قائمة كاملة بأنواع موارد الملحق، راجع أنواع الموارد التي توسع قدرات الموارد الأخرى.