Partager via


À propos des rôles de sécurité de pipeline

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

Azure DevOps gère la sécurité pour les pipelines de build et de mise en production et les groupes de tâches à l’aide d’autorisations basées sur des tâches. Plusieurs ressources de pipeline utilisent des autorisations basées sur des rôles, que vous pouvez affecter aux utilisateurs ou aux groupes. Chaque rôle définit les opérations qu’un utilisateur peut effectuer dans le contexte de ressources de pipeline spécifiques.

Les autorisations basées sur les rôles s’appliquent à toutes les ressources d’un type spécifique au sein d’un projet, d’une organisation ou d’une collection. Les ressources individuelles héritent des autorisations des paramètres au niveau du projet, mais vous pouvez désactiver l’héritage pour des artefacts spécifiques lorsque vous avez besoin d’un contrôle plus granulaire.

Présentation des rôles de sécurité et des autorisations

Azure DevOps utilise deux modèles de sécurité principaux :

  • Sécurité basée sur les rôles : rôles prédéfinis avec des ensembles d’autorisations spécifiques pour les ressources de pipeline
  • Sécurité basée sur les autorisations : autorisations granulaires que vous pouvez attribuer individuellement

Les rôles de sécurité offrent un moyen simplifié de gérer les scénarios d’autorisation courants, tandis que les autorisations individuelles offrent un contrôle plus détaillé si nécessaire.

Attributions de rôles par défaut

Par défaut, tous les contributeurs de projet deviennent membres du rôle Utilisateur pour chaque file d’attente hébergée. Ce rôle leur permet de créer et d’exécuter des pipelines de génération et de mise en production à l’aide de files d’attente hébergées, ce qui offre une productivité immédiate aux membres de l’équipe.

Le système attribue automatiquement ces rôles par défaut quand :

  • Vous créez un projet
  • Les utilisateurs rejoignent le groupe Contributeurs du projet
  • Vous ajoutez de nouvelles ressources de pipeline

Rôles de sécurité du pool d’agents, au niveau du projet

Vous pouvez ajouter des utilisateurs aux rôles de sécurité à partir du contexte d’administrateur au niveau du projet sur la page Pools d’agents. Pour plus d’informations sur l’ajout et la gestion des pools d’agents, consultez Pools d’agents.

Navigation : Paramètres de projet → pipelines → Pools d’agents

Rôle (au niveau du projet) Description
Lecteur Affichez le pool. En règle générale, ajoutez des opérateurs à ce rôle pour surveiller les travaux de génération et de déploiement dans le pool.
Utilisateur Affichez et utilisez le pool lors de la création de pipelines de build ou de mise en production.
Creator Créez et utilisez le pool lors de la création de pipelines de build ou de mise en production.
Administrateur Gérez l’appartenance pour tous les rôles du pool et affichez et utilisez les pools. L’utilisateur qui a créé un pool est automatiquement ajouté au rôle Administrateur pour ce pool.

Gérez la sécurité de tous les pools d’agents de projet à partir de l’onglet Sécurité . Appartenances aux rôles pour les pools d’agents de projet individuels héritent automatiquement de ces rôles.

Par défaut, les groupes suivants sont ajoutés au rôle Administrateur de « Tous les pools d’agents » :

  • Administrateurs de build
  • Administrateurs de mise en production
  • Administrateurs de projet.

Gérer les paramètres de rôle d’un pool d’agents de projet dans la page Pools d’agents des paramètres>de projet.

  • Pour définir des autorisations pour tous les pools au sein du projet, sélectionnez Sécurité, puis ajoutez un utilisateur et choisissez son rôle.
  • Pour définir des autorisations pour un pool spécifique, sélectionnez le pool, puis Sécurité. Sous Autorisations de pipeline, affichez les pipelines qui ont accès au pool. Autorisez explicitement un pipeline à l’aide du + bouton ou autorisez tous les pipelines à l’aide du bouton. Sous Autorisations utilisateur, ajoutez un utilisateur ou un groupe et choisissez son rôle.

Scénarios courants pour les rôles de pool d’agents au niveau du projet

  • Rôle d’utilisateur : développeurs qui doivent exécuter des builds et des versions
  • Rôle lecteur : Parties prenantes qui ont besoin d’une visibilité sur l’état de la file d’attente
  • Rôle d’administrateur : ingénieurs DevOps qui gèrent la configuration du pool

Rôles de sécurité du pool d’agents, organisation ou niveau collection

Ajoutez des utilisateurs aux rôles de sécurité suivants à partir de la page Pools>. Pour plus d’informations sur l’ajout et la gestion des pools d’agents, consultez Pools d’agents.

