Partager via


Résoudre les problèmes de consentement dans l’ID Microsoft Entra

Cet article fournit des conseils sur la résolution des problèmes de consentement dans Microsoft Entra ID. Il s’applique aux authentifications OpenID Connect et OAuth2.

Note

Les applications SAML peuvent présenter des erreurs similaires, mais nécessitent des solutions différentes, généralement en raison d’incompatibilités de configuration dans la requête SAML sur le fournisseur de services SAML tiers ou l’ID Microsoft Entra.

Symptômes

Lorsqu’une application tente de se connecter ou d’obtenir un jeton d’accès pour une ressource qui n’a pas été consentée par un utilisateur ou un administrateur, vous recevez un message d’erreur similaire à l’un des exemples suivants :

  • Approbation administrateur requise

  • AADSTS65001 : l’utilisateur ou l’administrateur n’a pas accepté d’utiliser l’application avec l’ID «< App-ID> » nommé «< Name-of-App> ». Envoyez une demande d’autorisation interactive pour cet utilisateur et cette ressource.

  • AADSTS650056 : application mal configurée. Cela peut être dû à l’une des opérations suivantes : le client n’a pas répertorié d’autorisations pour « AAD Graph » dans les autorisations demandées dans l’inscription de l’application du client. Ou l’administrateur n’a pas donné son consentement dans le locataire. Vous pouvez aussi vérifier l’identificateur d’application dans la requête pour vous assurer qu’il correspond à l’identificateur d’application cliente configuré. Contactez votre administrateur pour corriger la configuration ou donner le consentement au nom du locataire.

  • AADSTS90094 : un administrateur de <TenantDisplayName> a défini une stratégie qui vous empêche d’accorder <le nom de l’application> aux autorisations qu’il demande. Contactez un administrateur de <TenantDisplayName>, qui peut accorder des autorisations à cette application en votre nom.

  • AADSTS90008 : l’utilisateur ou l’administrateur n’a pas accepté d’utiliser l’application avec l’ID «< APP-ID> ». Cela s’est produit parce que l’application est mal configurée : elle doit exiger l’accès à Windows Azure Active Directory en spécifiant au moins l’autorisation « Se connecter et lire le profil utilisateur »

  • AADSTS900941 : Le consentement de l’administrateur est obligatoire. L’application est considérée comme risquée. (AdminConsentRequiredDueToRiskyApp) Cette application peut être risquée. Si vous faites confiance à cette application, demandez à votre administrateur de vous accorder l’accès.

  • AADSTS900981 : Une demande de consentement administrateur a été reçue pour une application risquée. (AdminConsentRequestRiskyAppWarning) Cette application peut être risquée. Continuez uniquement si vous faites confiance à cette application.

Il existe de nombreuses raisons pour lesquelles vous pouvez recevoir un message indiquant que l’approbation de l’administrateur ou le consentement de l’administrateur est requis. Tenez compte des scénarios généraux suivants :

  • L’autorisation User.Read est manquante.
  • Le consentement de l’utilisateur est désactivé au niveau du locataire.
  • L’attribution d’utilisateur est activée pour l’application.
  • Un principal de service n’existe pas dans le locataire de l’application cliente.
  • Un principal de service n’existe pas dans le locataire de la ressource.
  • URL de consentement qui spécifie prompt=admin_consent ou prompt=consent est demandée.
  • Les étendues qui n’ont pas été consentées sont demandées dans une demande de connexion.
  • L’étendue ou l’autorisation nécessite le consentement de l’administrateur.
  • Le consentement de l’utilisateur est bloqué pour les applications à risque.

Les sections suivantes fournissent un guide de dépannage pour rechercher les causes racines des problèmes de consentement. Si vous souhaitez résoudre les problèmes directement, accédez à la section Effectuer le consentement de l’administrateur.

Avant la résolution des problèmes

Vérifiez que l’application dispose de l’autorisation de connexion utilisateur, telle que l’autorisation User.Read . De plus, assurez-vous que cette autorisation a été accordée.

Par exemple, si vous êtes propriétaire de l’inscription d’application ou d’une application nécessitant une connexion utilisateur, vous devez au moins disposer de l’autorisation déléguée Microsoft Graph User.Read ou Openid ajoutée aux autorisations d’API d’inscription d’application.

