首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法使用gcloud和服务帐户运行Firebase测试: 403,没有storage.objects.create

无法使用gcloud和服务帐户运行Firebase测试: 403,没有storage.objects.create
EN

Stack Overflow用户
提问于 2018-01-18 17:23:22
回答 6查看 3.2K关注 0票数 12

我正在尝试使用glcoud CLI作为CircleCi中的服务帐户来运行检测测试。当我跑步时:

代码语言:javascript
运行
复制
gcloud config set project project-name-12345
gcloud auth activate-service-account firebase-testlab-serviceuser@project-name-12345.iam.gserviceaccount.com --key-file ${HOME}/client-secret.json
gcloud firebase test android run --type instrumentation --app debug-app.apk --test debug-test.apk --device model=Nexus6P,version=27,locale=en,orientation=portrait --environment-variables coverage=true,coverageFile=/sdcard/tmp/code-coverage/connected/coverage.ec --directories-to-pull=/sdcard/tmp --timeout 20m

我得到:

代码语言:javascript
运行
复制
ERROR: (gcloud.firebase.test.android.run) Could not copy [debug-app.apk] to [gs://test-lab-xxxxxxxx-yyyyyyyy/2018-01-18_17:14:09.964449_zPAw/] ResponseError 403: firebase-testlab-serviceuser@project-name-12345.iam.gserviceaccount.com does not have storage.objects.create access to bucket test-lab-xxxxxxxx-yyyyyyyy..

使用API控制台(https://console.cloud.google.com/iam-admin/iam/project),我给了我的服务用户所有我认为相关的权限:

  • 火力基础崩溃符号Uploader
  • 火力测试实验室管理
  • 仓储管理
  • 存储对象管理
  • 存储对象创建者
  • 存储对象查看器
  • 火基规则系统

任何帮助都是非常感谢的。谢谢。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2018-01-18 22:39:52

您应该能够使用在Google控制台中创建的服务帐户。您的服务帐户是否具有所需的项目编辑器角色?(如本文档中所述:https://firebase.google.com/docs/test-lab/continuous)

票数 12
EN

Stack Overflow用户

发布于 2018-01-18 17:58:15

在多次点击Firebase控制台和Google云控制台,阅读了这些内容,并在Slack上寻求帮助,以及更多的尝试和错误之后,我发现Firebase控制台有一个服务帐户页面:

https://console.firebase.google.com/u/0/project/project-name-12345/settings/serviceaccounts/adminsdk

这与Google控制台中的服务帐户页面不同

https://console.cloud.google.com/iam-admin/serviceaccounts/project?project-name-12345

原来您想要Firebase服务帐户,您不能通过云控制台创建一个帐户。超级非常烦人。

票数 5
EN

Stack Overflow用户

发布于 2020-02-26 14:54:13

创建密钥的步骤如下:

  1. 火线控制台https://console.firebase.google.com/
  2. 项目设置
  3. “服务帐户”选项卡
  4. 在“服务帐户”面板中,Firebase Admin SDK
  5. 在"Firebase Admin SDK“面板的底部,”生成新的私钥“

这就是Etherton回答的

https://stackoverflow.com/a/48327579/2353939

即使在那之后,我仍然有一些错误。因此,我添加了一组角色如下。

火力测试实验室管理

消防基础服务管理服务代理

Firebase Admin管理员服务代理

服务帐户令牌创建器

存储对象创建者

这也没能解决。最后,通过向服务帐户添加编辑器角色,应用了P.Davis应答。https://stackoverflow.com/a/48331465/2353939

添加编辑器角色的步骤如下

  1. 转到google云控制台https://console.cloud.google.com/iam-admin/iam
  2. 进入"IAM“
  3. 使用从firebase控制台下载的json文件中的"client_email“查找您需要编辑的服务帐户。
  4. 点击右边的“编辑”图标
  5. 向下滚动并“添加另一个角色”
  6. 单击输入字段并键入"Editor“以搜索
  7. 选择副标题为“编辑访问所有资源”的
  8. 保存
  9. 现在你应该可以使用它了
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48327027

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档