(gcloud.projects.list)PERMISSION_DENIED

问题描述 投票:0回答:1

我有一台机器需要运行以下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 Resource Manager API

我甚至创建了一些服务帐户凭据并在机器中激活它们。还是一样的错误。

SDK documentation中没有关于如何启用凭据以查看其他项目的参考

以前有人有过这个问题吗?我看到过时的问题,其解决方案对我来说没有用。

编辑

我应该提一下,有问题的机器是一个GCE实例,没有办法(除非我手动安装SDK,这是一个我不打算进入的混乱)来更新SDK。

Cloud API访问范围是手动设置的,没有提到“资源管理器”,我似乎无法添加或删除任何新的API访问

google-cloud-platform google-compute-engine credentials gcloud
1个回答
1
投票

根据this documentgcloud projects list显示所有活动项目的帐户都拥有所有者,编辑或查看器项目级别的角色。只要您在实例中激活的服务帐户在gcp项目中具有其中一个角色,您就应该能够运行该命令。

例如,从您的云外壳授予查看者角色到您的服务帐户:

gcloud projects add-iam-policy-binding <your_project_id> \
--member serviceAccount:<your_service_account> --role roles/viewer

使用json key file激活实例中的服务帐户:

gcloud auth activate-service-account --key-file=/path/key.json

运行项目列表命令:

gcloud projects list --format=json
© www.soinside.com 2019 - 2024. All rights reserved.