Capture d’écran montrant les autorisations ajoutées aux autorisations de l’API d’inscription d’application.

Étapes de résolution des problèmes

Étape 1 : Obtenir la demande de connexion envoyée à l’ID Microsoft Entra

Pour déterminer pourquoi l’invite de consentement s’affiche, obtenez la demande de connexion et examinez les paramètres envoyés à l’ID Microsoft Entra. Lorsque l’invite de consentement s’affiche, vous pouvez obtenir la demande de connexion à l’aide de l’une des méthodes suivantes :

  • Si vous utilisez un navigateur, affichez la barre d’adresses.
  • Si vous n’utilisez pas de navigateur ou si vous ne voyez toujours pas la barre d’adresses dans le navigateur, utilisez un outil de capture HTTP tel que Fiddler pour obtenir la requête.

Une demande de connexion doit se présenter comme suit :

  • Point de terminaison OAuth2 V1 :

    https://<Aad-Instance>/<Tenant-ID>/oauth2/authorize?client_id=<App-ID>&response_type=code&redirect_uri=<Redirect-URI>&resource=<App-URI-ID>&scope=<Scope>&prompt=<Prompt>

  • Point de terminaison OAuth2 V2 :

    https://<Aad-Instance>/<Tenant-ID>/oauth2/v2.0/authorize?client_id=<App-ID>&response_type=code&redirect_uri=<Redirect-URI>& scope=<Scope>&prompt=<Prompt>

Le tableau suivant fournit un exemple des paramètres utilisés dans une demande de connexion, qui sont référencés dans les étapes de résolution des problèmes suivantes :

Propriété Partie demande de connexion Valeur
Aad-Instance <Aad-Instance> login.microsoftonline.com
ID de locataire <Tenant-ID> partie de la demande de connexion éléments communs
ID d’application <App-ID> partie de la demande de connexion 1f92960d-1442-4cd2-8c76-d13c5dcb30bf
Étendue <Scope> partie de la demande de connexion Openid+User.Read+Directory.Read.All
APP-URI-ID Point de terminaison V1 : <App-URI-ID> partie du point de terminaison de demande

de connexion V2 : pour les ressources autres que Microsoft Graph, il s’agit de la partie avant le nom de l’étendue. Par exemple, pour https://analysis.windows.net/powerbi/api/App.Read.All, App.Read.All est le nom de l’étendue, donc c’est App-URI-IDhttps://analysis.windows.net/powerbi/api.
https://graph.microsoft.com
Prompt <Prompt> partie de la demande de connexion

Pour vérifier si le consentement de l’utilisateur est autorisé dans votre organisation, procédez comme suit :

  1. Connectez-vous au Portail Azure.

  2. Accédez à l’ID Microsoft Entra, puis sélectionnez Consentement et autorisations des applications>d’entreprise.

  3. Passez en revue le consentement de l’utilisateur pour le paramètre des applications :

    • Si l’option Autoriser le consentement de l’utilisateur pour les applications est sélectionnée, tous les utilisateurs peuvent donner leur consentement aux autorisations qui ne nécessitent pas le consentement de l’administrateur. Dans ce cas, passez à l’étape suivante.

    • Si ne pas autoriser le consentement de l’utilisateur est sélectionné, les utilisateurs reçoivent toujours le message « Besoin d’approbation administrateur ». Dans ce cas, un administrateur doit effectuer le consentement de l’administrateur.

      Note

      Si un administrateur croit qu’il a déjà consenti à ces autorisations, probablement, toutes les autorisations requises répertoriées dans la demande de connexion ont été accordées, ou l’application incorrecte a été utilisée en fonction du <App-ID>.

Étape 3 : Vérifier si l’application existe

Pour vérifier si l’application existe dans le locataire, procédez comme suit :

  1. Connectez-vous au Portail Azure.
  2. Basculez vers le locataire correct en fonction du <Tenant-ID>.
  3. Accédez à Applications d’entreprise.
  4. Définissez le type d’application sur Toutes les applications et recherchez le <App-ID>.
  5. Si l’application est introuvable, c’est pourquoi vous rencontrez des problèmes de consentement. Dans ce cas, effectuez le consentement de l’administrateur. Si l’application est trouvée, passez à l’étape suivante.

