Partilhar via


Resolver erros de autorização do Microsoft Graph

Erros de autorização podem ocorrer como resultado de vários problemas diferentes, a maioria dos quais gera um erro 403 (com algumas exceções). Por exemplo, todos os itens a seguir podem levar a erros de autorização:

Etapas para resolver erros comuns

Para resolver erros de autorização comuns, experimente as etapas descritas para o erro que mais se aproxima do erro que está ocorrendo. Pode haver mais de um erro. Você também pode verificar as respostas já disponíveis no Microsoft Q&A para 401 erros e 403 erros. Se não conseguir encontrar uma solução para o seu problema, faça uma nova pergunta sobre o Microsoft Q&A e marque com o microsoft-graph*.

Erro 401 Não autorizado: seu token é válido?

Verifique se o seu aplicativo está apresentando um token de acesso válido ao Microsoft Graph como parte da solicitação. Este erro geralmente significa que o token de acesso pode estar em falta no cabeçalho do pedido de autenticação HTTP ou que o token é inválido ou expirou. É altamente recomendável que você use a Biblioteca de Autenticação da Microsoft (MSAL) para aquisição de tokens de acesso. Além disso, esse erro pode ocorrer se você tentar usar um token de acesso delegado concedido a uma conta pessoal da Microsoft, para acessar uma API que só dê suporte a contas corporativas ou de estudante (contas organizacionais).

Erro 403 Proibido: você escolheu o conjunto certo de permissões?

Verifique se você solicitou o conjunto correto de permissões com base nas APIs do Microsoft Graph que seu aplicativo chama. As permissões com menos privilégios que recomendamos são fornecidas em todos os artigos de referência do método da Microsoft Graph API. Além disso, a aplicação tem de receber essas permissões por um utilizador ou administrador. Normalmente, a concessão de permissões ocorre através de uma página de consentimento ou ao conceder permissões através do painel de registo de aplicações do centro de administração do Microsoft Entra.

Erro 403 Proibido: seu aplicativo adquiriu um token para corresponder às permissões escolhidas?

Certifique-se de que o tipo de permissão solicitado ou concedido corresponda ao tipo de token de acesso que seu aplicativo adquire. Você pode estar solicitando e concedendo permissões do aplicativo, mas usando tokens de fluxo de código interativo delegados, em vez de tokens de fluxo de credencial de cliente, ou solicitando e concedendo permissões delegadas, mas usando tokens de fluxo de credenciais de cliente em vez de tokens de fluxo de código delegados.

Erro 403 Proibido: redefinindo a senha

Atualmente, não existem permissões de serviço para serviço daemon de permissão de aplicação que permitam a reposição de palavras-passe de utilizador. Essas APIs têm suporte somente usando os fluxos de código delegados interativos com um administrador conectado.

403 Proibido: o usuário tem acesso e está licenciado?

Para fluxos de código delegados, o Microsoft Graph avalia se a solicitação é permitida com base nas permissões concedidas ao aplicativo e nas permissões que o usuário conectado possui. Geralmente, esse erro indica que o usuário não tem privilégio suficiente para executar a solicitação ou não está licenciado para os dados que estão sendo acessados. Somente os usuários com as permissões ou licenças necessárias podem fazer a solicitação com êxito.

403 Proibido: você selecionou a API de recurso correta?

Serviços de API como o Microsoft Graph verificam se a declaração aud (audiência) no token de acesso recebido corresponde ao valor esperado para si e, caso contrário, resultam em um erro 403 Forbidden. Um equívoco comum que causa esse erro é tentar usar um token adquirido para APIs do Microsoft Graph, APIs do Outlook ou APIs do SharePoint/OneDrive do Azure AD para chamar o Microsoft Graph (ou vice-versa). Verifique se o recurso (ou escopo) para o qual o seu aplicativo está adquirindo um token corresponde à API que o aplicativo está chamando.

400 Solicitação incorreta ou 403 Proibido: o usuário está em conformidade com as políticas de acesso condicional (CA) da organização?

Com base nas políticas de CA de uma organização, um usuário que acessa os recursos do Microsoft Graph por meio do seu aplicativo pode ser desafiado a obter informações adicionais que não estão presentes no token de acesso que o aplicativo adquiriu originalmente. Nesse caso, seu aplicativo recebe um 400 com um erro interaction_required durante a aquisição de token de acesso, ou um 403 com o erro insufficient_claims ao chamar o Microsoft Graph. Em ambos os casos, a resposta ao erro contém informações adicionais que podem ser apresentadas ao ponto de extremidade de autorização para desafiar o usuário a obter informações adicionais (como autenticação multifator ou registro do dispositivo).

403 Proibido: o acesso ao OData está desativado

Muitas APIs do Microsoft Graph acedem ao Exchange Online. Estas APIs estão sujeitas às políticas de aplicações EWS do Exchange Online. As aplicações podem receber 403 Forbidden erros com o seguinte corpo de resposta.

{
    "error": {
        "code": "ErrorAccessDenied",
        "message": "Access to OData is disabled."
    }
}

Isto pode ser causado pelas políticas de acesso EWS da sua organização. Um administrador do Exchange pode verificar isto com o módulo do PowerShell do Exchange Online.

Para determinar se é aplicada uma política ao nível da organização:

Get-OrganizationConfig | fl EwsApplicationAccessPolicy,EWS*List

Para determinar se uma política específica do utilizador é aplicada:

Get-CASMailbox <user-principal-name> | fl EwsApplicationAccessPolicy,EWS*List

Se EwsApplicationAccessPolicy estiver definido, será aplicada uma política.

  • Se EwsApplicationAccessPolicy estiver definido como EnforceAllowList, o valor da User-Agent sua aplicação tem de ser adicionado ao valor EwsAllowList .
  • Se EwsApplicationAccessPolicy estiver definido como EnforceBlockList, o valor da User-Agent sua aplicação tem de ser removido do valor EwsBlockList .

Observação

As alterações às políticas de aplicações do EWS demoram algum tempo a entrar em vigor. A sua aplicação poderá continuar a receber 403 Forbidden erros durante algum tempo depois de efetuar uma alteração.

Erro 403 Proibido: a sua aplicação está a tentar aceder a um grupo que contém outros grupos com permissões diferentes?

Reveja os grupos pertencentes ao grupo aos quais a aplicação não consegue aceder. Se existirem grupos aninhados em que o grupo principal, um grupo que possui outros grupos como membros, tem permissão suficiente para que a aplicação possa aceder, mas o grupo subordinado, um grupo que é membro de outro grupo, não o faz, causa falhas no acesso ao menor e aos grupos principais.

Em alguns casos, uma aplicação pode não conseguir ler grupos ou principais de serviço devido a permissões insuficientes. Esta falha pode ocorrer mesmo quando a aplicação era anteriormente capaz de ler estes grupos que contêm grupos aninhados com permissões insuficientes ou principais de serviço devido a avanços na proteção de segurança que ocorrem na Microsoft.