Compartilhar 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 da 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.
  • As aplicações só podem aceder a contentores dos quais o utilizador seja membro ao utilizar o acesso em nome de um utilizador.
  • As aplicações podem aceder a todos os contentores ativados pelas respetivas permissões de aplicação de tipo de contentor ao utilizar o acesso sem um utilizador.
  • As aplicações utilizam o acesso em nome dos utilizadores sempre que possível para melhorar a segurança e a responsabilidade

Pré-Requisitos

  • Um registo de aplicação de ID de Microsoft Entra. Veja Registar uma aplicação.
  • O inquilino 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 com padrões de acesso excecionais:

Importante

Considere as repercussões destes padrões de acesso excecionais sobre como a sua aplicação e outras aplicações podem aceder ao conteúdo do SharePoint Embedded no seu tipo de contentor.

Operações não expostas através do Microsoft Graph

Existem dois tipos de operações que não estão acessíveis atualmente 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 esta permissão deixará de ser necessária. Fique atento.

Para utilizar a experiência do agente do SharePoint Embedded (na fase de Pré-visualização) na sua aplicação, também precisa da Container.Selected permissão no Office 365 SharePoint Online recurso.

Operações que envolvem a pesquisa de conteúdos do SharePoint Embedded

Esta secção refere-se apenas aos cenários de pesquisa no Conteúdo de Pesquisa e não aos cenários de enumeração.

Para utilizar o Conteúdo do Microsoft Search no SharePoint Embedded, tem de pedir a permissão Delegada Files.Read.All do Microsoft Graph sobre FileStorageContainer.Selected, normalmente utilizada para acesso ao SharePoint Embedded. Durante a fase de Pré-visualização desta funcionalidade, a permissão da aplicação Files.Read.All concede às aplicações acesso às capacidades de pesquisa em todos os conteúdos do SharePoint Embedded.

Observação

O suporte do Microsoft Search para conteúdos do SharePoint Embedded está em Pré-visualização e está sujeito a alterações. Os requisitos de acesso para o conteúdo do Microsoft Search no SharePoint Embedded serão alinhados com o modelo de autorização do SharePoint Embedded no futuro. Fique atento.

Operações que requerem uma licença de utilizador

O SharePoint Embedded foi concebido para funcionar sem a necessidade de os utilizadores finais terem qualquer tipo de licenças de produto do Microsoft 365 atribuídas aos mesmos. No entanto, existem determinadas operações que ainda não cumprem este princípio.

Listar contentores

A operação Listar contentores devolve um 403 Forbidden código de resposta se for chamado em nome de um utilizador que não tenha um OneDrive. Existem planos para remover esta dependência em breve. Esta dependência não se aplica à operação Listar contentores quando chamada sem um contexto de utilizador (modo apenas de aplicação).

Mencionar utilizadores em documentos do Office

A experiência comum do Office inclui rever documentos e adicionar comentários a esses documentos. Para que os @mentions utilizadores apareçam no seletor de pessoas, precisam de ter uma licença do Microsoft 365 atribuída.

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 Microsoft 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).

    Observação

    A Container.Selected permissão da aplicação está oculta, o que pode causar problemas com a concessão do consentimento do administrador através do painel Aplicações empresariais no portal do Azure. Em vez disso, construa o URL de consentimento do administrador e forneça-o ao administrador do diretório Microsoft Entra. Por exemplo:

    https://login.microsoftonline.com/{tenant}/v2.0/adminconsent?client_id={client_id}&redirect_uri={redirect_uri}

    Certifique-se de que o administrador do diretório Microsoft Entra confirma uma resposta com êxito.

  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