Étape 4 :Vérifier si l’attribution d’utilisateur est requise

Dans le volet Applications d’entreprise, recherchez et sélectionnez l’application. Sous la section Gérer , sélectionnez Propriétés pour ouvrir le volet Propriétés , puis passez en revue le paramètre Affectation requis .

Si l’attribution d’utilisateur est requise, un administrateur doit donner son consentement à cette application. Pour ce faire, accédez à la section effectuer le consentement de l’administrateur.

Note

Le consentement à une application pour tous les utilisateurs d’une organisation n’autorise pas tous les utilisateurs à accéder à l’application. Vous devez suivre les règles d’attribution d’utilisateur. Seuls les utilisateurs affectés à l’application peuvent y accéder. Si vous ne souhaitez pas effectuer le consentement de l’administrateur, la seule solution de contournement consiste à désactiver l’affectation requise, demander aux utilisateurs le consentement lorsqu’ils accèdent à l’application, puis réactiver l’affectation requise .

Si l’attribution d’utilisateur n’est pas nécessaire, passez à l’étape suivante.

Étape 5 : Comparer les autorisations demandées et accordées pour l’application

Pour vérifier si les étendues (également appelées autorisations) dans la demande de connexion sont répertoriées dans la section Autorisations de l’application, procédez comme suit :

  1. Si l’application est trouvée à l’étape 3 : vérifiez si l’application existe, sélectionnez-la.

  2. Accédez aux autorisations.

  3. Comparez ce qui est répertorié dans le volet Autorisations et ce qui est répertorié comme <Scope> dans la demande de connexion. Les autorisations répertoriées dans le volet Autorisations sont celles qui ont été consentées.

    Note

    • Attention au type d’autorisation. Les autorisations déléguées concernent la connexion des utilisateurs et les autorisations d’application concernent le moment où le principal de service est utilisé pour s’authentifier via le flux d’informations d’identification du client.

    • Les étendues OpenID Connect ne sont généralement pas répertoriées dans les applications d’entreprise. Ne vous inquiétez pas si les étendues suivantes ne sont pas répertoriées :

      • openid: Connecter des utilisateurs
      • email: afficher l’adresse e-mail des utilisateurs
      • profile: Afficher le profil de base des utilisateurs
      • offline_access: Maintenir l’accès aux données que vous lui avez accordées
  4. Si <Scope> dans la demande de connexion est vide ou contient moins que ce qui est répertorié dans le volet Autorisations , passez à l’étape suivante. Si d’autres étendues <Scope> ne figurent pas dans le volet Autorisations , accédez à la section Effectuer le consentement de l’administrateur. Les autorisations manquantes doivent être accordées.

Étape 6 : Vérifier si la ressource existe dans votre locataire

Pour vérifier si une ressource existe, essayez une demande qui ressemble https://<Aad-Instance>/<Tenant-ID>/oauth2/authorize?response_type=code&client_id=<App-ID>&resource=<App-URI-ID>à .

