Google Cloud KMS
Google Cloud KMS는 암호화 키를 중앙에서 생성, 보관, 회전하는 키 관리 서비스입니다. 민감 데이터를 암호화할 때 키와 데이터를 분리하는 보안 기반 계층을 제공합니다.
▶아키텍처 다이어그램
🔗 관계 다이어그램점선 애니메이션은 데이터 또는 요청의 흐름 방향을 나타냅니다
데이터를 암호화하려고 해도 키를 앱 코드나 환경 변수에 넣는 순간 또 다른 비밀이 생깁니다. 키가 흩어져 있으면 교체와 접근 추적이 어려워지고, 데이터와 키를 같은 곳에 두는 구조도 유지하기 어렵습니다.
온프레미스에서는 HSM이나 자체 키 서버를 운영해야 키 분리와 감사 추적을 확보할 수 있었습니다. 클라우드로 오면서 저장소와 실행 환경이 다양해졌고, 키만 별도로 중앙 관리하는 계층이 필요해졌습니다.
Cloud KMS는 Key Ring 아래에 Crypto Key와 여러 Key Version을 두고 키 자체를 분리해 관리합니다. 애플리케이션은 KMS API로 암호화와 복호화를 요청하고, IAM이 어떤 주체가 어떤 키를 사용할 수 있는지 제한합니다. 키 사용 내역은 감사 로그로 남아 추적할 수 있습니다.
Cloud KMS와 Secret Manager는 둘 다 민감 정보를 다루지만, KMS는 데이터를 암호화하는 키를 관리하고 Secret Manager는 애플리케이션이 읽어야 하는 비밀값을 저장합니다. 직접 데이터를 암호화해야 하면 KMS, 비밀번호나 토큰을 런타임에 주입해야 하면 Secret Manager가 맞습니다.
개인정보나 규제 대상 데이터를 저장 전에 직접 암호화할 때 적합합니다. 애플리케이션 설정값을 안전하게 전달하는 문제는 Secret Manager가 더 직접적으로 다룹니다.