【发布时间】:2017-06-14 07:41:49
【问题描述】:
我一直在尝试编写 App Engine Python 应用并通过服务帐户对其进行管理(因为我正在使用我的 Google 帐户凭据不信任的机器进行开发)。
我已成功让应用部署新代码版本(提示:您不仅需要在 IAM 控制台中授予服务帐户 App Engine“部署者”和“服务管理员”权限,还可能还需要“管理员”--I最终给出了所有三个),但您还需要确保它对用于暂存和部署的 GCS 存储桶具有写入权限,名为 myapp.appspot.com 和 staging.myapp.appspot.com*),但我无法部署新的 cron.yaml。当我尝试时:
$ gcloud app deploy cron.yaml
You are about to update the following configurations:
- myapp/cron (from [.../myapp/cron.yaml])
Do you want to continue (Y/n)?
Updating config [cron]...failed.
ERROR: (gcloud.app.deploy) Server responded with code [403]:
Forbidden Unexpected HTTP status 403.
You do not have permission to modify this app (app_id=u'p~myapp').
如果我运行 gcloud app deploy 和 --verbosity=debug,我可以看到它正在向 https://appengine.google.com/api/cron/update?app_id=myapp 发出请求并返回 403。
我已尝试授予服务帐户项目编辑者或所有者权限,但没有成功。 (虽然如果有必要,我会认为这是一个错误。)
*:在此问题中,我的项目 ID 的所有实例都已替换为 myapp。
【问题讨论】:
-
能不能像
gcloud auth login这么简单? -
谢谢,但不行:我可以用服务帐号登录并推送应用程序的代码;它只是不推送的 cron 配置。
-
您似乎发现了一个错误。我们使用旧后端进行配置文件部署([dos、dispatch、queue、index、cron].yaml),它并不总是能很好地与服务帐户配合使用。如果您在Cloud SDK issue tracker 上提交错误,您将获得有关该问题的更新。如果没有,我会确保在我们的私人追踪器上打开一个错误。 /App Engine 谷歌员工
标签: google-app-engine google-cloud-platform