【发布时间】:2019-03-18 22:26:13
【问题描述】:
我有一个未启用结算功能的 Firebase 项目。我想使用属于另一个启用计费的项目的 VM 创建数据库备份。备份脚本很简单:
.npm/bin/firebase --project $PROJECT_ID database:get /
将新创建的服务帐户分配给运行此脚本的 VM(通过 GCE)。如果此帐户无权访问项目$PROJECT_ID,那么显然这会失败:
Error: Authorization failed. This account is missing the following required permissions on project $PROJECT_ID:
firebase.projects.get
firebasedatabase.instances.get
但是将这些特定权限授予服务帐户,或者甚至为该项目分配“所有者”角色并不能让它变得更好。而是:
Error: HTTP Error: 404, The specified project was not found.
使用--debug 运行表明,特别是GET https://admin.firebase.com/v1/projects/$PROJECT_ID 返回404。
项目存在,我通过在我的工作站上使用我自己的(非服务)帐户运行完全相同的命令来验证它。我还通过在 VM 上运行 gcloud auth list 验证了该帐户是否正确。该项目还显示在同一 VM 上的 gcloud projects list 输出中。
有没有办法让服务帐号跨项目工作并访问 Firebase 数据库?
【问题讨论】:
标签: firebase firebase-realtime-database firebase-cli