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

Permissões de aplicativos

As aplicações Do SharePoint Embedded têm de pedir as seguintes permissões do Microsoft Graph no manifesto da aplicação para funcionarem com o SharePoint Embedded:

  • FileStorageContainerType.Manage.All para permitir que uma aplicação crie e faça a gestão de tipos de contentor no inquilino proprietário. Esta permissão só é necessária no inquilino proprietário onde o tipo de contentor é criado.
  • FileStorageContainerTypeReg.Selected para permitir que uma aplicação registe o tipo de contentor no consumo de inquilinos.
  • FileStorageContainer.Selected para permitir que uma aplicação aceda a contentores do tipo de contentor especificado no consumo de inquilinos.

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 .

Além de a sua aplicação receber consentimento para FileStorageContainer.Selected num inquilino consumidor, é necessário que o utilizador de que está a agir em nome de tenha permissões de utilizador. 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 da aplicação 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. Para saber mais, veja Conceder consentimento do administrador.

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 num inquilino que consome.

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.
Create Pode criar contentores deste tipo de contentor.
Delete Pode eliminar contentores deste tipo de contentor.
Leitura Pode ler os metadados dos contentores deste tipo de contentor.
Escrever 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.
DeleteOwnPermission 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 (WriteContent e eliminar a permissão de finalização da compra no modo apenas de aplicação).
Full 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 do usuário

São concedidos aos utilizadores diferentes níveis de acesso ao SharePoint Embedded com base no cenário:

Aceder a conteúdos em contentores

Existem duas formas de os utilizadores obterem acesso ao conteúdo nos contentores:

Permissões de contentor

Podem ser atribuídas permissões de contentor aos utilizadores de duas formas:

  • Associação direta. Um utilizador é adicionado diretamente como membro de um contentor com permissões específicas.
  • Associação transitiva. Um utilizador é membro de um grupo do Microsoft 365 que é, por si só, membro de um contentor com permissões específicas.

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.
Gerente Esta função tem todas as permissões que um Escritor tem, bem como a permissão para gerir a associação ao contentor.
Owner Esta função tem todas as permissões que um Gestor tem, bem como a permissão para eliminar contentores e restaurar contentores eliminados.
Acesso a itens específicos num contentor

Os itens específicos num contentor podem ser partilhados com os utilizadores através do convite driveItem ou da criação de permissões de pontos finais. A partilha concede aos utilizadores acesso aos itens específicos, mas não lhes concede acesso ao próprio contentor ou a qualquer outro item no contentor. Para obter informações sobre os níveis de acesso suportados, veja funções de permissão.

Observação

Para obter mais informações sobre a partilha, consulte Partilha e permissões no SharePoint Embedded.

Gerir aplicações Do SharePoint Embedded instaladas no inquilino que está a consumir

Os Administradores do SharePoint Embedded podem gerir todas as aplicações Do SharePoint Embedded instaladas no inquilino que consome . Para saber mais sobre a gestão de aplicações instaladas no inquilino que consome, veja Gerir aplicações Do SharePoint Embedded instaladas no inquilino que consome.

Observação

Os Administradores Globais têm todas as permissões que os Administradores do SharePoint Embedded têm e muito mais, para que também possam gerir aplicações Do SharePoint Embedded instaladas no inquilino que consome. No entanto, deve atribuir a função com menos privilégios necessária para realizar tarefas administrativas, pelo que é recomendada a utilização da função de Administrador Incorporado do SharePoint para gerir aplicações do SharePoint Embedded.

Gerir aplicações Do SharePoint Embedded criadas no inquilino proprietário

Os Administradores do SharePoint Embedded podem gerir todas as aplicações Do SharePoint Embedded criadas no inquilino proprietário . Além disso, qualquer utilizador Microsoft Entra que não seja uma identidade externa pode ser atribuído como proprietário de um tipo de contentor. Os proprietários do tipo de contentor podem gerir esse tipo de contentor específico. Para saber mais sobre a gestão de aplicações criadas no inquilino proprietário, veja Administrador de programadores do SharePoint Embedded.

Capacidades de proprietário do tipo de contentor

Os proprietários do tipo de contentor são geridos através da propriedade de navegação de permissões no recurso fileStorageContainerType . Cada entrada de permissão tem uma função de owner e identifica o utilizador através de grantedToV2. Os proprietários podem ser geridos das seguintes formas:

Os proprietários do tipo de contentor podem realizar as seguintes operações no inquilino proprietário ao utilizar uma aplicação com FileStorageContainerType.Manage.All no modo delegado:

  • Crie, leia, atualize e elimine o tipo de contentor que possui. Os proprietários não administradores só podem gerir tipos de contentor onde aparecem na coleção de permissões e a aplicação de chamada corresponde à aplicação proprietária.
  • Adicionar e remover outros proprietários no tipo de contentor que possuem (através do ponto final de permissões)
  • Crie contentores do tipo de contentor que possuem, desde que a chamada seja delegada (não apenas para aplicações)

