微服务间访问管理方法、设备、装置及存储介质制造方法及图纸

技术编号:31160901 阅读:15 留言:0更新日期:2021-12-04 10:28
本发明专利技术公开了微服务间访问管理方法,该方法通过利用所述服务器中keycloak组件接收第一微服务组件发送的目标微服务组件接入请求,所述接入请求包括临时权限令牌和所述目标微服务组件接口地址;基于所述临时权限令牌和所述目标微服务组件接口地址,利用所述keycloak组件校验所述第一微服务组件是否有权限接入所述目标微服务组件;若有权限,则基于所述目标微服务组件的接口地址将所述第一微服务组件接入所述目标微服务组件。此外,本发明专利技术还公开了一种微服务间访问管理装置、设备及存储介质,由于所述访问管理方法是在三方依赖包组件中完成,故而本发明专利技术实现了减少访问管理与业务代码之间相互干扰,提高了用户对微服务访问管理的可靠性。理的可靠性。理的可靠性。

【技术实现步骤摘要】
微服务间访问管理方法、设备、装置及存储介质


[0001]本专利技术涉及权限管理领域,尤其涉及基于keycloak对微服务间访问管理方法、设备、装置及存储介质。

技术介绍

[0002]微服务架构是现如今一种主流的系统架构,微服务的解耦,独立部署以及更高的可用性和弹性等优点广受各大公司的追捧,但同样也会带来一系列问题,其中之一就是服务间的访问权限控制。通常公司只会对公有云访问私有云的微服务进行访问权限管控,常用的手段就是签名验签,增加黑名单,再复杂一些,通过数据库保存定义好的策略,以及适量的代码改造来达到该目的。这些常用手段,要么管控的颗粒度太大,要么对业务代码有一定的入侵,所以,为了解决这个问题,引入一种基于keycloak的角色管控方法来对微服务进行接口级别的访问权限控制。
[0003]上述内容仅用于辅助理解本专利技术的技术方案,并不代表承认上述内容是现有技术。

技术实现思路

[0004]本专利技术的主要目的在于提供一种微服务间访问管理方法、设备、装置及存储介质,旨在解决现有技术中访问权限管控会对业务代码产生一定入侵的技术问题。
[0005]为实现上述目的,本专利技术提供一种微服务间访问管理方法,用于服务器,所述服务器包括keycloak组件,包括以下步骤:
[0006]接收第一微服务组件发送的目标微服务组件接入请求,所述接入请求包括临时权限令牌和所述目标微服务组件接口地址;
[0007]基于所述临时权限令牌和所述目标微服务组件接口地址,利用所述keycloak组件校验所述第一微服务组件是否有权限接入所述目标微服务组件;
[0008]若有权限,则基于所述目标微服务组件的接口地址将所述第一微服务组件接入所述目标微服务组件。
[0009]可选地,所述接收所述第一微服务组件发送的目标微服务组件接入请求步骤之前,还包括
[0010]接收所述第一微服务组件发送的权限令牌生成请求;
[0011]基于所述生成请求,利用所述keycloak组件生成所述第一微服务组件对应的临时权限令牌;
[0012]发送所述临时权限令牌至所述第一微服务组件。
[0013]可选地,所述生成请求包括所述第一微服务组件接口地址,所述服务器包括keycloak组件对应的配置文件,所述配置文件包括角色与接口权限绑定表和接口地址对应角色表;
[0014]所述基于所述生成请求,利用所述keycloak组件生成所述第一微服务组件对应的
临时权限令牌的步骤包括:
[0015]基于所述第一微服务组件接口地址和所述接口地址对应角色表,确定所述第一微服务组件的角色;
[0016]基于所述角色和所述角色与接口权限绑定关系表,获取所述第一微服务组件对应的接口权限;
[0017]基于所述接口权限生成所述临时权限令牌。
[0018]可选地,所述基于所述权限令牌和所述目标微服务组件地址,利用所述keycloak组件校验所述第一微服务组件是否有权限接入所述目标微服务组件步骤具体包括:
[0019]基于所述目标微服务组件的接口地址和所述接口地址对应角色表,确定所述目标微服务组件的角色;
[0020]基于所述角色和所述角色与接口权限绑定关系表,获取所述目标微服务组件对应的接口权限;
[0021]判断所述临时权限令牌中第一微服务组件的权限是否与所述目标微服务组件接口的权限匹配;
[0022]若匹配,则判定第一微服务组件有权限接入所述目标微服务组件;
[0023]若不匹配,则判定第一微服务组件没有权限接入所述目标微服务组件,并向所述第一微服务组件发送无权限信息。
[0024]可选地,所述接收所述第一微服务组件发送的权限令牌生成请求步骤之前还包括:
[0025]配置所述角色和接口权限的绑定表和所述接口地址对应角色表;
[0026]基于所述角色和接口权限的绑定表和所述接口地址对应角色表,生成所述配置文件;
[0027]在所述keycloak组件启动时,加载所述配置文件。
[0028]可选地,所述临时权限令牌包括有效时限;
[0029]所述基于所述权限令牌和所述目标微服务组件地址利用所述keycloak组件基于所述配置文件校验所述第一微服务组件是否有权限接入所述目标微服务组件步骤之前还包括:
[0030]基于所述临时权限令牌的实际时间和所述有效时限,判断所述临时权限令牌是否失效;
[0031]若所述实际时间未超出所述有效时限,则判定没有失效,并执行步骤:基于所述权限令牌和所述目标微服务组件地址,利用所述keycloak组件校验所述第一微服务组件是否有权限接入所述目标微服务组件。
[0032]此外,为实现上述目的,本专利技术还提供一种微服务间访问管理装置,所述装置用于服务器,所述服务器包括keycloak组件,所述装置包括:
[0033]请求接收模块,用于接收第一微服务组件发送的目标微服务组件接入请求,所述接入请求包括临时权限令牌和所述目标微服务组件接口地址;
[0034]权限校验模块,用于基于所述临时权限令牌和所述目标微服务组件接口地址,利用所述keycloak组件校验所述第一微服务组件是否有权限接入所述目标微服务组件
[0035]可选地,所述装置还包括:
[0036]所述请求接收模块,还用于接收所述第一微服务组件发送的权限令牌生成请求;
[0037]令牌生成模块,用于基于所述生成请求,利用所述keycloak组件生成所述第一微服务组件对应的临时权限令牌;
[0038]令牌发送模块,用于发送所述临时权限令牌至所述第一微服务组件。
[0039]此外,为实现上述目的,本专利技术还提供一种微服务间访问管理设备,所述设备还包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的微服务间访问管理程序,所述微服务间访问管理程序被所述处理器执行时实现上述微服务间访问管理方法的步骤。
[0040]此外,为实现上述目的,本专利技术还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有微服务间访问管理程序,所述微服务间访问管理程序被处理器执行时实现上述微服务间访问管理方法的步骤。
[0041]本专利技术实施例提出的一种微服务间访问管理方法,用于服务器,利用所述服务器中keycloak组件接收第一微服务组件发送的目标微服务组件接入请求,所述接入请求包括临时权限令牌和所述目标微服务组件接口地址;基于所述临时权限令牌和所述目标微服务组件接口地址,利用所述keycloak组件校验所述第一微服务组件是否有权限接入所述目标微服务组件;若有权限,则基于所述目标微服务组件的接口地址将所述第一微服务组件接入所述目标微服务组件。由于所述权限管理方法是在三方依赖包组件中完成,故而本专利技术实现了减少权限管理与业务代码之间相互干扰,提高了用户对微服务访问管理的可靠性。
附图说明
[0042]图1为本专利技术实施例方案涉及的硬件运行环境的服务器的结构示意图;...

