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
Un jeton d’accès personnel (PAT) sert de mot de passe alternatif pour l’authentification dans Azure DevOps. Ce PAT vous identifie et détermine votre accessibilité et l'étendue de votre accès. Traitez les PAT avec le même niveau de précaution que les mots de passe.
Lorsque vous utilisez des outils Microsoft, votre compte Microsoft ou votre ID Microsoft Entra est reconnu et pris en charge. Si vous utilisez des outils qui ne prennent pas en charge les comptes Microsoft Entra ou si vous préférez ne pas partager vos informations d’identification principales, envisagez d’utiliser des jetons d'accès personnels comme méthode d’authentification alternative. Nous vous recommandons d’utiliser des jetons Microsoft Entra au lieu de paTs dans la mesure du possible.
Importante
Nous recommandons d'utiliser les jetons Microsoft Entra, plus sécurisés, plutôt que les jetons d’accès personnels, qui présentent un risque plus élevé. Apprenez-en davantage sur nos efforts de réduction de l’utilisation du PAT. Passez en revue nos conseils d’authentification pour choisir le mécanisme d’authentification approprié pour vos besoins.
Conditions préalables
| Catégorie | Spécifications |
|---|---|
| Permissions | Autorisation d’accès et de modification des paramètres utilisateur dans lesquels les PAT sont gérés. - Accédez à votre profil et sélectionnezJetons d’accès personnels> utilisateur. Si vous pouvez voir et gérer vos PAT ici, c'est que vous disposez des permissions nécessaires. - Accédez à votre projet et sélectionnez paramètres du projet>Autorisations. Recherchez votre compte d’utilisateur dans la liste et vérifiez les autorisations qui vous sont affectées. Recherchez les permissions liées à la gestion des jetons ou des paramètres utilisateur. - Si votre organisation a des stratégies en place, un administrateur peut avoir besoin d’accorder des autorisations spécifiques ou de vous ajouter à une liste verte pour créer et gérer des PAT. - Les PATs sont connectés au compte d’utilisateur qui a créé le jeton. Selon les tâches que le PAT effectue, il est possible que vous ayez vous-même besoin de plus d’autorisations. |
| Niveaux d’accès | Accès de base au moins. |
| Tasks | Utilisez des PAT uniquement si nécessaire et faites-les toujours pivoter régulièrement. Consultez la section Meilleures pratiques pour l’utilisation des PAT. |
Créer un PAT
Connectez-vous à votre organisation (
https://dev.azure.com/{Your_Organization}).À partir de votre page d'accueil, ouvrez les paramètres utilisateur
et sélectionnez Jetons d'accès personnels.
Sélectionnez + Nouveau jeton.
Nommez votre jeton, sélectionnez l'organisation dans laquelle vous souhaitez l'utiliser, puis paramétrez votre jeton pour qu'il expire automatiquement au bout d'un certain nombre de jours.
Sélectionnez les périmètres pour autoriser ce jeton pour vos tâches spécifiques.
Par exemple, pour créer un jeton permettant à un agent de construction et de publication de s'authentifier auprès d'Azure DevOps, définissez l'étendue du jeton sur Pools d'agents (Lire & gérer). Pour lire les événements du journal d'audit et gérer ou supprimer les flux, sélectionnez Lire le journal d'audit, puis Créer.
Votre administrateur peut vous empêcher de créer des PAT à portée complète ou vous limiter aux PAT à portée de package uniquement. Contactez votre administrateur pour être ajouté à la liste d'autorisation si vous avez besoin de permissions supplémentaires. Certaines étendues, par exemple,
vso.governancepeuvent ne pas être disponibles dans l’interface utilisateur s’ils ne sont pas destinés à une utilisation publique généralisée.Lorsque vous avez terminé, copiez le jeton et stockez-le dans un emplacement sécurisé. Pour votre sécurité, il ne s'affiche plus.
Vous pouvez utiliser votre PAT partout où vos informations d’identification utilisateur sont requises pour l’authentification dans Azure DevOps. Se souvenir:
- Traitez un mot de passe avec la même prudence que votre mot de passe et conservez-le confidentiel. Ne partagez pas PATS.
- Pour les organisations qui sont soutenues par l’ID Microsoft Entra, vous devez vous connecter avec votre nouveau PAT dans un délai de 90 jours ou il devient inactif. Pour plus d’informations, consultez La fréquence de connexion utilisateur pour l’accès conditionnel.
Avis
Pendant la durée de vie d’un pat, les utilisateurs reçoivent deux notifications : une lorsque le PAT est créé et un autre sept jours avant son expiration.
Une fois que vous avez créé un PAT, vous pouvez recevoir une notification similaire à l’exemple suivant. Cette notification confirme que votre PAT a été ajouté avec succès à votre organisation.
Un e-mail de notification d’expiration est envoyé trois jours avant l’expiration. Si votre administrateur a supprimé votre capacité à créer des PAT dans l’organisation, l’e-mail indique qu’il n’est plus possible de régénérer les PAT. Contactez l’administrateur de votre collection de projets pour qu’il soit inclus dans une liste verte pour obtenir des autorisations de création pat continue dans cette organisation.
Pour plus d'informations, voir Configurer un serveur SMTP et personnaliser les e-mails pour les alertes et les requêtes de commentaires.
Notification inattendue
Si vous recevez une notification PAT inattendue, cela peut signifier qu'un administrateur ou un outil a créé un PAT pour vous. Voici quelques exemples :
- Un jeton nommé
git: https://dev.azure.com/{Your_Organization} on YourMachineest créé lorsque vous vous connectez à un dépôt Git Azure DevOps via git.exe. - Un jeton nommé
Service Hooks: Azure App Service: Deploy web appest créé lorsque vous ou un administrateur configurez un déploiement d’application web Azure App Service. - Un jeton nommé
WebAppLoadTestCDIntTokenest créé lorsque le test de charge web est configuré dans le cadre d’un pipeline par vous ou un administrateur. - Un jeton nommé
Microsoft Teams Integrationest créé lorsqu’une extension de messagerie d’intégration Microsoft Teams est configurée.
Si vous pensez que la situation est grave :
- Révoquez le mot de passe ( et modifiez votre mot de passe) si vous pensez qu’il existe en erreur.
- Si vous êtes un utilisateur de Microsoft Entra, vérifiez auprès de votre administrateur si une source ou un emplacement inconnu a accédé à votre organisation.
- Consultez la FAQ sur les check-ins PAT accidentels dans les référentiels GitHub publics.
Utiliser un PAT
Votre PAT sert d'identité numérique, à l'instar d'un mot de passe. Vous pouvez utiliser des PAT comme moyen rapide d’effectuer des requêtes ponctuelles ou de prototyper une application localement. Utilisez un pater dans votre code pour authentifier les demandes d’API REST et automatiser les flux de travail en incluant le PAT dans l’en-tête d’autorisation de votre demande.
Une fois que votre code d’application fonctionne, passez à Microsoft Entra OAuth pour acquérir des jetons pour les utilisateurs de votre application ou un principal de service ou une identité managée pour acquérir des jetons en tant qu’application. Nous vous déconseillons de continuer à exécuter des applications ou des scripts avec des paTs à long terme. Vous pouvez utiliser des jetons Microsoft Entra partout où un pat est utilisé.
Envisagez d’acquérir un jeton Microsoft Entra via Azure CLI pour les demandes ad hoc.
Pour fournir le PAT via un en-tête HTTP, vous devez d’abord le convertir en chaîne Base64 . Il peut ensuite être fourni en tant qu’en-tête HTTP au format suivant :
Authorization: Basic BASE64_USERNAME_PAT_STRING
Modifier un PAT
Effectuez les étapes suivantes pour :
- Régénérer un PAT pour créer un nouveau jeton, ce qui invalide le précédent.
- Prolonger un PAT pour augmenter sa période de validité.
- Modifier l'étendue d'un PAT pour changer ses permissions.
À partir de votre page d'accueil, ouvrez les paramètres utilisateur
et sélectionnez Jetons d'accès personnels.Sélectionnez le jeton que vous souhaitez modifier, puis sélectionnez Modifier.
Modifiez le nom du jeton, son expiration ou l'étendue de l'accès associé au jeton, puis sélectionnez Enregistrer.
Révoquer un PAT
Vous pouvez révoquer un PAT à tout moment pour ces raisons et d'autres encore :
- Violation de sécurité : révoquez immédiatement une pat si vous pensez qu’elle a été compromise, divulguée ou exposée dans des journaux ou des dépôts publics.
- Non nécessaire : révoquez une pat lorsque le projet, le service ou l’intégration pour lequel il a été créé est terminé ou supprimé.
- Conformité des politiques : Révoquez un PAT pour appliquer des politiques de sécurité, des exigences de conformité ou des cycles de rotation des jetons organisationnels.
- Modifications de l’utilisateur : révoquez un mot de passe lorsqu’un membre de l’équipe quitte l’organisation ou modifie des rôles et n’a plus besoin d’accéder.
- Réduction de l’étendue : révoquez et recréez un pat avec des autorisations réduites lorsque vous devez limiter ses fonctionnalités d’accès.
- Maintenance régulière : Révoquez un PAT dans le cadre de la gestion du cycle de vie des jetons et d’hygiène de sécurité de routine.
Pour révoquer un PAT, procédez comme suit :
Sur votre page d’accueil, ouvrez les paramètres
utilisateur et sélectionnez Jetons d’accès personnels.Sous Sécurité, sélectionnez Jetons d’accès personnels. Sélectionnez le jeton pour lequel vous souhaitez révoquer l'accès, puis sélectionnez Révoquer.
Dans la boîte de dialogue Confirmation , sélectionnez Révoquer.
API de gestion du cycle de vie PAT
Les API de gestion du cycle de vie PAT peuvent être utiles lors de la maintenance de gros volumes de jetons via l’interface utilisateur. La gestion de la rotation PAT par programmation ouvre également la possibilité de faire pivoter régulièrement les PAT et de raccourcir leur durée de vie par défaut. Vous pouvez configurer l’exemple d’application Python avec votre locataire Microsoft Entra et votre organisation Azure DevOps.
Voici quelques points à noter sur ces API :
- Les jetons d’accès Microsoft Entra sont requis pour accéder à cette API. Nous vous recommandons d’utiliser une forme d’authentification plus forte lorsque vous créez de nouveaux jetons.
- Seuls les utilisateurs ou les applications qui utilisent un flux « on-behalf-of user » peuvent générer des PAT. Les applications qui utilisent des flux d’authentification « au nom de l’application » ou des flux d’authentification qui n’émettent pas de jetons d’accès Microsoft Entra ne sont pas valides pour une utilisation avec cette API. Par conséquent, les principaux de service ou les identités managées ne peuvent pas créer ou gérer des PAT.
- Auparavant, les API de gestion du cycle de vie PAT prenaient uniquement en charge l’étendue
user_impersonation, mais ellesvso.patssont désormais disponibles et sont l’étendue recommandée à utiliser avec ces API. Réduisez la portée de toutes les applications qui dépendaient auparavant deuser_impersonationpour appeler ces API.
Modifications du format
À compter de juillet 2024, nous avons mis à jour le format des chaînes PAT afin d’améliorer la détection des secrets dans notre outil de détection des PAT divulgués et dans les offres de nos partenaires. Ce nouveau format PAT inclut des bits plus identifiables pour améliorer le taux de détection faux positifs dans ces outils de détection et atténuer les fuites détectées plus rapidement.
- Les nouveaux jetons sont désormais de 84 caractères, avec 52 caractères étant des données aléatoires, ce qui améliore l’entropie globale. Les jetons sont désormais plus résistants aux attaques par force brute.
- Les jetons émis par notre service incluent une signature fixe
AZDOaux positions 76-80.
Si vous utilisez un PAT émis avant ces données, régénérez votre PAT. Si vous intégrez des PAT et que la validation PAT est intégrée, mettez à jour votre code de validation pour prendre en charge les longueurs de jetons nouvelles et existantes.
Avertissement
Les deux formats restent valides pour un avenir prévisible. À mesure que l’adoption du nouveau format augmente, nous pourrions mettre hors service des paT de 52 caractères plus anciens.
Meilleures pratiques pour l'utilisation des PATs
Envisagez des alternatives
- Acquérir un jeton Microsoft Entra via Azure CLI pour les demandes ad hoc au lieu d’effectuer une frappe pat plus longue.
- Utilisez des gestionnaires d’informations d’identification tels que Git Credential Manager ou Azure Artifacts Credential Manager pour simplifier la gestion des informations d’identification, avec l’authentification définie
oauthsur ou les jetons Microsoft Entra.
Créer des PAT
- Ne placez pas de données personnelles dans le nom du PAT. Ne renommez pas le nom PAT pour inclure un ou plusieurs jetons PAT réels.
- Évitez de créer des PAT globaux, sauf si nécessaire dans toutes les organisations.
- Utilisez un autre jeton par flux ou par cas d’utilisateur.
- Sélectionnez uniquement les étendues minimales requises pour chaque PAT. Accordez le privilège minimum nécessaire pour votre tâche spécifique. Créez des PAT distincts avec des étendues limitées pour différents flux de travail au lieu d’utiliser un seul jeton étendu. Si votre PAT a besoin d’autorisations en lecture seule, ne fournissez pas d’autorisations d’écriture tant que cela n’est pas nécessaire.
- Gardez les durées de vie pat à court. (Hebdomadaire est idéal, et même plus court est meilleur.)
Gérer les PAT
- Ne partagez pas vos PAT !
- Stockez vos PAT dans une solution de gestion de clés sécurisée, comme Azure Key Vault.
- Faire pivoter ou régénérer régulièrement vos PAT via l’interface utilisateur ou à l’aide des API de gestion du cycle de vie PAT.
- Révoquez les PAT lorsqu’ils ne sont plus nécessaires.
- Faites pivoter vos PAT pour utiliser le nouveau format PAT pour améliorer la détection et la révocation de secrets divulguées par nos outils internes.
Pour les administrateurs
- Les administrateurs de locataires peuvent définir des stratégies pour restreindre la création globale de pat, la création de pat à étendue complète et la durée longue du pat.
- Les administrateurs des locataires peuvent révoquer les PAT pour les utilisateurs de leur organisation si le PAT est compromis.
- Les administrateurs de l’organisation peuvent restreindre la création de PAT dans l’organisation. Si les PAT sont toujours nécessaires, limitez leur création à uniquement les PAT figurant sur la liste verte.
Foire aux questions
Q. Pourquoi ne puis-je pas modifier ou régénérer un pat étendu à une seule organisation ?
A. Connectez-vous à l’organisation dans laquelle votre pater est délimitée. Vous pouvez afficher vos PAT lorsque vous êtes connecté à n’importe quelle organisation dans le même ID Microsoft Entra en modifiant le filtre d’étendue Access . Vous pouvez modifier uniquement les jetons d’étendue de l’organisation lorsque vous êtes connecté à l’organisation spécifique.
Q. Que se passe-t-il pour un pater si un compte d’utilisateur est désactivé ?
A. Lorsqu’un utilisateur est supprimé d’Azure DevOps, le pat est invalidé dans un délai d’une heure. Si votre organisation est connectée à l’ID Microsoft Entra, le pat est également invalidé dans l’ID Microsoft Entra, car il appartient à l’utilisateur. Nous vous recommandons de faire pivoter le PAT vers un autre compte d’utilisateur ou de service pour maintenir l’exécution des services.
Q. Puis-je utiliser des PAT avec toutes les API REST Azure DevOps ?
A. Non. Vous pouvez utiliser des PAT avec la plupart des API REST Azure DevOps, mais les organisations et les profils et les API pat Management Lifecycle prennent uniquement en charge les jetons Microsoft Entra.
Q. Que se passe-t-il si je vérifie accidentellement mon PAT dans un dépôt public sur GitHub ?
A. Azure DevOps analyse les PAT qui sont archivés dans les référentiels publics sur GitHub. Lorsque nous trouvons un jeton qui a fui, nous envoyons immédiatement une notification détaillée par e-mail au propriétaire du jeton et enregistrons un événement dans le journal d'audit de votre organisation Azure DevOps. Nous encourageons les utilisateurs concernés à atténuer le problème en révoquant le jeton ayant fait l'objet d'une fuite et en le remplaçant par un nouveau jeton.
À moins que vous n'ayez désactivé la stratégie Révoquer automatiquement les jetons d'accès personnels ayant fait l'objet d'une fuite, nous révoquons immédiatement le PAT ayant fait l'objet d'une fuite. Pour plus d'informations, reportez-vous à la section Révoquer automatiquement les jetons d'accès personnels ayant fait l'objet d'une fuite.
Q. Puis-je utiliser un jeton d’accès personnel comme clé API pour publier des packages NuGet sur un flux Azure Artifacts à l’aide de la ligne de commande dotnet/nuget.exe ?
A. Non. Azure Artifacts ne prend pas en charge le passage d’un PAT en tant que clé API. Lorsque vous utilisez un environnement de développement local, nous vous recommandons d’installer le fournisseur d’informations d’identification Azure Artifacts pour vous authentifier auprès d’Azure Artifacts. Pour plus d’informations, consultez les exemples suivants : dotnet et NuGet.exe. Si vous souhaitez publier vos packages à l’aide d’Azure Pipelines, utilisez la tâche d’authentification NuGet pour vous authentifier auprès de votre flux. Pour plus d’informations, consultez l’exemple de publication de packages NuGet avec Azure Pipelines (YAML/Classic).
Q. Pourquoi mon PAT a-t-il cessé de fonctionner ?
A. L’authentification PAT vous oblige à vous connecter régulièrement à Azure DevOps à l’aide du flux d’authentification complet. Une connexion tous les 30 jours est suffisante pour de nombreux utilisateurs, mais il se peut que vous deviez vous connecter plus fréquemment en fonction de votre configuration Microsoft Entra. Si votre PAT cesse de fonctionner, essayez d’abord de vous connecter à votre organisation et d’effectuer l’invite d’authentification complète. Si votre PAT ne fonctionne toujours pas, vérifiez s'il a expiré.
L'activation de l'authentification de base IIS invalide l'utilisation des PAT pour Azure DevOps Server. Nous vous recommandons de toujours désactiver l’authentification de base IIS .
Avertissement
Si vous utilisez Git avec l’authentification de base IIS, Git interrompt parce qu’il nécessite des PAT pour l’authentification utilisateur. Vous pouvez ajouter un en-tête supplémentaire aux demandes Git pour l’utiliser avec l’authentification de base IIS, mais nous vous déconseillons cette action. L’en-tête supplémentaire doit être utilisé pour toutes les installations d’Azure DevOps Server, car Windows Auth empêche également l’utilisation de paTs. L’en-tête supplémentaire doit également inclure un encodage Base 64 de user:PAT.
git -c http.extraheader='Authorization: Basic [base 64 encoding of "user:password"]' ls-remote http://tfsserver:8080/tfs/DefaultCollection/_git/projectName
Q. Comment créer des jetons d’accès qui ne sont pas liés à une personne ?
A. Tous les PAT sont associés à l’identité de l’utilisateur qui l’a créée. Les applications ne peuvent pas créer de paTs.
Dans Azure DevOps, vous pouvez générer des jetons d’accès qui ne sont pas liés à un utilisateur spécifique. Utilisez des jetons Microsoft Entra émis par un principal de service d’application ou une identité managée . Pour les pipelines, utilisez les connexions de service pour authentifier et autoriser en toute sécurité les tâches automatisées sans compter sur des informations d’identification spécifiques à l’utilisateur.
Q. Comment puis-je régénérer/faire pivoter des PAT via l’API ? J’ai vu cette option dans l’interface utilisateur, mais je ne vois pas de méthode similaire dans l’API.
A. La fonctionnalité Régénérer disponible dans l’interface utilisateur effectue effectivement quelques actions, que vous pouvez répliquer via une API.
Pour faire pivoter votre PAT, procédez comme suit :
- Consultez les métadonnées PAT avec un appel GET .
- Créez un nouveau PAT avec l’ancien ID PAT à l’aide d’un appel POST .
- Révoquez l’ancien PAT à l’aide d’un appel DELETE .
Q. Combien de temps les paT expirés, révoqués ou inactifs restent visibles dans la liste des jetons Azure DevOps ?
A. Vous ne pouvez plus utiliser ou régénérer des PAT expirés ou révoqués. Ces jetons inactifs restent visibles pendant plusieurs mois après expiration ou révocation avant d’être automatiquement supprimés de l’affichage.
Q. Pourquoi puis-je voir un message « Besoin d’approbation d’administrateur » lorsque j’essaie d’utiliser une application Microsoft Entra pour appeler les API de gestion du cycle de vie PAT ?
A. Les stratégies de sécurité de votre locataire nécessitent le consentement de l’administrateur avant que les applications puissent accéder aux ressources de l’organisation. Contactez votre administrateur de locataire.
Q. Puis-je utiliser un principal de service pour créer ou gérer des PAT ?
A. Non. Les paT appartiennent à une identité utilisateur. Les principaux de service Microsoft Entra ou les identités gérées peuvent générer des jetons Microsoft Entra de courte durée que vous pouvez utiliser dans la plupart des endroits où un PAT est accepté. Apprenez-en davantage sur nos efforts pour réduire l’utilisation des PAT dans Azure DevOps et explorez le remplacement des PAT par des jetons Microsoft Entra.
Contenu connexe
- Utiliser des stratégies pour gérer les jetons d’accès personnels pour les utilisateurs
- Révoquer les PAT des utilisateurs (pour les administrateurs)
- S’authentifier avec des jetons Microsoft Entra