Skip to main content

Gestion de vos jetons d'accès personnels

Vous pouvez utiliser un personal access token à la place d'un mot de passe lors de l'authentification à GitHub avec la ligne de commande ou à l'aide de l'API.

Warning

Considérez vos jetons d’accès comme des mots de passe. Pour plus d’informations, consultez Garder vos personal access token sécurisés.

À propos des personal access token

Les Personal access token représentent une alternative à l’utilisation de mots de passe pour l’authentification auprès de GitHub durant l’utilisation de l’API GitHub ou de la ligne de commande.

Les Personal access token permettent l'accès aux ressources GitHub en votre nom. Pour permettre l'accès aux ressources au nom d'une organisation ou dans le cadre d'intégrations de longue durée, vous devez utiliser une GitHub App. Pour plus d’informations, consultez « À propos de la création d’applications GitHub ».

Un jeton possède les mêmes capacités d’accès aux ressources et d’exécution d’actions sur ces ressources que le propriétaire du jeton, et est en outre limité par toute portée ou autorisation accordée au jeton. Un jeton ne peut pas accorder des fonctionnalités d’accès supplémentaires à un utilisateur. Par exemple, une personal access token peut être configurée avec une étendue admin:org, mais si le propriétaire du jeton n’est pas un propriétaire d’organisation, le jeton ne donne pas d’accès administratif à l’organisation.

Types de personal access token

GitHub prend en charge deux types de personal access token : les fine-grained personal access token et les personal access tokens (classic). GitHub vous recommande d'utiliser des fine-grained personal access token à la place de personal access tokens (classic) autant que possible.

Note

Les Fine-grained personal access token, bien que plus sécurisés et contrôlables, ne peuvent pas accomplir toutes les tâches qu’un personal access token (classic) peut effectuer. Consultez la section sur les limitations de Fine-grained personal access tokens ci-dessous pour en savoir plus.

Les fine-grained personal access tokens et personal access tokens (classic) sont liés à l'utilisateur qui les a générés et deviennent inactifs si l'utilisateur perd l'accès à la ressource.

Les propriétaires d'organisation peuvent définir une stratégie pour restreindre l'accès des personal access tokens (classic) à leur organisation, et les propriétaires d'entreprise peuvent restreindre l'accès des personal access tokens (classic) à l'entreprise ou aux organisations appartenant à l'entreprise. Pour plus d’informations, consultez « Définition d’une stratégie de jeton d’accès personnel pour votre organisation ».

Fine-grained personal access token

Fine-grained personal access tokens présente plusieurs avantages en matière de sécurité par rapport à personal access tokens (classic), mais comporte également des limitations qui peuvent vous empêcher de les utiliser dans tous les scénarios. Ces limites, et nos plans pour les corriger, sont disponibles dans la section ci-dessous.

Si vous pouvez utiliser un fine-grained personal access token pour votre scénario, vous bénéficiez de ces améliorations :

  • Chaque jeton est limité à l’accès aux ressources appartenant à un seul utilisateur ou une seule organisation.
  • Chaque jeton peut être davantage limité pour n’accéder qu’à des référentiels spécifiques pour cet utilisateur ou cette organisation.
  • Chaque jeton se voit octroyer des autorisations spécifiques et précises, qui offrent plus de contrôle que les étendues octroyées à personal access tokens (classic).
  • Les propriétaires d'organisation peuvent imposer une approbation à tous les fine-grained personal access token ayant accès aux ressources de l'organisation.
  • Les propriétaires d'entreprise peuvent imposer une approbation pour tous les fine-grained personal access token ayant accès aux ressources dans les organisations appartenant à l'entreprise.
Limitations de Fine-grained personal access tokens

Fine-grained personal access tokens ne prend pas en charge toutes les fonctionnalités de personal access tokens (classic). Ces lacunes ne sont pas permanentes : GitHub s’efforce de les combler. Vous pouvez passer en revue notre feuille de route publique pour obtenir plus de détails sur le moment où ces scénarios seront pris en charge.

