【问题标题】:Can I use Cloud Functions Invoker role with firebase functions?我可以将 Cloud Functions Invoker 角色与 firebase 函数一起使用吗?
【发布时间】:2019-07-23 11:11:09
【问题描述】:

我有一个只能由我也托管的 GKE 集群调用的云函数。我还想使用 Firebase Hosting 制作一个不错的网址。如果我在该函数上设置 Cloud Function Invoker 角色以仅允许在该 GKE 集群上设置服务帐户,Firebase Hosting 是否会代理该服务帐户,因此仍将对该函数的访问权限限制为仅 Invoker 角色?还是我需要使用 Cloud Endpoints 之类的东西来实现这一目标?

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

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

【问题讨论】:

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


    【解决方案1】:

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

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

    1. 部署它(它将在短时间内公开)
    2. 从 Google Cloud 控制台修改函数的 IAM

    通过 Firebase CLI 重新部署该函数不应更改任何现有的调用者角色(我没有尝试过,但它应该可以工作)。

    【讨论】:

    • 我已经确认使用 firebase cli 重新部署函数时权限(例如调用者角色)没有改变。我想 allUsers 调用者角色仅在创建函数时设置。
    猜你喜欢
    • 2018-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-31
    • 2017-09-04
    • 1970-01-01
    • 2017-10-03
    • 2021-08-23
    相关资源
    最近更新 更多