Améliorations apportées à la sécurité des pipelines
Avec cette mise à jour, nous incluons des améliorations pour renforcer la sécurité dans Azure DevOps. Vous pouvez maintenant utiliser une identité managée affectée par le système lors de la création de connexions de service Docker Registry pour Azure Container Registry. En outre, nous avons amélioré la gestion des accès pour les pools d’agents afin de vous permettre de spécifier l’utilisation des ressources dans un pipeline YAML. Enfin, nous limitons le jeton d’accès GitHub pour les référentiels publics forkés GitHub à une étendue en lecture seule.
Pour plus d’informations, consultez les notes de publication.
Azure Boards
Azure Pipelines
- Les connexions de service du registre de conteneurs peuvent désormais utiliser des identités gérées Azure
- Événements du journal d’audit liés à l’autorisation de pipeline
- Vérifier que votre organisation utilise uniquement des pipelines YAML
- nouvelle étendue PAT requise pour mettre à jour les paramètres généraux du pipeline
- Gestion détaillée des accès pour les pools d’agents
- Empêcher d’accorder à tous les pipelines l’accès aux ressources protégées
- Sécurité améliorée lors de la création de demandes de tirage à partir de référentiels GitHub forkés
- L’étiquette macos-latest pointera vers l’image macos-12
- L’étiquette ubuntu-latest pointera vers l’image ubuntu-22.04
Azure Boards
Copier des liens de commentaire
Vous pouvez maintenant utiliser l’action Copier le lien pour copier un lien vers un commentaire d’élément de travail spécifique. Vous pouvez ensuite coller ce lien dans un autre commentaire ou description d’élément de travail. Lorsque vous cliquez dessus, l’élément de travail est ouvert et le commentaire est mis en surbrillance.
Cette fonctionnalité a été priorisée en fonction du ticket de suggestion de la communauté.
Remarque
Cette fonctionnalité sera disponible uniquement avec la préversion de New Boards Hubs.
Azure Pipelines
Les connexions de service Container Registry peuvent désormais utiliser des identités managées Azure
Vous pouvez utiliser une identité managée affectée par le système lors de la création de connexions de service Docker Registry pour Azure Container Registry. Cela vous permet d’accéder à Azure Container Registry à l’aide d’une identité managée associée à un agent Azure Pipelines auto-hébergé, ce qui élimine la nécessité de gérer les informations d’identification.
Remarque
L'identité managée utilisée pour accéder à Azure Container Registry doit avoir l'attribution appropriée de contrôle d'accès basé sur les rôles (RBAC) Azure, par exemple, les rôles AcrPull ou AcrPush.
Événements du journal d’audit liés aux autorisations de pipeline
Lorsque vous restreignez les autorisations de pipeline d’une ressource protégée, telle qu’une connexion de service, le journal d’événements d’audit associé indique désormais correctement que la ressource a été non autorisé avec succès pour son projet.
Autorisations de Pipeline pour les Modifications aux Approbations
Vérifiez que votre organisation utilise uniquement des pipelines YAML
Azure DevOps vous permet désormais de vous assurer que votre organisation utilise uniquement des pipelines YAML, en désactivant la création de pipelines de build classiques, de pipelines de mise en production classiques, de groupes de tâches et de groupes de déploiement. Vos pipelines classiques existants continueront à fonctionner, et vous pourrez les éditer, mais vous ne pourrez pas en créer de nouveaux.
Vous pouvez désactiver la création de pipelines classiques au niveau de l’organisation ou du projet, en activant les bascules correspondantes. Les commutateurs se trouvent dans Paramètres du projet / de l’organisation -> Pipelines -> Paramètres.
L’état des interrupteurs est désactivé par défaut, et vous aurez besoin de droits d’administrateur pour changer l’état. Si l'interrupteur est activé au niveau de l’organisation, la désactivation s'applique à tous les projets. Sinon, chaque projet est libre de choisir s’il faut appliquer ou non la désactivation.
Lors de la désactivation de la création de pipelines classiques, les API REST liées à la création de pipelines classiques, de groupes de tâches et de groupes de déploiement échouent. Les API REST qui créent des pipelines YAML fonctionnent.
La désactivation de la création de pipelines classiques est facultative pour les organisations déjà existantes. Pour les nouvelles organisations, il est optionnel pour le moment.
Nouvelle étendue PAT requise pour mettre à jour les paramètres généraux du pipeline
L’appel de l’API REST Paramètres généraux - Mise à jour nécessite désormais un PAT avec une étendue Projet et équipe -> Lecture & Écriture.
Gestion des accès granulaires pour les pools d’agents
Les pools d’agents vous permettent de spécifier et de gérer les machines sur lesquelles vos pipelines s’exécutent.
Auparavant, si vous utilisiez un pool d’agents personnalisé, la gestion des pipelines qui pouvaient y accéder était peu détaillée. Vous pouvez autoriser tous les pipelines à l’utiliser, ou vous pouvez exiger que chaque pipeline demande l’autorisation. Malheureusement, une fois que vous avez accordé une autorisation d’accès au pipeline à un pool d’agents, vous n’avez pas pu le révoquer à l’aide de l’interface utilisateur des pipelines.
Azure Pipelines fournit désormais une gestion d’accès affinée pour les pools d’agents. L’expérience est similaire à celle de la gestion des autorisations de pipeline pour les connexions de service.
Empêcher d’accorder à tous les pipelines l’accès aux ressources protégées
Lorsque vous créez une ressource protégée telle qu’une connexion de service ou un environnement, vous avez la possibilité de sélectionner la case à cocher Accorder l’autorisation d’accès à tous les pipelines. Jusqu’à présent, cette option a été cochée par défaut.
Bien qu’il soit plus facile pour les pipelines d’utiliser de nouvelles ressources protégées, l’inverse est qu’il favorise accidentellement l’octroi d’un trop grand nombre de pipelines le droit d’accéder à la ressource.
Pour promouvoir un choix sécurisé par défaut, Azure DevOps laisse désormais la case à cocher non activée.
Amélioration de la sécurité lors de la création de pull requests à partir de référentiels GitHub bifurqués
Vous pouvez utiliser Azure DevOps pour générer et tester votre dépôt GitHub public. Disposer d’un dépôt GitHub public vous permet de collaborer avec des développeurs à travers le monde, mais s'accompagne de problèmes de sécurité liés à la création de requêtes de tirage (PR) à partir de dépôts dérivés.
Pour empêcher les PR provenant de forks de référentiels GitHub de faire des modifications non souhaitées dans vos référentiels, Azure DevOps limite désormais le jeton d’accès GitHub à une portée en lecture seule.
Le label macos-latest pointera vers l’image macos-12
L’image macOS-12 Monterey est prête à être la version par défaut de l’étiquette « macos-latest » dans les agents Azure Pipelines hébergés par Microsoft. Jusqu’à présent, cette étiquette pointait vers les agents macos-11 Big Sur.
Pour obtenir la liste complète des différences entre macos-12 et macos-11, visitez le problème GitHub. Pour obtenir la liste complète des logiciels installés sur l’image, consultez ici.
L'étiquette Ubuntu-latest désignera l’image ubuntu-22.04
L’image ubuntu-22.04 est prête à être la version par défaut de l'étiquette ubuntu-latest dans les agents hébergés par Microsoft d'Azure-Pipelines. Jusqu’à présent, cette étiquette pointait vers les agents ubuntu-20.04.
Pour obtenir la liste complète des différences entre ubuntu-22.04 et ubuntu-20.04, visitez le problème GitHub. Pour obtenir la liste complète des logiciels installés sur l’image, consultez ici.
Étapes suivantes
Remarque
Ces fonctionnalités seront déployées au cours des deux à trois prochaines semaines.
Passez à Azure DevOps et jetez un coup d’œil.
Comment fournir des commentaires
Nous aimerions entendre ce que vous pensez de ces fonctionnalités. Utilisez le menu d’aide pour signaler un problème ou fournir une suggestion.
Vous pouvez également obtenir des conseils et répondre à vos questions par la communauté sur Stack Overflow.
Merci
Vijay Machiraju