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 :
- 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.
- Vous configurez un environnement de type Amazon API Gateway dans le centre d’API.
- 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 :
Utilisez l’environnement Bash dans Azure Cloud Shell. Pour plus d’informations, consultez Démarrage rapide pour Bash dans Azure Cloud Shell.
Si vous préférez exécuter les commandes de référence de l’interface de ligne de commande localement, installez l’interface Azure CLI. Si vous exécutez sur Windows ou macOS, envisagez d’exécuter Azure CLI dans un conteneur Docker. Pour plus d’informations, consultez Guide pratique pour exécuter Azure CLI dans un conteneur Docker.
Si vous utilisez une installation locale, connectez-vous à Azure CLI à l’aide de la commande az login. Pour finir le processus d’authentification, suivez les étapes affichées dans votre terminal. Pour connaître les autres options de connexion, consultez Se connecter avec Azure CLI.
Lorsque vous y êtes invité, installez l’extension Azure CLI lors de la première utilisation. Pour plus d’informations sur les extensions, consultez Utiliser des extensions avec Azure CLI.
Exécutez az version pour rechercher la version et les bibliothèques dépendantes installées. Pour effectuer une mise à niveau vers la dernière version, exécutez az upgrade.
Remarque
Les commandes
az apic
nécessitent l’extension Azure CLIapic-extension
. Si vous n’avez pas utilisé de commandesaz apic
, l’extension peut être installée dynamiquement lorsque vous exécutez votre première commandeaz 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 |
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.
- Dans le portail, accédez à votre Centre API.
- Dans le menu de gauche, sous Sécurité, sélectionnez Identités managées.
- Sélectionnez Affectée par le système, puis définissez l’état sur Activé.
- 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.
- Dans le portail, accédez à votre coffre de clés.
- Dans le menu de gauche, sélectionnez Contrôle d’accès (IAM) .
- Sélectionnez + Ajouter une attribution de rôle.
- Dans la page Ajouter une attribution de rôle, définissez les valeurs comme suit :
- Sous l’onglet Rôle, sélectionnez Utilisateur de secrets Key Vault.
- Sous l’onglet Membres, dans Attribuer l’accès à : sélectionnez Identité managée>+ Sélectionner des membres.
- 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.
- 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>