البرنامج التعليمي: منح وصول جماعي إلى موارد Azure باستخدام Azure PowerShell

يساعدك التحكم في الوصول المستند إلى الدور Azure (Azure RBAC) على إدارة من لديه حق الوصول إلى موارد Azure. في هذا البرنامج التعليمي، أنت تمنح حق الوصول الجماعي لعرض كل شيء في الاشتراك وإدارة كل شيء في مجموعة موارد باستخدام Azure PowerShell.

في هذا البرنامج التعليمي، تتعلم كيفية:

  • منح الوصول لمجموعة في نطاقات مختلفة
  • الوصول إلى القائمة
  • إزالة الوصول

في حال لم يكن لديك اشتراك Azure، فأنشئ حساباً مجانيّاً قبل البدء.

إشعار

نوصي باستخدام الوحدة النمطية Azure Az PowerShell للتفاعل مع Azure. راجع تثبيت Azure PowerShell للبدء. لمعرفة كيفية الترحيل إلى الوحدة النمطية Az PowerShell، راجع ترحيل Azure PowerShell من AzureRM إلى Az.

المتطلبات الأساسية

لإكمال هذا البرنامج التعليمي، ستحتاج إلى:

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

في Azure RBAC، لمنح الوصول، يمكنك إنشاء تعيين دور. يتكون تعيين الدور من ثلاثة عناصر، هي: أساس الأمان، وتعريف الدور، والنطاق. فيما يلي تكليفات الأدوار التي ستؤديها في هذا البرنامج التعليمي:

أساس الأمان تعريف قاعدة النطاق
Group (المجموعة)
(مجموعة دروس RBAC)
القارئ الوصف
Group (المجموعة)
(مجموعة دروس RBAC)
المساهم مجموعة الموارد
( rbac -مجموعة-الموارد التعليمية)

Role assignments for a group

