当我将代码推送到分支并通过Cloud build GCP触发它时。它被抛出错误以下:
错误:(gcloud.app.deploy)PERMISSION_DENIED:您无权充当“ ProjectName@appspot.gserviceaccount.com”
它应该使用服务帐户: 15428174@cloudbuild.gserviceaccount.com
下面是我的CloudBuild.yaml文件:
步骤:
名称:'gcr.io/cloud-builders/mvn' args:['package','-Dmaven.test.skip = true','-Pdev']
名称:'gcr.io/cloud-builders/gcloud' args:['app','deploy','-appyaml =。/ src / main / appengine / dev / app.yaml'] 超时:“ 1600s”
答案 0 :(得分:2)
这是一个安全项目。 App Engine实例已为其分配了一个服务帐户。您正在使用Cloud Build将应用程序部署到App Engine。此错误意味着将代码推送到App Engine的帐户未被授予“使用” App Engine服务帐户的权利。
目的是通过将应用程序部署到具有更高/不同权限的服务帐户的服务来防止您提升权限。
解决方案是向该帐户授予对App Engine服务帐户的ActAs权限到Cloud Build服务帐户。