Vous pouvez rencontrer l’un des comportements ou erreurs suivants :

  • Vous êtes autorisé à vous connecter (il s’agit du comportement attendu). Dans ce cas, passez à l’étape suivante. Dans la plupart des cas, si vous voyez le code paramètre dans la barre d’adresses, cela signifie que le processus d’authentification a réussi.

  • Erreur AADSTS650052 : l’application a besoin d’accéder à un service auquel votre organisation n’a pas souscrit ou activé. Contactez votre administrateur informatique pour examiner la configuration de vos abonnements de service.

    Cette erreur signifie que la ressource n’existe pas dans votre organisation. Pour résoudre ce problème, utilisez cette URL de consentement : https://login.microsoftonline.com/<Tenant-ID>/oauth2/authorize?response_type=code&client_id=<App-URI-ID>&prompt=admin_consent

  • Erreur AADSTS650057 : ressource non valide. Le client a demandé l’accès à une ressource qui n’est pas listée dans les autorisations demandées dans l’inscription d’application du client. ID d’application cliente : <App-ID>(<App-Display-Name>). Valeur de ressource de la requête : «< App-URI-ID> ». ID d’application de ressource :<Resource-App-ID>. Liste des ressources valides à partir de l’inscription d’application : 0000002-0000-0000-c000-00000000000000

    Pour qu’une application cliente se connecte et obtienne un jeton d’accès pour une ressource, la ressource doit être affectée aux autorisations d’API requises par l’application cliente, telles que l’accès à Azure Key Vault.

    Capture d’écran montrant comment ajouter Azure Key Vault aux autorisations d’API.

    Note

    Seul le propriétaire de l’application peut effectuer cette opération.

  • Erreur AADSTS500011 : le principal de ressource nommé «< App-URI-ID> » est introuvable dans le locataire nommé «< Tenant-ID> ». Cela peut se produire si l’application n’a pas été installée par l’administrateur du locataire ni acceptée par un utilisateur dans le locataire. Vous avez peut-être envoyé votre demande d’authentification au locataire incorrect.

    Cette erreur signifie que le spécifié <App-URI-ID> n’est pas valide ou disponible uniquement en tant qu’application monolocataire. Sinon, cela signifie que cette ressource n’est pas accessible par des organisations externes ou qu’elle n’existe pas.

    Pour résoudre ce problème, vous devez travailler avec le propriétaire de l’application pour vérifier que le <App-URI-ID> problème est <Tenant-ID> correct. Si la <App-URI-ID> propriété appartient à une autre <Tenant-ID>, l’inscription de <App-URI-ID> l’application doit être configurée en tant qu’application mutualisée. Sinon, il <Tenant-ID> doit s’agir du même locataire que l’emplacement de l’inscription de <App-URI-ID> l’application.

Étape 7 : Vérifier si le paramètre d’invite est passé

Parfois, la connexion à l’application nécessite de passer le prompt paramètre de consent ou admin_consent. Une fois que l’application obtient le consentement, vérifiez que le prompt paramètre n’est pas spécifié. Sinon, les utilisateurs peuvent toujours recevoir une erreur de consentement.

Votre demande de connexion peut ressembler à ceci :

https://login.microsoftonline.com/contoso.onmicrosoft.com/oauth2/authorize?client_id=1f92960d-1442-4cd2-8c76-d13c5dcb30bf&response_type=code&redirect_uri=https://www.contoso.com&scope=openid+profile+User.Read+Directory.Read.All&prompt=consent

Par conséquent, pour résoudre les problèmes de consentement, supprimez le prompt paramètre comme suit :

https://login.microsoftonline.com/contoso.onmicrosoft.com/oauth2/authorize?client_id=1f92960d-1442-4cd2-8c76-d13c5dcb30bf&response_type=code&redirect_uri=https://www.contoso.com&scope=openid+profile+User.Read+Directory.Read.All

Pour résoudre les problèmes de consentement, effectuez le consentement de l’administrateur en procédant comme suit :

  1. Disposez d’un administrateur (un utilisateur disposant du rôle Administrateur général, Administrateur d’entreprise ou Administrateur d’application) d’accéder à l’application.

  2. Si l’écran de consentement s’affiche, passez en revue les autorisations demandées. Pour approuver les autorisations demandées, cochez la case Consentement pour le compte de votre organisation .

    Capture d’écran montrant la case à cocher « Consentement pour le compte de votre organisation ».

    Note

    Si un administrateur ne sait pas quelles autorisations autorisent, l’administrateur doit travailler avec le fournisseur de l’application pour comprendre les autorisations et leur utilisation. Le support Microsoft peut ne pas savoir ce que ces autorisations font ou pourquoi elles sont nécessaires.

  3. Si l’administrateur n’obtient pas l’écran de consentement, saisissez l’adresse de connexion, ajoutez &prompt=consent à la fin, puis utilisez cette demande pour effectuer le consentement de l’administrateur.

    Prenons un exemple : https://login.microsoftonline.com/contoso.onmicrosoft.com/oauth2/authorize?client_id=1f92960d-1442-4cd2-8c76-d13c5dcb30bf&response_type=code&redirect_uri=https://www.contoso.com&scope=openid+profile&tresource=https://graph.microsoft.com&prompt=consent

    Si les autorisations demandées ne sont pas répertoriées dans l’inscription de l’application, utilisez le point de terminaison Plateforme d’identités Microsoft (V2) pour forcer le consentement de l’administrateur. Le point de terminaison V2 nécessite que chaque étendue d’autorisation soit transmise dans le scope paramètre comme suit :

    https://login.microsoftonline.com/contoso.onmicrosoft.com/oauth2/v2.0/authorize?client_id=1f92960d-1442-4cd2-8c76-d13c5dcb30bf&response_type=code&redirect_uri=https://www.contoso.com&scope=openid+profile+User.Read+Directory.Read.All&prompt=consent

