Démarrage rapide : Configurer une application cliente pour accéder à une API webQuickstart: Configure a client application to access a web API

Dans ce guide de démarrage rapide, vous fournissez à une application cliente inscrite auprès de la plateforme d’identités Microsoft un accès délimité basé sur les autorisations à votre propre API web.In this quickstart, you provide a client app registered with the Microsoft identity platform with scoped, permissions-based access to your own web API. Vous fournissez également à l’application cliente l’accès à Microsoft Graph.You also provide the client app access to Microsoft Graph.

En spécifiant les étendues d’une API web dans l’inscription de votre application cliente, l’application cliente peut obtenir un jeton d’accès contenant ces étendues à partir de la plateforme d’identités Microsoft.By specifying a web API's scopes in your client app's registration, the client app can obtain an access token containing those scopes from the Microsoft identity platform. Dans son code, l’API web peut ensuite fournir un accès basé sur les autorisations à ses ressources en fonction des étendues se trouvant dans le jeton d’accès.Within its code, the web API can then provide permission-based access to its resources based on the scopes found in the access token.

PrérequisPrerequisites

Ajouter des autorisations pour accéder à votre API webAdd permissions to access your web API

Dans le premier scénario, vous accordez à une application cliente l’accès à votre propre API web, que vous devez avoir toutes les deux inscrites dans le cadre des prérequis.In the first scenario, you grant a client app access to your own web API, both of which you should have registered as part of the prerequisites. Si vous n’avez pas encore inscrit une application cliente et une API web, effectuez les étapes décrites dans les deux articles Prérequis.If you don't yet have both a client app and a web API registered, complete the steps in the two Prerequisites articles.

Ce diagramme montre comment les deux inscriptions d’applications sont liées entre elles.This diagram shows how the two app registrations relate to one another. Dans cette section, vous allez ajouter des autorisations à l’inscription de l’application cliente.In this section, you add permissions to the client app's registration.

Diagramme linéaire montrant une API web avec, à droite, des étendues exposées et, à gauche, une application cliente où ces étendues sont sélectionnées comme autorisations

Une fois que vous avez inscrit votre application cliente et votre API web et que vous avez exposé l’API en créant des étendues, vous pouvez configurer les autorisations du client sur l’API en effectuant les étapes suivantes :Once you've registered both your client app and web API and you've exposed the API by creating scopes, you can configure the client's permissions to the API by following these steps:

  1. Connectez-vous au portail Azure.Sign in to the Azure portal.

  2. Si vous avez accès à plusieurs locataires, utilisez le filtre Répertoire + abonnement dans le menu du haut pour sélectionner le locataire contenant l’inscription de votre application cliente.

  3. Sélectionnez Azure Active Directory > Inscriptions d’applications, puis votre application cliente (et pas votre API web).Select Azure Active Directory > App registrations, and then select your client application (not your web API).

  4. Sélectionnez Autorisations des API > Ajouter une autorisation > Mes API.Select API permissions > Add a permission > My APIs.

  5. Sélectionnez l’API web que vous avez inscrite dans le cadre des prérequis.Select the web API you registered as part of the prerequisites.

    Les autorisations déléguées sont sélectionnées par défaut.Delegated permissions is selected by default. Les autorisations déléguées sont appropriées pour les applications clientes qui accèdent à une API web en tant qu’utilisateur connecté, et dont l’accès doit être limité aux autorisations que vous sélectionnez à l’étape suivante.Delegated permissions are appropriate for client apps that access a web API as the signed-in user, and whose access should be restricted to the permissions you select in the next step. Laissez l’option Autorisations déléguées sélectionnée pour cet exemple.Leave Delegated permissions selected for this example.

    Les autorisations d’application sont pour les applications de type service ou démon qui doivent accéder à une API web de façon autonome, sans interaction utilisateur pour la connexion ou le consentement.Application permissions are for service- or daemon-type applications that need to access a web API as themselves, without user interaction for sign-in or consent. Si vous n’avez pas défini de rôles d’application pour votre API web, cette option est désactivée.Unless you've defined application roles for your web API, this option is disabled.

  6. Sous Sélectionner des autorisations, développez la ressource dont vous avez défini les étendues pour votre API web, puis sélectionnez les autorisations dont l’application cliente doit disposer pour le compte de l’utilisateur connecté.Under Select permissions, expand the resource whose scopes you defined for your web API, and select the permissions the client app should have on behalf of the signed-in user.

    Si vous avez utilisé les exemples de noms d’étendues spécifiés dans le guide de démarrage rapide précédent, vous devez voir Employees.Read.All et Employees.Write.All.If you used the example scope names specified in the previous quickstart, you should see Employees.Read.All and Employees.Write.All. Sélectionnez Employees.Read.All ou une autre autorisation que vous avez créée quand vous avez rempli les prérequis.Select Employees.Read.All or another permission you might have created when completing the prerequisites.

  7. Sélectionnez Ajouter des autorisations pour terminer le processus.Select Add permissions to complete the process.

