Registar permissões de aplicação

Aplica-se a: Programador

Registe permissões de aplicação de tipo de contentor antes de a sua aplicação SharePoint Embedded criar contentores ou aceder ao conteúdo num inquilino consumidor.

Conclua Criar e configurar primeiro um tipo de contentor para que tenha um ID de tipo de contentor e uma aplicação proprietária.

Por que motivo o registo é necessário

Uma aplicação Do SharePoint Embedded não pode interagir com contentores num inquilino consumidor até que o tipo de contentor seja registado nesse inquilino.

Controlos de registo:

  • Que IDs de aplicação podem aceder ao tipo de contentor.
  • Que permissões delegadas cada aplicação tem.
  • Que permissões apenas de aplicação cada aplicação tem.
  • Se as aplicações convidadas podem interagir com os contentores da aplicação proprietária.

Se o registo estiver em falta ou incompleto, as chamadas posteriores podem falhar com erros de acesso negado.

Compreender quem pode registar-se

Apenas a aplicação proprietária do tipo de contentor pode invocar a API de registo no inquilino que está a consumir.

A aplicação proprietária tem de ter:

  • Um principal de serviço instalado no inquilino que está a consumir.
  • Administração consentimento para efetuar o registo no inquilino que consome.
  • A FileStorageContainerTypeReg.Selected permissão do Microsoft Graph (delegada pelo utilizador ou apenas aplicação).
  • Um token válido para o recurso do Microsoft Graph.

Observação

A API de registo do tipo de contentor está disponível no Microsoft Graph v1.0. Quando a aplicação proprietária chama a API de registo em nome de um utilizador (delegado), esse utilizador tem de ser atribuído à função administrador do SharePoint Embedded ou Administrador Global . Quando chama sem um contexto de utilizador (apenas aplicação), utiliza o fluxo de concessão de credenciais de cliente.

Peça a um administrador inquilino que consuma para conceder o consentimento do administrador à aplicação proprietária.

Utilize o ponto final de consentimento do administrador do plataforma de identidade da Microsoft:

https://login.microsoftonline.com/{consuming-tenant-id}/v2.0/adminconsent?client_id={owning-app-clientid}&scope=https://graph.microsoft.com/.default&redirect_uri={spe-app-redirect-uri}

Configure o processamento de erros e êxito para o fluxo de integração.

Para pontos finais de cloud nacionais, veja plataforma de identidade da Microsoft pontos finais em clouds nacionais.

Adquirir um token para registo

Utilize a autenticação delegada ou apenas da aplicação para o registo.

O registo requer:

  • A FileStorageContainerTypeReg.Selected permissão do Microsoft Graph.
  • Para chamadas apenas de aplicação, as credenciais do cliente concedem o fluxo.
  • Para chamadas delegadas, um utilizador com sessão iniciada com a função Administrador Incorporado do SharePoint ou Administrador Global.

Registar permissões de tipo de contentor

Chame o ponto final de registo no inquilino que está a consumir.

PUT https://graph.microsoft.com/v1.0/storage/fileStorage/containerTypeRegistrations/{containerTypeId}

{containerTypeId} é o ID do tipo de contentor criado no inquilino proprietário.

No corpo do pedido, forneça as concessões de permissão da aplicação para o tipo de contentor.

Conceder permissões à aplicação proprietária

Um primeiro registo comum concede à aplicação proprietária permissões completas para chamadas delegadas e apenas de aplicações.

{
  "applicationPermissionGrants": [
    {
      "appId": "71392b2f-1765-406e-86af-5907d9bdb2ab",
      "delegatedPermissions": ["full"],
      "applicationPermissions": ["full"]
    }
  ]
}

Substitua o ID da aplicação de exemplo pelo seu ID de aplicação proprietário.

Cuidado

Utilize o menor privilégio para produção. Conceda full apenas quando a aplicação precisar de acesso total ao tipo de contentor.

Conceder permissões a uma aplicação convidada

A aplicação proprietária também pode registar permissões para outra aplicação.

Utilize este padrão quando uma aplicação convidada precisa de uma carga de trabalho definida, como a cópia de segurança ou o processamento.

{
  "applicationPermissionGrants": [
    {
      "appId": "71392b2f-1765-406e-86af-5907d9bdb2ab",
      "delegatedPermissions": ["full"],
      "applicationPermissions": ["full"]
    },
    {
      "appId": "89ea5c94-7736-4e25-95ad-3fa95f62b6",
      "delegatedPermissions": ["read", "write"],
      "applicationPermissions": ["none"]
    }
  ]
}

Substitua ambos os IDs de aplicação pelas suas aplicações.

Valores de permissão

Permissão Usar
None Não conceda permissões.
ReadContent Ler conteúdo em contentores deste tipo.
WriteContent Escreva conteúdo em contentores deste tipo.
Create Crie contentores deste tipo.
Delete Eliminar contentores deste tipo.
Read Ler metadados de contentor.
Write Atualizar metadados de contentor.
EnumeratePermissions Enumerar funções e membros do contentor.
AddPermissions Adicionar membros do contentor.
UpdatePermissions Atualize as associações existentes.
DeletePermissions Elimine outros membros.
DeleteOwnPermission Remova a associação do autor da chamada.
ManagePermissions Gerir atribuições de funções de contentor.
ManageContent Gerir o conteúdo de contentores deste tipo.
Full Conceda todas as permissões.

Observação

WriteContent não pode ser concedido sem ReadContent.

Validar o registo

Um registo bem-sucedido devolve 201 Created e as permissões configuradas no corpo da resposta.

Após o registo ser bem-sucedido:

  1. Confirme se a resposta inclui os IDs de aplicação esperados.
  2. Confirme que as matrizes delegadas e apenas de aplicações correspondem às concessões pretendidas.
  3. Adquirir um token do Microsoft Graph com permissões do SharePoint Embedded.
  4. Experimente uma operação de baixo risco que corresponda à permissão registada.
  5. Continue a Configurar autenticação e autorização.
Sintoma Causa provável Ação
401 Unauthorized Token em falta ou inválido Peça um token válido apenas para aplicações.
403 Forbidden A aplicação não tem permissão ou não é proprietária da aplicação Confirme FileStorageContainerTypeReg.Selected, consentimento e ID da aplicação.
404 Not Found O tipo de contentor não existe Verifique o ID e o inquilino.
Acesso negado em chamadas do Graph Registo em falta ou insuficiente Registe-se novamente com as permissões necessárias.
Administração não consegue encontrar a permissão oculta O portal não o expõe Utilize um URL de consentimento do administrador.

Voltar a registar-se em segurança

Não existem restrições sobre o número de vezes que a API de registo pode ser invocada.

A última chamada de registo bem-sucedida determina as definições utilizadas no inquilino que está a consumir.

Utilize um processo de atualização seguro:

  1. Crie um payload de registo completo.
  2. Inclua todas as aplicações que devem manter o acesso.
  3. Submeta a chamada de registo.
  4. Valide a resposta.
  5. Execute testes rápido para cada função de aplicação.

Importante

Não envie um payload parcial, a menos que pretenda que o registo resultante contenha apenas esse conjunto de aplicações e permissões.

Próximas etapas

Configure tokens e fluxos de autorização em Configurar autenticação e autorização.