我正在尝试禁用私有Google访问,这可以在子网上实现,但不能用于无服务器VPC访问连接器。或者,如果可以禁用云NAT上的私人访问,我相信这也会起作用。这两者都有选择吗?
原因是,我需要来自云功能的请求,以便将静态ip用于白名单目的。这对非谷歌服务来说是正确的,但GCP服务无法识别ip,可能是因为私人谷歌访问正在GCP网络上内部路由流量。
我认为这是不可能的。主要是因为谷歌一再表示:不要相信网络。
正确的模式是使用IAM授权来实现私有功能。
问题出在你的外部电话上。同样,最好的方法是使用IAM,在非Google环境中部署服务帐户和服务帐户密钥文件。然而,并非所有系统都符合这一要求。所以,你可以想象这样的
External environment --> Cloud Function IP Check --IAM--> Private Cloud Function
^
|
Google environment ----------------------IAM------------------
您可以使用一个功能来检查IP,然后私下呼叫(使用自己的服务帐户凭据(私人功能;就像代理一样。
其他解决方案
如果您真的想只使用IP进行身份验证,即使不建议这样做,我认为您可以使用HTTP全局负载均衡器上的无服务器NEG来实现这一点。
HTTP全局负载平衡器是一个代理,HTTPS连接在负载平衡器级别终止。因此,可以在标头中找到始发IP
External environment --> Global Load Balancer with pubic IP--> Cloud Function
^
|
Public internet
|
Google Environment --> NAT/VPC Connector
国际海事组织,要降低安全级别,需要做很多事情。它解决了你的问题,但很糟糕!