← 전체 목록
🗝️

Google Secret Manager

보안비밀값 중앙 저장 및 버전 관리

아키텍처 다이어그램

점선 애니메이션은 데이터 또는 요청의 흐름 방향을 나타냅니다

왜 필요한가요?

애플리케이션이 DB 비밀번호나 외부 API 토큰을 필요로 할 때, 이를 코드 저장소나 환경 변수 파일에 흩어 두면 유출과 변경 관리가 어려워집니다. 비밀값이 바뀔 때마다 서비스 전체 재배포가 필요해지는 경우도 많습니다.

안에서 어떻게 동작하나요?

Secret Manager는 비밀값을 이름과 버전으로 저장하고, 서비스는 실행 중 필요한 버전을 조회합니다. IAM 정책이 읽기 권한을 제한하고, 새 버전을 발행해도 소비자는 활성 버전만 바꾸며 점진적으로 전환할 수 있습니다.

무엇과 헷갈리나요?

Secret Manager와 Cloud KMS는 함께 쓰이지만 목적이 다릅니다. Secret Manager는 애플리케이션이 읽어야 하는 비밀값 자체를 저장하고, Cloud KMS는 데이터를 암호화하는 키를 관리합니다. 런타임 주입이 필요하면 Secret Manager, 암복호화 연산이 필요하면 KMS가 중심입니다.

왜 이런 방식이 등장했나요?

초기에는 `.env` 파일이나 배포 도구 변수로 비밀값을 관리했지만, 서비스 수가 늘면서 회전, 접근 통제, 감사 추적이 빠르게 복잡해졌습니다. 그래서 비밀값만 중앙 저장하고 서비스 계정으로 읽게 하는 패턴이 표준이 되었습니다.

언제 쓰나요?

비밀번호와 토큰처럼 런타임이 읽어야 하는 비밀값을 중앙에서 주입하고 버전을 교체해야 하는 운영 상황에 적합합니다. 사용자 데이터 자체를 암호화하거나 키 수명주기를 관리하는 문제를 대신 해결하지는 않습니다.

DB 자격 증명 관리API 키 배포비밀 로테이션인증서 저장
Official Docs

더 깊게 보기

현재 페이지의 개념 설명을 본 뒤 공식 문서로 바로 이동합니다.

GCP