一种基于企业服务网关的统一认证鉴权方法及装置制造方法及图纸

技术编号:39787299 阅读:10 留言:0更新日期:2023-12-22 02:26
本发明专利技术公开了一种基于企业服务网关的统一认证鉴权方法及装置,其方法包括拦截业务应用访问共享服务的请求,并从所述请求中提取

【技术实现步骤摘要】
一种基于企业服务网关的统一认证鉴权方法及装置


[0001]本专利技术涉及一种基于企业服务网关的统一认证鉴权方法及装置,属于网络安全



技术介绍

[0002]基于
OAuth2.0
协议的
JWT
认证技术是目前主流的服务网关采用的认证方式,但是对于企业级服务网关在高并发场景下针对每个请求都进行解密
JWT
,导致网关服务性能下降
(
消耗大量
CPU
资源
)
;根据解析出的业务应用标识再查询关系数据或集中式缓存,多增加一次网络调用的性能开销;
JWT
认证技术也无法实现已发放凭证的状态管理,如无法统计已发放的
JWT
数量,强制指定的
JWT
下线等功能

[0003]已有的服务网关鉴权采用集中式缓存技术,每次请求将从
Redis
集中缓存库中获取指定业务应用已授权的全量服务列表,依次遍历匹配待请求共享服务地址的权限,当业务应用授权的服务接口数量较多时,可能性能瓶颈集中在
Redis
缓存库和网络开销,降低了服务网关鉴权的性能,另外采用遍历方式校验服务权限算法的复杂度较高


技术实现思路

[0004]本专利技术的目的在于克服现有技术中的不足,提供一种基于企业服务网关的统一认证鉴权方法及装置,解决了传统的认证方式造成企业服务网关的性能下降,影响服务安全的技术问题

[0005]为达到上述目的,本专利技术是采用下述技术方案实现的:
[0006]第一方面,本专利技术提供了一种基于企业服务网关的统一认证鉴权方法,包括:
[0007]拦截业务应用访问共享服务的请求,并从所述请求中提取
Token

[0008]基于所述
Token
进行网关认证,若认证成功,则获取所述业务应用的元数据,并基于所述业务应用的元数据生成其最小权限决策树;
[0009]解析所述请求的请求服务地址和业务应用
ID
,并在所述最小权限决策树中进行匹配,若匹配成功,则将所述请求转发至所述共享服务,若匹配失败,则生成异常消息;
[0010]在预设滚动时间窗口内聚合统计异常消息,将连续预设次数存在异常消息的所述请求的
IP
地址加入黑名单,进行服务请求熔断

[0011]可选的,所述业务应用从所述企业服务网关处申请
Token
,所述企业服务网关使用
JWT
协议生成
Token
,所述
JWT
协议包括头部域

有效载荷域

签名域;所述头部域包括加密算法,所述有效载荷域包括业务应用
ID、
申请时间

过期时间,所述业务应用
ID
基于所述加密算法进行加密;所述签名域对所述有效载荷域进行数字签名;所述企业服务网关将生成的
Token
写入集中式缓存中,缓存
Key

Token
,缓存
Value
为业务应用的元数据,并设置其生存周期;所述业务应用在发出访问共享服务的请求时,将生成的
Token
写入所述请求的请求头
x

token
属性中

[0012]可选的,所述基于所述
Token
进行网关认证包括:
[0013]在所述企业服务网关的进程内缓存中查询所述
Token

[0014]若查询到,则认证成功;若未查询到,则在所述企业服务网关的集中式缓存中查询所述
Token

[0015]若查询到,则将所述
Token
放入所述进程内缓存中;若未查询到,则认证失败

[0016]可选的,所述基于所述业务应用的元数据生成其最小权限决策树包括:
[0017]基于所述业务应用的元数据获取业务应用
ID

[0018]从所述企业服务网关的集中式缓存中加载所述业务应用
ID
对应的共享服务授权列表;
[0019]将所述共享服务授权列表中共享服务的共享服务地址根据路径分隔符解析为三个域:服务编码

服务模块

服务方法;
[0020]根据三个域在所述企业服务网关的进程内缓存中生成最小权限决策树,所述最小权限决策树的第一层为业务应用
ID
,第二层为服务编码,第三层为服务模块,第四层为服务方法

[0021]可选的,所述在所述最小权限决策树中进行匹配包括:
[0022]通过所述业务应用
ID
在所述企业服务网关的进程内缓存中查找相应的最小权限决策树;
[0023]将所述请求服务地址根据路径分隔符解析为三个域:服务编码

