(gcloud.projects.list) PERMISSION_DENIED - PullRequest
       18

(gcloud.projects.list) PERMISSION_DENIED

0 голосов
/ 04 сентября 2018

У меня есть машина, которая должна выполнить следующую команду 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

Это дает мне список машин, перечисленных в указанном мною проекте.

Я включил API менеджера ресурсов Google

Я даже создал некоторые учетные данные учетной записи службы и активировал их на компьютере. Все та же ошибка.

В документации SDK нет ссылок на то, как включить учетные данные для просмотра других проектов

Кто-нибудь имел эту проблему раньше? Я видел устаревшие вопросы, решения которых у меня не сработали.

Редактировать

Я должен упомянуть, что рассматриваемая машина является экземпляром GCE, и нет способа (если я не установлю вручную SDK, что является беспорядком, в который я не собираюсь входить) обновить SDK.

Области доступа к облачному API устанавливаются вручную, и «Менеджер ресурсов» не упоминается, и я не могу добавить или удалить какие-либо новые доступы API

1 Ответ

0 голосов
/ 04 сентября 2018

Согласно этому документу , gcloud projects list показывает все активные проекты, в которых учетная запись имеет роль уровня владельца, редактора или средства просмотра. Пока учетная запись службы, которую вы активировали в своем экземпляре, имеет одну из этих ролей в проекте gcp, вы сможете выполнять команду.

Например, из вашей облачной оболочки предоставьте роль просмотра вашей учетной записи службы:

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

Запустите команду списка проектов:

gcloud projects list --format=json
...