如果我使用AWS API Gateway创建公共端点,那么全世界都可以访问它。这将是一个问题,因为端点将触发AWS Lambda函数。如果假设我无法查询数据源来确定传入IP地址过去查询资源的频率,那么保护该端点免受滥用的最佳实践是什么?我还有其他安全选项吗?
我意识到我可以使用reCaptcha,但这仍然会调用AWS Lambda函数,并且如果在短时间内完成一百万次会产生成本。
答案 0 :(得分:1)
一种非常简单的保护API网关的方法
AWS API网关还处理一些基本级别的DDOS攻击。
请同时查看这些博客,以确保AWS API Gateway的安全
答案 1 :(得分:1)
您可能正在寻找节流限制配置或使用计划定义:
为防止您的API被太多的请求所淹没, Amazon API Gateway使用令牌限制对您的API的请求 桶算法,令牌为请求计数。特别, API网关对稳态速率和突发请求设置了限制 您帐户中所有API的提交。在令牌桶中 算法中,突发是最大存储桶大小。
当请求提交超过稳态请求速率且 突发限制,API网关使超出限制的请求失败,并且 向客户端返回429 Too Many Requests错误响应。在 捕获此类异常,客户端可以重新提交失败的请求 以限速方式,同时遵守API网关 节流极限。
作为API开发人员,您可以设置各个API阶段的限制 或改善您所有API中整体性能的方法 帐户。或者,您可以启用使用计划以限制客户端 将请求提交到指定的请求速率和配额内。这个 限制整个请求提交,以使它们不会发送 大大超过了帐户级别的限制。
参考文献:
https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html