기본적으로 Google Cloud 는 Google에서 관리하는 암호화 키를 사용하여 데이터를 저장할 때 자동으로 암호화합니다. 데이터를 보호하는 키와 관련된 특정 규정 준수 또는 규제 요구사항이 있으면 고객 관리 암호화 키 (CMEK)를 사용할 수 있습니다.
CMEK를 사용하면 Cloud Key Management Service (Cloud KMS)를 통해 제어하는 암호화 키를 사용하여 Backup and DR 데이터를 보호할 수 있습니다. CMEK를 사용하면 Cloud Key Management Service에서 키를 관리하고 키에 대한 Identity and Access Management 권한을 관리하여 키에 액세스할 수 있는 사용자를 제어할 수 있습니다. CMEK 키를 일시적으로 중지하거나 영구 삭제하면 이 키로 보호되는 데이터에 액세스할 수 없게 됩니다. 일반적인 CMEK에 대한 자세한 내용은 고객 관리 암호화 키 (CMEK)를 참고하세요.
Backup and DR은 CMEK를 사용하여 Backup Vault에 저장된 백업 데이터를 보호합니다.
백업 및 DR에서 CMEK를 사용하는 방법
백업되는 리소스에 따라 Backup and DR은 다음과 같이 CMEK 키를 사용하여 백업을 보호합니다.
백업 보관소에 저장된 Compute Engine 인스턴스 백업의 경우: Compute Engine 인스턴스에 연결된 디스크가 하나 이상 CMEK로 암호화된 경우 백업 및 DR에서는 해당 인스턴스를 CMEK 지원 백업 보관소에 백업해야 합니다. 인스턴스에 연결된 모든 디스크가 Google 관리 암호화를 사용하는 경우 Google Cloud 콘솔에서 CMEK가 아닌 백업 보관소에 백업을 저장해야 합니다. 하지만 Google Cloud CLI, API 또는 Terraform을 사용하는 경우 이러한 인스턴스의 백업을 CMEK 지원 백업 볼트에 저장하도록 구성할 수 있습니다.
Compute Engine 인스턴스 백업이 CMEK 지원 백업 보관소에 저장된 경우 인스턴스 디스크의 암호화 상태와 관계없이 보관소의 Cloud Key Management Service 키를 사용하여 백업 데이터가 암호화됩니다.
영구 디스크 백업의 경우: 백업 및 DR은 소스 워크로드의 암호화를 사용하여 소스 디스크의 암호화를 보존합니다. 소스 Persistent Disk가 CMEK로 보호되는 경우 백업은 동일한 CMEK 키로 보호됩니다. 소스 Persistent Disk가 Google 관리 암호화를 사용하는 경우 백업도 Google 관리 암호화를 사용하며 CMEK로 구성되지 않은 백업 볼트에 저장해야 합니다.
다음 표에는 다양한 워크로드 유형의 백업에 사용되는 암호화 키가 요약되어 있습니다.
| 워크로드 | 백업에 사용된 암호화 키 | CMEK 지원 상태 |
|---|---|---|
| Compute Engine 인스턴스 | Backup Vault CMEK 키 | 지원됨 |
| Compute Engine 디스크 | 소스 디스크의 암호화 키 | 지원됨 |
| Cloud SQL | - | 지원되지 않음 |
| AlloyDB 클러스터 | - | 지원되지 않음 |
| Filestore 인스턴스 | - | 지원되지 않음 |
| Google Cloud VMware Engine, Oracle 데이터베이스, SQL Server 데이터베이스 | - | 지원되지 않음 |
제한사항
CMEK에 대한 백업 및 DR 지원에는 다음과 같은 제한사항이 있습니다.
- CMEK 보호는 백업 보관소에 저장된 Compute Engine 인스턴스 및 영구 디스크 백업에만 지원됩니다.
- 백업 보관함의 CMEK는 생성 시에만 구성할 수 있습니다. 기존 백업 보관함에서는 CMEK를 사용 설정하거나 사용 중지하거나 변경할 수 없습니다.
- Cloud Key Management Service 키는 백업 보관소와 동일한 위치에 있어야 합니다. 리전의 백업 볼트는 동일한 리전의 키를 사용해야 합니다. 멀티 리전 백업 볼트는 동일한 멀티 리전의 키를 사용해야 합니다.
- Backup and DR은 고객 제공 암호화 키(CSEK)를 지원하지 않습니다.
- 기본 백업 볼트와 기본 백업 계획은 Google 관리 암호화를 사용합니다. CMEK를 사용하려면 새 백업 볼트를 만들고 CMEK를 명시적으로 사용 설정해야 합니다.
시작하기 전에
CMEK를 사용하기 전에 다음 단계를 완료하세요.
CMEK 키를 저장할 프로젝트에서 Cloud Key Management Service API를 사용 설정합니다.
Cloud Key Management Service 키링 및 키를 만듭니다. 키를 만들 때 백업 볼트의 위치와 일치하는 위치를 선택해야 합니다. 리전의 백업 볼트는 동일한 리전의 키를 사용해야 합니다. 멀티 리전 백업 볼트는 동일한 멀티 리전의 키를 사용해야 합니다.
아직 만들지 않은 경우 백업 및 DR 서비스 에이전트를 만듭니다. 서비스 에이전트는 프로젝트에서 첫 번째 Backup and DR 리소스 (백업 보관소, Google Cloud 콘솔 등)가 생성된 후 자동으로 생성됩니다. 백업 볼트를 만들기 전에 서비스 에이전트에 권한을 부여해야 하는 경우 다음 명령어로 서비스 에이전트 생성을 트리거할 수 있습니다.
gcloud beta services identity create --service=backupdr.googleapis.com --project=PROJECT_ID
PROJECT_ID를 프로젝트 ID로 바꿉니다.
CMEK 권한 부여
Backup and DR이 CMEK를 사용하여 백업을 보호하거나 CMEK로 보호된 리소스를 백업하려면 특정 서비스 에이전트에 IAM 역할을 부여해야 합니다.
보관소 CMEK 키 사용 권한 부여
백업 볼트에 CMEK를 구성하면 Backup and DR에서 CMEK 키를 사용하여 데이터를 암호화하고 복호화할 수 있는 권한이 필요합니다. 이 권한은 백업 및 DR 서비스 에이전트에 부여해야 합니다.
백업 및 DR에서 사용하는 두 가지 서비스 계정을 구분하는 것이 중요합니다.
- 백업 및 DR 서비스 에이전트: 백업 및 DR 리소스를 관리하고 백업 볼트가 CMEK로 구성된 경우 Cloud Key Management Service 키에 액세스하는 데 사용되는 프로젝트 수준 서비스 계정입니다. CMEK 키에 대한
roles/cloudkms.cryptoKeyEncrypterDecrypter역할이 필요한 서비스 에이전트입니다. - 백업 보관함 서비스 계정: 소스 워크로드(예: Compute Engine 인스턴스)에 액세스하고 이를 백업할 권한을 부여하는 보관함별 고유 서비스 계정입니다. 이 서비스 계정은 백업 보관소 내 데이터의 CMEK 암호화에 사용되지 않습니다.
Backup and DR에서 CMEK를 사용하려면 Backup and DR 서비스 에이전트에 Cloud KMS CryptoKey 암호화/복호화 역할(roles/cloudkms.cryptoKeyEncrypterDecrypter)을 부여해야 합니다. 이 서비스 에이전트는 암호화 및 복호화 작업 중에 Cloud Key Management Service 키에 액세스하는 등 Backup and DR이 사용자를 대신하여 리소스에 액세스하는 데 사용하는 서비스 계정입니다.
백업 및 DR 서비스 에이전트의 이름은 다음 형식으로 지정됩니다.
service-VAULT_PROJECT_NUMBER@gcp-sa-backupdr.iam.gserviceaccount.com
VAULT_PROJECT_NUMBER를 백업 보관함을 포함하는 프로젝트의 프로젝트 번호로 바꿉니다.
IAM 역할을 부여할 권한이 있는 경우 Google Cloud 콘솔을 사용하여 백업 보관 파일 생성 시 이 역할을 부여하거나 gcloud kms keys add-iam-policy-binding 명령어를 사용하여 미리 부여할 수 있습니다.
gcloud kms keys add-iam-policy-binding KEY_NAME \
--location=KMS_LOCATION \
--keyring=KEY_RING \
--member=serviceAccount:service-VAULT_PROJECT_NUMBER@gcp-sa-backupdr.iam.gserviceaccount.com \
--role=roles/cloudkms.cryptoKeyEncrypterDecrypter
예에 표시된 것처럼 특정 키에 이 역할을 부여하거나 키링 또는 프로젝트 수준에서 부여할 수 있습니다. 키 수준에서 권한을 부여하면 가장 세분화된 제어가 가능하며 최소 권한의 원칙에 따라 권장됩니다. 프로젝트 또는 키링 수준에서 권한을 부여하면 백업 및 DR에서 해당 범위 내의 여러 키를 사용하려는 경우 더 편리하지만 더 광범위한 권한이 부여됩니다.
CMEK 보호 리소스 백업 권한 부여
CMEK로 암호화된 디스크가 있는 Compute Engine 인스턴스와 같이 다른 CMEK 키로 암호화된 리소스를 백업하는 경우 추가 권한이 필요합니다. 소스 리소스 서비스의 서비스 에이전트에는 소스 리소스를 보호하는 키를 사용할 권한이 필요합니다. 예를 들어 CMEK로 암호화된 Compute Engine 인스턴스를 백업하려면 소스 인스턴스 프로젝트의 Compute Engine 서비스 에이전트에 인스턴스의 디스크를 암호화하는 데 사용되는 Cloud Key Management Service 키에 대한 roles/cloudkms.cryptoKeyEncrypterDecrypter 역할이 있어야 합니다. 대부분의 경우 소스 워크로드가 작동하려면 이 권한이 이미 있어야 합니다.
백업 및 DR에 CMEK 사용
이 섹션에서는 CMEK를 사용하여 백업을 보호하는 워크플로를 설명합니다.
1. CMEK 지원 백업 볼트 만들기
백업 보관함을 만들 때 암호화 섹션에서 고객 관리 암호화 키 (CMEK) 옵션을 선택하고 생성한 Cloud Key Management Service 키를 선택합니다. CMEK는 보관 파일 생성 중에만 사용 설정할 수 있으며 기존 보관 파일에서는 사용 설정, 사용 중지 또는 변경할 수 없습니다.
2. 백업 계획 만들기
백업 계획을 만들 때 이전 단계에서 만든 CMEK 지원 백업 볼트를 백업의 타겟 백업 볼트로 선택합니다.
3. 리소스에 백업 계획 적용
리소스에 백업 계획을 적용할 때는 백업 계획이 리소스의 암호화 구성과 호환되는 Backup Vault를 타겟팅해야 합니다.
- 하나 이상의 CMEK 암호화 디스크가 연결된 Compute Engine 인스턴스를 백업하는 경우 CMEK 지원 Backup Vault를 타겟팅하는 백업 계획을 사용해야 합니다.
- 연결된 모든 디스크가 Google 관리 암호화를 사용하는 Compute Engine 인스턴스를 백업하는 경우 다음을 충족해야 합니다.
- Google Cloud 콘솔을 사용하여 백업 계획을 할당하는 경우 CMEK가 아닌 백업 볼트를 타겟팅하는 백업 계획을 사용해야 합니다.
- gcloud CLI, API 또는 Terraform을 사용하여 백업 계획을 할당하는 경우 CMEK 지원 백업 볼트를 타겟팅하는 백업 계획을 선택할 수 있습니다. 이렇게 하면 인스턴스의 백업이 백업 보관소의 CMEK 키로 암호화됩니다.
- Google 관리 암호화를 사용하는 영구 디스크를 백업하는 경우 CMEK가 아닌 백업 보관소를 타겟팅하는 백업 계획을 사용해야 합니다.
백업이 성공적으로 실행되도록 CMEK 권한 부여에 설명된 대로 필요한 KMS 권한을 부여했는지 확인합니다.
Cloud Key Management Service 키 순환 및 백업 복원 가능성
백업 및 DR은 Cloud Key Management Service 키 순환을 지원합니다. 키를 순환하면 Cloud Key Management Service에서 새 키 버전을 생성하며 이 버전이 기본 버전이 됩니다. 백업 및 DR은 기본 키 버전을 사용하여 해당 키로 구성된 백업 보관소의 모든 새 백업을 암호화합니다.
기존 백업은 다시 암호화되지 않으며 생성될 때 사용한 키 버전으로 암호화된 상태로 유지됩니다. 백업을 복원하려면 백업 암호화에 사용된 키 버전을 Cloud Key Management Service에서 사용할 수 있어야 합니다. 키 버전을 사용 중지하거나 폐기하면 해당 버전으로 암호화된 백업에 액세스할 수 없게 됩니다. 백업을 복원할 수 있도록 하려면 복원해야 할 수 있는 백업에서 아직 사용 중인 키 버전을 사용 중지하거나 폐기하지 마세요.
어떤 이유로든 백업 및 DR에서 CMEK 키에 액세스할 수 없는 경우 (예: 암호화 또는 복호화에 필요한 키 버전이 사용 중지되거나 폐기된 경우 또는 키에 대한 IAM 권한이 백업 및 DR 서비스 에이전트에서 취소된 경우) 다음 문제가 발생할 수 있습니다.
- 기본 키 버전에 액세스할 수 없으면 CMEK 사용 백업 보관소에 대한 새 백업이 실패합니다.
- 백업 암호화에 사용된 특정 키 버전에 액세스할 수 없는 경우 백업 보관소에서 복원할 수 없습니다.
- 액세스할 수 없는 키를 사용하는 새 백업 보관함을 만들 수 없습니다.
백업에 사용된 키 버전을 사용 중지한 경우 다시 사용 설정하면 해당 버전으로 암호화된 백업에 대한 액세스 권한이 복원됩니다. 키 버전을 폐기하면 해당 키 버전으로 암호화된 모든 백업이 영구적으로 삭제되어 복원할 수 없습니다.
가격 책정
백업 및 DR에서는 CMEK 사용에 대한 추가 요금을 청구하지 않습니다. 하지만 Cloud Key Management Service에서 키를 사용하는 데는 요금이 청구됩니다. 자세한 내용은 Cloud Key Management Service 가격 책정을 참고하세요.
다음 단계
- 백업 보관함 만들기 및 관리 방법 알아보기