Note

  • Les étendues d’autorisation utilisées par l’application doivent être fournies par le propriétaire de l’application.
  • Le consentement pour les autorisations d’application nécessite toujours le consentement de l’administrateur d’un administrateur général ou d’une entreprise. Les autorisations d’application doivent être ajoutées dans l’inscription de l’application dans le locataire propriétaire de l’application.
  • Les administrateurs d’application peuvent également donner leur consentement pour déléguer des autorisations qui nécessitent le consentement de l’administrateur.
  • Lorsque vous utilisez l’URL de consentement administrateur, les autorisations doivent déjà être configurées avec l’inscription de l’application. Sinon, le propriétaire de l’application doit avoir correctement configuré son application avec l’ID Microsoft Entra. Une URL de consentement administrateur ressemble https://login.microsoftonline.com/<Tenant-ID>/adminconsent?client_id=<App-ID>à .

Plus d’informations

Dans la plupart des cas, certaines autorisations qui nécessitent le consentement n’ont pas été consentées. Par conséquent, le consentement est demandé. Pour comprendre le consentement, consultez les pages suivantes :

Inscriptions d’applications et applications d’entreprise

Dans Microsoft Entra, il existe un modèle d’application qui se compose d’objets d’application (également appelés « inscriptions d’applications ») et d’objets de principal de service (également appelés « applications d’entreprise »). La façon dont leur relation fonctionne ensemble en fonction des autorisations requises est définie sur l’objet d’application. Pour plus d’informations, consultez Objets d’application et du principal de service dans Microsoft Entra ID.

L’ajout d’autorisations à une inscription d’application ne consent pas aux autorisations. Pour consentir aux autorisations, vous devez attribuer des autorisations au principal de service.

Autorisations déléguées et autorisations d’application

Il existe deux types d’autorisations dans Microsoft Entra ID : autorisations déléguées et autorisations d’application. Veillez à appliquer la configuration d’autorisation correcte dans l’inscription de l’application et à donner votre consentement à cette autorisation.

Pour plus d’informations sur les autorisations dans l’ID Microsoft Entra, consultez les pages suivantes :

Collecter les journaux d’activité Microsoft Entra

Vous pouvez utiliser les journaux d’activité Microsoft Entra pour obtenir plus de détails. Pour ce faire, procédez comme suit :

  1. Connectez-vous au Portail Azure à l’aide d’un compte autorisé à lire les journaux d’audit, tels qu’un administrateur général ou un lecteur de sécurité.
  2. Accédez à Microsoft Entra ID.
  3. Sélectionnez Journaux d’audit sous la section Surveillance .
  4. Définissez votre filtre comme suit :
    • Catégorie : ApplicationManagement
    • État : Échec
    • Activité : Consentement à l’application
  5. Recherchez et sélectionnez l’application qui ne parvient pas à donner son consentement.
  6. Passez en revue la RAISON DE L’ÉTAT pour obtenir plus de détails.

Dans certains scénarios, vous devez effectuer le consentement de l’administrateur, même si vous pouvez autoriser les utilisateurs à donner leur consentement et l’autorisation ne nécessite normalement pas de consentement d’administrateur. Par exemple, lorsque la raison de l’état indique « Microsoft.Online.Security.UserConsentBlockedForRiskyAppsException ». Pour plus d’informations, consultez Erreur inattendue lors de l’exécution du consentement à une application et invite de consentement inattendu lors de la connexion à une application.

Contactez-nous pour obtenir de l’aide

Pour toute demande ou assistance, créez une demande de support ou posez une question au support de la communauté Azure. Vous pouvez également soumettre des commentaires sur les produits à la communauté de commentaires Azure.