Une fois les autorisations ajoutées à votre API, vous devez voir les autorisations sélectionnées sous Autorisations configurées.After adding permissions to your API, you should see the selected permissions under Configured permissions. L’image suivante montre l’exemple d’autorisation déléguée Employees.Read.All ajoutée à l’inscription de l’application cliente.The following image shows the example Employees.Read.All delegated permission added to the client app's registration.

Diagramme linéaire montrant une API web avec, à droite, des étendues exposées et, à gauche, une application cliente où ces étendues sont sélectionnées comme autorisations

Vous pouvez également remarquer l’autorisation User.Read pour l’API Microsoft Graph.You might also notice the User.Read permission for the Microsoft Graph API. Cette autorisation est automatiquement ajoutée quand vous inscrivez une application dans le portail Azure.This permission is added automatically when you register an app in the Azure portal.

Ajouter des autorisations pour accéder à Microsoft GraphAdd permissions to access Microsoft Graph

En plus d’accéder à votre propre API web pour le compte de l’utilisateur connecté, votre application peut également avoir besoin d’accéder aux données de l’utilisateur (ou d’autres utilisateurs) stockées dans Microsoft Graph ou de les modifier.In addition to accessing your own web API on behalf of the signed-in user, your application might also need to access or modify the user's (or other) data stored in Microsoft Graph. Ou vous disposez peut-être d’une application de service ou démon qui doit accéder eux-mêmes à Microsoft Graph, en effectuant les opérations sans aucune interaction utilisateur.Or you might have service or daemon app that needs to access Microsoft Graph as itself, performing operations without any user interaction.

Autorisation déléguée pour Microsoft GraphDelegated permission to Microsoft Graph

Configurez l’autorisation déléguée pour Microsoft Graph afin de permettre à votre application cliente d’effectuer des opérations pour le compte de l’utilisateur connecté, par exemple lire ses e-mails ou modifier son profil.Configure delegated permission to Microsoft Graph to enable your client application to perform operations on behalf of the logged-in user, for example reading their email or modifying their profile. Par défaut, les utilisateurs de votre application cliente sont invités, au moment où ils se connectent, à donner leur consentement pour les autorisations déléguées que vous avez configurées pour celle-ci.By default, users of your client app are asked when they sign in to consent to the delegated permissions you've configured for it.

  1. Connectez-vous au portail Azure.Sign in to the Azure portal.

  2. Si vous avez accès à plusieurs locataires, utilisez le filtre Répertoire + abonnement dans le menu du haut pour sélectionner le locataire contenant l’inscription de votre application cliente.

  3. Sélectionnez Azure Active Directory > Inscriptions d’applications, puis votre application cliente.Select Azure Active Directory > App registrations, and then select your client application.

  4. Sélectionnez Autorisations de l’API > Ajouter une autorisation > Microsoft Graph.Select API permissions > Add a permission > Microsoft Graph

  5. Sélectionnez Autorisations déléguées.Select Delegated permissions. Microsoft Graph expose de nombreuses autorisations, avec celles les plus couramment utilisées affichées en haut de la liste.Microsoft Graph exposes many permissions, with the most commonly used shown at the top of the list.

  6. Sous Sélectionner des autorisations, sélectionnez les autorisations suivantes :Under Select permissions, select the following permissions:

    AutorisationPermission DescriptionDescription
    email Afficher l’adresse e-mail des utilisateursView users' email address
    offline_access Conserver l’accès aux données auxquelles vous lui avez donné accèsMaintain access to data you have given it access to
    openid Connecter les utilisateursSign users in
    profile Afficher le profil de base des utilisateursView users' basic profile
  7. Sélectionnez Ajouter des autorisations pour terminer le processus.Select Add permissions to complete the process.

Chaque fois que vous configurez des autorisations, les utilisateurs de votre application sont invités à se connecter afin de donner leur consentement pour autoriser votre application à accéder à l’API de ressource en leur nom.Whenever you configure permissions, users of your app are asked at sign-in for their consent to allow your app to access the resource API on their behalf.

En tant qu’administrateur, vous pouvez également accorder votre consentement pour le compte de tous les utilisateurs afin qu’ils ne soient pas invités à le faire.As an admin, you can also grant consent on behalf of all users so they're not prompted to do so. Le consentement administrateur est abordé plus loin dans la section En savoir plus sur les autorisations d’API et le consentement administrateur de cet article.Admin consent is discussed later in the More on API permissions and admin consent section of this article.

