Accorder le consentement administrateur au niveau locataire à des applications

Effectué

Pour les applications développées par votre organisation ou inscrites directement dans votre locataire Microsoft Entra, vous pouvez accorder le consentement administrateur au niveau locataire à partir de « Inscriptions d'applications » dans le Portail Azure.

Avertissement

Le fait d’accorder le consentement administrateur au niveau locataire à une application permettra à l’application et à l’éditeur de l'application d’accéder aux données de votre organisation. Examinez attentivement les autorisations demandées par l’application avant d’accorder le consentement.

Pour accorder le consentement administrateur au niveau locataire, vous devez vous connecter comme utilisateur autorisé à donner un consentement au nom de l’organisation. Cela comprend l’Administrateur général et l’Administrateur de rôle privilégié. Un utilisateur peut également être autorisé à accorder le consentement au niveau du locataire si un rôle d’annuaire personnalisé comprenant l’autorisation d’accorder des autorisations à des applications lui est attribué.

  1. Dans un exercice précédent, vous avez créé une application nommée Demo App. Si nécessaire, dans Microsoft Azure, accédez à Microsoft Entra ID, puis inscriptions d'applications, version de démonstration de l'application.**

  2. Dans l’écran Demo app, localisez, copiez et enregistrez chaque ID d’application (client) et les valeurs d’ID de répertoire (locataire) afin de pouvoir les utiliser ultérieurement.

    Screenshot of the Demo app screen with the directory ID highlighted for usage in your registration.

  3. Dans le volet de navigation de gauche, sous Gérer, sélectionnez Autorisations d’API.

  4. Sous Autorisations configurées, sélectionnez Accorder le consentement de l’administrateur.

    Screenshot of the API permission page with Grant admin consent for Contoso highlighted.

  5. Examinez la boîte de dialogue, puis sélectionnez Oui.

    Avertissement

    L’octroi du consentement administrateur au niveau du locataire via des inscriptions d’applications révoque toutes les autorisations accordées précédemment à l’ensemble du locataire. Les autorisations précédemment accordées par les utilisateurs en leur nom propre ne seront pas concernées.

Vous pouvez accorder le consentement administrateur au niveau locataire via Applications d’entreprise si l’application a déjà été approvisionnée dans votre locataire.

  1. Dans Microsoft Azure, accédez à Microsoft Entra ID, aux applications d'entreprise, puis à la version de démonstration de l'application.

  2. Dans l’écran Demo app, dans le volet de navigation gauche, sous Sécurité, sélectionnez Autorisations.

  3. Sous Autorisations, sélectionnez Accorder le consentement de l’administrateur.

    Screenshot of the Demo app permissions page with Grant admin consent for Contoso highlighted.

  4. Lorsque vous y êtes invité, connectez-vous à l’aide de votre compte d’administrateur général.

  5. Dans la boîte de dialogue Autorisations demandées, passez en revue les informations, puis sélectionnez Accepter.

Lorsque vous accordez le consentement administrateur au niveau du locataire à l’aide de l’une des méthodes décrites ci-dessus, une fenêtre s’ouvre à partir du Portail Azure pour demander le consentement de l’administrateur au niveau du locataire. Si vous connaissez l’ID client de l’application (également appelé ID d’application), vous pouvez générer la même URL pour accorder le consentement administrateur au niveau locataire.

  1. L’URL de consentement administrateur à l’échelle du locataire suit le format suivant : https://login.microsoftonline.com/{tenant-id}/adminconsent?client_id={client-id}, où :

    • {client-id} est l’ID client de l’application (également appelé ID d’application).
    • {tenant-id} est l’ID de locataire de votre organisation ou un nom de domaine vérifié.
  2. Comme toujours, examinez attentivement les autorisations demandées par une application avant d’accorder le consentement.

Autorisations restreintes aux administrateurs

