S’APPLIQUE À : Tous les niveaux de Gestion des API
Dans ce tutoriel, vous allez découvrir comment configurer des stratégies pour protéger ou transformer votre API. Les stratégies sont un ensemble d’instructions qui sont exécutées de manière séquentielle sur la requête ou la réponse d’une API et qui en modifient le comportement.
Par exemple, vous pourriez vouloir définir un en-tête de réponse personnalisé. Vous pouvez également protéger votre API back-end en configurant une stratégie de limite de débit, de sorte que celle-ci ne soit pas utilisée de manière excessive par les développeurs. Ces exemples ne sont qu’une simple introduction aux stratégies de Gestion des API. Pour plus d’options de stratégie, consultez les stratégies de la Gestion des API.
Notes
Par défaut, la Gestion des API configure une stratégie forward-request globale. La stratégie forward-request est nécessaire pour que la passerelle termine une demande adressée à un service principal.
Dans ce tutoriel, vous allez apprendre à :
Transformer une API pour définir un en-tête de réponse personnalisé
Protéger une API en ajoutant une stratégie de limite de débit (limitation)
Suivez ce guide de démarrage rapide : Créer une instance du service Gestion des API Azure. Pour ce tutoriel, nous vous recommandons d’utiliser l’un des niveaux classiques ou v2, par exemple le niveau Développeur ou le niveau Essentiel v2. Le niveau Consommation ne prend pas en charge toutes les stratégies utilisées dans ce tutoriel.
Dans le Portail Azure, recherchez et sélectionnez Services API Management.
Dans la page Services Gestion des API, sélectionnez votre instance Gestion des API.
Tester la réponse d’origine
Pour consulter la réponse d’origine :
Dans votre instance du service Gestion des API, sélectionnez API.
Dans votre liste d’API, sélectionnez Animalerie Swagger.
Sélectionnez l’onglet Test, en haut de l’écran.
Sélectionnez l’opération GET Recherche des animaux de compagnie par État, puis sélectionnez facultativement une valeur différente pour l’état du paramètre de Requête. Sélectionnez Envoyer.
La réponse d’API d’origine doit être similaire à la réponse suivante :
Transformer une API pour ajouter un en-tête de réponse personnalisé
La Gestion des API inclut plusieurs stratégies de transformation que vous pouvez utiliser pour modifier les charges utiles des requêtes ou des réponses, les en-têtes ou les codes d’état. Dans cet exemple, vous définissez un en-tête de réponse personnalisé dans la réponse de l’API.
Définir la stratégie de transformation
Cette section vous montre comment configurer un en-tête de réponse personnalisé à l’aide de la stratégie set-header. Ici, vous utilisez un éditeur de stratégie basé sur des formulaires qui simplifie la configuration de la stratégie.
Sélectionnez Animalerie Swagger>Conception>Toutes les opérations.
Dans la section Traitement entrant, sélectionnez + Ajouter une stratégie.
Dans la fenêtre Ajouter une stratégie sortante, sélectionnez Définir les en-têtes.
Pour configurer la stratégie Définir les en-têtes, effectuez ces étapes :
Sous Nom, saisissez personnalisé.
Sous Valeur, sélectionnez + Ajouter une valeur. Saisissez « Ma valeur personnalisée ».
Cliquez sur Enregistrer.
Après la configuration, un élément de stratégie set-header s’affichent dans la section Traitement des flux sortants.
Protéger une API en ajoutant une stratégie de limite de débit (limitation)
Cette section montre comment ajouter une protection à votre API back-end en configurant des limites de débit, afin que l’API ne soit pas sur-utilisée par les développeurs. Cet exemple montre comment configurer la stratégie rate-limit-by-key à l’aide de l’éditeur de code. Dans cet exemple, la limite est fixée à trois appels par 15 secondes. Après 15 secondes, un développeur peut de nouveau tenter d’appeler l’API.
Notes
Cette stratégie n’est pas prise en charge dans le niveau Consommation.
Sélectionnez Animalerie Swagger>Conception>Toutes les opérations.
Dans la section Traitement entrant, sélectionnez l’icône Éditeur de code (</>).
Placez le curseur à l’intérieur de l’élément <inbound> sur une ligne vide. Sélectionnez ensuite Afficher les extraits de code en haut à droite de l’écran.
Dans la fenêtre de droite, sous Stratégies de restriction des accès, sélectionnez Limite le débit des appels par clé.
L’élément <rate-limit-by-key /> est ajouté au curseur.
Remplacez votre code <rate-limit-by-key /> dans l’élément <inbound> par le code suivant : Ensuite, sélectionnez Enregistrer.
Le reste de cette section est dédié au test des transformations de stratégies définies dans cet article.
Tester l’en-tête de réponse personnalisé
Sélectionnez Animalerie Swagger>Test.
Sélectionnez l’opération GET Recherche des animaux de compagnie par État, puis sélectionnez facultativement une valeur différente pour l’état du paramètre de Requête. Sélectionnez Envoyer.
Comme vous pouvez le voir, l’en-tête de réponse personnalisé est ajouté :
Tester la limite de débit (limitation)
Sélectionnez Animalerie Swagger>Test.
Sélectionnez l’opération GET Recherche des animaux de compagnie par État. Sélectionnez Envoyer plusieurs fois de suite.
Après avoir envoyé trop de requêtes au cours de la période configurée, vous obtenez la réponse 429 Trop de requêtes.
Attendez 15 secondes ou plus, puis resélectionnez Envoyer. Cette fois, vous devriez obtenir une réponse 200 OK.
Résumé
Dans ce didacticiel, vous avez appris à :
Transformer une API pour définir un en-tête de réponse personnalisé
Protéger une API en ajoutant une stratégie de limite de débit (limitation)
Protégez vos API back-end d’une exposition d’informations et implémentez une limitation pour empêcher l’épuisement des ressources en utilisant des stratégies dans Gestion des API Azure.
Écrivez des requêtes efficaces, créez des stratégies d’indexation, gérez et approvisionnez des ressources dans l’API SQL et le Kit de développement logiciel (SDK) avec Microsoft Azure Cosmos DB.