Partilhar via


Autenticação e autorização do SharePoint Embedded

Para utilizar o SharePoint Embedded, a sua aplicação tem de utilizar o Microsoft Graph. Saiba mais sobre a autenticação e autorização do Microsoft Graph. Saiba mais sobre a arquitetura do SharePoint Embedded.

Visão Geral

Seguem-se alguns princípios fundamentais com a autenticação e autorização do SharePoint Embedded:

  • As aplicações interagem com o SharePoint Embedded através do Microsoft Graph.
  • As aplicações precisam de permissões de aplicação de tipo de contentor para aceder a contentores desse tipo de contentor.
  • Ao utilizar o acesso em nome de um utilizador, as aplicações só podem aceder a contentores dos quais o utilizador seja membro.
  • Ao utilizar o acesso sem um utilizador, as aplicações podem aceder a contentores ativados pelas permissões de aplicação do tipo de contentor que lhes foram concedidas.
  • As aplicações utilizam o acesso em nome dos utilizadores sempre que possível para melhorar a segurança e a audibilidade

Pré-Requisitos

  • Um Microsoft Entra ID registo de aplicação. Veja Registar uma aplicação.
  • O inquilino do Microsoft Entra ID tem uma subscrição do Microsoft 365

Authorization

As operações do SharePoint Embedded são expostas através do Microsoft Graph. O SharePoint Embedded suporta o acesso em nome de um utilizador e também o acesso sem um utilizador.

Importante

As permissões do Microsoft Graph concedidas à sua aplicação permitem-lhe chamar pontos finais do SharePoint Embedded. No entanto, a aplicação tem de ter permissão para um tipo de contentor antes de obter acesso a contentores desse tipo.

Acesso em nome de um utilizador

As operações do SharePoint Embedded em nome de um utilizador requerem que as aplicações recebam consentimento para a permissão delegada do Microsoft Graph FileStorageContainer.Selected . Esta permissão requer o consentimento do administrador sobre o inquilino que está a consumir antes de qualquer utilizador do inquilino poder consentir.

Além de a sua aplicação receber consentimento para FileStorageContainer.Selected um inquilino consumidor, o utilizador do qual está a agir em nome de tem de ter permissões de contentor. As permissões efetivas que a aplicação tem são a interseção das permissões da aplicação e as permissões de utilizador ao agir em nome de um utilizador.

Importante

Utilizar o SharePoint Embedded em nome de um utilizador é a abordagem recomendada. Este tipo de acesso melhora a segurança da sua aplicação. Também melhora a auditabilidade das ações executadas pela sua aplicação.

Acesso sem um utilizador

As operações do SharePoint Embedded sem um utilizador requerem que as aplicações recebam consentimento para a permissão de aplicação do Microsoft Graph FileStorageContainer.Selected . Esta permissão requer o consentimento do administrador no inquilino que está a consumir.

Observação

Um administrador no inquilino que está a consumir tem de consentir o pedido de permissões da sua aplicação. Saiba mais aqui.

Padrões de acesso excecionais

Atualmente, existem dois tipos de operações que não estão acessíveis através do Microsoft Graph:

Para efetuar operações de gestão de tipos de contentor , tem de ser administrador do SharePoint Embedded ou Administrador Global.

Para registar um tipo de contentor, tem de pedir a Container.Selected permissão no Office 365 SharePoint Online recurso.

Nome do escopo ID do Âmbito Tipo Operação
Container.Selected 19766c1b-905b-43af-8756-06526ab42875 Application No contexto do SharePoint Embedded, ativa o registo do tipo de contentor num inquilino que consome.

Observação

A gestão do tipo de contentor sobre a propriedade de inquilinos e o registo no consumo de inquilinos tornar-se-ão operações do Microsoft Graph em breve e este passo deixará de ser necessário. Fique atento.

Permissões de aplicação do tipo de contentor

