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

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

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

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

本頁說明在 Vertex AI Workbench 中使用 CMEK 的具體優點和限制,並介紹如何設定新的 Vertex AI Workbench 執行個體,以使用 CMEK。

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

CMEK 的優點

一般來說,如果您需要完全控管用於加密資料的金鑰,CMEK 最能派上用場。使用 CMEK 時,您可以在 Cloud Key Management Service 中管理金鑰。舉例來說,您可以使用 Cloud KMS API 輪替或停用金鑰,或是設定輪替排程。

執行 Vertex AI Workbench 執行個體時,執行個體會在 Vertex AI Workbench 管理的虛擬機器 (VM) 上執行。為 Vertex AI Workbench 執行個體啟用 CMEK 時,Vertex AI Workbench 會使用您指定的金鑰,而非 Google 管理的金鑰,加密 VM 開機磁碟上的資料。

CMEK 金鑰不會加密中繼資料,例如與 Vertex AI Workbench 執行個體相關聯的執行個體名稱和區域。與 Vertex AI Workbench 執行個體相關聯的中繼資料一律會使用 Google 的預設加密機制加密。

CMEK 的限制

為縮短延遲時間,並避免資源依賴的服務分散在多個故障網域,Google 建議您使用位於相同位置的金鑰,保護地區 Vertex AI Workbench 執行個體。

  • 您可以透過位於相同位置或全域位置的金鑰,加密區域 Vertex AI Workbench 執行個體。舉例來說,您可以使用 us-west1global 中的金鑰,加密 us-west1-a 區域中磁碟的資料。
  • 您可以使用任何位置的金鑰加密全域執行個體。
  • 為 Vertex AI Workbench 設定 CMEK 時,不會自動為您使用的其他 Google Cloud 產品設定 CMEK。如要使用 CMEK 加密其他 Google Cloud 產品中的資料,您必須完成額外設定。

為 Vertex AI Workbench 執行個體設定 CMEK

下列各節說明如何在 Cloud Key Management Service 中建立金鑰環和金鑰、授予服務帳戶金鑰的加密者和解密者權限,以及建立使用 CMEK 的 Vertex AI Workbench 執行個體。

事前準備

建議您使用支援職責分離的設定。如要為 Vertex AI Workbench 設定 CMEK,可以使用兩個不同的 Google Cloud 專案:

  • Cloud KMS 專案:用於管理加密金鑰的專案
  • Vertex AI Workbench 專案:用於存取 Vertex AI Workbench 執行個體的專案,以及與您應用情境所需的任何其他 Google Cloud 產品互動

或者,您也可以使用單一 Google Cloud 專案。如要這麼做,請針對下列所有工作使用同一個專案。

