API访问控制
此功能用于对埋点路径进行监控,收集访问情况作为评测指标,自动限制其访问或由管理员操作,可用于用户恶意访问的场景。
- 菜单层级:平台级
- 菜单路径:服务治理 > API访问控制
埋点管理
列表字段:
- 匹配规则:根据该规则埋点,匹配该规则的url将会被监控。(pattern规则,例如,/hadm、/hadm/**、/had*/**)
- 时间窗口大小:表示统计时间窗口单位,每个时间窗口的请求数将会被记录
- 操作:可编辑流量控制、可查看监控、可删除埋点
ps.埋点仅允许新增和删除,不允许修改,为了保证统计数据的准确性,不允许时间窗口变化。
流量控制
头字段:
- 匹配规则:与埋点管理对应,表示绑定关系
- 时间窗口大小:与埋点管理对应,表示绑定关系,便于根据时间窗口大小来填写黑名单阈值
编辑字段:
- 黑白名单方式:黑名单、白名单二选一
- ip名单列表:与上个名单方式对应的名单列表
- 黑名单阈值:当选择黑名单时生效,如果某个时间窗口的某ip访问该埋点url的次数超过该值,则自动拉入黑名单,禁止访问
- 启用:可启用或禁用该流量规则
查看监控
头字段:
- 匹配规则:与埋点管理对应,表示绑定关系
- 时间窗口大小:与埋点管理对应,表示绑定关系,便于根据时间窗口大小来判断指标
列表字段:
- 请求源地址:请求源ip
- URL:请求访问api的url路径
- 最小请求数:所有时间窗口中的最小请求数
- 最大请求数:所有时间窗口中的最大请求数
- 平均请求数:所有时间窗口中的平均请求数
- 平均失败请求数:所有时间窗口中的平均失败请求数
- 总请求数:所有时间窗口的总请求数
- 总失败请求数:所有时间窗口的总失败请求数
- 开始时间:开始记录时间
- 结束时间:最后记录时间
- 操作:可将该记录对应的请求源地址拉入黑名单
QA
一、新建埋点、编辑流量控制规则后,需要点击【应用】按钮令配置生效。
验证流程:
请求该埋点api后,访问网关管理端点http://${dev.hzero.org:yourgateway}:${8081:yourmanagementport}/actuator/request-count,查看是否有收集数据
如果没有记录数据,可能是配置未生效,此时在【api访问控制】页面勾选你想要刷新配置的埋点,并点击【应用】按钮刷新配置。