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

根據預設,Colab Enterprise 會加密靜態儲存的客戶內容。Colab Enterprise 會為您處理加密作業,您不必採取任何其他動作。這項做法稱為「Google 預設加密」

如要控管加密金鑰,您可以在 Cloud KMS 中使用客戶自行管理的加密金鑰 (CMEK),並搭配整合 CMEK 的服務 (包括 Colab Enterprise)。使用 Cloud KMS 金鑰可讓您控管保護等級、位置、輪換時間表、使用權限和存取權,以及加密範圍。使用 Cloud KMS 也能查看稽核記錄,以及控管金鑰生命週期。您可以在 Cloud KMS 中控制及管理這些金鑰,而不是由 Google 擁有及管理用來保護您資料的對稱金鑰加密金鑰 (KEK)

使用 CMEK 設定資源後,存取 Colab Enterprise 資源的體驗與使用 Google 預設加密機制類似。如要進一步瞭解加密選項,請參閱客戶管理的加密金鑰 (CMEK)

本指南說明如何為 Colab Enterprise 使用 CMEK。

如要進一步瞭解如何為 Vertex AI 使用 CMEK,請參閱 Vertex AI CMEK 頁面

Colab Enterprise 的 CMEK

您可以使用 CMEK 加密 Colab Enterprise 執行階段和筆記本檔案 (筆記本)。

執行階段

在 Colab Enterprise 筆記本中執行程式碼時,執行階段會在 Colab Enterprise 管理的一或多個虛擬機器 (VM) 執行個體上執行程式碼。為 Colab Enterprise 執行階段啟用 CMEK 時,系統會使用您指定的金鑰,而非 Google 管理的金鑰,加密這些 VM 上的資料。CMEK 金鑰會加密下列類型的資料:

  • VM 上的程式碼副本。
  • 程式碼載入的任何資料。
  • 程式碼儲存到本機磁碟的任何暫時性資料。

您可以啟動、停止及升級執行階段,而不影響其 CMEK 加密。

一般來說,CMEK 金鑰不會加密與作業相關聯的中繼資料,例如執行階段的名稱,或是筆記本的名稱和區域。這類中繼資料一律會使用 Google 的預設加密機制加密。

筆記本

Colab Enterprise 筆記本會儲存在 Dataform 存放區。建立筆記本時,Colab Enterprise 會自動建立隱藏的 Dataform 存放區,並將筆記本儲存在該處。由於存放區已隱藏,您無法像其他 Dataform 存放區一樣修改加密設定。

如要為筆記本使用 CMEK,您必須為包含筆記本的 Google Cloud 專案設定預設的 Dataform CMEK 金鑰。設定預設 Dataform CMEK 金鑰後,Dataform 會預設將金鑰套用至 Google Cloud 專案中建立的所有新存放區,包括為儲存筆記本而建立的任何隱藏存放區。

預設 Dataform CMEK 金鑰不會套用至現有存放區。因此,如果該專案中已有筆記本,系統不會使用預設的 Dataform CMEK 金鑰加密。如要在設定專案的預設 Dataform CMEK 金鑰前建立的筆記本中使用 CMEK,可以將筆記本檔案另存為新的 Colab Enterprise 筆記本。

如要進一步瞭解 Dataform 預設 CMEK 金鑰,請參閱「使用 Dataform 預設 CMEK 金鑰」。

如要為筆記本使用 CMEK,請參閱「設定預設的 Dataform CMEK 金鑰」。

支援的鍵

Colab Enterprise 支援下列類型的 CMEK 金鑰:

金鑰的適用情形因金鑰類型和地區而異。 如要進一步瞭解 CMEK 金鑰的地理位置可用性,請參閱 Cloud KMS 位置

規定與限制

Colab Enterprise 支援 CMEK,但有下列限制:

  • Vertex AI 的預設配額為每個專案和區域各一個加密金鑰。如果需要在專案的某個區域註冊多個金鑰,請與 Google 帳戶團隊聯絡,要求增加 CMEK 設定的配額,並說明需要多個金鑰的原因。

Cloud KMS 配額和 Colab Enterprise

在 Colab Enterprise 中使用 CMEK 時,專案可能會耗用 Cloud KMS 加密編譯要求配額。使用 CMEK 金鑰進行加密和解密作業時,只有在您使用硬體 (Cloud HSM) 或外部 (Cloud EKM) 金鑰時,才會影響 Cloud KMS 配額。詳情請參閱「Cloud KMS 配額」。

為執行階段設定 CMEK

下列各節說明如何在 Cloud Key Management Service 中建立金鑰環和金鑰、授予 Colab Enterprise 金鑰的加密者和解密者權限,以及建立設定為使用 CMEK 的執行階段範本。Colab Enterprise 從這個執行階段範本產生的任何執行階段,都會使用 CMEK 加密。

事前準備

本指南假設您使用兩個獨立的 Google Cloud 專案,為 Colab Enterprise 執行階段設定 CMEK:

  • 用於管理加密金鑰的專案 (稱為「Cloud KMS 專案」)。
  • 用於存取 Colab Enterprise 資源,以及與您需要的任何其他 Google Cloud 產品互動的專案 (稱為「Notebook 專案」)。

建議的設定可支援職責分離

或者,您也可以為整個指南使用單一 Google Cloud 專案。如要這麼做,請針對所有參照 Cloud KMS 專案的作業,以及參照 Notebook 專案的作業,使用同一個專案。