設定 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. 設定 Vertex AI Workbench 專案

    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 Notebooks 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 Notebooks 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.

      建立金鑰環和金鑰

      建立金鑰環和金鑰時,請注意下列規定:

      • 選擇金鑰環位置時,請使用 global 或 Vertex AI Workbench 執行個體所在位置。

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

      如要建立金鑰環和金鑰,請參閱「建立對稱式加密金鑰」。

      授予 Vertex AI Workbench 權限

      如要為 Vertex AI Workbench 執行個體使用 CMEK,您必須授予 Vertex AI Workbench 執行個體權限,才能使用您的金鑰加密及解密資料。您會將這項權限授予專案的服務代理程式和 Compute Engine 服務帳戶。

      如要找出 Vertex AI Workbench 專案的特定帳戶,請使用 Google Cloud 控制台。

      1. 前往 Google Cloud 控制台的「IAM」IAM頁面。

        前往身分與存取權管理頁面

      2. 選取「包含 Google 提供的角色授權」

      3. 找出符合下列電子郵件地址格式的成員。請記下這些電子郵件地址,並在後續步驟中使用。

        • 專案服務代理程式的電子郵件地址如下所示:

          service-NOTEBOOKS_PROJECT_NUMBER@gcp-sa-notebooks.iam.gserviceaccount.com
        • Compute Engine 服務帳戶的電子郵件地址如下所示:

          service-NOTEBOOKS_PROJECT_NUMBER@compute-system.iam.gserviceaccount.com

        NOTEBOOKS_PROJECT_NUMBER 替換為 Vertex AI Workbench 專案的專案編號

        如要授予這些帳戶權限,讓他們使用您的金鑰加密及解密資料,請使用 Google Cloud 控制台或 Google Cloud CLI。

        主控台

        1. 前往 Google Cloud 控制台的「金鑰管理」頁面。

          前往「金鑰管理」

        2. 選取 Cloud KMS 專案。

        3. 按一下您在「建立金鑰環和金鑰」中建立的金鑰環名稱。「鑰匙圈詳細資料」頁面隨即開啟。

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

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

          1. 在「新增成員」欄位中,輸入專案服務專員的電子郵件地址:

            service-NOTEBOOKS_PROJECT_NUMBER@gcp-sa-notebooks.iam.gserviceaccount.com
          2. 在「Select a role」(選取角色) 清單中,依序點選「Cloud KMS」和「Cloud KMS CryptoKey Encrypter/Decrypter」(Cloud KMS 加密編譯金鑰加密者/解密者) 角色。

          3. 按一下 [儲存]

        6. 針對 Compute Engine 服務代理人重複執行這些步驟:

          service-NOTEBOOKS_PROJECT_NUMBER@compute-system.iam.gserviceaccount.com

        gcloud

        1. 如要授予專案服務代理使用金鑰加密及解密資料的權限,請執行下列指令:

          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.iam.gserviceaccount.com \
            --role=roles/cloudkms.cryptoKeyEncrypterDecrypter

          更改下列內容:

          • KEY_NAME:您在「建立金鑰環和金鑰」中建立的金鑰名稱
          • KEY_RING_NAME:您在「建立金鑰環和金鑰」中建立的金鑰環
          • REGION:您建立金鑰環的地區
          • KMS_PROJECT_ID:Cloud KMS 專案的 ID
          • NOTEBOOKS_PROJECT_NUMBER:Vertex AI Workbench 專案的專案編號,您在上一節中已記下這個編號,因為這是服務帳戶電子郵件地址的一部分。
        2. 如要授予 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.iam.gserviceaccount.com \
            --role=roles/cloudkms.cryptoKeyEncrypterDecrypter

      使用 CMEK 建立 Vertex AI Workbench 執行個體

      授予 Vertex AI Workbench 執行個體權限,允許使用您的金鑰加密及解密資料後,您就可以建立 Vertex AI Workbench 執行個體,使用該金鑰加密資料。

      以下範例說明如何使用 Google Cloud 控制台,透過金鑰加密及解密資料。

      如要使用客戶管理的加密金鑰建立 Vertex AI Workbench 執行個體,請按照下列步驟操作:

      1. 前往 Google Cloud 控制台的「Instances」(執行個體) 頁面

        前往「Instances」(執行個體) 頁面

      2. 按一下「建立新標籤」

      3. 在「New instance」對話方塊中,按一下「Advanced options」

      4. 在「建立執行個體」對話方塊的「詳細資料」部分,為新執行個體提供下列資訊:

        • 名稱:新執行個體的名稱
        • 區域:金鑰和金鑰環所在的區域
        • 「Zone」(區域):您選取地區中的區域
      5. 在「Disks」(磁碟) 區段的「Encryption」(加密) 中,選取「Customer-managed encryption key (CMEK)」(客戶管理的加密金鑰 (CMEK))

      6. 按一下「選取客戶管理的金鑰」

        • 如果清單中列出您要使用的客戶管理金鑰,請選取該金鑰。
        • 如果清單中沒有您要使用的客戶管理金鑰,請輸入客戶管理金鑰的資源 ID。客戶管理金鑰的資源 ID 如下所示:

          projects/NOTEBOOKS_PROJECT_NUMBER/locations/global/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME

          更改下列內容:

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

      後續步驟