Mittelstand Radar : Signaux d'achat du Mittelstand allemand — réservez dès maintenant votre première édition du rapport.Rejoindre la liste d'attente
Tuyaux de pipeline industriels avec cadenas et mécanismes de sécurité
Retour au blog
azureazure devopscicd

Sécuriser les pipelines Azure DevOps avec les approbations et les verrous exclusifs

Sven HennessenDevOps

Éviter les conflits et structurer les validations grâce aux approbations et aux verrous exclusifs

Dans le monde du développement logiciel moderne, l'intégration continue (CI) et le déploiement continu (CD) sont incontournables. Azure DevOps fournit des pipelines robustes qui aident les équipes à construire, tester et déployer des composants logiciels en continu. Un aspect critique de ces pipelines est la maîtrise des accès parallèles ainsi que la décision et la validation du moment où un déploiement doit avoir lieu. L'objectif est d'assurer l'intégrité et la qualité du code avant son arrivée en production. Regardons de plus près ce que sont les Exclusive Locks et les Approvals dans Azure DevOps, et comment les utiliser efficacement.

Exclusive Locks dans Azure DevOps

Les Exclusive Locks sont des mécanismes qui empêchent plusieurs builds ou déploiements de s'exécuter en même temps lorsqu'ils risquent d'impacter les mêmes ressources. Les accès parallèles se produisent par exemple lorsque plusieurs développeurs intègrent presque simultanément de nouvelles fonctionnalités dans l'état partagé du code et que des pipelines à déclenchement automatique se lancent. Il faut alors protéger l'accès aux ressources communes, comme une infrastructure partagée.

Avantages des Exclusive Locks

  1. Éviter les collisions : un verrou garantit qu'une seule pipeline à la fois accède à une ressource donnée, ce qui évite conflits et incohérences.
  2. Préserver les ressources : si plusieurs pipelines ne sollicitent pas la même ressource au même moment, l'utilisation des ressources système devient plus efficace.
  3. Fiabilité : en évitant les accès parallèles, on réduit les erreurs potentielles et les interruptions. Les pipelines doivent être fiables.

Approvals dans Azure DevOps

Les Approvals sont des exigences de validation qui garantissent que certaines étapes d'une pipeline ne s'exécutent pas automatiquement, mais seulement après une approbation manuelle donnée par des personnes ou des équipes autorisées. Cela est particulièrement important pour les étapes de déploiement critiques qui nécessitent un contrôle supplémentaire.

Utilité des Approvals

  1. Assurance qualité : avant un déploiement en production, des membres responsables peuvent examiner et valider la livraison.
  2. Contrôles de sécurité : une vérification manuelle permet de revoir les points sensibles avant déploiement.
  3. Conformité : les entreprises peuvent s'assurer que toutes les étapes de déploiement respectent leurs règles internes et leurs exigences de conformité.

Limiter les Approvals à certaines équipes et certains rôles

Une fonctionnalité particulièrement puissante d'Azure DevOps est la possibilité de limiter les approbations à des équipes et à des rôles précis. Cela permet un contrôle fin de qui a le droit d'approuver quelle action dans la pipeline.

Pourquoi cette limitation est utile

  1. Responsabilité : seules les personnes disposant de l'expertise et de la responsabilité adéquates peuvent approuver les étapes critiques. Cela réduit les mauvaises décisions et améliore la qualité du résultat.
  2. Sécurité : en limitant les droits d'approbation à certains rôles, on réduit le risque de changements non autorisés.
  3. Efficacité : les bonnes personnes sont responsables des bonnes tâches, ce qui peut accélérer le processus de validation.

Implémentation des Exclusive Locks et des Approvals

L'implémentation de ces mécanismes dans Azure DevOps est relativement simple et se configure dans la définition de la pipeline. Pour cela, on indique dans la pipeline un environment créé pour le déploiement visé, ici production :

stages:
- stage: Deploy
  jobs:
  - deployment: DeployWeb
    environment: 'production'
    strategy:
      runOnce:
        deploy:
          steps:
          - script: echo Deploying...

Une fois l'environnement créé, on peut gérer Approvals and checks via l'interface Azure DevOps, dans le menu contextuel de l'environnement. On peut y configurer aussi bien les Exclusive Locks que les Approvals pour des utilisateurs ou groupes donnés.

Conclusion

Les Exclusive Locks et les Approvals sont des outils essentiels dans Azure DevOps pour garantir l'intégrité et la sécurité des pipelines CI/CD. En limitant de manière ciblée les approbations à certaines équipes et à certains rôles, les entreprises peuvent s'assurer que seules des personnes qualifiées et autorisées prennent les décisions critiques. Ces mécanismes contribuent fortement à améliorer la qualité et la fiabilité des déploiements logiciels, ainsi que l'efficacité de l'ensemble du processus de développement.

Besoin d'aide ?

Vous souhaitez sécuriser vos pipelines Azure DevOps avec des approbations et des verrous, mais vous n'êtes pas certain de la configuration optimale ? Nous pouvons vous aider. Contactez-nous via notre page de contact et voyons ensemble comment rendre vos processus de déploiement plus sûrs.

Pour plus d'informations et des instructions détaillées de configuration, consultez la documentation Azure DevOps sur les Approvals & Exclusive Locks.