生成范围为 github 操作的 firebase 令牌

Generate firebase token with scope for github actions

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

不可能。

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

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

所以您想针对 Firebase 进行身份验证以在 CI 管道中部署服务。

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

firebase login:ci (I) 范围太广(您作为用户可以访问的所有项目)并且 (II) 与特定的人相关联,如果您离开,则无法很好地扩展从那个项目...

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

您链接的 Github 操作实际上提供了通过服务帐户进行身份验证的能力。这意味着你可以开始了