默认情况下,Google Cloud 会使用 Google 管理的加密密钥自动加密静态数据。如果您对保护数据的密钥有特定的合规性或监管要求,则可以将客户管理的加密密钥 (CMEK) 用于 Vertex AI Workbench 代管式笔记本实例。
本页面介绍了将 CMEK 用于代管式笔记本的一些具体优势和限制,并说明了如何将新的代管式笔记本实例配置为使用 CMEK。
如需大致了解 CMEK(包括其启用时间和原因),请参阅客户管理的加密密钥。
CMEK 的优势
一般来说,如果您需要完全控制用于加密数据的密钥,则 CMEK 最有用。借助 CMEK,您可以在 Cloud Key Management Service 中管理密钥。例如,您可以轮替或停用密钥,也可以使用 Cloud KMS API 设置轮替时间表。
运行代管式笔记本实例时,您的实例将在由 Google 管理的计算基础架构中运行。当您为代管式笔记本实例启用 CMEK 后,Vertex AI Workbench 将使用您指定的密钥(而不是由 Google 管理的密钥)来加密您的用户数据。
CMEK 密钥不会加密与代管式笔记本实例关联的元数据,例如实例的名称和区域。与代管式笔记本实例关联的元数据始终使用 Google 的默认加密机制进行加密。
CMEK 的限制
为了减少延迟时间并防止资源依赖于跨多个故障域的服务,Google 建议您使用位于同一位置的密钥来保护区域级代管式笔记本实例。
- 您可以使用位于同一位置或全球位置的密钥来加密区域级代管式笔记本实例。例如,您可以使用
us-west1
或global
中的密钥来加密us-west1
区域中的用户数据。 - 为代管式笔记本配置 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.
设置 Google Cloud CLI
本页面中的有些步骤需要 gcloud CLI,而有些步骤则不一定需要它。Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
创建密钥环和密钥
创建密钥环和密钥时,请注意以下要求:
在选择密钥环的位置时,请使用
global
或代管式笔记本实例所在的位置。请务必在 Cloud KMS 项目中创建密钥环和密钥。
如需创建密钥环和密钥,请参阅创建对称加密密钥。
授予代管式笔记本权限
如果您使用单用户访问权限设置实例,则必须向代管式笔记本实例的项目授予使用您的密钥加密和解密数据的权限。您需要向项目的服务代理授予此权限。此服务代理的电子邮件地址如下所示:
service-NOTEBOOKS_PROJECT_NUMBER@gcp-sa-notebooks.iam.gserviceaccount.com
将 NOTEBOOKS_PROJECT_NUMBER
替换为代管式笔记本实例的项目的项目编号。
记下您的服务代理的电子邮件地址。以下步骤将用到它,以向代管式笔记本实例的项目授予使用密钥加密和解密数据的权限。您可以使用 Google Cloud Console 或使用 Google Cloud CLI 授予权限。
控制台
在 Google Cloud 控制台中,转到加密密钥页面。
转到加密密钥
选择您的 Cloud KMS 项目。
点击您在创建密钥环和密钥中创建的密钥环的名称。密钥环详细信息页面将打开。
选中您在创建密钥环和密钥中创建的密钥对应的复选框。如果标有密钥名称的信息面板尚未打开,请点击显示信息面板。
在信息面板中,点击
添加成员。系统会打开向“KEY_NAME”添加成员对话框。在此对话框中,执行以下操作:在新成员字段中,输入您在上一部分中记下的服务代理电子邮件地址。
在选择角色列表中,点击 Cloud KMS,然后选择 Cloud KMS CryptoKey Encrypter/Decrypter 角色。
点击保存。
gcloud
运行以下命令,向服务代理授予使用您的密钥加密和解密数据的权限:
gcloud kms keys add-iam-policy-binding KEY_NAME \ --keyring=KEY_RING_NAME \ --location=REGION \ --project=KMS_PROJECT_ID \ --member=serviceAccount:EMAIL_ADDRESS \ --role=roles/cloudkms.cryptoKeyEncrypterDecrypter
请替换以下内容:
创建使用 CMEK 的代管式笔记本实例
在授予代管式笔记本实例使用您的密钥加密和解密数据的权限后,您便可以创建使用此密钥加密数据的代管式笔记本实例。按照以下步骤操作:
在 Google Cloud Console 中,转到代管式笔记本页面。
点击
新建笔记本。在笔记本名称字段中,输入实例的名称。
点击区域列表,然后为您的实例选择一个区域。
点击高级设置。
在磁盘加密部分中,选择客户管理的加密密钥 (CMEK)。
点击选择客户管理的密钥。
根据需要完成创建代管式笔记本对话框的其余部分。
点击创建。
Vertex AI Workbench 会根据您指定的属性创建代管式笔记本实例,并自动启动该实例。当实例可供使用时,Vertex AI Workbench 会激活打开 JupyterLab 链接。