SECRET LIFECYCLE

비밀 정보는 생성부터 폐기까지 코드 밖에서 움직인다

Nest 애플리케이션은 ConfigService로 값을 읽지만, 실제 값의 소유권은 저장소가 아니라 배포 환경과 Secret Store에 둡니다.

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 기록, 배포 로그, 에러 응답, 공유 문서에 남아 있다면 키 교체와 접근 범위 점검을 함께 진행합니다.