GCE API Требуется разрешение 'compute.zones.list' для 'projects / someproject' - PullRequest
0 голосов
/ 29 января 2020

Я создал проект в GCP. Затем я создаю учетную запись службы с ролью ComputeAdmin. Затем я включаю «Compute Engine API» для проекта.

Но не могу работать с экземплярами:

# gcloud compute list list

ERROR: (gcloud. compute.instances.list) Некоторые запросы не были выполнены: - Требуется разрешение 'compute.zones.list' для 'projects / someproject'

что я делаю неправильно?

Отредактировано


из учетной записи службы:

ОШИБКА: (gcloud.projects.get-iam-policy) Пользователь [cloud66@project_id.iam.gserviceaccount.com] не имеет разрешение на доступ к проекту [project_id: getIamPolicy] (или оно может не существовать): вызывающая сторона не имеет разрешения

Когда я переключаюсь на основную учетную запись Google:

$ gcloud projects привязки get-iam-policy project_id:

  • участники:

    • serviceAccount:cloud66@project_id.iam.gserviceaccount.com

    роль: роли / вычисления .admin

  • участники:

    • serviceAccount:service-855312803173@compute-system.iam.gserviceaccount.com

    роль: role / compute.serviceAgent

  • участники:

    * 1 055 *
  • serviceAccount:855312803173-compute@developer.gserviceaccount.com
  • serviceAccount:855312803173@cloudservices.gserviceaccount.com

Роль: роли / редактор

участники:

  • пользователь: my_google_user роль: роли / владелец

Из представления журналов:

2020-01-28 16: 46: 30.932 EET Вычислите зоны списка Engine cloud66@project_id.iam.gserviceaccount.com PERMISSION_DENIED

код: 7
сообщение: "PERMISSION_DENIED"

Ответы [ 2 ]

1 голос
/ 30 января 2020

Впервые я создал сервисную учетную запись «cloud66» в тестовый период Google. Скорее всего, это сказалось на правах доступа. Затем я переключил оплату с тестового периода на платный. Я удалил и заново создал учетную запись службы cloud66 в разделе «APIs & Services -> Credentials». Но была политика доступа для «cloud66» с ролью «ComputeAdmin» в разделе «IAM». Когда я удалил политику доступа из раздела «IAM» и заново создал учетную запись службы, проблема была решена.

0 голосов
/ 29 января 2020

Сначала посмотрите документацию . Обычно такая ошибка возникает, если у вашей учетной записи службы недостаточно прав. В этом случае вам следует проверить доступные роли , найти там требуемое разрешение, например compute.zones., и добавить его в свою учетную запись службы, как описано здесь . Например, это может быть Compute Instance Admin (v1) role.

РЕДАКТИРОВАТЬ Похоже, Compute Admin role должно работать для вас. Чтобы быть уверенным, проверьте предоставленные роли в вашем проекте с помощью команды:

gcloud projects get-iam-policy YOUR_PROJECT_ID 

Если вы хотите использовать служебную учетную запись с Cloud API из какого-либо приложения, взгляните на эти инструкции .

EDIT2 Попробуйте проверить свою служебную учетную запись и ключ с 3-го места (например, linux настольный компьютер или сервер), как описано в документации .

...