Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Управление доступом на основе ролей Azure (Azure RBAC) — это система авторизации, используемая для управления доступом к ресурсам в Azure. Чтобы определить, к каким ресурсам пользователи, группы, субъекты-службы или управляемые удостоверения имеют доступ, необходимо просмотреть их назначения ролей. В этой статье описывается, как перечислить назначения ролей с помощью Azure PowerShell.
Замечание
Мы рекомендуем использовать модуль Azure Az PowerShell для взаимодействия с Azure. Чтобы начать, ознакомьтесь с разделом Установка Azure PowerShell. Чтобы узнать, как перейти на модуль Az PowerShell, см. статью Миграция Azure PowerShell с AzureRM на Az.
Замечание
Если ваша организация передала функции управления поставщику услуг, который использует службу Azure Lighthouse, то назначения ролей, предоставленные этим поставщиком услуг, здесь отображаться не будут. Аналогичным образом пользователи в клиенте поставщика услуг не будут видеть назначения ролей для пользователей в клиенте клиента независимо от назначенной им роли.
Предпосылки
Вывод списка назначений ролей для текущей подписки
Самый простой способ получить список всех назначений ролей в текущей подписке (включая унаследованные назначения ролей из корневых и групп управления) — использовать Get-AzRoleAssignment без каких-либо параметров.
Get-AzRoleAssignment
PS C:\> Get-AzRoleAssignment
RoleAssignmentId : /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/11111111-1111-1111-1111-111111111111
Scope : /subscriptions/00000000-0000-0000-0000-000000000000
DisplayName : Alain
SignInName : [email protected]
RoleDefinitionName : Storage Blob Data Reader
RoleDefinitionId : 2a2b9908-6ea1-4ae2-8e65-a410df84e7d1
ObjectId : 44444444-4444-4444-4444-444444444444
ObjectType : User
CanDelegate : False
RoleAssignmentId : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales/providers/Microsoft.Authorization/roleAssignments/33333333-3333-3333-3333-333333333333
Scope : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales
DisplayName : Marketing
SignInName :
RoleDefinitionName : Contributor
RoleDefinitionId : b24988ac-6180-42a0-ab88-20f7382dd24c
ObjectId : 22222222-2222-2222-2222-222222222222
ObjectType : Group
CanDelegate : False
...
Перечислить назначения ролей для подписки
Чтобы перечислить все назначения ролей в области подписки, используйте Get-AzRoleAssignment. Чтобы получить идентификатор подписки, его можно найти в колонке "Подписки " на портале Azure или с помощью Get-AzSubscription.
Get-AzRoleAssignment -Scope /subscriptions/<subscription_id>
PS C:\> Get-AzRoleAssignment -Scope /subscriptions/00000000-0000-0000-0000-000000000000
Вывод списка назначений ролей для пользователя
Чтобы перечислить все роли, назначенные указанному пользователю, используйте Get-AzRoleAssignment.
Get-AzRoleAssignment -SignInName <email_or_userprincipalname>
PS C:\> Get-AzRoleAssignment -SignInName [email protected] | FL DisplayName, RoleDefinitionName, Scope
DisplayName : Isabella Simonsen
RoleDefinitionName : BizTalk Contributor
Scope : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales
Чтобы перечислить все роли, назначенные указанному пользователю, и роли, назначенные группам, которым принадлежит пользователь, используйте Get-AzRoleAssignment.
Get-AzRoleAssignment -SignInName <email_or_userprincipalname> -ExpandPrincipalGroups
Get-AzRoleAssignment -SignInName [email protected] -ExpandPrincipalGroups | FL DisplayName, RoleDefinitionName, Scope
Перечисление назначений ролей для группы ресурсов
Чтобы перечислить все назначения ролей в области группы ресурсов, используйте Get-AzRoleAssignment.
Get-AzRoleAssignment -ResourceGroupName <resource_group_name>
PS C:\> Get-AzRoleAssignment -ResourceGroupName pharma-sales | FL DisplayName, RoleDefinitionName, Scope
DisplayName : Alain Charon
RoleDefinitionName : Backup Operator
Scope : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales
DisplayName : Isabella Simonsen
RoleDefinitionName : BizTalk Contributor
Scope : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales
DisplayName : Alain Charon
RoleDefinitionName : Virtual Machine Contributor
Scope : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales
Список назначений ролей для группы управления
Чтобы перечислить все назначения ролей в области группы управления, используйте Get-AzRoleAssignment. Чтобы получить идентификатор группы управления, его можно найти в колонке "Группы управления " на портале Azure или использовать Get-AzManagementGroup.
Get-AzRoleAssignment -Scope /providers/Microsoft.Management/managementGroups/<group_id>
PS C:\> Get-AzRoleAssignment -Scope /providers/Microsoft.Management/managementGroups/marketing-group
Список назначенных ролей для ресурса
Чтобы перечислить назначения ролей для определенного ресурса, используйте Get-AzRoleAssignment и -Scope параметр. Область будет отличаться в зависимости от ресурса. Чтобы получить область, можно запустить Get-AzRoleAssignment без параметров, чтобы получить список всех назначений ролей, а затем найти область, которую вы хотите перечислить.
Get-AzRoleAssignment -Scope "/subscriptions/<subscription_id>/resourcegroups/<resource_group_name>/providers/<provider_name>/<resource_type>/<resource>
В следующем примере показано, как перечислить назначения ролей для учетной записи хранения. Обратите внимание, что эта команда также содержит список назначений ролей в более высоких областях, таких как группы ресурсов и подписки, которые применяются к этой учетной записи хранения.
PS C:\> Get-AzRoleAssignment -Scope "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/storage-test-rg/providers/Microsoft.Storage/storageAccounts/storagetest0122"
Если вы хотите просто перечислить назначения ролей, назначенные непосредственно в ресурсе, можно использовать команду Where-Object для фильтрации списка.
PS C:\> Get-AzRoleAssignment | Where-Object {$_.Scope -eq "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/storage-test-rg/providers/Microsoft.Storage/storageAccounts/storagetest0122"}
Просмотреть назначения ролей для классических администраторов служб и соадминистраторов
Чтобы перечислить назначения ролей для классического администратора подписки и соадминистратора, используйте Get-AzRoleAssignment.
Get-AzRoleAssignment -IncludeClassicAdministrators
Список назначений ролей для управляемого удостоверения
Получите идентификатор объекта управляемого удостоверения, назначаемого системой или назначаемого пользователем.
Чтобы получить идентификатор объекта управляемого удостоверения, назначаемого пользователем, можно использовать Get-AzADServicePrincipal.
Get-AzADServicePrincipal -DisplayNameBeginsWith "<name> or <vmname>"Чтобы получить список назначений ролей, используйте Get-AzRoleAssignment.
Get-AzRoleAssignment -ObjectId <objectid>