Les sept principales lacunes des fine-grained personal access token sont les suivantes :

  • Utiliser fine-grained personal access token pour contribuer à des dépôts publics dont l’utilisateur n’est pas membre.
  • Utiliser fine-grained personal access token pour contribuer à des référentiels où l’utilisateur est un collaborateur externe ou du référentiel.
  • Utiliser fine-grained personal access token pour accéder à plusieurs organisations à la fois.
  • Utiliser fine-grained personal access token pour accéder aux ressources internal au sein d’une entreprise à laquelle l’utilisateur appartient.
  • Utiliser fine-grained personal access token pour appeler les API qui gèrent le Compte d’entreprise.
  • Utiliser fine-grained personal access token pour accéder aux Packages.
  • Utiliser fine-grained personal access token pour appeler l’API Checks.

Toutes ces lacunes seront progressivement comblées, à mesure que GitHub continuera d’investir dans des modèles d’accès plus sécurisés.

Personal access tokens (classic)

Les Personal access tokens (classic) sont moins sécurisés. Cependant, certaines fonctionnalités sont utilisables uniquement avec les personal access tokens (classic) :

  • Seuls les personal access tokens (classic) disposent d’un accès en écriture pour les dépôts publics qui ne vous appartiennent pas, ou qui appartiennent à une organisation dont vous n’êtes pas membre.
  • Seuls les personal access tokens (classic) disposent automatiquement d’un accès en écriture pour les dépôts internes qui appartiennent à votre entreprise. Les Fine-grained personal access token doivent disposer d’un accès aux dépôts internes.
  • Les collaborateurs externes peuvent utiliser uniquement les personal access tokens (classic) pour accéder aux dépôts d’organisation dont ils sont collaborateurs.
  • Seuls les personal access tokens (classic) peuvent accéder aux entreprises. (Un Fine-grained personal access token peut accéder aux organisations appartenant aux entreprises).
  • Seuls quelques points de terminaison d’API REST sont disponibles uniquement avec personal access tokens (classic). Pour vérifier si un point de terminaison prend également en charge les jetons de type fine-grained personal access token, consultez la documentation de ce point de terminaison ou consultez Points de terminaison disponibles pour les jetons d’accès personnels affinés.

Si vous choisissez d'utiliser un personal access token (classic), n'oubliez pas qu'il accorde l'accès à tous les dépôts au sein des organisations auxquelles vous avez accès, ainsi qu'à tous les dépôts personnels dans votre compte personnel.

À titre de précaution de sécurité, GitHub supprime automatiquement tout personal access token qui n’a pas été utilisé pendant un an. Pour plus de sécurité, nous vous recommandons fortement d’ajouter un délai d’expiration à chaque personal access token.

Garder vos personal access token sécurisés

Les Personal access token sont comme des mots de passe qui partagent les mêmes risques de sécurité inhérents. Avant de créer un personal access token, déterminez s'il existe une méthode d'authentification plus sécurisée à votre disposition :

Si ces options ne sont pas possibles et que vous devez créer un personal access token, considérez l'utilisation d'un autre service CLI pour stocker votre jeton de façon sécurisée.

Quand vous utilisez un personal access token dans un script, vous pouvez stocker votre jeton en tant que secret et exécuter votre script via GitHub Actions. Pour plus d’informations, consultez Utilisation de secrets dans GitHub Actions. Vous pouvez également stocker votre jeton en tant que secret Codespaces et exécuter votre script dans Codespaces. Pour plus d’informations, consultez Gestion des secrets spécifiques à votre compte pour GitHub Codespaces.

Pour plus d’informations sur les bonnes pratiques, consultez Sécuriser les informations d’identification de l’API.

