[发明专利]一种动态控制API接口访问的方法有效
申请号: | 202110770073.9 | 申请日: | 2021-07-08 |
公开(公告)号: | CN113420312B | 公开(公告)日: | 2022-04-26 |
发明(设计)人: | 丛锐;李德虎;孟凡栋 | 申请(专利权)人: | 山东浪潮超高清视频产业有限公司 |
主分类号: | G06F21/60 | 分类号: | G06F21/60;G06F9/54;G06F16/22;G06F16/2455;G06F16/25 |
代理公司: | 济南泉城专利商标事务所 37218 | 代理人: | 李桂存 |
地址: | 250101 山东省济南市*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 动态控制 api 接口 访问 方法 | ||
一种动态控制API接口访问的方法,通过基于数据库和缓存结合http请求或消息队列实现动态控制API访问的设计方案,在保证API接口提供高并发访问支持的前提下,对API接口的访问进行控制,保护业务系统不被恶意访问攻击。
技术领域
本发明涉及软件系统领域,具体涉及一种动态控制API接口访问的方法。
背景技术
现代软件系统通常需要和外界进行交互,交互的手段就需要通过预先定义好的应用程序接口,API就是一套交互协议,规定了如何发送请求和接收响应。当外界通过API与软件系统进行交互的时候,需要对软件系统进行保护,确保调用者的合法性及业务系统的安全,所以必须设计一套保护API调用的控制方法。
发明内容
本发明为了克服以上技术的不足,提供了一种通过对API接口的动态控制保护业务系统安全的方法。
本发明克服其技术问题所采用的技术方案是:
一种动态控制API接口访问的方法,包括:
a)软件系统创建数据库表;
b)软件系统由API接口服务模块和API接口管理模块构成;
c)软件系统通过API接口管理模块定义接口控制的类型及其默认值;
d)API接口服务模块启动时注册自己的服务信息,并实时更新当前服务状态,API接口服务模块与API接口管理模块维持心跳;
e)API接口服务模块启动时读取数据库,将数据库中所有控制策略和控制维度加载至缓存;
f)API接口服务模块接收外界请求时,通过身份标识进行控制维度匹配,挑选出权重最高的控制维度对应的控制策略;
g)API接口服务模块按照筛选出的控制维度对API接口访问进行安全控制;
h)如果API接口访问出现安全问题,则通过API接口管理模块对指定的API接口调用者或API接口设置新的控制标准;
i)API接口管理模块通过获取所有所有API接口服务模块的注册信息找到正在提供服务的服务实例,通过向服务实例发送http请求的方式使各API接口服务模块清空缓存的控制策略和控制维度;
j)API接口服务模块再次接收访问请求时重新加载的新的控制策略和控制维度,实现对API接口服务的实时管控。
进一步的,步骤a)中软件系统创建数据库表的步骤为:
a-1)所有API接口服务模块在系统启动时把自己的IP地址和端口注册到数据库表中,并定时更新自身状态,完成服务实例信息表的建立;
a-2)将API接口服务模块进行的控制类型定义相关控制默认值,完成接口控制类型表的建立;
a-3)通过自定义控制类型的值进行扩展覆盖默认值,完成控制标准表的建立;
a-4)将不同控制类型的控制标准醋和为一组策略,完成控制策略表的建立;
a-5)完成控制维度表的建立,包括调用者ID、业务扩展ID、接口资源ID;
a-6)将控制策略与控制标准进行绑定,完成控制策略配置表的建立;
a-7)将控制维度和控制策略进行绑定,完成控制配置表的建立:
进一步的,步骤b)中API接口服务模块提供对外数据交互服务,API管理模块负责对接口进行管理。
进一步的,步骤d)中API接口服务模块启动时注册自己的服务信息为IP地址及端口。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东浪潮超高清视频产业有限公司,未经山东浪潮超高清视频产业有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110770073.9/2.html,转载请声明来源钻瓜专利网。