Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
Cet article décrit les méthodes d’authentification pour l’intégration d’Azure DevOps et vous aide à choisir la meilleure option pour votre scénario. Les approches d’authentification modernes comme Microsoft Entra ID offrent une sécurité renforcée et la meilleure approche pour les nouvelles applications.
Important
Nous recommandons l’authentification d’ID Microsoft Entra pour les nouvelles applications qui s’intègrent à Azure DevOps Services. Utilisez des jetons d’accès personnels avec parcimonie et utilisez-les uniquement lorsque l’ID Microsoft Entra n’est pas disponible.
L’authentification OAuth 2.0 et Microsoft Entra ID est disponible uniquement pour Azure DevOps Services, et non pour Azure DevOps Server.
Pour les scénarios locaux, utilisez des bibliothèques clientes .NET, l’authentification Windows ou des jetons d’accès personnels.
Méthodes d’authentification par scénario
Choisissez la méthode d’authentification appropriée en fonction du type et des exigences de votre application.
| Type d’application | Descriptif | Exemple | Méthode recommandée | Exemples de code |
|---|---|---|---|---|
| Applications web/de bureau | Applications interactives utilisant des frameworks actuels | Application React, application de bureau .NET | Microsoft Entra OAuth avec la bibliothèque d’authentification Microsoft (MSAL) | Application console cliente managée |
| Applications de service/d’arrière-plan | Applications s’exécutant sans interaction utilisateur | Azure Functions, services en arrière-plan | Principaux de service et identités managées | Principaux de service |
| Applications clientes héritées | Applications existantes utilisant des bibliothèques clientes | Applications console avec les bibliothèques .NET d'Azure DevOps | Bibliothèques clientes .NET avec OAuth | Application console de bibliothèque cliente |
| Applications sans tête/CLI | Outils en ligne de commande non interactifs | Générer des scripts, des outils d’automatisation | Flux d’octroi d’autorisation d’appareil | Profil d’appareil |
| Extensions Azure DevOps | Extensions s’exécutant dans Azure DevOps | Widgets de tableau de bord personnalisés et formulaires d’éléments de travail | Kit de développement logiciel (SDK) d’extension web Azure DevOps | Ajouter un widget de tableau de bord |
| Applications Azure DevOps Server | Intégrations locales d’Azure DevOps Server | Extensions de serveur personnalisées | Bibliothèques clientes .NET ou authentification Windows | Application console de bibliothèque cliente |
| Scripts personnels/ad hoc | Scripts rapides pour une utilisation personnelle | Scripts PowerShell, commandes curl | Jetons d’accès personnels | Prise en main des API REST |
Suggestions de prise en main
Les sections suivantes fournissent des recommandations pour commencer dans différents scénarios.
Nouvelles applications
- Créez des intégrations Azure DevOps aux applications Microsoft Entra OAuth pour une meilleure sécurité et une meilleure compatibilité future.
- Utilisez des principaux de service ou des identités managées pour les scénarios de service à service.
- Évitez les jetons d’accès personnels dans les applications de production.
Applications existantes
- Planifiez la migration à partir de jetons d’accès personnels vers l’authentification Microsoft Entra ID.
- Prenez en compte la chronologie de la migration d’authentification pour les améliorations d’Azure DevOps et réduisez l’utilisation de jetons d’accès personnels.
- Passez en revue votre approche d’authentification actuelle par rapport aux meilleures pratiques de sécurité.
Azure DevOps Server
- Utilisez des bibliothèques clientes .NET avec l’authentification Windows si possible.
- Utilisez des jetons d’accès personnels pour les scénarios Azure DevOps Server lorsqu’ils sont acceptables.
- Planifiez la migration future d’Azure DevOps Services pour tirer parti de l’authentification moderne.
Réponses aux questions courantes
Les sections suivantes fournissent des réponses aux questions fréquemment posées.
Dois-je utiliser des jetons d’accès personnels ou OAuth ID Microsoft Entra ?
Utilisez Microsoft Entra ID OAuth dans les scénarios suivants :
- Nouvelles applications et intégrations
- Charges de travail de production nécessitant une sécurité robuste
- Applications qui ont besoin d’une intégration d’identité d’entreprise
- Projets à long terme avec des exigences de conformité
Utilisez uniquement des jetons d’accès personnels dans les scénarios suivants :
- Scripts personnels et tâches ad hoc
- Applications héritées pendant la planification de la migration
- Scénarios Azure DevOps Server où l’authentification moderne n’est pas disponible
Dois-je utiliser des principaux de service ou une délégation d’utilisateur pour l’authentification ?
Utilisez des principaux de service ou des identités managées dans les scénarios suivants :
- Créez des applications qui fonctionnent indépendamment (services en arrière-plan, automatisation).
- Créez des applications qui ne nécessitent pas d’interaction utilisateur.
- Implémentez la communication de service à service.
- Créez des pipelines d’intégration continue et de livraison continue (CI/CD) ou des flux de travail automatisés.
Utilisez la délégation d’utilisateur (OAuth avec consentement de l’utilisateur) dans les scénarios suivants :
- Créez des applications qui agissent pour les utilisateurs humains.
- Créez des applications interactives où les utilisateurs se connectent avec leurs propres informations d’identification.
- Implémentez des fonctionnalités qui nécessitent des autorisations spécifiques à l’utilisateur.
- Créez des applications qui respectent les droits d’accès individuels des utilisateurs.
Comment s’authentifier auprès d’Azure DevOps Services et d’Azure DevOps Server ?
La meilleure pratique consiste à créer des chemins d’authentification distincts :
- Azure DevOps Services : utilisez l’ID OAuth De Microsoft Entra.
- Azure DevOps Server : Utilisez des bibliothèques clientes .NET avec l’authentification Windows ou des jetons d’accès personnels.
Utilisez la requestContext méthode pour détecter le type de service et appliquer la méthode d’authentification appropriée.
Pourquoi mon compte de service ne peut-il pas accéder aux API Azure DevOps ?
Voici quelques problèmes courants qui peuvent affecter l’accès au compte de service :
- Compte de service non « matérialisé » : utilisez la méthode de connexion correcte. Les comptes de service ont besoin d’autorisations de connexion interactives ou d’une inscription d’ID Microsoft Entra appropriée.
- Autorisations insuffisantes : vérifiez que le compte de service dispose des autorisations Azure DevOps appropriées.
- Méthode d’authentification : utilisez des principaux de service ou des identités managées au lieu d’essayer de s’authentifier en tant que compte de service.
Comment migrer des jetons d’accès personnels vers l’authentification moderne ?
Suivez ces étapes :
Identifiez l’utilisation actuelle des jetons d’accès personnels dans vos applications.
Choisissez une autre méthode d’authentification :
- Microsoft Entra ID OAuth pour les scénarios délégués par l’utilisateur
- Principaux de service pour les scénarios de service à service
Mettez à jour le code d’authentification à l’aide des exemples d’authentification de migration Azure DevOps.
Testez soigneusement les modifications avant de supprimer les dépendances de jeton d’accès personnel.
Surveillez et validez la nouvelle méthode d’authentification.
Procédures d’implémentation
Après avoir choisi la méthode d’authentification pour votre scénario, terminez l’implémentation :
- Nouvelles applications : Créer des intégrations Azure DevOps avec des applications Microsoft Entra OAuth
- Applications deservice : utiliser des principaux de service et des identités managées dans Azure DevOps
- Scripts personnels : Utiliser des jetons d’accès personnels