Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a: Programador
Configure a autenticação e a autorização antes de a sua aplicação Do SharePoint Embedded chamar as APIs do Microsoft Graph ou do SharePoint Embedded.
Conclua registar as permissões da aplicação primeiro para que o tipo de contentor seja registado no inquilino que está a consumir.
Compreender o modelo de acesso
O SharePoint Embedded utiliza duas camadas de permissão.
As permissões do Microsoft Graph permitem que a aplicação chame pontos finais do SharePoint Embedded.
As permissões de aplicação de tipo de contentor permitem que a aplicação aceda a contentores de um tipo de contentor específico.
Ambas as camadas são necessárias.
Importante
O consentimento do Microsoft Graph por si só não concede acesso a contentores. A aplicação também tem de ter permissão para o tipo de contentor.
Configurar a aplicação Microsoft Entra ID
Comece com uma Microsoft Entra ID registo de aplicações.
Configure-o para o tipo de aplicação:
- Registe ou identifique a aplicação proprietária.
- Adicione URIs de redirecionamento para clientes de desenvolvimento e produção.
- Adicione credenciais para fluxos apenas de aplicação quando necessário.
- Adicione permissões do Microsoft Graph para acesso ao SharePoint Embedded.
- Adicione a permissão do Microsoft Graph necessária para cenários de registo.
- Peça a um administrador para conceder consentimento sempre que necessário.
Para obter os passos gerais, veja Registar uma aplicação com o plataforma de identidade da Microsoft.
Pedir permissões do Microsoft Graph
As operações do SharePoint Embedded através do Microsoft Graph requerem FileStorageContainer.Selected.
Utilize delegados FileStorageContainer.Selected para acesso em nome de um utilizador.
Utilize a aplicação FileStorageContainer.Selected para acesso apenas à aplicação.
A aplicação FileStorageContainer.Selected requer o consentimento do administrador no inquilino que está a consumir.
FileStorageContainer.Selected Delegado não requer consentimento do administrador.
Para capacidades administrativas em nome de um utilizador administrador , como enumerar, eliminar, restaurar, remover e atualizar contentores e gerir as respetivas permissões em todos os tipos de contentores governáveis no inquilino que consome , peça FileStorageContainer.Manage.All.
Observação
A combinação de permissões do Microsoft Graph e permissões de aplicação de tipo de contentor determina o que a aplicação pode realmente fazer.
Pedir a permissão de registo
O registo de tipo de contentor utiliza a API de registo do tipo de contentor do Microsoft Graph na v1.0.
Para o registo, peça a permissão do FileStorageContainerTypeReg.Selected Microsoft Graph (delegada ou apenas de aplicação).
| Nome do escopo | Tipo | Usar |
|---|---|---|
FileStorageContainerTypeReg.Selected |
Delegada ou Aplicação | Ativa o registo do tipo de contentor num inquilino que consome. |
Para chamadas de registo delegadas, o utilizador com sessão iniciada tem de ter a função Administrador Incorporado do SharePoint ou Administrador Global.
Utilize esta permissão com Permissões de registo de aplicações.
Preferir o acesso delegado sempre que possível
Utilize o acesso em nome de um utilizador sempre que possível.
O acesso delegado melhora a segurança, a responsabilidade, a auditoria e o alinhamento com a associação ao contentor do utilizador.
Ao utilizar o acesso delegado, as permissões efetivas são a interseção de permissões de aplicações e permissões de contentor de utilizador.
O utilizador tem de ser membro do contentor.
Utilize uma aplicação cliente confidencial para manter a sua aplicação no controlo das ações executadas em nome de um utilizador. Uma aplicação cliente pública pode expor tokens de utilizador ao utilizador final, o que pode levar a ações executadas fora do controlo da sua aplicação. Para obter mais informações, veja Clientes públicos e aplicações cliente confidenciais.
Configurar a aquisição de token delegado
Para chamadas delegadas:
- Inicie sessão no utilizador com plataforma de identidade da Microsoft.
- Pedido delegado
FileStorageContainer.Selected. - Confirme que o consentimento delegado é concedido de acordo com as políticas de consentimento do utilizador do inquilino que consomem.
- Adquirir um token de acesso para o Microsoft Graph.
- Chame os pontos finais do SharePoint Embedded do Microsoft Graph.
- Verifique se o utilizador é membro do contentor de destino.
Se o utilizador não for membro do contentor, a aplicação não poderá aceder a esse contentor em nome do utilizador.
Configurar a aquisição de tokens apenas de aplicação
Utilize o acesso apenas à aplicação para cargas de trabalho de serviço que não são executadas como utilizadores.
Para chamadas apenas para aplicações:
- Configure uma credencial de aplicação, como um certificado.
- Pedir aplicação
FileStorageContainer.Selected. - Peça a um administrador inquilino que consuma o consentimento do administrador.
- Adquirir um token com o fluxo de credenciais de cliente.
- Chame os pontos finais do SharePoint Embedded do Microsoft Graph.
- Limitar as permissões de tipo de contentor às necessidades da carga de trabalho.
Cuidado
Um token apenas de aplicação pode aceder a todos os contentores ativados pelas respetivas permissões de aplicação de tipo de contentor. Use privilégios mínimos.
Chamar APIs do Microsoft Graph
Após a aquisição do token, chame as operações do SharePoint Embedded através do Microsoft Graph. As referências úteis incluem:
- Tipo de recurso de contentor de armazenamento de ficheiros
- Criar fileStorageContainer
- Noções básicas de autenticação e autorização do Microsoft Graph
Continue com Criar e gerir contentores para operações de ciclo de vida.
Processar operações não expostas através do Graph
Algumas operações têm padrões de acesso excecionais.
Estas operações utilizam padrões de acesso excecionais:
- Gestão do tipo de contentor no inquilino proprietário através da API do tipo de contentor do Microsoft Graph (
FileStorageContainerType.Manage.Allpermissão delegada). - Registo do tipo de contentor no inquilino que consome através da API de registo do tipo de contentor do Microsoft Graph (
FileStorageContainerTypeReg.Selected). - O agente do SharePoint Embedded tem experiência através dos seus próprios requisitos de permissão.
-
Pesquisa: o Conteúdo do Pesquisa da Microsoft no SharePoint Embedded requer a permissão delegada
Files.Read.AllparaFileStorageContainer.Selectedalém de . -
Operações que requerem uma licença de utilizador: lista os contentores devolvidos
403 Forbiddenpara um utilizador delegado que não tem um OneDrive (as chamadas apenas de aplicação não são afetadas) e os utilizadores precisam de uma licença do Microsoft 365 para aparecerem no seletor de pessoas do Office @mentions . -
Ações administrativas em contentores:
FileStorageContainer.Manage.Allrequer que o utilizador com sessão iniciada seja um Administrador Incorporado do SharePoint ou Administrador Global. Para um utilizador não administrador, não concede nada — se apenasManage.Allfor concedido, a aplicação recebe acesso negado; se ambos eManage.AllFileStorageContainer.Selectedforem concedidos,Manage.Allé ignorado.
Importante
Não suponha que todas as operações utilizam o mesmo token ou recurso de permissão. Verifique padrões de acesso excecionais antes de implementar um fluxo.
Conceder permissões de aplicação do tipo de contentor
A aplicação proprietária concede permissões de aplicação de tipo de contentor através do registo de tipo de contentor num inquilino que consome. Estas permissões determinam o que uma aplicação pode fazer com contentores do tipo de contentor.
| Permissão | Descrição |
|---|---|
| Nenhum | Não existem permissões para quaisquer contentores ou conteúdos deste tipo de contentor. |
| ReadContent | Leia o conteúdo dos contentores deste tipo de contentor. |
| WriteContent | Escreva conteúdo em contentores deste tipo de contentor. Requer ReadContent. |
| Criar | Crie contentores deste tipo de contentor. |
| Excluir | Eliminar contentores deste tipo de contentor. |
| Leitura | Leia os metadados dos contentores deste tipo de contentor. |
| Gravar | Atualize os metadados dos contentores deste tipo de contentor. |
| EnumeratePermissions | Enumerar os membros de um contentor e as respetivas funções. |
| AddPermissions | Adicionar membros a um contentor. |
| UpdatePermissions | Alterar as funções dos membros existentes. |
| DeletePermissions | Remova outros membros (mas não o próprio) de um contentor. |
| DeleteOwnPermission | Remova a associação própria de um contentor. |
| ManagePermissions | Adicione, remova (incluindo self) ou atualize membros em funções de contentor. |
| ManageContent | Gerir o conteúdo do contentor (WriteContent e eliminar a finalização da compra no modo apenas de aplicação). |
| Inteiro | Todas as permissões para contentores deste tipo de contentor. |
Gerir proprietários de tipos de contentor
Qualquer utilizador Microsoft Entra que não seja uma identidade externa pode ser proprietário de um tipo de contentor. Os proprietários são geridos através da propriedade de navegação de permissões no recurso fileStorageContainerType . Cada entrada tem a função owner e identifica o utilizador através de grantedToV2.
- Atribuição automática: o utilizador que cria um tipo de contentor é automaticamente atribuído como proprietário.
-
Adicionar proprietários: utilize
POST /containerTypes/{id}/permissionspara adicionar até três proprietários por tipo de contentor. -
Remover proprietários: utilize
DELETE /containerTypes/{id}/permissions/{id}para remover um proprietário. -
Proprietários de leitura: utilize
GET /containerTypes/{id}?$expand=permissionsouGET /containerTypes/{id}/permissionspara obter proprietários.
Os Administradores do SharePoint Embedded podem gerir todas as aplicações criadas no inquilino proprietário e instaladas no inquilino que consome. Atribuir a função com menos privilégios necessária; a função administrador do SharePoint Embedded é recomendada através do Administrador Global para estas tarefas.
Compreender as permissões de contentor
As permissões de contentor aplicam-se apenas ao acesso delegado. Uma aplicação que acede a contentores sem um utilizador obtém o acesso total definido pelas respetivas permissões de aplicação de tipo de contentor.
Os utilizadores obtêm a associação a contentores de duas formas:
- Associação direta – o utilizador é adicionado diretamente a um contentor com permissões específicas.
- Associação transitiva – o utilizador pertence a um grupo do Microsoft 365 que é membro do contentor.
Um utilizador tem de ser membro do contentor com uma destas funções:
| Função | Resumo do acesso |
|---|---|
| Leitor | Leia as propriedades e o conteúdo do contentor. |
| Escritor | Acesso de leitor, além de criar, atualizar e eliminar conteúdo e atualizar as propriedades aplicáveis. |
| Manager | Acesso de escritor e gestão da associação a contentores. |
| Proprietário | Acesso de gestor e eliminar contentores. |
Quando um utilizador cria um contentor através de chamadas delegadas, essa função de Proprietário é automaticamente atribuída a esse utilizador.
Para partilhar itens individuais sem conceder acesso ao contentor, utilize os pontos finais de criação de permissões ou convite driveItem. Partilhar um item não concede acesso ao contentor ou a qualquer outro item no mesmo.
Validar a autenticação
Valide o fluxo antes do código da funcionalidade:
- Confirme que o consentimento do administrador foi concluído com êxito.
- Adquirir um token delegado.
- Adquirir um token apenas de aplicação.
- Chame um ponto final simples do Graph que corresponda ao tipo de token.
- Confirme que o registo inclui a aplicação de chamada.
- Confirme a associação do utilizador para chamadas delegadas.
- Confirme que o acesso apenas à aplicação é limitado por permissões de tipo de contentor.
Resolver problemas de falhas de autorização
| Sintoma | Verificar |
|---|---|
| Chamada de gráfico devolve não autorizado | O token está em falta, expirou ou para o recurso errado. |
| A chamada de gráfico devolve proibido | O consentimento, a permissão do Graph ou a permissão do tipo de contentor estão em falta. |
| A chamada delegada falha para um utilizador | O utilizador não é um membro do contentor ou não tem a função necessária. |
| A chamada apenas para aplicações tem demasiado acesso | A permissão de tipo de contentor é mais ampla do que o necessário. |
| Falha na chamada de registo | Utilize FileStorageContainerTypeReg.Selected; para chamadas delegadas, o utilizador precisa da função administrador do SharePoint Embedded ou Administrador Global. |
| A chamada de pesquisa falha | Reveja padrões de acesso excecionais específicos da pesquisa. |
Próximas etapas
Utilize o fluxo configurado para Criar e gerir contentores.