Secret Lifecycle
값의 소유 위치와 차단 기준을 단계마다 정한다
생성, 저장, 주입, 검증, 교체가 이어져야 코드 저장소에 비밀 값이 남지 않는다.
1
Create
DB 암호, JWT secret, API key는 관리 도구에서 만든다.
2
Store
.env 대신 Secret Manager, Vault, CI/CD Secrets에 둔다.
3
Inject
컨테이너, 서버, 파이프라인 실행 시점에 주입한다.
4
Validate
Joi 스키마로 누락과 잘못된 형식을 부팅 단계에서 막는다.
5
Rotate
유출 의심, 권한 변경, 정기 보안 정책에 맞춰 교체한다.
안전한 흐름
코드에는 변수 이름과 검증 규칙만 남김
로그에는 로드 여부와 키 이름만 기록하고 실행 계정은 필요한 secret만 읽는다.
즉시 수정 신호
Git 기록, 배포 로그, 에러 응답, 공유 문서에 실제 값이 보임
키 교체와 접근 범위 점검을 함께 진행한다.