Partage via


Synchroniser les API d’Amazon API Gateway vers Azure API Center (préversion)

Cet article vous explique comment intégrer une instance d’Amazon API Gateway de sorte que les API de la passerelle soient en permanence tenues à jour dans l’inventaire de votre centre d’API.

À propos de l’intégration d’Amazon API Gateway

L’intégration d’Amazon API Gateway en tant que source d’API de votre centre d’API a pour effet d’activer la synchronisation continue et ainsi de tenir à jour l’inventaire des API. Azure API Center peut également synchroniser les API de certaines sources, notamment de Gestion des API Azure.

Lorsque vous intégrez une instance d’Amazon API Gateway en tant que source d’API, voici ce qu’il se passe :

  1. Les API, y compris les éventuelles définitions d’API (spécifications), de l’instance d’API Gateway sont ajoutées à l’inventaire du centre d’API.
  2. Vous configurez un environnement de type Amazon API Gateway dans le centre d’API.
  3. Un déploiement associé est créé pour chaque définition d’API synchronisée.

La synchronisation d’Amazon API Gateway vers votre centre d’API Azure est unidirectionnelle, ce qui signifie que les mises à jour d’API dans le centre d’API ne sont pas synchronisées en retour vers Amazon API Gateway.

Remarque

  • L’intégration d’Amazon API Gateway est actuellement disponible en préversion.
  • Il existe des limites au nombre de sources d’API pouvant être intégrées.
  • La synchronisation des API entre Amazon API Gateway et votre centre d’API se produit une fois par heure. Seules les API REST sont synchronisées.
  • Les définitions d’API se synchronisent également avec le centre d’API si vous sélectionnez l’option permettant de les inclure pendant l’intégration. Seules les définitions des API déployées sont synchronisées.

Entités synchronisées depuis Amazon API Gateway

Vous pouvez ajouter des propriétés de métadonnées et de la documentation aux API synchronisées de votre centre d’API (ou les mettre à jour) pour aider les parties prenantes à découvrir, comprendre et utiliser les API. En savoir plus sur les propriétés de métadonnées intégrées et personnalisées d’Azure API Center.

Le tableau suivant présente les propriétés d’entité qui peuvent être modifiées dans Azure API Center et les propriétés définies en fonction de leurs valeurs dans la source de l’API.

Entité Propriétés configurables dans API Center Propriétés déterminées dans la source API intégrée
API résumé
lifecycleStage
termsOfService
license
externalDocumentation
customProperties
title
description
kind
Version d’API lifecycleStage title
définitions (si synchronisées)
Environment title
description
kind
server.managementPortalUri
intégration
customProperties
server.type
Déploiement title
description
serveur
state
customProperties
server.runtimeUri

Remarque

Les IDs de ressources et de système pour les entités synchronisées avec Azure API Center sont générés automatiquement et ne peuvent pas être modifiés.

Prérequis

  • Un Centre d’API dans votre abonnement Azure. Si vous n’en avez pas créé, consultez Démarrage rapide : Créer votre Centre API.

  • Un coffre de clés Azure. Si vous devez en créer un, veuillez consulter le guide Démarrage rapide : Créer un coffre de clés à l’aide du Portail Azure. Pour ajouter ou gérer des secrets dans le coffre de clés, les autorisations du rôle Agent des secrets Key Vault ou leur équivalent sont nécessaires.

  • Une instance d’Amazon API Gateway.

  • Une identité d’utilisateur AWS IAM avec la stratégie AmazonAPIGatewayAdministrator attachée.

  • Pour Azure CLI :

    Remarque

    Les commandes az apic nécessitent l’extension Azure CLI apic-extension. Si vous n’avez pas utilisé de commandes az apic, l’extension peut être installée dynamiquement lorsque vous exécutez votre première commande az apic, ou vous pouvez l’installer manuellement. Apprenez-en davantage sur les extensions Azure CLI.

    Consultez les notes de publication pour connaître les derniers changements et les dernières mises à jour de l’extension apic-extension. Certaines fonctionnalités peuvent nécessiter une préversion ou une version spécifique de l’extension.

    Remarque

    Les exemples de commandes Azure CLI de cet article peuvent s’exécuter dans PowerShell ou dans un interpréteur de commandes bash. Si c’est nécessaire en raison d’une syntaxe de variables différente, des exemples distincts de commandes sont fournis pour les deux interpréteurs de commandes.

Créer des clés d’accès d’utilisateur IAM

Pour authentifier votre centre d’API auprès d’Amazon API Gateway, vous avez besoin de clés d’accès pour un utilisateur AWS IAM.

Pour générer l’ID de clé d’accès et la clé secrète nécessaires via AWS Management Console, veuillez consulter Créer une clé d’accès pour vous-même dans la documentation AWS.

