使用客戶自行管理的加密金鑰 (CMEK) 加密 TPU VM 開機磁碟
根據預設,Cloud TPU 會加密靜態的客戶內容。Cloud TPU 會為您處理加密作業,您不必採取其他動作。這項做法稱為「Google 預設加密」。
如要控管加密金鑰,您可以在 Cloud KMS 中使用客戶自行管理的加密金鑰 (CMEK),並搭配 CMEK 整合式服務 (包括 Cloud TPU)。使用 Cloud KMS 金鑰可讓您控管保護等級、位置、輪換時間表、使用權限和存取權,以及加密範圍。使用 Cloud KMS 也能查看稽核記錄,以及控管金鑰生命週期。 您可以在 Cloud KMS 中控制及管理這些金鑰,而不是由 Google 擁有及管理用來保護您資料的對稱金鑰加密金鑰 (KEK)。
使用 CMEK 設定資源後,存取 Cloud TPU 資源的體驗與使用 Google 預設加密機制類似。如要進一步瞭解加密選項,請參閱客戶管理的加密金鑰 (CMEK)。
建立 CMEK 後,您必須授予 Compute Engine 服務帳戶金鑰存取權。
授予金鑰使用權限
您必須將 Cloud KMS 金鑰的 Cloud KMS CryptoKey Encrypter/Decrypter (roles/cloudkms.cryptoKeyEncrypterDecrypter
) IAM 角色授予 Google Cloud 專案中的 Compute Engine 服務代理人。授予此角色後,Compute Engine 服務就能存取及使用您的加密金鑰。
如要將 roles/cloudkms.cryptoKeyEncrypterDecrypter
角色授予 Compute Engine 服務代理人,請選取下列其中一個選項:
gcloud
執行下列指令:
gcloud kms keys add-iam-policy-binding KEY_NAME \
--location LOCATION \
--keyring RING_NAME \
--member serviceAccount:service-PROJECT_NUMBER@compute-system.iam.gserviceaccount.com \
--role roles/cloudkms.cryptoKeyEncrypterDecrypter \
--project KEY_PROJECT_ID
更改下列內容:
KEY_NAME
:金鑰的名稱。LOCATION
:您建立金鑰環的位置。RING_NAME
:金鑰環的名稱。PROJECT_NUMBER
:您的 Google Cloud 專案編號。KEY_PROJECT_ID
:您的金鑰專案 ID。
控制台
- 前往 Google Cloud 控制台的「金鑰管理」頁面。
按一下包含金鑰的金鑰環名稱。
按一下要修改的金鑰名稱。
按一下「Permissions」(權限) 分頁標籤。
按一下
「授予存取權」。 「授予金鑰存取權」窗格隨即開啟。在「新增主體」欄位中,輸入 Compute Engine 服務代理人的名稱:
service-PROJECT_NUMBER@compute-system.iam.gserviceaccount.com
將
PROJECT_NUMBER
替換為專案編號。 Google Cloud在「Select a role」(選取角色) 選單中,選取「Cloud KMS CryptoKey Encrypter/Decrypter」(Cloud KMS 加密編譯金鑰加密者/解密者)。
按一下 [儲存]。
使用 CMEK 建立 TPU VM
使用 TPU API 或 Queued Resources API 建立 TPU VM 時,您可以指定 CMEK。
TPU API
如要透過 Cloud TPU API 建立 TPU VM 時指定 CMEK,請使用 tpu-vm create
指令的 --boot-disk
引數,指定要使用的加密金鑰:
gcloud compute tpus tpu-vm create TPU_NAME \
--zone ZONE \
--boot-disk kms-key=projects/PROJECT_ID/locations/REGION/keyRings/RING_NAME/cryptoKeys/KEY_NAME \
--version=TPU_RUNTIME_VERSION \
--accelerator-type=ACCLERATOR_TYPE
更改下列內容:
排入佇列的資源 API
如要使用 Queued Resources API 建立 TPU VM 時指定 CMEK,請使用 queued-resources create
指令的 --bootdisk
引數,指定要使用的加密金鑰:
gcloud compute tpus queued-resources create QUEUED_RESOURCE_ID \
--zone ZONE \
--node-id NODE_ID \
--boot-disk kms-key=projects/PROJECT_ID/locations/REGION/keyRings/RING_NAME/cryptoKeys/KEY_NAME \
--runtime-version=TPU_RUNTIME_VERSION \
--accelerator-type=ACCLERATOR_TYPE
更改下列內容:
QUEUED_RESOURCE_ID
:使用者指派的佇列資源要求 ID。ZONE
:您要建立 Cloud TPU 的區域。NODE_ID
:Cloud TPU 的使用者指派 ID,會在分配排入佇列的資源要求時建立。PROJECT_ID
:您的 Google Cloud 專案 ID。REGION
:您建立金鑰環的地區。RING_NAME
:金鑰環的名稱。KEY_NAME
:金鑰的名稱。TPU_RUNTIME_VERSION
:Cloud TPU 軟體版本。ACCELERATOR_TYPE
:要建立的 Cloud TPU 加速器類型。如要進一步瞭解各 TPU 版本支援的加速器類型,請參閱「TPU 版本」。
如要瞭解如何使用 GKE 建立含有 CMEK 的 TPU VM,請參閱 GKE 文件中的「使用客戶管理的加密金鑰」。
已刪除或撤銷的 CMEK
如果撤銷或刪除 CMEK,使用以遭刪除或撤銷的 CMEK 加密開機磁碟的任何 TPU VM,都不會自動關機。在 VM 關機或重新啟動前,TPU VM 仍可存取加密開機磁碟上的資料。這樣一來,如果恢復遭撤銷或刪除的金鑰存取權,就能復原資料。重新啟用金鑰後,您就能啟動或修復 TPU VM,開機磁碟也會成功解密及載入。