VPC Service Controls 概览

VPC Service Controls 可帮助您降低 Google Cloud 服务(如 Cloud Storage 和 BigQuery)中发生数据渗漏的风险。您可以使用 VPC Service Controls 创建边界,该边界可保护您明确指定的服务的资源和数据。

VPC Service Controls 通过定义以下控件来保护 Google Cloud 服务:

  • 边界内对资源具有专有访问权限的客户端无法访问边界外的未授权(可能是公开的)资源。

  • 无法使用 gsutil cpbq mk 等服务操作将数据复制到边界外的未授权资源。

  • 边界分割的客户端与资源之间的数据交换通过入站和出站规则保护。

  • 对资源的情境感知访问权限取决于客户端特性,例如身份类型(服务帐号或用户)、身份、设备数据和网络来源(IP 地址或 VPC 网络)。以下是情境感知访问权限的示例:

    • 位于 Google Cloud 或本地边界外的客户端位于已获授权的 VPC 网络中,并使用专用 Google 访问通道来访问边界内的资源。

    • 对边界内资源的互联网访问仅限于 IPv4 和 IPv6 地址范围。

VPC Service Controls 为独立于 Identity and Access Management (IAM) 的 Google Cloud 服务提供一层额外的安全防御。IAM 实现了基于身份的精细访问权限控制,而 VPC Service Controls 可实现更广泛的基于上下文的边界安全性,包括控制跨边界数据出站流量。我们建议同时使用 VPC Service Controls 和 IAM 来实现深度防御。

VPC Service Controls 的安全优势

VPC Service Controls 可帮助降低以下安全风险,同时不影响对 Google Cloud 资源的直接专有访问带来的性能优势:

  • 使用被盗凭据从未授权网络进行的访问:通过仅允许从已授权的 VPC 网络进行专有访问,VPC Service Controls 可保护 OAuth 凭据或服务帐号凭据,避免被盗。

  • 恶意内部人员或代码被破解造成的数据渗漏:VPC Service Controls 阻止网络中的客户端访问位于边界外的 Google 托管服务的资源,以此作为出站流量控制的补充。

    VPC Service Controls 还会阻止从边界外的资源读取数据或将数据复制到边界外的资源。VPC Service Controls 会阻止服务操作,例如将 gsutil cp 命令复制到公共 Cloud Storage 存储桶或将 bq mk 命令复制到永久的外部 BigQuery 表。

    Google Cloud 还提供了与 VPC Service Controls 集成的受限虚拟 IP。受限 VIP 还允许向 VPC Service Controls 支持的服务发出请求,而无需将这些请求公开到互联网。

  • 配置错误的 IAM 政策导致的私有数据公开:即使数据因配置错误的 IAM 政策而公开,VPC Service Controls 也可以拒绝来自未授权网络的访问,从而额外增加一重安全防护。

  • 监控对服务的访问:在试运行模式中使用 VPC Service Controls 来监控对受保护服务的请求,而不阻止访问并了解对您项目的流量请求。您还可以创建蜜罐边界,以发现探测可访问服务的意外或恶意尝试。

通过为 Google Cloud 组织配置 VPC Service Controls,您可以创建一个广泛且统一的政策,该政策将总是应用于边界内的所有受保护的资源。您仍然可以灵活地处理、转换和复制边界内的数据。安全控制措施会自动应用于在边界内创建的所有新资源。

VPC Service Controls 和元数据

VPC Service Controls 的设计目的不是对元数据移动强制施加全面的控制。

在此上下文中,“数据”定义为 Google Cloud 资源中存储的内容,例如,Cloud Storage 对象的内容。“元数据”定义为资源或其父级的特性,例如 Cloud Storage 存储分区名称。

VPC Service Controls 的主要目标是通过支持的服务来控制跨服务边界的数据移动,而不是控制元数据的移动。 VPC Service Controls 还管理对元数据的访问,但仍然可能出现未经 VPC Service Controls 政策检查就复制和访问元数据的情况。

我们建议您借助 IAM(包括使用自定义角色)来确保适当地控制对元数据的访问。

技能

借助 VPC Service Controls,您可以定义安全政策,阻止对受信任边界外的 Google 托管式服务的访问、阻止从不可信位置访问数据,以及降低数据渗漏风险。您可以在以下用例中使用 VPC Service Controls:

将 Google Cloud 资源隔离到服务边界内

