使用 VPC Service Controls
本页介绍了如何使用 VPC Service Controls 在服务边界内设置 Colab Enterprise 笔记本。
概览
VPC Service Controls 是一项 Google Cloud 功能,可让您设置边界,以防范数据渗漏。
VPC Service Controls 为Google Cloud 服务提供一层额外的防御,该防御独立于 Identity and Access Management (IAM) 提供的保护。
当您在服务边界内使用 Colab Enterprise 时,运行时会受服务边界约束。因此,如需运行与其他 Google API 和服务交互的记事本代码,您必须将这些服务添加到服务边界。
如需详细了解 VPC Service Controls,请参阅 VPC Service Controls 概览。
已知限制
Colab Enterprise 使用 Dataform 存储笔记本。
如需详细了解如何将 VPC Service Controls 与 Dataform 结合使用,请参阅为 Dataform 配置 VPC Service Controls。
您只能通过 Google Cloud 控制台访问 Colab Enterprise 界面。如需了解 Google Cloud 控制台中的 VPC Service Controls 限制,请参阅 Google Cloud 控制台限制。
如果您的服务边界需要访问 Vertex AI 服务,请参阅将 VPC Service Controls 与 Colab Enterprise 搭配使用时的限制。
所需的角色
如需确保您的用户账号拥有将 VPC 服务控制功能与 Colab Enterprise 搭配使用所需的权限,请让您的管理员为您的用户账号授予项目的以下 IAM 角色:
-
Access Context Manager Editor (
roles/accesscontextmanager.policyEditor
) -
Colab Enterprise User (
roles/aiplatform.colabEnterpriseUser
)
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
您的管理员还可以通过自定义角色或其他预定义角色向您的用户账号授予所需的权限。
如需详细了解 VPC Service Controls 权限,请参阅使用 IAM 进行访问权限控制。
创建服务边界
使用 VPC Service Controls 创建服务边界。此服务边界可保护 Google 管理的指定服务资源。创建服务边界时,请执行以下操作:
当可以向服务边界添加项目时,请添加包含 Colab Enterprise 笔记本的项目,或在此项目中创建笔记本。
当可以向服务边界添加服务时,请添加以下内容:
- Vertex AI API (
aiplatform.googleapis.com
) - Dataform API (
dataform.googleapis.com
)
- Vertex AI API (
如果您创建服务边界时未添加所需的项目和服务,请参阅管理服务边界,了解如何更新服务边界。
提供对 Colab Enterprise 界面的访问权限
由于 Colab Enterprise 界面 (colab-embedded.cloud.google.com
) 只能通过互联网访问,因此 Colab Enterprise 界面会被视为位于服务边界外。当您应用服务边界时,您保护的服务的 Google Cloud 控制台界面可能会变得部分无法访问或完全无法访问。例如,如果您使用边界来保护 Colab Enterprise,则无法访问 Google Cloud 控制台中的 Colab Enterprise 界面。
如需允许从 Google Cloud 控制台访问受边界保护的资源,您需要为公共 IP 范围创建一个访问权限级别(其中包含要将 Google Cloud 控制台和受保护的 API 配合使用的用户的机器)。例如,您可以将专用网络的 NAT 网关的公共 IP 范围添加到访问权限级别,然后将该访问权限级别分配给服务边界。
如果您想要只允许一组特定用户从 Google Cloud 控制台访问边界,还可以将这些用户添加到访问权限级别。在这种情况下,只有指定的用户才能访问 Google Cloud 控制台。
设置 VPC 可访问服务(可选)
如果您对边界启用 VPC 可访问服务,则边界内部的网络端点将被限制为仅可访问您指定的一组服务。
如需详细了解如何将边界内的访问限制为仅可访问一组特定服务,请参阅 VPC 可访问服务。
将专用 Google 访问通道与 VPC 网络搭配使用(可选)
专用 Google 访问通道提供与 VPC 网络或本地网络中主机的专用连接,这些主机使用专用 IP 地址访问 Google Cloud API 和服务。您可以将 VPC Service Controls 服务边界扩展到这些网络中的主机,以控制对受保护资源的访问权限。VPC 网络中的主机必须仅具有专用 IP 地址(没有公共 IP 地址),且位于启用了专用 Google 访问通道的子网中。如需了解详情,请参阅来自本地网络的专用连接。
为确保您能够将专用 Google 访问通道与 VPC 网络搭配使用,您必须配置一些 DNS 记录。
使用 Cloud DNS 配置 DNS 条目
Colab Enterprise 运行时使用 VPC 网络在默认情况下未处理的多个网域。为确保您的 VPC 网络正确处理发送到这些网域的请求,请使用 Cloud DNS 添加 DNS 记录。如需详细了解 VPC 路由,请参阅路由。
本部分介绍了如何为网域创建托管区域、添加将路由请求的 DNS 条目,以及运行事务。分别对需要处理请求的多个网域重复上述步骤(从 *.aiplatform.googleapis.com
开始)。
在 Cloud Shell 或安装了 Google Cloud CLI 的任何环境中,输入以下 gcloud CLI 命令。
-
如需为 VPC 网络需要处理的某个网域创建专用代管式可用区,请运行以下命令:
gcloud dns managed-zones create ZONE_NAME \ --visibility=private \ --networks=https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK_NAME \ --dns-name=DNS_NAME. \ --description="Description of your managed zone"
请替换以下内容:
-
ZONE_NAME
:要创建的可用区的名称。 您必须对每个网域使用单独的区域。下列各个步骤中都将使用此可用区名称。 -
PROJECT_ID
:托管您的 VPC 网络的项目的 ID。 -
NETWORK_NAME
:您之前创建的 VPC 网络的名称。 -
DNS_NAME
:域名中*.
后面的部分。例如,*.aiplatform.googleapis.com
的 DNS 名称为aiplatform.googleapis.com
。
-
-
启动一项事务。
gcloud dns record-sets transaction start --zone=ZONE_NAME
-
添加以下 DNS A 记录。此操作会将流量重新路由到 Google 的受限 IP 地址。
gcloud dns record-sets transaction add \ --name=DNS_NAME. \ --type=A 199.36.153.4 199.36.153.5 199.36.153.6 199.36.153.7 \ --zone=ZONE_NAME \ --ttl=300
-
添加以下 DNS CNAME 记录,以指向刚刚添加的 A 记录。此操作会将与相应网域匹配的所有流量重定向至上一步中列出的 IP 地址。
gcloud dns record-sets transaction add \ --name=\*.DNS_NAME. \ --type=CNAME DNS_NAME. \ --zone=ZONE_NAME \ --ttl=300
-
运行事务。
gcloud dns record-sets transaction execute --zone=ZONE_NAME
-
对以下每个网域重复执行上述步骤。每次重复上述步骤时,请将 ZONE_NAME 和 DNS_NAME 更改为相关网域的对应值。每次都应使 PROJECT_ID 和 NETWORK_NAME 保持一致。您现在已对
*.aiplatform.googleapis.com
完成上述步骤。*.aiplatform.googleapis.com
*.aiplatform-notebook.googleusercontent.com
*.aiplatform-notebook.cloud.google.com
如需详细了解如何配置专用连接,请参阅设置与 Google API 和服务的专用连接。
使用入站流量规则允许从服务边界外进行情境感知访问
您可以根据客户端特性允许对受边界限制的资源进行情境感知访问。您可以指定客户端属性,例如身份类型(服务账号或用户)、身份、设备数据和网络来源(IP 地址或 VPC 网络)。
例如,您可以设置入站流量规则,以根据 IPv4 和 IPv6 地址范围允许通过互联网对边界内的资源进行访问。如需详细了解如何使用入站流量规则设置情境感知访问权限,请参阅情境感知访问权限。
使用入站流量和出站流量规则配置安全数据交换
您只能将您的项目添加到一个服务边界内。如果您想允许跨边界进行通信,请设置入站和出站规则。例如,您可以指定入站和出站规则,以允许多个边界中的项目在单独的边界中共享日志。如需详细了解安全数据交换使用场景,请参阅安全数据交换。
后续步骤
详细了解 VPC Service Controls。
详细了解 Colab Enterprise 运行时。