Partilhar via


Listar atribuições de função do Azure usando a API REST

O controle de acesso baseado em função do Azure (Azure RBAC) é o sistema de autorização que você usa para gerenciar o acesso aos recursos do Azure. Para determinar a que recursos os utilizadores, grupos, principais de serviços ou identidades geridas têm acesso, liste as suas atribuições de funções. Este artigo descreve como listar atribuições de função usando a API REST.

Nota

Se sua organização tiver terceirizado funções de gerenciamento 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 que lhes foi atribuída.

Nota

Para obter informações sobre como exibir ou excluir dados pessoais, consulte Solicitações gerais do titular de dados para o GDPR, Solicitações do titular de dados do Azure para o GDPR ou Solicitações do titular de dados do Windows para o GDPR, dependendo da sua área e necessidades específicas. Para obter mais informações sobre o GDPR, consulte a seção GDPR da Central de Confiabilidade da Microsoft e a seção GDPR do portal Service Trust.

Pré-requisitos

Você deve usar a seguinte versão:

  • 2015-07-01 ou mais tarde
  • 2022-04-01 ou mais tarde para incluir condições

Para mais informações, consulte Versões da API das APIs REST do Azure RBAC.

Listar atribuições de função

No RBAC do Azure, para listar o acesso, você lista as atribuições de função. Para listar atribuições de função, use uma das APIs REST de Atribuição de Função Obter ou Listar. Para refinar os resultados, especifique um escopo e um filtro opcional.

  1. Comece com a seguinte solicitação:

    GET https://management.azure.com/{scope}/providers/Microsoft.Authorization/roleAssignments?api-version=2022-04-01&$filter={filter}
    
  2. No URI, substitua {scope} pelo escopo para o qual você deseja listar as atribuições de função.

    Âmbito Type
    providers/Microsoft.Management/managementGroups/{groupId1} Grupo de Gestão
    subscriptions/{subscriptionId1} Subscrição
    subscriptions/{subscriptionId1}/resourceGroups/myresourcegroup1 Grupo de recursos
    subscriptions/{subscriptionId1}/resourceGroups/myresourcegroup1/providers/Microsoft.Web/sites/mysite1 Recurso

    No exemplo anterior, microsoft.web é um provedor de recursos que se refere a uma instância do Serviço de Aplicativo. Da mesma forma, você pode usar quaisquer outros provedores de recursos e especificar o escopo. Para obter mais informações, consulte Provedores e tipos de recursos do Azure e operações de provedor de recursos do Azure com suporte.

  3. Substitua {filter} pela condição que você deseja aplicar para filtrar a lista de atribuição de função.

    Filtro Description
    $filter=atScope() Lista as atribuições de função apenas para o escopo especificado, não incluindo as atribuições de função nos subescopos.
    $filter=assignedTo('{objectId}') Lista as atribuições de função para um usuário ou entidade de serviço especificado.
    Se o usuário for membro de um grupo que tenha uma atribuição de função, essa atribuição de função também será listada. Esse filtro é transitivo para grupos, o que significa que, se o usuário for membro de um grupo e esse grupo for membro de outro grupo que tenha uma atribuição de função, essa atribuição de função também será listada.
    Esse filtro só aceita uma ID de objeto para um usuário ou uma entidade de serviço. Não é possível passar uma ID de objeto para um grupo.
    $filter=atScope()+and+assignedTo('{objectId}') Lista as atribuições de função para o usuário ou entidade de serviço especificada e no escopo especificado.
    $filter=principalId+eq+'{objectId}' Lista as atribuições de função para um usuário, grupo ou entidade de serviço especificada.

A solicitação a seguir lista todas as atribuições de função para o usuário especificado no escopo da assinatura:

GET https://management.azure.com/subscriptions/{subscriptionId1}/providers/Microsoft.Authorization/roleAssignments?api-version=2022-04-01&$filter=atScope()+and+assignedTo('{objectId1}')

A seguir mostra um exemplo da saída:

{
    "value": [
        {
            "properties": {
                "roleDefinitionId": "/subscriptions/{subscriptionId1}/providers/Microsoft.Authorization/roleDefinitions/2a2b9908-6ea1-4ae2-8e65-a410df84e7d1",
                "principalId": "{objectId1}",
                "principalType": "User",
                "scope": "/subscriptions/{subscriptionId1}",
                "condition": null,
                "conditionVersion": null,
                "createdOn": "2022-01-15T21:08:45.4904312Z",
                "updatedOn": "2022-01-15T21:08:45.4904312Z",
                "createdBy": "{createdByObjectId1}",
                "updatedBy": "{updatedByObjectId1}",
                "delegatedManagedIdentityResourceId": null,
                "description": null
            },
            "id": "/subscriptions/{subscriptionId1}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId1}",
            "type": "Microsoft.Authorization/roleAssignments",
            "name": "{roleAssignmentId1}"
        }
    ]
}

Próximos passos