Conseils d’authentification pour Azure DevOps

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

Utilisez cet article pour choisir une approche d’authentification pour Azure DevOps au niveau de l’organisation. Il couvre la posture de sécurité, la gouvernance et la maintenance pour les méthodes courantes, puis des liens vers des conseils axés sur l’implémentation.

Pour plus d’informations sur l’implémentation au niveau de l’application, consultez les méthodes d’authentification pour Azure DevOps.

Différences entre les services et les serveurs

Les options d’authentification diffèrent entre Azure DevOps Services et Azure DevOps Server.

Plate-forme Valeur par défaut recommandée Remarques
Azure DevOps Services Authentification basée sur Microsoft Entra Utilisez Microsoft Entra connexion pour les utilisateurs et les identités d’application Microsoft Entra pour l’automatisation.
Serveur Azure DevOps Authentification Windows, bibliothèques clientes .NET ou paTs pris en charge Les modèles d’identité managée et de principal de service pour l’authentification Azure DevOps s’appliquent à Azure DevOps Services, et non Azure DevOps Server.

Comparer les choix d’authentification courants

Utilisez le tableau suivant pour comparer les choix courants pour les utilisateurs, les applications, les scripts et les pipelines.

Method Idéal pour Posture de sécurité Gestion des informations d’identification Fonctionne avec Éviter quand
connexion utilisateur Microsoft Entra Accès interactif des utilisateurs aux organisations Azure DevOps Option forte avec la gouvernance centralisée des identités, l’accès conditionnel et l’authentification multifacteur Gérés par des stratégies de cycle de vie et de locataire Microsoft Entra Azure DevOps Services Vous implémentez une automatisation d’application à application sans assistance
Identité gérée automatisation Azure hébergée, telle que Azure Functions ou App Service Option la plus forte pour l’automatisation hébergée par Azure, car les jetons sont de courte durée et Azure gère le cycle de vie des identités Aucune clé secrète client pour stocker ou faire pivoter Azure DevOps Services La charge de travail ne s'exécute pas sur Azure, ou vous avez besoin d'une identité portable dans les environnements
Service Principal Automatisation en dehors de Azure ou sur plusieurs environnements et systèmes CI/CD Option forte lorsque vous utilisez des modèles d’informations d’identification modernes et de privilèges minimum Vous gérez l’identité et les informations d’identification de l’application, sauf si un flux fédéré supprime les secrets Azure DevOps Services Une identité managée peut répondre à la même exigence sur les charges de travail hébergées Azure
connexion de service Azure DevOps Azure Pipelines l’accès aux ressources Azure DevOps Option forte pour l’automatisation des pipelines, car elle utilise la fédération des identités de charge de travail et évite l’extension pat dans les pipelines Géré par le biais des paramètres de connexion de service Azure DevOps pipelines Azure DevOps Services Le scénario ne s'exécute pas via Azure Pipelines
Jeton d’accès personnel (PAT) Scripts personnels de courte durée, tests ponctuels ou scénarios de compatibilité hérités Risque le plus élevé, car les PAT sont des secrets porteurs de longue durée liés aux comptes d’utilisateur Création, stockage, rotation et révocation manuels Azure DevOps Services et Azure DevOps Server Automatisation de la production où le principal de service, l’identité managée ou la connexion de service est disponible

Important

Envisagez d’utiliser les jetons Microsoft Entra plus sécurisés plutôt que des jetons d’accès personnels à risque élevé. Pour plus d’informations, consultez Réduire l’utilisation des PAT. Passez en revue les conseils d’authentification pour choisir le mécanisme d’authentification approprié pour vos besoins.

  • Utilisez Microsoft Entra connexion utilisateur pour l’accès utilisateur aux organisations Azure DevOps Services.
  • Utilisez d’abord l’identité managée pour l’automatisation hébergée par Azure.
  • Utilisez le principal de service pour l’automatisation non Azure ou inter-environnement.
  • Utilisez Azure DevOps connexion de service lorsque Azure Pipelines a besoin d’un accès aux ressources Azure DevOps.
  • Utilisez les paT uniquement pour les scénarios temporaires, personnels, hérités ou Azure DevOps Server où les options plus sécurisées ne s'appliquent pas.

Quand utiliser des PAT

Utilisez des PAT dans des scénarios limités, tels que :

  • Scripts ad hoc personnels
  • Résolution des problèmes d’API à usage unique
  • Outils hérités qui ne peuvent pas utiliser l'authentification basée sur Microsoft Entra
  • Azure DevOps Server scénarios où les flux d'identité cloud modernes ne sont pas disponibles

Lorsque vous utilisez des PAT :

  • Limitez-les aux autorisations minimales requises.
  • Utilisez la durée de vie pratique la plus courte.
  • Stockez et faites-les pivoter en tant que secrets.
  • Remplacez-les par des options basées sur Microsoft Entra lorsque cela est possible.

Pour obtenir des conseils sur le cycle de vie PAT, consultez Utiliser des jetons d’accès personnels et gérer des stratégies PAT.

Contrôles de stratégie et de gouvernance

Utilisez des contrôles d’organisation et de locataire pour appliquer la posture d’authentification :

Liste de contrôle de la décision

Avant de choisir une méthode d’authentification, confirmez :

  • Cet accès interactif par l’utilisateur ou l’automatisation sans assistance ?
  • La charge de travail est-elle hébergée dans Azure ou en dehors de Azure ?
  • La plateforme cible Azure DevOps Services ou Azure DevOps Server ?
  • Ce scénario peut-il éviter les informations d’identification de longue durée ?
  • Les exigences en matière de stratégie et d’audit de l’organisation sont-elles remplies ?

Guides d’implémentation