没有权限来访问应用程序,同时部署谷歌服务帐户

问题描述 投票:17回答:5

创建许可谷歌服务帐户,如下所示之后 - 部署失败的消息。我不理解这是怎么回事错误。

====

$ gcloud iam service-accounts get-iam-policy [email protected]
bindings:
- members:
  - serviceAccount:[email protected]
  role: roles/owner
etag: Bxxxxxxxxg=

====

$ gcloud auth activate-service-account --key-file ../a.json 
Activated service account credentials for: [[email protected]]

$ gcloud app deploy
ERROR: (gcloud.app.deploy) You do not have permission to access app [appid].
google-app-engine deployment service-accounts
5个回答
20
投票

已完成了现在的工作。

$ gcloud app deploy --log-http --verbosity=debug

它为什么失败的原因,似乎与启用App Engine的API(链接在命令输出所示)。启用API - 然后再次尝试部署(这次没有--log-HTTP,因为这是导致gcloud崩溃)。

您可以启用“谷歌App Engine管理API”,通过谷歌云平台API控制台页面。 https://console.cloud.google.com/apis/api/appengine.googleapis.com/


6
投票

运行以下命令来检查该项目是否与正确的帐户关联。

gcloud config list

如果没有与帐户相关联,然后使用

gcloud auth login

用正确的项目帐户配置。


6
投票

对于那些谁尝试使用服务帐户和gcloud命令部署,您将需要设置以下所有三个角色:

  • App Engine Deployer
  • Storage Admin
  • Cloud Build Editor

access control docs

App Engine的部署者角色单独授予足够的权限来部署使用管理API。要使用其他App Engine的工具,像gcloud命令外,还必须具备存储管理员的角色和云构建编辑器的作用。


1
投票

要添加到NPR的答案。在命令中运行这个,如果你还没有验证自己作为默认的应用程序/项目(启用API后):

gcloud auth application-default login

1
投票

如果您正在尝试部署节点的应用程序,这仍然可能是不够的。我的API启用了,我跟着上GCP's instructions的一切,但我还是得到了You do not have permission to access app错误。最后固定它通过向服务帐户两个角色:

  • 项目>浏览器
  • 云构建>云生成服务帐户
© www.soinside.com 2019 - 2024. All rights reserved.