Apim oauth2
Protéger une API dans Gestion des API Azure à l’aide de l’autorisation OAuth 2.0 avec l’ID Microsoft Entra
S’APPLIQUE À : Tous les niveaux de Gestion des API
Dans cet article, vous allez découvrir les étapes de haut niveau pour configurer votre instance Gestion des API Azure afin de protéger une API, à l’aide du protocole OAuth 2.0 avec l’ID Microsoft Entra.
Pour obtenir une vue d’ensemble conceptuelle de l’autorisation d’API, consultez Authentification et autorisation des API dans Gestion des API.
Conditions préalables
Avant de suivre les étapes décrites dans cet article, vous devez disposer des éléments suivants :
- Une instance de gestion des API
- Une API publiée à l’aide de l’instance de gestion des API
- Une présentation du locataire Microsoft Entra
Suivez
ces étapes pour protéger une API dans Gestion des API à l’aide de l’autorisation OAuth 2.0 avec l’ID Microsoft Entra.
-
Inscrivez une application (appelée backend-app dans cet article) dans Microsoft Entra ID pour protéger l’accès à l’API.
Pour accéder à l’API, les utilisateurs ou les applications doivent acquérir et présenter un jeton OAuth valide accordant l’accès à cette application à chaque demande d’API.
-
Configurez la stratégie validate-jwt dans Gestion des API pour valider le jeton OAuth présenté dans chaque demande d’API entrante. Les requêtes valides peuvent être transmises à l’API.
Les détails sur les flux d’autorisation OAuth et sur la façon de générer les jetons OAuth requis dépassent le cadre de cet article. En règle générale, une application cliente distincte est utilisée pour acquérir des jetons à partir de Microsoft Entra ID qui autorisent l’accès à l’API. Pour obtenir des liens vers plus d’informations, consultez la section Étapes suivantes.
Inscrire une application dans Microsoft Entra ID pour représenter l’API
À l’aide du portail Azure, protéger un API avec Microsoft Entra ID en inscrivant d’abord une application qui représente l’API.
Pour plus d’informations sur l’inscription d’une application, consultez Démarrage rapide : Configurer une application pour exposer une API web.
-
Dans le portail Azure, recherchez et sélectionnez Inscriptions d’applications .
-
Sélectionnez Nouvelle inscription .
-
Lorsque la page Inscrire une application s’affiche, entrez les informations d’inscription de votre application :
- Dans la section Nom, entrez un nom d’application significatif qui sera affiché pour les utilisateurs de l’application, par exemple backend-app .
- Dans la section Types de comptes pris en charge, sélectionnez une option adaptée à votre scénario.
-
Quitter l’URI de redirection section vide.
-
Sélectionnez S’inscrire pour créer l’application.
-
Sur la page Vue d’ensemble de l’application, recherchez la valeur de l’ID de l’application (client) et enregistrez-la pour plus tard.
-
Dans la section Gérer du menu latéral, sélectionnez Exposer une API et définissez l’URI de l’ID d’application avec la valeur par défaut. Si vous développez une application cliente distincte pour obtenir des jetons OAuth 2.0 pour l’accès à l’application principale, enregistrez cette valeur pour plus tard.
-
Sélectionnez le bouton Ajouter une étendue pour afficher la page Ajouter une étendue :
- Entrez un nouveau nom de portée , un nom d’affichage de consentement de l’administrateur et Admin description du consentement .
- Assurez-vous que l’état de l’étendue Activé est sélectionné.
-
Sélectionnez le bouton Ajouter une étendue pour créer l’étendue.
-
Répétez les deux étapes précédentes pour ajouter toutes les étendues prises en charge par votre API.
-
Une fois les étendues créées, notez-les pour une utilisation ultérieure.
Configurer une stratégie de validation JWT pour préautoriser les demandes L’exemple
de stratégie suivant, lorsqu’il est ajouté à la section de stratégie, vérifie la valeur de la revendication d’audience dans un jeton d’accès obtenu à partir de l’ID Microsoft Entra présenté dans l’en-tête Authorization. Il renvoie un message d’erreur si le jeton n’est pas valide. Configurez cette stratégie à une étendue de stratégie appropriée à votre scénario.
- Dans l’URL, il s’agit de l’ID de locataire dans Recherchez cette valeur dans le portail Azure, par exemple, dans la page Vue d’ensemble de votre ressource Microsoft Entra. L’exemple présenté suppose une application Microsoft Entra à locataire unique et un point de terminaison de configuration v2.
- La valeur de est l’ID client de l’application backend que vous avez inscrite dans Microsoft Entra ID.
Remarque
L’URL précédente correspond au point de terminaison v2. Pour le point de terminaison v1, utilisez .
Pour plus d’informations sur la configuration des stratégies, consultez Définir ou modifier des stratégies. Reportez-vous à la référence validate-jwt pour plus de personnalisation sur les validations JWT. Pour valider un JWT fourni par le service Microsoft Entra, Gestion des API fournit également la stratégie.
Flux de travail d’autorisation
-
Un utilisateur ou une application acquiert un jeton à partir de Microsoft Entra ID avec des autorisations qui accordent l’accès à l’ID application backend.
-
Le jeton est ajouté dans l’en-tête Authorization des demandes d’API à Gestion des API.
-
Gestion des API valide le jeton à l’aide de la stratégie.
-
Si une demande ne dispose pas d’un jeton valide, Gestion des API la bloque.
-
Si une demande est accompagnée d’un jeton valide, la passerelle peut transmettre la demande à l’API.
-