客户管理的加密密钥 (CMEK)
默认情况下,Vertex AI Workbench 会对静态客户内容进行加密。Vertex AI Workbench 会为您处理加密,您无需执行任何其他操作。此选项称为 Google 默认加密。
如果您想要控制加密密钥,则可以将 Cloud KMS 中客户管理的加密密钥 (CMEK) 与集成 CMEK 的服务(包括 Vertex AI Workbench)结合使用。使用 Cloud KMS 密钥时,您可以控制其保护级别、位置、轮替时间表、使用和访问权限以及加密边界。此外,您还可使用 Cloud KMS 跟踪密钥使用情况、查看审核日志并控制密钥生命周期。这样您就可以在 Cloud KMS 中控制和管理用于保护您数据的对称密钥加密密钥 (KEK),而不是由 Google 拥有和管理这些密钥。
使用 CMEK 设置资源后,访问 Vertex AI Workbench 资源的体验与使用 Google 默认加密功能类似。如需详细了解加密选项,请参阅客户管理的加密密钥 (CMEK)。
本页面介绍了将 CMEK 用于 Vertex AI Workbench 的一些具体优势和限制,并说明了如何将新的 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 管理的虚拟机上运行。 当您为 Vertex AI Workbench 实例启用 CMEK 时,Vertex AI Workbench 将使用您指定的密钥(而不是由 Google 管理的密钥)来加密虚拟机的启动磁盘中的数据。
CMEK 密钥不会加密与 Vertex AI Workbench 实例关联的元数据,例如实例的名称和区域。 与 Vertex AI Workbench 实例关联的元数据始终使用 Google 的默认加密机制进行加密。
CMEK 的限制
为了减少延迟时间并防止资源依赖于跨多个故障域的服务,Google 建议您使用位于同一位置的密钥来保护区域级 Vertex AI Workbench 实例。
- 您可以使用位于同一位置或全球位置的密钥来加密区域级 Vertex AI Workbench 实例。例如,您可以使用
us-west1
或global
中的密钥加密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 项目
- 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.
设置 Vertex AI Workbench 项目
- 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
或 Vertex AI Workbench 实例所在的位置。请务必在 Cloud KMS 项目中创建密钥环和密钥。
如需创建密钥环和密钥,请参阅创建对称加密密钥。
授予 Vertex AI Workbench 权限
如需将 CMEK 用于 Vertex AI Workbench 实例,您必须向 Vertex AI Workbench 实例授予使用密钥加密和解密数据的权限。 您需要向项目的服务代理和 Compute Engine 服务账号授予此权限。
如需查找 Vertex AI Workbench 项目的特定账号,请使用 Google Cloud 控制台。
在 Google Cloud 控制台中,转到 IAM 页面
选择包括 Google 提供的角色授权。
查找与以下电子邮件地址格式匹配的成员。记下电子邮件地址,并在以下步骤中使用。
您项目的服务代理的电子邮件地址如下所示:
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。
控制台
在 Google Cloud 控制台中,进入密钥管理页面。
选择您的 Cloud KMS 项目。
点击您在创建密钥环和密钥中创建的密钥环的名称。密钥环详细信息页面将打开。
选中您在创建密钥环和密钥中创建的密钥对应的复选框。如果标有密钥名称的信息面板尚未打开,请点击显示信息面板。
在信息面板中,点击
添加成员。系统会打开向“KEY_NAME”添加成员对话框。在此对话框中,执行以下操作:在新成员字段中,输入您项目的服务代理的电子邮件地址:
service-NOTEBOOKS_PROJECT_NUMBER@gcp-sa-notebooks.iam.gserviceaccount.com
在选择角色列表中,点击 Cloud KMS,然后选择 Cloud KMS CryptoKey Encrypter/Decrypter 角色。
点击保存。
对 Compute Engine 服务代理重复以下步骤:
service-NOTEBOOKS_PROJECT_NUMBER@compute-system.iam.gserviceaccount.com
gcloud
如需向项目的服务代理授予使用您的密钥加密和解密数据的权限,请运行以下命令:
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
替换以下内容:
如需向 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 实例,请执行以下操作:
在 Google Cloud 控制台中,进入实例页面。
点击
新建。在新建实例对话框中,点击高级选项。
在创建实例对话框的详细信息部分中,为新实例提供以下信息:
- 名称:新实例的名称
- 区域:您的密钥和密钥环所在的区域
- 可用区:您所选区域内的可用区
在磁盘部分的加密中,选择客户管理的加密密钥 (CMEK)。
点击选择客户管理的密钥。
完成实例创建对话框的其余部分,然后点击创建。