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:
- Gestão do tipo de contentor em inquilinos proprietário, que são executados através de cmdlets do PowerShell.
- Registo de tipo de contentor no consumo de inquilinos, exposto através da API REST v2 do SharePoint.
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:
- 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
-
- Microsoft Graph (resourceAppId:
- Conceda consentimento do administrador à sua aplicação sobre a propriedade e o consumo de inquilinos (que podem ser o mesmo inquilino).
- Crie um novo tipo de contentor no inquilino proprietário.
- Registar um tipo de contentor no inquilino que está a consumir.
- Criar um contentor