Ajouter et configurer un catalogue à partir de GitHub ou d’Azure Repos
Article
Ce guide explique comment ajouter et configurer un catalogue dans votre centre de développement du service Environnements de déploiement Azure. Un catalogue est un référentiel hébergé sur GitHub ou Azure DevOps.
Vous pouvez utiliser un catalogue pour fournir à vos équipes de développement un ensemble organisé de modèles IaC (infrastructure as code) appelés définitions d’environnement.
Les environnements de déploiement prennent en charge les catalogues hébergés dans Azure Repos (le service de référentiel dans Azure, communément appelé Azure DevOps) ainsi que les catalogues hébergés dans GitHub. Azure Repos prend en charge l’authentification en affectant des autorisations à une identité managée. Azure Repos et GitHub prennent tous deux en charge l’utilisation d’un jeton d’accès personnel (Personal Access Token/PAT) pour l’authentification. Pour sécuriser davantage vos modèles, le catalogue est chiffré. Le service Environnements de déploiement Azure prend en charge le chiffrement au repos avec des clés de chiffrement gérées par la plateforme, qui sont gérées par Microsoft pour les services Azure.
Pour savoir comment héberger un référentiel dans GitHub, consultez Démarrage avec GitHub.
Pour savoir comment héberger un référentiel Git dans un projet Azure Repos, consultez Azure Repos.
Microsoft propose un catalogue de démarrage rapide que vous pouvez ajouter au centre de développement ainsi qu’un exemple de catalogue que vous pouvez utiliser en tant que référentiel. Vous pouvez également utiliser votre propre référentiel privé, ou vous pouvez dupliquer (fork) et personnaliser les définitions d’environnement dans l’exemple de catalogue.
Configurez une identité managée pour le centre de développement
Après avoir créé un centre de développement, avant de pouvoir attacher un catalogue, vous devez configurer une identité managée, également appelée MSI (Managed Service Identity), pour le centre de développement. Vous pouvez attacher une identité managée affectée par le système (identité MSI affectée par le système) ou une identité managée affectée par l’utilisateur (identité MSI affectée par l’utilisateur). Vous attribuez ensuite des rôles à l’identité managée pour permettre au centre de développement de créer des types d’environnements dans votre abonnement, et de lire le projet Azure Repos qui contient le référentiel de catalogue.
Si aucune identité MSI n’est attachée à votre centre de développement, suivez les étapes décrites dans Configurer une identité managée pour en créer une et attribuer des rôles pour l’identité managée du centre de développement.
Vous pouvez ajouter un catalogue depuis un référentiel Azure Repos ou un référentiel GitHub. Vous pouvez choisir d’effectuer l’authentification en affectant des autorisations à une identité MSI, ou en utilisant un jeton PAT, que vous stockez dans un coffre de clés.
Sélectionnez l’onglet correspondant au type de référentiel et d’authentification à utiliser.
Votre organisation Azure DevOps doit se trouver dans le même annuaire que l’abonnement Azure qui contient votre centre de développement.
Sélectionnez Paramètres de l’organisation.
Dans la page Vue d’ensemble, sélectionnez Utilisateurs.
Dans la page Utilisateurs, sélectionnez Ajouter des utilisateurs.
Terminez Ajouter de nouveaux utilisateurs en entrant ou en sélectionnant les informations suivantes, puis sélectionnez Ajouter :
Nom
Valeur
Utilisateurs ou principaux de service
Entrez le nom de votre centre de développement. Quand vous utilisez une identité MSI affectée par le système, spécifiez le nom du centre de développement, et non l’ID d’objet du compte managé. Quand vous utilisez une identité MSI affectée par l’utilisateur, utilisez le nom du compte managé.
Niveau d’accès
Sélectionnez De base.
Ajouter aux projets
Sélectionnez le projet qui contient votre référentiel.
Groupes Azure DevOps
Sélectionnez Lecteurs de projet.
Envoyer des invitations par e-mail (aux utilisateurs uniquement)
Désactivez la case à cocher.
Ajouter votre dépôt en tant que catalogue
Les Environnements de déploiement Azure prennent en charge l’attachement de référentiels Azure Repos et de référentiels GitHub. Vous pouvez stocker un ensemble de modèles IaC organisés dans un référentiel. L’attachement du référentiel à un centre de développement en tant que catalogue permet à vos équipes de développement d’accéder aux modèles et leur permet de créer rapidement des environnements cohérents.
Les étapes suivantes vous permettent d’attacher un référentiel Azure Repos.
Dans le portail Azure, accédez à votre centre de développement.
Dans le menu de gauche, sous Configuration de l’environnement, sélectionnez Catalogues, puis sélectionnez Ajouter.
Dans Ajouter un catalogue, entrez les informations suivantes, puis sélectionnez Ajouter :
Champ
Valeur
Nom
Entrez un nom pour le catalogue.
Emplacement du catalogue
Sélectionner Azure DevOps.
Type d’authentification
Sélectionnez Identité managée.
Organisation
Sélectionnez votre organisation Azure DevOps.
Projet
Dans la liste des projets, sélectionnez le projet qui stocke le référentiel.
Référentiel
Dans la liste des référentiels, sélectionnez le référentiel que vous souhaitez ajouter.
Branche
Sélectionnez la branche.
Chemin d’accès du dossier
Dev Box récupère une liste de dossiers dans votre branche. Sélectionnez le dossier qui stocke vos modèles IaC.
Dans Catalogues pour le centre de développement, vérifiez que votre catalogue est visible. Une fois la connexion établie, l’État affiche Synchronisation réussie. La connexion à un catalogue peut prendre quelques minutes la première fois.
Pour ajouter un catalogue, effectuez les tâches suivantes :
Obtenir l’URL de clonage de votre référentiel Azure Repos.
Créez un jeton PAT (jeton d’accès personnel).
Stockez le jeton PAT en tant que secret de coffre de clés dans Azure Key Vault.
Ajouter votre dépôt en tant que catalogue
Obtenir l’URL de clonage de votre référentiel Azure Repos
Accédez à la page d’accueil de votre collection d’équipe (par exemple, https://contoso-web-team.visualstudio.com), puis sélectionnez votre projet.
Copiez et enregistrez le jeton généré pour l’utiliser plus tard.
Créer un coffre de clés
Vous avez besoin d’un Azure Key Vault pour stocker le jeton PAT utilisé pour octroyer à Azure l’accès à votre référentiel. Les coffres de clés peuvent contrôler l’accès à l’aide de stratégies d’accès ou du contrôle d’accès en fonction du rôle (RBAC). Si vous disposez d’un coffre de clés existant, vous pouvez l’utiliser, mais vous devez vérifier s’il utilise des stratégies d’accès ou des affectations RBAC pour contrôler l’accès. Si vous souhaitez obtenir de l’aide sur la configuration d’une stratégie d’accès pour un coffre de clés, veuillez consulter la rubrique Attribuer une stratégie d’accès au coffre de clés.
Suivez les étapes ci-dessous pour créer un coffre de clés RBAC :
Dans le menu de gauche, sous Configuration de l’environnement, sélectionnez Catalogues, puis sélectionnez Ajouter.
Dans Ajouter un catalogue, entrez les informations suivantes, puis sélectionnez Ajouter :
Champ
Valeur
Nom
Entrez un nom pour le catalogue.
Emplacement du catalogue
Sélectionner Azure DevOps.
Type d’authentification
Sélectionnez Jeton d’accès personnel.
Organisation
Sélectionnez l’organisation qui héberge le référentiel de catalogue.
Projet
Sélectionnez le projet qui stocke le référentiel de catalogue.
Référentiel
Sélectionnez le référentiel qui stocke le catalogue.
Chemin d’accès du dossier
Sélectionnez le dossier qui contient vos modèles IaC.
Identificateur de secret
Entrez l’identificateur de secret qui contient votre jeton PAT pour le référentiel. Lorsque vous copiez un identificateur de secret, la chaîne de connexion inclut un identificateur de version à la fin, par exemple : https://contoso-kv.vault.azure.net/secrets/GitHub-repo-pat/9376b432b72441a1b9e795695708ea5a. La suppression de l’identificateur de version garantit que les Environnements de déploiement récupèrent la dernière version du secret à partir du coffre de clés. Si votre PAT expire, seul le coffre de clés doit être mis à jour. Exemple d’identificateur de secret : https://contoso-kv.vault.azure.net/secrets/GitHub-repo-pat
Dans Catalogues pour le centre de développement, vérifiez que votre catalogue est visible. Si la connexion réussit, l’État est Connecté.
Pour ajouter un catalogue, effectuez les tâches suivantes :
Installer et configurer l’application Microsoft DevCenter
Attribuez des autorisations dans GitHub pour les référentiels.
Dans le menu de gauche, sous Configuration de l’environnement, sélectionnez Catalogues, puis sélectionnez Ajouter.
Dans le volet Ajouter un catalogue , entrez ou sélectionnez les éléments suivants :
Champ
Valeur
Nom
Entrez un nom pour le catalogue.
Source du catalogue
Sélectionnez GitHub.
Type d’authentification
Sélectionnez Application GitHub.
Pour installer l’application Microsoft DevCenter, sélectionnez Configurer vos référentiels.
Si vous êtes invité à vous authentifier auprès de GitHub, faites-le.
Sur la page Microsoft DevCenter, sélectionnez Configurer.
Sélectionnez l’organisation GitHub qui contient le référentiel que vous souhaitez ajouter en tant que catalogue. Vous devez être propriétaire de l’organisation pour installer cette application.
Dans la page Installer Microsoft DevCenter, sélectionnez Référentiels sélectionnés uniquement, sélectionnez le référentiel que vous souhaitez ajouter en tant que catalogue, puis sélectionnez Installer.
Vous pouvez sélectionner plusieurs référentiels à ajouter en tant que catalogues. Vous devez ajouter chaque référentiel en tant que catalogue distinct, comme décrit dans Ajouter votre référentiel en tant que catalogue.
Sur la page Microsoft DevCenter by Microsoft souhaite être autorisé à :, passez en revue les autorisations requises, puis sélectionnez Autoriser Microsoft DevCenter.
Ajouter votre dépôt en tant que catalogue
Revenez au portail Azure.
Dans Ajouter un catalogue, entrez les informations suivantes, puis sélectionnez Ajouter :
Champ
Valeur
Référentiel
Sélectionnez le référentiel que vous souhaitez ajouter en tant que catalogue.
Branche
Sélectionnez la branche.
Chemin d’accès du dossier
Sélectionnez le dossier qui contient les sous-dossiers qui conservent vos définitions d’environnement.
Dans Catalogues pour le centre de développement, vérifiez que votre catalogue est visible. Une fois la connexion établie, l’État affiche Synchronisation réussie.
Pour ajouter un catalogue, effectuez les tâches suivantes :
Obtenez l’URL de clonage de votre référentiel GitHub.
Créez un jeton PAT (jeton d’accès personnel) dans GitHub.
Stockez le jeton PAT en tant que secret de coffre de clés dans Azure Key Vault.
Ajouter votre dépôt en tant que catalogue
Obtenir l’URL de clonage de votre référentiel GitHub
Accédez à la page d’accueil du référentiel GitHub qui contient les définitions de modèle.
Le service Environnements de déploiement Azure prend en charge l’authentification auprès des référentiels GitHub à l’aide de jetons classiques ou de jetons de granularité fine. Dans cet exemple, vous créez un jeton de granularité fine.
Accédez à la page d’accueil du référentiel GitHub qui contient les définitions de modèle.
Dans le coin supérieur droit de GitHub, Sélectionnez l’image de profil, puis sélectionnez Paramètres.
Dans la barre latérale gauche, sélectionnez Paramètres de développeur>Jetons d’accès personnels>Jetons affinés.
Sélectionnez Générer un nouveau jeton.
Dans la page Nouveau jeton d’accès personnel de granularité fine, indiquez les informations suivantes :
Nom
Valeur
Nom du jeton
Entrez un nom descriptif pour le jeton.
Expiration
Sélectionnez la période d’expiration du jeton en jours.
Description
Entrez une description pour le jeton.
Propriétaire de la ressource
Sélectionnez le propriétaire du référentiel.
Accès aux dépôts
Sélectionner Ne sélectionner que les référentiels.
Sélectionner des référentiels
Sélectionnez le référentiel qui contient les définitions d’environnement.
Autorisations du référentiel
Développez Autorisations du référentiel, puis pour Contenu, dans la liste Accès, sélectionnez Code (lire).
Sélectionnez Generate token.
Copiez et enregistrez le jeton généré pour l’utiliser plus tard.
Important
Quand vous utilisez un référentiel privé stocké dans une organisation GitHub, vous devez vérifier que le jeton PAT GitHub est configuré pour accorder l’accès à l’organisation appropriée et aux référentiels qu’elle contient.
Les jetons classiques de l’organisation doivent faire l’objet d’une autorisation SSO pour l’organisation appropriée, une fois qu’ils ont été créés.
Pour permettre aux jetons de granularité fine d’être autorisés, le propriétaire de ces jetons doit être défini comme étant l’organisation elle-même.
Les jetons PAT mal configurés peuvent entraîner une erreur de type référentiel introuvable.
Créer un coffre de clés
Vous avez besoin d’un coffre Azure Key Vault afin de stocker le jeton PAT utilisé pour octroyer à Azure l’accès à votre référentiel. Les coffres de clés peuvent contrôler l’accès à l’aide de stratégies d’accès ou du contrôle d’accès en fonction du rôle (RBAC). Si vous disposez d’un coffre de clés existant, vous pouvez l’utiliser, mais vous devez vérifier s’il utilise des stratégies d’accès ou des affectations RBAC pour contrôler l’accès. Si vous souhaitez obtenir de l’aide sur la configuration d’une stratégie d’accès pour un coffre de clés, consultez la rubrique Attribuer une stratégie d’accès au coffre de clés.
Suivez les étapes ci-dessous pour créer un coffre de clés RBAC :
Dans le menu de gauche, sous Configuration de l’environnement, sélectionnez Catalogues, puis sélectionnez Ajouter.
Dans Ajouter un catalogue, entrez les informations suivantes, puis sélectionnez Ajouter.
Champ
Valeur
Nom
Entrez un nom pour le catalogue.
Emplacement du catalogue
Sélectionnez GitHub.
Référentiel
Entrez ou collez l’URL de clonage de votre référentiel GitHub ou Azure Repos. Exemple de catalogue :https://github.com/Azure/deployment-environments.git
Branche
Entrez la branche de dépôt à laquelle vous souhaitez vous connecter. Exemple de catalogue :main
Chemin d’accès du dossier
Saisissez le chemin du dossier relatif à l’URI de clone qui contient des sous-dossiers avec vos définitions d’environnement. Le chemin de dossier correspond au dossier dont les sous-dossiers contiennent des fichiers d’environnement de définition d’environnement, et non au dossier où se trouve le fichier d’environnement de définition d’environnement lui-même. L’image suivante montre la structure de dossier de l’exemple de catalogue. Exemple de catalogue :/Environments Le chemin du dossier peut commencer avec ou sans un slash (/).
Identificateur de secret
Entrez l’identificateur de secret qui contient votre jeton PAT pour le référentiel. Lorsque vous copiez un identificateur de secret, la chaîne de connexion inclut un identificateur de version à la fin, par exemple : https://contoso-kv.vault.azure.net/secrets/GitHub-repo-pat/9376b432b72441a1b9e795695708ea5a. La suppression de l’identificateur de version permet de garantir que le service Environnements de déploiement récupère la dernière version du secret dans le coffre de clés. Si votre PAT expire, seul le coffre de clés doit être mis à jour. Exemple d’identificateur de secret : https://contoso-kv.vault.azure.net/secrets/GitHub-repo-pat
Dans Catalogues pour le centre de développement, vérifiez que votre catalogue est visible. Une fois la connexion établie, l’État affiche Synchronisation réussie.
Mettre à jour un catalogue
Si vous mettez à jour la définition ou le contenu du modèle dans le référentiel attaché, vous pouvez fournir l’ensemble de définitions d’environnement le plus récent à vos équipes de développement en synchronisant le catalogue.
Pour synchroniser un catalogue mis à jour dans Environnements de déploiement Azure :
Dans le menu de gauche de votre centre de développement, sous Configuration de l’environnement, sélectionnez Catalogues.
Sélectionnez le catalogue spécifique, puis sélectionnez Synchroniser. Le service analyse le référentiel, puis met à disposition de tous les projets associés dans le centre de développement la liste la plus récente des définitions d’environnement.
Supprimer un catalogue
Vous pouvez supprimer un catalogue pour le retirer du centre de développement du service Environnements de déploiement Azure. Les modèles d’un catalogue supprimé ne sont pas disponibles aux équipes de développement lors du déploiement de nouveaux environnements. Mettez à jour la référence des définitions d’environnement de tous les environnements existants créés à l’aide des définitions d’environnement du catalogue supprimé. Si la référence n’est pas mise à jour et que l’environnement est redéployé, le déploiement échoue.
Pour supprimer un catalogue :
Dans le menu de gauche de votre centre de développement, sous Configuration de l’environnement, sélectionnez Catalogues.
Sélectionnez le catalogue en question, puis sélectionnez Supprimer.
Dans la boîte de dialogue Supprimer le catalogue, sélectionnez Continuer pour supprimer le catalogue.
Erreurs de synchronisation de catalogue
Lorsque vous ajoutez ou synchronisez un catalogue, vous pouvez rencontrer une erreur de synchronisation. Une erreur de synchronisation indique qu’une partie ou que l’ensemble des définitions d’environnement contient des erreurs. Utilisez Azure CLI ou l’API REST pour obtenir (GET) le catalogue. La réponse de GET vous montre le type d’erreur :
Définitions d’environnement ignorées, qui ont été détectées en tant que doublons.
Définitions d’environnement non valides ayant échoué en raison d’erreurs de schéma, de référence ou de validation.
Résoudre les erreurs de définitions d’environnement ignorées
Une erreur de définition d’environnement ignorée se produit si vous ajoutez au moins deux définitions d’environnement ayant le même nom. Vous pouvez résoudre ce problème en renommant les définitions d’environnement pour que chaque définition d’environnement ait un nom unique dans le catalogue.
Résoudre les erreurs de définition d’environnement non valides
Une erreur de définition d’environnement non valide peut se produire pour diverses raisons :
Erreurs de schéma de manifeste. Vérifiez que votre fichier d’environnement de définition d’environnement correspond au schéma exigé.
Erreurs de validation. Vérifiez les éléments suivants pour résoudre les erreurs de validation :
Vérifiez que le type de moteur du fichier d’environnement est configuré correctement.
Vérifiez que le nom de la définition d’environnement comprend entre 3 et 63 caractères.
Vérifiez que le nom de la définition d’environnement comprend uniquement des caractères valides pour une URL, à savoir des caractères alphanumériques et les symboles suivants : ~!,.';:=-_+()*&$@
Erreurs de référence. Vérifiez que le chemin du modèle référencé par le fichier d’environnement est un chemin relatif valide pointant vers un fichier du référentiel.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultez https://aka.ms/ContentUserFeedback.