我可以将Cloud Functions Invoker角色与firebase函数一起使用吗?

时间:2019-07-23 11:11:09

标签: firebase google-cloud-functions google-cloud-endpoints firebase-hosting

我有一个Cloud Function,该功能只能由我也在托管的GKE集群调用。我还想使用Firebase Hosting来创建一个不错的URL。如果我在该功能上设置了Cloud Function Invoker角色,以仅允许在该GKE群集上设置服务帐户,Firebase Hosting会代理该服务帐户,从而仍然将对功能的访问限制为仅Invoker角色吗?还是我需要使用Cloud Endpoints之类的东西来实现这一目标?

如果Firebase Hosting不支持它,我是否仍可以使用Firebase CLI至少部署该功能并维护Invoker角色设置?也就是说,Firebase是否会在每次部署功能时重置“调用者”角色以允许所有用户使用?

我可以测试所有这些以确定行为,但是我想如果有更好的方法,我会先问这个问题。

1 个答案:

答案 0 :(得分:1)

Firebase托管URL始终是公共的,而Cloud Functions是通过公共HTTP代理的。如果Hosting也无法访问该功能,则将无法限制对该功能的访问。

您应该能够通过以下方式限制对Firebase部署的HTTP功能的访问:

  1. 部署它(将在短时间内公开)
  2. 通过Google Cloud控制台修改功能的IAM

通过Firebase CLI重新部署功能不应更改任何现有的调用者角色(我没有尝试过,但是应该可以使用。)