Cloud Spanner에 고객 관리 암호화 키 및 액세스 승인 도입
Vaibhav Govil
Group Product Manager, Google
* 본 아티클의 원문은 2021년 4월 23일 Google Cloud 블로그(영문)에 게재되었습니다.
Cloud Spanner는 Google Cloud의 완전 관리형 관계형 데이터베이스로서 무제한 확장성, 고성능, 리전 간 강력한 일관성, 고가용성(최대 99.999%의 가용성 SLA)을 제공합니다. 또한 Spanner는 고객에게 보안, 투명성, 완전한 데이터 보호를 제공하기 때문에 기업의 신뢰를 받고 있습니다. 기업에서 데이터 보호 방식을 더욱 효과적으로 제어할 수 있도록 최근 Spanner에 고객 관리암호화 키(CMEK)를 도입했습니다. CMEK를 사용하면 고객이 클라우드 키 관리(KMS)에서 암호화 키를 관리할 수 있습니다.
보안을 위해 Spanner에서는 이미 전송 중 데이터의 암호화는 클라이언트 라이브러리를 통해, 저장 데이터의 암호화는 Google 관리 암호화 키를 사용해 암호화를 기본적으로 제공하고 있습니다. 금융 서비스, 의료 및 생명과학, 전자통신처럼 규제가 엄격한 업종에 속한 고객의 경우 규정 준수 요건을 충족하기 위해 암호화 키를 제어해야 합니다. Spanner에 CMEK 지원이 도입되면서 고객이 암호화 키를 완전히 제어하고 최고 수준의 보안과 규정 준수가 필요한 워크로드를 실행할 수 있게 되었습니다. 또한 CMEK를 사용해 데이터베이스 백업을 보호할 수 있습니다. 아울러 Spanner는 VPC 서비스 제어 지원도 제공하며 규정 준수 인증 및 필요한 승인도 취득하여 ISO 27001, 27017, 27018, PCI DSS, SOC1|2|3, HIPAA, FedRamp가 필요한 워크로드에 사용할 수 있습니다.
Spanner는 Cloud KMS와 통합되어 CMEK 지원을 제공하므로 Cloud KMS에서 암호화 키를 생성, 사용, 순환, 폐기할 수 있습니다. 보안 수준을 높여야 하는 고객은 하드웨어 보호 암호화 키를 사용하도록 선택하고 FIPS 140-2 Level 3 검증 하드웨어 보안 모듈(HSM)에서 암호화 키를 호스팅하며 암호화 작업을 수행할 수 있습니다. Spanner의 CMEK 기능은 모든 Spanner 리전과 KMS 및 HSM을 지원하는 일부 멀티 리전에서 사용할 수 있습니다.
Spanner에서 CMEK를 사용하는 방법
Spanner 데이터베이스에 CMEK를 사용하려는 사용자는 데이터베이스를 만들 때 KMS 키를 지정해야 합니다. 이 키는 Spanner 인스턴스와 동일한 위치(리전 또는 멀티 리전)에 있어야 합니다.
사용자가 Cloud KMS 암호화 및 복호화 역할을 Google에서 관리하는 Cloud Spanner 서비스 계정에 부여하면 Spanner에서 사용자 대신 키에 액세스할 수 있습니다. CMEK를 사용하는 데이터베이스를 만들면 Google 관리 암호화 키를 사용하는 데이터베이스와 동일하게 API, DDL, DML을 통해 액세스할 수 있습니다. 암호화 유형 및 암호화 키에 대한 자세한 내용은 데이터베이스 개요 페이지에서 확인할 수 있습니다.
Spanner는 약 5분마다 인스턴스-구성의 각 영역에서 KMS를 호출하여 Spanner 데이터베이스의 키가 여전히 유효한지 확인합니다. 고객이 프로젝트에서 Cloud KMS API에 대한 로깅을 사용 설정하면 로그 뷰어에서 사용자를 대신하여 KMS에 대한 Spanner 요청을 감사할 수 있습니다.
Spanner용 액세스 승인 지원
고객에게는 보안 제어 외에도 데이터 사용 방식에 대한 완전한 가시성과 제어가 필요합니다. 오늘날 고객은 Cloud Spanner 감사 로그를 사용해 Google Cloud 조직 구성원의 관리 및 데이터 액세스 활동을 기록하는 한편 액세스 투명성 로그를 사용 설정하여 Google 직원이 수행한 작업을 기록합니다. 액세스 투명성은 고객에게 Google 지원 담당자와 엔지니어링 인력이 고객 데이터에 액세스한 것에 대한 비즈니스 근거(일부 시나리오에서는 지원 티켓 참조 포함)를 기록한 로그를 실시간에 가깝게 제공합니다. 나아가 Spanner는 미리보기 버전에 액세스 승인 지원을 도입했습니다. Spanner에서 액세스 승인을 사용하는 고객은 Google 직원의 데이터에 대한 관리 액세스를 차단하고 해당 직원이 액세스를 진행하려면 명시적 승인을 받도록 요청할 수 있습니다. 따라서 액세스 투명성 로그로 제공되는 투명성에 더해 제어가 한층 더 강화됩니다. 또한 액세스 승인에서는 승인되었거나, 무시되었거나, 만료된 모든 요청에 대한 기록 뷰도 제공합니다.
액세스 승인을 사용하려는 고객은 우선 콘솔에서 조직에 대해 액세스 투명성을 사용 설정해야 합니다. 그러면 콘솔에서 액세스 승인도 사용 설정할 수 있게 됩니다. 액세스 승인을 사용하면 사용자가 자신이 승인할 수 있는 액세스 요청이 포함된 이메일 또는 Pub/Sub 메시지를 받게 됩니다. 사용자는 메시지의 정보를 사용해 Google Cloud Console 또는 Access Approval API를 통해 액세스 권한을 승인할 수 있습니다.
자세히 알아보기
다른 Spanner 데이터베이스와 마찬가지로 Spanner에서는 CMEK 사용 데이터베이스의 요금을 청구합니다. Spanner가 암호화/복호화를 위해 키를 사용할 때마다 키 비용 및 암호화 작업에 사용한 Cloud KMS의 요금이 고객에게 청구됩니다. 이러한 비용은 소액에 그칠 것으로 예상되며 자세한 내용은 KMS 가격 책정을 참조하세요.
- CMEK에 대한 자세한 내용은 문서를 참조하세요.
- Spanner를 시작하려면 인스턴스를 생성하거나 Spanner Qwiklab에서 사용해 보세요.