Choisir le mécanisme d’authentification approprié

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

Pour les applications qui s’interfacent avec Azure DevOps Services, vous devez vous authentifier pour accéder à des ressources telles que les API REST. Cet article fournit des conseils pour vous aider à choisir le mécanisme d’authentification approprié pour votre application.

Le tableau suivant décrit le mécanisme d’authentification recommandé pour différents types d’applications. Pour commencer, consultez les descriptions de base, les exemples et les exemples de code suivants.

Type d’application Description Exemple Mécanisme d’authentification Exemples de code
Côté client interactif (REST) Application cliente qui autorise l’interaction utilisateur appelant des API REST Azure DevOps Services Application console énumérant des projets dans un organization Bibliothèque d’authentification Microsoft (MSAL) Échantillon
Côté client interactif (bibliothèque cliente) Application cliente qui autorise l’interaction utilisateur appelant les bibliothèques clientes Azure DevOps Services Application console énumérant les bogues attribués à l’utilisateur actuel Fournisseurs de données pour la connexion à Azure Analysis Services Échantillon
JavaScript interactif Application JavaScript basée sur l’interface graphique graphique Application à page unique AngularJS affichant des informations de projet pour un utilisateur Bibliothèque d’authentification Microsoft pour JavaScript (MSAL JS) Échantillon
Un jeton d’accès personnel (PAT) Jeton du porteur pour accéder à vos propres ressources Utilisez votre PAT à la place de votre mot de passe. Pats
Côté client non interactif Application texte sans tête uniquement côté client Application console affichant tous les bogues attribués à un utilisateur Profil d’appareil Échantillon
Application côté client interactive ciblant Azure DevOps Application cliente qui autorise l’interaction utilisateur authentifie les utilisateurs Azure DevOps Application console permettant aux utilisateurs Azure DevOps de voir les bogues attribués Bibliothèque cliente (interactive et Authentification Windows) Échantillon
Web interactif Application web basée sur une interface utilisateur graphique qui nécessite le consentement de l’utilisateur Tableau de bord web personnalisé affichant des résumés de build Azure DevOps OAuth Échantillon
Principaux de service ou identités managées Application avec accès aux ressources Azure DevOps de organization Fonction Azure pour créer des éléments de travail Principaux de service et identités managées Échantillon
application Azure DevOps Server Azure DevOps Server application à l’aide de la bibliothèque du modèle de service client extension Azure DevOps Server affichant les tableaux de bord des bogues d’équipe Bibliothèques clientes Échantillon
extension Azure DevOps Services extension Azure DevOps Services Cartes Agile KIT DE DÉVELOPPEMENT LOGICIEL (SDK) d’extension web VSS Échantillon

Pour obtenir une introduction aux concepts de sécurité et d’identité dans Azure DevOps, consultez À propos de la sécurité et de l’identité. Pour en savoir plus sur la façon dont nous stockons vos informations d’identification, consultez Stockage des informations d’identification pour Azure DevOps.

L’activation de l’authentification de base IIS invalide l’utilisation de PAT pour Azure DevOps Server

Pour plus d’informations, consultez Utilisation de l’authentification de base IIS avec Azure DevOps localement.

Forum Aux Questions (FAQ)

Q : Pourquoi l’un de mes comptes de service ne peut-il pas accéder à l’API REST Azure DevOps ?

R : Votre compte de service peut ne pas avoir « matérialisé ». Étant donné que la connexion n’est pas possible avec un compte de service qui n’a pas d’autorisations de connexion interactive, case activée ce travail.

Q : Je fais une application côté client interactive. Dois-je utiliser des bibliothèques clientes Azure DevOps Services ou des API REST Azure DevOps Services ?

R : Nous vous recommandons d’utiliser les bibliothèques clientes Azure DevOps Services sur les API REST lors de l’accès aux ressources Azure DevOps Services. Ils sont plus simples et plus faciles à gérer lorsque des modifications de version de nos points de terminaison REST se produisent. Si des fonctionnalités sont manquantes dans les bibliothèques clientes, MSAL est le meilleur mécanisme d’authentification à utiliser avec nos API REST.

Q : Cette aide s’applique-t-elle uniquement à Azure DevOps Services ou est-elle également pertinente pour les utilisateurs locaux Azure DevOps Server ?

R : Ces conseils s’adressent principalement aux utilisateurs Azure DevOps Services. Les bibliothèques clientes sont une série de packages conçus spécifiquement pour étendre Azure DevOps Server fonctionnalités. Pour les utilisateurs locaux, nous vous recommandons d’utiliser les bibliothèques clientes, l’authentification Windows ou les jetons d’accès personnel (PAT) pour s’authentifier pour un utilisateur.

Q : Que se passe-t-il si je souhaite que mon application s’authentifie auprès de Azure DevOps Server et Azure DevOps Services ?

R : La meilleure pratique consiste à avoir différents chemins d’authentification pour Azure DevOps Server et Azure DevOps Services. Vous pouvez utiliser le requestContext pour savoir qui vous appuyez, puis utiliser le meilleur mécanisme pour chacun d’eux. Au lieu de cela, si vous souhaitez une solution unifiée, les PAT fonctionnent pour les deux.