【问题标题】:Generate firebase token with scope for github actions生成具有 github 操作范围的 firebase 令牌
【发布时间】:2020-11-16 20:26:40
【问题描述】:

是否可以使用 CLI 创建仅适用于帐户内特定项目的 Firebase 令牌?当前使用firebase login:ci 的方式看起来适用于帐户内的所有项目。我将使用这个令牌专门用于 Github 行动 CI 工作,并且可能会传递给其他团队成员。

  • 我见过像 this 这样的问题,这是在 2019 年提出的。
  • 我计划将令牌与 this action 一起使用,因此欢迎任何解决方法。

【问题讨论】:

    标签: firebase token github-actions firebase-cli


    【解决方案1】:

    这是不可能的。

    当您获得登录令牌时,该令牌代表用户,与用户可能有权访问的任何项目无关。

    如果您想控制每个用户对各种项目的访问,您必须在控制台中使用IAM 为您尝试控制的每个产品进行配置。如果您授予用户在控制台中进行更改的权限,则他们隐含地有权从 CLI 进行相同的更改。

    【讨论】:

    • 谢谢 Doug,但我误用了“app”。我实际上指的是一般的项目。例如:我目前在我的 google 帐户中管理四个项目,并希望仅为其中一个生成令牌。
    • 还是不行。您必须使用控制台中的 IAM 配置来配置每个用户的权限。
    【解决方案2】:

    因此,您希望针对 Firebase 进行身份验证以在 CI 管道中部署服务。

    如果令牌泄漏,您只想将访问范围限定为特定项目以减少影响半径。

    firebase login:ci 具有 (I) 范围太广(您作为用户可以访问的所有项目)和 (II) 与特定人员相关联,如果您从该项目中退出,则无法很好地扩展。 ..

    解决方案是创建一个服务帐户并为其分配必要的role(s)。 您需要在 CI 服务器上提供服务帐户密钥 JSON 文件并分别设置 GOOGLE_APPLICATION_CREDENTIALS

    您链接的 Github Action 实际上提供了通过服务帐户进行身份验证的能力。这意味着你很高兴

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-06-19
      • 1970-01-01
      • 2019-04-04
      • 2021-08-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多