客戶自行管理的加密金鑰 (CMEK)

客戶管理的加密金鑰 (CMEK) 可讓您使用透過 Cloud Key Management Service (Cloud KMS) 控制的加密金鑰,保護 Backup and DR Service 資料。使用 CMEK 時,您可以在 Cloud Key Management Service 中管理金鑰,並透過管理金鑰的身分與存取權管理權限,控管金鑰存取權。如果暫時停用或永久刪除 CMEK 金鑰,您就無法存取受該金鑰保護的資料。

備份和災難復原服務會使用 CMEK 保護儲存在備份保存庫中的備份資料。

您只能在建立備份保存庫時設定 CMEK。 您無法為現有的備份保存庫啟用或停用 CMEK,

如要進一步瞭解 CMEK,請參閱「客戶管理的加密金鑰 (CMEK)」。

使用 CMEK 的必備權限

開始使用 CMEK 前,請先完成下列事項:

  1. 在要儲存 CMEK 金鑰的專案中,啟用 Cloud Key Management Service API。

    啟用 API

  2. 建立 Cloud Key Management Service 金鑰環和金鑰。建立金鑰時,請務必選取與備份保存庫位置相符的位置。區域中的備份保存庫必須使用來自相同區域的金鑰。多區域備份儲存空間必須使用來自相同多區域的金鑰。

  3. 如果尚未建立,請建立備份和災難復原服務的服務代理身分。 在專案中建立第一個備份保存庫後,系統就會自動建立服務代理程式。如要在建立備份保存庫前授予服務代理權限,可以使用下列指令觸發建立作業:

    gcloud beta services identity create --service=backupdr.googleapis.com --project=PROJECT_ID
    
    PROJECT_ID 替換為專案 ID。

為備份保存庫啟用 CMEK 時,備份和災難復原服務需要使用 CMEK 金鑰加密及解密資料的權限。這項權限必須授予備份和災難復原服務服務代理

請務必區分備份和災難復原服務使用的兩種不同服務帳戶:

  • 備份和災難復原服務代理:這是專案層級的服務帳戶,用於管理備份和災難復原服務資源,以及在 backup vault 啟用 CMEK 時存取 Cloud Key Management Service 金鑰。這是需要 CMEK 金鑰 roles/cloudkms.cryptoKeyEncrypterDecrypter 角色的服務代理。
  • 備份保管箱服務帳戶:這是每個保管箱專屬的服務帳戶,您可授權該帳戶存取及備份來源工作負載 (例如 Compute Engine 執行個體)。這個服務帳戶不會用於備份保存庫中資料的 CMEK 加密。

如要搭配備份與 DR 服務使用 CMEK,您必須將 Cloud KMS CryptoKey Encrypter/Decrypter 角色 (roles/cloudkms.cryptoKeyEncrypterDecrypter) 授予備份與 DR 服務代理人。這個服務代理程式是 Backup and DR 服務用來代表您存取資源的服務帳戶,包括在加密和解密作業期間存取您的 Cloud Key Management 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 金鑰加密,例如具有 CMEK 加密磁碟的 Compute Engine 執行個體,則需要額外權限。來源資源服務的服務代理需要有權使用保護來源資源的金鑰。舉例來說,如要備份以 CMEK 加密的 Compute Engine 執行個體,來源執行個體專案的 Compute Engine 服務代理程式必須在用於加密執行個體磁碟的 Cloud Key Management Service 金鑰上擁有 roles/cloudkms.cryptoKeyEncrypterDecrypter 角色。在大多數情況下,來源工作負載運作時,這項權限已就位。

Cloud Key Management Service 金鑰輪替和備份還原功能

備份和災難復原服務備份作業會使用 Cloud Key Management Service 金鑰, 因此備份和災難復原服務可能無法存取受該金鑰保護的資源。

如果備份和災難復原服務無法存取 CMEK 金鑰:

  • 無法將新備份項目儲存至已啟用 CMEK 的 backup vault。
  • 從已啟用 CMEK 的備份儲存空間還原失敗。
  • 您無法使用無法使用的金鑰建立新的備份保存庫。

如果停用了用於備份的金鑰,重新啟用後即可還原備份資料的存取權。如果銷毀金鑰版本,使用該版本加密的備份資料將永久遺失。

定價

使用 CMEK 時,備份和災難復原服務不會收取任何額外費用。不過,您仍須支付在 Cloud Key Management Service 中使用金鑰的費用。詳情請參閱 Cloud Key Management Service 定價