Що ви насправді видаляєте
Особистий токен доступу (PAT) — це один із кількох облікових даних, які можуть діяти від імені вашого облікового запису GitHub. Перш ніж щось видаляти, корисно зрозуміти, який саме тип облікових даних ви бачите, оскільки кроки видалення та побічні ефекти відрізняються.
| Облікові дані | Що зазвичай роблять | Де керуються | На що впливає видалення |
|---|---|---|---|
| Особистий токен доступу (fine-grained або classic) | Дозволяє скриптам, інструментам або CI діяти від вашого імені з обмеженими дозволами | Settings → Developer settings → Personal access tokens | Усе, що досі використовує цей токен, а також будь-який ключ розгортання, створений цим токеном |
| Авторизація OAuth | Сторонній застосунок, який ви дозволили діяти від імені вашого облікового запису | Settings → Applications (авторизовані застосунки OAuth) | Доступ цього застосунку; сам застосунок не видаляється |
| SSH-ключ облікового запису | Автентифікує операції Git через SSH для вашого облікового запису | Settings → SSH and GPG keys | SSH-доступ, який покладається на цей ключ |
| Сесія браузера | Активна сесія з виконаним входом у браузері | Елементи керування виходом і налаштування сесій | Лише ця сесія; це не токен і не ключ |
Ця стаття охоплює перший рядок. Інші рядки наведено, щоб ви не сплутали одне з одним: видалення авторизації OAuth або SSH-ключа не видаляє особистий токен доступу, а видалення токена не відкликає SSH-ключі та не завершує сесії браузера.
Крок 1: Складіть інвентар токенів, не розкриваючи значень
Мета — список назв токенів і місць, де кожен використовується, а не список рядків токенів. Ставтеся до значення токена як до секрету, який ви ніколи не копіюєте в нотатки, тікети чи чат.
- Відкрийте налаштування облікового запису GitHub і перейдіть до Developer settings, потім Personal access tokens. Перевірте як Fine-grained tokens, так і Tokens classic, оскільки ці два типи перелічено окремо.
- Для кожного токена запишіть лише: назву токена, його тип (fine-grained або classic) і будь-яку примітку, яку GitHub показує щодо його призначення чи терміну дії.
- Для кожного токена запишіть, де, на вашу думку, він використовується: завдання CI, скрипт розгортання, локальний інструмент, заплановане завдання, стороння інтеграція або ніде, де ви можете пригадати.
- Позначте токени, які ви не можете розмістити. Нерозміщений токен — це кандидат на перевірку, а не на автоматичне видалення: щось може все ще від нього залежати.
Достатньо простої робочої таблиці:
| Назва токена | Тип | Відомий споживач | Останнє відоме використання | Рішення |
|---|---|---|---|---|
| example-deploy | Fine-grained | Завдання розгортання CI | Невідомо | Перевірити завдання перед видаленням |
| example-old-script | Classic | Не знайдено | Старий | Перевірити, потім видалити |
Не вставляйте значення токенів у цю таблицю. Якщо споживач зберігає токен, перевірте конфігурацію цієї системи, а не перечитуйте секрет.
Крок 2: Перевірте залежну автоматизацію перед видаленням
Видалення токена ламає все, що досі автентифікується ним. Перш ніж видаляти, підтвердьте кожного відомого споживача:
- Пошукайте у своїй конфігурації CI, скриптах розгортання та запланованих завданнях згадки назви токена або запису сховища секретів, який його містить.
- Перевірте, чи дозволи токена відповідають потребам споживача. Токен, який виглядає невикористовуваним, може бути єдиним робочим обліковим даним для невеликого завдання.
- Вирішуйте для кожного токена окремо: залишити, замінити вужчим обліковим даним або видалити. Якщо ви не можете підтвердити споживача, зупиніться, а не вгадуйте.
GitHub документує одну конкретну залежність, яку варто перевірити першою: особистий токен доступу, який створив ключ розгортання, пов’язаний із цим ключем розгортання.
GitHub попереджає, що видалення особистого токена доступу, який створив ключ розгортання, також видаляє цей ключ розгортання. Джерело
Це попередження вузьке. Воно стосується ключів розгортання, створених цим токеном. Це не означає, що видалення будь-якого токена впливає на кожен SSH-ключ, кожен ключ розгортання чи кожну інтеграцію в обліковому записі. Перевірте історію конкретного токена та ключі розгортання репозиторію, а не припускайте широкий вплив.
Крок 3: Видаліть токен
Коли ви підтвердили, що токен безпечно видалити, задокументований шлях GitHub такий:
Задокументований GitHub шлях видалення особистого токена доступу: Settings → Developer settings → Personal access tokens, далі Fine-grained tokens або Tokens classic і Delete. Джерело
Після видалення перевірте результат, а не припускайте, що все спрацювало:
- Переконайтеся, що токен більше не відображається у списку для свого типу.
- Запустіть або активуйте автоматизацію, яку ви визначили як споживача, і перевірте, чи вона досі автентифікується. Якщо вона не працює, ви знайшли залежність, яку пропустили; відновіть доступ за допомогою нового облікового даних, які ви контролюєте, а не повторно використовуйте старе значення.
- Якщо видалений токен створив ключ розгортання, перевірте ключі розгортання репозиторію, щоб підтвердити задокументоване видалення та що жоден інший ключ не постраждав.
Шляхи збоїв, до яких слід підготуватися
| Ситуація | Що робити |
|---|---|
| Завдання CI не працює після видалення | Визначте, який секрет воно використовувало, підтвердьте власника завдання та видайте заміну облікових даних через ваш звичайний процес |
| Ви не можете знайти споживача токена | Не видаляйте навмання; спершу пошукайте в конфігураційних файлах і сховищах секретів і залишайте токен, доки не підтвердите |
| Ключ розгортання зник | Це задокументований наслідок, коли токен його створив; відтворіть ключ навмисно, якщо репозиторій досі його потребує |
| Ви не впевнені, чи це токен, чи застосунок OAuth | Перевірте розділ налаштувань, у якому він відображається; ці два керуються окремо |
Що цей чекліст не охоплює
Цей посібник не описує ротацію облікових даних, видачу нових токенів або зміну дозволів — ці кроки залежать від вашого власного налаштування та поточного інтерфейсу GitHub, який слід підтвердити на момент дії. Він також не охоплює видалення авторизацій OAuth, SSH-ключів облікового запису чи сесій браузера, окрім зауваження, що вони окремі. Видалення токена видаляє ці облікові дані; це саме по собі не доводить, що будь-які дані, які зберігає підключений сервіс, було стерто.
Де пошук за іменем користувача доречний, а де ні
Якщо ваше прибирання є частиною ширшого огляду того, що публічно видно під іменем користувача, TraceSeek — це окремий застосунок, який перевіряє відомі публічні імена користувачів на 3 000+ платформах. Він повідомляє про публічні збіги, які є підказками, а не доказом володіння, і не може входити в облікові записи, змінювати налаштування облікового запису, видаляти токени чи підтверджувати чиюсь справжню особу. Це не інструмент для доступу до приватних облікових записів чи гарантованого видалення чогось. Для завдання з токеном у цій статті робота відбувається в налаштуваннях GitHub, а не в застосунку пошуку.