Registrar permissões de aplicativo

Aplica-se a: Desenvolvedor

Registre as permissões do aplicativo de tipo de contêiner antes que seu aplicativo incorporado do SharePoint crie contêineres ou acesse conteúdo em um locatário de consumo.

Concluído: Crie e configure um tipo de contêiner primeiro para que você tenha uma ID de tipo de contêiner e o aplicativo proprietário.

Por que o registro é necessário

Um aplicativo do SharePoint Embedded não pode interagir com contêineres em um locatário de consumo até que o tipo de contêiner seja registrado nesse locatário.

Controles de registro:

  • Quais IDs de aplicativo podem acessar o tipo de contêiner.
  • Quais permissões delegadas cada aplicativo tem.
  • Quais permissões somente de aplicativo cada aplicativo tem.
  • Se os aplicativos convidados podem interagir com os contêineres do aplicativo proprietário.

Se o registro estiver ausente ou incompleto, as chamadas posteriores poderão falhar com erros de acesso negado.

Entenda quem pode se registrar

Somente o aplicativo proprietário do tipo de contêiner pode invocar a API de registro no locatário consumidor.

O aplicativo proprietário deve ter:

  • Uma entidade de serviço instalada no locatário consumidor.
  • Administração consentimento para executar o registro no locatário consumidor.
  • A permissão do FileStorageContainerTypeReg.Selected Microsoft Graph (delegada pelo usuário ou somente aplicativo).
  • Um token válido para o recurso do Microsoft Graph.

Observação

A API de registro de tipo de contêiner está disponível no Microsoft Graph v1.0.

Quando o aplicativo proprietário chama a API de registro em nome de um usuário (delegado), esse usuário deve receber a função de Administrador Integrado do SharePoint ou Administrador Global . Quando ele chama sem um contexto de usuário (somente aplicativo), ele usa o fluxo de concessão de credenciais do cliente.

Peça a um administrador de locatários consumidor para conceder consentimento de administrador ao aplicativo proprietário.

Use o ponto de extremidade de consentimento do administrador da 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 tratamento de sucesso e erro para o fluxo de integração.

Para pontos de extremidade de nuvem nacional, consulte Pontos de extremidade da plataforma de identidade da Microsoft em nuvens nacionais.

Adquirir um token para registro

Use autenticação delegada ou somente aplicativo para registro.

O registro requer:

  • A permissão do FileStorageContainerTypeReg.Selected Microsoft Graph.
  • Para chamadas somente de aplicativo, as credenciais do cliente concedem fluxo.
  • Para chamadas delegadas, um usuário conectado com a função de Administrador Integrado do SharePoint ou Administrador Global.

Registrar permissões de tipo de contêiner

Chame o ponto de extremidade de registro no locatário consumidor.

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

{containerTypeId} é a ID do tipo de contêiner criada no locatário do desenvolvedor.

No corpo da solicitação, forneça as concessões de permissão do aplicativo para o tipo de contêiner.

Conceder permissões ao aplicativo proprietário

Um primeiro registro comum concede ao aplicativo proprietário permissões completas para chamadas delegadas e somente o aplicativo.

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

Substitua a ID do aplicativo de exemplo pela ID do aplicativo proprietário.

Cuidado

Use privilégios mínimos para produção. Conceda full somente quando o aplicativo precisar de acesso completo ao tipo de contêiner.

Conceder permissões a um aplicativo convidado

O aplicativo proprietário também pode registrar permissões para outro aplicativo.

Use esse padrão quando um aplicativo convidado precisar de uma carga de trabalho definida, como backup ou processamento.

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

Substitua as duas IDs de aplicativo pelos seus aplicativos.

Valores de permissão

Permissão Usar
none Não conceda permissões.
readContent Leia o conteúdo em contêineres desse tipo.
writeContent Escreva o conteúdo em contêineres desse tipo.
create Crie contêineres desse tipo.
delete Exclua contêineres desse tipo.
read Ler metadados do contêiner.
write Atualize os metadados do contêiner.
enumeratePermissions Enumerar membros e funções do contêiner.
addPermissions Adicionar membros do contêiner.
updatePermissions Atualize as associações existentes.
deletePermissions Exclua outros membros.
deleteOwnPermission Remova a associação do próprio chamador.
managePermissions Gerenciar atribuições de função de contêiner.
manageContent Gerencie o conteúdo de contêineres desse tipo.
full Conceda todas as permissões.

Observação

writeContent não pode ser concedido sem readContent.

Validar registro

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

Após o registro ser bem-sucedido:

  1. Confirme se a resposta inclui as IDs de aplicativo esperadas.
  2. Confirme se as matrizes delegadas e somente aplicativo correspondem às concessões pretendidas.
  3. Adquira um token do Microsoft Graph com permissões do SharePoint Embedded.
  4. Experimente uma operação de baixo risco que corresponda à permissão registrada.
  5. Continuar para Configurar autenticação e autorização.
Sintoma Causa provável Ação
401 Unauthorized Token ausente ou inválido Solicite um token válido somente para aplicativo.
403 Forbidden O aplicativo não tem permissão ou não é o proprietário do aplicativo Confirme FileStorageContainerTypeReg.Selectedo consentimento e a ID do aplicativo.
404 Not Found O tipo de contêiner não existe Verifique a ID e o locatário.
Acesso negado em chamadas do Graph Registro ausente ou insuficiente Registre-se novamente com as permissões necessárias.
O Administração não consegue encontrar a permissão oculta O portal não o expõe Use uma URL de consentimento do administrador.

Registre-se novamente com segurança

Não há restrição de quantas vezes a API de registro pode ser invocada.

A última chamada de registro bem-sucedida determina as configurações usadas no locatário consumidor.

Use um processo de atualização segura:

  1. Crie uma carga de registro completa.
  2. Incluir todos os aplicativos que devem manter o acesso.
  3. Envie a chamada de registro.
  4. Valide a resposta.
  5. Execute testes de fumaça para cada função de aplicativo.

Importante

Não envie uma carga parcial, a menos que você pretenda que o registro resultante contenha apenas esse conjunto de aplicativos e permissões.

Próximas etapas

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