Сборка облака GCP завершается с ошибкой прав доступа, даже если назначена правильная роль - PullRequest
1 голос
/ 02 мая 2019

Я настроил Cloud Build Trigger в своем проекте GCP, чтобы развернуть функцию Cloud из хранилища Cloud Source через файл .yaml.Кажется, все настроено правильно, и разрешения предоставлены в соответствии с официальной документацией , но когда я проверяю триггер, запустив его вручную, я получаю следующую ошибку:

ОШИБКА:(gcloud.functions.deploy) ResponseError: status = [403], code = [Forbidden], message = [Отсутствует необходимое разрешение iam.serviceAccounts.actAs для ресурса [MY_SERVICE_ACCOUNT].Пожалуйста, предоставьте роль role / iam.serviceAccountUser.Это можно сделать, запустив привязку add-iam-policy-привязки gcloud iam service-account [MY_SERVICE_ACCOUNT] --member = --role = role / iam.serviceAccountUser ']

Теперь в первую очередьвыполнение предложенной команды даже не работает, потому что предложенный синтаксис неверен (отсутствует значение для "member =").Но что более важно, я уже добавил эту роль в учетную запись службы, на которую жалуется сообщение об ошибке.Я попытался удалить его, добавив обратно, как из пользовательского интерфейса, так и из интерфейса командной строки, и все же эта ошибка всегда отображается.

Почему?

1 Ответ

1 голос
/ 02 мая 2019

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

Короче говоря, вам также необходимо добавить роли cloudfunctions.developer и iam.serviceAccountUser к учетной записи [PROJECT_NUMBER]@cloudbuild.gserviceaccount.com и (я полагаю), что вышеупомянутую учетную запись службы cloudbuild также необходимо добавить в качестве члена учетной записи службы у которого есть разрешения на развертывание вашей облачной функции (снова показано в ответе SO).

Документация действительно должна отражать это.

Удачи!

...