适用于云内安全访问的网络:参考架构

本文档是系列文章中的一篇,该系列介绍了将数据中心工作负载迁移到Google Cloud的企业的网络和安全架构。

该系列包含以下文档:

云内用例的工作负载位于 VPC 网络中,需要连接到 Google Cloud中的其他资源。它们可能会使用云中原生提供的服务,例如 BigQuery。安全边界由各种第一方 (1P) 和第三方 (3P) 功能(如防火墙、VPC Service Controls 和网络虚拟设备)提供。

在许多情况下,这些工作负载横跨多个 Google CloudVPC 网络,并且 VPC 网络之间的边界需要得到保护。本文档详细介绍了这些安全和连接架构。

直接原样迁移架构

云内用例的第一个场景是直接原样迁移架构,即将现有工作负载按原样迁移到云端。

Cloud NGFW

您可以配置 Cloud 新一代防火墙来帮助建立安全边界。您可以使用标记、服务账号和网络标记将精细的防火墙规则应用于虚拟机。如需了解使用 Google Cloud 防火墙规则管理流量的实现指南,请参阅企业基础蓝图中的网络防火墙政策

您还可以使用防火墙规则日志记录来审核和验证防火墙规则设置的效果。

您可以使用 VPC 流日志进行网络取证,还可以流式传输日志,以便与 SIEM 集成。整个系统可以提供实时监控、事件关联、分析和安全提醒。

图 1 显示了防火墙规则如何使用网络标记来帮助限制 VPC 网络中虚拟机之间的流量。

使用网络标记应用精细的出站流量控制的网络防火墙配置。

图 1. 使用网络标记应用精细的出站流量控制的网络防火墙配置。

网络虚拟设备

网络虚拟设备 (NVA) 是一种具有 Web 应用防火墙 (WAF) 或安全应用级层防火墙等安全功能的虚拟机。具有多个网络接口的 NVA 可用于在 VPC 网络之间建立桥接。您可以使用 NVA 在 VPC 网络之间实现安全功能流量,特别是在使用中心辐射型配置时,如图 2 所示。

共享 VPC 网络中的集中式网络设备配置。

图 2. 共享 VPC 网络中的集中式网络设备配置。

Cloud IDS

利用 Cloud Intrusion Detection System (Cloud IDS),您可以镜像来自 VPC 网络中子网的流量,从而实现原生安全检查和日志记录。您可以使用 Cloud IDS 在网络层和应用层检查和监控各种威胁以供分析。您可以在 Google Cloud VPC 网络中创建 Cloud IDS 端点。这些端点使用网络栈中内置的数据包镜像功能,监控进出该网络的入站流量和出站流量。 Google Cloud 为了连接到托管 Cloud IDS 进程的服务提供方项目(Google 管理的项目),您必须启用专用服务访问通道

如果您采用中心辐射式架构,则每个 spoke 的流量可以镜像到 Cloud IDS 实例,如图 3 所示。

镜像使用专用服务访问通道的 VPC 流量的 Cloud IDS 配置。

图 3. 镜像使用专用服务访问通道的 VPC 流量的 Cloud IDS 配置。

您可以通过额外步骤在 VPC Service Controls 服务边界中保护 Cloud IDS。如需详细了解 VPC Service Controls 支持,请参阅支持的产品

Network Connectivity Center

Network Connectivity Center 是一个编排框架,用于在连接到名为 hub 的集中管理资源的资源之间简化网络连接。Network Connectivity Center 支持以下类型的网络:

  • Google Cloud VPC 网络
  • 使用 Cloud Interconnect 或 HA VPN 的本地网络和其他云网络
  • 由虚拟机锚定的加密连接

Network Connectivity Center 是该架构的控制平面。与网络的连接称为“spoke”。您可以使用 Network Connectivity Center 以全网状拓扑或中心辐射型拓扑将网络连接在一起。

VPC 网络对等互连

对于跨多个 VPC 网络的应用,无论它们是否属于同一个 Google Cloud 项目或组织资源,VPC 网络对等互连都支持 VPC 网络之间的连接。此连接方式可让流量在 Google 的网络中流动,而不会通过公共互联网。