Autorisation d’application pour Microsoft GraphApplication permission to Microsoft Graph

Configurez des autorisations d’application pour une application qui doit s’authentifier de façon autonome, sans interaction ou consentement de l’utilisateur.Configure application permissions for an application that needs to authenticate as itself without user interaction or consent. Les autorisations d’application sont généralement utilisées par des services d’arrière-plan ou les applications démon qui accèdent à une API de manière « non interactive » et par des API web qui accèdent à une autre API (en aval).Application permissions are typically used by background services or daemon apps that access an API in a "headless" manner, and by web APIs that access another (downstream) API.

Dans les étapes suivantes, vous accordez une autorisation à l’autorisation Files.Read.All de Microsoft Graph, par exemple.In the following steps, you grant permission to Microsoft Graph's Files.Read.All permission as an example.

  1. Connectez-vous au portail Azure.Sign in to the Azure portal.

  2. Si vous avez accès à plusieurs locataires, utilisez le filtre Répertoire + abonnement dans le menu du haut pour sélectionner le locataire contenant l’inscription de votre application cliente.

  3. Sélectionnez Azure Active Directory > Inscriptions d’applications, puis votre application cliente.Select Azure Active Directory > App registrations, and then select your client application.

  4. Sélectionnez Autorisations de l’API > Ajouter une autorisation > Microsoft Graph > Autorisations de l’application.Select API permissions > Add a permission > Microsoft Graph > Application permissions.

  5. Toutes les autorisations exposées par Microsoft Graph sont affichées sous Sélectionner des autorisations.All permissions exposed by Microsoft Graph are shown under Select permissions.

  6. Sélectionnez la ou les autorisations que vous voulez accorder à votre application.Select the permission or permissions you want to grant your application. Par exemple, vous pouvez avoir une application démon qui analyse les fichiers de votre organisation, déclenchant des alertes sur un type ou un nom de fichier spécifique.As an example, you might have a daemon app that scans files in your organization, alerting on a specific file type or name.

    Sous Sélectionner des autorisations, développez Fichiers, puis sélectionnez l’autorisation Files.Read.All.Under Select permissions, expand Files, and then select the Files.Read.All permission.

  7. Sélectionnez Ajouter des autorisations.Select Add permissions.

Certaines autorisations, comme Files.Read.All de Microsoft Graph, exigent un consentement administrateur.Some permissions, like Microsoft Graph's Files.Read.All permission, require admin consent. Vous accordez un consentement administrateur en sélectionnant le bouton Accorder un consentement administrateur, décrit plus loin dans la section Bouton de consentement administrateur.You grant admin consent by selecting the Grant admin consent button, discussed later in the Admin consent button section.

Configurer les informations d’identification du clientConfigure client credentials

Les applications qui utilisent des autorisations d’application s’authentifient eux-mêmes en utilisant leurs propres informations d’identification, sans qu’aucune interaction utilisateur ne soit nécessaire.Apps that use application permissions authenticate as themselves by using their own credentials, without requiring any user interaction. Pour que votre application (ou API) puisse accéder à Microsoft Graph, à votre propre API web ou à toute autre API en utilisant des autorisations d’application, vous devez configurer les informations d’identification de cette application cliente.Before your application (or API) can access Microsoft Graph, your own web API, or any another API by using application permissions, you need to configure that client app's credentials.

Pour plus d’informations sur la configuration des informations d’identification d’une application, consultez la section Ajouter des informations d’identification du guide de Démarrage rapide : Inscrire une application avec la plateforme des identités Microsoft.For more information about configuring an app's credentials, see the Add credentials section of Quickstart: Register an application with the Microsoft identity platform.

Le volet Autorisations de l’API d’une inscription d’application contient un tableau Autorisations configurées, et peut également contenir un tableau Autres autorisations accordées.The API permissions pane of an app registration contains a Configured permissions table, and might also contain an Other permissions granted table. Ces deux tableaux et le bouton de consentement de l’administrateur sont décrits dans les sections suivantes.Both tables and the Admin consent button are described in the following sections.

Autorisations configuréesConfigured permissions

Le tableau Autorisations configurées du volet Autorisations de l’API affiche la liste des autorisations dont votre application a besoin pour le fonctionnement de base : la liste d’accès aux ressources nécessaires.The Configured permissions table on the API permissions pane shows the list of permissions that your application requires for basic operation - the required resource access (RRA) list. Les utilisateurs, ou leurs administrateurs, doivent donner leur consentement à ces autorisations avant d’utiliser votre application.Users, or their admins, will need to consent to these permissions before using your app. D’autres autorisations facultatives peuvent être demandées ultérieurement au moment de l’exécution (à l’aide du consentement dynamique).Other, optional permissions can be requested later at runtime (using dynamic consent).

