将 VPC Service Controls 与数据产品搭配使用

本页面介绍了如何配置 VPC Service Controls 以保护数据产品。

使用 VPC Service Controls 防止数据渗漏,并确保数据产品、数据资产和用户之间的通信保持在授权边界内。

数据产品是资源的逻辑分组(数据资产),可以跨多个项目。如果您的项目属于不同的 VPC Service Controls 边界,您必须配置入站流量和出站流量规则,以允许 Dataplex API 管理资源和元数据。

准备工作

用于创建数据产品的服务边界规则

以下项目定义了在服务边界之间创建数据产品所需的通信边界:

  • 项目 R(调用方):用户、服务账号或应用(用于发起创建请求)所在的项目。

  • 项目 E(数据产品):托管数据产品资源的项目。

一张图示,显示了两个服务边界。边界 1 包含项目 R(调用者),边界 2 包含项目 E(数据产品)。

如需在调用方项目以外的项目中创建数据产品,请配置以下入站流量和出站流量规则:

项目 必须提供规则
Project R 项目 E 的出站规则
Project E 项目 R 的入站规则

用于管理数据资产的服务边界规则

当您管理数据资产(例如向数据产品添加 BigQuery 表)时,该架构涉及三个不同的项目角色:

  • 项目 R(调用者):发起资产管理请求的项目。

  • 项目 D(数据产品):托管用于对资产进行分组的数据产品的项目。数据产品中的资产是指向物理数据资源(例如 BigQuery 数据集、表或视图)的指针。一个数据产品可以包含一个或多个资产。

  • 项目 S(源资源):实际数据资源所在的项目。

一张图示,显示了三个服务边界。边界 1 包含项目 R(调用者),边界 2 包含项目 D(数据产品),边界 3 包含项目 S(来源资源)。

当您添加或管理位于数据产品所在项目以外的项目中的数据资产时,必须通过配置以下入站和出站规则来建立这三个项目之间的通信桥梁:

项目 必须提供规则
Project R 项目 D 的出站规则
项目 S 的出站规则
项目 D 项目 R 的入站规则
项目 S 的出站规则
Project S 项目 R 的入站规则
项目 D 的入站规则

用于向数据产品添加切面和元数据的服务边界规则

以下项目定义了跨服务边界将元数据和方面附加到数据产品所需的通信边界:

  • 项目 R(调用者):发起附加方面请求的项目。

  • 项目 D(数据产品):托管接收方面的数据产品的项目。

  • 项目 A(切面类型):定义和存储特定切面类型(元数据架构)的项目。

一张图示,显示了三个服务边界。边界 1 包含项目 R(调用者),边界 2 包含项目 D(数据产品),边界 3 包含项目 A(方面类型)。

如果这些项目位于不同的安全边界内,则需要配置以下入站和出站规则才能附加方面:

项目 必须提供规则
Project R 项目 D 的出站规则
项目 A 的出站规则
项目 D 项目 R 的入站规则
项目 A 的出站规则
项目 A 项目 R 的入站规则
项目 D 的出站规则

用于使用数据产品的服务边界规则

为了让数据产品使用方能够访问受 VPC Service Controls 保护的数据产品,您必须将使用方项目或特定用户身份加入许可名单。 如需向数据产品使用者授予此访问权限,请在数据产品的服务边界中配置入站规则。

限制

  • 数据产品不支持基于方法的规则。为确保功能正常运行,您必须在入站和出站规则中允许 dataplex.googleapis.com 服务的所有方法 (*)。例如:

    ingressTo:
    operations:
    - methodSelectors:
      - method: '*'
      serviceName: dataplex.googleapis.com
    resources:
    - projects/PROJECT_ID
    
  • 如果您的底层 BigQuery 资源受服务边界保护,则必须为 bigquery.googleapis.com 服务配置入站和出站规则。例如:

    ingressTo:
    operations:
    - methodSelectors:
      - method: '*'
      serviceName: bigquery.googleapis.com
    resources:
    - projects/PROJECT_ID
    

后续步骤