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.

Permissões

Uma das seguintes permissões é obrigatória para chamar esta API. Para saber mais, incluindo como escolher permissões, confira Permissões.

Tipo de permissão Permissões (da com menos para a com mais privilégios)
Delegado (conta corporativa ou de estudante) AppRoleAssignment. ReadWrite. All, Directory. ReadWrite. All
Delegado (conta pessoal da Microsoft) Sem suporte.
Aplicativo AppRoleAssignment. ReadWrite. All, Directory. ReadWrite. All

Solicitação HTTP

POST /servicePrincipals/{id}/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.
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

Este é um exemplo da 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 a principal id do serviço no URL do solicitado (9028d19c-26a9-4809-8e3f-20ff73e2d75e) é o mesmo que a propriedade principalId no corpo. O valor resourceId é a id principal do serviço de recursos (a API)

Resposta

Veja a seguir um exemplo da 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"
}