Quando você faz uma requisição HTTP a um site do SharePoint e recebe um erro 403 Forbidden, a requisição chega ao servidor, mas o acesso é negado. Esse erro indica que o servidor SharePoint reconheceu sua requisição, mas determinou que você não tem permissão para visualizar o recurso. A causa raiz é quase sempre uma falha de autenticação ou autorização, não um problema de rede ou servidor. Este artigo explica os motivos mais comuns para o erro 403 no SharePoint, incluindo tokens expirados, permissões incorretas e restrições de IP. Você aprenderá correções passo a passo para cada cenário.
Principais Conclusões: Erros HTTP 403 no SharePoint
- Token do Azure AD expirado ou inválido: Atualize ou reobtenha o token para requisições ao SharePoint Online.
- Permissões do site SharePoint: Verifique se a conta tem pelo menos acesso de Leitura ao site ou item.
- Restrições de IP ou localização: Verifique as políticas de Acesso Condicional e as políticas de localização no centro de administração do SharePoint.
Por que o SharePoint Retorna um Erro 403 Forbidden
Um erro 403 do SharePoint significa que o servidor entendeu a requisição, mas se recusa a autorizá-la. Isso é diferente de um erro 401 Unauthorized, que indica que a requisição não possui credenciais de autenticação válidas. No 403, as credenciais estão presentes, mas não concedem acesso ao recurso específico.
As causas mais comuns são:
Token de Acesso do Azure AD Expirado ou Inválido
O SharePoint Online usa o Azure Active Directory para autenticação. Toda requisição HTTP deve incluir um token Bearer válido no cabeçalho Authorization. Os tokens têm um tempo de vida padrão de 60 a 90 minutos. Se seu código ou ferramenta usar um token em cache que expirou, o SharePoint retorna um 403. Além disso, se o token foi emitido para um ID de aplicativo ou público diferente, a requisição falha.
Permissões Insuficientes no SharePoint
Mesmo com um token válido, o usuário ou aplicativo deve ter permissões explícitas para o site, lista, biblioteca ou item do SharePoint. As permissões do SharePoint são separadas das funções do Azure AD. Um usuário pode ser Administrador Global no Azure AD, mas ainda receber um 403 se não for adicionado ao site do SharePoint.
Restrições de IP ou Localização
Os administradores do SharePoint podem bloquear o acesso de intervalos de IP ou localizações geográficas específicas. Isso é configurado no centro de administração do SharePoint, em Políticas de acesso, ou por meio do Acesso Condicional do Azure AD. Se sua requisição originar de um IP bloqueado, o SharePoint retorna um 403 mesmo com credenciais válidas.
Permissões de Aplicativo Ausentes ou Mal Configuradas
Ao usar autenticação somente de aplicativo (client ID e client secret ou certificado), o aplicativo deve ter as permissões de API corretas no Azure AD. Para o SharePoint, o aplicativo precisa da permissão Sites.Read.All ou Sites.ReadWrite.All. Se a permissão estiver ausente ou não tiver consentimento do administrador, a requisição retorna um 403.
Passos para Diagnosticar e Corrigir o Erro 403
Siga estes passos em ordem. Após cada passo, teste a requisição HTTP novamente.
- Verifique a Expiração do Token
Se você estiver usando um script ou ferramenta personalizada, decodifique o token Bearer usando uma ferramenta como jwt.ms. Observe a declaraçãoexp. Se o token estiver expirado, reautentique-se para obter um novo token. Para o Microsoft Graph ou API REST do SharePoint, use o fluxo de token de atualização OAuth 2.0 ou reobtenha o token interativamente. - Verifique o Público do Token
No token decodificado, verifique a declaraçãoaud. Para o SharePoint Online, o público deve serhttps://{tenant}.sharepoint.comouhttps://sharepoint.com. Se o público for para um serviço diferente, a requisição será rejeitada. Reobtenha o token com a URL de recurso correta. - Confirme as Permissões do Site SharePoint
Acesse o site do SharePoint. No canto superior direito, selecione Configurações (ícone de engrenagem) e depois Permissões do site. Verifique se o usuário ou grupo que está fazendo a requisição aparece na lista. Caso contrário, adicione-o com pelo menos o nível de permissão Leitura. Para acesso somente de aplicativo, certifique-se de que o principal do aplicativo foi adicionado ao site. - Revise as Permissões do Aplicativo no Azure AD
No centro de administração do Azure AD, vá em Registros de aplicativo. Selecione seu aplicativo. Em Permissões de API, confirme se as permissões do Microsoft Graph ou SharePoint incluemSites.Read.AllouSites.ReadWrite.Allcomo permissões delegadas ou de aplicativo. Se a permissão estiver listada como Não concedida, selecione Conceder consentimento do administrador. - Verifique as Políticas de Acesso no Centro de Administração do SharePoint
No centro de administração do SharePoint, vá em Políticas > Políticas de acesso. Revise quaisquer políticas baseadas em localização ou IP. Se seu IP estiver bloqueado, adicione-o à lista de permitidos ou conecte-se de uma rede permitida. - Examine as Políticas de Acesso Condicional do Azure AD
No centro de administração do Azure AD, vá em Segurança > Acesso Condicional. Verifique se alguma política tem como alvo o SharePoint Online e exige um dispositivo em conformidade, localização específica ou autenticação multifator. Se sua requisição não atender a essas condições, o SharePoint retorna um 403. Ajuste a política ou modifique sua requisição para estar em conformidade.
Se o Erro 403 Persistir Após a Correção Principal
Erro 403 Apenas ao Acessar uma Lista ou Biblioteca Específica
Se sua requisição funciona para a raiz do site, mas falha para uma lista ou biblioteca específica, o item pode ter permissões exclusivas. Vá para as configurações da lista ou biblioteca. Selecione Permissões para esta biblioteca de documentos. Se as permissões forem herdadas, você verá uma mensagem no topo. Se não forem, clique em Interromper herança de permissões e depois em Conceder permissões para adicionar o usuário ou grupo.
Erro 403 ao Usar Autenticação Somente de Aplicativo com Certificado
Se você usa um certificado para autenticação somente de aplicativo, certifique-se de que o certificado é válido e não expirou. Refaça o upload do certificado no registro do aplicativo do Azure AD. Confirme também que a impressão digital do certificado corresponde ao que está armazenado no Azure AD.
Erro 403 no SharePoint PnP PowerShell
Se você usa o cmdlet Connect-PnPOnline e obtém um 403, tente usar o parâmetro -Interactive para forçar a autenticação interativa. Isso ignora tokens em cache. Para conexões somente de aplicativo, verifique se o client ID e o client secret ou a impressão digital do certificado estão corretos.
Erro 403 em Requisições do Microsoft Graph
Ao usar o Microsoft Graph para acessar o SharePoint, o endpoint é /sites/{site-id}. Certifique-se de que o ID do site está correto. Um erro de digitação no ID ou caminho do site pode causar um 403 porque a requisição resolve para um recurso diferente que o token não pode acessar.
Permissões Delegadas vs. de Aplicativo: Diferenças Principais
| Item | Permissões Delegadas | Permissões de Aplicativo |
|---|---|---|
| Quem executa a ação | Um usuário conectado | O próprio aplicativo, sem usuário presente |
| Exemplo de escopo de permissão | Sites.Read.All (delegada) |
Sites.Read.All (aplicativo) |
| Consentimento do administrador necessário | Apenas para permissões de alto privilégio | Sempre necessário |
| Funciona com SharePoint Online | Sim | Sim |
| Público do token | https://{tenant}.sharepoint.com |
https://{tenant}.sharepoint.com |
Agora você pode identificar a causa de um erro 403 no SharePoint verificando o token, as permissões e as políticas de acesso. Comece pela validação do token, pois é o teste mais rápido. Se o token for válido, vá para as permissões do site e as políticas de Acesso Condicional. Para aplicações em produção, implemente a lógica de renovação de token e registre o corpo completo da resposta HTTP do SharePoint, pois ele geralmente inclui uma mensagem de erro detalhada. Essa abordagem reduzirá o tempo de inatividade e melhorará a confiabilidade da sua aplicação.