Sécuriser l’accès au portail des développeurs Gestion des API

S’APPLIQUE À : Développeur | Essentiel | Essentiel v2 | Standard | Standard v2 | Premium

Le service Gestion des API possède également un portail des développeurs autonome et entièrement personnalisable, qui peut être utilisé en externe (ou en interne) pour permettre à des développeurs de découvrir et d’interagir avec les API publiées via le service Gestion des API. Le portail des développeurs offre plusieurs options pour faciliter l’inscription et la connexion sécurisées des utilisateurs.

Remarque

Par défaut, le portail des développeurs active un accès anonyme. Cela signifie que tout le monde peut afficher le portail et le contenu tels que des API sans se connecter, bien que les fonctionnalités telles que l’utilisation de la console de test soient restreintes. Vous pouvez activer un paramètre qui oblige les utilisateurs à se connecter pour afficher le portail des développeurs. Dans le portail Azure, dans le menu de gauche de votre instance de Gestion des API, sous Portail des développeurs, sélectionnez Identités>Paramètres. Sous Utilisateurs anonymes, sélectionnez (activer) Rediriger les utilisateurs anonymes vers la page de connexion.

Options d’authentification

  • Utilisateurs externes : l’option préférée lorsque le portail des développeurs est utilisé en externe consiste à activer le contrôle d’accès B2C via Azure Active Directory B2C (Azure AD B2C).

    • Azure AD B2C offre la possibilité d’utiliser des comptes natifs Azure AD B2C : les utilisateurs s’inscrivent à Azure AD B2C et utilisent cette identité pour accéder au portail des développeurs.
    • Azure AD B2C est également utile si vous souhaitez que les utilisateurs accèdent au portail des développeurs en utilisant des comptes de réseaux sociaux existants ou des comptes professionnels fédérés.
    • Azure AD B2C fournit de nombreuses fonctionnalités pour améliorer l’expérience d’inscription et de connexion de l’utilisateur final, dont l’accès conditionnel et l’authentification multifacteur.

    Pour connaître les étapes d’activation de l’authentification Azure AD B2C dans le portail des développeurs, consultez Comment autoriser des comptes de développeurs avec Azure Active Directory B2C dans le service Gestion des API Azure.

  • Utilisateurs internes : l’option préférée quand le portail des développeurs est consommé en interne est de tirer parti de votre instance Microsoft Entra ID d’entreprise. Microsoft Entra ID offre une expérience d’authentification unique (SSO) fluide pour les utilisateurs d’entreprise qui doivent accéder aux API et les découvrir en utilisant le portail des développeurs.

    Pour connaître les étapes d’activation de l’authentification Microsoft Entra dans le portail des développeurs, consultez Comment autoriser des comptes de développeur avec Microsoft Entra ID dans Gestion des API Azure.

  • Authentification de base : une option par défaut consiste à utiliser le fournisseur intégré de nom d’utilisateur et de mot de passe du portail des développeurs, ce qui permet aux développeurs de s’inscrire directement au service Gestion des API et de se connecter en utilisant des comptes d’utilisateur du service Gestion des API. L’inscription d’utilisateur via cette option est protégée par un service CAPTCHA.

Console de test du portail des développeurs

En plus de fournir une configuration permettant aux développeurs de s’inscrire pour l’accès et se connecter, le portail des développeurs inclut une console de test où les développeurs peuvent envoyer des demandes de test aux API back-end via le service Gestion des API. Cette capacité de test existe également pour les contributeurs du service Gestion des API qui gèrent le service à l’aide du portail Azure.

Si l’API exposée via le service Gestion des API Azure est sécurisée avec OAuth 2.0 (autrement dit, une application appelante, ou porteur, doit obtenir et passer un jeton d’accès valide), vous pouvez configurer le service Gestion des API de façon à ce qu’il génère un jeton valide pour le compte d’un utilisateur de la console de test du portail Azure ou du portail des développeurs. Pour plus d’informations, consultez Comment autoriser la console de test du portail des développeurs en configurant une autorisation utilisateur OAuth 2.0.