Certaines autorisations à privilège élevé de l’écosystème Microsoft peuvent être définies sur restreintes aux administrateurs. Voici quelques exemples de ce type de permissions :

  • Lire les profils complets de tous les utilisateurs à l’aide de User.Read.All
  • Écrire des données dans le répertoire d’une organisation à l’aide de Directory.ReadWrite.All
  • Lire tous les groupes dans le répertoire d’une organisation à l’aide de Groups.Read.All

Si un utilisateur consommateur peut accorder à une application l’accès à ce type de données, les utilisateurs d’organisation sont limités lorsqu’il s’agit d’octroyer l’accès au même jeu de données d’entreprise sensibles. Si votre application requiert l’accès à l’une de ces autorisations d’un utilisateur de l’organisation, ce dernier recevra un message d’erreur indiquant qu’il n’est pas autorisé à donner son consentement pour les permissions de votre application.

Si votre application requiert l’accès aux étendues restreintes aux administrateurs pour les organisations, vous devez demander l’autorisation directement à un administrateur d’entreprise également à l’aide du point de terminaison de consentement de l’administrateur, décrit ci-dessous.

Si l’application demande des autorisations déléguées à privilèges élevés et qu’un administrateur accorde ces autorisations via le point de terminaison de consentement de l’administrateur, le consentement est accordé à tous les utilisateurs du locataire.

Si l’application demande des autorisations d’application et qu’un administrateur accorde ces autorisations via le point de terminaison de consentement de l’administrateur, cette attribution n’est pas attribuée pour le compte d’un utilisateur spécifique. L’application cliente reçoit les autorisations directement. Ces types d’autorisations sont uniquement utilisés par les services démon et d’autres applications non interactives qui s’exécutent en arrière-plan.

Notes

Après avoir accordé le consentement de l’administrateur en utilisant le point de terminaison approprié, vous avez terminé et les utilisateurs n’ont pas besoin d’effectuer d’autres actions. Après avoir accordé le consentement administrateur, les utilisateurs peuvent obtenir un jeton d’accès grâce au flux d’authentification standard. Le jeton d’accès en question aura toutes les autorisations nécessaires.

Lorsqu’un administrateur d’entreprise utilise votre application et qu’il est dirigé vers le point de terminaison d’autorisation, la plateforme d’identité Microsoft détecte le rôle de l’utilisateur et lui demande s’il souhaite donner son consentement pour le compte de l’intégralité du locataire pour les autorisations que vous avez demandées. Toutefois, il existe également un point de terminaison de consentement de l’administrateur dédié que vous pouvez utiliser si vous souhaitez demander proactivement qu’un administrateur accorde son autorisation pour le compte de l’intégralité du locataire. Vous devez également utiliser ce point de terminaison pour demander des permissions d’application (qui ne peuvent pas être demandées à l’aide du point de terminaison d’autorisation).

Si vous suivez ces étapes, votre application peut demander des autorisations pour tous les utilisateurs d’un locataire, notamment les étendues restreintes aux administrateurs. Il s’agit d’une opération à privilèges élevés qui ne doit être effectuée que si cela est nécessaire pour votre scénario.

Demander les autorisations dans le portail d’inscription de l’application

