我有一台机器需要运行以下gcloud命令:gcloud projects list --format=json
给我的输出错误:ERROR: (gcloud.projects.list) PERMISSION_DENIED: Request had insufficient authentication scopes.
很明显,计算机的当前配置和帐户集没有权限。
有趣的是当我使用gcloud compute instances list --project=<project_ID> --format=json
它给出了我指定的项目中列出的机器列表。
我启用了Google资源管理器API
我甚至创建了一些服务帐户凭据并在机器中激活了它们。还是同样的错误。
在SDK文档中,没有关于如何启用凭据以查看其他项目的参考。
以前有人有过这个问题吗?我看到一些过时的问题,这些问题的解决方案对我来说行不通。
编辑
我应该指出,所讨论的机器是一个GCE实例,没有办法(除非我手动安装SDK,这是我不想进入的混乱)来更新SDK。
云API访问范围是手动设置的,没有提到“资源管理器”,我似乎无法添加或删除任何新的API访问
发布于 2018-09-04 20:51:58
根据本文件的说法,gcloud projects list显示所有的活动项目都是帐户的所有者,编辑器或查看者项目级别的角色。只要您在实例中激活的服务帐户在gcp项目中具有其中一个角色,您就应该能够运行该命令。
例如,从云shell中将查看器角色授予服务帐户:
gcloud projects add-iam-policy-binding <your_project_id> \
--member serviceAccount:<your_service_account> --role roles/viewer使用json密钥文件激活实例中的服务帐户
gcloud auth activate-service-account --key-file=/path/key.json运行projects list命令:
gcloud projects list --format=jsonhttps://stackoverflow.com/questions/52167792
复制相似问题