顧客管理の暗号鍵(CMEK)を使用すると、Cloud Key Management Service(Cloud Key Management Service)で制御する暗号鍵を使用して Backup and DR Service データを保護できます。CMEK を使用すると、Cloud Key Management Service で鍵を管理し、鍵に対する Identity and Access Management 権限を管理することで、鍵にアクセスできるユーザーを制御できます。CMEK 鍵を一時的に無効にするか、完全に破棄すると、その鍵で保護されたデータにアクセスできなくなります。
Backup and DR Service は、CMEK を使用して Backup Vault に保存されているバックアップ データを保護します。
バックアップ ボールトで CMEK を構成できるのは、バックアップ ボールトの作成時のみです。既存のバックアップ ボルトで CMEK を有効または無効にすることはできません。
CMEK の一般的な用途の詳細については、顧客管理の暗号鍵(CMEK)をご覧ください。
CMEK の使用に必要な権限
CMEK の使用を開始する前に、次の操作を行う必要があります。
CMEK 鍵を格納するプロジェクトで Cloud Key Management Service API を有効にします。
Cloud Key Management Service のキーリングと鍵を作成します。鍵を作成するときは、Backup Vault のロケーションと一致するロケーションを選択してください。リージョンのバックアップ Vault は、同じリージョンの鍵を使用する必要があります。マルチリージョン バックアップ Vault は、同じマルチリージョンの鍵を使用する必要があります。
まだ作成していない場合は、Backup and DR Service サービス エージェント ID を作成します。サービス エージェントは、プロジェクトで最初のバックアップ ボルトが作成された後に自動的に作成されます。バックアップ Vault を作成する前にサービス エージェントに権限を付与する必要がある場合は、次のコマンドを使用して作成をトリガーできます。
gcloud beta services identity create --service=backupdr.googleapis.com --project=PROJECT_ID
PROJECT_IDは、プロジェクトの ID に置き換えます。
バックアップ ボルトで CMEK を有効にすると、Backup and DR Service は CMEK 鍵を使用してデータを暗号化および復号する権限が必要になります。この権限は、Backup and DR サービスのサービス エージェントに付与する必要があります。
Backup and DR Service で使用される 2 つの異なるサービス アカウントを区別することが重要です。
- Backup and DR サービスのサービス エージェント: これは、Backup and DR サービスのリソースの管理と、バックアップ Vault で CMEK が有効になっている場合の Cloud Key Management Service 鍵へのアクセスに使用されるプロジェクト レベルのサービス アカウントです。これは、CMEK 鍵に対する
roles/cloudkms.cryptoKeyEncrypterDecrypterロールを必要とするサービス エージェントです。 - バックアップ ボルトのサービス アカウント: これは、ボルトごとに一意のサービス アカウントです。このアカウントに、ソース ワークロード(Compute Engine インスタンスなど)にアクセスしてバックアップする権限を付与します。このサービス アカウントは、バックアップ ボルト内のデータの CMEK 暗号化には使用されません。
Backup and DR Service で CMEK を使用するには、Backup and DR Service サービス エージェントに Cloud KMS 暗号鍵の暗号化/復号ロール(roles/cloudkms.cryptoKeyEncrypterDecrypter)を付与する必要があります。このサービス エージェントは、Backup and DR Service がユーザーに代わってリソースにアクセスするために使用するサービス アカウントです。これには、暗号化と復号オペレーション中に Cloud Key Management Service 鍵にアクセスすることも含まれます。
Backup and DR Service サービス エージェントの名前は次の形式です。
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 の鍵のローテーションとバックアップの復元可能性
Backup and DR サービスのバックアップは Cloud Key Management Service 鍵の可用性に依存します。Backup and DR サービスは、その鍵で保護されたリソースにアクセスできない可能性があります。
Backup and DR サービスが CMEK 鍵にアクセスできない場合:
- CMEK 対応のバックアップ Vault への新しいバックアップは失敗します。
- CMEK 対応の Backup Vault からの復元が失敗する。
- 使用できない鍵を使用する新しいバックアップ ボルトを作成することはできません。
バックアップに使用された鍵を無効にした場合は、再度有効にするとバックアップ データへのアクセスが復元されます。鍵バージョンを破棄した場合、その鍵バージョンで暗号化されたバックアップは完全に失われます。
料金
Backup and DR Service では、CMEK の使用に追加料金は発生しません。ただし、Cloud Key Management Service で鍵を使用すると料金が発生します。詳細については、Cloud Key Management Service の料金をご覧ください。