Création d'un fine-grained personal access token

  1. Vérifiez votre adresse e-mail, si elle n'a pas encore été vérifiée. 1. Dans le coin supérieur droit de n’importe quelle page sur GitHub, cliquez sur votre photo de profil, puis sur Paramètres .

  2. Dans la barre latérale gauche, cliquez sur Paramètres de développeur.

  3. Dans la barre latérale gauche, sous Personal access token , cliquez sur Jetons affinés.

  4. Cliquez sur Générer un nouveau jeton.

  5. Sous Nom du jeton, entrez un nom pour le jeton.

  6. Sous Expiration, sélectionnez une date d'expiration pour le jeton. Les durées de vie infinies sont autorisées, mais peuvent être bloquées par une stratégie de durée de vie maximale définie par votre propriétaire d’organisation ou d’entreprise. Pour plus d’informations, consultez Application d’une stratégie de durée de vie maximale pour personal access tokens.

  7. Le cas échéant, sous Description, ajoutez une note pour décrire la finalité du jeton.

  8. Sous Propriétaire de ressource, sélectionnez un propriétaire de ressource. Le jeton peut uniquement accéder aux ressources appartenant au propriétaire de ressource sélectionné. Les organisations dont vous êtes membre n’apparaîtront pas si l’organisation a bloqué l’utilisation des fine-grained personal access token. Pour plus d'informations, consultez Définition d’une stratégie de jeton d’accès personnel pour votre organisation. Vous devrez peut-être effectuer une authentification unique (SSO) si l'organisation sélectionnée l'impose, et si vous n'avez pas encore de session active.

  9. Le cas échéant, si le propriétaire de ressource est une organisation qui impose une approbation pour les fine-grained personal access token, dans la zone située sous le propriétaire de ressource, entrez une justification de la demande.

  10. Sous Accès au dépôt, sélectionnez les dépôts auxquels vous souhaitez que le jeton accède. Vous devez choisir l'accès minimal au dépôt répondant à vos besoins. Les jetons incluent toujours l'accès en lecture seule à tous les référentiels publics sur GitHub.

  11. Si vous avez sélectionné Sélectionner uniquement les dépôts à l'étape précédente, sous la liste déroulante Dépôts sélectionnés, sélectionnez les dépôts auxquels vous souhaitez que le jeton accède.

  12. Sous Autorisations, sélectionnez les autorisations à octroyer au jeton. Selon les informations que vous avez spécifiées pour le propriétaire de la ressource et l'accès au dépôt, il existe des autorisations relatives au dépôt, à l'organisation et au compte. Vous devez choisir les autorisations minimales nécessaires à vos besoins.

    Le document de référence de l’API REST de chaque point de terminaison indique si le point de terminaison fonctionne avec fine-grained personal access token et indique les autorisations requises pour que le jeton utilise le point de terminaison. Certains points de terminaison peuvent nécessiter plusieurs autorisations, et certains points de terminaison peuvent nécessiter une autorisation parmi des autorisations multiples. Pour obtenir une vue d’ensemble des points de terminaison de l’API REST auxquels un fine-grained personal access token peut accéder à chaque autorisation, consultez Autorisations nécessaires pour les jetons d’accès personnels affinés.

  13. Cliquez sur Générer un jeton.

Si vous avez sélectionné une organisation en tant que propriétaire de ressource et si cette organisation impose une approbation pour les fine-grained personal access token, votre jeton est marqué comme étant pending jusqu'à ce qu'il soit examiné par un administrateur d'organisation. Votre jeton ne peut pas lire les ressources publiques tant qu'il n'a pas été approuvé. Si vous êtes propriétaire de l'organisation, votre demande est automatiquement approuvée. Pour plus d’informations, consultez « Examen et révocation des jetons d’accès personnels dans votre organisation ».

Création d'un personal access token (classic)

Note

Les propriétaires d’organisation peuvent restreindre l’accès des personal access token (classic) à leur organisation. Si vous essayez d'utiliser un personal access token (classic) pour accéder aux ressources d'une organisation qui a désactivé l'accès des personal access token (classic), votre requête échouera en indiquant la réponse 403. À la place, vous devez utiliser une GitHub App, une OAuth app ou un fine-grained personal access token.

Warning

