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
: Aid
da entidade de serviço do cliente ao qual você está atribuindo a função de aplicativo.resourceId
: Aid
do recursoservicePrincipal
(a API) que definiu a função do aplicativo (a permissão do aplicativo).appRoleId
: Aid
daappRole
(definido na entidade de serviço do recurso) para atribuir à entidade de serviço do cliente.
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. |
Application | 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}/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 appRoleAssignedTo
relação do recurso da entidade de serviço, em vez da appRoleAssignments
relaçã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"
}
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários