限制Google Cloud Run中的网络活动

时间:2020-04-23 19:14:14

标签: google-cloud-platform google-cloud-run

我正在使用Cloud Run容器运行不受信任的(用户提供的)代码。容器接收POST请求,运行代码,并以结果响应。出于安全原因,它部署在锁定的服务帐户上,但我也想阻止所有其他网络活动。如何做到这一点?

2 个答案:

答案 0 :(得分:1)

Cloud Run(受管理)目前不提供防火墙限制来按IP /主机有选择地阻止入站或出站流量。我假设您正在尝试阻止从容器到外部发起的连接。将来,Cloud Run计划增加对Google Cloud VPC服务控件功能的支持,这样可能会有所帮助。

但是,如果您有机会使用具有类似开发人员经验但在Kubernetes集群上运行的Cloud Run for Anthos(在GKE上),则实际上可以轻松编写Kubernetes NetworkPolicy策略(我有一些秘诀) here)来控制可以从正在运行的容器中传入/传出哪种流量。使用Kubernetes集群时,也可以使用GCE firewall rulesVPC service controls

除此之外,在Cloud Run(完全托管)环境上,您唯一的选择是在启动容器以阻止某些网络模式时使用Linux iptables命令。重要的是,请注意,Cloud Run(完全托管)在gVisor沙箱上运行,该沙箱模拟系统调用。而且iptables中的许多功能目前在gVisor中尚未实现/支持。通过查看issue trackerpatches,我可以看出它正在发展之中,有些甚至可以在今天使用。

答案 1 :(得分:1)

您可以将 Cloud Run(托管)部署耦合到没有任何互联网访问权限的 VPC Network