Les applications sont en mesure de noter les autorisations dont elles ont besoin (autorisations déléguées et d'application) dans le portail d’inscription des applications. Il est ainsi possible d’utiliser l’étendue « /.default » et l’option « Accorder un consentement administrateur » du portail Azure. En général, il est recommandé de veiller à ce que les autorisations définies de manière statique pour une application donnée constituent un sur-ensemble des autorisations qui seront demandées de façon dynamique/incrémentielle.

Configuration de la liste des autorisations demandées de manière statique pour une application

  1. Accédez à votre application dans l’environnement Inscriptions d’applications du portail Azure ou créez une application, si ce n’est pas déjà fait.
  2. Recherchez la section Autorisations d’API, puis sélectionnez Ajouter une autorisation.
  3. Sélectionnez Microsoft Graph dans la liste des API disponibles, puis ajoutez les autorisations dont votre application a besoin.
  4. Enregistrez l’inscription de l’application.

En général, lorsque vous créez une application qui utilise le point de terminaison de consentement de l’administrateur, l’application doit disposer d’une page ou vue dans laquelle l’administrateur peut approuver ses autorisations. Cette page peut faire partie du flux d’inscription de l’application, des paramètres de l’application ou d’un flux de connexion dédié. Dans de nombreux cas, il est judicieux pour l’application d’afficher la vue de « connexion » uniquement après qu’un utilisateur se soit connecté avec un compte Microsoft professionnel ou scolaire.

Lorsque vous connectez l’utilisateur à votre application, vous pouvez identifier l’organisation à laquelle l’administrateur appartient, avant de lui demander d’approuver les autorisations nécessaires. Même si cela n’est pas strictement nécessaire, cela peut vous aider à créer une expérience plus intuitive pour les utilisateurs de l’organisation. Pour connecter l’utilisateur, suivez les tutoriels sur le protocole de la plateforme d’identités Microsoft.

Utilisation des autorisations

Une fois que l’utilisateur accepte les autorisations pour votre application, cette dernière peut acquérir des jetons d’accès représentant l’autorisation de votre application à accéder, dans une certaine capacité, à une ressource. Un jeton d’accès peut être utilisé pour une ressource uniquement, mais l’encodage de ce jeton comporte les informations relatives à toutes les autorisations octroyées pour cette ressource à votre application. Lorsque vous êtes prêt à demander les autorisations à l’administrateur de votre organisation, vous pouvez rediriger l’utilisateur vers le point de terminaison de consentement administrateur de la plateforme d’identités Microsoft. Les sauts de ligne sont uniquement destinés à la lisibilité.

GET https://login.microsoftonline.com/\{tenant\}/v2.0/adminconsent?

client_id=6731de76-14a6-49ae-97bc-6eba6914391e

state=12345

redirect_uri=http://localhost/myapp/permissions

scope=

    https://graph.microsoft.com/calendars.read

    https://graph.microsoft.com/mail.send





Paramètre Condition Description
tenant Obligatoire Le client d’annuaire auquel vous souhaitez demander l’autorisation. Peut être fourni au format GUID ou sous forme de nom convivial OU référencé de manière générique avec des organisations comme indiqué dans l’exemple. N’utilisez pas « common », car les comptes personnels ne peuvent pas fournir le consentement de l’administrateur, sauf dans le contexte d’un locataire. Pour garantir une meilleure compatibilité avec les comptes personnels qui gèrent les locataires, utilisez l’ID de locataire, dans la mesure du possible.
client_id Obligatoire L’ID (client) d’application attribué à votre application par l’environnement Inscriptions d’applications du portail Azure.
redirect_uri Obligatoire L'URI de redirection où vous souhaitez que la réponse soit envoyée pour être gérée par votre application. Il doit correspondre exactement à l’un des URI de redirection que vous avez inscrits dans le portail d’inscription des applications.
state Recommandé Une valeur incluse dans la requête, qui sera également renvoyée dans la réponse de jeton. Il peut s’agir d’une chaîne du contenu de votre choix. Utilisez l’état pour encoder les informations sur l’état de l’utilisateur dans l’application avant la requête d’authentification, comme la page ou la vue sur laquelle ou laquelle il était positionné.
scope Obligatoire Définit l’ensemble des autorisations demandées par l’application. Il peut s’agir d’étendues statiques (utilisant /.default) ou dynamiques. Cela peut inclure les étendues OIDC (openid, profile, email).

À ce stade, Microsoft Entra ID nécessite qu’un administrateur client se connecte pour compléter la requête. L’administrateur est invité à approuver toutes les autorisations que vous avez demandées dans le paramètre « scope ».