Résolution des erreurs d’autorisation dans Microsoft Graph

Les erreurs d’autorisation peuvent se produire à la suite de toutes sortes de problèmes, dont la plupart génèrent une erreur 403 (en dehors de quelques exceptions). Par exemple, les problèmes suivants peuvent donner lieu à des erreurs d’autorisation :

Étapes permettant la résolution d’erreurs courantes

Pour résoudre des erreurs d’autorisation courantes, suivez les étapes décrivant l’erreur qui correspond le mieux à celle que vous obtenez. Plus d’une erreur peut s’appliquer. Vous pouvez également consulter les réponses déjà publiées sur Microsoft Q&A pour les erreurs 401 et les erreurs 403. Si vous ne trouvez pas de solution à votre problème, posez une nouvelle question sur Microsoft Q&A et étiquetez avec microsoft-graph*.

Erreur (401) Non autorisé : votre jeton est-il valide ?

Vérifiez que votre application présente un jeton d’accès valide à Microsoft Graph dans le cadre de la demande. Cette erreur signifie souvent que le jeton d’accès peut être manquant dans l’en-tête de demande d’authentification HTTP ou que le jeton n’est pas valide ou a expiré. Nous vous recommandons vivement d’utiliser la Bibliothèque d’authentification Microsoft (MSAL) pour l’acquisition des jetons d’accès. En outre, cette erreur peut se produire si vous essayez d’utiliser un jeton d’accès délégué accordé à un compte Microsoft personnel pour accéder à une API prenant uniquement en charge les comptes professionnels ou scolaires (comptes d’organisation).

Erreur 403 Forbidden : avez-vous choisi le groupe d’autorisations approprié ?

Vérifiez que vous avez demandé le groupe approprié d’autorisations sur la base des API Microsoft Graph appelées par votre application. Les autorisations les moins privilégiées que nous recommandons sont fournies dans tous les articles de référence sur les méthodes de l’API Microsoft Graph. En outre, un utilisateur ou un administrateur doit accorder ces autorisations à l’application. L’octroi d’autorisations se produit normalement via une page de consentement ou en accordant des autorisations à l’aide du panneau d’inscription de l’application du centre d’administration Microsoft Entra.

Erreur 403 Forbidden : l’application a-t-elle acquis un jeton correspondant aux autorisations choisies ?

Vérifiez que le type d’autorisations demandé ou accordé correspond au type de jeton d’accès acquis par votre application. Vous êtes susceptible de demander ou d’accorder des autorisations d’application, mais en utilisant des jetons de flux de codes interactifs délégués au lieu de jetons de flux d’informations d’identification du client, ou en demandant et accordant des autorisations déléguées à l’aide de jetons de flux d’informations d’identification du client au lieu de jetons de flux de codes délégués.

Erreur 403 Forbidden : réinitialisation du mot de passe

Actuellement, il n’existe aucune autorisation de service à service de démon d’autorisation d’application qui permet de réinitialiser les mots de passe utilisateur. Ces API sont uniquement prises en charge en utilisant le flux de code délégué interactif et un administrateur connecté.

403 Interdit : l’utilisateur a-t-il accès et est-il titulaire d’une licence ?

Pour les flux de code délégués, Microsoft Graph évalue si la demande est accordée sur la base des autorisations accordées à l’application et des autorisations de l’utilisateur connecté. En règle générale, cette erreur indique que l’utilisateur ne dispose pas de privilèges suffisants pour effectuer la demande ou que l’utilisateur ne dispose pas de licence pour l’accès aux données. Seuls les utilisateurs disposant des autorisations ou licences requises peuvent effectuer la demande de manière correcte.

403 Interdit : avez-vous sélectionné l’API de ressources correcte ?

Les services API tels que Microsoft Graph vérifient que la revendication aud (audience) dans le jeton d’accès reçu correspond à la valeur qu’il attend pour lui-même et, dans la négative, génère une erreur 403 Forbidden. Une erreur courante provoquant cette erreur consiste à essayer d’utiliser un jeton acquis pour les API Azure AD Graph, les API Outlook ou les API SharePoint/OneDrive pour appeler Microsoft Graph (ou vice-versa). Assurez-vous que la ressource (ou l’étendue) pour laquelle votre application fait l’acquisition d’un jeton correspond à l’API appelée par l’application.

400 Demande incorrecte ou 403 Interdit : l’utilisateur satisfait-il aux stratégies d’accès conditionnel (CA) de votre organisation ?

En fonction des stratégies d’accès conditionnel d’une organisation, un utilisateur accédant aux ressources Microsoft Graph via votre application peut être amené à fournir des informations supplémentaires qui n’apparaissent pas dans le jeton d’accès que votre application a acquis au départ. Dans ce cas, votre application reçoit un 400 avec l’erreur interaction_required lors de l’acquisition du jeton d’accès ou un 403 avec l’erreur insufficient_claims lorsque vous appelez Microsoft Graph. Dans les deux cas, la réponse d’erreur contient d’autres informations qui peuvent être présentées au point de terminaison autoriser afin de demander des éléments supplémentaires (telles que l’authentification multifacteur ou l’inscription de l’appareil) à l’utilisateur.

403 Interdit : L’accès à OData est désactivé

De nombreuses API Microsoft Graph accèdent à Exchange Online. Ces API sont soumises aux stratégies d’application EWS d’Exchange Online. Les applications peuvent recevoir des 403 Forbidden erreurs avec le corps de réponse suivant.

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

Cela peut être dû aux stratégies d’accès EWS de votre organisation. Un administrateur Exchange peut vérifier cela à l’aide du module PowerShell Exchange Online.

Pour déterminer si une stratégie à l’échelle de l’organisation est appliquée :

Get-OrganizationConfig | fl EwsApplicationAccessPolicy,EWS*List

Pour déterminer si une stratégie spécifique à l’utilisateur est appliquée :

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

Si EwsApplicationAccessPolicy est défini, une stratégie est appliquée.

  • Si EwsApplicationAccessPolicy a la EnforceAllowListvaleur , la valeur de User-Agent votre application doit être ajoutée à la valeur EwsAllowList .
  • Si EwsApplicationAccessPolicy a la valeur EnforceBlockList, la valeur de User-Agent votre application doit être supprimée de la valeur EwsBlockList .

Remarque

Les modifications apportées aux stratégies d’application EWS prennent du temps. Votre application peut continuer à recevoir 403 Forbidden des erreurs pendant un certain temps après avoir apporté une modification.

Erreur 403 Interdit : votre application tente-t-elle d’accéder à un groupe contenant d’autres groupes avec des autorisations différentes ?

Passez en revue tous les groupes appartenant au groupe auxquels l’application ne peut pas accéder. S’il existe des groupes imbriqués où le groupe parent, un groupe qui possède d’autres groupes en tant que membres, dispose d’autorisations suffisantes pour que l’application puisse accéder, mais que le groupe enfant, un groupe membre d’un autre groupe, ne le fait pas, l’accès aux groupes enfants et parents échoue.

Dans certains cas, une application peut ne pas lire les groupes ou les principaux de service en raison d’autorisations insuffisantes. Cet échec peut se produire même si l’application était auparavant en mesure de lire ces groupes contenant des groupes imbriqués avec des autorisations ou des principaux de service insuffisants en raison des avancées du renforcement de la sécurité effectuées chez Microsoft.