Masquer les URL avec une stratégie de transformation

Effectué

Les organisations peuvent avoir besoin d’adapter les informations qu’une API publie dans un délai court, par exemple pour se conformer à un changement de législation ou répondre à une nouvelle menace de sécurité.

L’exemple d’API de recensement expose des détails de l’URL à partir de laquelle l’API est appelée. Ces informations pourraient permettre à un utilisateur malveillant de tenter d’accéder aux données de recensement en contournant la passerelle Gestion des API et en exposant un point de terminaison moins sécurisé. En tant que développeur en chef, vous souhaitez masquer ces URL dans le corps de la réponse de l’API.

Ici, vous allez apprendre à utiliser des stratégies Gestion des API qui manipulent le contenu des en-têtes et des corps de réponse d’API.

Pourquoi transformer une réponse ?

Le corps de la réponse d’un appel d’API contient les données demandées. Dans l’API de recensement par exemple, le corps de la réponse contient les données JSON des personnes qui ont répondu au recensement. Vous pouvez également regarder comment le corps présente des liens d’URL pour voir des personnes individuelles :

Screenshot of a default HTTP response with the href value highlighted, showing an unmasked URL link.

Ces liens sont basés sur les points de terminaison de l’API de recensement et doivent être masqués pour afficher à la place les URL Gestion des API.

Pour obtenir cette configuration, créez une stratégie de transformation.

Remarque

Il est recommandé de sécuriser l’API back-end au moyen de l’un des mécanismes disponibles dans Gestion des API. Par exemple, configurez-le pour exiger un certificat client, puis configurez Gestion des API pour fournir ce certificat. Dans cette configuration, personne ne peut appeler directement l’API back-end ni contourner votre passerelle Gestion des API, car personne n’a de certificat reconnu par le back-end.

Stratégie de transformation

Une stratégie de transformation modifie le contenu d’un appel d’API. Certaines stratégies de transformation s’appliquent à l’en-tête, tandis que d’autres s’appliquent au corps. Les transformations suivantes sont disponibles :

Transformation Description
Convertir JSON en XML Convertit le corps de la requête ou de la réponse JSON au format XML.
Convertir XML en JSON Convertit le corps de la requête ou de la réponse XML au format JSON.
Rechercher et remplacer une chaîne dans le corps Recherche une sous-chaîne de requête ou de réponse et la remplace par une autre sous-chaîne.
Masquer les URL dans le contenu Réécrit les liens dans le corps de la réponse afin de les faire pointer vers un lien équivalent par l’intermédiaire de la passerelle.
Définir le service back-end Change le service back-end d’une requête entrante.
Définir le corps Définit le corps du message pour une requête ou une réponse.
Définir l’en-tête HTTP Affecte une valeur à un en-tête de réponse ou de requête existant, ou ajoute un nouvel en-tête de réponse ou de requête.
Définir un paramètre de chaîne de requête Ajoute un paramètre de chaîne de requête, le supprime ou remplace sa valeur.
URL de réécriture Convertit une URL de requête de sa forme publique en une forme attendue par le service web.
Transformer XML avec une XSLT Applique une transformation XSL au code XML du corps de la réponse ou de la requête.

Dans l’exercice suivant, vous allez utiliser la transformation Masquer les URL dans le contenu pour modifier les liens.