使用API网关流控防攻击

本文涉及的产品
云原生 API 网关,700元额度,多规格可选
简介: API使软件之间的通讯更加便捷,使得基于软件支撑的商业模式得以落地,如移动支付,从而促进API经济的繁荣。现在开放API服务已经成为软件服务的主要趋势,对于API提供者而言,API服务的安全性则是需要重点考虑的。但互联网上的攻击,或者某次促销导致流量暴增,超出服务承受能力的情况无可避免

  API使软件之间的通讯更加便捷,使得基于软件支撑的商业模式得以落地,如移动支付,从而促进API经济的繁荣。现在开放API服务已经成为软件服务的主要趋势,对于API提供者而言,API服务的安全性则是需要重点考虑的。但互联网上的攻击,或者某次促销导致流量暴增,超出服务承受能力的情况无可避免,在这种情况下,怎么保护后端服务不受影响,服务不被中断?
  API网关在设计之初,就重点考虑了安全性的问题,流控作为API网关的主要功能,能从API分组、API、用户、APP四个维度进行流量控制,当流量超过设置阈值时,API网关会直接返回错误信息(错误码403,有明确的因流控被拒的错误信息)给请求者,不会再继续调用API提供者的后端服务,从而保护了后端服务不被攻击。同时我们还具有精准流控,实时生效的特点。

API分组流控

  每个API分组在建立的时候,默认设置了分组的QPS为500,指该分组下所有API的QPS之和为500,目前该值没有开放给用户编辑,如果该值不能满足你的业务情况,请通过提交工单的方式联系我们修改。

API流控设置

  API流控用于通道内的业务分层,API提供者可以根据后端服务能力和业务的重要程度来区分API,可分别设置不同的流量控制,以保证重要业务的延续性。API流控须小于分组流控。
  用户流控用于在API上的用户分层,API提供者可以为普通用户设置流量控制,防止用户间相互挤占资源。用户流控须小于API流控。
  同理,APP流控类似。APP流控须小于用户流控。

  具体操作方法如下:

1、建立流控策略

screenshot

screenshot

  API流量控制指单位时间内的调用次数控制
  单位时间:目前支持分钟、小时、天三个粒度的流量控制。
  分钟:适合配置在调用频繁,请求量大的API上,防攻击,因为不能长时间中断调用,所以单位时间不能设置太长。
  小时、天:级别的适合配置在敏感型API上,比如发短信API,获取验证码API等,限制调用频率。

2、设置特殊流控策略

  上面的流控是针对普通用户设置的默认流控,如果还有例外的情况,我们支持给用户和APP设置特殊流控。特殊流控,主要用于对用户或APP分层,API提供者可以设置API上某个用户(或某个APP)的单独流控,可以大于或小于用户流控。
  在“流控管理”详情页面可分别添加“特殊应用”和“特殊阿里云用户”的流控。
screenshot

3、绑定API

  将策略绑定到API上,即可生效。针对不同环境的API(如测试、线上),可分别绑定不同的API策略。
screenshot
screenshot

目录
相关文章
|
11月前
|
监控 API Nacos
微服务轮子项目(19) -Alibaba Sentinel限流熔断(网关流控)
微服务轮子项目(19) -Alibaba Sentinel限流熔断(网关流控)
99 0
|
应用服务中间件 AHAS Sentinel
《阿里云容器 AHAS Sentinel 网关流控揭秘》电子版地址
阿里云容器 AHAS Sentinel 网关流控揭秘
139 0
《阿里云容器 AHAS Sentinel 网关流控揭秘》电子版地址
|
监控 Kubernetes 应用服务中间件
网关流控利器:结合 AHAS 实现 Ingress/Nginx 流量控制
微服务的稳定性一直是开发者非常关注的话题。随着业务从单体架构向分布式架构演进以及部署方式的变化,服务之间的依赖关系变得越来越复杂,业务系统也面临着巨大的高可用挑战。
网关流控利器:结合 AHAS 实现 Ingress/Nginx 流量控制
|
应用服务中间件 AHAS Spring
阿里云容器 AHAS Sentinel 网关流控揭秘【资料下载】
简介 在本场直播中,我们将介绍 AHAS Sentinel 的新特性 —— 网关流控,演示如何从容器服务创建 Spring Cloud Gateway 实例,将其快速接入到 AHAS 并配置网关流控规则,查看实时的流控效果。
3199 0
|
2月前
|
机器人 API Python
智能对话机器人(通义版)会话接口API使用Quick Start
本文主要演示了如何使用python脚本快速调用智能对话机器人API接口,在参数获取的部分给出了具体的获取位置截图,这部分容易出错,第一次使用务必仔细参考接入参数获取的位置。
123 1
|
13天前
|
安全 API 开发者
Web 开发新风尚!Python RESTful API 设计与实现,让你的接口更懂开发者心!
在当前的Web开发中,Python因能构建高效简洁的RESTful API而备受青睐,大大提升了开发效率和用户体验。本文将介绍RESTful API的基本原则及其在Python中的实现方法。以Flask为例,演示了如何通过不同的HTTP方法(如GET、POST、PUT、DELETE)来创建、读取、更新和删除用户信息。此示例还包括了基本的路由设置及操作,为开发者提供了清晰的API交互指南。
55 6
|
2月前
|
存储 JSON API
淘系API接口(解析返回的json数据)商品详情数据解析助力开发者
——在成长的路上,我们都是同行者。这篇关于商品详情API接口的文章,希望能帮助到您。期待与您继续分享更多API接口的知识,请记得关注Anzexi58哦! 淘宝API接口(如淘宝开放平台提供的API)允许开发者获取淘宝商品的各种信息,包括商品详情。然而,需要注意的是,直接访问淘宝的商品数据API通常需要商家身份或开发者权限,并且需要遵循淘宝的API使用协议。
淘系API接口(解析返回的json数据)商品详情数据解析助力开发者
|
2月前
|
SQL 存储 数据处理
|
2月前
|
XML JSON API
RESTful API设计最佳实践:构建高效、可扩展的接口
【8月更文挑战第17天】RESTful API设计是一个涉及多方面因素的复杂过程。通过遵循上述最佳实践,开发者可以构建出更加高效、可扩展、易于维护的API。然而,值得注意的是,最佳实践并非一成不变,随着技术的发展和业务需求的变化,可能需要不断调整和优化API设计。因此,保持对新技术和最佳实践的关注,是成为一名优秀API设计师的关键。
下一篇
无影云桌面