Pour permettre à la console de test d’acquérir un jeton OAuth 2.0 valide pour les tests d’API :

  1. Ajoutez un serveur d’autorisation utilisateur OAuth 2.0 à votre instance. Vous pouvez utiliser n’importe quel fournisseur OAuth 2.0, notamment Microsoft Entra ID, Azure AD B2C ou un fournisseur d’identité tiers.

  2. Ensuite, configurez l’API avec les paramètres de ce serveur d’autorisation. Dans le portail, configurez l’autorisation OAuth 2.0 sur la page de Paramètres de l’API >Sécurité>Autorisation utilisateur.

    Capture d’écran des paramètres OAuth pour une API dans le portail.

Cette configuration d’OAuth 2.0 pour les tests d’API est indépendante de la configuration requise pour l’accès utilisateur au portail des développeurs. Toutefois, le fournisseur d’identité et l’utilisateur peuvent être identiques. Par exemple, une application intranet peut nécessiter l’accès de l’utilisateur au portail des développeurs à l’aide de l’authentification unique avec son identité d’entreprise. La même identité d’entreprise pourrait obtenir un jeton, via la console de test, pour le service de back-end appelé avec le même contexte d’utilisateur.

Scénarios

Différentes options d’authentification et d’autorisation s’appliquent à différents scénarios. Les sections suivantes explorent des configurations de haut niveau pour trois exemples de scénarios. D’autres étapes sont requises pour sécuriser et configurer des API exposées via le service Gestion des API. Toutefois, les scénarios se concentrent intentionnellement sur les configurations minimales recommandées dans chaque cas pour fournir l’authentification et l’autorisation requises.

Scénario 1 - API et applications intranet

  • Un contributeur du service Gestion des API et développeur d’API back-end souhaite publier une API sécurisée par OAuth 2.0.
  • L’API est consommée par des applications de bureau dont les utilisateurs se connectent avec Microsoft Entra ID.
  • Les développeurs d’applications de bureau doivent également découvrir et tester les API via le portail des développeurs du service Gestion des API.

Configurations des clés :

Configuration Référence
Autorisez les utilisateurs du portail des développeurs de Gestion des API à utiliser leurs identités d’entreprise et Microsoft Entra ID. Autoriser des comptes de développeurs à l’aide de Microsoft Entra ID dans Azure API Management
Configurez la console de test dans le portail des développeurs pour obtenir un jeton OAuth 2.0 valide pour les développeurs d’applications de bureau en vue d’exercer l’API back-end.

La même configuration peut être utilisée pour la console de test dans le portail Azure, qui est accessible aux contributeurs du service Gestion des API et aux développeurs d’API back-end.

Le jeton peut être utilisé en combinaison avec une clé d’abonnement de Gestion des API.
Comment autoriser la console de test du portail des développeurs en configurant l’autorisation utilisateur OAuth 2.0

Abonnements dans Gestion des API Azure
Validez le jeton et les revendications OAuth 2.0 quand une API est appelée via le service Gestion des API avec un jeton d’accès. Valider la stratégie JWT

Allez plus loin avec ce scénario en déplaçant le service Gestion des API dans le périmètre réseau et en contrôlant l’entrée via un proxy inverse. Pour voir une architecture de référence, consultez Protéger les API avec Application Gateway et le service Gestion des API.

Scénario 2 - API externe, application de partenaire

  • Un contributeur du service Gestion des API et développeur d’API back-end souhaite entreprendre une preuve de concept rapide pour exposer une API héritée via le service Gestion des API Azure. L’API via le service Gestion des API sera accessible de l’extérieur (Internet).
  • L’API utilise une authentification par certificat client et sera utilisée par une nouvelle application monopage (SPA) accessible au public en cours de développement extérieurement par un partenaire.
  • L’application monopage (SPA) utilise OAuth 2.0 avec OpenID Connect (OIDC).
  • Les développeurs d’applications accéderont à l’API dans un environnement de test via le portail des développeurs, en utilisant un point de terminaison d’API back-end de test pour accélérer le développement frontal.

