Compartilhar via


Criar oAuth2PermissionGrant (uma concessão de permissão delegada)

Namespace: microsoft.graph

Crie uma concessão de permissão delegada representada por um objeto oAuth2PermissionGrant .

Uma concessão de permissão delegada autoriza um principal de serviço de cliente (que representa uma aplicação cliente) a aceder a um principal de serviço de recurso (que representa uma API), em nome de um utilizador com sessão iniciada, para o nível de acesso limitado pelas permissões delegadas que foram concedidas.

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

  • Desenvolvedor de Aplicativo
  • Administrador de Aplicativos de Nuvem
  • Escritores de diretório
  • Administrador do usuário
  • Administrador de Função Privilegiada

Solicitação HTTP

POST /oauth2PermissionGrants

Cabeçalhos de solicitação

Nome Tipo Descrição
Autorização string {token} de portador. Obrigatório. Saiba mais sobre autenticação e autorização.

Corpo da solicitação

No corpo do pedido, forneça uma representação JSON de um objeto oAuth2PermissionGrant .

Resposta

Se for bem-sucedido, este método devolve um código de resposta de série 200 e um novo objeto oAuth2PermissionGrant no corpo da resposta. A tabela seguinte lista as propriedades necessárias quando cria o oAuth2PermissionGrant.

Propriedade Tipo Descrição
clientId Cadeia de caracteres O ID de objeto (nãoappId) do principal de serviço de cliente da aplicação que está autorizado a agir em nome de um utilizador com sessão iniciada ao aceder a uma API. Obrigatório.
consentType Cadeia de caracteres Indica se é concedida autorização para a aplicação cliente representar todos os utilizadores ou apenas um utilizador específico. AllPrincipals indica autorização para representar todos os utilizadores. Principal indica autorização para representar um utilizador específico. O consentimento em nome de todos os utilizadores pode ser concedido por um administrador. Os utilizadores não administradores podem estar autorizados a consentir em nome de si próprios, em alguns casos, para algumas permissões delegadas. Obrigatório.
principalId Cadeia de caracteres O ID do utilizador em nome do qual o cliente está autorizado a aceder ao recurso, quando consentType é Principal. Se consentType for AllPrincipals , este valor é nulo. Necessário quando consentType é Principal.
resourceId Cadeia de caracteres O ID do principal do serviço de recursos ao qual o acesso está autorizado. Isto identifica a API à qual o cliente está autorizado a tentar chamar em nome de um utilizador com sessão iniciada.
scope Cadeia de caracteres Uma lista separada por espaços dos valores de afirmação para permissões delegadas que devem ser incluídas nos tokens de acesso da aplicação de recursos (a API). Por exemplo, openid User.Read GroupMember.Read.All. Cada valor de afirmação deve corresponder ao campo de valor de uma das permissões delegadas definidas pela API, listada na propriedade oauth2PermissionScopes do principal do serviço de recursos. Não pode exceder os 3850 carateres de comprimento.

Exemplo

Solicitação

POST https://graph.microsoft.com/v1.0/oauth2PermissionGrants
Content-Type: application/json

{
    "clientId": "ef969797-201d-4f6b-960c-e9ed5f31dab5",
    "consentType": "AllPrincipals",
    "resourceId": "943603e4-e787-4fe9-93d1-e30f749aae39",
    "scope": "DelegatedPermissionGrant.ReadWrite.All"
}

Resposta

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

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#oauth2PermissionGrants/$entity",
    "clientId": "ef969797-201d-4f6b-960c-e9ed5f31dab5",
    "consentType": "AllPrincipals",
    "id": "l5eW7x0ga0-WDOntXzHateQDNpSH5-lPk9HjD3Sarjk",
    "principalId": null,
    "resourceId": "943603e4-e787-4fe9-93d1-e30f749aae39",
    "scope": "DelegatedPermissionGrant.ReadWrite.All"
}