Navigation : Paramètres de l’organisation → pipelines → Pools d’agents

Rôle (au niveau de l’organisation) Description
Lecteur Affichez le pool et les agents. En règle générale, ajoutez des opérateurs à ce rôle pour surveiller les agents et leur intégrité.
Compte de service Utilisez le pool pour créer un agent dans un projet. En suivant les instructions de création de pools , cela signifie généralement que vous n’avez pas besoin d’ajouter des membres à ce rôle.
Administrateur Inscrivez ou annulez l’inscription des agents à partir du pool, gérez l’appartenance à tous les pools et affichez et créez des pools. Utilisez le pool d’agents lors de la création d’un agent dans un projet. Le système ajoute automatiquement l’utilisateur qui a créé le pool au rôle Administrateur pour ce pool.

Gérez les paramètres de rôle pour les pools d’agents au niveau de l’organisation ou de collection à partir de la page Pools>.

  • Pour définir des autorisations pour tous les pools au sein de l’organisation ou du regroupement, sélectionnez Sécurité, puis ajoutez un utilisateur ou un groupe et choisissez son rôle.
  • Pour définir des autorisations pour un pool spécifique, sélectionnez le pool, puis Sécurité. Ajoutez un utilisateur ou un groupe et choisissez son rôle.

Autorisations au niveau de l’organisation et au niveau du projet

Contrôle des rôles au niveau de l’organisation :

  • Création et suppression de pool
  • Installation et configuration de l’agent
  • Partage de pool inter-projets

Contrôle des rôles au niveau du projet :

  • Utilisation du pool dans des projets spécifiques
  • Autorisations d’exécution de pipeline
  • Accès à la surveillance de la file d’attente

Rôles de sécurité de groupe de déploiement

Ajoutez des utilisateurs aux rôles suivants à partir de la page Pipelines ou Build et Release . Pour plus d’informations sur l’ajout et la gestion des groupes de déploiement, consultez Groupes de déploiement.

Navigation : Paramètres de projet → pipelines → groupes de déploiement

Rôle Description
Lecteur Afficher les groupes de déploiement.
Creator Affichez et créez des groupes de déploiement.
Utilisateur Affichez et utilisez des groupes de déploiement, mais ne peuvent pas les gérer ou les créer.
Administrateur Administrer des rôles, gérer, afficher et utiliser des groupes de déploiement.

Cas d’utilisation du rôle de groupe de déploiement

  • Administrateur : Configurer les cibles de déploiement et gérer les paramètres de groupe
  • Utilisateur : Déployer des applications dans des environnements cibles
  • Lecteur : Surveiller l’état du déploiement et afficher l’historique du déploiement

Rôles de sécurité du pool de déploiement

Ajoutez des utilisateurs aux rôles suivants à partir de la page Pools de déploiement. Pour plus d’informations sur la création et la gestion des pools de déploiement, consultez Groupes de déploiement.

Navigation : Paramètres de l’organisation → pipelines → pools de déploiement

Rôle Description
Lecteur Affichez les pools de déploiement.
Compte de service Affichez les agents, créez des sessions et écoutez les travaux du pool d’agents.
Utilisateur Affichez et utilisez le pool de déploiement pour créer des groupes de déploiement.
Administrateur Administrer, gérer, afficher et utiliser des pools de déploiement.

Pools de déploiement et groupes de déploiement

  • Pools de déploiement : ressource au niveau de l’organisation que vous pouvez partager entre les projets
  • Groupes de déploiement : collection spécifique au projet de cibles de déploiement

Rôles de sécurité des ressources de bibliothèque : groupes de variables et fichiers sécurisés

Ajoutez des utilisateurs à un rôle de bibliothèque à partir de pipelines ou de build et de mise en production. Pour plus d’informations sur l’utilisation de ces ressources de bibliothèque, consultez Groupes de variables et fichiers sécurisés.

Navigation : Paramètres de projet → pipelines → bibliothèque

Rôle Description
Administrateur Modifier, supprimer et gérer la sécurité des ressources de la bibliothèque. Le créateur d'une ressource se voit automatiquement attribuer ce rôle pour celle-ci.
Creator Créer des ressources dans la bibliothèque.
Lecteur Lire des ressources de la bibliothèque.
Utilisateur Consommer des ressources de la bibliothèque dans des pipelines.

