التحكم في الوصول المستند إلى الدور Azure (Azure RBAC) هو نظام التخويل الذي تستخدمه لإدارة الوصول إلى موارد Azure. لإزالة الوصول من مورد Azure، يمكنك إزالة تعيين دور. توضح هذه المقالة كيفية إزالة تعيينات الأدوار باستخدام مدخل Microsoft Azure وAzure PowerShell وAzure CLI وواجهة برمجة تطبيقات REST.
إزالة تعيينات دور Azure
المتطلبات الأساسية
لإزالة تعيينات الأدوار، يجب أن يكون لديك:
Microsoft.Authorization/roleAssignments/delete
أذونات، مثل التحكم في الوصول استنادا إلى الدور مسؤول istrator
بالنسبة لواجهة برمجة تطبيقات REST، يجب استخدام الإصدار التالي:
2015-07-01
أو أحدث
لمزيد من المعلومات، راجع إصدارات واجهة برمجة التطبيقات من واجهات برمجة تطبيقات AZURE RBAC REST.
مدخل Microsoft Azure
اتبع الخطوات التالية:
افتح التحكم في الوصول (IAM) في نطاق، مثل مجموعة الإدارة أو الاشتراك أو مجموعة الموارد أو المورد، حيث تريد إزالة الوصول.
انقر فوق علامة التبويب Role assignments لعرض كافة تعيينات الأدوار في هذا النطاق.
في قائمة تعيينات الأدوار، أضف علامة اختيار إلى جانب أساس الأمان مع تعيين الدور الذي تريد إزالته.
انقر فوق إزالة.
في رسالة إزالة تعيين الدور التي تظهر، انقر فوق نعم.
إذا رأيت رسالة لا يمكن إزالة تعيينات الأدوار الموروثة، فأنت تحاول إزالة تعيين دور في نطاق تابع. يجب فتح التحكم في الوصول (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، يمكنك إزالة تعيين دور باستخدام تعيينات الدور - حذف.
احصل على معرف تعيين الدور (GUID). يتم إرجاع هذا المعرف عند إنشاء تعيين الدور لأول مرة أو يمكنك الحصول عليه عن طريق سرد تعيينات الدور.
ابدأ بالطلب التالي:
DELETE https://management.azure.com/{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId}?api-version=2022-04-01
ضمن URI، استبدل {scope} بالنطاق لإزالة تعيين الدور.
النطاق نوع providers/Microsoft.Management/managementGroups/{groupId1}
مجموعة الإدارة subscriptions/{subscriptionId1}
الاشتراك subscriptions/{subscriptionId1}/resourceGroups/myresourcegroup1
مجموعة الموارد subscriptions/{subscriptionId1}/resourceGroups/myresourcegroup1/providers/microsoft.web/sites/mysite1
Resource استبدل {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.