고객 관리 암호화 키 (CMEK)를 사용하면 Cloud Key Management Service (Cloud KMS)를 통해 제어하는 암호화 키를 사용하여 Backup and DR Service 데이터를 보호할 수 있습니다. CMEK를 사용하면 Cloud Key Management Service에서 키를 관리하고 키에 대한 ID 및 액세스 관리 권한을 관리하여 키에 액세스할 수 있는 사용자를 제어할 수 있습니다. CMEK 키를 일시적으로 중지하거나 영구 삭제하면 해당 키로 보호되는 데이터에 액세스할 수 없게 됩니다.
백업 및 DR 서비스는 CMEK를 사용하여 백업 볼트에 저장된 백업 데이터를 보호합니다.
백업 보관함은 만들 때만 CMEK를 구성할 수 있습니다. 기존 백업 보관소에서는 CMEK를 사용 설정하거나 중지할 수 없습니다.
일반적인 CMEK에 대한 자세한 내용은 고객 관리 암호화 키 (CMEK)를 참고하세요.
CMEK 사용에 필요한 권한
CMEK를 사용하기 전에 다음을 수행해야 합니다.
CMEK 키를 저장할 프로젝트에서 Cloud Key Management Service API를 사용 설정합니다.
Cloud Key Management Service 키링 및 키를 만듭니다. 키를 만들 때 백업 볼트의 위치와 일치하는 위치를 선택해야 합니다. 리전의 백업 볼트는 동일한 리전의 키를 사용해야 합니다. 멀티 리전 백업 볼트는 동일한 멀티 리전의 키를 사용해야 합니다.
아직 만들지 않은 경우 백업 및 DR 서비스 서비스 에이전트 ID를 만듭니다. 서비스 에이전트는 프로젝트에서 첫 번째 백업 보관함이 생성된 후 자동으로 생성됩니다. 백업 볼트를 만들기 전에 서비스 에이전트에 권한을 부여해야 하는 경우 다음 명령어로 서비스 에이전트 생성을 트리거할 수 있습니다.
gcloud beta services identity create --service=backupdr.googleapis.com --project=PROJECT_ID
PROJECT_ID를 프로젝트 ID로 바꿉니다.
백업 보관소에 CMEK를 사용 설정하면 Backup and DR Service에서 CMEK 키를 사용하여 데이터를 암호화하고 복호화할 수 있는 권한이 필요합니다. 이 권한은 백업 및 DR 서비스 서비스 에이전트에 부여해야 합니다.
백업 및 DR 서비스에서 사용하는 두 가지 서비스 계정을 구분하는 것이 중요합니다.
- 백업 및 DR 서비스 서비스 에이전트: 백업 및 DR 서비스 리소스를 관리하고 Backup Vault에서 CMEK가 사용 설정된 경우 Cloud Key Management Service 키에 액세스하는 데 사용되는 프로젝트 수준 서비스 계정입니다. CMEK 키에 대한
roles/cloudkms.cryptoKeyEncrypterDecrypter역할이 필요한 서비스 에이전트입니다. - 백업 보관함 서비스 계정: 소스 워크로드(예: Compute Engine 인스턴스)에 액세스하고 이를 백업할 권한을 부여하는 보관함별 고유 서비스 계정입니다. 이 서비스 계정은 백업 보관소 내 데이터의 CMEK 암호화에 사용되지 않습니다.
Backup and DR Service에서 CMEK를 사용하려면 Backup and DR Service 서비스 에이전트에 Cloud KMS CryptoKey 암호화/복호화 역할(roles/cloudkms.cryptoKeyEncrypterDecrypter)을 부여해야 합니다. 이 서비스 에이전트는 백업 및 DR 서비스가 암호화 및 복호화 작업 중에 Cloud Key Management Service 키에 액세스하는 등 사용자를 대신하여 리소스에 액세스하는 데 사용하는 서비스 계정입니다.
백업 및 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
CMEK 보호 리소스 백업 권한
CMEK로 암호화된 디스크가 있는 Compute Engine 인스턴스와 같이 다른 CMEK 키로 암호화된 리소스를 백업하는 경우 추가 권한이 필요합니다. 소스 리소스 서비스의 서비스 에이전트에는 소스 리소스를 보호하는 키를 사용할 권한이 필요합니다. 예를 들어 CMEK로 암호화된 Compute Engine 인스턴스를 백업하려면 소스 인스턴스 프로젝트의 Compute Engine 서비스 에이전트에 인스턴스의 디스크를 암호화하는 데 사용되는 Cloud Key Management Service 키에 대한 roles/cloudkms.cryptoKeyEncrypterDecrypter 역할이 있어야 합니다. 대부분의 경우 소스 워크로드가 작동하려면 이 권한이 이미 있어야 합니다.
Cloud Key Management Service 키 순환 및 백업 복원 가능성
백업 및 DR 서비스 백업은 Cloud Key Management Service 키의 가용성에 의존합니다. 백업 및 DR 서비스가 해당 키로 보호된 리소스에 액세스하지 못할 수 있습니다.
백업 및 DR 서비스가 CMEK 키에 액세스할 수 없는 경우:
- CMEK가 사용 설정된 백업 보관소에 대한 새 백업이 실패합니다.
- CMEK 지원 백업 볼트에서 복원하지 못함
- 사용할 수 없는 키를 사용하는 새 백업 볼트는 만들 수 없습니다.
백업에 사용된 키를 사용 중지한 경우 다시 사용 설정하면 백업 데이터에 대한 액세스 권한이 복원됩니다. 키 버전을 폐기한 경우 해당 키 버전으로 암호화된 모든 백업이 영구적으로 삭제됩니다.
가격 책정
백업 및 DR 서비스는 CMEK 사용에 대한 추가 요금을 청구하지 않습니다. 하지만 Cloud Key Management Service에서 키를 사용하는 데는 요금이 청구됩니다. 자세한 내용은 Cloud Key Management Service 가격 책정을 참고하세요.