服务模块和服务方法;
[0024]将所述服务编码遍历所述最小权限决策树的第二层,若未匹配到相应的服务编码,则返回未授权消息,若匹配到相应的服务编码,则进入下一步;
[0025]将所述服务模块遍历所述最小权限决策树的第三层,若未匹配到相应的服务模块,则返回未授权消息,若匹配到相应的服务模块,则进入下一步;
[0026]将所述服务方法与所述最小权限决策树的第四层进行精确匹配或通配符匹配,若匹配成功,则返回授权消息

[0027]可选的,所述企业服务网关从运营管理服务获取共享服务元数据和应用授权变更的通知,将其同步至集中式缓存和进程内缓存,保证业务应用和共享服务授权关系的一致性;其中:
[0028]各共享服务启动在过程中扫描所有自定义注解,生成结构化的共享服务元数据,并缓存在本地服务端;所述共享服务元数据包括共享服务
ID、
共享服务中文名称

共享服务详细描述

共享服务分类以及共享服务版本;
[0029]服务注册中心维护所有所述共享服务的共享服务地址和服务编码的注册表,负责服务实例的上下线,探测共享服务的心跳;
[0030]运营管理服务监控服务注册中心的服务实例变化,若存在服务实例上线,则从注册中心获取相应的共享服务地址和服务编码,调用共享服务的拉取接口,获取共享服务元数据;将获取的共享服务元数据的共享服务
ID
和共享服务版本与数据库中已持久化的共享服务
ID
和共享服务版本比对,若所述数据库中不存在获取的共享服务元数据的共享服务
ID
,则将其作为新增的共享服务;若所述数据库中存在获取的共享服务元数据的共享服务
ID
,且所述数据库中共享服务
ID
对应的共享本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种基于企业服务网关的统一认证鉴权方法,其特征在于,包括:拦截业务应用访问共享服务的请求,并从所述请求中提取
Token
;基于所述
Token
进行网关认证,若认证成功,则获取所述业务应用的元数据,并基于所述业务应用的元数据生成其最小权限决策树;解析所述请求的请求服务地址和业务应用
ID
,并在所述最小权限决策树中进行匹配,若匹配成功,则将所述请求转发至所述共享服务,若匹配失败,则生成异常消息;在预设滚动时间窗口内聚合统计异常消息,将连续预设次数存在异常消息的所述请求的
IP
地址加入黑名单,进行服务请求熔断
。2.
根据权利要求1所述的基于企业服务网关的统一认证鉴权方法,其特征在于,所述业务应用从所述企业服务网关处申请
Token
,所述企业服务网关使用
JWT
协议生成
Token
,所述
JWT
协议包括头部域

有效载荷域

签名域;所述头部域包括加密算法,所述有效载荷域包括业务应用
ID、
申请时间

过期时间,所述业务应用
ID
基于所述加密算法进行加密;所述签名域对所述有效载荷域进行数字签名;所述企业服务网关将生成的
Token
写入集中式缓存中,缓存
Key

Token
,缓存
Value
为业务应用的元数据,并设置其生存周期;所述业务应用在发出访问共享服务的请求时,将生成的
Token
写入所述请求的请求头
x

token
属性中
。3.
根据权利要求2所述的基于企业服务网关的统一认证鉴权方法,其特征在于,所述基于所述
Token
进行网关认证包括:在所述企业服务网关的进程内缓存中查询所述
Token
,若查询到,则认证成功;若未查询到,则在所述企业服务网关的集中式缓存中查询所述
Token
,若查询到,则将所述
Token
放入所述进程内缓存中;若未查询到,则认证失败
。4.
根据权利要求2所述的基于企业服务网关的统一认证鉴权方法,其特征在于,所述基于所述业务应用的元数据生成其最小权限决策树包括:基于所述业务应用的元数据获取业务应用
ID
;从所述企业服务网关的集中式缓存中加载所述业务应用
ID
对应的共享服务授权列表;将所述共享服务授权列表中共享服务的共享服务地址根据路径分隔符解析为三个域:服务编码

服务模块

服务方法;根据三个域在所述企业服务网关的进程内缓存中生成最小权限决策树,所述最小权限决策树的第一层为业务应用
ID
,第二层为服务编码,第三层为服务模块,第四层为服务方法
。5.
根据权利要求4所述的基于企业服务网关的统一认证鉴权方法,其特征在于,所述在所述最小权限决策树中进行匹配包括:通过所述业务应用
ID
在所述企业服务网关的进程内缓存中查找相应的最小权限决策树;将所...

【专利技术属性】
技术研发人员:郭伟刘士进刘一田孟庆强郑浩泉朱继彤
申请(专利权)人:南京南瑞信息通信科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1