【问题标题】:GCP: Disable Private Google Access for Serverless VPC access connectorGCP:为无服务器 VPC 访问连接器禁用私有 Google 访问
【发布时间】:2020-09-16 13:33:09
【问题描述】:
我正在尝试禁用私有 Google 访问,我可以在子网上实现,但不适用于无服务器 VPC 访问连接器。或者,如果可以禁用云 NAT 上的私有访问,我相信这也可以。这两种方法有什么选择吗?
原因是,我需要来自云功能的请求才能将静态 ip 用于白名单目的。这对于非 Google 服务可以正常工作,但 GCP 服务无法识别 IP,可能是因为 Private Google Access 正在 GCP 网络内部路由流量。
【问题讨论】:
标签:
google-cloud-platform
vpc
static-ip-address
【解决方案1】:
我认为这是不可能的。主要是因为谷歌反复强调:不要相信网络。
而正确的模式是使用IAM授权达到私有功能。
问题出在您的外部电话上。最好的方法还是使用 IAM,将服务帐户和服务帐户密钥文件部署在非 Google 环境中。但是,所有系统都不符合此要求。所以,你可以想象这样的事情
External environment --> Cloud Function IP Check --IAM--> Private Cloud Function
^
|
Google environment ----------------------IAM------------------
您可以使用一个函数来检查IP,然后私下(使用自己的服务帐户凭据)调用该私有函数;像一个代理。
其他解决方案
如果你真的想只使用IP进行身份验证,即使不推荐,我认为你可以通过serverless NEG on HTTP Global Load balancer来实现。
HTTP 全局负载均衡器是一个代理,HTTPS 连接在负载均衡器级别终止。所以,originator IP can be found in the header
External environment --> Global Load Balancer with pubic IP--> Cloud Function
^
|
Public internet
|
Google Environment --> NAT/VPC Connector
IMO,要设置很多东西来降低安全级别。它解决了你的问题,但它很糟糕!