客戶自行管理的加密金鑰 (CMEK)
Gemini Enterprise Agent Platform Workbench 預設會加密靜態的客戶內容。Agent Platform Workbench 會為您處理加密作業,您不必採取其他動作。這項做法稱為「Google 預設加密機制」。
如要控管加密金鑰,您可以在 Cloud KMS 中使用客戶自行管理的加密金鑰 (CMEK),搭配整合 CMEK 的服務,包括 Agent Platform Workbench。使用 Cloud KMS 金鑰可控管防護等級、位置、輪替時間表、使用權限和存取權,以及加密範圍。 使用 Cloud KMS 也可查看稽核記錄,以及控管金鑰生命週期。 您可以在 Cloud KMS 中控管及管理這些金鑰,而非由 Google 擁有及管理用於保護資料的對稱金鑰加密金鑰 (KEK)。
使用 CMEK 設定資源後,存取 Agent Platform Workbench 資源的體驗與使用 Google 預設加密機制類似。如要進一步瞭解加密選項,請參閱「客戶自行管理的加密金鑰 (CMEK)」。
本頁面說明使用 CMEK 搭配 Gemini Enterprise Agent Platform Workbench 的具體優點和限制,並說明如何設定新的 Agent Platform Workbench 執行個體,以使用 CMEK。
如要進一步瞭解如何為 Gemini Enterprise Agent Platform 使用 CMEK,請參閱 Agent Platform CMEK 頁面。
CMEK 的優點
一般來說,如果您需要完全控管用於加密資料的金鑰,CMEK 最能派上用場。使用 CMEK 時,您可以在 Cloud Key Management Service 中管理金鑰。舉例來說,您可以使用 Cloud KMS API 輪替或停用金鑰,或是設定輪替時間表。
執行 Agent Platform Workbench 執行個體時,執行個體會在 Gemini Enterprise Agent Platform Workbench 管理的虛擬機器 (VM) 上執行。為 Agent Platform Workbench 執行個體啟用 CMEK 時,Agent Platform Workbench 會使用您指定的金鑰,而非 Google 管理的金鑰,加密 VM 開機磁碟上的資料。
CMEK 金鑰不會加密中繼資料,例如與 Agent Platform Workbench 執行個體相關聯的執行個體名稱和區域。與 Agent Platform Workbench 執行個體相關聯的中繼資料,一律會使用 Google 的預設加密機制加密。
CMEK 的限制
為減少延遲,並避免資源依附於分散在多個故障網域的服務,Google 建議您使用相同位置的金鑰,保護區域 Agent Platform Workbench 執行個體。
- 您可以使用相同位置或全域位置的加密金鑰,加密區域 Agent Platform Workbench 執行個體。舉例來說,您可以使用
us-west1或global中的金鑰,加密可用區us-west1-a中磁碟的資料。 - 您可以使用任何位置的金鑰,加密全域執行個體。
- 為 Agent Platform Workbench 設定 CMEK 時,系統不會自動為您使用的其他 Cloud de Confiance 產品設定 CMEK。如要使用 CMEK 加密其他 Cloud de Confiance 產品中的資料,必須完成額外設定。
為 Agent Platform Workbench 執行個體設定 CMEK
以下各節說明如何在 Cloud Key Management Service 中建立金鑰環和金鑰、授予服務帳戶金鑰的加密者和解密者權限,以及建立使用 CMEK 的 Agent Platform Workbench 執行個體。
事前準備
建議使用支援職責分離的設定。如要為 Agent Platform Workbench 設定 CMEK,可以使用兩個不同的 Cloud de Confiance 專案:
- Cloud KMS 專案:用於管理加密金鑰的專案
- Agent Platform Workbench 專案:用於存取 Agent Platform Workbench 執行個體,以及與您使用案例所需的任何其他 Cloud de Confiance 產品互動的專案
或者,您也可以使用單一 Cloud de Confiance 專案。如要這麼做,請針對下列所有工作使用同一個專案。
設定 Cloud KMS 專案
-
In the Cloud de Confiance console, on the project selector page, select or create a Cloud de Confiance project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Cloud de Confiance project.
Enable the Cloud KMS API, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.
設定 Agent Platform Workbench 專案
-
In the Cloud de Confiance console, on the project selector page, select or create a Cloud de Confiance project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Cloud de Confiance project.
Enable the Notebooks API, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.
設定 Google Cloud CLI
本頁面上的部分步驟需要使用 gcloud CLI,其他步驟則為選用。安裝 Google Cloud CLI,然後 使用聯合身分登入 gcloud CLI。登入後,執行下列指令來初始化 Google Cloud CLI:
gcloud init建立金鑰環和金鑰
建立金鑰環和金鑰時,請注意下列規定:
選擇金鑰環位置時,請使用
global或 Agent Platform Workbench 執行個體所在位置。請務必在 Cloud KMS 專案中建立金鑰環和金鑰。
如要建立金鑰環和金鑰,請參閱「建立對稱式加密金鑰」。
授予 Agent Platform Workbench 權限
如要為 Agent Platform Workbench 執行個體使用 CMEK,您必須授予 Agent Platform Workbench 執行個體權限,才能使用您的金鑰加密及解密資料。您會將這項權限授予專案的服務代理程式和 Compute Engine 服務帳戶。
如要找出 Agent Platform Workbench 專案的特定帳戶,請使用 Cloud de Confiance 控制台。
前往 Cloud de Confiance 控制台的「IAM」頁面
選取「包含 Google 提供的角色授予項目」。
找出符合下列電子郵件地址格式的成員。請記下電子郵件地址,並在後續步驟中使用。
專案服務代理程式的電子郵件地址如下所示:
service-NOTEBOOKS_PROJECT_NUMBER@gcp-sa-notebooks.s3ns-system.iam.gserviceaccount.com
Compute Engine 服務帳戶的電子郵件地址如下所示:
service-NOTEBOOKS_PROJECT_NUMBER@compute-system.s3ns-system.iam.gserviceaccount.com
將
NOTEBOOKS_PROJECT_NUMBER替換為 Agent Platform Workbench 專案的專案編號。如要授予這些帳戶使用金鑰加密及解密資料的權限,請使用 Cloud de Confiance 控制台或 gcloud CLI。
控制台
前往 Cloud de Confiance 控制台的「金鑰管理」頁面。
選取 Cloud KMS 專案。
按一下您在「建立金鑰環和金鑰」中建立的金鑰環名稱。「金鑰環詳細資料」頁面隨即開啟。
選取您在「建立金鑰環和金鑰」中建立的金鑰核取方塊。如果標示金鑰名稱的資訊面板尚未開啟,請按一下「顯示資訊面板」。
在資訊面板中,按一下「新增成員」圖示 。「將成員新增至『KEY_NAME』」對話方塊隨即開啟。在這個對話方塊中,執行下列操作:
在「新增成員」欄位中,輸入專案服務代理的電子郵件地址:
service-NOTEBOOKS_PROJECT_NUMBER@gcp-sa-notebooks.s3ns-system.iam.gserviceaccount.com在「Select a role」(選取角色) 清單中,按一下「Cloud KMS」,然後選取「Cloud KMS CryptoKey Encrypter/Decrypter」(Cloud KMS CryptoKey 加密者/解密者) 角色。
按一下 [儲存]。
針對 Compute Engine 服務代理重複執行這些步驟:
service-NOTEBOOKS_PROJECT_NUMBER@compute-system.s3ns-system.iam.gserviceaccount.com
gcloud
如要授予專案服務代理使用金鑰加密及解密資料的權限,請執行下列指令:
gcloud kms keys add-iam-policy-binding KEY_NAME \ --keyring=KEY_RING_NAME \ --location=REGION \ --project=KMS_PROJECT_ID \ --member=serviceAccount:service-NOTEBOOKS_PROJECT_NUMBER@gcp-sa-notebooks.s3ns-system.iam.gserviceaccount.com \ --role=roles/cloudkms.cryptoKeyEncrypterDecrypter
更改下列內容:
如要授予 Compute Engine 服務帳戶權限,使用您的金鑰加密及解密資料,請執行下列指令:
gcloud kms keys add-iam-policy-binding KEY_NAME \ --keyring=KEY_RING_NAME \ --location=REGION \ --project=KMS_PROJECT_ID \ --member=serviceAccount:service-NOTEBOOKS_PROJECT_NUMBER@compute-system.s3ns-system.iam.gserviceaccount.com \ --role=roles/cloudkms.cryptoKeyEncrypterDecrypter
建立已啟用 CMEK 的 Agent Platform Workbench 執行個體
授予 Agent Platform Workbench 執行個體使用金鑰加密及解密資料的權限後,您就可以建立 Agent Platform Workbench 執行個體,並使用該金鑰加密資料。
以下範例說明如何使用 Cloud de Confiance 控制台,透過金鑰加密及解密資料。
如要使用客戶管理的加密金鑰建立 Agent Platform Workbench 執行個體,請使用 Cloud de Confiance 控制台或 gcloud CLI:
控制台
前往 Cloud de Confiance 控制台的「Instances」(執行個體) 頁面。
按一下「 建立」。
在「New instance」對話方塊中,按一下「Advanced options」。
在「建立執行個體」對話方塊的「詳細資料」部分,提供新執行個體的下列資訊:
- 名稱:新執行個體的名稱
- 區域:金鑰和金鑰環所在的區域
- 區域:所選地區內的區域
在「Disks」(磁碟) 部分的「Encryption」(加密) 中,選取「Customer-managed encryption key (CMEK)」(客戶管理的加密金鑰 (CMEK))。
按一下「選取客戶管理的金鑰」。
- 如果清單中列出您要使用的客戶自行管理的金鑰,請選取該金鑰。
如果清單中沒有您要使用的客戶自行管理的金鑰,請輸入該金鑰的資源 ID。客戶自行管理金鑰的資源 ID 如下所示:
projects/NOTEBOOKS_PROJECT_NUMBER/locations/REGION/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME更改下列內容:
完成執行個體建立對話方塊的其餘部分,然後按一下「建立」。
gcloud
如要使用 gcloud CLI 建立 Agent Platform Workbench 執行個體,並搭配客戶自行管理的加密金鑰,請執行下列指令。
這個範例假設您要建立 Agent Platform Workbench 執行個體,並使用 n1-standard-1 機型和 100 GB 的標準永久開機磁碟。
gcloud notebooks instances create notebook-vm-cmek \ --location=REGION \ --vm-image-family=IMAGE_FAMILY \ --vm-image-project=cloud-notebooks-managed \ --machine-type="n1-standard-1" \ --boot-disk-type="PD_STANDARD" \ --boot-disk-size=100 \ --kms-key=KEY_NAME \ --kms-project=KMS_PROJECT_ID \ --kms-location=REGION \ --kms-keyring=KEY_RING_NAME \ --disk-encryption=CMEK \ --metadata='proxy-mode=project_editors'
更改下列內容: