我有一个Cloud Function
,我想通过只允许从我的域访问所有用户来确保安全。我已经研究了好几天了
谷歌似乎限制了许多选择,相反,你被迫购买和使用更多的产品,例如,你需要一个Network Balancer
,这是一个伟大的产品,但对小企业来说是一个怪物,并不是每个人都需要它(或想要为它付费)。
那么,如何确保Console
上的函数没有IAM
(不需要登录),在扩展到平衡器之前只允许某些域调用?
-
我确实看到谷歌有一个叫做
Organization policies for project
的东西,它应该限制一个域,但文档不清楚和过时(指示UI不存在) -
我知道Firebase有
Anonymous User
,它允许Function
检查匿名用户的谷歌ID,但在线的一切都是Firebase的东西,没有任何解释如何使用Python的正常函数来做到这一点。
编辑我确实使用Firebase Hosting
,但我的函数是Python它是由GCP处理的,而不是Firebase函数。
解决了,你可以使用API Gateway
,与APIkey
,restrict仅将密钥发送到您的域名,并上传config
与Function
url,因此您可以使用API url+密钥访问它,并且没有其他人可以运行它。
查看此处云API网关不允许使用CORS
我希望我能把它连接到一个域名,但我们不能,谷歌似乎希望每个人都使用昂贵的平衡器,或Firebase(在这种情况下收费的函数使用为每个网站访问)