google-app-engine - gcloud 应用程序部署失败 : permission denied for [ID] from request [URL]

标签 google-app-engine google-cloud-platform app.yaml google-iam

我正在尝试使用我计算机上的 gcloud app deploy 将我的 React 应用程序部署到 Google Cloud App Engine。这在上周末和之前都运行良好。

我得到以下输出:

$ gcloud app deploy .
Services to deploy:

descriptor:      [REDACTED]
source:          [REDACTED]
target project:  [REDACTED]
target service:  [REDACTED]
target version:  [REDACTED]
target url:      [REDACTED]


Do you want to continue (Y/n)?

Beginning deployment of service [default]...
╔════════════════════════════════════════════════════════════╗
╠═ Uploading 0 files to Google Cloud Storage                ═╣
╚════════════════════════════════════════════════════════════╝
File upload done.
Updating service [default]...failed.
ERROR: (gcloud.app.deploy) Error Response: [9] Cloud build 53d56399-b9ac-4471-8ecb-e06e557523fa status: FAILURE.
Build error details: Build error details not available..
Check the build log for errors: https://console.cloud.google.com/gcr/builds/53d56399-b9ac-4471-8ecb-e06e557523fa?project=995586812495

点击构建日志中的链接,我会转到 Google Cloud Console 中的 Cloud Build 日志。下面是该日志的最后一部分。在这一点之上还有更多日志,但似乎一切正常。

Step #1 - "builder": INFO rm_node_modules took 0 seconds
Step #1 - "builder": INFO starting: checking_cached_packages_json_layer
Step #1 - "builder": DEBUG Checking cache for cache_key 75e33f825bb6b991a429a251df57d5c82f04475bb87972004100213e6e245c4d
Step #1 - "builder": INFO checking_cached_packages_json_layer took 0 seconds
Step #1 - "builder": INFO build process for FTL image took 0 seconds
Step #1 - "builder": INFO full build took 0 seconds
Step #1 - "builder": Traceback (most recent call last):
Step #1 - "builder": File "/usr/lib/python2.7/runpy.py", line 174, in _run_module_as_main
Step #1 - "builder": "__main__", fname, loader, pkg_name)
Step #1 - "builder": File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
Step #1 - "builder": exec code in run_globals
Step #1 - "builder": File "/ftl-v0.9.0.par/__main__.py", line 65, in <module>
Step #1 - "builder": File "/ftl-v0.9.0.par/__main__.py", line 54, in main
Step #1 - "builder": File "/ftl-v0.9.0.par/__main__/ftl/node/builder.py", line 81, in Build
Step #1 - "builder": File "/ftl-v0.9.0.par/__main__/ftl/node/layer_builder.py", line 60, in BuildLayer
Step #1 - "builder": File "/ftl-v0.9.0.par/__main__/ftl/common/cache.py", line 113, in Get
Step #1 - "builder": File "/ftl-v0.9.0.par/__main__/ftl/common/cache.py", line 137, in _getEntry
Step #1 - "builder": File "/ftl-v0.9.0.par/__main__/ftl/common/cache.py", line 152, in _getLocalEntry
Step #1 - "builder": File "/ftl-v0.9.0.par/__main__/ftl/common/cache.py", line 175, in getEntryFromCreds
Step #1 - "builder": File "/ftl-v0.9.0.par/containerregistry/client/v2_2/docker_image_.py", line 279, in exists
Step #1 - "builder": File "/ftl-v0.9.0.par/containerregistry/client/v2_2/docker_image_.py", line 293, in manifest
Step #1 - "builder": File "/ftl-v0.9.0.par/containerregistry/client/v2_2/docker_image_.py", line 250, in _content
Step #1 - "builder": File "/ftl-v0.9.0.par/containerregistry/client/v2_2/docker_http_.py", line 364, in Request
Step #1 - "builder": containerregistry.client.v2_2.docker_http_.V2DiagnosticException: response: {'status': '403', 'content-length': '288', 'x-xss-protection': '1; mode=block', 'transfer-encoding': 'chunked', 'server': 'Docker Registry', '-content-encoding': 'gzip', 'docker-distribution-api-version': 'registry/2.0', 'cache-control': 'private', 'date': 'Sun, 11 Nov 2018 12:13:02 GMT', 'x-frame-options': 'SAMEORIGIN', 'content-type': 'application/json'}
Step #1 - "builder": Permission denied for "75e33f825bb6b991a429a251df57d5c82f04475bb87972004100213e6e245c4d" from request "/v2/apparat-web/app-engine-tmp/build-cache/ttl-7d/node-cache/manifests/75e33f825bb6b991a429a251df57d5c82f04475bb87972004100213e6e245c4d". : None
Finished Step #1 - "builder"
ERROR
ERROR: build step 1 "gcr.io/gae-runtimes/nodejs8_app_builder:nodejs8_8_12_0_20180928_RC00" failed: exit status 1

如你所见,错误信息是

Permission denied for "75e33f825bb6b991a429a251df57d5c82f04475bb87972004100213e6e245c4d" from request "/v2/apparat-web/app-engine-tmp/build-cache/ttl-7d/node-cache/manifests/75e33f825bb6b991a429a251df57d5c82f04475bb87972004100213e6e245c4d". : None
Finished Step #1 - "builder"

我不明白它在告诉我什么是错误的。我无法将 75e33-ID 映射到用户帐户,即使我可以,它声称拒绝权限的资源是什么,我该怎么办?对我来说,这似乎是谷歌云的内部结构,我不知道如何继续。

任何想法将不胜感激。

我尝试过的事情

  • gcloud auth revokegcloud auth login 以确保我使用当前项目的正确帐户登录
  • gcloud config list 并验证当前的 project 是正确的。
  • 当我运行 gcloud app deploy 时,在执行部署之前提示确认时,我还验证了项目信息是正确的
  • 已验证我的用户帐户(仍然)在 Google Cloud Console IAM 中添加了正确的角色

最佳答案

我有一个非常相似的问题(相同,除了我使用的是 python37 标准)。 日志中有这个:

Step #1 - "builder": Permission denied for "d7dab0ac46167635bcee11cda0f4dbd2963e1cfeaf021404fa295f99c37070e3" from request "/v2/<project-id>/app-engine-tmp/build-cache/ttl-7d/python-cache/manifests/d7dab0ac46167635bcee11cda0f4dbd2963e1cfeaf021404fa295f99c37070e3". : None

其实是GAE配置问题。在我的例子中,我删除了数据库(将其移至不同的服务)并禁用了计费。

令人震惊的是,我通过简单地为项目重新启用计费解决了这个问题......

关于google-app-engine - gcloud 应用程序部署失败 : permission denied for [ID] from request [URL],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53248869/

相关文章:

python - 在 Google App Engine 中处理多个 URL 脚本

python - 谷歌应用引擎在 OSX Lion 上使用 python 失败

java - Google App Engine 是否支持 Java 8?

python - App Engine gcloud : Can't find Python files in Home directory, 但它们已经上线?

google-cloud-platform - gcloud 崩溃 (TokenRevokeError) : invalid_request

java - POST 响应 HTML 页面显示在调试器中,但未显示在使用 JAVAEE 的浏览器中

java - ApiProxy$ApplicationException : ApplicationError: 8 after created the API Access in google Cloud Storage

python-3.x - 使用python将数据写入Google云存储

google-app-engine - Google Cloud Build - 子目录中的 build.yaml 和 app.yaml 未构建正确的源代码