中心辐射型架构是 VPC 连接的常用模型。如果企业的各种应用需要访问一组共同的服务(例如日志记录或身份验证),则此模型非常有用。如果企业需要为通过中心离开网络的流量实施一组共同的安全政策,则此模型也非常有用。如需有关使用 VPC 网络对等互连设置中心辐射型架构的指导,请参阅使用 VPC 网络对等互连实现跨云网络 VPC 之间的连接

共享 VPC

您可以使用共享 VPC 集中控制宿主项目中的子网、路由和防火墙等网络资源。这种级别的控制让您能够实施网络管理、审核和访问权限控制的最小权限安全最佳实践,因为您可以将网络管理任务委托给网络和安全管理员。您可以使用服务项目将创建和管理虚拟机的权限分配给实例管理员。使用服务项目可确保虚拟机管理员只能创建和管理实例,而不能在共享 VPC 网络中进行任何影响网络的更改。

例如,如需提供更高的隔离性,您可以定义位于不同宿主项目中的两个 VPC 网络,并将多个服务项目连接到每个网络,其中一个网络用于生产,另一个用于测试。图 6 显示了使用不同的项目将生产环境与测试环境隔离开来的架构。

如需详细了解构建 VPC 网络的最佳实践,请参阅 VPC 设计的最佳实践和参考架构

使用多个隔离的宿主项目和服务项目(测试和生产环境)的共享 VPC 网络配置。

图 6. 使用多个隔离的宿主项目和服务项目(测试和生产环境)的共享 VPC 网络配置。

混合服务架构

混合服务架构提供更多云原生服务,可供您用于在多 VPC 环境中连接和保护服务。这些云原生服务为直接原样迁移架构中的功能提供了补充,可让您更轻松地大规模管理多 VPC 环境。

Private Service Connect

Private Service Connect 使一个 VPC 网络中托管的服务可以在另一个 VPC 网络中提供。服务不需要由同一组织资源托管,因此 Private Service Connect 可用于以非公开方式使用另一个 VPC 网络中的服务,即使该服务连接到另一个组织资源也是如此。

您可以使用 Private Service Connect 来访问 Google API 或访问托管在其他 VPC 网络中的服务。

使用 Private Service Connect 访问 Google API

使用 Private Service Connect 时,您可以使用属于 VPC 网络的 Private Service Connect 端点公开 Google API,如图 7 所示。

使用 VPC 网络专用的 Private Service Connect 端点将流量发送到 Google API 的 Private Service Connect 配置。

图 7. 使用 VPC 网络专用的 Private Service Connect 端点将流量发送到 Google API 的 Private Service Connect 配置。

工作负载可以使用 Private Service Connect 端点将流量发送到一组全球 Google API。此外,您还可以使用 Private Service Connect 后端访问单个 Google API,从而将负载均衡器的安全功能扩展到 API 服务。图 8 显示了此配置。

使用 Private Service Connect 后端将流量发送到 Google API 的 Private Service Connect 配置。

图 8. 使用 Private Service Connect 后端将流量发送到 Google API 的 Private Service Connect 配置。

在 VPC 网络或实体之间使用 Private Service Connect

通过 Private Service Connect,服务提供方也可以向相同或不同组织资源中的另一个 VPC 网络中的服务使用方提供服务。服务提供方 VPC 网络可支持多个服务使用方。使用方可以通过将流量发送到位于使用方 VPC 网络中的 Private Service Connect 端点来连接到提供方服务。端点将流量转发到包含已发布服务的 VPC 网络。

通过端点发布和使用托管式服务的 Private Service Connect 配置。

图 9. 通过服务连接发布托管式服务并通过端点使用服务的 Private Service Connect 配置。

专用服务访问通道

建议服务提供方通过 Private Service Connect 向服务使用方提供服务。不过,Private Service Connect 并不支持所有服务。您可以使用专用服务访问通道访问这些列出的服务

VPC 无服务器访问通道连接器

VPC 无服务器访问通道连接器处理无服务器环境与 VPC 网络之间的流量。在 Google Cloud 项目中创建连接器后,将其连接到特定的 VPC 网络和区域。然后,您可以配置无服务器服务,将此连接器用于出站网络流量。您可以使用子网或 CIDR 范围指定连接器。通过连接器发送到 VPC 网络的流量来自您指定的子网或 CIDR 范围,如图 10 所示。

使用 VPC 网络内的内部 IP 地址访问 Google Cloud 无服务器环境的无服务器 VPC 访问通道连接器配置。

