我想知道如何使用GAE进行访问控制

有没有办法使用 Google App Engine 自动控制对特定 IP 的访问?例如,如果 API 端点在一分钟内被访问 10 次,它将不会接受对该 IP 地址的请求。

据我了解,GKE 和 GCE 可以通过 Google 负载平衡和 GOOGLE CLOUD ARMOR 执行相同的操作。我想用 Google App Engine 来做到这一点。


临摹微笑
浏览 143回答 3
3回答

达令说

Cloud Endpoints with App Engine 是一种解决方案。您可以设置 ESP 以对客户端进行身份验证选择身份验证方法。然后,您可以通过在 OpenAPI 文档配置配额中添加配额来限制 api 请求。这是官方文档中的示例:以下示例显示如何在路径部分中配置 x-google-quota 扩展:x-google-management:   metrics:# Define a metric for read requests. - name: "read-requests"   displayName: "Read requests"   valueType: INT64   metricKind: DELTA   quota: limits:   # Define the limit or the read-requests metric.   - name: "read-limit"     metric: "read-requests"     unit: "1/min/{project}"     values:       STANDARD: 1000 paths:   "/echo": post:   description: "Echo back a given message."   operationId: "echo"   produces:   - "application/json"   responses:     200:       description: "Echo"       schema:         $ref: "#/definitions/echoMessage"   parameters:   - description: "Message to echo"     in: body     name: message     required: true     schema:       $ref: "#/definitions/echoMessage"   x-google-quota:     metricCosts:       "read-requests": 1   security:   - api_key: []

aluckdog

您可以将Cloud Endpoints 与 App Engine 结合使用。您可以借助 Cloud Endpoints 在任何 Google Cloud 后端上开发、部署和管理 API。Cloud Endpoints 提供配额,让您可以控制应用程序调用 API 的速率。设置配额允许您指定使用限制,以保护您的 API 免受调用应用程序发出的过多请求的影响。过多的请求可能是由简单的拼写错误或设计效率低下的系统导致的,该系统对 API 进行了不必要的调用。无论原因如何,一旦特定来源的流量达到一定水平,就对其进行阻止,这对于 API 的整体健康而言是必要的。通过设置配额,您可以确保一个应用程序不会对使用您的 API 的其他应用程序产生负面影响。您还可以检查Apigee Edge 上的速率限制

肥皂起泡泡

我自己没有尝试过,但看起来有一个 API 可以做到这一点。要以编程方式为 App Engine 应用程序创建防火墙规则,您可以使用 Admin API 中的 apps.firewall.ingressRules 方法。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go