根據預設,Gemini Enterprise Agent Platform 會加密靜態的客戶內容。Agent Platform 會為您處理加密作業,您不必進行任何其他操作。這項選項稱為「Google 預設加密」。
如要控管加密金鑰,您可以在 Cloud KMS 中使用客戶自行管理的加密金鑰 (CMEK),搭配整合 CMEK 的服務 (包括 Agent Platform)。使用 Cloud KMS 金鑰可讓您控管防護等級、位置、輪替時間表、使用權限和存取權,以及加密範圍。 使用 Cloud KMS 還能追蹤金鑰用量、查看稽核記錄,以及控管金鑰生命週期。 您可以在 Cloud KMS 中控制及管理用來保護資料的對稱金鑰加密金鑰 (KEK),而不是由 Google 擁有及管理這些金鑰。
使用 CMEK 設定資源後,存取 Agent Platform 資源的體驗與使用 Google 預設加密機制類似。如要進一步瞭解加密選項,請參閱「客戶自行管理的加密金鑰 (CMEK)」。
本指南說明對 Gemini Enterprise Agent Platform 資源使用 CMEK 的一些好處,並逐步說明如何設定訓練工作以使用 CMEK。
如要進一步瞭解如何為 Colab Enterprise 使用 CMEK,請參閱 Colab Enterprise CMEK 頁面。如要進一步瞭解如何為 Vertex AI Workbench 執行個體使用 CMEK,請參閱 Vertex AI Workbench 執行個體 CMEK 頁面。
Gemini Enterprise Agent Platform 資源的 CMEK
以下各節說明 Gemini Enterprise Agent Platform 資源的 CMEK 基本資訊,您必須先瞭解這些資訊,才能為工作設定 CMEK。
CMEK 的優點
一般來說,如果您需要完全控管用於加密資料的金鑰,CMEK 最為實用。使用 CMEK 時,您可以在 Cloud KMS 中管理金鑰。舉例來說,您可以輪替或停用金鑰,也可以使用 Cloud KMS API 設定輪替時間表。如要進一步瞭解 CMEK,包括何時及為何啟用 CMEK,請參閱 Cloud KMS 說明文件。
執行 AutoML 或自訂 訓練工作時,程式碼會在 Gemini Enterprise Agent Platform 管理的一或多個虛擬機器 (VM) 執行個體上執行。為 Gemini Enterprise Agent Platform 資源啟用 CMEK 時,系統會使用您指定的金鑰,而非 Google 管理的金鑰,加密這些 VM 開機磁碟上的資料。CMEK 金鑰會加密下列類型的資料:
- VM 上的程式碼副本。
- 程式碼載入的任何資料。
- 程式碼儲存到本機磁碟的任何暫時性資料。
- AutoML 訓練的模型。
- 上傳至媒體資料集的媒體檔案 (資料)。
一般來說,CMEK 金鑰不會加密與作業相關聯的中繼資料,例如作業名稱和區域,或是資料集的顯示名稱。與作業相關聯的中繼資料一律會使用 Google 的預設加密機制加密。
如果是資料集,使用者將資料匯入資料集時,資料項目和註解會經過 CMEK 加密,但資料集顯示名稱不會加密。
對於模型,儲存在儲存系統 (例如磁碟) 中的模型會經過 CMEK 加密。所有模型評估結果都會經過 CMEK 加密。
對於端點,端點下模型部署作業使用的所有模型檔案都會經過 CMEK 加密,但不包括任何記憶體內資料。
如果是批次預測,執行批次預測工作時使用的所有暫時檔案 (例如模型檔案、記錄、VM 磁碟) 都會經過 CMEK 加密。批次預測結果會儲存在使用者提供的目的地。因此,Agent Platform 會遵守目的地加密設定的預設值。否則,結果也會以 CMEK 加密。
如果是資料標註,任何輸入檔案 (圖片、文字、表格)、暫時討論內容 (例如問題、意見回饋) 和輸出內容 (標註結果) 都會經過 CMEK 加密。註解規格顯示名稱不會經過 CMEK 加密。
對於代理程式,CMEK 會加密用於代理程式開發的所有來源檔案。此外,代理程式的容器映像檔和已部署的執行個體也會經過 CMEK 加密。
外部金鑰
您可以使用 Cloud External Key Manager (Cloud EKM) 建立您管理的外部金鑰,加密 Google Cloud中的資料。
使用 Cloud EKM 金鑰時,Google 無法控管外部管理金鑰的供應情形。如果您要求存取以外部管理金鑰加密的資源,但金鑰無法使用,Gemini Enterprise Agent Platform 就會拒絕要求。金鑰恢復可用後,您最多可能需要等待 10 分鐘,才能存取資源。
如要進一步瞭解使用外部金鑰時的注意事項,請參閱 Cloud External Key Manager。
將 CMEK 與其他 Google Cloud 產品搭配使用
為 Gemini Enterprise Agent Platform 資源設定 CMEK 時,不會自動為您與 Gemini Enterprise Agent Platform 一併使用的其他 Google Cloud 產品設定 CMEK。如要使用 CMEK 加密其他Google Cloud 產品中的資料,必須進行額外設定。例如:
Cloud Storage:執行自訂訓練時,Agent Platform 通常會從 Cloud Storage 載入資料。使用 Python 訓練應用程式和預先建構的容器進行訓練時,Gemini Enterprise Agent Platform 也會從 Cloud Storage bucket 載入程式碼。此外,部分訓練工作會將訓練好的模型構件 (例如 TensorFlow SaveModel 目錄) 匯出至 Cloud Storage bucket,做為輸出內容的一部分。
如要確保 Cloud Storage 中的資料是以 CMEK 加密,請參閱這篇 Cloud Storage 指南,瞭解如何使用客戶管理的加密金鑰。您可以將加密金鑰設為與 Gemini Enterprise Agent Platform 搭配使用的 Cloud Storage 值區預設金鑰,也可以用來加密特定物件。
Artifact Registry:使用自訂容器進行訓練時,您可以設定 Agent Platform 從 Artifact Registry 載入容器映像檔。
如要確保容器映像檔已透過 CMEK 加密,請參閱 Artifact Registry 的 CMEK 指南。
Cloud Logging:執行訓練工作時,Gemini Enterprise Agent Platform 訓練會將記錄儲存至 Logging。如要使用 CMEK 加密這些記錄,請參閱「為 Cloud Logging 設定 CMEK」。
目前支援 CMEK 的資源
目前受 CMEK 保護的 Gemini Enterprise Agent Platform 資源如下。預先發布版功能的 CMEK 支援也處於預先發布版狀態。
| 資源 | 已加密的資料 | 說明文件連結 |
|---|---|---|
| 資料集 |
|
|
| 型號 |
|
|
| 端點 |
|
|
| CustomJob |
|
|
| HyperparameterTuningJob |
|
|
| TrainingPipeline |
|
|
| BatchPredictionJob (不含 AutoML 圖片 batchPrediction) |
|
|
| ModelDeploymentMonitoringJob |
|
|
| PipelineJob |
|
|
| MetadataStore |
|
|
| TensorBoard |
|
|
| Featurestore |
|
|
| 索引 |
|
|
| IndexEndpoint |
|
|
| Colab Enterprise 執行階段 |
|
|
| Colab Enterprise 筆記本 |
|
|
| Agent Runtime |
|
為生成式 AI 微調管道提供 CMEK 支援
下列模型的微調管道提供 CMEK 支援:
BERTT5image-generation (GPU)
限制
下列項目不支援 CMEK:
- AutoML 圖片模型批次預測 (
BatchPredictionJob) - TPU 調整
為資源設定 CMEK
以下各節說明如何在 Cloud Key Management Service 中建立金鑰環和金鑰、授予金鑰的 Agent Platform 加密者和解密者權限,以及建立使用 CMEK 的資源。
事前準備
本指南假設您使用兩個不同的 Google Cloud 專案,為 Agent Platform 資料設定 CMEK:
- 用於管理加密金鑰的專案 (稱為「Cloud KMS 專案」)。
- 用於存取 Cloud Storage 中的 Agent Platform 資料或輸出內容,以及與您使用案例所需的任何其他 Google Cloud產品互動的專案 (稱為「AI Platform 專案」)。
建議的設定可支援職責分離。
或者,您也可以為整個指南使用單一 Google Cloud 專案。如要這麼做,請針對所有參照 Cloud KMS 專案的下列工作,以及參照 AI Platform 專案的工作,使用相同的專案。
設定 Cloud KMS 專案
- 登入 Google Cloud 帳戶。如果您是 Google Cloud新手,歡迎 建立帳戶,親自評估產品在實際工作環境中的成效。新客戶還能獲得價值 $300 美元的免費抵免額,可用於執行、測試及部署工作負載。
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud 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 Google Cloud project.
Enable the Cloud KMS API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud 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 Google Cloud project.
Enable the Cloud KMS API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
設定 AI Platform 專案
- 登入 Google Cloud 帳戶。如果您是 Google Cloud新手,歡迎 建立帳戶,親自評估產品在實際工作環境中的成效。新客戶還能獲得價值 $300 美元的免費抵免額,可用於執行、測試及部署工作負載。
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud 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 Google Cloud project.
Enable the Agent Platform API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud 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 Google Cloud project.
Enable the Agent Platform API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
設定 Google Cloud CLI
本指南中的部分步驟需要使用 gcloud CLI,其他步驟則可選擇使用。安裝 Google Cloud CLI。 完成後,執行下列指令來初始化 Google Cloud CLI:
gcloud init若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI。
建立金鑰環和金鑰
請按照Cloud KMS 指南建立對稱金鑰,建立金鑰環和金鑰。建立金鑰環時,請指定支援 Agent Platform 作業的區域做為金鑰環的位置。如果資源和金鑰使用相同區域,Agent Platform 訓練只支援 CMEK。請勿為金鑰環指定雙區域、多區域或全域位置。
請務必在 Cloud KMS 專案中建立金鑰環和金鑰。
授予 Agent Platform 權限
如要為資源使用 CMEK,您必須授予 Agent Platform 權限,允許其使用您的金鑰加密及解密資料。Agent Platform 會使用 Google 管理的服務代理,透過您的資源執行作業。這個服務帳戶的電子郵件地址格式如下:
service-PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com
如要找出 AI Platform 專案適用的服務帳戶,請前往 Google Cloud 控制台的「IAM」頁面,然後找出符合下列電子郵件地址格式的成員,並將 AI_PLATFORM_PROJECT_NUMBER 變數替換為 AI Platform 專案的專案編號。服務帳戶的名稱也會是 Agent Platform Service Agent。
記下這個服務帳戶的電子郵件地址,並在後續步驟中使用,授予該帳戶使用金鑰加密及解密資料的權限。您可以透過 Google Cloud 控制台或 Google Cloud CLI 授予權限:
Google Cloud 控制台
在 Google Cloud 控制台中,按一下「安全性」,然後選取「金鑰管理」。系統會將您帶往「加密編譯金鑰」頁面,並選取您的 Cloud KMS 專案。
按一下您在本指南前一節中建立的金鑰環名稱,前往「金鑰環詳細資料」頁面。
選取您在本指南前一節中建立的金鑰核取方塊。如果標示金鑰名稱的資訊面板尚未開啟,請按一下「顯示資訊面板」。
在資訊面板中,按一下「新增成員」,開啟「將成員新增至『KEY_NAME』」對話方塊。在這個對話方塊中,請執行下列操作:
- 在「New members」(新增成員) 方塊中,輸入您在上一個部分中記下的服務帳戶電子郵件地址:
service-AI_PLATFORM_PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com 在「Select a role」(選取角色) 下拉式清單中,依序點選「Cloud KMS」和「Cloud KMS CryptoKey Encrypter/Decrypter」(Cloud KMS CryptoKey 加密者/解密者) 角色。
按一下 [儲存]。
- 在「New members」(新增成員) 方塊中,輸入您在上一個部分中記下的服務帳戶電子郵件地址:
gcloud
執行下列指令:
gcloud kms keys add-iam-policy-binding KEY_NAME \
--keyring=KEY_RING_NAME \
--location=REGION \
--project=KMS_PROJECT_ID \
--member=serviceAccount:service-AI_PLATFORM_PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com \
--role=roles/cloudkms.cryptoKeyEncrypterDecrypter
在這項指令中,請替換下列預留位置:
使用 KMS 金鑰建立資源
建立新的支援 CMEK 的資源時,您可以將金鑰指定為建立參數之一。
控制台
在Google Cloud 控制台的「Agent Platform」(代理程式平台) 部分建立新的 CMEK 支援資源時,您可以在一般或進階選項部分選取金鑰:
REST 和指令列
建立支援的資源時,請在要求中加入 encryptionSpec 物件,並將 encryptionSpec.kmsKeyName 欄位設為指向金鑰資源。
舉例來說,建立 dataset 資源時,您會在要求主體中指定金鑰:
{
"displayName": DATASET_NAME,
"metadataSchemaUri": METADATA_URI,
"encryptionSpec": {
"kmsKeyName": "projects/PROJECT_ID/locations/LOCATION_ID/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME"
}
}
Java
建立支援的資源時,請將 EncryptionSpec 設為指向金鑰資源。詳情請參閱 Agent Platform Java 用戶端程式庫說明文件。
Node.js
建立支援的資源時,請將 encryptionSpec 參數設為指向金鑰資源。詳情請參閱 Node.js 適用的 Agent Platform 用戶端程式庫說明文件。
Python
建立支援的資源時,請設定 encryption_spec 參數,指向您的金鑰資源。詳情請參閱 Cloud AI Platform 適用的 Python 用戶端說明文件。