App Engine 部署:获取应用程序的权限错误

2023-12-19

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

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

一切都工作正常,直到我向项目添加了一项新服务,该服务自动生成和更新 SSL 证书,以及dispatch.yaml文件来路由从 Let's Encrypt 传入的流量以进行域验证。我需要添加更多权限以允许更新我们用于自定义域的 SSL 证书。我删除了当前的服务帐户,并使用新的私钥创建了一个新帐户。我创建了一个新角色,除了之前的权限(所有权限)之外,还具有更新和查看 SSL 证书所需的权限appengine.*权限)。我分配了新角色and将项目所有者角色分配给新帐户。进行这些更改后,部署失败,执行时出现以下错误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明确授予:

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


我删除了当前的服务帐户,并使用新的私钥创建了一个新帐户。

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

我们使用新 ID 创建了一个新帐户(travis2@hollowverse-c9cad.iam.gserviceaccount.com) 代替[email protected] /cdn-cgi/l/email-protection),问题现已解决。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

App Engine 部署:获取应用程序的权限错误 的相关文章

  • Angular2通用部署到apache远程服务器

    我在将 Web 应用程序部署到 Apache 远程服务器时遇到问题 我已经通过以下步骤部署了一个使用 RESTful API 服务 用 PHP 编写 托管在 public html api 的标准 Angular2 Web 应用程序 在项目
  • SSLContext 初始化

    我正在看JSSE参考指南 我需要获取一个实例SSLContext为了创建一个SSLEngine 所以我可以使用它Netty以启用安全性 获取实例SSLContext I use SSLContext getInstance 我看到该方法被重
  • 从 HTTP 登录到 HTTPS

    我的网站默认使用 HTTP 我确实有一个启用 HTTPS 的证书 但只有其上的某些区域强制建立安全连接 登录是通过 Ajax 处理的 我想开始使用 SSL 即使请求来自 HTTP 我尝试强制请求的地址具有 HTTPS 并且它完美地回复 然而
  • PHP 通过 SSL 连接到 MS SQL

    我想要实现的目标非常简单 我想通过安全连接从 PHP 脚本连接到外部 MS SQL 数据库 然而 这已被证明是有问题的 到目前为止 经过三个小时的研究 我不知所措 客户端的平台是Ubuntu 这意味着我无法使用SQLSRV 安全连接已经在不
  • 将 http 和 https 请求重定向到新主机

    在 Apache 2 4 6 中 我想重定向来自http A org foo and https A org foo to https B org foo 我正在使用以下指令
  • 使用 WebClient 时出现 System.Net.WebException:无法创建 SSL/TLS 安全通道

    当我执行以下代码时 System Net ServicePointManager ServerCertificateValidationCallback sender certificate chain errors gt return t
  • 如何在 PHP 5.6 中通过 php.ini 设置“verify_peer_name=false”SSL 上下文选项

    案例 我想打开 SSL 连接localhost而 SSL 证书是 FQDN 的问题 问题 没有进行特殊处理就行 下面的程序失败并显示以下消息 PHP Warning stream socket enable crypto Peer cert
  • SSL 适用于浏览器、wget 和curl,但不适用于 git

    我有一个网站 用于托管 redmine 和几个 git 存储库 这非常适合 http 但我无法使用 https 进行克隆 即 git clone http mysite com git test git 工作正常 但是 git clone
  • 未找到证书管理器证书并且未创建挑战

    我跟着https docs cert manager io en venafi tutorials quick start index html https docs cert manager io en venafi tutorials
  • 在 python 中使用 IOT 适配器和 google pub/sub api 将 MQTT 与 GCP 集成

    与 App Engine Standard 中的 Cloud Pub Sub API 集成 我正在标准 Python 环境中开发 Google 应用程序引擎应用程序 对于代码的某些部分 我需要与 Google Cloud pub sub A
  • 使用 Android WebViewClient 启用特定 SSL 协议

    我的应用程序使用WebViewClient与服务器建立 SSL 连接 服务器配置为仅接受 TLSv1 1 及以上协议 使用 Android 时 如何检查哪些 SSL 协议是 a 支持的和 b 默认启用的WebViewClient在设备上 如
  • javax.net.ssl.SSLException:没有可用的 PSK。无法恢复

    我正在使用 Jetty 客户端发送传出请求 在 Java 10 下完美运行的代码在 Java 11 下突然出现以下异常 javax net ssl SSLException No PSK available Unable to resume
  • 使用 openssl 检查服务器安全协议

    我有一个框架应用程序 它根据使用方式连接到不同的服务器 对于 https 连接 使用 openssl 我的问题是 我需要知道我连接的服务器是否使用 SSL 还是 TLS 以便我可以创建正确的 SSL 上下文 目前 如果我使用错误的上下文尝试
  • Capistrano for Rails 3.1

    我正在使用 Rails 3 1 和 Capistrano 我明白了 没有这样的文件或目录 public images public stylesheets 和 public javascripts 的错误 错误 在网上搜索了一下 发现很多博
  • 在 NDB 和 GAE 中的 put() 之后评估条件

    在将实体放入数据存储区后 我需要使用 NDB 执行一些代码 假设我有这样的东西 ent Entity ent put def after put assert 如何在不手动调用该函数的情况下实现这一目标 我可以使用某种触发器或回调吗 是的
  • Java 枚举与创建位掩码和检查权限的混淆

    我想将此 c 权限模块移植到 java 但是当我无法将数值保存在数据库中然后将其转换为枚举表示形式时 我很困惑如何执行此操作 在 C 中 我创建一个如下所示的枚举 public enum ArticlePermission CanRead
  • 谷歌应用程序引擎会话

    什么是java应用程序引擎 默认会话超时 如果我们将会话超时设置为非常非常长的时间 会不会产生不良影响 因为谷歌应用程序引擎会话默认情况下仅存储在数据存储中 就像facebook一样 每次访问该页面时 会话仍然永远存在 默认会话超时设置为
  • tomcat 中受密码保护的应用程序

    我正在使用 JSP Servlet 开发一个Web应用程序 并且我使用了Tomcat 7 0 33 as a web container 所以我的要求是tomcat中的每个应用程序都会password像受保护的manager applica
  • Google Cloud Stackdriver 调试代理:无法在 v8 中设置断点

    我正在尝试使用以下命令在节点中设置 Stackdriver 调试器 google cloud debug agentnpm 包 设置快照断点时出现以下错误 Unable to set breakpoint in v8 该版本启用了调试代理
  • 在命令行上卸载 Android SDK 的选定部分

    这与 卸载旧的 Android SDK 版本 https stackoverflow com questions 15182377 uninstall old android sdk versions 除非我想在无头 Linux CI 服务

