Partager via


À propos des ressources pour Azure Pipelines

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

Une ressource est tout ce qui est utilisé par un pipeline qui réside en dehors du pipeline.

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 avec 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. Avec la resources syntaxe, des 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 group syntaxe.
  • Les pipelines et les référentiels utilisent la resources syntaxe.

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

variables:
- group: my-variable-group

Pour appeler un deuxième pipeline à partir de votre pipeline avec la resources syntaxe, 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 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 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 l’intention de 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é 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 :

Étapes suivantes