실제로 삭제하는 대상
개인 액세스 토큰(PAT)은 GitHub 계정에서 작동할 수 있는 여러 자격 증명 중 하나입니다. 무엇이든 삭제하기 전에 어떤 종류의 자격 증명을 다루고 있는지 아는 것이 도움이 됩니다. 제거 단계와 부작용이 다르기 때문입니다.
| 자격 증명 | 일반적인 역할 | 관리 위치 | 삭제 시 영향 |
|---|---|---|---|
| 개인 액세스 토큰(세분화 또는 클래식) | 스크립트, 도구 또는 CI가 범위가 지정된 권한으로 사용자를 대신해 작동하도록 함 | 설정 → 개발자 설정 → 개인 액세스 토큰 | 해당 토큰을 아직 사용하는 모든 것, 그리고 토큰이 생성한 배포 키 |
| OAuth 권한 부여 | 사용자가 계정에서 작동하도록 승인한 타사 앱 | 설정 → 애플리케이션(승인된 OAuth 앱) | 해당 앱의 액세스; 앱 자체는 삭제되지 않음 |
| SSH 계정 키 | 계정에 대해 SSH를 통한 Git 작업 인증 | 설정 → SSH 및 GPG 키 | 해당 키에 의존하는 SSH 액세스 |
| 브라우저 세션 | 브라우저에서 활성화된 로그인 세션 | 로그아웃 제어 및 세션 설정 | 해당 세션만; 토큰이나 키가 아님 |
이 문서는 첫 번째 행을 다룹니다. 다른 행은 서로 혼동하지 않도록 나열한 것입니다. OAuth 권한 부여나 SSH 키를 제거해도 개인 액세스 토큰은 삭제되지 않으며, 토큰을 삭제해도 SSH 키가 취소되거나 브라우저 세션이 종료되지 않습니다.
1단계: 값을 노출하지 않고 토큰 인벤토리 만들기
목표는 토큰 이름과 각 토큰이 사용되는 위치의 목록이지, 토큰 문자열 목록이 아닙니다. 토큰 값을 메모, 티켓 또는 채팅에 절대 복사하지 않는 비밀로 취급하세요.
- GitHub 계정 설정을 열고 개발자 설정 → 개인 액세스 토큰으로 이동합니다. 세분화된 토큰과 클래식 토큰이 별도로 나열되므로 둘 다 확인하세요.
- 각 토큰에 대해 토큰 이름, 유형(세분화 또는 클래식), 그리고 GitHub에 표시되는 목적이나 만료에 관한 참고 사항만 기록합니다.
- 각 토큰에 대해 사용된다고 생각하는 위치를 적습니다: CI 작업, 배포 스크립트, 로컬 도구, 예약된 작업, 타사 통합 또는 기억나지 않는 곳.
- 위치를 파악할 수 없는 토큰을 표시합니다. 위치를 모르는 토큰은 검토 대상이지 자동 삭제 대상이 아닙니다. 여전히 무언가가 의존할 수 있습니다.
간단한 작업 표로 충분합니다:
| 토큰 이름 | 유형 | 알려진 사용처 | 마지막 알려진 사용 | 결정 |
|---|---|---|---|---|
| example-deploy | 세분화 | CI 배포 작업 | 알 수 없음 | 삭제 전 작업 확인 |
| example-old-script | 클래식 | 발견된 곳 없음 | 오래됨 | 확인 후 삭제 |
이 표에 토큰 값을 붙여넣지 마세요. 사용처가 토큰을 저장하는 경우 비밀을 다시 읽지 말고 해당 시스템의 구성을 확인하세요.
2단계: 제거 전 종속 자동화 확인
토큰을 삭제하면 여전히 해당 토큰으로 인증하는 모든 것이 중단됩니다. 삭제하기 전에 알려진 각 사용처를 확인하세요:
- CI 구성, 배포 스크립트 및 예약된 작업에서 토큰 이름이나 토큰을 보관하는 비밀 저장소 항목에 대한 참조를 검색합니다.
- 토큰의 권한이 사용처에 필요한 권한과 일치하는지 확인합니다. 사용되지 않는 것처럼 보이는 토큰이 작은 작업에 유일하게 작동하는 자격 증명일 수 있습니다.
- 토큰별로 결정합니다: 유지, 더 좁은 자격 증명으로 교체 또는 삭제. 사용처를 확인할 수 없으면 추측하지 말고 보류하세요.
GitHub는 먼저 확인할 가치가 있는 특정 종속성을 문서화합니다: 배포 키를 생성한 개인 액세스 토큰은 해당 배포 키와 연결됩니다.
GitHub는 배포 키를 생성한 개인 액세스 토큰을 삭제하면 해당 배포 키도 삭제된다고 경고합니다. 출처
이 경고는 범위가 좁습니다. 해당 토큰이 생성한 배포 키에 적용됩니다. 토큰을 삭제하면 계정의 모든 SSH 키, 모든 배포 키 또는 모든 통합에 영향을 미친다는 의미가 아닙니다. 광범위한 영향을 가정하지 말고 특정 토큰의 기록과 저장소의 배포 키를 확인하세요.
3단계: 토큰 삭제
토큰을 제거해도 안전하다고 확인한 경우 GitHub의 문서화된 경로는 다음과 같습니다:
GitHub의 개인 액세스 토큰 삭제 경로는 설정 → 개발자 설정 → 개인 액세스 토큰 → 세분화된 토큰 또는 클래식 토큰 → 삭제입니다. 출처
삭제 후에는 작동했다고 가정하지 말고 결과를 확인하세요:
- 해당 유형의 목록에서 토큰이 더 이상 표시되지 않는지 확인합니다.
- 사용처로 식별한 자동화를 실행하거나 트리거하여 여전히 인증되는지 확인합니다. 실패하면 놓친 종속성을 발견한 것입니다. 이전 값을 재사용하지 말고 제어하는 새 자격 증명으로 액세스를 복원하세요.
- 삭제된 토큰이 배포 키를 생성한 경우 저장소의 배포 키를 확인하여 문서화된 제거가 발생했고 다른 키는 영향을 받지 않았는지 확인합니다.
대비해야 할 실패 경로
| 상황 | 수행할 작업 |
|---|---|
| 삭제 후 CI 작업 실패 | 사용한 비밀을 식별하고 작업 소유자를 확인한 후 일반 프로세스를 통해 대체 자격 증명을 발급합니다 |
| 토큰 사용처를 찾을 수 없음 | 추측으로 삭제하지 말고 구성 파일과 비밀 저장소를 먼저 검색하며 확인할 때까지 토큰을 유지합니다 |
| 배포 키가 사라짐 | 토큰이 생성한 경우 문서화된 결과입니다. 저장소에 여전히 필요하면 의도적으로 키를 다시 생성합니다 |
| 자격 증명이 토큰인지 OAuth 앱인지 확실하지 않음 | 표시되는 설정 섹션을 확인합니다. 둘은 별도로 관리됩니다 |
이 체크리스트가 다루지 않는 것
이 가이드는 자격 증명 교체, 새 토큰 발급 또는 권한 변경을 설명하지 않습니다. 이러한 단계는 사용자의 설정과 GitHub의 현재 인터페이스에 따라 달라지며, 조치 시점에 확인해야 합니다. 또한 OAuth 권한 부여, SSH 계정 키 또는 브라우저 세션 제거는 별개임을 언급하는 것 외에는 다루지 않습니다. 토큰을 삭제하면 해당 자격 증명이 제거되지만, 연결된 서비스가 보유한 데이터가 지워졌다는 것을 그 자체로 증명하지는 않습니다.
사용자 이름 조회가 적합한 경우와 그렇지 않은 경우
정리가 사용자 이름으로 공개적으로 볼 수 있는 것에 대한 광범위한 검토의 일부라면, TraceSeek은 3,000개 이상의 플랫폼에서 알려진 공개 사용자 이름을 확인하는 별도 앱입니다. 공개 일치 항목을 보고하며, 이는 소유권 증명이 아닌 단서입니다. 또한 계정에 로그인하거나, 계정 설정을 변경하거나, 토큰을 삭제하거나, 누군가의 실제 신원을 확인할 수 없습니다. 비공개 계정 액세스나 무엇이든 보장된 제거를 위한 도구가 아닙니다. 이 문서의 토큰 작업은 조회 앱이 아닌 GitHub 설정에서 이루어집니다.