設定 Cloud KMS 專案

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Cloud KMS API.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Cloud KMS API.

    Enable the API

  8. 設定 Notebook 專案

    1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
    2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

      Go to project selector

    3. Make sure that billing is enabled for your Google Cloud project.

    4. Enable the Vertex AI API.

      Enable the API

    5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

      Go to project selector

    6. Make sure that billing is enabled for your Google Cloud project.

    7. Enable the Vertex AI API.

      Enable the API

    8. 設定 Google Cloud CLI

      本指南中的部分步驟需要使用 gcloud CLI,其他步驟則可選擇使用。

      After installing the Google Cloud CLI, initialize it by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

      建立金鑰環和金鑰

      請按照 Cloud KMS 指南建立對稱金鑰,建立金鑰環和金鑰。建立金鑰環時,請指定支援 Colab Enterprise 作業的地區做為金鑰環的位置。只有當執行階段和金鑰使用相同區域時,Colab Enterprise 才支援 CMEK。您不得為金鑰環指定雙區域、多區域或全球位置。

      請務必在 Cloud KMS 專案中建立金鑰環和金鑰。

      授予 Colab Enterprise 權限

      如要為資源使用 CMEK,您必須授予 Colab Enterprise 權限,允許使用您的金鑰加密及解密資料。Colab Enterprise 會使用Google 管理的服務代理程式,透過您的資源執行作業。這個服務帳戶的電子郵件地址格式如下:service-PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com

      如要找出 Notebook 專案適用的服務帳戶,請前往Google Cloud 控制台的「IAM」IAM頁面,然後找出符合下列電子郵件地址格式的成員,並以 Notebook 專案的專案編號取代 NOTEBOOK_PROJECT_NUMBER 變數。服務帳戶的名稱也是 Vertex AI Service Agent

      前往「IAM」頁面

      記下這個服務帳戶的電子郵件地址,並在後續步驟中使用,授予該帳戶使用金鑰加密及解密資料的權限。您可以使用 Google Cloud 控制台或 Google Cloud CLI 授予權限:

      Google Cloud 控制台

      1. 在 Google Cloud 控制台中,按一下「安全性」,然後選取「金鑰管理」。系統會將您帶往「Cryptographic Keys」(加密編譯金鑰) 頁面,並選取您的 Cloud KMS 專案。

        前往「Cryptographic Keys」(加密編譯金鑰) 頁面

      2. 按一下您在本指南前一節中建立的金鑰環名稱,前往「金鑰環詳細資料」頁面。

      3. 選取您在本指南前一節中建立的金鑰核取方塊。如果標示金鑰名稱的資訊面板尚未開啟,請按一下「顯示資訊面板」

      4. 在資訊面板中,按一下「新增成員」,開啟「將成員新增至『KEY_NAME』」對話方塊。在對話方塊中,執行下列操作:

        1. 在「New members」(新增成員) 方塊中,輸入您在上一個部分中記下的服務帳戶電子郵件地址: service-NOTEBOOK_PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com

        2. 在「Select a role」(選取角色) 下拉式清單中,依序點選「Cloud KMS」和「Cloud KMS CryptoKey Encrypter/Decrypter」(Cloud KMS 加密編譯金鑰加密者/解密者) 角色。

        3. 按一下 [儲存]

      gcloud

      執行下列指令:

      gcloud kms keys add-iam-policy-binding KEY_NAME \
        --keyring=KEY_RING_NAME \
        --location=REGION \
        --project=KMS_PROJECT_ID \
        --member=serviceAccount:service-NOTEBOOK_PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com \
        --role=roles/cloudkms.cryptoKeyEncrypterDecrypter

      請將下列預留位置替換為實際值:

      • KEY_NAME:您在本指南前一節中建立的金鑰名稱。
      • KEY_RING_NAME:您在本指南的前一個章節中建立的金鑰環。
      • REGION:您建立金鑰環的地區。
      • KMS_PROJECT_ID:Cloud KMS 專案的 ID。
      • NOTEBOOK_PROJECT_NUMBER:Notebook 專案的專案編號,您在上一節中已記下這個編號,這是服務帳戶電子郵件地址的一部分。

      使用 KMS 金鑰設定執行階段範本

      建立新的支援 CMEK 的資源時,您可以將金鑰指定為建立參數之一。如要建立 Colab Enterprise 執行階段,請建立執行階段範本,並將 CMEK 金鑰指定為參數。Colab Enterprise 從這個執行階段範本產生的任何執行階段,都會使用 CMEK 加密。

      如要使用 Google Cloud 控制台建立執行階段範本,請在「建立新的執行階段範本」對話方塊中指定金鑰。請執行下列步驟:

      1. 前往 Google Cloud 控制台的 Colab Enterprise「執行階段範本」頁面。

        前往「執行階段範本」

      2. 按一下「新增範本」

        系統會顯示「建立新的執行階段範本」對話方塊。

      3. 在「設定運算」部分中,選取「加密」的「Cloud KMS 金鑰」

      4. 在「金鑰類型」中選取「Cloud KMS」,然後在下一個欄位中選取客戶管理的加密金鑰。

      5. 完成執行個體建立對話方塊的其餘部分,然後按一下「建立」

        執行階段範本會顯示在「執行階段範本」分頁的清單中。

      後續步驟