Отсутствует роль агента пользователя в облачной функции в Google Cloud IAM - PullRequest
0 голосов
/ 28 декабря 2018

Я работаю над серией облачных функций в одном проекте Google Cloud, и по какой-то причине у меня внезапно появляется эта ошибка:

Deployment failure:
Missing necessary permission resourcemanager.projects.getIamPolicy for service-1092904037961@gcf-admin-robot.iam.gserviceaccount.com on resource projects/la-cloud-functions. Please grant service-1092904037961@gcf-admin-robot.iam.gserviceaccount.com the Cloud Functions Service Agent role. You can do that by running 'gcloud iam service-accounts add-iam-policy-binding projects/la-cloud-functions --member=service-1092904037961@gcf-admin-robot.iam.gserviceaccount.com --role=Cloud Functions Service Agent'

Кроме плохо отформатированного ответа об ошибке (вы не можетеиметь --role=Cloud Functions Service Agent - это должно быть --role=roles/cloudfunctions.serviceAgent), когда я пытаюсь запустить измененную команду:

gcloud iam service-accounts add-iam-policy-binding projects/la-cloud-functions --member=service-1092904037961@gcf-admin-robot.iam.gserviceaccount.com --role=roles/cloudfunctions.serviceAgent

Я получаю эту ошибку:

The requested URL <code>/v1/projects/la-cloud-functions/serviceAccounts/projects/la-cloud-functions:getIamPolicy?alt=json</code> was not found on this server.

Наконец, пытаюсь назначитьроль агента сервера облачных функций через консоль преподнесла мне еще один сюрприз - роль отсутствует в списке, где она должна находиться в разделе «Управление службами»:

enter image description here

Я попытался сбросить учетную запись службы, повторно включив API Cloud Functions с помощью этой команды:

gcloud services enable cloudfunctions.googleapis.com

Но, опять же, безуспешно.

У кого-нибудь есть идеи, как решить эту проблему и сделать снова доступной роль агента службы облачных функций?

TIA - Joe

1 Ответ

0 голосов
/ 28 декабря 2018

Попробуйте выполнить следующие действия:

Отключить API-интерфейс облачных функций:

gcloud services disable cloudfunctions.googleapis.com --project la-cloud-functions

Подождите около минуты, пока отключение не будет завершено.

Удалите учетную запись участника облачных функций с помощью интерфейса командной строки или консоли GCP в разделе IAM.

gcloud projects remove-iam-policy-binding la-cloud-functions --member="serviceAccount:service-1092904037961@gcf-admin-robot.iam.gserviceaccount.com" --role="roles/cloudfunctions.serviceAgent"

Подождите около минуты.Затем убедитесь, что этот участник был удален в консоли GCP в разделе IAM.

Включить API облачных функций:

gcloud services enable cloudfunctions.googleapis.com --project la-cloud-functions

Вернитесь к консоли GCP,Вы должны найти нового участника агента службы облачных функций Google.

Примечание:

Вы используете неправильную команду для добавления cloudfunctions.serviceAgent.Вот правильная команда:

gcloud projects add-iam-policy-binding la-cloud-functions --member="serviceAccount:service-1092904037961@gcf-admin-robot.iam.gserviceaccount.com" --role="roles/cloudfunctions.serviceAgent"
...