gpt4 book ai didi

google-app-engine - App Engine 部署 : Permissions error fetching application

转载 作者:太空宇宙 更新时间:2023-11-03 12:48:20 26 4
gpt4 key购买 nike

我们使用服务帐户通过 Travis 将我们的应用程序部署到 App Engine。

在每个合并的 PR 中,Travis 从我们的 GitHub 存储库中提取代码,并提取一个 Docker image其中包含 Google Cloud SDK 并执行 gcloud app deploy 命令。我们使用服务帐户以“项目所有者”角色执行部署。

在我向项目添加一项新服务以自动生成和续订 SSL 证书,以及一个 dispatch.yaml 文件来路由来自 Let's Encrypt 的流量以进行域验证之前,一切都曾经很好地工作。我需要添加更多权限以允许更新我们用于自定义域的 SSL 证书。我删除了当前的服务帐户,并使用新的私钥创建了一个新帐户。我创建了一个新角色,除了以前的权限(所有 appengine.* 权限)之外,还具有更新和查看 SSL 证书所需的权限。我将新角色项目所有者角色分配给新帐户。进行这些更改后,部署失败并在执行 deploy 命令时出现以下错误:

Permissions error fetching application [apps/hollowverse-c9cad]. Please make sure you are using the correct project ID and that you have permission to view applications on the project.

我在本地计算机上使用了相同的服务帐户,并将日志记录级别设置为调试。我收到此错误:

DEBUG: HttpError accessing <https://appengine.googleapis.com/v1/apps/hollowverse-c9cad?alt=json>: response: <{'status': '403', 'content-length': '335', 'x-xss-protection': '1; mode=block', 'x-content-type-options': 'nosniff', 'transfer-encoding': 'chunked', 'vary': 'Origin, X-Origin, Referer', 'server': 'ESF', '-content-encoding': 'gzip', 'cache-control': 'private', 'date': 'Wed, 02 Aug 2017 14:33:50 GMT', 'x-frame-options': 'SAMEORIGIN', 'alt-svc': 'quic=":443"; ma=2592000; v="39,38,37,36,35"', 'content-type': 'application/json; charset=UTF-8'}>, content <{
"error": {
"code": 403,
"message": "Operation not allowed",
"status": "PERMISSION_DENIED",
"details": [
{
"@type": "type.googleapis.com/google.rpc.ResourceInfo",
"resourceType": "gae.api",
"description": "The \"appengine.applications.get\" permission is required."
}
]
}
}
>
DEBUG: (gcloud.beta.app.deploy) Permissions error fetching application [apps/hollowverse-c9cad]. Please make sure you are using the correct project ID and that you have permission to view applications on the project.

描述表明执行部署需要 appengine.applications.get。查看分配给我们用来部署的Travis账户的角色所授予的权限,appengine.applications.get显然是被授予了:

screenshot_20170802_174402

我为帐户分配了所有可能的 App Engine 和项目角色,但部署仍然失败并出现相同的错误。但是,使用为 GCP 上的每个新项目自动创建的默认服务帐户似乎可行。

最佳答案

I removed the current service account, and created a new one with a new private key.

这是错误的地方。新帐户的 ID 与之前的帐户相同。虽然我在任何地方都找不到这种行为的记录,但看起来一旦 ID 用于服务帐户,它就不能再次用于新帐户,即使之前的 ID 被删除也是如此。

我们用新 ID 创建了一个新帐户 (travis2@hollowverse-c9cad.iam.gserviceaccount.com) 而不是 travis@hollowverse-c9cad.iam.gserviceaccount.com),问题现已解决。

关于google-app-engine - App Engine 部署 : Permissions error fetching application,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45476205/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com