图 10. 使用 VPC 网络内的内部 IP 地址访问 Google Cloud 无服务器环境的无服务器 VPC 访问通道连接器配置。

支持 Cloud Run、Cloud Run functions 或 App Engine 标准环境的每个区域均支持无服务器 VPC 访问通道连接器。如需了解详情,请参阅使用 VPC 无服务器访问通道连接器时的支持的服务支持的网络协议列表。

直接 VPC 出站流量

借助直接 VPC 出站流量,您的 Cloud Run 服务无需设置无服务器 VPC 访问通道连接器即可将流量发送到 VPC 网络。

VPC Service Controls

VPC Service Controls 可阻止来自互联网或来自安全边界外的项目的授权访问,从而帮助防止 Cloud Storage 或 BigQuery 等服务的数据渗漏。例如,设想以下场景:人为错误或错误的自动化操作导致在 Cloud Storage 或 BigQuery 等服务上错误设置 IAM 政策。导致这些服务中的资源可公开访问。在这种情况下,存在数据泄露的风险。如果您将这些服务配置为 VPC Service Controls 边界的一部分,则即使资源的 IAM 政策允许访问,对资源的入站访问也会被阻止。

VPC Service Controls 可以根据客户端特性(如身份类型(服务账号或用户)和网络来源(IP 地址或 VPC 网络)创建边界。

VPC Service Controls 可帮助降低以下安全风险:

  • 从使用被盗凭据的未授权网络进行的访问。
  • 恶意内部人员或被攻破的代码造成数据渗漏。
  • 配置错误的 IAM 政策导致私有数据被公开。

图 11 显示了 VPC Service Controls 如何帮助您建立服务边界以帮助降低这些风险。

使用专用访问通道服务扩展到混合环境的 VPC 服务边界。

图 11. 使用专用访问通道服务扩展到混合环境的 VPC 服务边界。

您可以使用入站和出站规则来允许两个服务边界之间的通信,如图 12 所示。

配置入站和出站规则以在服务边界之间进行通信。

图 12. 配置入站和出站规则以在服务边界之间进行通信。

如需详细了解 VPC Service Controls 部署架构的建议,请参阅设计和架构服务边界。如需详细了解 VPC Service Controls 支持的服务列表,请参阅支持的产品和限制

零信任分布式架构

网络边界安全控制措施是必要的,但不足以支持最小权限的安全原则和纵深防御。零信任分布式架构基于网络边界边缘构建,但并不仅仅依赖于网络边界边缘来实施安全控制。作为分布式架构,它们由微服务组成,使用按服务执行的安全政策、强身份验证和工作负载身份。

您可以将零信任分布式架构作为由 Cloud Service Mesh 和 Cloud Service Mesh 管理的服务来实现。

Cloud Service Mesh

Cloud Service Mesh 提供开箱即用的 mTLS 零信任分布式架构微服务网格,它基于 Istio 基础构建而成。您可以使用集成的来设置网格。GKE 支持具有 Google 管理的数据和控制平面的托管式 Cloud Service Mesh。此外,也可以使用集群内控制平面,它适用于 Google Distributed Cloud 或 GKE Multi-Cloud 等其他环境。Cloud Service Mesh 为您管理身份和证书,提供基于 Istio 的授权政策模型

Cloud Service Mesh 依赖舰队来管理多集群服务部署配置和身份。与 Cloud Service Mesh 一样,当您的工作负载在平面(或共享)VPC 网络连接环境中运行时,除了防火墙配置之外,没有特殊的网络连接要求。如果您的架构包含跨多个 VPC 网络或网络环境(例如跨 Cloud Interconnect 连接)的多个 Cloud Service Mesh 集群,那么您还需要一个东西网关。Cloud Service Mesh 网络的最佳实践与 GKE 网络最佳实践中所述相同。

Cloud Service Mesh 还与 Identity-Aware Proxy (IAP) 集成。IAP 使您可以设置精细的访问权限政策,以便根据源请求的属性(例如用户身份、IP 地址和设备类型)来控制用户对工作负载的访问权限。这种级别的控制可实现端到端零信任环境。

使用 Cloud Service Mesh 时,您需要考虑 GKE 集群要求。如需了解详情,请参阅“GKE 上的单个项目安装”文档中的要求部分。

后续步骤