إنشاء مجموعة

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

  • في Azure Cloud Shell، أنشئ مجموعة جديدة باستخدام الأمر New-MgGroup .

    New-MgGroup -DisplayName "RBAC Tutorial Group" -MailEnabled:$false `
        -SecurityEnabled:$true -MailNickName "NotSet"
    
    DisplayName         Id                                   MailNickname Description GroupTypes
    -----------         --                                   ------------ ----------- ----------
    RBAC Tutorial Group 11111111-1111-1111-1111-111111111111 NotSet                   {}
    

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

إنشاء مجموعة موارد

يمكنك استخدام مجموعة موارد لإظهار كيفية تعيين دور في نطاق مجموعة موارد.

  1. احصل على قائمة بمواقع المنطقة باستخدام الأمر Get- AzLocation.

    Get-AzLocation | select Location
    
  2. حدد موقعاً بالقرب منك وقم بتعيينه لمتغير.

    $location = "westus"
    
  3. قم بإنشاء مجموعة موارد جديدة باستخدام الأمر New- AzResourceGroup.

    New-AzResourceGroup -Name "rbac-tutorial-resource-group" -Location $location
    
    ResourceGroupName : rbac-tutorial-resource-group
    Location          : westus
    ProvisioningState : Succeeded
    Tags              :
    ResourceId        : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rbac-tutorial-resource-group
    

منح حق الوصول

لمنح الوصول للمجموعة، يمكنك استخدام الأمر New- AzRoleAssignment لتعيين دور. يجب عليك تحديد أساس الأمان وتعريف الدور والنطاق.

  1. احصل على معرف العنصر للمجموعة باستخدام الأمر Get-MgGroup .

    Get-MgGroup -Filter "DisplayName eq 'RBAC Tutorial Group'"
    
    DisplayName         Id                                   MailNickname Description GroupTypes
    -----------         --                                   ------------ ----------- ----------
    RBAC Tutorial Group 11111111-1111-1111-1111-111111111111 NotSet                   {}
    
  2. احفظ معرف كائن المجموعة في متغير.

    $groupId = "11111111-1111-1111-1111-111111111111"
    
  3. الحصول على مُعَرِّف اشتراكك، باستخدام الأمر Get-AzSubscription.

    Get-AzSubscription
    
    Name     : Pay-As-You-Go
    Id       : 00000000-0000-0000-0000-000000000000
    TenantId : 22222222-2222-2222-2222-222222222222
    State    : Enabled
    
  4. احفظ نطاق الاشتراك في متغير.

    $subScope = "/subscriptions/00000000-0000-0000-0000-000000000000"
    
  5. عيّن دور القارئ للمجموعة في نطاق الاشتراك.

    New-AzRoleAssignment -ObjectId $groupId `
      -RoleDefinitionName "Reader" `
      -Scope $subScope
    
    RoleAssignmentId   : /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/44444444-4444-4444-4444-444444444444
    Scope              : /subscriptions/00000000-0000-0000-0000-000000000000
    DisplayName        : RBAC Tutorial Group
    SignInName         :
    RoleDefinitionName : Reader
    RoleDefinitionId   : acdd72a7-3385-48ef-bd42-f606fba81ae7
    ObjectId           : 11111111-1111-1111-1111-111111111111
    ObjectType         : Group
    CanDelegate        : False
    
  6. عيّن دور المساهم للمجموعة في نطاق مجموعة الموارد.

    New-AzRoleAssignment -ObjectId $groupId `
      -RoleDefinitionName "Contributor" `
      -ResourceGroupName "rbac-tutorial-resource-group"
    
    RoleAssignmentId   : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rbac-tutorial-resource-group/providers/Microsoft.Authorization/roleAssignments/33333333-3333-3333-3333-333333333333
    Scope              : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rbac-tutorial-resource-group
    DisplayName        : RBAC Tutorial Group
    SignInName         :
    RoleDefinitionName : Contributor
    RoleDefinitionId   : b24988ac-6180-42a0-ab88-20f7382dd24c
    ObjectId           : 11111111-1111-1111-1111-111111111111
    ObjectType         : Group
    CanDelegate        : False
    

الوصول إلى القائمة

  1. للتحقق من الوصول للاشتراك، استخدم الأمر Get- AzRoleAssignment لسرد تعيينات الدور.

    Get-AzRoleAssignment -ObjectId $groupId -Scope $subScope
    
    RoleAssignmentId   : /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/22222222-2222-2222-2222-222222222222
    Scope              : /subscriptions/00000000-0000-0000-0000-000000000000
    DisplayName        : RBAC Tutorial Group
    SignInName         :
    RoleDefinitionName : Reader
    RoleDefinitionId   : acdd72a7-3385-48ef-bd42-f606fba81ae7
    ObjectId           : 11111111-1111-1111-1111-111111111111
    ObjectType         : Group
    CanDelegate        : False
    

    في الإخراج، يمكنك أن ترى أنه تم تعيين دور القارئ إلى مجموعة برامج RBAC التعليمية في نطاق الاشتراك.

  2. للتحقق من الوصول لمجموعة الموارد، استخدم الأمر Get- AzRoleAssignment لسرد تعيينات الدور.

    Get-AzRoleAssignment -ObjectId $groupId -ResourceGroupName "rbac-tutorial-resource-group"
    
    RoleAssignmentId   : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rbac-tutorial-resource-group/providers/Microsoft.Authorization/roleAssignments/33333333-3333-3333-3333-333333333333
    Scope              : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rbac-tutorial-resource-group
    DisplayName        : RBAC Tutorial Group
    SignInName         :
    RoleDefinitionName : Contributor
    RoleDefinitionId   : b24988ac-6180-42a0-ab88-20f7382dd24c
    ObjectId           : 11111111-1111-1111-1111-111111111111
    ObjectType         : Group
    CanDelegate        : False
    
    RoleAssignmentId   : /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/22222222-2222-2222-2222-222222222222
    Scope              : /subscriptions/00000000-0000-0000-0000-000000000000
    DisplayName        : RBAC Tutorial Group
    SignInName         :
    RoleDefinitionName : Reader
    RoleDefinitionId   : acdd72a7-3385-48ef-bd42-f606fba81ae7
    ObjectId           : 11111111-1111-1111-1111-111111111111
    ObjectType         : Group
    CanDelegate        : False
    

    في الإخراج، يمكنك أن ترى أنه تم تعيين دور كل من المساهم والقارئ لمجموعة برامج RBAC التعليمية. يقع دور المساهم في نطاق rbac -tutorial-Resource-group ويتم توريث دور القارئ في نطاق الاشتراك.

(اختياري) سرد الوصول باستخدام مدخل Microsoft Azure

  1. لمشاهدة كيف تبدو تعيينات الأدوار في مدخل Microsoft Azure، اعرض شفرة التحكم في الوصول (IAM) للاشتراك.

    Role assignments for a group at subscription scope

  2. اعرض شفرة التحكم في الوصول (IAM) لمجموعة الموارد.

    Role assignments for a group at resource group scope

إزالة الوصول

لإزالة وصول المستخدمين والمجموعات والتطبيقات، استخدم Remove- AzRoleAssignment لإزالة تعيين دور.

  1. استخدم الأمر التالي لإزالة تعيين دور المساهم للمجموعة في نطاق مجموعة الموارد.

    Remove-AzRoleAssignment -ObjectId $groupId `
      -RoleDefinitionName "Contributor" `
      -ResourceGroupName "rbac-tutorial-resource-group"
    
  2. استخدم الأمر التالي لإزالة تعيين دور القارئ للمجموعة في نطاق الاشتراك.

    Remove-AzRoleAssignment -ObjectId $groupId `
      -RoleDefinitionName "Reader" `
      -Scope $subScope
    

تنظيف الموارد

لتنظيف الموارد التي تم إنشاؤها بواسطة هذا البرنامج التعليمي، احذف مجموعة الموارد والمجموعة.

  1. احذف مجموعة الموارد باستخدام الأمر Remove- AzResourceGroup.

    Remove-AzResourceGroup -Name "rbac-tutorial-resource-group"
    
    Confirm
    Are you sure you want to remove resource group 'rbac-tutorial-resource-group'
    [Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"):
    
  2. عندما يُطلب منك التأكيد، اكتب Y. سيستغرق الحذف بضع ثوان.

  3. احذف المجموعة باستخدام الأمر Remove-MgGroup .

    Remove-MgGroup -GroupID $groupId
    

    إذا تلقيت خطأً عند محاولة حذف المجموعة، يمكنك أيضاً حذف المجموعة في المدخل.

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