É necessário conceder permissões de aplicação de tipo de contentor às aplicações do SharePoint Embedded pela aplicação proprietária antes de poderem aceder aos contentores do tipo de contentor especificado. As permissões de aplicação do tipo de contentor são concedidas às aplicações através do registo de tipo de contentor.

Permissão Descrição
Nenhum Não tem permissões para quaisquer contentores ou conteúdos deste tipo de contentor.
ReadContent Pode ler o conteúdo dos contentores deste tipo de contentor.
WriteContent Pode escrever conteúdo em contentores para este tipo de contentor. Isto não pode ser concedido sem a permissão ReadContent.
Criar Pode criar contentores deste tipo de contentor.
Excluir Pode eliminar contentores deste tipo de contentor.
Leitura Pode ler os metadados dos contentores deste tipo de contentor.
Gravar Pode atualizar os metadados dos contentores deste tipo de contentor.
EnumeratePermissions Pode enumerar os membros de um contentor e as respetivas funções para contentores deste tipo de contentor.
AddPermissions Pode adicionar membros ao contentor para contentores deste tipo de contentor.
UpdatePermissions Pode atualizar (alterar funções de) associações existentes no contentor para contentores deste tipo de contentor.
DeletePermissions Pode eliminar outros membros (mas não o próprio) do contentor para contentores deste tipo de contentor.
DeleteOwnPermissions Pode remover a associação própria do contentor para contentores deste tipo de contentor.
ManagePermissions Pode adicionar, remover (incluindo auto)ou atualizar membros nas funções de contentor para contentores deste tipo de contentor.
ManageContent Pode gerir o conteúdo do contentor
Inteiro Tem todas as permissões para contentores deste tipo de contentor.

Observação

A combinação de permissões do Microsoft Graph e permissões de aplicação de tipo de contentor abrange a autorização de cliente para aplicações.

Permissões de contentor

Qualquer utilizador que aceda a um contentor tem de ser membro do contentor. A associação a um contentor concede permissões de contentor aos utilizadores. Estas permissões definem o nível de acesso que os utilizadores têm num determinado contentor. As permissões de contentor aplicam-se apenas ao acesso em nome de um utilizador e não ao acesso sem um utilizador. Uma aplicação do SharePoint Embedded que acede a contentores sem um utilizador obtém o acesso total definido nas permissões de aplicação do tipo de contentor .

Importante

O utilizador que está a chamar a criação de um novo contentor através de chamadas delegadas é automaticamente atribuída à função Proprietário.

Permissão Descrição
Leitor Esta função permite ao utilizador ler as propriedades e os conteúdos do contentor.
Escritor Esta função tem todas as permissões que um Leitor tem, bem como a permissão para criar, atualizar e eliminar conteúdos dentro do contentor e para atualizar as propriedades de contentor aplicáveis.
Manager Esta função tem todas as permissões que um Escritor tem, bem como a permissão para gerir a associação ao contentor.
Proprietário Esta função tem todas as permissões que um Gestor tem, bem como a permissão para eliminar contentores.

O que vem a seguir

Seguem-se algumas ações que pode efetuar a seguir:

  1. Configure o manifesto da aplicação Do SharePoint Embedded (pode utilizar o Entra PowerShell ou a CLI do Azure) para pedir as permissões necessárias:
    • Microsoft Graph (resourceAppId: 00000003-0000-0000-c000-000000000000)
      • FileStorageContainer.Selected (tipo: Scope, ID: 085ca537-6565-41c2-aca7-db852babc212) para aceder a contentores sobre o consumo de inquilinos
    • Office 365 SharePoint Online (resourceAppId: 00000003-0000-0ff1-ce00-000000000000)
      • Container.Selected (tipo: Role, ID: 19766c1b-905b-43af-8756-06526ab42875) para registar um contentor no consumo de inquilinos
  2. Conceda consentimento do administrador à sua aplicação sobre a propriedade e o consumo de inquilinos (que podem ser o mesmo inquilino).
  3. Crie um novo tipo de contentor no inquilino proprietário.
  4. Registar um tipo de contentor no inquilino que está a consumir.
  5. Criar um contentor