Compartilhar via


Listar atribuições de função do Azure usando o Azure PowerShell

O RBAC (controle de acesso baseado em função) do Azure é o sistema de autorização que você usa para gerenciar o acesso aos recursos do Azure. Para determinar a quais recursos os usuários, grupos, entidades de serviço ou identidades gerenciadas têm acesso, liste as atribuições das funções. Este artigo descreve como listar atribuições de função usando o Azure PowerShell.

Observação

Recomendamos que você use o módulo do Az PowerShell do Azure para interagir com o Azure. Para começar, consulte Instalar o Azure PowerShell. Para saber como migrar para o módulo Az PowerShell, confira Migrar o Azure PowerShell do AzureRM para o Az.

Observação

Se sua organização tiver funções de gerenciamento terceirizadas para um provedor de serviços que usa o Azure Lighthouse, as atribuições de função autorizadas por esse provedor de serviços não serão mostradas aqui. Da mesma forma, os usuários no locatário do provedor de serviços não verão atribuições de função para usuários no locatário de um cliente, independentemente da função atribuída.

Pré-requisitos

Listar atribuições de função para a assinatura atual

A maneira mais fácil de obter uma lista de todas as atribuições de função na assinatura atual (incluindo atribuições de função herdadas de grupos raiz e de gerenciamento) é usar Get-AzRoleAssignment sem parâmetros.

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

...

Listar atribuições de função para um serviço de assinatura

Para listar todas as atribuições de função em um escopo de assinatura, use Get-AzRoleAssignment. Para obter a ID da assinatura, você pode encontrá-la na folha Assinaturas no portal do Azure ou usar Get-AzSubscription.

Get-AzRoleAssignment -Scope /subscriptions/<subscription_id>
PS C:\> Get-AzRoleAssignment -Scope /subscriptions/00000000-0000-0000-0000-000000000000

Listar atribuições de função para um usuário

Para listar todas as funções atribuídas a um usuário especificado, use 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

Para listar todas as funções atribuídas a um usuário especificado e às funções atribuídas aos grupos aos quais o usuário pertence, use Get-AzRoleAssignment.

Get-AzRoleAssignment -SignInName <email_or_userprincipalname> -ExpandPrincipalGroups
Get-AzRoleAssignment -SignInName isabella@example.com -ExpandPrincipalGroups | FL DisplayName, RoleDefinitionName, Scope

Listar atribuições de função para um grupo de recursos

Para listar todas as atribuições de função em um escopo de grupo de recursos, use 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

Listar atribuições de função para um grupo de gerenciamento

Para listar todas as atribuições de função em um escopo de grupo de gerenciamento, use Get-AzRoleAssignment. Para obter a ID do grupo de gerenciamento, você pode encontrá-la na folha Grupos de Gerenciamento no portal do Azure ou usar Get-AzManagementGroup.

Get-AzRoleAssignment -Scope /providers/Microsoft.Management/managementGroups/<group_id>
PS C:\> Get-AzRoleAssignment -Scope /providers/Microsoft.Management/managementGroups/marketing-group

Listar atribuições de função para um recurso

Para listar atribuições de função para um recurso específico, use Get-AzRoleAssignment e o -Scope parâmetro. O escopo será diferente dependendo do recurso. Para obter o escopo, você pode executar Get-AzRoleAssignment sem parâmetros para listar todas as atribuições de função e, em seguida, encontrar o escopo que deseja listar.

Get-AzRoleAssignment -Scope "/subscriptions/<subscription_id>/resourcegroups/<resource_group_name>/providers/<provider_name>/<resource_type>/<resource>

Este exemplo a seguir mostra como listar as atribuições de função para uma conta de armazenamento. Observe que esse comando também lista atribuições de função em escopos mais altos, como grupos de recursos e assinaturas, que se aplicam a essa conta de armazenamento.

PS C:\> Get-AzRoleAssignment -Scope "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/storage-test-rg/providers/Microsoft.Storage/storageAccounts/storagetest0122"

Se você quiser apenas listar as atribuições de função atribuídas diretamente em um recurso, poderá usar o comando Where-Object para filtrar a lista.

PS C:\> Get-AzRoleAssignment | Where-Object {$_.Scope -eq "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/storage-test-rg/providers/Microsoft.Storage/storageAccounts/storagetest0122"}

Listar atribuições de função para administrador de serviço clássico e coadministradores

Para listar atribuições de função para o administrador e coadministradores da assinatura clássica, use Get-AzRoleAssignment.

Get-AzRoleAssignment -IncludeClassicAdministrators

Listar atribuições de função para uma identidade gerenciada

  1. Obtenha a ID do objeto da identidade gerenciada atribuída pelo sistema ou atribuída pelo usuário.

    Para obter a ID de objeto de uma identidade gerenciada atribuída pelo usuário, você pode usar Get-AzADServicePrincipal.

    Get-AzADServicePrincipal -DisplayNameBeginsWith "<name> or <vmname>"
    
  2. Para listar as atribuições de função, use Get-AzRoleAssignment.

    Get-AzRoleAssignment -ObjectId <objectid>
    

Próximas etapas

Atribuir funções do Azure usando o Azure PowerShell