我有一个Cloud Function,该功能只能由我也在托管的GKE集群调用。我还想使用Firebase Hosting来创建一个不错的URL。如果我在该功能上设置了Cloud Function Invoker角色,以仅允许在该GKE群集上设置服务帐户,Firebase Hosting会代理该服务帐户,从而仍然将对功能的访问限制为仅Invoker角色吗?还是我需要使用Cloud Endpoints之类的东西来实现这一目标?
如果Firebase Hosting不支持它,我是否仍可以使用Firebase CLI至少部署该功能并维护Invoker角色设置?也就是说,Firebase是否会在每次部署功能时重置“调用者”角色以允许所有用户使用?
我可以测试所有这些以确定行为,但是我想如果有更好的方法,我会先问这个问题。
答案 0 :(得分:1)
Firebase托管URL始终是公共的,而Cloud Functions是通过公共HTTP代理的。如果Hosting也无法访问该功能,则将无法限制对该功能的访问。
您应该能够通过以下方式限制对Firebase部署的HTTP功能的访问:
通过Firebase CLI重新部署功能不应更改任何现有的调用者角色(我没有尝试过,但是应该可以使用。)