고객 관리 암호화 키(CMEK)

이 문서에서는 고객 관리 암호화 키(CMEK)를 위해 Cloud Key Management Service(Cloud KMS)를 사용하는 방법을 간략하게 설명합니다. Cloud KMS CMEK를 사용하면 Google Cloud에서 저장 데이터를 보호하는 키에 대한 소유권과 제어권이 부여됩니다.

CMEK와 Google 소유 키 및 Google 관리 키 비교

사용자가 만드는 Cloud KMS 키는 고객 관리 키입니다. 사용자 키를 사용하는 Google 서비스는 CMEK 통합을 사용한다고 말합니다. 이러한 CMEK를 직접 관리하거나 Cloud KMS Autokey를 통해 관리할 수 있습니다. Google의 기본 저장 데이터 암호화와 고객 관리 키의 차이점은 다음과 같습니다.

키 유형 Autokey로 고객 관리 고객 관리(수동) Google 소유 및 Google 관리(Google 기본값)
키 메타데이터를 볼 수 있음
키 소유권1 고객 고객 Google
3를 관리하고 제어할 수 있음2 키 생성 및 할당은 자동화되어 있습니다. 고객 수동 제어가 완전히 지원됩니다. 고객, 수동 제어만 Google
고객 관리 키에 대한 규제 요구사항 지원 아니요
키 공유 고객별로 고유 고객별로 고유 여러 고객의 데이터가 일반적으로 동일한 키 암호화 키(KEK)를 사용합니다.
키 순환 제어 아니요
CMEK 조직 정책 아니요
암호화 키에 대한 관리 및 데이터 액세스 로깅 아니요
가격 책정 경우에 따라 다름 - 자세한 내용은 가격 책정을 참조하세요. Autokey에 대한 추가 비용 없음 경우에 따라 다름 - 자세한 내용은 가격 책정을 참조하세요. 무료

1 법률 조항에 따라 키 소유자는 키에 대한 권리를 보유한 사람을 나타냅니다. 고객 소유의 키는 Google 액세스가 엄격하게 제한되거나 차단됩니다.

2키 제어는 키 종류 및 키 사용 방법에 대한 제어 수단을 설정하고, 편차를 감지하고, 필요한 경우 시정 조치를 계획하는 것을 의미합니다. 사용자는 키를 제어할 수 있지만 키 관리는 제3자에게 위임할 수 있습니다.

3키 관리에는 다음과 같은 기능이 포함됩니다.

  • 키를 만듭니다.
  • 키의 보호 수준을 선택합니다.
  • 키 관리 권한을 할당합니다.
  • 키에 대한 액세스를 제어합니다.
  • 키 사용을 제어합니다.
  • 키 순환 기간을 설정 및 수정하거나 키 순환을 트리거합니다.
  • 키 상태를 변경합니다.
  • 키 버전을 폐기합니다.

Google 소유 키 및 Google 관리 키를 사용한 기본 암호화

Google Cloud에 저장된 모든 데이터는 Google이 암호화된 자체 데이터에 사용하는 동일한 강화 키 관리 시스템을 사용하여 저장 상태에서 암호화됩니다. 이러한 키 관리 시스템은 엄격한 키 액세스 제어 및 감사 기능을 제공하며 AES-256 암호화 표준을 사용하여 사용자 저장 데이터를 암호화합니다. Google은 데이터 암호화에 사용되는 키를 소유하고 관리합니다. 사용자는 이러한 키를 보거나 관리하거나 키 사용량 로그를 검토할 수 없습니다. 여러 고객의 데이터에서 동일한 키 암호화 키(KEK)를 사용할 수 있습니다. 설정, 구성 또는 관리가 필요하지 않습니다.

Google Cloud의 기본 암호화에 대한 자세한 내용은 기본 저장 데이터 암호화를 참조하세요.

고객 관리 암호화 키(CMEK)

