À propos des ressources pour Azure Pipelines

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019

Une ressource est tout ce qui est utilisé par un pipeline qui se trouve en dehors du pipeline.

Les ressources offrent les avantages suivants :

  • Des méthodes de partage d’un fichier ou d’un mot de passe sécurisés entre des pipelines.
    • Les groupes de variables, les fichiers sécurisés et les connexions de service sont des exemples d’utilisation de ressources pour le partage. Dans tous les cas, vous utilisez une ressource comme moyen pour un pipeline d’accéder 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 la connexion d'un service qu'il ne s'exécute que sur un seul pipeline. Vous pouvez également vous assurer qu’un référentiel n’est accessible qu’à partir d’un pipeline après une vérification d’approbation manuelle.
  • Des méthodes pour améliorer la traçabilité pour votre pipeline et faciliter la résolution des problèmes d’environnements.
    • Par exemple, vous pouvez voir le numéro de la dernière exécution qui a été déployée dans un environnement.

Partager des ressources entre des pipelines

Partagez des ressources entre des 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 avec la resources syntaxe du pipeline YAML.

Les fichiers sécurisés, les groupes de variables et les connexions de service sont des exemples de partage de ressources avec l’interface utilisateur des pipelines. Avec la syntaxe resources, les exemples incluent l’accès aux pipelines eux-mêmes, aux référentiels et aux packages.

La façon dont une ressource est utilisée dans un pipeline dépend du type de pipeline et du type de ressource.

Pour les pipelines YAML :

  • Les connexions de service et les fichiers sécurisés sont directement utilisés comme entrées pour les tâches et n’ont pas besoin d’être prédéclarés.
  • Les groupes de variables utilisent la syntaxe group.
  • Les pipelines et les référentiels utilisent la syntaxe resources.

Par exemple, pour utiliser des groupes de variables dans un pipeline, ajoutez vos variables à la Bibliothèque>Pipelines. Vous pouvez ensuite référencer le groupe de variables dans votre pipeline YAML avec la syntaxe variables.

variables:
- group: my-variable-group

Pour appeler un deuxième pipeline à partir de votre pipeline avec la syntaxe resources, référencez 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 des ressources en identifiant la façon dont la ressource est consommée et comment empêcher les accès non autorisés.

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 des 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.

Ressource Comment est-il consommé ? Comment empêcher un pipeline inattendu de l’utiliser ?
connexions de service Consommé par les tâches d’un fichier YAML qui utilisent la connexion de service comme entrée. Protégé par 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 les autorisations de pipeline pour restreindre l’accès à des pipelines YAML particuliers et à tous les pipelines classiques.
variables secrètes dans des groupes de variables Il existe une syntaxe spéciale 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é par 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 les 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, la Tâche Télécharger un fichier sécurisé). Protégé par 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 les 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é par 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 les autorisations de pipeline pour restreindre l’accès à des pipelines YAML particuliers et à tous les pipelines classiques.
environments Il existe une syntaxe spéciale pour utiliser un environnement dans un YAML. Protégé par des vérifications et des autorisations de pipeline contrôlées par les utilisateurs de l’environnement. Vous pouvez également utiliser les autorisations de pipeline pour restreindre l’accès à un environnement particulier.
référentiels Un script peut cloner un référentiel si le jeton d’accès au travail a accès au référentiel. Protégé par des vérifications et des autorisations de pipeline contrôlées par les contributeurs du référentiel. Un propriétaire de référentiel peut restreindre la propriété.
artefacts, éléments de travail, pipelines Les artefacts de pipeline sont des ressources, mais pas Azure Artifacts. Un script peut télécharger des artefacts 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 déclencher le pipeline lorsqu’un nouvel artefact est disponible, ou pour consommer cet artefact dans le pipeline. Les artefacts 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é par des connexions de service. Il existe une syntaxe spéciale pour l’utilisation des trois types dans les pipelines YAML. Protégé par 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 :

Étapes suivantes