Appengine /无法部署/ IAM故障排除

给定的服务帐户是{project_id}@appspot.gserviceaccount.com

它具有以下iam角色:

  • Editor
  • Cloud Build Editor(手动添加,以验证是否是造成此问题的原因)

我有:

  • 将笔记本电脑上的相应服务帐户密钥下载到{local_path}/.gcloud.json
  • 通过gcloud auth activate-service-account {project_id}@appspot.gserviceaccount.com --key-file={local_path}/.gcloud.json激活了该服务帐户
  • $GOOGLE_APPLICATION_CREDENTIALS环境变量设置为 {local_path}/.gcloud.json

使用以下内容进行部署:

gcloud app deploy --project {project_id} \
  --quiet \
  --verbosity=debug \
  --account {project_id}@appspot.gserviceaccount.com \
  ./dispatch.yaml \
  ./app/app.yaml

我一直遇到以下错误:

"Permission to create cloud build is denied. 'Cloud Build Editor' role is required for the deployment: ht..."

在gcloud ui上检查Google Cloud构建,该构建已创建,但是每次都失败(因此它与从命令行返回的给定错误相匹配)

我不知道为什么会发生。任何帮助将不胜感激

致谢

slamming123456 回答:Appengine /无法部署/ IAM故障排除

启用Cloud Run Api时,将创建3个服务帐户:

  1. compute@developer.gserviceaccount.com,默认计算服务帐户,角色:编辑器

  2. service- @ containerregistry.iam.gserviceaccount.com,Google容器注册表服务代理,角色:编辑器

  3. service- @ serverless-robot-prod.iam.gserviceaccount.com,Google云运行服务代理,作用:云运行服务代理

最后两个服务帐户是Google托管的服务帐户,用于访问Google Cloud Platform服务link的API

  

默认情况下,Cloud Run修订版使用Compute Engine默认值   服务帐号   (PROJECT_NUMBER-compute@developer.gserviceaccount.com),其中包含   项目>编辑器IAM角色。这意味着默认情况下,您的Cloud Run   修订版具有对GCP中所有资源的读写权限   项目。

启用Google App Engine灵活环境API时,将创建2个与Cloud Run相关的服务帐户:

  1. @ cloudbuild.gserviceaccount.com,作用:云构建服务帐户

  2. service-@gcp-sa-cloudbuild.iam.gserviceaccount.com,云构建服务帐户,作用:云构建服务代理

启用App Engine Admin API时,不会创建其他服务帐户。

命令:gcloud beta app repair

  

此命令将还原App Engine暂存   存储桶(如果已删除)。它将不再恢复服务   帐户,而是必须使用IAM服务帐户取消删除API   为此。

部署了Google App引擎后,会在Google云存储中至少创建4个存储桶:

a。 [project-id] .appspot.com

b。分期。[project-id] .appspot.com

c。文物。[project-id] .appspot.com

d。 vm-containers。[project-id] .appspot.com

因此,我认为您是无意中删除了该过渡存储段或服务帐户。

,

效率不透明:gcloud beta app repair,可将所需的App Engine功能恢复到当前应用程序

本文链接:https://www.f2er.com/3090668.html

大家都在问