配置网络连接的安全性
本页面介绍使用方网络管理员如何管理使用网络连接的 VPC 网络中的安全性。
虽然 Private Service Connect 接口由提供方组织创建和管理,但它们位于使用方 VPC 网络中。为保护使用方端的安全,我们建议使用基于使用方 VPC 网络中的 IP 地址范围的防火墙规则。这种方法可让使用方控制来自 Private Service Connect 接口的流量,而无需依赖提供方的网络标记。
虽然支持将网络标记与防火墙规则搭配使用,但我们不建议这样做,因为使用方无法控制这些标记。
限制提供方到使用方的入站流量
注意看图 1 中的示例配置,其中使用方希望向提供方授予对 producer-ingress-subnet
的访问权限,并阻止提供方访问 restricted-subnet
。
以下防火墙规则允许受限的提供方到使用方的入站流量:
低优先级规则会拒绝来自网络连接子网
attachment-subnet
的 IP 地址范围的所有出站流量。gcloud compute firewall-rules create deny-all-egress \ --network=consumer-vpc \ --action=DENY \ --rules=ALL \ --direction=EGRESS \ --priority=65534 \ --source-ranges="10.0.1.48/28" \ --destination-ranges="0.0.0.0/0"
优先级较高的规则允许从
attachment-subnet
的 IP 地址范围到producer-ingress-subnet
地址范围内的目的地的出站流量。gcloud compute firewall-rules create allow-limited-egress \ --network=consumer-vpc \ --action=ALLOW \ --rules=ALL \ --direction=EGRESS \ --priority=1000 \ --source-ranges="10.0.1.48/28" \ --destination-ranges="10.10.2.0/24"
针对来自
attachment-subnet
的流量,允许入站流量规则会覆盖隐式拒绝入站流量规则。gcloud compute firewall-rules create allow-ingress \ --network=consumer-vpc \ --action=ALLOW \ --rules=ALL \ --direction=INGRESS \ --priority=1000 \ --source-ranges="10.0.1.48/28"
允许使用方到提供方的出站流量
如果您希望允许使用方网络向提供方网络发起流量,则可以使用入站流量防火墙规则。
注意看图 2 中的示例配置,其中使用方希望允许 subnet-1
通过 Private Service Connect 连接访问提供方网络。
以下防火墙规则可确保只有 subnet-1
可以通过 Private Service Connect 连接访问提供方网络:
gcloud compute firewall-rules create vm-subnet-allow-ingress \ --network=consumer-vpc \ --action=ALLOW \ --rules=ALL \ --direction=INGRESS \ --priority=1000 \ --source-ranges="10.10.2.0/24" \ --destination-ranges="10.0.1.48/28"
配置提供方到提供方的安全性
在提供方应用需要访问其他提供方应用的情况下,您可以使用 VPC 防火墙规则确保安全性。
设想这样一个场景:使用方使用两个不同的第三方代管式服务,这些服务托管在不同的 VPC 网络中。一个服务是数据库,另一个服务提供分析。分析服务必须连接到数据库服务才能分析其数据。一种方法是让该服务创建直接连接。但是,如果直接连接这两个第三方服务,则使用方将无法控制和查看其数据。
一种更安全的方法是使用 Private Service Connect 接口、Private Service Connect 端点和 VPC 防火墙规则,如图 3 所示。
在此方法中,使用方网络通过一个子网中的端点连接到数据库应用,并通过另一个子网中的网络连接连接到分析应用。来自分析应用的流量通过 Private Service Connect 接口和网络连接,流经使用方网络,然后通过 endpoint-subnet
中的端点出站,即可到达数据库应用。
在使用方 VPC 网络中,VPC 防火墙规则拒绝来自 attachment-subnet
的所有出站流量。另一个具有更高优先级的防火墙规则允许从 attachment-subnet
和 consumer-private-subnet
到端点的出站流量。因此,来自分析应用的流量可以到达数据库应用的 VPC 网络,并且此流量必须流经使用方的端点。
以下防火墙规则创建图 4 中所述的配置。
防火墙规则会阻止来自
attachment-subnet
的所有出站流量:gcloud compute firewall-rules create consumer-deny-all-egress \ --network=consumer-vpc \ --action=DENY \ --rules=all \ --direction=EGRESS \ --priority=65534 \ --source-ranges="10.0.1.48/28" \ --destination-ranges="0.0.0.0/0"
防火墙规则允许端口 80 上的出站 TCP 流量从
attachment-subnet
和consumer-private-subnet
流向端点:gcloud compute firewall-rules create consumer-allow-80-egress \ --network=intf-consumer-vpc \ --allow=tcp:80 \ --direction=EGRESS \ --source-ranges="10.0.1.48/28,10.10.2.0/24" \ --destination-ranges="10.0.1.66/32" \ --priority=1000