Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
CONCERNE : Tous les niveaux de gestion des API
APIOps CLI est un outil configuration-as-code pour Gestion des API Azure. Dans cet article, vous l’utilisez pour extraire la configuration de gestion d’API en artefacts locaux, examiner les artefacts dans Git, prévisualiser les modifications et publier les artefacts approuvés dans une instance de gestion d’API. La CLI peut également échaffacer des fichiers GitHub Actions ou Azure Pipelines pour un flux de travail APIOps.
Les étapes fournissent un flux de travail minimal que vous pouvez valider avec une instance de gestion d’API non en production. Pour des conseils d’architecture et de conception, voir Déploiements automatisés d’API avec APIOps.
Utilisez ce flux de travail pour :
- Examinez les définitions d’API, les politiques et d’autres configurations de gestion d’API via les pull requests.
- Conservez un historique auditable des modifications de configuration approuvées.
- Promouvoir les artefacts examinés entre environnements de gestion d’API.
- Commencez par une configuration extraite d’une instance existante ou créez des artefacts compatibles CLI dans le code.
La ligne de commande APIOps complète les approches DevOps d’API décrites dans Use DevOps and CI/CD to publish APIs. Évaluez la CLI et votre flux de travail d’artefacts prévu dans un environnement non en production avant de l’utiliser pour des déploiements en production.
Prerequisites
- Node.js version 22 ou ultérieure.
- Azure CLI, pour les étapes d’authentification locale dans cet article.
- Un abonnement Azure et une instance existante d’API Management hors production.
- Un dépôt Git pour vos artefacts de gestion d’API.
- Une identité avec accès à l’instance de gestion d’API. Le guide de prise en main de l’interface CLI APIOps répertorie les rôles API Management Service Contributor et Reader au niveau de la ressource API Management pour son workflow d’extraction et de publication.
Pour l’automatisation de la production, utilisez des identités séparées et à privilèges minimes lorsque cela est possible. Une identité d’extraction nécessite un accès en lecture à l’instance source. Une identité de publication n’a besoin que des autorisations nécessaires pour mettre à jour l’instance cible.
Installer APIOps CLI
Installez le package NPM @azure-tools/apiops-cli :
npm install -g @azure-tools/apiops-cli
Vérifiez la version installée :
apiops --version
Enregistrez et fixez la version que vous avez approuvée pour vos pipelines CI/CD. Consultez le journal des modifications de la ligne de commande APIOps avant de faire une mise à niveau.
S’authentifier auprès de Azure
Pour un usage local, connectez-vous avec Azure CLI et sélectionnez l’abonnement contenant votre instance de gestion d’API non-production :
az login
az account set --subscription <subscription-id>
APIOps CLI utilise DefaultAzureCredential. En plus des identifiants Azure CLI, il prend en compte les identifiants d’environnement, l’identité de la charge de travail, l’identité gérée, Azure PowerShell et les identifiants Azure Developer CLI.
Pour le CI/CD, privilégiez la fédération d’identités de charge de travail ou l’identité gérée plutôt qu’un secret de client. Ne placez jamais d’informations d’identification, de jetons d’accès, de clés d’abonnement ou de valeurs nommées secrètes dans la gestion de versions. Pour les options d’authentification prises en charge, consultez le guide d’authentification de la CLI APIOps.
Préparer un dépôt d’artefacts
Exécutez les commandes API CLI depuis la racine du dépôt Git qui contient vos artefacts de gestion d’API.
Pour échafauder les pipelines et les modèles de configuration de GitHub Actions, exécutez :
apiops init --ci github-actions --environments dev,prod --non-interactive
Pour Azure Pipelines, utilisez :
apiops init --ci azure-devops --environments dev,prod --non-interactive
La commande crée des définitions de pipeline, un modèle de filtre d’extraction, des modèles de dérogation d’environnement, des guides pour la configuration de l’identité et un apim-artifacts répertoire. Examinez chaque fichier généré avant de valider ou d’activer un pipeline. N’utilisez --force pas dans un dépôt avec des fichiers existants à moins de revoir les fichiers que la commande écrase.
Si vous avez déjà un dépôt et une conception de pipeline, vous pouvez plutôt créer ou sélectionner un répertoire d’artefacts et utiliser directement les commandes extract et publie.
Créer les artefacts initiaux
Choisissez l’une des approches suivantes pour établir les artefacts que votre dépôt possède.
Extraire la configuration existante
Pour créer une base de référence à partir d’une instance existante de gestion d’API, extrayez sa configuration :
apiops extract \
--subscription-id <source-subscription-id> \
--resource-group <source-resource-group> \
--service-name <source-apim-name> \
--output ./apim-artifacts
La commande crée des fichiers d’information JSON, des fichiers de politique XML et des fichiers de spécifications API dans une hiérarchie sous apim-artifacts. Pour une grande instance, configurez un filtre d’extraction afin que le dépôt ne gère que les ressources prévues.
Commencez par des artefacts codés d’abord
Pour un flux de travail axé sur le code, ajoutez une spécification OpenAPI ainsi que les informations et fichiers de politique de gestion d’API requis en utilisant le format d’artefact de la CLI APIOps. Ne supposez pas qu’une disposition existante de dépôt d’applications ou un fichier OpenAPI à lui seul est prêt pour apiops publish.
Si vous débutez dans le format d’artefact, extrayez d’abord une petite API de référence à partir d’une instance non-production. Utilisez les fichiers obtenus comme modèles et relisez les directives de workflow axées sur le code.
Examinez les artefacts
Avant de publier :
- Inspectez les fichiers générés ou créés et confirmez que le dépôt ne contient que les ressources que vous souhaitez gérer.
- Examinez les spécifications API, les politiques, les back-ends, les valeurs nommées, les produits et leurs dépendances.
- Supprimez les valeurs spécifiques à l’environnement qui ne devraient pas être transférées dans un autre environnement. Utilisez des fichiers de substitution d’environnement validés ou des références à Azure Key Vault, le cas échéant.
- Cherchez des références et des valeurs secrètes. L’extraction masque les champs secrets pris en charge et les modèles de stratégie reconnus, mais il se peut qu’elle ne détecte pas tous les secrets intégrés. Ne validez pas de secrets ni de valeurs
*** REDACTED ***non résolues. - Validez les artefacts sur une branche et utilisez une requête de tirage (pull) pour la validation et l’approbation.
Aperçu d’une publication
Effectuez une simulation sur l’instance cible de non-production. Une simulation indique les créations, mises à jour et suppressions prévues sans les appliquer :
apiops publish \
--subscription-id <target-subscription-id> \
--resource-group <target-resource-group> \
--service-name <target-apim-name> \
--source ./apim-artifacts \
--dry-run
Examinez la sortie et résolvez les changements inattendus ou les dépendances manquantes. Un test réussi ne remplace pas les tests du comportement de l’API, des politiques, des permissions ou de la connectivité backend.
Caution
N’ajoutez --delete-unmatched pas à votre premier flux de travail. Cette option supprime les ressources dans l’instance cible qui ne sont pas représentées dans les artefacts sources.
Publiez les artefacts examinés
Après l’approbation de la pull request et le succès de l’essai à blanc, publiez les mêmes artefacts examinés dans la cible non produite :
apiops publish \
--subscription-id <target-subscription-id> \
--resource-group <target-resource-group> \
--service-name <target-apim-name> \
--source ./apim-artifacts
Validez les API et les politiques dans l’instance cible après publication. Lorsque vous automatisez ce flux de travail, configurez le pipeline pour publier un commit approuvé et protégez les environnements de déploiement avec les vérifications et approbations requises de votre organisation.
Étapes suivantes
- Consultez le guide de démarrage de la CLI APIOps.
- En savoir plus sur les commandes APIOps CLI et l’intégration CI/CD.
- Apprenez à utiliser DevOps et CI/CD pour publier des API.