策略管理分为流控策略、访问策略、报警策略以及行级权限。当前支持设置API访问的黑白名单、支持设置单位时间内API的调用次数上限,且针对API绑定的应用,可授予不同应用调用次数上限,支持配置多种形式的报警策略。

说明: 对于流控、访问和报警策略,仅针对已发布的API生效,且仅发布后的API,才可在API详情页面绑定策略或策略的详情页面绑定API,未发布或下线的API不可绑定策略。如果有绑定的策略,不支持API直接下线,需解绑所有策略后,已发布的API才可执行下线操作。

流控策略


流量控制支持限制单位时间内对API的调用次数,支持按照分/秒粒度级别的流量控制,也支持针对授权的应用设置流量控制,实现双重的流控。
策略管理 - 图1

参数信息 说明
新建策略 点击新建策略,弹窗新建,填写策略名称和单位时间内API的调用次数上限。
删除 选中策略后,可执行删除操作,只有未绑定API的策略才可删除。
筛选 支持按照时间和创建人以及策略名称进行搜索定位。
策略详情页 点击策略名称,支持跳转至策略详情页面,可查看策略基本信息以及该策略绑定API的列表。
绑定API数量 点击数值,支持进入策略详情页查看该策略绑定的API列表。
编辑 支持对已经创建的策略进行编辑操作。
绑定API 在策略详情页支持对API进行绑定,已经绑定策略的API支持更新策略。

API详情页的策略详情页面支持绑定、更新、解绑流控策略,但一个已发布的API只能绑定一个流控策略。
策略管理 - 图2

访问策略


访问控制负责控制API的调用来源,可以配置API的黑白名单控制API请求。界面基本功能同流量策略,在新建访问策略时,需要填写ip地址,选择黑名单还是白名单。
策略管理 - 图3
IP地址的填写支持单个IP或者IP段的格式。同样,在API详情页的策略详情页面,也支持对API绑定的访问策略进行更新,一个已发布的API只能绑定一个访问策略。
策略管理 - 图4

报警策略


在报警策略管理中,平台支持多种报警规则,包括QPS、错误率、平均响应时间、慢查询(占比)和慢查询(数量),可以选择操作符以及触发报警的阈值,支持多种通知方式,可选择多个通知人。同时在遭遇告警轰炸期间,可以开启报警抑制,设置规定时间内的最多告警次数。一个报警策略最多包含10条报警规则,可被多个API绑定。
策略管理 - 图5

参数信息 说明
QPS Query Per Second,每秒查询率,单位为次/秒
平均响应时间 API调用总时长/API调用总次数,单位为ms
错误率 API调用错误总次数/API调用总次数,单位为%
慢查询(占比) 响应时间不小于触发阈值的API调用次数/API调用总次数,单位为%,需选择响应时间阈值(ms)和填写占比阈值。
慢查询(数量) 响应时间不小于触发阈值的API调用总次数,单位为,需选择响应时间阈值(ms)和填写数量阈值。

此外,系统预置错误率的报警策略,在线上环境发布API时,弹窗支持选择报警策略、流控策略和访问策略,默认绑定系统预置的报警策略,当错误率>=5%时触发报警。
21 数据服务17.png

在报警策略的详情页面,可选择处于发布状态的API进行绑定,若API已绑定报警策略,也支持更新绑定的报警策略,同样,在API详情页面,也可绑定或更新已绑定的报警策略,但一个已发布的API只能绑定一个报警策略。

行级权限


支持控制API行级权限,从入参的角度,设置行级权限方案,整体使用流程如下:
21 数据服务18.png

新建行级权限方案,选择入参类型,支持字符串、整型和浮点型,添加行权限值(表示可授权查看的行数据,比如city字段有上海、杭州、北京,但只允许用户获取杭州的数据,则行权限值为杭州)。
策略管理 - 图8

如果行级权限已被应用绑定,编辑行级权限时,入参参数类型不允许修改。
21 数据服务19.png

在已发布API的详情页,绑定应用,弹窗中增加是否开启行级权限的功能键。如果开启,则需要配置行级权限,针对当前API的入参(仅支持必填入参绑定行级权限方案),可选择绑定对应参数类型的权限方案,比如入参类型为字符串,则只能绑定同为字符串的行级权限方案。
2021-08-27-11-36-16.png

若在绑定应用的弹窗中,开启了行级权限方案,则必配置。
21 数据服务20.png

行级权限方案,相关的权限控制,包括新建、查看、编辑、删除等,统一由安全中心管理控制,详情可查看功能权限控制

应用调用策略


对于API绑定的不同应用,支持设置不同应用的调用次数上限以及调用截止时间。

在API的详情页面,对于处于已发布状态的API,支持绑定应用,在绑定应用时,可以选择应用调用截止时间以及该应用的单位时间内调用次数上限。

只有已发布的API才可以绑定应用,设置应用的调用策略。
策略管理 - 图12