إزالة تعيينات دور Azure

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

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

لإزالة تعيينات الأدوار، يجب أن يكون لديك:

بالنسبة لواجهة برمجة تطبيقات REST، يجب استخدام الإصدار التالي:

  • 2015-07-01 أو أحدث

لمزيد من المعلومات، راجع إصدارات واجهة برمجة التطبيقات من واجهات برمجة تطبيقات AZURE RBAC REST.

مدخل Microsoft Azure

اتبع الخطوات التالية:

  1. افتح التحكم في الوصول (IAM) في نطاق، مثل مجموعة الإدارة أو الاشتراك أو مجموعة الموارد أو المورد، حيث تريد إزالة الوصول.

  2. انقر فوق علامة التبويب Role assignments لعرض كافة تعيينات الأدوار في هذا النطاق.

  3. في قائمة تعيينات الأدوار، أضف علامة اختيار إلى جانب أساس الأمان مع تعيين الدور الذي تريد إزالته.

    لقطة شاشة لتعيين الدور المحدد لإزالته.

  4. انقر فوق إزالة.

    لقطة شاشة لإزالة رسالة تعيين الدور.

  5. في رسالة إزالة تعيين الدور التي تظهر، انقر فوق نعم.

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

    لقطة شاشة لإزالة رسالة تعيين الدور لتعيينات الأدوار الموروثة.

Azure PowerShell

في Azure PowerShell، يمكنك إزالة تعيين دور باستخدام Remove-AzRoleAssignment.

يزيل المثال التالي تعيين دور مساهم الجهاز الظاهري من patlong@contoso.com المستخدم في مجموعة موارد مبيعات دارما:

PS C:\> Remove-AzRoleAssignment -SignInName patlong@contoso.com `
-RoleDefinitionName "Virtual Machine Contributor" `
-ResourceGroupName pharma-sales

Removes the Reader role from the Ann Mack Team group with ID 22222222-2222-2222-2222-222222222222 at a subscription scope.

PS C:\> Remove-AzRoleAssignment -ObjectId 22222222-2222-2222-2222-222222222222 `
-RoleDefinitionName "Reader" `
-Scope "/subscriptions/00000000-0000-0000-0000-000000000000"

Removes the Billing Reader role from the alain@example.com user at the management group scope.

PS C:\> Remove-AzRoleAssignment -SignInName alain@example.com `
-RoleDefinitionName "Billing Reader" `
-Scope "/providers/Microsoft.Management/managementGroups/marketing-group"

Removes the User Access Administrator role with ID 18d7d88d-d35e-4fb5-a5c3-7773c20a72d9 from the principal with ID 33333333-3333-3333-3333-333333333333 at subscription scope with ID 00000000-0000-0000-0000-000000000000.

PS C:\> Remove-AzRoleAssignment -ObjectId 33333333-3333-3333-3333-333333333333 `
-RoleDefinitionId 18d7d88d-d35e-4fb5-a5c3-7773c20a72d9 `
-Scope /subscriptions/00000000-0000-0000-0000-000000000000

If you get the error message: "The provided information does not map to a role assignment", make sure that you also specify the -Scope or -ResourceGroupName parameters. For more information, see Troubleshoot Azure RBAC.

Azure CLI

في Azure CLI، يمكنك إزالة تعيين دور باستخدام az role assignment delete.

يزيل المثال التالي تعيين دور مساهم الجهاز الظاهري من patlong@contoso.com المستخدم في مجموعة موارد مبيعات دارما:

az role assignment delete --assignee "patlong@contoso.com" \
--role "Virtual Machine Contributor" \
--resource-group "pharma-sales"

Removes the Reader role from the Ann Mack Team group with ID 22222222-2222-2222-2222-222222222222 at a subscription scope.

az role assignment delete --assignee "22222222-2222-2222-2222-222222222222" \
--role "Reader" \
--scope "/subscriptions/00000000-0000-0000-0000-000000000000"

Removes the Billing Reader role from the alain@example.com user at the management group scope.

az role assignment delete --assignee "alain@example.com" \
--role "Billing Reader" \
--scope "/providers/Microsoft.Management/managementGroups/marketing-group"

واجهة برمجة تطبيقات REST

في واجهة برمجة تطبيقات REST، يمكنك إزالة تعيين دور باستخدام تعيينات الدور - حذف.

  1. احصل على معرف تعيين الدور (GUID). يتم إرجاع هذا المعرف عند إنشاء تعيين الدور لأول مرة أو يمكنك الحصول عليه عن طريق سرد تعيينات الدور.

  2. ابدأ بالطلب التالي:

    DELETE https://management.azure.com/{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId}?api-version=2022-04-01
    
  3. ضمن URI، استبدل {scope} بالنطاق لإزالة تعيين الدور.

    النطاق نوع
    providers/Microsoft.Management/managementGroups/{groupId1} مجموعة الإدارة
    subscriptions/{subscriptionId1} الاشتراك
    subscriptions/{subscriptionId1}/resourceGroups/myresourcegroup1 مجموعة الموارد
    subscriptions/{subscriptionId1}/resourceGroups/myresourcegroup1/providers/microsoft.web/sites/mysite1 Resource
  4. استبدل {roleAssignmentId} بمعرف GUID لتعيين الدور.

    يزيل الطلب التالي تعيين الدور المحدد في نطاق الاشتراك:

    DELETE https://management.azure.com/subscriptions/{subscriptionId1}/providers/microsoft.authorization/roleassignments/{roleAssignmentId1}?api-version=2022-04-01
    

    يوضح ما يلي مثالا على الإخراج:

    {
        "properties": {
            "roleDefinitionId": "/subscriptions/{subscriptionId1}/providers/Microsoft.Authorization/roleDefinitions/a795c7a0-d4a2-40c1-ae25-d81f01202912",
            "principalId": "{objectId1}",
            "principalType": "User",
            "scope": "/subscriptions/{subscriptionId1}",
            "condition": null,
            "conditionVersion": null,
            "createdOn": "2022-05-06T23:55:24.5379478Z",
            "updatedOn": "2022-05-06T23:55:24.5379478Z",
            "createdBy": "{createdByObjectId1}",
            "updatedBy": "{updatedByObjectId1}",
            "delegatedManagedIdentityResourceId": null,
            "description": null
        },
        "id": "/subscriptions/{subscriptionId1}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId1}",
        "type": "Microsoft.Authorization/roleAssignments",
        "name": "{roleAssignmentId1}"
    }
    

    قالب ARM

    لا توجد طريقة لإزالة تعيين دور باستخدام قالب Azure Resource Manager (قالب ARM). لإزالة تعيين دور، يجب استخدام أدوات أخرى مثل مدخل Microsoft Azure أو Azure PowerShell أو Azure CLI أو REST API.