Bạn thực sự đang xóa cái gì
Personal access token (PAT) là một trong số nhiều thông tin xác thực có thể thao tác trên tài khoản GitHub của bạn. Trước khi xóa bất cứ thứ gì, cần biết bạn đang xem loại thông tin xác thực nào, vì các bước xóa và tác động phụ của chúng khác nhau.
| Thông tin xác thực | Chức năng thường thấy | Nơi quản lý | Việc xóa ảnh hưởng đến |
|---|---|---|---|
| Personal access token (fine-grained hoặc classic) | Cho phép script, công cụ hoặc CI thao tác thay bạn với quyền được giới hạn | Settings → Developer settings → Personal access tokens | Bất kỳ thứ gì còn dùng token đó, cộng với bất kỳ deploy key nào do token tạo ra |
| Ủy quyền OAuth | Một ứng dụng bên thứ ba mà bạn đã chấp thuận để thao tác trên tài khoản của bạn | Settings → Applications (ứng dụng OAuth đã ủy quyền) | Quyền truy cập của ứng dụng đó; bản thân ứng dụng không bị xóa |
| Khóa tài khoản SSH | Xác thực các thao tác Git qua SSH cho tài khoản của bạn | Settings → SSH and GPG keys | Quyền truy cập SSH dựa vào khóa đó |
| Phiên trình duyệt | Một phiên đăng nhập đang hoạt động trong trình duyệt | Điều khiển đăng xuất và cài đặt phiên | Chỉ phiên đó; nó không phải token hay khóa |
Bài viết này đề cập đến hàng đầu tiên. Các hàng còn lại được liệt kê để bạn không nhầm lẫn: xóa ủy quyền OAuth hoặc khóa SSH không xóa personal access token, và xóa token không thu hồi khóa SSH hay kết thúc phiên trình duyệt.
Bước 1: Lập danh sách token mà không để lộ giá trị
Mục tiêu là có danh sách tên token và nơi sử dụng từng token — không phải danh sách chuỗi token. Hãy coi giá trị token là bí mật không bao giờ sao chép vào ghi chú, phiếu yêu cầu hay trò chuyện.
- Mở cài đặt tài khoản GitHub, vào Developer settings, rồi Personal access tokens. Kiểm tra cả Fine-grained tokens và Tokens classic, vì hai loại được liệt kê riêng.
- Với mỗi token, chỉ ghi lại: tên token, loại (fine-grained hoặc classic), và bất kỳ ghi chú nào GitHub hiển thị về mục đích hoặc ngày hết hạn.
- Với mỗi token, ghi lại nơi bạn cho là nó được dùng: một job CI, script triển khai, công cụ cục bộ, tác vụ theo lịch, tích hợp bên thứ ba, hoặc không nơi nào bạn nhớ được.
- Đánh dấu các token bạn không xác định được vị trí. Token không rõ vị trí là ứng viên để rà soát, không phải tự động xóa — có thể vẫn có thứ gì đó phụ thuộc vào nó.
Một bảng làm việc đơn giản là đủ:
| Tên token | Loại | Nơi tiêu thụ đã biết | Lần dùng cuối đã biết | Quyết định |
|---|---|---|---|---|
| example-deploy | Fine-grained | Job triển khai CI | Không rõ | Kiểm tra job trước khi xóa |
| example-old-script | Classic | Không tìm thấy | Cũ | Xác minh, rồi xóa |
Không dán giá trị token vào bảng này. Nếu nơi tiêu thụ lưu token, hãy kiểm tra cấu hình của chính hệ thống đó thay vì đọc lại bí mật.
Bước 2: Kiểm tra tự động hóa phụ thuộc trước khi xóa
Xóa token sẽ làm hỏng bất kỳ thứ gì còn xác thực bằng token đó. Trước khi xóa, hãy xác nhận từng nơi tiêu thụ đã biết:
- Tìm trong cấu hình CI, script triển khai và tác vụ theo lịch để tìm tham chiếu đến tên token hoặc mục lưu bí mật chứa nó.
- Kiểm tra xem quyền của token có khớp với nhu cầu của nơi tiêu thụ không. Một token trông như không dùng có thể là thông tin xác thực duy nhất còn hoạt động cho một job nhỏ.
- Quyết định theo từng token: giữ, thay bằng thông tin xác thực hẹp hơn, hoặc xóa. Nếu không xác nhận được nơi tiêu thụ, hãy tạm dừng thay vì đoán.
GitHub ghi nhận một phụ thuộc cụ thể đáng kiểm tra trước: personal access token đã tạo ra deploy key được liên kết với deploy key đó.
GitHub cảnh báo rằng việc xóa personal access token đã tạo ra deploy key cũng sẽ xóa deploy key đó. Nguồn
Cảnh báo đó có phạm vi hẹp. Nó áp dụng cho deploy key được tạo bởi token đó. Đây không phải tuyên bố rằng xóa bất kỳ token nào cũng ảnh hưởng đến mọi khóa SSH, mọi deploy key hay mọi tích hợp trên tài khoản. Hãy kiểm tra lịch sử của token cụ thể và deploy key của kho lưu trữ thay vì giả định tác động rộng.
Bước 3: Xóa token
Khi đã xác nhận một token an toàn để xóa, đường dẫn được GitHub ghi nhận là:
Đường dẫn xóa personal access token của GitHub là Settings, Developer settings, Personal access tokens, sau đó chọn Fine-grained tokens hoặc Tokens classic và nhấn Delete. Nguồn
Sau khi xóa, hãy xác minh kết quả thay vì cho rằng đã thành công:
- Xác nhận token không còn xuất hiện trong danh sách của loại đó.
- Chạy hoặc kích hoạt tự động hóa mà bạn đã xác định là nơi tiêu thụ và kiểm tra xem nó còn xác thực được không. Nếu thất bại, bạn đã tìm ra một phụ thuộc bị bỏ sót; hãy khôi phục quyền truy cập bằng thông tin xác thực mới do bạn kiểm soát thay vì dùng lại giá trị cũ.
- Nếu token đã xóa từng tạo ra deploy key, hãy kiểm tra deploy key của kho lưu trữ để xác nhận việc xóa đã xảy ra như tài liệu và không có khóa nào khác bị ảnh hưởng.
Các tình huống lỗi cần dự phòng
| Tình huống | Việc cần làm |
|---|---|
| Một job CI thất bại sau khi xóa | Xác định job đã dùng bí mật nào, xác nhận chủ sở hữu job, và cấp thông tin xác thực thay thế theo quy trình thông thường của bạn |
| Bạn không tìm được nơi tiêu thụ token | Không xóa dựa trên phỏng đoán; hãy tìm trong tệp cấu hình và kho bí mật trước, và giữ token cho đến khi xác nhận được |
| Một deploy key biến mất | Đây là hậu quả được ghi nhận khi token tạo ra nó; hãy tạo lại khóa một cách có chủ đích nếu kho lưu trữ vẫn cần |
| Bạn không chắc thông tin xác thực là token hay ứng dụng OAuth | Kiểm tra mục cài đặt nơi nó xuất hiện; hai loại được quản lý riêng |
Những gì danh sách kiểm tra này không bao gồm
Hướng dẫn này không mô tả việc luân chuyển thông tin xác thực, cấp token mới hay thay đổi quyền — những bước đó phụ thuộc vào thiết lập của bạn và giao diện hiện tại của GitHub, bạn nên xác nhận tại thời điểm thực hiện. Nó cũng không bao gồm việc xóa ủy quyền OAuth, khóa tài khoản SSH hay phiên trình duyệt ngoài việc lưu ý chúng là riêng biệt. Xóa token sẽ xóa thông tin xác thực đó; bản thân nó không chứng minh rằng bất kỳ dữ liệu nào do dịch vụ được kết nối nắm giữ đã bị xóa.
Tra cứu tên người dùng phù hợp ở đâu, và không phù hợp ở đâu
Nếu việc dọn dẹp của bạn là một phần của đợt rà soát rộng hơn những gì công khai dưới một tên người dùng, TraceSeek là một ứng dụng riêng kiểm tra các tên người dùng công khai đã biết trên 3.000+ nền tảng. Nó báo cáo các kết quả trùng khớp công khai, đó là manh mối chứ không phải bằng chứng sở hữu, và nó không thể đăng nhập vào tài khoản, thay đổi cài đặt tài khoản, xóa token hay xác minh danh tính thật của bất kỳ ai. Đây không phải công cụ truy cập tài khoản riêng tư hay đảm bảo xóa bỏ bất cứ thứ gì. Với tác vụ token trong bài viết này, công việc diễn ra trong cài đặt GitHub của bạn, không phải trong ứng dụng tra cứu.