要定义可从服务边界内的网络访问的服务,请使用 VPC 可访问服务功能。VPC 可访问服务功能限制了可从服务边界内的网络端点访问的一组服务。
VPC 可访问服务功能仅适用于从 VPC 网络端点到 Google API 的流量。与服务边界不同,VPC 可访问服务功能不适用于从一个 Google API 到另一个 API 的通信,也不适用于租户单元的网络(用于实现某些 Google Cloud 服务)。
在为边界配置 VPC 可访问服务时,您可以指定包含各个服务的列表,也可以添加 RESTRICTED-SERVICES
值,添加这个值即可让系统自动包括受该边界保护的所有服务。
要确保对预期服务的访问完全受限,您必须实施如下措施:
配置边界以保护您希望设为可访问的那一组服务。
配置边界中的 VPC 以使用受限 VIP 地址。
使用第 3 层防火墙。
示例:仅具有 Cloud Storage 访问权限的 VPC 网络
假设您的服务边界 my-authorized-perimeter
包括两个项目:my-authorized-compute-project
和 my-authorized-gcs-project
。该边界保护 Cloud Storage 服务。
my-authorized-gcs-project
使用多种服务,包括 Cloud Storage、Bigtable 等。my-authorized-compute-project
托管着一个 VPC 网络。
两个项目共享一个边界,所以 my-authorized-compute-project
中的 VPC 网络可以访问 my-authorized-gcs-project
中的服务资源,无论这些服务是否受到边界保护。但是,您希望 VPC 网络只能访问 my-authorized-gcs-project
中的 Cloud Storage 资源。
您担心如果 VPC 网络中某个虚拟机的凭据被盗用,攻击者可能会利用该虚拟机,渗漏 my-authorized-gcs-project
内任何可用服务中的数据。
您已将 VPC 网络配置为使用受限 VIP,从而限制该 VPC 网络仅可以访问 VPC Service Controls 支持的 API。遗憾的是,这不会阻止您的 VPC 网络访问受支持的服务,例如 my-authorized-gcs-project
中的 Bigtable 资源。
要将 VPC 网络限制为仅可访问存储服务,请启用 VPC 可访问服务,并将 storage.googleapis.com
设置为允许的服务:
gcloud access-context-manager perimeters update my-authorized-perimeter \
--enable-vpc-accessible-services \
--add-vpc-allowed-services=storage.googleapis.com
大功告成!my-authorized-compute-project
中的 VPC 网络现已限制为仅可访问 Cloud Storage 服务的资源。此限制也会应用于您今后添加到该边界的任何项目和 VPC 网络。