Meilleures pratiques en matière de sécurité de la bibliothèque

  • Limiter l’accès administrateur : accordez uniquement un rôle d’administrateur aux utilisateurs qui doivent gérer les ressources de bibliothèque
  • Utiliser le rôle Lecteur pour la visibilité : attribuer le rôle Lecteur aux utilisateurs qui ont besoin de voir les ressources disponibles
  • Sécuriser les données sensibles : utilisez les rôles appropriés pour les groupes de variables contenant des secrets
  • Audits réguliers : passer régulièrement en revue les autorisations d’accès à la bibliothèque

Rôles de sécurité de connexion de service

Ajoutez des utilisateurs aux rôles suivants à partir de la page Services . Pour plus d’informations sur la création et la gestion de ces ressources, consultez Connexions de service pour la génération et la mise en production.

Navigation : Paramètres du projet → connexions de service

Rôle Description
Utilisateur Utilisez le point de terminaison lors de la création de pipelines de build ou de mise en production.
Administrateur Gérez l’appartenance à tous les autres rôles pour la connexion de service et utilisez le point de terminaison pour créer des pipelines de build ou de mise en production. Le système affecte automatiquement l’utilisateur qui a créé la connexion de service au rôle Administrateur pour ce pool.

Considérations relatives à la sécurité des connexions de service

Les connexions de service contiennent souvent des informations d’identification sensibles et nécessitent une gestion des autorisations minutieuse :

  • Rôle d’administrateur : Pour les ingénieurs DevOps qui configurent des intégrations de service externe
  • Rôle d’utilisateur : pour les auteurs de pipelines qui doivent utiliser des connexions existantes
  • Rôle lecteur : Pour les membres de l’équipe qui ont besoin de visibilité sur les connexions disponibles
  • Rôle créateur : pour les utilisateurs autorisés qui peuvent établir de nouvelles connexions de service

Gestion des attributions de rôles

Meilleures pratiques pour la gestion des rôles

  1. Principe du privilège minimum : attribuer le rôle minimal nécessaire aux utilisateurs pour effectuer leurs tâches
  2. Utiliser des groupes sur des individus : attribuer des rôles à des groupes Microsoft Entra plutôt qu’à des utilisateurs individuels si possible
  3. Révision régulière : auditer régulièrement les attributions de rôles pour s’assurer qu’elles restent appropriées
  4. Affectations de documents : gérer la documentation de qui a quels rôles et pourquoi

Modèles d’attribution de rôle courants

Type d’utilisateur Rôles classiques Justification
Développeurs Rôles d’utilisateur à travers les ressources de pipeline Besoin d’exécuter des pipelines et d’accéder aux ressources
Ingénieurs DevOps Rôles d’administrateur pour les ressources d’infrastructure Gérer et configurer l’infrastructure de pipeline
Responsables de projets Rôles de lecteur pour la visibilité Surveiller la progression sans apporter de modifications
Sous-traitants externes Rôles d’utilisateur limités avec une étendue spécifique Accès restreint en fonction des besoins du projet

Résolution des problèmes d’autorisations basées sur des rôles

Problèmes courants et solutions

Problème Cause possible Solution
L’utilisateur ne peut pas accéder à la ressource de pipeline Attribution de rôle manquante Vérifier et attribuer un rôle approprié
L’utilisateur a trop d’accès Attribution de rôle avec trop de privilèges Examiner et réduire les autorisations de rôle
Autorisations incohérentes entre les projets Attributions de rôles différentes par projet Normaliser les attributions de rôles à l’échelle de l’organisation
Problèmes liés au compte de service Rôles de connexion de service manquants Vérifier que les comptes de service ont des rôles nécessaires

Étapes de vérification

  1. Vérifier l’héritage : vérifier si les autorisations héritent de niveaux supérieurs
  2. Passer en revue l’appartenance au groupe : confirmer les appartenances aux groupes de l’utilisateur et les rôles associés
  3. Autorisations d’audit : Utiliser des rapports de sécurité Azure DevOps pour passer en revue les affectations actuelles
  4. Accès aux tests : permettre aux utilisateurs de tester des scénarios spécifiques pour vérifier que les autorisations fonctionnent correctement

Intégration à l’ID Microsoft Entra

Lorsque votre organisation utilise l’intégration d’ID Microsoft Entra :

  • Affectations basées sur des groupes : attribuer des rôles à des groupes d’ID Microsoft Entra pour faciliter la gestion
  • Accès conditionnel : Les stratégies d’accès conditionnel Microsoft Entra ID s’appliquent à l’accès Azure DevOps
  • Gouvernance des identités : Utiliser les révisions d’accès d’ID Microsoft Entra pour auditer les attributions de rôles
  • Considérations relatives à l’utilisateur invité : les utilisateurs externes peuvent avoir besoin d’attributions de rôles spécifiques