Conceder um appRoleAssignment a uma entidade de serviço

Namespace: microsoft.graph

Atribuir uma função de aplicativo a uma entidade de serviço do cliente.

As funções do aplicativo atribuídas às entidades de serviço também são conhecidas como permissões de aplicativo. As permissões de aplicativo podem ser concedidas diretamente com atribuições de função de aplicativo ou por meio de uma experiência de consentimento.

Para conceder uma atribuição de função de aplicativo a uma entidade de serviço do cliente, você precisa de três identificadores:

  • principalId: A id da entidade de serviço do cliente ao qual você está atribuindo a função de aplicativo.
  • resourceId: A id do recurso servicePrincipal (a API) que definiu a função do aplicativo (a permissão do aplicativo).
  • appRoleId: A id da appRole (definido na entidade de serviço do recurso) para atribuir à entidade de serviço do cliente.

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) AppRoleAssignment.ReadWrite.All e Application.Read.All AppRoleAssignment.ReadWrite.All e Directory.Read.All
Delegado (conta pessoal da Microsoft) Sem suporte. Sem suporte.
Application AppRoleAssignment.ReadWrite.All e Application.Read.All AppRoleAssignment.ReadWrite.All e Directory.Read.All

Importante

Em cenários delegados com contas escolares ou profissionais, o utilizador com sessão iniciada tem de ter uma função de Microsoft Entra suportada ou uma função personalizada com uma permissão de função suportada. As seguintes funções com menos privilégios são suportadas para esta operação:

  • Contas de Sincronização de Diretórios – para serviços Microsoft Entra Connect e Microsoft Entra Cloud Sync
  • Escritor de Diretórios
  • Administrador de Identidade Híbrida
  • Administrador de Governação de Identidades
  • Administrador de Função Privilegiada
  • Administrador do usuário
  • Administrador de Aplicativos
  • Administrador de Aplicativos de Nuvem

Solicitação HTTP

Pode abordar o principal de serviço com o respetivo ID ou appId. O id e o appId são referidos como o ID do Objeto e o ID da Aplicação (Cliente), respetivamente, nos registos de aplicações no centro de administração do Microsoft Entra.

POST /servicePrincipals/{id}/appRoleAssignments
POST /servicePrincipals(appId='{appId}')/appRoleAssignments

Observação

Como prática recomendada, recomendamos que você crie atribuições de função de aplicativo por meio da appRoleAssignedTorelação do recurso da entidade de serviço, em vez da appRoleAssignmentsrelação do usuário, grupo ou entidade de serviço atribuída.

Cabeçalhos de solicitação

Nome Descrição
Autorização {token} de portador. Obrigatório. Saiba mais sobre autenticação e autorização.
Content-type application/json. Obrigatório.

Corpo da solicitação

No corpo da solicitação, forneça uma representação JSON de um objeto appRoleAssignment.

Resposta

Se tiver êxito, este método retornará um código de resposta 201 Created e um objeto appRoleAssignment no corpo da resposta.

Exemplos

Solicitação

O exemplo a seguir mostra uma solicitação.

POST https://graph.microsoft.com/v1.0/servicePrincipals/9028d19c-26a9-4809-8e3f-20ff73e2d75e/appRoleAssignments
Content-Type: application/json

{
  "principalId": "9028d19c-26a9-4809-8e3f-20ff73e2d75e",
  "resourceId": "8fce32da-1246-437b-99cd-76d1d4677bd5",
  "appRoleId": "498476ce-e0fe-48b0-b801-37ba7e2685c6"
}

Neste exemplo, observe que o valor usado como o principal do serviço ID na URL de solicitação (9028d19c-26a9-4809-8e3f-20ff73e2d75e) é o mesmo que a propriedade principalId no corpo. O valor resourceId é a ID da entidade de serviço do recurso (a API)

Resposta

O exemplo a seguir mostra a resposta.

Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.

HTTP/1.1 201 Created
Content-type: application/json

{
  "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#appRoleAssignments/$entity",
  "id": "2jLOj0YSe0OZzXbR1Gd71fDqFUrPM1xIgUfvWBHJ9n0",
  "createdDateTime": "2021-02-15T16:39:38.2975029Z",
  "appRoleId": "498476ce-e0fe-48b0-b801-37ba7e2685c6",
  "principalDisplayName": "Fabrikam App",
  "principalId": "9028d19c-26a9-4809-8e3f-20ff73e2d75e",
  "principalType": "ServicePrincipal",
  "resourceDisplayName": "Microsoft Graph",
  "resourceId": "8fce32da-1246-437b-99cd-76d1d4677bd5"
}