Compartilhar via


Listar transitiveRoleAssignment

Namespace: microsoft.graph

Importante

As APIs na versão /beta no Microsoft Graph estão sujeitas a alterações. Não há suporte para o uso dessas APIs em aplicativos de produção. Para determinar se uma API está disponível na v1.0, use o seletor Versão.

Obtenha a lista de objetos unifiedRoleAssignment diretos e transitivos para um principal específico. Por exemplo, se for atribuída a um utilizador uma função do Microsoft Entra através da associação a um grupo, a atribuição de função é transitiva e este pedido listará o ID do grupo como principalId. Os resultados também podem ser filtrados por roleDefinitionId e directoryScopeId. Suportado apenas para o fornecedor de diretórios (Microsoft Entra ID).

Para obter mais informações, consulte Usar grupos do Microsoft Entra para gerenciar atribuições de função.

Observação

Este pedido pode ter atrasos de replicação para atribuições de funções que foram criadas, atualizadas ou eliminadas recentemente.

Esta API está disponível nas seguintes implementações de cloud nacionais.

Serviço global US Government L4 US Government L5 (DOD) China operada pela 21Vianet

Permissões

Escolha a permissão ou permissões marcadas como menos privilegiadas para esta API. Utilize uma permissão ou permissões com privilégios mais elevados apenas se a sua aplicação o exigir. Para obter detalhes sobre as permissões delegadas e de aplicação, veja Tipos de permissão. Para saber mais sobre estas permissões, veja a referência de permissões.

Tipo de permissão Permissões com menos privilégios Permissões com privilégios superiores
Delegado (conta corporativa ou de estudante) RoleManagement.Read.Directory Directory.Read.All, Directory.ReadWrite.All, RoleManagement.ReadWrite.Directory
Delegado (conta pessoal da Microsoft) Sem suporte. Sem suporte.
Application RoleManagement.Read.Directory Directory.Read.All, Directory.ReadWrite.All, RoleManagement.ReadWrite.Directory

Em cenários delegados com contas escolares ou profissionais, o utilizador com sessão iniciada tem de ter uma função suportada do Microsoft Entra ou uma função personalizada com uma das seguintes permissões de função:

  • microsoft.directory/roleAssignments/standard/read (com menos privilégios)
  • microsoft.directory/roleAssignments/allProperties/read
  • microsoft.directory/roleAssignments/allProperties/allTasks

As funções com menos privilégios suportadas para esta operação são as seguintes, pela ordem dos menores aos mais privilegiados:

  • Leitores de Diretórios
  • Leitor Global
  • Administrador de Função Privilegiada

Solicitação HTTP

Para listar atribuições de funções transitivas para um fornecedor de diretório:

GET /roleManagement/directory/transitiveRoleAssignments?$filter=principalId eq '{principalId}'

Parâmetros de consulta

Este método requer o $filter parâmetro de consulta OData (eq) para definir o âmbito das atribuições de funções transitivas para um principal. Pode restringir o âmbito do pedido ao expandir o filtro para outras propriedades suportadas. Este método também suporta os $count parâmetros de consulta OData e $select para ajudar a personalizar a resposta. Para obter informações gerais, acesse Parâmetros de consulta OData.

Cabeçalhos de solicitação

Nome Descrição
Autorização {token} de portador. Obrigatório. Saiba mais sobre autenticação e autorização.
ConsistencyLevel eventualmente. Este cabeçalho, $count, e $filter são necessários. Para obter mais informações sobre a utilização de ConsistencyLevel, $count, e $filter, veja Advanced query capabilities on directory objects (Capacidades avançadas de consulta em objetos de diretório).

Corpo da solicitação

Não forneça um corpo de solicitação para esse método.

Resposta

Se for bem-sucedido, este método devolve um 200 OK código de resposta e uma coleção de objetos unifiedRoleAssignment no corpo da resposta.

Se o pedido não incluir o cabeçalho ConsistencyLevel definido como eventual, este método devolve 404 Not Found o código de resposta.

Exemplos

Para os exemplos nesta secção, considere o seguinte cenário de atribuição de função. Um utilizador com o nome Alice tem atribuições de funções diretas e transitivas da seguinte forma:

Usuário Group Role Escopo ID da atribuição de função
Alice
2c7936bc-3517-40f3-8eda-4806637b6516
Administrador do usuário
fe930be7-5e62-47db-91af-98c3a49a38b1
Tenant RA1
857708a7-b5e0-44f9-bfd7-53531d72a739
G1
ae2fc327-4c71-48ed-b6ca-f48632186510
(Alice é membro)
Administrador do usuário
fe930be7-5e62-47db-91af-98c3a49a38b1
Tenant RA2
8a021d5f-7351-4713-aab4-b088504d476e
G2
6ffb34b8-5e6d-4727-a7f9-93245e7f6ea8
(Alice é membro)
Administrador da Assistência Técnica
729827e3-9c14-49f7-bb1b-9608f156bbb8
Unidade administrativa (AU1)
26e79164-0c5c-4281-8c5b-be7bc7809fb2
RA3
6cc86637-13c8-473f-afdc-e0e65c9734d2
  • A Alice tem a função Administrador de Utilizadores diretamente no âmbito do inquilino com a atribuição de função RA1.
  • Alice é membro de um grupo G1 e G1 é atribuída a função administrador de utilizador no âmbito do inquilino com a atribuição de função RA2.
  • Alice também é membro do grupo G2 e G2 é atribuída a função administrador de suporte técnico num âmbito de unidade administrativa AU1 com atribuição de função RA3.