Il s’agit de la liste minimale des autorisations auxquelles les utilisateurs doivent donner leur consentement pour votre application.This is the minimum list of permissions people will have to consent to for your app. Il peut y en avoir d’autres, mais celles-ci sont toujours nécessaires.There could be more, but these will always be required. Pour des questions de sécurité et pour permettre aux utilisateurs et aux administrateurs de mieux maîtriser l’utilisation de votre application, ne demandez jamais quelque chose dont vous n’avez pas besoin.For security and to help users and admins feel more comfortable using your app, never ask for anything you don’t need.

Vous pouvez ajouter ou supprimer les autorisations qui s’affichent dans ce tableau en effectuant les étapes décrites ci-dessus ou celles mentionnées dans Autres autorisations accordées (dans la section suivante).You can add or remove the permissions that appear in this table by using the steps outlined above or from Other permissions granted (described in the next section). En tant qu’administrateur, vous pouvez accorder un consentement administrateur pour l’ensemble complet des autorisations d’une API qui s’affichent dans le tableau et révoquer un consentement pour des autorisations individuelles.As an admin, you can grant admin consent for the full set of an API's permissions that appear in the table, and revoke consent for individual permissions.

Autres autorisations accordéesOther permissions granted

Vous pouvez également voir un tableau intitulée Autres autorisations accordées pour {votre locataire} dans le volet Autorisations de l’API.You might also see a table entitled Other permissions granted for {your tenant} on the API permissions pane. Le tableau Autres autorisations accordées pour {votre locataire} présente les autorisations accordées pour le locataire et qui n’ont pas été explicitement configurées sur l’objet application.The Other permissions granted for {your tenant} table shows permissions granted for the tenant that haven't been explicitly configured on the application object. Ces autorisations ont été demandées et accordées dynamiquement.These permissions were dynamically requested and consented to. Cette section s’affiche uniquement s’il existe au moins une autorisation qui s’applique.This section appears only if there is at least one permission that applies.

Vous pouvez ajouter l’ensemble complet des autorisations d’une API ou des autorisations individuelles s’affichant dans ce tableau au tableau Autorisations configurées.You can add the full set of an API's permissions or individual permissions appearing this table to the Configured permissions table. En tant qu’administrateur, vous pouvez révoquer un consentement administrateur pour des API ou pour des autorisations individuelles dans cette section.As an admin, you can revoke admin consent for APIs or individual permissions in this section.

Le bouton Accorder un consentement d’administrateur pour {votre locataire} permet à un administrateur d’accorder le consentement administrateur aux autorisations configurées pour l’application.The Grant admin consent for {your tenant} button allows an admin to grant admin consent to the permissions configured for the application. Quand vous sélectionnez ce bouton, une boîte de dialogue s’affiche pour vous demander de confirmer l’action de consentement.When you select the button, a dialog is shown requesting that you confirm the consent action.

Diagramme linéaire montrant une API web avec, à droite, des étendues exposées et, à gauche, une application cliente où ces étendues sont sélectionnées comme autorisations

Une fois le consentement accordé, les autorisations exigées par le consentement administrateur sont indiquées comme ayant reçu le consentement :After granting consent, the permissions that required admin consent are shown as having consent granted:

Diagramme linéaire montrant une API web avec, à droite, des étendues exposées et, à gauche, une application cliente où ces étendues sont sélectionnées comme autorisations

Le bouton Accorder un consentement administrateur est désactivé si vous n’êtes pas administrateur ou si aucune autorisation n’a été configurée pour l’application.The Grant admin consent button is disabled if you aren't an admin or if no permissions have been configured for the application. Si vous disposez d’autorisations qui ont été accordées mais qui n’ont pas encore été configurées, le bouton de consentement administrateur vous invite à gérer ces autorisations.If you have permissions that have been granted but not yet configured, the admin consent button prompts you to handle these permissions. Vous pouvez les ajouter aux autorisations configurées ou les supprimer.You can add them to configured permissions or remove them.

Étapes suivantesNext steps

Passez au démarrage rapide suivant de la série pour savoir comment configurer les types de compte pouvant accéder à votre application.Advance to the next quickstart in the series to learn how to configure which account types can access your application. Par exemple, vous souhaiterez peut-être limiter l’accès aux seuls utilisateurs de votre organisation (locataire unique) ou autoriser les utilisateurs d’autres locataires Azure AD (multilocataire) et ceux avec des comptes personnels Microsoft (MSA).For example, you might want to limit access only to those users in your organization (single-tenant) or allow users in other Azure AD tenants (multi-tenant) and those with personal Microsoft accounts (MSA).