Configurations des clés :

Configuration Référence
Configurez l’accès du développeur frontal au portail des développeurs en utilisant l’authentification par défaut avec un nom d’utilisateur et un mot de passe.

Des développeurs peuvent également être invités au portail des développeurs.
Configurer les utilisateurs du portail des développeurs pour s’authentifier à l’aide de noms d’utilisateur et de mots de passe

Gestion des comptes d’utilisateur dans Gestion des API Azure
Validez le jeton et les revendications OAuth 2.0 quand l’application monopage (SPA) appelle le service Gestion des API avec un jeton d’accès. Dans ce cas, le public est le service Gestion des API. Valider la stratégie JWT
Configurez le service Gestion des API pour utiliser l’authentification par certificat client auprès de l’API back-end. Sécuriser les services principaux à l’aide d’une authentification par certificat client dans Gestion des API Azure

Allez plus loin dans ce scénario en utilisant le portail des développeurs avec une autorisation Microsoft Entra et Microsoft Entra B2B Collaboration pour permettre aux partenaires de livraison de collaborer plus étroitement. Envisagez de déléguer l’accès au service Gestion des API via RBAC dans un environnement de développement ou de test, et activez l’authentification unique dans le portail des développeurs à l’aide d’informations d’identification d’entreprise propres.

Scénario 3 - API externe, SaaS, ouvert au public

  • Un contributeur du service Gestion des API et développeur d’API back-end écrit plusieurs nouvelles API qui seront disponibles pour les développeurs de la communauté.

  • Les API pleinement fonctionnelles seront disponibles publiquement, protégées derrière un péage, et sécurisées à l’aide d’OAuth 2.0. Après avoir acheté une licence, le développeur recevra des informations d’identification client et clé d’abonnement personnelles valides pour une utilisation en production.

  • Des développeurs de communautés externes découvriront les API à l’aide du portail des développeurs. Les développeurs s’inscriront et se connecteront au portail des développeurs en utilisant leurs comptes de réseaux sociaux.

  • Des utilisateurs intéressés du portail des développeurs disposant d’une clé d’abonnement de test pourront explorer la fonctionnalité de l’API dans un contexte de test, sans avoir à acheter de licence. La console de test du portail des développeurs représente l’application appelante et génère un jeton d’accès par défaut à l’API back-end.

    Attention

    Une attention particulière est requise lors de l’utilisation d’un flux d’informations d’identification de client avec la console de test du portail du développeur. Voir Considérations relatives à la sécurité.

Configurations des clés :

Configuration Référence
Configurez les produits dans le service Gestion des API Azure pour représenter les combinaisons d’API exposées aux développeurs de la communauté.

Configurez les abonnements pour permettre aux développeurs d’utiliser les API.
Tutoriel : Créer et publier un produit

Abonnements dans Gestion des API Azure
Configurez un accès de développeur de la communauté au portail des développeurs à l’aide d’Azure AD B2C. Azure AD B2C peut ensuite être configuré pour fonctionner avec un ou plusieurs fournisseurs d’identité de réseaux sociaux en aval. Comment autoriser des comptes de développeurs avec Azure Active Directory B2C dans Gestion des API Azure
Configurez la console de test dans le portail des développeurs pour obtenir un jeton d’accès OAuth 2.0 valide à l’API back-end à l’aide du flux d’informations d’identification de client. Comment autoriser la console de test du portail des développeurs en configurant l’autorisation utilisateur OAuth 2.0

Ajustez les étapes de configuration décrites dans cet article pour utiliser le flux d’octroi d’informations d’identification de client au lieu du flux d’octroi de code d’autorisation.

Allez plus loin en délégant l’inscription d’utilisateur ou l’abonnement au produit, et étendez le processus avec votre propre logique.

Étapes suivantes