고객 관리 암호화 키는 사용자가 소유한 암호화 키입니다. 이 기능을 사용하면 지원되는 Google Cloud 서비스 내에서 저장 데이터를 암호화하는 데 사용되는 키를 보다 효과적으로 제어할 수 있으며 데이터 주위에 암호화 경계를 제공할 수 있습니다. Cloud KMS에서 CMEK를 직접 관리하거나 Cloud KMS Autokey를 사용하여 프로비저닝 및 할당을 자동화할 수 있습니다.

CMEK를 지원하는 서비스에는 CMEK 통합이 있습니다. CMEK 통합은 Google의 기본 암호화 대신 사용할 수 있는 서버 측 암호화 기술입니다. CMEK가 설정된 후에는 리소스 서비스 에이전트가 리소스를 암호화 및 복호화하는 작업이 처리됩니다. CMEK 통합 서비스는 암호화된 리소스에 대한 액세스를 처리하므로 최종 사용자의 개입 없이 암호화 및 복호화를 투명하게 수행할 수 있습니다. 리소스 액세스 환경은 Google의 기본 암호화를 사용할 때와 비슷합니다. CMEK 통합에 대한 자세한 내용은 CMEK 통합 서비스의 기능을 참조하세요.

각 키에 무제한 키 버전을 사용할 수 있습니다.

서비스가 CMEK를 지원하는지 여부를 알아보려면 지원되는 서비스 목록을 참조하세요.

Cloud KMS를 사용하면 키 버전 수와 이러한 키 버전을 사용한 암호화 작업과 관련된 비용이 발생합니다. 가격 책정에 대한 자세한 내용은 Cloud Key Management Service 가격 책정을 참조하세요. 최소 구매 또는 약정은 필요하지 않습니다.

Cloud KMS Autokey를 사용하는 고객 관리 암호화 키(CMEK)

Cloud KMS Autokey는 프로비저닝 및 할당을 자동화하여 CMEK 생성 및 관리를 간소화합니다. Autokey를 사용하면 리소스 생성 중에 필요 시 키링과 키가 생성되며, 암호화 및 복호화 작업에 키를 사용하는 서비스 에이전트에 필요한 Identity and Access Management(IAM) 역할이 자동으로 부여됩니다.

Autokey에서 생성된 키를 사용하면 키-데이터 위치 정렬, 키 특수성, 하드웨어 보안 모듈(HSM) 보호 수준, 키 순환 일정, 업무 분리를 포함한 데이터 보안의 업계 표준 및 권장사항을 일관되게 조정할 수 있습니다. Autokey는 Autokey와 통합되는 Google Cloud 서비스의 리소스 유형과 관련된 일반 가이드라인과 가이드라인을 모두 따르는 키를 만듭니다. Autokey를 사용하여 생성된 키는 고객 관리 키에 대한 규제 요구사항 지원을 포함하는 동일한 설정의 다른 Cloud HSM 키와 동일하게 작동합니다. Autokey에 대한 자세한 내용은 Autokey 개요를 참조하세요.

고객 관리 암호화 키를 사용해야 하는 경우

수동으로 생성된 CMEK 또는 호환되는 서비스에서 Autokey로 생성된 키를 사용하면 다음 목표를 달성하는 데 도움이 됩니다.

  • 암호화 키를 소유합니다.

  • 암호화 키의 위치 선택, 보호 수준, 생성, 액세스 제어, 순환, 사용, 폐기 등을 제어하고 관리합니다.

  • Cloud KMS에서 키 자료를 생성하거나 Google Cloud 외부에서 유지보수되는 키 자료를 가져옵니다.

  • 키를 사용해야 하는 위치와 관련된 정책을 설정합니다.

  • 오프보딩 시 키로 보호되는 데이터를 선택적으로 삭제하거나 보안 이벤트(암호화 파쇄)를 해결합니다.

  • 고객별로 고유한 키를 만들어서 사용하고 데이터에 대한 암호화 경계를 설정합니다.

  • 암호화 키에 대한 관리 및 데이터 액세스를 로깅합니다.

  • 이러한 목표를 요구하는 현재 또는 미래의 규정을 준수합니다.

CMEK 통합 서비스의 기능

