firebase - 使用 serviceaccount 部署 Firebase 托管失败并显示 403
问题描述
我正在尝试通过管道(Gitlab,但这对这个问题无关紧要)使用服务帐户(我自己创建,而不是 Google/Firebase 默认提供的服务帐户)部署一个 Firebase 托管项目。
当我在本地运行以下命令时(管道中也会发生同样的情况):
GOOGLE_APPLICATION_CREDENTIALS="/path/to/serviceaccount.json" firebase deploy --only hosting
我收到以下错误:
=== Deploying to 'my-firebase-project'...
i deploying hosting
Error: HTTP Error: 403, The caller does not have permission
除了--debug
403 之外,不提供任何更多详细信息。我已将以下角色设置为服务帐户:
- Firebase 托管管理员
- Firebase 规则管理员
- API 密钥查看器
部署规则(使用--only firestore
)没有问题。我已阅读有关Firebase 托管角色的文档,但分配这些也不起作用。
有谁知道我缺少哪些角色?
注意:这里使用服务帐户进行部署,因此任何firebase login
/firebase logout
操作都不会产生任何影响。有关详细信息,请参阅使用 gcloud 服务帐户登录到 firebase。
解决方案
在 Firebase 支持的帮助下,我被指向了Deploying to Firebase 页面,该页面提供了所有必需角色的枚举。在这里总结一下:
- Cloud Build 服务帐号
- Firebase 管理员
- API 密钥管理员
我错过了第一个,这导致了这个错误。希望这对其他人也有帮助!
推荐阅读
- android - 带有 SimpleCursorAdapter 的 AutoCompleteTextView 不过滤
- php - 获取我已转换为 HTML 表格的报告数据
- mysql - 如何在 MYSQL 中使用 Group 语句选择多个属性
- alloy - 提取集合中具有特定属性的所有元素(与特定值相关)
- excel - ThisWorkbook.SaveAs Filename 不保存并且没有错误代码(我看到了)
- regex - 如何增加 Google 表格中的重复值?
- ruby - 未定义的方法长度问题
- python - Python更新变量级别
- swiftui - SwiftUI 中 Text 对象中使用的当前字体
- postgresql - 无法在 postgresql 中创建关系表