Enregistrez vos clés d’accès dans un emplacement sûr. Vous les stockerez dans Azure Key Vault aux étapes suivantes.

Attention

Les clés d’accès étant des informations d’identification durables, vous devez les gérer avec autant de précautions que pour un mot de passe. En savoir plus sur la sécurisation des clés d’accès

Stocker les clés d’accès d’utilisateur IAM dans Azure Key Vault

Chargez manuellement et stockez de manière sécurisée les deux clés d’accès d’utilisateur IAM dans Azure Key Vault en utilisant la configuration recommandée dans le tableau suivant. Pour en savoir plus, veuillez consulter le guide Démarrage rapide : Définir et récupérer un secret depuis Azure Key Vault à l’aide du Portail Azure.

Secret AWS Options de chargement Nom Valeur secrète
Clé d’accès Manuel aws-access-key ID de clé d’accès récupéré depuis AWS
Clé d’accès secrète Manuel aws-secret-access-key Clé d’accès secrète récupérée depuis AWS

Capture d’écran de la liste des secrets d’Azure Key Vault dans le portail.

Notez l’identificateur de secret de chaque secret, URI similaire à https://<key-vault-name>.vault.azure.net/secrets/<secret-name>. Vous utiliserez ces identificateurs dans les étapes suivantes.

Activer une identité managée dans votre centre d’API

Pour ce scénario, votre centre API utilise une identité managée pour accéder aux ressources Azure. Selon vos besoins, activez une identité managée affectée par le système, ou une ou plusieurs identités managées affectées par l’utilisateur.

Les exemples suivants montrent comment activer une identité managée affectée par le système à l’aide du portail Azure ou d’Azure CLI. À un niveau élevé, les étapes de configuration sont similaires pour une identité gérée attribuée à un utilisateur.

  1. Dans le portail, accédez à votre Centre API.
  2. Dans le menu de gauche, sous Sécurité, sélectionnez Identités managées.
  3. Sélectionnez Affectée par le système, puis définissez l’état sur Activé.
  4. Cliquez sur Enregistrer.

Attribuer le rôle d’Utilisateur des secrets Key Vault à l’identité managée

Pour autoriser l’importation d’API, attribuez à l’identité managée de votre centre d’API le rôle d’Utilisateur des secrets Key Vault dans votre coffre de clés Azure. Vous pouvez utiliser le portail Azure ou Azure CLI.

  1. Dans le portail, accédez à votre coffre de clés.
  2. Dans le menu de gauche, sélectionnez Contrôle d’accès (IAM) .
  3. Sélectionnez + Ajouter une attribution de rôle.
  4. Dans la page Ajouter une attribution de rôle, définissez les valeurs comme suit :
    1. Sous l’onglet Rôle, sélectionnez Utilisateur de secrets Key Vault.
    2. Sous l’onglet Membres, dans Attribuer l’accès à : sélectionnez Identité managée>+ Sélectionner des membres.
    3. Dans la page Sélectionner les identités managées, sélectionnez l’identité managée affectée par le système de votre centre API que vous avez ajoutée dans la section précédente. Cliquez sur Sélectionner.
    4. Sélectionnez Vérifier + attribuer.

Intégrer une instance d’Amazon API Gateway

Exécutez la commande az apic integration create aws (préversion) pour intégrer une instance d’Amazon API Gateway à votre centre d’API.

  • Indiquez les noms du groupe de ressources, du centre d’API et de l’intégration.

  • Fournissez les identificateurs de secrets Key Vault pour la clé d’accès AWS et la clé d’accès secrète, ainsi que la région AWS où l’instance d’Amazon API Gateway est déployée.

az apic integration create aws \
    --resource-group <resource-group-name> \
    --service-name-name <api-center-name> \
    --integration-name <aws-integration-name> \
    --aws-access-key-reference <access-key-uri> \
    --aws-secret-access-key-reference <secret-access-key-uri> 
    --aws-region-name <aws-region>

L’environnement est ajouté dans votre centre d’API. Les API Amazon API Gateway sont importées dans l’inventaire du centre d’API.

Supprimer une intégration

Lorsqu'une source d'API est intégrée, vous ne pouvez pas supprimer les API synchronisées de votre centre d'API. Si vous en avez besoin, vous pouvez supprimer l'intégration. Lorsque vous supprimez une intégration :

  • Les API synchronisées dans votre inventaire du centre API sont supprimées
  • L’environnement et les déploiements associés à la source d’API sont supprimés

Pour supprimer une intégration à l’aide de l’interface Azure CLI, exécutez la commande az apic integration delete (préversion). Indiquez les noms du groupe de ressources, du centre d’API et de l’intégration.

az apic integration delete \
    --resource-group <resource-group-name> \
    --service-name <api-center-name> \
    --integration-name <integration-name>