Google의 기본 암호화와 마찬가지로 CMEK는 고객 데이터의 서버 측 대칭 봉투 암호화입니다. Google의 기본 암호화와의 차이점은 CMEK 보호는 고객이 제어하는 키를 사용한다는 것입니다. Autokey를 사용해서 수동 또는 자동으로 생성된 CMEK는 서비스 통합 중에 동일한 방식으로 작동합니다.

  • CMEK 통합을 사용하는 클라우드 서비스는 사용자가 Cloud KMS에서 만든 키를 사용하여 리소스를 보호합니다.

  • Cloud KMS와 통합된 서비스는 대칭 암호화를 사용합니다.

  • 키의 보호 수준을 선택합니다.

  • 모든 키는 256비트 AES-GCM입니다.

  • 키 자료는 Cloud KMS 시스템 경계를 벗어나지 않습니다.

  • 대칭 키는 봉투 암호화 모델에서 암호화 및 복호화하는 데 사용됩니다.

키 및 리소스를 추적하는 CMEK 통합 서비스

  • CMEK로 보호되는 리소스에는 이를 암호화하는 키의 이름이 포함된 메타데이터 필드가 있습니다. 일반적으로 이는 리소스 메타데이터에서 고객에게 표시됩니다.

  • 키 추적은 키 추적을 지원하는 서비스의 경우 키가 보호하는 리소스를 알려줍니다.

  • 키는 프로젝트별로 나열할 수 있습니다.

리소스 액세스를 처리하는 CMEK 통합 서비스

CMEK 통합 서비스에서 리소스를 만들거나 보는 주 구성원에게는 리소스를 보호하는 데 사용되는 CMEK에 Cloud KMS CryptoKey 암호화/복호화(roles/cloudkms.cryptoKeyEncrypterDecrypter)가 필요하지 않습니다.

각 프로젝트 리소스에는 고객 관리 키를 사용하여 암호화 및 복호화를 수행하는 서비스 에이전트라는 특수한 서비스 계정이 있습니다. CMEK에 대한 액세스 권한을 서비스 에이전트에 부여하면 서비스 에이전트가 해당 키를 사용하여 사용자가 선택한 리소스를 보호합니다.

요청자가 고객 관리 키로 암호화된 리소스에 액세스하려고 하면 서비스 에이전트가 요청된 리소스의 복호화를 자동으로 시도합니다. 서비스 에이전트가 키를 사용하여 복호화할 권한을 가지고 있고, 사용자가 키를 사용 중지하거나 폐기하지 않은 경우 서비스 에이전트는 키 암호화 및 복호화 기능을 제공합니다. 그렇지 않으면 요청이 실패합니다.

추가 요청자 액세스는 필요하지 않으며, 서비스 에이전트가 백그라운드에서 암호화와 복호화를 처리하므로 리소스 액세스를 위한 사용자 환경은 Google의 기본 암호화를 사용하는 것과 유사합니다.

CMEK용 Autokey 사용

Autokey를 사용할 폴더마다 일회성 설정 프로세스가 있습니다. Autokey 지원팀과 함께 작업할 폴더 및 Autokey가 해당 폴더의 키를 저장하는 관련 키 프로젝트를 선택할 수 있습니다. Autokey 사용 설정에 대한 자세한 내용은 Cloud KMS Autokey 사용 설정을 참조하세요.

CMEK를 수동으로 만드는 경우와 달리 Autokey에는 다음 설정 단계가 필요하지 않습니다.

  • 키 관리자는 키링 또는 키를 수동으로 만들거나 데이터를 암호화 및 복호화하는 서비스 에이전트에 권한을 할당할 필요가 없습니다. Cloud KMS 서비스 에이전트가 이러한 작업을 대신 수행합니다.

  • 개발자는 리소스 생성 전에 키 요청을 미리 계획할 필요가 없습니다. 업무 분리를 유지하면서 필요에 따라 자동으로 Autokey의 키를 요청할 수 있습니다.

Autokey를 사용할 때는 한 가지 단계가 있습니다. 개발자가 리소스 생성 중에 키를 요청하는 것입니다. 반환된 키는 의도한 리소스 유형과 일치합니다.

