순환은 응급 조치가 아니라 규칙이다
한 번도 순환하지 않은 비밀값은 나중에 돌릴 수가 없어. 처음 시도할 때 통합 설정을 까먹고, 예전 값을 쓰는 예약 작업이 두 개쯤 남아 있고, 5개월 전 같은 키가 박힌 Vercel 환경 변수를 발견하게 될 거야. 불안할 때 연습해야 해.
유형별 순환 주기
- OIDC 토큰 — 자동, 약 1시간. 신경 쓸 필요 없어.
- 장기 API 키 (OpenAI, Anthropic, Stripe) — 분기마다, 또는 접근 권한이 있는 계약자나 직원이 떠날 때.
- SSH 배포 키 — 연 1회, 또는 노트북을 잃어버렸을 때.
- DB 비밀번호 — 사고가 났을 때나 분기마다.
- GitHub PAT — fine-grained 토큰이나 GitHub App으로 단계적 폐지; fine-grained는 분기마다 순환.
순환 절차
- 제공자 UI에서 새 값을 생성해.
- 새 비밀값 이름으로 저장해 (예:
API_KEY_V2) — 기존 값 옆에 둬. - 워크플로나 앱 설정을 V2를 사용하도록 업데이트해.
- V2가 프로덕션에서 최소 한 번의 전체 트래픽 주기 동안 사용되는지 확인해.
- 제공자에서 옛 값을 무효화해.
- GitHub에서 옛 비밀값 이름을 삭제해.
이런 겹침 순환 패턴을 쓰면 새 키에 오타가 있어서 프로덕션이 깜깜해지는 위험한 단일 전환을 피할 수 있어.