Вывод списка назначений ролей Azure с помощью Azure PowerShell

Управление доступом на основе ролей 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         : alain@example.com
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 isabella@example.com | 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 isabella@example.com -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"}

Просмотреть назначения ролей для классических администраторов служб и соадминистраторов

Это важно

По состоянию на 31 августа 2024 г. классические роли администратора Azure (а также классические ресурсы Azure и Azure Service Manager) не поддерживаются. Начиная с декабря 2025 года Azure автоматически назначает роль владельца в области подписки пользователям в облаке общедоступного доступа, которые по-прежнему назначены на роль соруководителя или Администратора служб. По состоянию на May 2026 классические роли администратора полностью сняты, и для управления доступом необходимо назначить роли в Azure управление доступом на основе ролей (RBAC).

Дополнительные сведения см. в статье Классические администраторы подписок Azure.

Чтобы перечислить назначения ролей для классического администратора подписки и соадминистратора, используйте Get-AzRoleAssignment.

Get-AzRoleAssignment -IncludeClassicAdministrators

Список назначений ролей для управляемого удостоверения

  1. Получите идентификатор объекта управляемого удостоверения, назначаемого системой или назначаемого пользователем.

    Чтобы получить идентификатор объекта управляемого удостоверения, назначаемого пользователем, можно использовать Get-AzADServicePrincipal.

    Get-AzADServicePrincipal -DisplayNameBeginsWith "<name> or <vmname>"
    
  2. Чтобы получить список назначений ролей, используйте Get-AzRoleAssignment.

    Get-AzRoleAssignment -ObjectId <objectid>
    

Дальнейшие шаги

Назначение ролей Azure с помощью Azure PowerShell