Conceptly
← 전체 목록
🗝️

Google Secret Manager

보안애플리케이션 비밀값 보관

Google Secret Manager는 API 키, DB 비밀번호 같은 비밀값을 버전과 권한으로 관리하는 서비스입니다. 애플리케이션이 런타임에 안전하게 비밀을 읽어 쓰도록 돕는 비밀 저장 계층을 맡습니다.

아키텍처 다이어그램

🔗 관계 다이어그램

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

왜 필요한가요?

DB 비밀번호나 외부 API 토큰을 코드 저장소나 `.env` 파일에 흩어 두면 유출 범위를 통제하기 어렵습니다. 값이 바뀔 때마다 배포 파일을 다시 만져야 해서 회전과 운영이 자주 꼬입니다.

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

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

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

Secret Manager는 비밀값을 이름과 버전으로 저장하고, 런타임은 필요한 시점에 조회해서 씁니다. IAM 정책이 읽기 권한을 제한하고, 새 버전을 발행한 뒤 활성 버전만 바꾸는 방식으로 점진적 회전이 가능합니다.

무엇과 헷갈리나요?

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

언제 쓰나요?

DB 비밀번호, API 키, 인증서처럼 런타임이 읽어야 하는 값을 중앙에서 주입하고 버전 교체를 관리할 때 적합합니다. 데이터 자체를 암호화하거나 키 수명주기를 관리하는 문제는 다루지 않습니다.

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