客戶管理的加密金鑰
根據預設,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)。
本頁說明搭配使用者管理的 Notebook 使用 CMEK 的具體優點和限制,並說明如何設定新的使用者管理 Notebook 執行個體,以使用 CMEK。
CMEK 的優點
一般來說,如果您需要完全控管用於加密資料的金鑰,CMEK 最能派上用場。使用 CMEK 時,您可以在 Cloud Key Management Service 中管理金鑰。舉例來說,您可以使用 Cloud KMS API 輪替或停用金鑰,或是設定輪替排程。
執行使用者自管筆記本執行個體時,執行個體會在 Vertex AI Workbench 管理的虛擬機器 (VM) 上執行。為使用者自行管理的筆記本執行個體啟用 CMEK 時,Vertex AI Workbench 會使用您指定的金鑰,而非 Google 管理的金鑰,加密 VM 開機磁碟上的資料。
CMEK 金鑰不會加密中繼資料,例如與使用者管理型 Notebooks 執行個體相關聯的執行個體名稱和區域。與使用者管理的 Notebooks 執行個體相關聯的中繼資料,一律會使用 Google 的預設加密機制加密。
CMEK 的限制
為縮短延遲時間,並避免資源依賴的服務分散在多個故障網域,Google 建議您使用位於相同位置的金鑰,保護地區使用者管理的 Notebook 執行個體。
- 您可以透過相同位置或全域位置的金鑰,加密區域使用者代管的筆記本執行個體。舉例來說,您可以使用
us-west1
或global
中的金鑰,加密us-west1-a
區域中磁碟的資料。 - 您可以使用任何位置的金鑰加密全域執行個體。
- 為使用者管理的筆記本設定 CMEK 時,不會自動為您使用的其他 Google Cloud 產品設定 CMEK。如要使用 CMEK 加密其他 Google Cloud 產品中的資料,您必須完成額外設定。
為由使用者管理的筆記本執行個體設定 CMEK
以下章節說明如何在 Cloud Key Management Service 中建立金鑰環和金鑰、授予服務帳戶金鑰的加密者和解密者權限,以及建立使用 CMEK 的使用者管理筆記本執行個體。
事前準備
建議您使用支援職責分離的設定。如要為使用者管理的筆記本設定 CMEK,可以使用兩個不同的 Google Cloud 專案:
- Cloud KMS 專案:用於管理加密金鑰的專案
- 由使用者管理的筆記本專案:用於存取由使用者管理的筆記本執行個體,以及與您使用案例所需的任何其他 Google Cloud 產品互動的專案
或者,您也可以使用單一 Google Cloud 專案。如要這麼做,請針對下列所有工作使用同一個專案。
設定 Cloud KMS 專案
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud KMS API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud KMS API.
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Notebooks API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Notebooks API.
選擇金鑰環的位置時,請使用
global
或使用者管理的筆記本執行個體所在位置。請務必在 Cloud KMS 專案中建立金鑰環和金鑰。
前往 Google Cloud 控制台的「IAM」頁面。
找出名為
Compute Engine default service account
的主體。記下這個服務帳戶的電子郵件地址,並在後續步驟中使用,授予該帳戶使用金鑰加密及解密資料的權限。
前往 Google Cloud 控制台的「金鑰管理」頁面。
選取 Cloud KMS 專案。
按一下您在「建立金鑰環和金鑰」中建立的金鑰環名稱。「鑰匙圈詳細資料」頁面隨即開啟。
選取您在「建立金鑰環和金鑰」中建立的金鑰核取方塊。 如果標示金鑰名稱的資訊面板尚未開啟,請按一下「顯示資訊面板」。
在資訊面板中,按一下「新增成員」
。系統隨即開啟「將成員新增至『KEY_NAME』」對話方塊。在這個對話方塊中,執行下列操作:在「New members」(新增成員) 欄位中,輸入執行個體的服務帳戶電子郵件地址。
在「Select a role」(選取角色) 清單中,依序點選「Cloud KMS」和「Cloud KMS CryptoKey Encrypter/Decrypter」(Cloud KMS 加密編譯金鑰加密者/解密者) 角色。
按一下 [儲存]。
KEY_NAME
:您在「建立金鑰環和金鑰」中建立的金鑰名稱KEY_RING_NAME
:您在「建立金鑰環和金鑰」中建立的金鑰環REGION
:您建立金鑰環的區域KMS_PROJECT_ID
:Cloud KMS 專案的 IDSERVICE_ACCOUNT
:您執行個體的服務帳戶電子郵件地址前往 Google Cloud 控制台的「User-managed notebooks」頁面。或者前往 notebook.new (https://notebook.new),然後略過下一個步驟。
按一下「New notebook」(新增筆記本)
,然後選取「Customize」(自訂)。在「Create a user-managed notebook」(建立使用者管理的筆記本) 頁面的「Details」(詳細資料) 區段中,為新執行個體提供下列資訊:
- 名稱:新執行個體的名稱
- 區域:金鑰和金鑰環所在的區域
- 「Zone」(區域):您選取地區中的區域
選取「Disks」(磁碟) 專區。
如要使用客戶自行管理的加密金鑰,請在「Encryption」(加密) 下選取「Customer-managed encryption key (CMEK)」(客戶自行管理的加密金鑰 (CMEK))。
按一下「選取客戶管理的金鑰」。
完成執行個體建立對話方塊的其餘部分,然後按一下「建立」。
Vertex AI Workbench 會根據您指定的屬性建立使用者自行管理的筆記本執行個體,並自動啟動該執行個體。執行個體可供使用時,Vertex AI Workbench 會啟用「Open JupyterLab」(開啟 JupyterLab) 連結。
設定由使用者管理的筆記本專案
設定 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.
建立金鑰環和金鑰
建立金鑰環和金鑰時,請注意下列規定:
如要建立金鑰環和金鑰,請參閱「建立對稱式加密金鑰」。
授予使用者自行管理的筆記本權限
如要為使用者管理的 Notebook 執行個體使用 CMEK,您必須授予使用者管理的 Notebook 執行個體權限,才能使用金鑰加密及解密資料。
判斷要使用的服務帳戶
使用者管理的筆記本會使用服務帳戶執行使用者管理的筆記本執行個體。這個服務帳戶可以是預設的 Compute Engine 服務帳戶,也可以是您在建立執行個體時指定的服務帳戶。
如果服務帳戶是預設的 Compute Engine 服務帳戶,請完成下列步驟,找出服務帳戶的電子郵件地址:
授予服務帳戶權限
使用 Google Cloud 控制台或 Google Cloud CLI 授予權限。
主控台
gcloud
執行下列指令:
gcloud kms keys add-iam-policy-binding KEY_NAME \
--keyring=KEY_RING_NAME \
--location=REGION \
--project=KMS_PROJECT_ID \
--member=serviceAccount:SERVICE_ACCOUNT \
--role=roles/cloudkms.cryptoKeyEncrypterDecrypter
更改下列內容:
使用 CMEK 建立由使用者管理的筆記本執行個體
授予使用者管理的 Notebooks 執行個體權限,允許使用您的金鑰加密及解密資料後,您就可以建立使用者管理的 Notebooks 執行個體,並使用該金鑰加密資料。
下列範例說明如何使用 Google Cloud 控制台或 gcloud CLI,透過金鑰加密及解密資料。
主控台
如要使用客戶管理的加密金鑰建立由使用者管理的筆記本執行個體,請按照下列步驟操作:
gcloud
如要使用 gcloud CLI 建立採用客戶自行管理加密金鑰的使用者管理型 Notebooks 執行個體,請執行下列指令。
在這個範例中,我們假設您要建立具有 n1-standard-1
機器類型和 100 GB 標準永久開機磁碟的由使用者管理的筆記本執行個體。
gcloud notebooks instances create notebook-vm-cmek \ --location=REGION \ --vm-image-family=IMAGE_FAMILY \ --vm-image-project=deeplearning-platform-release \ --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'
更改下列內容: