Conceder um appRoleAssignment para uma entidade de serviço

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.

Atribuir uma função de aplicativo a uma entidade de serviço de recurso, a um usuário, grupo ou entidade de serviço de 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, você precisará de três identificadores:

  • principalId: A id do usuário, grupo ou cliente servicePrincipal ao qual você está atribuindo a função de aplicativo.
  • resourceId: A id do recurso servicePrincipal que definiu a função do aplicativo.
  • appRoleId: A id do appRole (definida na entidade de serviço de recurso) para atribuir a um usuário, grupo ou entidade de serviço.

Essa API está disponível nas seguintes implantações nacionais de nuvem.

Serviço global Governo dos EUA L4 GOVERNO DOS EUA L5 (DOD) China operada pela 21Vianet

Permissões

Uma das seguintes permissões é necessá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 e Application.Read.All, AppRoleAssignment.ReadWrite.All e Directory.Read.All
Delegado (conta pessoal da Microsoft) Sem suporte.
Aplicativo AppRoleAssignment.ReadWrite.All e Application.Read.All, AppRoleAssignment.ReadWrite.All e Directory.Read.All

Para cenários delegados, o usuário de chamada precisa de pelo menos uma das seguintes funções de Microsoft Entra.

  • Contas de sincronização de diretório
  • Escritor de Diretórios
  • Administrador de identidade híbrida
  • Administrador de Governança de Identidade
  • Administrador de Função Privilegiada
  • Administrador do usuário
  • Administrador de Aplicativos
  • Administrador de Aplicativos de Nuvem

Solicitação HTTP

Você pode abordar a entidade de serviço usando sua id ou appId. Id e appId são chamados de ID de Objeto e ID do Aplicativo (Cliente), respectivamente, em registros de aplicativo no centro de administração do Microsoft Entra.

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

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/beta/servicePrincipals/9028d19c-26a9-4809-8e3f-20ff73e2d75e/appRoleAssignedTo
Content-Type: application/json

{
  "principalId": "33ad69f9-da99-4bed-acd0-3f24235cb296",
  "resourceId": "9028d19c-26a9-4809-8e3f-20ff73e2d75e",
  "appRoleId": "ef7437e6-4f94-4a0a-a110-a439eb2aa8f7"
}

Neste exemplo, {id} e {resourceId-value} seriam os id da entidade de serviço de recurso e {principalId} seria o id do objeto de serviço de cliente, grupo ou cliente atribuído.

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/beta/$metadata#servicePrincipals('9028d19c-26a9-4809-8e3f-20ff73e2d75e')/appRoleAssignedTo/$entity",
  "id": "-WmtM5na7Uus0D8kI1yylpU9Mdo0Pb9OoBJvd3T5eKc",
  "deletedDateTime": null,
  "appRoleId": "ef7437e6-4f94-4a0a-a110-a439eb2aa8f7",
  "creationTimestamp": "2021-02-15T16:14:59.8643039Z",
  "principalDisplayName": "Parents of Contoso",
  "principalId": "33ad69f9-da99-4bed-acd0-3f24235cb296",
  "principalType": "Group",
  "resourceDisplayName": "Fabrikam App",
  "resourceId": "9028d19c-26a9-4809-8e3f-20ff73e2d75e"
}