【技术保护点】

【技术特征摘要】
1.一种微服务间访问管理方法,其特征在于,用于服务器,所述服务器包括keycloak组件,所述方法包括以下步骤:接收第一微服务组件发送的目标微服务组件接入请求,所述接入请求包括临时权限令牌和所述目标微服务组件接口地址;基于所述临时权限令牌和所述目标微服务组件接口地址,利用所述keycloak组件校验所述第一微服务组件是否有权限接入所述目标微服务组件;若有权限,则基于所述目标微服务组件的接口地址将所述第一微服务组件接入所述目标微服务组件。2.如权利要求1所述的微服务间访问管理方法,其特征在于,所述接收所述第一微服务组件发送的目标微服务组件接入请求步骤之前,还包括接收所述第一微服务组件发送的权限令牌生成请求;基于所述生成请求,利用所述keycloak组件生成所述第一微服务组件对应的临时权限令牌;发送所述临时权限令牌至所述第一微服务组件。3.如权利要求2所述的微服务间访问管理方法,其特征在于,所述生成请求包括所述第一微服务组件接口地址,所述服务器包括keycloak组件对应的配置文件,所述配置文件包括角色与接口权限绑定表和接口地址对应角色表;基于所述生成请求,利用所述keycloak组件生成所述第一微服务组件对应的临时权限令牌,包括:基于所述第一微服务组件接口地址和所述接口地址对应角色表,确定所述第一微服务组件的角色;基于所述角色和所述角色与接口权限绑定关系表,获取所述第一微服务组件对应的接口权限;基于所述接口权限生成所述临时权限令牌。4.如权利要求3所述的微服务间访问管理方法,其特征在于,所述基于所述权限令牌和所述目标微服务组件地址,利用所述keycloak组件校验所述第一微服务组件是否有权限接入所述目标微服务组件步骤具体包括:基于所述目标微服务组件的接口地址和所述接口地址对应角色表,确定所述目标微服务组件的角色;基于所述角色和所述角色与接口权限绑定关系表,获取所述目标微服务组件对应的接口权限;判断所述临时权限令牌对应第一微服务组件的权限是否与所述目标微服务组件接口的权限匹配;若匹配,则判定第一微服务组件有权限接入所述目标微服务组件;若不匹配,则判定第一微服务组件没有权限接入所述目标微服务组件,并向所述第一微服务组件发送无权限信息。5.如权利要求4所述的微服务间访问管理方法,...

【专利技术属性】
技术研发人员:罗海龙
申请(专利权)人:深圳兆日科技股份有限公司
类型:发明
国别省市:

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

1