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.

Avertissement : 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 ».

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.

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. 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

Les Fine-grained personal access token présentent plusieurs avantages au niveau de la sécurité par rapport aux personal access tokens (classic) :

  • Chaque jeton ne peut accéder qu'aux ressources appartenant à un seul utilisateur ou une seule organisation.
  • Chaque jeton peut uniquement accéder à des dépôts spécifiques.
  • Chaque jeton se voit octroyer des autorisations spécifiques, qui offrent plus de contrôle que les étendues octroyées aux personal access tokens (classic).
  • Chaque jeton doit avoir une date d'expiration.
  • Les propriétaires d'organisation peuvent imposer une approbation à tous les fine-grained personal access token ayant accès aux ressources de l'organisation.

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.
  • 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 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 fine-grained personal access tokens, 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

Remarque : La fonctionnalité des Fine-grained personal access token est en version bêta et peut être amenée à changer. Pour laisser des commentaires, consultez la discussion relative aux commentaires.

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

    Screenshot of a user's account menu on GitHub. The menu item "Settings" is outlined in dark orange.

  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.

  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'apparaissent pas, sauf si l'organisation a opté pour les 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 ».

  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)

Remarque : 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.

Remarque : Votre personal access token (classic) peut accéder à tous les dépôts 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 d’une page, cliquez sur votre photo de profil, puis sur Paramètres.

    Screenshot of a user's account menu on GitHub. The menu item "Settings" is outlined in dark orange.

  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) . 1. Sélectionnez Générer un nouveau jeton, puis cliquez sur Générer un nouveau jeton (classique) .

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

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

  6. 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 ».

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

  8. 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.

  9. 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 » dans la documentation GitHub Enterprise Cloud.

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 d’une page, cliquez sur votre photo de profil, puis sur Paramètres.

    Screenshot of a user's account menu on GitHub. The menu item "Settings" is outlined in dark orange.

  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