【问题标题】:Permission 'iam.serviceaccounts.actAs' denied on service account when deploying on cloud run权限 \'iam.serviceaccounts.actAs\' 在云上部署时拒绝服务帐户运行
【发布时间】:2022-08-17 05:06:31
【问题描述】:

当我尝试使用以下命令在云上部署我的 docker 映像时:

gcloud run deploy --image $MULTI_REGION/$PROJECT/$IMAGE --memory $MEMORY --region $REGION --env-vars-file .env.yaml

我收到错误消息:

Deploying container to Cloud Run service [image-name] in project [wagon-bootcamp-352706] region [europe-west1]
X Deploying new service...                                                                                                                                                                                 
  . Creating Revision...                                                                                                                                                                                   
  . Routing traffic...                                                                                                                                                                                     
  . Setting IAM Policy...                                                                                                                                                                                  
Deployment failed                                                                                                                                                                                          
ERROR: (gcloud.run.deploy) User [demange.louis@hotmail.fr] does not have permission to access namespaces instance [wagon-bootcamp-352706] (or it may not exist): Permission \'iam.serviceaccounts.actAs\' denied on service account 942802053669-compute@developer.gserviceaccount.com (or it may not exist).

要检查项目的权限,我使用gcloud projects get-iam-policy wagon-bootcamp-352706

bindings:
- members:
  - serviceAccount:service-942802053669@gcp-sa-artifactregistry.iam.gserviceaccount.com
  role: roles/artifactregistry.serviceAgent
- members:
  - serviceAccount:service-942802053669@containerregistry.iam.gserviceaccount.com
  role: roles/containerregistry.ServiceAgent
- members:
  - user:demange.louis@hotmail.fr
  role: roles/iam.serviceAccountUser
- members:
  - serviceAccount:service-942802053669@cloud-ml.google.com.iam.gserviceaccount.com
  role: roles/ml.serviceAgent
- members:
  - user:demange.louis@hotmail.fr
  role: roles/owner
- members:
  - serviceAccount:service-942802053669@gcp-sa-pubsub.iam.gserviceaccount.com
  role: roles/pubsub.serviceAgent
- members:
  - serviceAccount:service-942802053669@serverless-robot-prod.iam.gserviceaccount.com
  role: roles/run.serviceAgent
- members:
  - user:demange.louis@hotmail.fr
  role: roles/storage.admin
- members:
  - user:demange.louis@hotmail.fr
  role: roles/storage.objectAdmin
- members:
  - user:demange.louis@hotmail.fr
  role: roles/storage.objectCreator

我还检查了项目 \'wagon-bootcamp-352706\' 是一个好项目。

我还在容器注册表中检查了我的图像 \'image-name\' 被很好地推送: 图像名称 eu.gcr.io 私有

综上所述,权限应该是有效的,之前的推送没问题,项目名也没问题。唯一不清楚的是错误消息中提到的“帐户 942802053669-compute@developer.gserviceaccount.com”,它不属于我,我不知道它是什么。有人知道这个问题吗?提前致谢。

此致,

路易斯·德曼格

  • 编辑您的问题并显示分配给您的身份的角色。错误消息指出您的身份没有服务帐户942802053669-compute@developer.gserviceaccount.comactAs。使用此命令获取服务账户的 IAM 策略:gcloud iam service-accounts get-iam-policy SERVICE_ACCOUNT
  • 我更新了问题,我的用户帐户 demande.louis@hotmail.fr 看起来拥有它需要的所有权限..
  • 请使用我评论中的命令。参考我关于如何正确添加角色的答案。 stackoverflow.com/a/61336174/8016720
  • @LouisDemange 不会明确公开您的邮件。请编辑您的问题和评论以隐藏它

标签: google-cloud-platform deployment permissions user-accounts google-cloud-iam


【解决方案1】:

问题是服务帐户 942802053669-compute@developer.gserviceaccount.com 不存在,因为尚未启用 Compute Engine API(可能)或者您已将其删除。

你有两个选择:

  1. 例如通过转到Compute Engine section 来启用 Compute Engine API。
  2. 如果您删除了 Compute Engine 默认 SA,您可以recover it(如果它在最多 30 天前被删除)或使用现有的 another Service Account 与 Cloud Run 一起使用。

【讨论】:

  • 是的,我承认我删除了谷歌云上的“942802053669-compute@developer.gserviceaccount.com”帐户,因为我不知道它对应的是什么。它出现了,我不知道如何在谷歌云平台中出现,现在它自动出现在命令的输出中。非常感谢您的回答,但如果您对该帐户对应的内容有任何想法,那么做出最佳决定将非常有用。
  • @LouisDemange 是默认的 Compute Engine 服务帐户 cloud.google.com/compute/docs/access/…
  • 非常感谢,我恢复了 942802053669-compute@developer.gserviceaccount.com 并且可以部署我的 docker 映像。 :D
  • @LouisDemange 不错。如果答案有帮助,您可以接受它以帮助他人
猜你喜欢
  • 2020-08-03
  • 2021-10-05
  • 1970-01-01
  • 1970-01-01
  • 2022-01-23
  • 2022-12-04
  • 2023-03-24
  • 2020-12-16
  • 2019-05-23
相关资源
最近更新 更多