11장. 비밀은 환경 변수 한 줄보다 넓은 수명주기다
생성, 저장, 배포, 사용, 회전, 폐기, 유출 대응을 설계한다. 장기 cloud access key보다 workload identity와 짧은 수명 credential을 우선한다. source, image layer, build log, test report, screenshot, prompt에 실제 비밀을 넣지 않는다.
DATABASE_PASSWORD=<SECRET_FROM_RUNTIME_STORE>
OAUTH_CLIENT_SECRET=<SECRET_FROM_RUNTIME_STORE>
secret 이름도 민감할 수 있어 log를 최소화한다. 회전은 새 값 발급, 양쪽 허용, consumer 전환, 구 값 폐기, 검증 순으로 무중단 훈련한다. 노출 시 git 삭제만으로 끝내지 않고 provider에서 revoke·rotate한다.