Ошибка Google Cloud Run Deploy: отсутствует необходимая ошибка разрешения - PullRequest
0 голосов
/ 27 марта 2020

При попытке развернуть мой контейнер (или контейнер hello world) в Google Cloud Run, я получаю эту ошибку:

ERROR: (gcloud.run.deploy) Cloud Run error: Internal system error. Missing necessary permission for service-<ID>@serverless-robot-prod.iam.gserviceaccount.com on resource <PROJECT ID>

Я вижу, что учетная запись службы, упомянутая в ошибке, находится на моей панели IAM. и имеет роль Google Cloud Run Service Agent. Я даже пытался присвоить ему роль владельца, но это не сработало.

Я попытался включить флаг --service-account с той же учетной записью службы и получил эту ошибку:

PERMISSION_DENIED: Permission 'iam.serviceaccounts.actAs' denied on service account service-<ID>@serverless-robot-prod.iam.gserviceaccount.com (or it may not exist).

То, что я знаю, не имеет смысла.

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

Как исправить эту ошибку разрешения

Ответы [ 2 ]

1 голос
/ 27 марта 2020

Как отметил Дастин, произошел сбой, влияющий на разрешения IAM. Теперь, когда отключение устранено, мое развертывание работает!

0 голосов
/ 27 марта 2020

Я приказываю назначить разрешение iam.serviceAccounts.actAs, вам нужно установить роль roles/iam.serviceAccountUser.

Это можно сделать, перейдя в Консоль> IAM & Admin и установив роль Service Account User для своей учетной записи службы.

Также убедитесь, что учетная запись службы среды выполнения Cloud Run также имеет iam.serviceAccounts.actAs разрешение. Это требование указано в документации по развертыванию Cloud Run

...