使用 VPC Service Controls 设置服务边界

VPC Service Controls 是一项 Google Cloud功能,可让您设置服务边界并定义数据传输边界。您可以将 VPC Service Controls 与 Eventarc 搭配使用来帮助保护服务。

我们建议您在创建服务边界时保护所有服务。

Eventarc Advanced

以下限制适用于 Eventarc Advanced 的 VPC Service Controls 支持。

您可以通过查看入站流量平台日志来验证 VPC Service Controls 是否支持 Enrollment、GoogleApiSource、MessageBus 和 Pipeline 资源。

总线

如需发布到 Eventarc Advanced 总线,事件来源必须位于与该总线相同的服务边界内。例如,服务边界外部的总线无法接收边界内 Google Cloud项目的事件。

如需使用事件消息,事件使用方必须位于与 Eventarc Advanced 总线相同的服务边界内。例如,边界内的总线无法将事件路由到边界外的使用方。

流水线

创建或更新 Eventarc Advanced 流水线时,系统会严格执行目标验证。违规处置不具有追溯性。在您设置服务边界之前创建的所有流水线都会继续运行。您无法创建或更新具有不受支持的目标位置的流水线。

下表列出了 Eventarc Advanced 与 VPC Service Controls 集成时支持和不支持的目标:

支持的目标
  • Cloud Run (*.run.app) 和 Cloud Run functions (*.cloudfunctions.net)
  • VPC Service Controls 支持的第一方 Google API (*.googleapis.com),包括区域端点(例如 *.rep.googleapis.com、LOCATION.SERVICE.googleapis.com 和 REGION-SERVICE.googleapis.com)以及 mTLS 端点 (*.mtls.googleapis.com)
  • Eventarc Advanced 总线、Pub/Sub 主题和 Workflows 工作流
  • 任何 HTTP 目标(如果配置了网络连接)
不支持的目标
  • 外部 HTTP 端点,包括 Cloud Run 和 Cloud Run functions 自定义网域 - 被屏蔽,并返回 HTTP 403 状态代码
  • *.cloud.run 和 *.ai.studio 网域上的 Cloud Run 网址 - 因仅支持 *.run.app 网址而被屏蔽,并返回 HTTP 403 状态代码
  • VPC Service Controls 不支持的第一方 Google API(例如 Alpha 版服务)- 被屏蔽,并返回 HTTP 403 状态代码

Eventarc Standard

以下限制适用于 VPC Service Controls 对 Eventarc Standard 的支持。

  • 在受服务边界保护的项目中,Eventarc Standard 受到与 Pub/Sub 相同限制的约束:

    • 将事件路由到 Cloud Run 目标时,您只能在将推送端点设置为使用默认 run.app 网址的 Cloud Run 服务时创建新的 Pub/Sub 推送订阅。自定义网域不起作用。

    • 将事件路由到 Pub/Sub 推送端点设置为 Workflows 执行的 Workflows 目标时,您只能通过 Eventarc Standard 创建新的 Pub/Sub 推送订阅。用于 Workflows 端点的推送身份验证的服务账号必须包含在服务边界内。

  • 由于 VPC Service Controls 会阻止为内部 HTTP 端点创建 Eventarc Standard 触发器,因此您无法在 VPC Service Controls 服务边界内将事件路由到这些端点。

后续步骤