Ce que vous supprimez réellement
Un jeton d’accès personnel (PAT) est un identifiant parmi plusieurs pouvant agir sur votre compte GitHub. Avant de supprimer quoi que ce soit, il est utile de savoir à quel type d’identifiant vous avez affaire, car les étapes de suppression et les effets secondaires diffèrent.
| Identifiant | Ce qu’il fait généralement | Où il est géré | Ce que sa suppression affecte |
|---|---|---|---|
| Jeton d’accès personnel (à granularité fine ou classique) | Permet à des scripts, outils ou CI d’agir en votre nom avec des permissions limitées | Paramètres → Paramètres développeur → Jetons d’accès personnels | Tout ce qui utilise encore ce jeton, ainsi que toute clé de déploiement créée par ce jeton |
| Autorisation OAuth | Une application tierce que vous avez approuvée pour agir sur votre compte | Paramètres → Applications (applications OAuth autorisées) | L’accès de cette application ; l’application elle-même n’est pas supprimée |
| Clé de compte SSH | Authentifie les opérations Git via SSH pour votre compte | Paramètres → Clés SSH et GPG | L’accès SSH qui repose sur cette clé |
| Session de navigateur | Une session active connectée dans un navigateur | Contrôles de déconnexion et paramètres de session | Cette session uniquement ; ce n’est ni un jeton ni une clé |
Cet article traite la première ligne. Les autres lignes sont listées pour que vous ne confondiez pas l’une avec l’autre : supprimer une autorisation OAuth ou une clé SSH ne supprime pas un jeton d’accès personnel, et supprimer un jeton ne révoque pas les clés SSH ni ne met fin aux sessions de navigateur.
Étape 1 : établir un inventaire des jetons sans exposer les valeurs
L’objectif est une liste des noms de jetons et de l’endroit où chacun est utilisé — pas une liste des chaînes de jetons. Traitez la valeur du jeton comme un secret que vous ne copiez jamais dans des notes, des tickets ou des discussions.
- Ouvrez les paramètres de votre compte GitHub et allez dans Paramètres développeur, puis Jetons d’accès personnels. Vérifiez à la fois Jetons à granularité fine et Jetons classiques, car les deux types sont listés séparément.
- Pour chaque jeton, notez uniquement : le nom du jeton, son type (à granularité fine ou classique) et toute note affichée par GitHub concernant son objectif ou son expiration.
- Pour chaque jeton, notez où vous pensez qu’il est utilisé : une tâche CI, un script de déploiement, un outil local, une tâche planifiée, une intégration tierce, ou nulle part dont vous vous souvenez.
- Marquez les jetons que vous ne pouvez pas situer. Un jeton non situé est un candidat à l’examen, pas à la suppression automatique — quelque chose peut encore en dépendre.
Un simple tableau de travail suffit :
| Nom du jeton | Type | Consommateur connu | Dernière utilisation connue | Décision |
|---|---|---|---|---|
| exemple-deploy | À granularité fine | Tâche de déploiement CI | Inconnue | Vérifier la tâche avant de supprimer |
| exemple-ancien-script | Classique | Aucun trouvé | Ancienne | Vérifier, puis supprimer |
Ne collez pas les valeurs des jetons dans ce tableau. Si un consommateur stocke le jeton, vérifiez la configuration de ce système plutôt que de relire le secret.
Étape 2 : vérifier l’automatisation dépendante avant la suppression
La suppression d’un jeton casse tout ce qui s’authentifie encore avec lui. Avant de supprimer, confirmez chaque consommateur connu :
- Recherchez dans votre configuration CI, vos scripts de déploiement et vos tâches planifiées les références au nom du jeton ou à l’entrée du magasin de secrets qui le contient.
- Vérifiez si les permissions du jeton correspondent à ce dont le consommateur a besoin. Un jeton qui semble inutilisé peut être le seul identifiant fonctionnel pour une petite tâche.
- Décidez pour chaque jeton : conserver, remplacer par un identifiant plus restreint, ou supprimer. Si vous ne pouvez pas confirmer un consommateur, mettez en pause plutôt que de deviner.
GitHub documente une dépendance spécifique à vérifier en premier : un jeton d’accès personnel ayant créé une clé de déploiement est lié à cette clé de déploiement.
GitHub avertit que la suppression d’un jeton d’accès personnel ayant créé une clé de déploiement supprime aussi cette clé de déploiement. Source
Cet avertissement est limité. Il s’applique aux clés de déploiement créées par ce jeton. Il n’affirme pas que la suppression de n’importe quel jeton affecte toutes les clés SSH, toutes les clés de déploiement ou toutes les intégrations du compte. Vérifiez l’historique du jeton spécifique et les clés de déploiement du dépôt plutôt que de supposer un effet large.
Étape 3 : supprimer le jeton
Lorsque vous avez confirmé qu’un jeton peut être supprimé sans risque, le chemin documenté par GitHub est :
Le chemin de suppression d’un jeton d’accès personnel GitHub est Paramètres, Paramètres développeur, Jetons d’accès personnels, puis Jetons à granularité fine ou Jetons classiques et Supprimer. Source
Après la suppression, vérifiez le résultat plutôt que de supposer que cela a fonctionné :
- Confirmez que le jeton n’apparaît plus dans la liste de son type.
- Exécutez ou déclenchez l’automatisation que vous avez identifiée comme consommateur et vérifiez si elle s’authentifie encore. Si elle échoue, vous avez trouvé une dépendance que vous aviez manquée ; rétablissez l’accès avec un nouvel identifiant que vous contrôlez plutôt que de réutiliser l’ancienne valeur.
- Si le jeton supprimé avait créé une clé de déploiement, vérifiez les clés de déploiement du dépôt pour confirmer que la suppression documentée a eu lieu et qu’aucune autre clé n’a été affectée.
Chemins d’échec à prévoir
| Situation | Que faire |
|---|---|
| Une tâche CI échoue après la suppression | Identifiez quel secret elle utilisait, confirmez le propriétaire de la tâche et émettez un identifiant de remplacement via votre processus habituel |
| Vous ne trouvez pas le consommateur d’un jeton | Ne supprimez pas au hasard ; recherchez d’abord dans les fichiers de configuration et les magasins de secrets, et conservez le jeton jusqu’à confirmation |
| Une clé de déploiement a disparu | C’est la conséquence documentée lorsque le jeton l’a créée ; recréez délibérément la clé si le dépôt en a encore besoin |
| Vous ne savez pas si l’identifiant est un jeton ou une application OAuth | Vérifiez la section des paramètres où il apparaît ; les deux sont gérés séparément |
Ce que cette liste de contrôle ne couvre pas
Ce guide ne décrit pas la rotation des identifiants, l’émission de nouveaux jetons ni la modification des permissions — ces étapes dépendent de votre propre configuration et de l’interface actuelle de GitHub, que vous devez confirmer au moment d’agir. Il ne couvre pas non plus la suppression des autorisations OAuth, des clés de compte SSH ou des sessions de navigateur, si ce n’est pour noter qu’elles sont distinctes. La suppression d’un jeton supprime cet identifiant ; elle ne prouve pas en soi que des données détenues par un service connecté ont été effacées.
Où intervient une recherche de nom d’utilisateur, et où elle n’intervient pas
Si votre nettoyage fait partie d’une revue plus large de ce qui est publiquement visible sous un nom d’utilisateur, TraceSeek est une application distincte qui vérifie des noms d’utilisateur publics connus sur plus de 3 000 plateformes. Elle signale les correspondances publiques, qui sont des pistes plutôt que des preuves de propriété, et elle ne peut pas se connecter à des comptes, modifier des paramètres de compte, supprimer des jetons ni vérifier l’identité réelle de quiconque. Ce n’est pas un outil pour accéder à des comptes privés ou garantir la suppression de quoi que ce soit. Pour la tâche de jeton décrite dans cet article, le travail se fait dans vos paramètres GitHub, pas dans une application de recherche.