服务边界围绕着 Google Cloud 资源设置安全边界。您可以配置边界,以控制从虚拟机到 Google Cloud 服务 (API) 的通信以及 Google Cloud 服务之间的通信。设置了边界后,边界内部资源可自由地进行通信,但默认情况下,跨边界的所有通信都将被阻止。

例如:

  • 作为服务边界一部分的 Virtual Private Cloud (VPC) 网络中的虚拟机可对同一边界内的 Cloud Storage 存储分区进行读写操作。但是,从不在边界内的 VPC 网络访问此存储分区的尝试将被拒绝。

  • 如果两个 Cloud Storage 存储桶位于同一个服务边界内,则这两个存储桶之间的复制操作会成功;但如果其中一个存储分区位于边界外,则复制操作将失败。

  • 作为服务边界一部分的 VPC 网络中的虚拟机可对同一边界内的任何 Cloud Storage 存储分区进行专有访问。但是,虚拟机访问边界外的 Cloud Storage 存储桶时会被拒绝。

将边界扩展到授权 VPN 或 Cloud Interconnect

您可以通过专用 Google 访问通道本地扩展程序配置从跨混合环境的 VPC 网络到 Google Cloud 资源的私密通信。VPC 网络必须是服务边界的一部分,这样,该网络上的虚拟机才能对该服务边界内的代管 Google Cloud 资源进行专有访问。

在作为服务边界一部分的 VPC 网络上,具有专用 IP 地址的虚拟机无法访问服务边界外的代管资源。如果需要,您可以继续允许对所有 Google API(例如 Gmail)的访问,这些访问来自互联网且必须经过检查和审核。

例如,作为服务边界一部分的 VPC 网络中的虚拟机可对同一服务边界内的 Cloud Storage 存储分区进行专有访问。但是,虚拟机访问该服务边界外的 Cloud Storage 存储桶时将被拒绝。

控制从互联网访问 Google Cloud 资源

默认情况下,从互联网访问服务边界内的代管资源将被拒绝。根据情况,您也可以视请求的上下文来启用访问。为此,您可以创建根据各种特性(如来源 IP 地址)控制访问权限的访问权限级别。如果从互联网发出的请求不符合访问权限级别中定义的条件,则会被拒绝。

如需使用 Cloud Console 访问某个边界内的资源,您必须配置一个访问权限级别,以允许从一个或多个 IPv4 和 IPv6 范围进行访问,或访问特定用户帐号。

不支持的服务

如需详细了解 VPC Service Controls 支持的产品和服务,请参阅支持的产品页面。

尝试使用 gcloud 命令行工具或 Access Context Manager API 限制不支持的服务会导致错误。

VPC Service Controls 将阻止跨项目访问支持的服务的数据。此外,受限 VIP 可用于阻止工作负载调用不支持的服务。

术语

在本主题中,您了解了 VPC Service Controls 引入的若干新概念:

VPC Service Controls
借助该技术,您可以围绕 Google 管理的服务资源定义安全边界,以控制与这些服务的通信以及这些服务之间的通信
服务边界
Google 管理的资源的安全边界。允许在边界内自由通信,但默认情况下阻止跨边界的所有通信。
入站规则
允许边界外的 API 客户端访问边界内的资源的规则。
出站规则
允许边界内 API 客户端或资源访问边界外资源的规则。
服务边界网桥
边界网桥可允许不同安全边界内的项目进行通信。边界网桥是双向的,允许两侧服务边界内的项目在该网桥的范围内获得同等的访问权限。
Access Context Manager
一项情境感知的请求分类服务,可根据客户端的指定特性(如来源 IP 地址)将请求映射到访问权限级别。
访问权限级别
一种基于多个特性(如来源 IP 范围、客户端设备、地理定位等)的互联网请求分类法。可以配置服务边界以便根据与请求关联的访问权限级别来授予从互联网访问的权限。访问权限级别由 Access Context Manager 服务确定。
访问权限政策
一种定义服务边界的 Google Cloud 资源对象。一个组织中只能有一个访问权限政策对象,它是组织资源的子级。
受限 VIP
受限 VIP 为 VPC Service Controls 支持的产品和 API 提供专用网络路由,以阻止通过互联网对这些产品所用的数据和资源的访问。restricted.googleapis.com 将解析为 199.36.153.4/30。此 IP 地址范围不公布到互联网。

后续步骤