Votre personal access token (classic) peut accéder à tous les référentiels auxquels vous avez accès. GitHub vous recommande d'utiliser à la place des fine-grained personal access token, que vous pouvez restreindre à des dépôts spécifiques. Les Fine-grained personal access token vous permettent également de spécifier des autorisations précises à la place de larges étendues.

  1. Vérifiez votre adresse e-mail, si elle n'a pas encore été vérifiée. 1. Dans le coin supérieur droit de n’importe quelle page sur GitHub, cliquez sur votre photo de profil, puis sur Paramètres .

  2. Dans la barre latérale gauche, cliquez sur Paramètres de développeur.

  3. Dans la barre latérale gauche, sous Personal access token, cliquez sur Jetons (classique).

  4. Sélectionnez Générer un nouveau jeton, puis cliquez sur Générer un nouveau jeton (classique).

  5. Dans le champ « Note », donnez un nom descriptif à votre jeton.

  6. Pour donner une expiration à votre jeton, sélectionnez Expiration, puis choisissez une option par défaut ou cliquez sur Personnalisé pour entrer une date.

  7. Sélectionnez les étendues à octroyer à ce jeton. Pour utiliser votre jeton afin d'accéder aux dépôts à partir de la ligne de commande, sélectionnez dépôt. Un jeton sans étendues attribuées peut accéder aux informations publiques uniquement. Pour plus d’informations, consultez « Étendues des applications OAuth ».

  8. Cliquez sur Générer un jeton.

  9. Si vous le souhaitez, pour copier le nouveau jeton dans le Presse-papiers, cliquez sur .

    Capture d'écran de la page « Personal access tokens ». À côté d'un jeton flouté, une icône de deux carrés qui se chevauchent est encadrée en orange.

  10. Pour utiliser votre jeton afin d'accéder aux ressources appartenant à une organisation qui utilise l'authentification unique SAML, autorisez ce jeton. Pour plus d’informations, consultez Autorisation d’un jeton d’accès personnel à utiliser avec l’authentification unique SAML.

Suppression d'un personal access token

Vous devez supprimer un personal access token s'il n'est plus nécessaire. Si vous supprimez un { % data variables.product.pat_generic %} ayant été utilisé pour créer une clé de déploiement, la clé de déploiement sera également supprimée.

  1. Dans le coin supérieur droit de n’importe quelle page sur GitHub, cliquez sur votre photo de profil, puis sur Paramètres .
  2. Dans la barre latérale gauche, cliquez sur Paramètres de développeur.
  3. Dans la barre latérale gauche, sous Personal access token, cliquez sur Jetons affinés ou Jetons (classiques), selon le type de personal access token que vous souhaitez supprimer.
  4. À droite du personal access token que vous souhaitez supprimer, cliquez sur Supprimer.

Utilisation d'un personal access token sur la ligne de commande

Une fois que vous avez un personal access token, vous pouvez l'entrer à la place de votre mot de passe quand vous effectuez des opérations Git sur HTTPS.

Par exemple, pour cloner un dépôt sur la ligne de commande, vous devez entrer la commande suivante git clone. Vous êtes alors invité à entrer votre nom d'utilisateur et votre mot de passe. Quand vous êtes invité à entrer votre mot de passe, entrez votre personal access token au lieu d'un mot de passe.

$ git clone https://github.com/USERNAME/REPO.git
Username: YOUR-USERNAME
Password: YOUR-PERSONAL-ACCESS-TOKEN

Les Personal access token peuvent uniquement être utilisés pour les opérations Git HTTPS. Si votre dépôt utilise une URL distante SSH, vous devez faire passer le dépôt distant de SSH à HTTPS.

Si vous n'êtes pas invité à entrer votre nom d'utilisateur et votre mot de passe, il se peut que vos informations d'identification soient en cache sur votre ordinateur. Vous pouvez mettre à jour vos informations d'identification dans le trousseau pour remplacer votre ancien mot de passe par le jeton.

Au lieu d'entrer manuellement votre personal access token pour chaque opération Git HTTPS, vous pouvez mettre en cache votre personal access token avec un client Git. Git stocke temporairement vos informations d'identification en mémoire jusqu'à ce qu'un intervalle d'expiration soit écoulé. Vous pouvez également stocker le jeton dans un fichier texte brut que Git peut lire avant chaque requête. Pour plus d’informations, consultez « Mise en cache de vos informations d’identification GitHub dans Git ».

Pour aller plus loin