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.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
Une ressource dans Azure Pipelines est une entité managée à laquelle votre pipeline se connecte ou consomme. Les ressources incluent les connexions de service, les pools d’agents, les environnements, les groupes de variables, les fichiers sécurisés, les dépôts et les packages. Les ressources sont fondamentales pour Azure Pipelines, car elles vous permettent de vous connecter en toute sécurité à des systèmes externes, de partager des configurations entre les pipelines et de gérer les pistes d’audit pour la conformité et la résolution des problèmes.
Les ressources offrent les avantages suivants :
- Méthodes de partage d’un fichier ou d’un mot de passe sécurisé entre les pipelines.
- Les exemples d’utilisation de ressources pour le partage sont des groupes de variables, des fichiers sécurisés et des connexions de service. Dans tous les cas, vous utilisez une ressource comme moyen pour un pipeline d’accéder à un pipeline et de consommer quelque chose.
- Outil permettant d’améliorer la sécurité par le biais de vérifications d’accès et d’autres restrictions.
- Par exemple, vous pouvez limiter une connexion de service à s’exécuter uniquement sur un seul pipeline. Vous pouvez également vous assurer qu’un référentiel est accessible uniquement à partir d’un pipeline après une vérification manuelle de l’approbation.
- Méthodes pour améliorer la traçabilité de votre pipeline et faciliter la résolution des problèmes d’environnements.
- Par exemple, vous pouvez voir le nombre de la dernière exécution déployée dans un environnement.
Partager des ressources entre des pipelines
Partagez des ressources entre les pipelines en les configurant dans l’interface utilisateur des pipelines. Ensuite, référencez ces ressources dans une tâche. Vous pouvez également accéder à certaines ressources partagées à l’aide de la syntaxe du resources pipeline YAML.
Parmi les exemples de partage de ressources avec l’interface utilisateur des pipelines, citons des fichiers sécurisés, des groupes de variables et des connexions de service. Les exemples de partage de ressources à l’aide de la resources syntaxe incluent l’accès aux pipelines eux-mêmes, aux dépôts et aux packages.
L’utilisation d’une ressource dans un pipeline dépend du type de pipeline et du type de ressource.
Pour les pipelines YAML :
- Utilisez des connexions de service et des fichiers sécurisés directement en tant qu’entrées pour les tâches. Vous n’avez pas besoin de les prédéclarer.
- Utilisez la
groupsyntaxe des groupes de variables. - Utilisez la
resourcessyntaxe des pipelines et des référentiels.
Par exemple, pour utiliser des groupes de variables dans un pipeline, ajoutez vos variables à labibliothèque>. Ensuite, référencez le groupe de variables dans votre pipeline YAML à l’aide de la variables syntaxe.
variables:
- group: my-variable-group
Pour appeler un deuxième pipeline à partir de votre pipeline à l’aide de la syntaxe resources, utilisez pipelines.
resources:
pipelines:
- pipeline: SmartHotel-resource # identifier for the resource (used in pipeline resource variables)
source: SmartHotel-CI # name of the pipeline that produces an artifact
Utiliser des ressources pour améliorer la sécurité
Vous pouvez améliorer la sécurité de votre pipeline avec les ressources en identifiant la façon dont la ressource est consommée et en empêchant l’accès non autorisé.
Pour les pipelines YAML uniquement, définissez les ressources comme protégées ou ouvertes. Lorsqu’une ressource est protégée, vous pouvez appliquer des approbations et des vérifications pour limiter l’accès à des utilisateurs et pipelines YAML spécifiques. Les ressources protégées incluent les connexions de service, les pools d’agents, les environnements, les référentiels, les groupes de variables et les fichiers sécurisés.
| Resource | Comment est-il consommé ? | Comment empêcher un pipeline inattendu de l’utiliser ? |
|---|---|---|
| connexions de service | Consommées par des tâches dans un fichier YAML qui utilisent la connexion de service comme entrée. | Protégé avec des vérifications et des autorisations de pipeline. Les vérifications et les autorisations de pipeline sont contrôlées par les utilisateurs de connexion de service. Un propriétaire de ressource peut contrôler quels pipelines peuvent accéder à une connexion de service. Vous pouvez également utiliser des autorisations de pipeline pour restreindre l’accès à des pipelines YAML particuliers et à tous les pipelines classiques. |
| variables secrètes dans les groupes de variables | Une syntaxe spéciale existe pour l’utilisation de groupes de variables dans un pipeline ou dans un travail. Un groupe de variables est ajouté comme une connexion de service. | Protégé avec des vérifications et des autorisations de pipeline. Les vérifications et les autorisations de pipeline sont contrôlées par les utilisateurs du groupe de variables. Un propriétaire de ressource peut contrôler quels pipelines peuvent accéder à un groupe de variables. Vous pouvez également utiliser des autorisations de pipeline pour restreindre l’accès à des pipelines YAML particuliers et à tous les pipelines classiques. |
| fichiers sécurisés | Les fichiers sécurisés sont consommés par les tâches (par exemple : Télécharger la tâche Fichier sécurisé). | Protégé avec des vérifications et des autorisations de pipeline. Les vérifications et les autorisations de pipeline sont contrôlées par les utilisateurs de fichiers sécurisés. Un propriétaire de ressource peut contrôler quels pipelines peuvent accéder aux fichiers sécurisés. Vous pouvez également utiliser des autorisations de pipeline pour restreindre l’accès à des pipelines YAML particuliers et à tous les pipelines classiques. |
| pools d’agents | Il existe une syntaxe spéciale pour utiliser un pool d’agents pour exécuter un travail. | Protégé avec des vérifications et des autorisations de pipeline. Les vérifications et les autorisations de pipeline sont contrôlées par les utilisateurs du pool d’agents. Un propriétaire de ressource peut contrôler quels pipelines peuvent accéder à un pool d’agents. Vous pouvez également utiliser des autorisations de pipeline pour restreindre l’accès à des pipelines YAML particuliers et à tous les pipelines classiques. |
| Environnements | Il existe une syntaxe spéciale pour utiliser un environnement dans un YAML. | Protégé avec des contrôles et des autorisations de pipeline contrôlées par les utilisateurs de l’environnement. Vous pouvez également utiliser des autorisations de pipeline pour restreindre l’accès à un environnement particulier. |
| Dépôts | Un script peut cloner un référentiel si le jeton d’accès au travail a accès au dépôt. | Protégé avec des contrôles et des autorisations de pipeline contrôlées par les contributeurs de référentiel. Un propriétaire du référentiel peut restreindre la propriété. |
| artefacts, éléments de travail, pipelines | Les artefacts de pipeline sont des ressources, mais les artefacts Azure ne le sont pas. Un script peut télécharger Azure Artifacts si le jeton d’accès au travail a accès au flux. Un artefact de pipeline peut être déclaré en tant que ressource dans la section ressources , principalement pour l’intention de déclencher le pipeline lorsqu’un nouvel artefact est disponible ou pour consommer cet artefact dans le pipeline. | Les artefacts Azure et les éléments de travail ont leurs propres contrôles d’autorisations. Les vérifications et les autorisations de pipeline pour les flux ne sont pas prises en charge. |
| conteneurs, packages, webhooks | Ceux-ci vivent en dehors de l’écosystème Azure DevOps et l’accès est contrôlé avec les connexions de service. Il existe une syntaxe spéciale pour utiliser les trois types dans les pipelines YAML. | Protégé avec des vérifications et des autorisations de pipeline contrôlées par les utilisateurs de connexion de service. |
Utiliser des ressources pour la traçabilité
Les environnements prennent en charge les types de ressources suivants :
- Kubernetes
- Machines virtuelles