Exemplo 1: obter atribuições de funções diretas e transitivas de um principal

Solicitação

O exemplo a seguir mostra uma solicitação. Este pedido requer o cabeçalho ConsistencyLevel definido como eventual e os $count=true parâmetros de consulta e $filter . Para obter mais informações sobre a utilização de ConsistencyLevel, $count, e $filter, veja Advanced query capabilities on directory objects (Capacidades avançadas de consulta em objetos de diretório).

GET https://graph.microsoft.com/beta/roleManagement/directory/transitiveRoleAssignments?$count=true&$filter=principalId eq '2c7936bc-3517-40f3-8eda-4806637b6516'
ConsistencyLevel: eventual

Resposta

O exemplo a seguir mostra a resposta.

Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade. Todas as propriedades serão retornadas de uma chamada real.

HTTP/1.1 200 OK
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#roleManagement/directory/transitiveRoleAssignments",
    "value": [
        {
            "id": "857708a7-b5e0-44f9-bfd7-53531d72a739",
            "principalId": "2c7936bc-3517-40f3-8eda-4806637b6516",
            "directoryScopeId": "/",
            "roleDefinitionId": "fe930be7-5e62-47db-91af-98c3a49a38b1"
        },
        {
            "id": "8a021d5f-7351-4713-aab4-b088504d476e",
            "principalId": "ae2fc327-4c71-48ed-b6ca-f48632186510",
            "directoryScopeId": "/",
            "roleDefinitionId": "fe930be7-5e62-47db-91af-98c3a49a38b1"
        },
        {
            "id": "6cc86637-13c8-473f-afdc-e0e65c9734d2",
            "principalId": "6ffb34b8-5e6d-4727-a7f9-93245e7f6ea8",
            "directoryScopeId": "/administrativeUnits/26e79164-0c5c-4281-8c5b-be7bc7809fb2",
            "roleDefinitionId": "729827e3-9c14-49f7-bb1b-9608f156bbb8"
        }
    ]
}

Exemplo 2: Obter atribuições diretas e transitivas de um principal, mas apenas definições de funções específicas

Solicitação

O exemplo a seguir mostra uma solicitação. Este pedido requer o cabeçalho ConsistencyLevel definido como eventual e os $count=true parâmetros de consulta e $filter . Para obter mais informações sobre a utilização de ConsistencyLevel, $count, e $filter, veja Advanced query capabilities on directory objects (Capacidades avançadas de consulta em objetos de diretório).

GET https://graph.microsoft.com/beta/roleManagement/directory/transitiveRoleAssignments?$count=true&$filter=principalId eq '2c7936bc-3517-40f3-8eda-4806637b6516' and roleDefinitionId eq 'fe930be7-5e62-47db-91af-98c3a49a38b1'
ConsistencyLevel: eventual

Resposta

O exemplo a seguir mostra a resposta.

Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade. Todas as propriedades serão retornadas de uma chamada real.

HTTP/1.1 200 OK
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#roleManagement/directory/transitiveRoleAssignments",
    "value": [
        {
            "id": "857708a7-b5e0-44f9-bfd7-53531d72a739",
            "principalId": "2c7936bc-3517-40f3-8eda-4806637b6516",
            "directoryScopeId": "/",
            "roleDefinitionId": "fe930be7-5e62-47db-91af-98c3a49a38b1"
        },
        {
            "id": "8a021d5f-7351-4713-aab4-b088504d476e",
            "principalId": "6ffb34b8-5e6d-4727-a7f9-93245e7f6ea8",
            "directoryScopeId": "/",
            "roleDefinitionId": "fe930be7-5e62-47db-91af-98c3a49a38b1"
        }
    ]
}

Exemplo 3: Obter atribuições de funções diretas e transitivas de um principal, mas apenas a unidade administrativa no âmbito

Solicitação

O exemplo a seguir mostra uma solicitação. Este pedido requer o cabeçalho ConsistencyLevel definido como eventual e os $count=true parâmetros de consulta e $filter . Para obter mais informações sobre a utilização de ConsistencyLevel, $count, e $filter, veja Advanced query capabilities on directory objects (Capacidades avançadas de consulta em objetos de diretório).

GET https://graph.microsoft.com/beta/roleManagement/directory/transitiveRoleAssignments?$count=true&$filter=principalId eq '2c7936bc-3517-40f3-8eda-4806637b6516' and directoryScopeId eq '/administrativeUnits/26e79164-0c5c-4281-8c5b-be7bc7809fb2'
ConsistencyLevel: eventual

Resposta

O exemplo a seguir mostra a resposta.

Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade. Todas as propriedades serão retornadas de uma chamada real.

HTTP/1.1 200 OK
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#roleManagement/directory/transitiveRoleAssignments",
    "value": [
        {
            "id": "6cc86637-13c8-473f-afdc-e0e65c9734d2",
            "principalId": "6ffb34b8-5e6d-4727-a7f9-93245e7f6ea8",
            "directoryScopeId": "/administrativeUnits/26e79164-0c5c-4281-8c5b-be7bc7809fb2",
            "roleDefinitionId": "729827e3-9c14-49f7-bb1b-9608f156bbb8"
        }
    ]
}