Autokey로 생성된 CMEK는 다음 기능의 수동 생성 키와 동일한 방식으로 작동합니다.

  • CMEK 통합 서비스는 동일한 방식으로 작동합니다.

  • 키 관리자는 Cloud KMS 대시보드 및 키 사용 추적을 통해 생성되고 사용되는 모든 키를 계속 모니터링할 수 있습니다.

  • 조직 정책은 수동으로 생성된 CMEK와 함께 작동할 때와 동일한 방식으로 Autokey와 함께 작동합니다.

Autokey 개요는 Autokey 개요를 참조하세요. Autokey를 사용하여 CMEK로 보호되는 리소스를 만드는 방법에 대한 자세한 내용은 Cloud KMS Autokey를 사용하여 보호되는 리소스 만들기를 참조하세요.

CMEK 수동 생성

CMEK를 수동으로 만들 때는 보호된 리소스를 만들기 전에 키링, 키, 리소스 위치를 계획하고 만들어야 합니다. 그런 다음 키를 사용하여 리소스를 보호할 수 있습니다.

CMEK를 사용 설정하는 정확한 단계는 관련 Google Cloud 서비스에 대한 문서를 참조하세요. GKE와 같은 일부 서비스에는 서비스와 관련된 다양한 유형의 데이터를 보호하기 위한 여러 CMEK 통합이 있습니다. 다음과 유사한 단계를 따를 것으로 예상할 수 있습니다.

  1. Cloud KMS 키링을 만들거나 기존 키링을 선택합니다. 키링을 만들 때는 보호 대상 리소스와 지리적으로 가까운 위치를 선택합니다. 키링은 보호하는 리소스와 동일한 프로젝트 또는 다른 프로젝트에 있을 수 있습니다. 다른 프로젝트를 사용하면 IAM 역할을 보다 효과적으로 제어할 수 있으며 업무 분리를 지원하는 데 도움이 됩니다.

  2. 선택한 키링에 Cloud KMS 키를 만들거나 가져옵니다. 이 키가 CMEK입니다.

  3. CMEK의 [CryptoKey Encrypter/Decrypter IAM 역할 encrypter-decrypter-role을 해당 서비스의 서비스 계정에 부여합니다.

  4. 리소스를 만들 때 CMEK를 사용하도록 리소스를 구성합니다. 예를 들어 GKE 클러스터가 CMEK를 사용하여 노드의 부팅 디스크에서 데이터를 보호하도록 구성할 수 있습니다.

요청자가 데이터에 액세스하기 위해 CMEK에 직접 액세스할 필요는 없습니다.

서비스 에이전트에 CryptoKey 암호화/복호화 역할이 있는 경우 서비스는 해당 데이터를 암호화하고 복호화할 수 있습니다. 이 역할을 취소하거나 CMEK를 사용 중지하거나 폐기하면 해당 데이터에 액세스할 수 없습니다.

CMEK 규정 준수

일부 서비스는 CMEK 통합을 사용하며 사용자는 이를 통해 키를 직접 관리할 수 있습니다. 일부 서비스는 대신 CMEK 규정 준수를 제공하므로 임시 데이터와 임시 키가 디스크에 기록되지 않습니다. 통합 및 호환 서비스의 전체 목록은 CMEK 호환 서비스를 참조하세요.

키 사용 추적

키 사용 추적은 CMEK로 보호되는 조직 내의 Google Cloud 리소스를 보여줍니다. 키 사용 추적을 사용하면 특정 키를 사용하는 보호 리소스, 프로젝트, 고유한 Google Cloud 제품 및 키 사용 여부를 볼 수 있습니다. 키 사용 추적에 대한 자세한 내용은 키 사용량 보기를 참조하세요.

CMEK 조직 정책

Google Cloud는 조직 리소스 전체에서 일관된 CMEK 사용을 보장하기 위해 조직 정책 제약조건을 제공합니다. 이러한 제약조건은 CMEK 사용을 요구하고 CMEK 보호에 사용되는 Cloud KMS 키를 제한 및 제어할 수 있는 다음과 같은 제어 기능을 조직 관리자에게 제공합니다.

다음 단계