【问题标题】:Why is Google App Engine throwing access forbidden errors?为什么 Google App Engine 会抛出禁止访问错误?
【发布时间】:2021-09-29 04:03:23
【问题描述】:

真的可以在这里使用一些帮助。我在标准环境中有一个 GAE NodeJS 应用程序。直到几天前(09/23)它运行得很好,它会按预期响应请求,等等。

今天,当我尝试向我的 apppot 网址发出任何请求时,该应用会以 403 响应。我 100% 确定这不是代码问题,就好像我在另一个项目中将相同的代码部署到 GAE 一样,它工作正常。此外,唯一的防火墙规则是允许所有流量的通配符。

编辑:添加我从项目中看到的唯一相关的日志条目:

  {
    "protoPayload": {
      "@type": "type.googleapis.com/google.cloud.audit.AuditLog",
      "status": {},
      "authenticationInfo": {
        "principalEmail": "address@domain.com"
      },
      "requestMetadata": {
        "callerIp": "x.x.x.x",
        "requestAttributes": {
          "time": "2021-09-23T15:04:05.198927Z",
          "auth": {}
        },
        "destinationAttributes": {}
      },
      "serviceName": "appengine.googleapis.com",
      "methodName": "google.appengine.v1.Services.UpdateService",
      "authorizationInfo": [
        {
          "resource": "apps/my-google-cloud-project-id/services/default",
          "permission": "appengine.services.update",
          "granted": true,
          "resourceAttributes": {}
        }
      ],
      "resourceName": "apps/my-google-cloud-project-id/services/default",
      "serviceData": {
        "@type": "type.googleapis.com/google.appengine.v1.AuditData",
        "updateService": {
          "request": {
            "name": "apps/my-google-cloud-project-id/services/default",
            "service": {
              "networkSettings": {
                "ingressTrafficAllowed": "INGRESS_TRAFFIC_ALLOWED_INTERNAL_AND_LB"
              }
            },
            "updateMask": "networkSettings"
          }
        }
      },
      "resourceLocation": {
        "currentLocations": [
          "us-east1"
        ]
      }
    },
    "insertId": "an-id",
    "resource": {
      "type": "gae_app",
      "labels": {
        "project_id": "my-google-cloud-project-id",
        "zone": "",
        "module_id": "default",
        "version_id": ""
      }
    },
    "timestamp": "2021-09-23T15:04:05.131761Z",
    "severity": "NOTICE",
    "logName": "projects/my-google-cloud-project-id/logs/cloudaudit.googleapis.com%2Factivity",
    "operation": {
      "id": "some-operation-uuid",
      "producer": "appengine.googleapis.com/admin",
      "first": true
    },
    "receiveTimestamp": "2021-09-23T15:04:05.495890906Z"
  }

我不记得做过这个更改,我也不确定之前的 ingressTrafficAllowed 值是什么。

【问题讨论】:

  • 我的建议是检查您的 App Engine 的服务帐户,看看是否有变化。另一件事是您是否在您的服务上启用了 IAP?
  • 日志中有什么相关的吗?
  • @Dondi 据我所知,服务帐户没有任何变化。 IAP API 已启用,但它本身已被禁用。我在项目中完全禁用了 API,但没有任何改变。
  • @yedpodtrzitko 添加了我在原始帖子中找到的唯一一个看似相关的日志条目。
  • 请问following thread是否对您有帮助?

标签: google-app-engine google-cloud-platform google-appengine-node


【解决方案1】:

不知何故,GAE 服务上的入口设置已更改。我相信该问题已通过转到 GCP 控制台 > App Engine > 服务 > 选择受影响的服务 -> 从顶部编辑入口设置,然后选择适当的值来解决。

我说我相信这解决了这个问题,因为这样做后我的 apppot url 上仍然出现 403,最终我最终删除并从头开始重新创建项目,这得到了一切再次工作。显然,我的项目中存在一些错误配置,但 GCP 无法轻松诊断出问题所在。

【讨论】:

  • 我很高兴你解决了这个问题,虽然解决方案很不令人满意。
  • @yedpodtrzitko 谢谢。并且 100% 同意 - GCP 对这里发生的事情是如此迟钝,这让我重新考虑使用它,并切换到更简单和/或更好的支持选项。谢天谢地,这是在开发中,但是在生产中会发生这样的事情......
猜你喜欢
  • 2021-06-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-26
  • 2015-01-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多