随机推荐

  • 有没有可以在 Mono 上运行的 F# IDE?

    我在 Mac 上使用 F 我想知道 kbow 是否有任何可以在单声道 不是通用编辑器 上工作的 F IDE 似乎有一个MonoDelvelop 插件 http artwild blogspot com 2008 08 f addin for
  • 使用 _* 的 varargs 的 Scala 类型归属导致错误

    我对 Scala 可变参数有一个初步的了解 接受可变参数的方法的参数需要hint它是一个 varargs 使用 使用Scala 2 10 3 我定义了以下两个方法 scala gt def method varargs Int more S
  • Qt QCalendarWidget QSS 样式

    我知道没有人支持QCalendarWidget QSS样式 但有人知道一些更改部分颜色的解决方法1 and 2 of the QCalendarWidget 浅蓝色部分1白色部分2 Thanks 我已经检查过QCalendarWidget
  • 升级到 2021-06 (4.20.0) 后,Eclipse 内容辅助循环失败

    有人问了类似的问题here https stackoverflow com questions 68199554 content assist cannot find proposals in loop if there is code b
  • 如何在 Delphi 中输入分数?

    我有一个应用程序将使用测量值 特别是小至 1 16 英寸 我真的想要一种方便的方式让最终用户输入包含小数部分的值 例如 3 7 16 我意识到我可以要求用户只输入十进制值 即 3 1875 但我真的想要一种更好的方法 有谁知道可以轻松输入的
  • 从 ArrayList 中删除所有出现的元素

    我在用java util ArrayList 我想删除所有出现的特定元素 List
  • 检索 Dynamics 2011 中的选项集

    我正在使用此代码来检索全局选项集 var request new RetrieveOptionSetRequest Name OptionsetNameGoesHere var retrieveOptionSetResponse Retri
  • 在 eclipse 中使用 mahout 而不使用 Maven

    我真的不想使用maven 因为它看起来很麻烦 有没有办法只下载 mahout 并在我的 eclipse 项目中使用它 我从使用 Maven 得到的只是构建路径错误和数百万条警告 我一直在寻找一种方法来做到这一点 但人们似乎一直都在使用 Ma
  • 四舍五入至小数点后两位

    Math round doubleValue 100 100 0 有没有更好的方法将小数四舍五入到小数点后两位 如果您对小数位以及精确的小数值感兴趣 您通常应该使用java math BigDecimal http download ora
  • Zend 实例随机丢失

    我有一个在 zend 上运行的网站 最近它表示登录时会丢失会话变量 auth Zend Auth getInstance 有时似乎不起作用任何线索可能是什么问题 None
  • Realm 中具有惰性属性的复合键

    我发现了在 Swift 中使用带有复合主键的 Realm 的绝佳解决方案 https github com realm realm cocoa issues 1192 https github com realm realm cocoa i
  • 构建过程中ASP.NET Core设置托管环境

    我有一个ASP NET Core Api我在其中使用 appsettings environmentname json 配置文件 然后 我还有带有不同环境选项的相应 launchSettings json 文件 以便我可以使用任何特定的环境
  • 设计模式或代码味道,功能分解导致的非规范化数据

    我是以下的忠实粉丝http highscalability com http highscalability com 并且一直在我当前的开发中沿着功能边界分解我的应用程序 作为能够扩展服务器端 特别是数据库层 的途径 这涉及到将应用程序的不
  • 在 Reporting Services 中向条形图添加趋势线

    如何在 Reporting Services 2005 中向条形图添加趋势线 您必须从数据源创建趋势线的数据 从图表属性的数据选项卡上 选择趋势数据系列 单击编辑 然后在 编辑图表值 对话框中选择 外观 选项卡 选中 将数据绘制为线 框 使
  • MySQL 从 3 个表中选择不同的产品

    MySQL 从 3 个表中选择 我有这 5 个表 CREATE TABLE category c id int 6 NOT NULL AUTO INCREMENT name varchar 40 NOT NULL PRIMARY KEY c
  • 在 next js 13 中使用新的“app 目录”导入 bootstrap js 文件的位置

    我在下一个 js 13 中使用新的应用程序目录 当使用 bootstrap 下拉菜单时 只有 UI 可以工作 bootstrap 的 js 功能在其中不起作用 我尝试在layout tsx中导入js文件 但它抛出了这个错误 gt 文档未定义
  • 任何巧妙的方法来修复 LINQ 的“字符串或二进制数据将被截断”警告

    有没有一种巧妙的方法来确定哪个字段导致 字符串或二进制数据将被 LINQ 截断 我总是通过逐步调试器来手动完成此操作 但是对于使用 SubmitChanges 的批处理 我必须更改代码以插入单行以在一批行中找到罪魁祸首 我是否遗漏了某些东西
  • Android 未签名应用程序无法安装在设备上

    我的应用程序可以在模拟器上运行 并将其导出为未签名的应用程序 在我的手机设置 gt gt 应用程序 gt gt 检查了未知来源 我通过 USB 将 apk 下载到手机存储中 然后在文件管理器下 我发现存储了 apk 并点击安装按钮 它尝试安
  • $watchGroup 与 $watchCollection?

    有观察一组变量的 2 种方法 https docs angularjs org api ng type 24rootScope Scope在角度 但它们之间有什么区别呢 他们似乎都做浅表 是否存在其中一种明显优于另一种的情况 watchCo
  • App Engine 部署:获取应用程序的权限错误

    我们使用服务帐户通过 Travis 将我们的应用程序部署到 App Engine 在每个合并的 PR 中 Travis 从我们的 GitHub 存储库中提取代码 并提取Docker镜像 https github com hollowvers