Observação

O utilizador que cria um tipo de contentor é automaticamente atribuído como proprietário. As identidades externas (utilizadores convidados) não podem ser atribuídas como proprietários de tipos de contentor e não podem realizar operações de proprietário.

Importante

Os proprietários do tipo de contentor só existem no inquilino proprietário. Quando um tipo de contentor é registado num inquilino consumidor, as informações do proprietário não são propagadas para esse inquilino. Por exemplo, se a Contoso criar um tipo de contentor com proprietários e o registar na Fabrikam, esses utilizadores da Contoso não existem no inquilino da Fabrikam e não têm aí capacidades de proprietário.

Importante

As capacidades de proprietário do tipo de contentor são permissões de utilizador. O acesso efetivo é a interseção das permissões da aplicação (permissões do Microsoft Graph) e das permissões de utilizador (função de proprietário). A aplicação tem de ter permissões de Gráfico suficientes para a interseção conceder o acesso pretendido.

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 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 Pesquisa da Microsoft no SharePoint Embedded, tem de pedir o Files Delegado. Read.Todas as permissões do Microsoft Graph sobre FileStorageContainer.Selected, normalmente utilizadas para acesso ao SharePoint Embedded. Durante a fase de Pré-visualização desta funcionalidade, o Files. Read.Todas as permissões de aplicação concedem às aplicações acesso às capacidades de pesquisa em todos os conteúdos do SharePoint Embedded.

Observação

O suporte do Pesquisa da Microsoft 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 Pesquisa da Microsoft 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 código de resposta 403 Proibido 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.

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 no seu próprio inquilino:

    • Adicione a permissão do Microsoft Graph FileStorageContainerType.Manage.Manage.All para criar tipos de contentor no inquilino proprietário :
      • resourceAppId: 00000003-0000-0000-c000-000000000000
      • tipo: Role
      • ID: 8e6ec84c-5fcd-4cc7-ac8a-2296efc0ed9b
  2. Conceder consentimento do administrador à sua aplicação no seu inquilino proprietário

  3. Crie um novo tipo de contentor no inquilino proprietário .

  4. Reconfigure o manifesto da aplicação Do SharePoint Embedded para pedir apenas as permissões necessárias para consumir inquilinos:

    • Remova a permissão do Microsoft Graph FileStorageContainerType.Manage.All** uma vez que só é necessário para criar o tipo de contentor no inquilino proprietário :

      • resourceAppId: 00000003-0000-0000-c000-000000000000

      • tipo: Role

      • ID: 8e6ec84c-5fcd-4cc7-ac8a-2296efc0ed9b

        Observação

        Depois de criar o tipo de contentor no inquilino proprietário , deve remover a permissão FileStorageContainerType.Manage.All do manifesto da sua aplicação. A aplicação NÃO precisa disto para consumir inquilinos, apenas no inquilino proprietário para criar o tipo de contentor. A não remoção desta permissão do manifesto da aplicação fará com que os seus clientes se preocupem com as permissões excessivas pedidas pela sua aplicação.

    • Adicione a permissão do Microsoft Graph FileStorageContainerTypeReg.Selected para registar o tipo de contentor no consumo de inquilinos:

      • resourceAppId: 00000003-0000-0000-c000-000000000000
      • tipo: Role
      • ID: 2dcc6599-bd30-442b-8f11-90f88ad441dc
    • Adicione a permissão do Microsoft Graph FileStorageContainer.Selected para aceder a contentores que consomem inquilinos em nome dos utilizadores:

      • resourceAppId: 00000003-0000-0000-c000-000000000000
      • tipo: Scope
      • ID: 085ca537-6565-41c2-aca7-db852babc212
    • Opcionalmente, adicione a permissão do Microsoft Graph FileStorageContainer.Selected para aceder ao contentor sobre o consumo de inquilinos sem um utilizador:

      • resourceAppId: 00000003-0000-0000-c000-000000000000
      • tipo: Role
      • ID: 40dc41bc-0f7e-42ff-89bd-d9516947e474
  5. Conceda o consentimento do administrador à sua aplicação num inquilino consumidor (que pode ser o mesmo que o inquilino proprietário).

  6. Registe o tipo de contentor no inquilino que está a consumir .

  7. Remova FileStorageContainerTypeReg.Selected do manifesto da sua aplicação após a conclusão do registo.

    Observação

    Depois de registar o tipo de contentor, deve remover a permissão FileStorageContainerTypeReg.Selected do manifesto da sua aplicação. Esta permissão só é necessária durante a configuração do registo. Mantê-la após o registo aumenta desnecessariamente a superfície de permissões da sua aplicação.

  8. Criar um contentor no inquilino que está a consumir