CN109756448A - 基于微服务的api网关安全管理方法及其系统 - Google Patents

基于微服务的api网关安全管理方法及其系统 Download PDF

Info

Publication number
CN109756448A
CN109756448A CN201711063198.8A CN201711063198A CN109756448A CN 109756448 A CN109756448 A CN 109756448A CN 201711063198 A CN201711063198 A CN 201711063198A CN 109756448 A CN109756448 A CN 109756448A
Authority
CN
China
Prior art keywords
api
access
user
micro services
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201711063198.8A
Other languages
English (en)
Inventor
林宏正
陈真胜
王沛文
廖小文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Eshore Technology Co Ltd
Original Assignee
Guangdong Eshore Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangdong Eshore Technology Co Ltd filed Critical Guangdong Eshore Technology Co Ltd
Priority to CN201711063198.8A priority Critical patent/CN109756448A/zh
Publication of CN109756448A publication Critical patent/CN109756448A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及基于微服务的API网关安全管理方法及其系统,该方法包括首次登陆系统时,利用密钥加密用户ID,形成JWT信息;发起附带JWT信息的HTTP访问请求;判断JWT信息是否校验成功;若校验不成功,则拒绝API访问请求;若校验成功,则校验访问请求发起者是否具备API访问权限;若不具备API访问权限,则拒绝API访问请求;若具备API访问权限,则统计设定时间内API的访问量,根据访问量调整API流量的阀值,并呈现菜单资源。本发明实现了安全认证和API以及WEB菜单资源的统一授权,统一网关管理平台和用户中心的微服务,提升各个微服务的安全性,使得运维人员能全方位地管理系统的资源和监控系统的运行状况。

Description

基于微服务的API网关安全管理方法及其系统
技术领域
本发明涉及API网关安全管理方法,更具体地说是指基于微服务的API网关安全管理方法及其系统。
背景技术
随着传统架构在开发和部署模式上难以响应快速的企业业务需求,近年来流行的微服务架构,微服务的基本思想在于考虑围绕着业务领域组件来创建应用,这些就应用可独立地进行开发、管理和加速,在分散的组件中使用微服务云架构和平台使部署、管理和服务功能交付变得更加简单。
通过服务实现组件化,细化服务的粒度来提供自组织、自管理的服务,不过也带来了微服务的数量增加,加大了管理和运维的难度,目前的微服务架构包括了注册中心、API网关和微服务开发框架,但已有的微服务架构缺少一种统一管理微服务API和WEB菜单资源的方法,无法对微服务的API进行集中管理,微服务API网关较容易安全问题,且运维人员无法全方位管理资源和监控整个系统的运行状况。
因此,有必要一种基于微服务的API网关安全管理方法,通过统一网关管理平台和用户中心的微服务,API网关实现对微服务的统一集中管控,实现了安全认证和API以及WEB菜单资源的统一授权,提升了在微服务架构下各个微服务的安全性,使得运维人员能全方位地管理系统的资源和监控系统的运行状况。
发明内容
本发明的目的在于克服现有技术的缺陷,提供基于微服务的API网关安全管理方法及其系统。
为实现上述目的,本发明采用以下技术方案:基于微服务的API网关安全管理方法,所述方法包括:
首次登陆系统时,利用密钥加密用户ID,形成JWT信息;
发起附带JWT信息的HTTP访问请求;
判断JWT信息是否校验成功;
若校验不成功,则拒绝API访问请求;
若校验成功,则校验访问请求发起者是否具备API访问权限;
若不具备API访问权限,则拒绝API访问请求;
若具备API访问权限,则统计设定时间内API的访问量,根据访问量调整API流量的阀值,并呈现菜单资源。
其进一步技术方案为:首次登陆系统时,利用密钥加密用户ID,形成JWT信息的步骤,包括以下具体步骤:
首次登陆系统时,获取用户名和密码;
利用API对用户名和密码进行校验,判断用户名和密码是否正确;
若否,则发出无法登陆的通知;
若是,则采用通用密钥或者专有密钥加密用户ID,对用户ID进行签名,形成JWT信息。
其进一步技术方案为:判断JWT信息是否校验成功的步骤,包括以下具体步骤:
从JWT信息中解析出用户ID;
根据用户ID获取密钥;
根据用户ID和密钥,生成签名信息;
判断所述签名信息与JWT信息内的签名信息是否一致;
若是,则JWT信息校验成功;
若否,则JWT信息校验不成功。
其进一步技术方案为:若校验成功,则校验访问请求发起者是否具备API访问权限的步骤,包括以下具体步骤:
判断访问的API是否在网关管理中心配置的API白名单中;
若否,则访问请求发起者不具备API访问权限;
若是,则判断访问请求发起者是否能访问API;
若能访问,则访问请求发起者具备API访问权限;
若不能访问,则访问请求发起者不具备API访问权限。
其进一步技术方案为:若具备API访问权限,则统计设定时间内API的访问量,根据访问量调整API流量的阀值,并呈现菜单资源的步骤,包括以下具体步骤:
统计设定时间内API的访问量;
判断访问量是否超过流量阈值;
若是,则拒绝API访问;
若否,则允许API访问,并呈现菜单资源。
本发明还提供了基于微服务的API网关安全管理系统,包括信息形成单元、请求发起单元、信息校验单元、拒绝单元、权限校验单元以及访问处理单元;
所述信息形成单元,用于首次登陆系统时,利用密钥加密用户ID,形成JWT信息;
所述请求发起单元,用于发起附带JWT信息的HTTP访问请求;
所述信息校验单元,用于判断JWT信息是否校验成功;
所述拒绝单元,用于若校验不成功,则拒绝API访问请求;
所述权限校验单元,用于若校验成功,则校验访问请求发起者是否具备API访问权限,若不具备API访问权限,则拒绝API访问请求;
所述访问处理单元,用于若具备API访问权限,则统计设定时间内API的访问量,根据访问量调整API流量的阀值,并呈现菜单资源。
其进一步技术方案为:所述信息形成单元包括资料获取模块、资料校验模块、通知模块以及加密签名模块;
所述资料获取模块,用于首次登陆系统时,获取用户名和密码;
所述资料校验模块,用于利用API对用户名和密码进行校验,判断用户名和密码是否正确;
所述通知模块,用于若否,则发出无法登陆的通知;
所述加密签名模块,用于若是,则采用通用密钥或者专有密钥加密用户ID,对用户ID进行签名,形成JWT信息。
其进一步技术方案为:所述信息校验单元包括解析模块、密钥获取模块、签名生成模块以及签名判断模块;
所述解析模块,用于从JWT信息中解析出用户ID;
所述密钥获取模块,用于根据用户ID获取密钥;
所述签名生成模块,用于根据用户ID和密钥,生成签名信息;
所述签名判断模块,用于判断所述签名信息与JWT信息内的签名信息是否一致;若是,则JWT信息校验成功;若否,则JWT信息校验不成功。
其进一步技术方案为:所述权限校验单元包括名单判断模块以及访问判断模块;
所述名单判断模块,用于判断访问的API是否在网关管理中心配置的API白名单中;若否,则访问请求发起者不具备API访问权限;
所述访问判断模块,用于若是,则判断访问请求发起者是否能访问API;若能访问,则访问请求发起者具备API访问权限;若不能访问,则访问请求发起者不具备API访问权限。
其进一步技术方案为:所述访问处理单元包括统计模块以及阈值判断模块;
所述统计模块,用于呈现菜单资源,统计设定时间内API的访问量;
所述阈值判断模块,用于判断访问量是否超过流量阈值;若是,则拒绝API访问;若否,则允许API访问,并呈现菜单资源。
本发明与现有技术相比的有益效果是:本发明的基于微服务的API网关安全管理方法,通过密钥对用户ID进行加密,且对加密后的用户ID进行签名,形成JWT信息,在用户访问微服务的API时,需要针对JWT信息进行提取用户ID,根据用户ID获取密钥,利用用户ID和密钥形成签名信息,根据对签名的对比、访问的API是否存在白名单内以及访问发起者是否具备访问权限的判断,实现了安全认证和API以及WEB菜单资源的统一授权,统一网关管理平台和用户中心的微服务,API网关实现对微服务的统一集中管控,提升了在微服务架构下各个微服务的安全性,使得运维人员能全方位地管理系统的资源和监控系统的运行状况。
下面结合附图和具体实施例对本发明作进一步描述。
附图说明
图1为本发明具体实施例提供的基于微服务的API网关安全管理方法的流程图;
图2为本发明具体实施例提供的利用密钥加密用户ID形成JWT信息的流程图;
图3为本发明具体实施例提供的判断JWT信息是否校验成功的流程图;
图4为本发明具体实施例提供的校验访问请求发起者是否具备API访问权限的流程图;
图5为本发明具体实施例提供的根据访问量调整API流量的阀值并呈现菜单资源的流程图;
图6为本发明具体实施例提供的基于微服务的API网关安全管理系统的结构框图;
图7为本发明具体实施例提供的信息形成单元的结构框图;
图8为本发明具体实施例提供的信息校验单元的结构框图;
图9为本发明具体实施例提供的权限校验单元的结构框图;
图10为本发明具体实施例提供的访问处理单元的结构框图;
图11为本发明具体实施例提供的基于微服务的API网关安全管理系统的使用框图。
具体实施方式
为了更充分理解本发明的技术内容,下面结合具体实施例对本发明的技术方案进一步介绍和说明,但不局限于此。
如图1~11所示的具体实施例,本实施例提供的基于微服务的API网关安全管理方法,可以运用在安全认证和API以及WEB菜单的统一配置和监控过程中,实现统一网关管理平台和用户中心的微服务,API网关实现对微服务的统一集中管控,实现了安全认证和API以及WEB菜单资源的统一授权,提升了在微服务架构下各个微服务的安全性,使得运维人员能全方位地管理系统的资源和监控系统的运行状况。
如图1所示,本实施例提供了基于微服务的API网关安全管理方法,该方法包括:
S1、首次登陆系统时,利用密钥加密用户ID,形成JWT信息;
S2、发起附带JWT信息的HTTP访问请求;
S3、判断JWT信息是否校验成功;
若校验不成功,则S4、拒绝API访问请求;
若校验成功,则S5、校验访问请求发起者是否具备API访问权限;
若不具备API访问权限,则返回S4步骤;
若具备API访问权限,则S6、统计设定时间内API的访问量,根据访问量调整API流量的阀值,并呈现菜单资源。
对于上述的S1步骤,在某些实施例中,首次登陆系统时,利用密钥加密用户ID,形成JWT信息的步骤,包括以下具体步骤:
S11、首次登陆系统时,获取用户名和密码;
S12、利用API对用户名和密码进行校验,判断用户名和密码是否正确;
S13、若否,则发出无法登陆的通知;
S14、若是,则采用通用密钥或者专有密钥加密用户ID,对用户ID进行签名,形成JWT信息。
当用户第一次登录系统之后,由用户输入用户名和密码,会通过用户中心这个微服务的API做用户名和密码的校验,校验用户名和密码是否正确,校验通过之后,基于微服务架构的系统部署后,在网关管理中心一般会配置通用的密钥,也可以在用户注册之后,配置用户专用的密钥,该密钥用于登录认证之后生成JWT的签名信息。基于网关管理中心的密钥配置策略,采用通用密钥或者专有密钥加密用户ID,对用户ID签名,形成JWT信息,将其返回给用户客户端。
对于上述的S2步骤,用户以后访问系统中其他微服务API,会将之前的JWT信息附带在访问的HTTP请求中,以便于对其他微服务API的访问进行安全认证,提升了在微服务架构下各个微服务的安全性,使得运维人员能全方位地管理系统的资源和监控系统的运行状况。
更进一步地,在某些实施例中,上述的S3步骤,判断JWT信息是否校验成功的步骤,包括以下具体步骤:
S31、从JWT信息中解析出用户ID;
S32、根据用户ID获取密钥;
S33、根据用户ID和密钥,生成签名信息;
S34、判断所述签名信息与JWT信息内的签名信息是否一致;
若是,则S35、JWT信息校验成功;
若否,则S36、JWT信息校验不成功。
对于上述的S31步骤至上述的S33步骤,具体地,先从访问请求内获取出JWT信息,JWT信息的形成方式反向解析出用户ID,根据用户ID从网关管理中心获取密钥;网关管理中心会根据用户配置的是专有密钥还是通用密钥,返回对应的密钥;API网关会根据解析出来的用户ID和获取的密钥,生成签名信息。
对于上述的S34步骤至S36步骤,将生成的签名与JWT中的签名比对是否相同,如果相同,则JWT校验成功,可以继续访问;否则拒绝该用户的API访问请求。从签名的验证,提升了在微服务架构下各个微服务的安全性,使得运维人员能全方位地管理系统的资源和监控系统的运行状况。
更进一步地,在某些实施例中,上述的S5步骤,校验访问请求发起者是否具备API访问权限的步骤,包括以下具体步骤:
S51、判断访问的API是否在网关管理中心配置的API白名单中;
若否,则S52、访问请求发起者不具备API访问权限;
若是,则S53、判断访问请求发起者是否能访问API;
若能访问,则S54、访问请求发起者具备API访问权限;
若不能访问,则返回所述S52步骤。
上述的S51步骤至S54步骤,针对每个需要部署的微服务,将其微服务的API列表配置在API白名单中,只有在该API白名单中的才能被外部访问,对于需要按用户授予API访问权限的场景,在API管理功能中配置某个用户可以访问的API列表,做到细粒度的访问控制。
成功验证JWT信息之后,需要校验API访问权限,默认情况下,网关管理中心允许所有用户都能访问API白名单中的API列表,首先API网关判断访问的API是否在网关管理中心配置的API白名单中,如果不在白名单中,则拒绝访问;如果在白名单中,则根据网关管理中心是否配置该用户访问API的策略,判断该用户是否能访问该API,如果配置了不允许该用户访问该API,则同样拒绝访问。从用户的签名、访问的API是否白名单内以及访问请求者的访问权限进行安全验证,三重认证有利于提升了在微服务架构下各个微服务的安全性,使得运维人员能全方位地管理系统的资源和监控系统的运行状况,实现了API鉴权的细粒度控制,提升了API鉴权的安全性。
另外,在某些实施例中,上述的S6步骤,统计设定时间内API的访问量,根据访问量调整API流量的阀值,并呈现菜单资源的步骤,包括以下具体步骤:
S61、统计设定时间内API的访问量;
S62、判断访问量是否超过流量阈值;
若是,则S63、拒绝API访问;
若否,则S64、允许API访问,并呈现菜单资源。
对于上述的S61步骤至S62步骤,设定时间可以为每秒或者每分钟等,依据实际情况而定,API鉴权成功之后,为了应对异常的大规模流量,API网关采用滑动窗口机制,统计每秒中API的访问量,判断其是否超过网关管理中心配置的流量阀值,如果查过,则暂时拒绝该API访问;如果未超过,则允许API继续访问。结合API监控的统计数据,可以实时调整API流量的阀值,实现实时控制的目的。实现高并发场景下的流量控制,同时提供API监控的功能,可以实时显示每个API的访问统计信息;通过API流量控制,实现异常流量的检测和实时控制。
对于上述的S64步骤,针对多个API微服务同时存在WEB菜单资源的场景,可以将前端WEB资源统一部署在网关节点上,在网关管理中心统一配置WEB菜单。用户登录成功后,从网关管理中心获取该用户有权限访问的所有的菜单资源,最后将其展现给用户,网关管理中心负责用户和菜单的管理,系统中所有提供了WEB菜单的微服务,其WEB菜单权限都纳入网关管理中心集中管控,进一步方便运维配置。
上述的基于微服务的API网关安全管理方法,通过密钥对用户ID进行加密,且对加密后的用户ID进行签名,形成JWT信息,在用户访问微服务的API时,需要针对JWT信息进行提取用户ID,根据用户ID获取密钥,利用用户ID和密钥形成签名信息,根据对签名的对比、访问的API是否存在白名单内以及访问发起者是否具备访问权限的判断,实现了安全认证和API以及WEB菜单资源的统一授权,统一网关管理平台和用户中心的微服务,API网关实现对微服务的统一集中管控,提升了在微服务架构下各个微服务的安全性,使得运维人员能全方位地管理系统的资源和监控系统的运行状况。
如图6所示,本实施例还提供了基于微服务的API网关安全管理系统,其包括信息形成单元1、请求发起单元2、信息校验单元3、拒绝单元4、权限校验单元5以及访问处理单元6。
信息形成单元1,用于首次登陆系统时,利用密钥加密用户ID,形成JWT信息。
请求发起单元2,用于发起附带JWT信息的HTTP访问请求。
信息校验单元3,用于判断JWT信息是否校验成功。
拒绝单元4,用于若校验不成功,则拒绝API访问请求。
权限校验单元5,用于若校验成功,则校验访问请求发起者是否具备API访问权限,若不具备API访问权限,则拒绝API访问请求。
访问处理单元6,用于若具备API访问权限,则统计设定时间内API的访问量,根据访问量调整API流量的阀值,并呈现菜单资源。
更进一步地,在某些实施例中,信息形成单元1包括资料获取模块11、资料校验模块12、通知模块13以及加密签名模块14。
资料获取模块11,用于首次登陆系统时,获取用户名和密码。
资料校验模块12,用于利用API对用户名和密码进行校验,判断用户名和密码是否正确。
通知模块13,用于若否,则发出无法登陆的通知。
加密签名模块14,用于若是,则采用通用密钥或者专有密钥加密用户ID,对用户ID进行签名,形成JWT信息。
当用户第一次登录系统之后,由用户输入用户名和密码,会通过用户中心这个微服务的API做用户名和密码的校验,校验用户名和密码是否正确,校验通过之后,基于微服务架构的系统部署后,在网关管理中心一般会配置通用的密钥,也可以在用户注册之后,配置用户专用的密钥,该密钥用于登录认证之后生成JWT的签名信息。基于网关管理中心的密钥配置策略,采用通用密钥或者专有密钥加密用户ID,对用户ID签名,形成JWT信息,将其返回给用户客户端。
对于请求发起单元2而言,用户以后访问系统中其他微服务API,会将之前的JWT信息附带在访问的HTTP请求中,以便于对其他微服务API的访问进行安全认证,提升了在微服务架构下各个微服务的安全性,使得运维人员能全方位地管理系统的资源和监控系统的运行状况。
更进一步地,在某些实施例中,上述的信息校验单元3包括解析模块31、密钥获取模块32、签名生成模块33以及签名判断模块34。
解析模块31,用于从JWT信息中解析出用户ID。
密钥获取模块32,用于根据用户ID获取密钥。
签名生成模块33,用于根据用户ID和密钥,生成签名信息。
签名判断模块34,用于判断所述签名信息与JWT信息内的签名信息是否一致;若是,则JWT信息校验成功;若否,则JWT信息校验不成功。
具体地,先从访问请求内获取出JWT信息,JWT信息的形成方式反向解析出用户ID,根据用户ID从网关管理中心获取密钥;网关管理中心会根据用户配置的是专有密钥还是通用密钥,返回对应的密钥;API网关会根据解析出来的用户ID和获取的密钥,生成签名信息。将生成的签名与JWT中的签名比对是否相同,如果相同,则JWT校验成功,可以继续访问;否则拒绝该用户的API访问请求。从签名的验证,提升了在微服务架构下各个微服务的安全性,使得运维人员能全方位地管理系统的资源和监控系统的运行状况。
更进一步地,在某些实施例中,权限校验单元5包括名单判断模块51以及访问判断模块52。
名单判断模块51,用于判断访问的API是否在网关管理中心配置的API白名单中;若否,则访问请求发起者不具备API访问权限。
访问判断模块52,用于若是,则判断访问请求发起者是否能访问API;若能访问,则访问请求发起者具备API访问权限;若不能访问,则访问请求发起者不具备API访问权限。
针对每个需要部署的微服务,将其微服务的API列表配置在API白名单中,只有在该API白名单中的才能被外部访问,对于需要按用户授予API访问权限的场景,在API管理功能中配置某个用户可以访问的API列表,做到细粒度的访问控制。
成功验证JWT信息之后,需要校验API访问权限,默认情况下,网关管理中心允许所有用户都能访问API白名单中的API列表,首先API网关判断访问的API是否在网关管理中心配置的API白名单中,如果不在白名单中,则拒绝访问;如果在白名单中,则根据网关管理中心是否配置该用户访问API的策略,判断该用户是否能访问该API,如果配置了不允许该用户访问该API,则同样拒绝访问。从用户的签名、访问的API是否白名单内以及访问请求者的访问权限进行安全验证,三重认证有利于提升了在微服务架构下各个微服务的安全性,使得运维人员能全方位地管理系统的资源和监控系统的运行状况,实现了API鉴权的细粒度控制,提升了API鉴权的安全性。
更进一步地,在某些实施例中,访问处理单元6包括统计模块61以及阈值判断模块62。
统计模块61,用于呈现菜单资源,统计设定时间内API的访问量。
阈值判断模块62,用于判断访问量是否超过流量阈值;若是,则拒绝API访问;若否,则允许API访问,并呈现菜单资源。
设定时间可以为每秒或者每分钟等,依据实际情况而定,API鉴权成功之后,为了应对异常的大规模流量,API网关采用滑动窗口机制,统计每秒中API的访问量,判断其是否超过网关管理中心配置的流量阀值,如果查过,则暂时拒绝该API访问;如果未超过,则允许API继续访问。结合API监控的统计数据,可以实时调整API流量的阀值,实现实时控制的目的。实现高并发场景下的流量控制,同时提供API监控的功能,可以实时显示每个API的访问统计信息;通过API流量控制,实现异常流量的检测和实时控制。
针对多个API微服务同时存在WEB菜单资源的场景,可以将前端WEB资源统一部署在网关节点上,在网关管理中心统一配置WEB菜单。用户登录成功后,从网关管理中心获取该用户有权限访问的所有的菜单资源,最后将其展现给用户,网关管理中心负责用户和菜单的管理,系统中所有提供了WEB菜单的微服务,其WEB菜单权限都纳入网关管理中心集中管控,进一步方便运维配置。
上述的基于微服务的API网关安全管理方法,通过密钥对用户ID进行加密,且对加密后的用户ID进行签名,形成JWT信息,在用户访问微服务的API时,需要针对JWT信息进行提取用户ID,根据用户ID获取密钥,利用用户ID和密钥形成签名信息,根据对签名的对比、访问的API是否存在白名单内以及访问发起者是否具备访问权限的判断,实现了安全认证和API以及WEB菜单资源的统一授权,统一网关管理平台和用户中心的微服务,API网关实现对微服务的统一集中管控,提升了在微服务架构下各个微服务的安全性,使得运维人员能全方位地管理系统的资源和监控系统的运行状况。
上述仅以实施例来进一步说明本发明的技术内容,以便于读者更容易理解,但不代表本发明的实施方式仅限于此,任何依本发明所做的技术延伸或再创造,均受本发明的保护。本发明的保护范围以权利要求书为准。

Claims (10)

1.基于微服务的API网关安全管理方法,其特征在于,所述方法包括:
首次登陆系统时,利用密钥加密用户ID,形成JWT信息;
发起附带JWT信息的HTTP访问请求;
判断JWT信息是否校验成功;
若校验不成功,则拒绝API访问请求;
若校验成功,则校验访问请求发起者是否具备API访问权限;
若不具备API访问权限,则拒绝API访问请求;
若具备API访问权限,则统计设定时间内API的访问量,根据访问量调整API流量的阀值,并呈现菜单资源。
2.根据权利要求1所述的基于微服务的API网关安全管理方法,其特征在于,首次登陆系统时,利用密钥加密用户ID,形成JWT信息的步骤,包括以下具体步骤:
首次登陆系统时,获取用户名和密码;
利用API对用户名和密码进行校验,判断用户名和密码是否正确;
若否,则发出无法登陆的通知;
若是,则采用通用密钥或者专有密钥加密用户ID,对用户ID进行签名,形成JWT信息。
3.根据权利要求2所述的基于微服务的API网关安全管理方法,其特征在于,判断JWT信息是否校验成功的步骤,包括以下具体步骤:
从JWT信息中解析出用户ID;
根据用户ID获取密钥;
根据用户ID和密钥,生成签名信息;
判断所述签名信息与JWT信息内的签名信息是否一致;
若是,则JWT信息校验成功;
若否,则JWT信息校验不成功。
4.根据权利要求1至3任一项所述的基于微服务的API网关安全管理方法,其特征在于,若校验成功,则校验访问请求发起者是否具备API访问权限的步骤,包括以下具体步骤:
判断访问的API是否在网关管理中心配置的API白名单中;
若否,则访问请求发起者不具备API访问权限;
若是,则判断访问请求发起者是否能访问API;
若能访问,则访问请求发起者具备API访问权限;
若不能访问,则访问请求发起者不具备API访问权限。
5.根据权利要求4所述的基于微服务的API网关安全管理方法,其特征在于,若具备API访问权限,则统计设定时间内API的访问量,根据访问量调整API流量的阀值,并呈现菜单资源的步骤,包括以下具体步骤:
统计设定时间内API的访问量;
判断访问量是否超过流量阈值;
若是,则拒绝API访问;
若否,则允许API访问,并呈现菜单资源。
6.基于微服务的API网关安全管理系统,其特征在于,包括信息形成单元、请求发起单元、信息校验单元、拒绝单元、权限校验单元以及访问处理单元;
所述信息形成单元,用于首次登陆系统时,利用密钥加密用户ID,形成JWT信息;
所述请求发起单元,用于发起附带JWT信息的HTTP访问请求;
所述信息校验单元,用于判断JWT信息是否校验成功;
所述拒绝单元,用于若校验不成功,则拒绝API访问请求;
所述权限校验单元,用于若校验成功,则校验访问请求发起者是否具备API访问权限,若不具备API访问权限,则拒绝API访问请求;
所述访问处理单元,用于若具备API访问权限,则统计设定时间内API的访问量,根据访问量调整API流量的阀值,并呈现菜单资源。
7.根据权利要求6所述的基于微服务的API网关安全管理系统,其特征在于,所述信息形成单元包括资料获取模块、资料校验模块、通知模块以及加密签名模块;
所述资料获取模块,用于首次登陆系统时,获取用户名和密码;
所述资料校验模块,用于利用API对用户名和密码进行校验,判断用户名和密码是否正确;
所述通知模块,用于若否,则发出无法登陆的通知;
所述加密签名模块,用于若是,则采用通用密钥或者专有密钥加密用户ID,对用户ID进行签名,形成JWT信息。
8.根据权利要求7所述的基于微服务的API网关安全管理系统,其特征在于,所述信息校验单元包括解析模块、密钥获取模块、签名生成模块以及签名判断模块;
所述解析模块,用于从JWT信息中解析出用户ID;
所述密钥获取模块,用于根据用户ID获取密钥;
所述签名生成模块,用于根据用户ID和密钥,生成签名信息;
所述签名判断模块,用于判断所述签名信息与JWT信息内的签名信息是否一致;若是,则JWT信息校验成功;若否,则JWT信息校验不成功。
9.根据权利要求8所述的基于微服务的API网关安全管理系统,其特征在于,所述权限校验单元包括名单判断模块以及访问判断模块;
所述名单判断模块,用于判断访问的API是否在网关管理中心配置的API白名单中;若否,则访问请求发起者不具备API访问权限;
所述访问判断模块,用于若是,则判断访问请求发起者是否能访问API;若能访问,则访问请求发起者具备API访问权限;若不能访问,则访问请求发起者不具备API访问权限。
10.根据权利要求9所述的基于微服务的API网关安全管理系统,其特征在于,所述访问处理单元包括统计模块以及阈值判断模块;
所述统计模块,用于呈现菜单资源,统计设定时间内API的访问量;
所述阈值判断模块,用于判断访问量是否超过流量阈值;若是,则拒绝API访问;若否,则允许API访问,并呈现菜单资源。
CN201711063198.8A 2017-11-02 2017-11-02 基于微服务的api网关安全管理方法及其系统 Pending CN109756448A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711063198.8A CN109756448A (zh) 2017-11-02 2017-11-02 基于微服务的api网关安全管理方法及其系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711063198.8A CN109756448A (zh) 2017-11-02 2017-11-02 基于微服务的api网关安全管理方法及其系统

Publications (1)

Publication Number Publication Date
CN109756448A true CN109756448A (zh) 2019-05-14

Family

ID=66398442

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711063198.8A Pending CN109756448A (zh) 2017-11-02 2017-11-02 基于微服务的api网关安全管理方法及其系统

Country Status (1)

Country Link
CN (1) CN109756448A (zh)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108809956A (zh) * 2018-05-23 2018-11-13 广州虎牙信息科技有限公司 基于微服务的鉴权方法、访问请求转发方法和装置、系统
CN110324341A (zh) * 2019-07-03 2019-10-11 浪潮软件集团有限公司 一种基于istio的微服务API网关的安全计费方法
CN110460584A (zh) * 2019-07-16 2019-11-15 北京奇艺世纪科技有限公司 访问请求处理方法、装置、电子设备和计算机可读介质
CN111131397A (zh) * 2019-12-02 2020-05-08 北京海益同展信息科技有限公司 应用管理方法及系统、网关平台、服务端、存储介质
CN111556023A (zh) * 2020-03-31 2020-08-18 紫光云技术有限公司 一种基于权限的内容可配置方法
CN111614458A (zh) * 2020-05-27 2020-09-01 深圳壹账通智能科技有限公司 网关jwt的生成方法、系统及存储介质
CN111818035A (zh) * 2020-07-01 2020-10-23 上海悦易网络信息技术有限公司 一种基于api网关的权限验证的方法及设备
CN111865984A (zh) * 2020-07-21 2020-10-30 浪潮云信息技术股份公司 一种用于微服务系统的无状态鉴权方法
CN111859419A (zh) * 2020-06-29 2020-10-30 远光软件股份有限公司 基于微服务向主体配置资源权限的方法
CN111884917A (zh) * 2020-07-28 2020-11-03 浪潮云信息技术股份公司 基于微服务的网关系统及网关动态路由方法
CN112416528A (zh) * 2020-12-04 2021-02-26 福建福诺移动通信技术有限公司 一种实现非侵入性的微服务间接口安全调用的方法
CN112637192A (zh) * 2020-12-17 2021-04-09 航天精一(广东)信息科技有限公司 一种对微服务进行访问的授权方法及系统
CN112671841A (zh) * 2020-12-10 2021-04-16 清研灵智信息咨询(北京)有限公司 基于微服务技术架构的数据安全管理方法及系统
CN113672901A (zh) * 2021-08-30 2021-11-19 济南浪潮数据技术有限公司 访问请求处理方法、容器云平台、电子设备及存储介质
CN113691539A (zh) * 2021-08-25 2021-11-23 中国银行股份有限公司 企业内部统一功能权限管理方法及系统
CN113726673A (zh) * 2021-07-13 2021-11-30 新华三大数据技术有限公司 服务网关流控方法、装置、设备及存储介质
US11283802B2 (en) 2020-03-30 2022-03-22 International Business Machines Corporation Autonomous application programming interface claim requirements discovery
CN114265607A (zh) * 2022-03-03 2022-04-01 杭州朗澈科技有限公司 一种灰度发布方法、系统、电子设备和存储介质
CN116760639A (zh) * 2023-08-18 2023-09-15 深圳市大恒数据安全科技有限责任公司 一种用于多租户的数据安全隔离与共享框架实现方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105162884A (zh) * 2015-09-25 2015-12-16 浪潮(北京)电子信息产业有限公司 一种基于微服务架构的云管理平台
CN106302497A (zh) * 2016-08-25 2017-01-04 广州唯品会信息科技有限公司 微服务的权限控制方法及装置
CN106612188A (zh) * 2015-10-21 2017-05-03 中兴通讯股份有限公司 一种基于微服务架构扩展软件功能的方法及装置
US20170223051A1 (en) * 2015-08-07 2017-08-03 Adobe Systems Incorporated Cross-site request forgery defense
CN107193546A (zh) * 2017-04-11 2017-09-22 国网天津市电力公司信息通信公司 一种微服务化业务应用系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170223051A1 (en) * 2015-08-07 2017-08-03 Adobe Systems Incorporated Cross-site request forgery defense
CN105162884A (zh) * 2015-09-25 2015-12-16 浪潮(北京)电子信息产业有限公司 一种基于微服务架构的云管理平台
CN106612188A (zh) * 2015-10-21 2017-05-03 中兴通讯股份有限公司 一种基于微服务架构扩展软件功能的方法及装置
CN106302497A (zh) * 2016-08-25 2017-01-04 广州唯品会信息科技有限公司 微服务的权限控制方法及装置
CN107193546A (zh) * 2017-04-11 2017-09-22 国网天津市电力公司信息通信公司 一种微服务化业务应用系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
EAII企业架构创新研究院: "微服务架构下的安全认证与鉴权", 《简书》 *
张文杰等: "《计算机外设使用与维修》", 31 May 2007 *
张晶等: "微服务框架的设计与实现", 《计算机系统应用》 *

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108809956A (zh) * 2018-05-23 2018-11-13 广州虎牙信息科技有限公司 基于微服务的鉴权方法、访问请求转发方法和装置、系统
CN110324341A (zh) * 2019-07-03 2019-10-11 浪潮软件集团有限公司 一种基于istio的微服务API网关的安全计费方法
CN110460584A (zh) * 2019-07-16 2019-11-15 北京奇艺世纪科技有限公司 访问请求处理方法、装置、电子设备和计算机可读介质
CN110460584B (zh) * 2019-07-16 2022-02-01 北京奇艺世纪科技有限公司 访问请求处理方法、装置、电子设备和计算机可读介质
CN111131397A (zh) * 2019-12-02 2020-05-08 北京海益同展信息科技有限公司 应用管理方法及系统、网关平台、服务端、存储介质
CN111131397B (zh) * 2019-12-02 2022-09-30 京东科技信息技术有限公司 应用管理方法及系统、网关平台、服务端、存储介质
US11283802B2 (en) 2020-03-30 2022-03-22 International Business Machines Corporation Autonomous application programming interface claim requirements discovery
CN111556023A (zh) * 2020-03-31 2020-08-18 紫光云技术有限公司 一种基于权限的内容可配置方法
CN111614458A (zh) * 2020-05-27 2020-09-01 深圳壹账通智能科技有限公司 网关jwt的生成方法、系统及存储介质
CN111859419A (zh) * 2020-06-29 2020-10-30 远光软件股份有限公司 基于微服务向主体配置资源权限的方法
CN111859419B (zh) * 2020-06-29 2023-10-10 远光软件股份有限公司 基于微服务向主体配置资源权限的方法
CN111818035A (zh) * 2020-07-01 2020-10-23 上海悦易网络信息技术有限公司 一种基于api网关的权限验证的方法及设备
CN111865984A (zh) * 2020-07-21 2020-10-30 浪潮云信息技术股份公司 一种用于微服务系统的无状态鉴权方法
CN111884917A (zh) * 2020-07-28 2020-11-03 浪潮云信息技术股份公司 基于微服务的网关系统及网关动态路由方法
CN112416528A (zh) * 2020-12-04 2021-02-26 福建福诺移动通信技术有限公司 一种实现非侵入性的微服务间接口安全调用的方法
CN112416528B (zh) * 2020-12-04 2024-03-22 福建福诺移动通信技术有限公司 一种实现非侵入性的微服务间接口安全调用的方法
CN112671841A (zh) * 2020-12-10 2021-04-16 清研灵智信息咨询(北京)有限公司 基于微服务技术架构的数据安全管理方法及系统
CN112637192B (zh) * 2020-12-17 2023-10-03 广东精一信息技术有限公司 一种对微服务进行访问的授权方法及系统
CN112637192A (zh) * 2020-12-17 2021-04-09 航天精一(广东)信息科技有限公司 一种对微服务进行访问的授权方法及系统
CN113726673A (zh) * 2021-07-13 2021-11-30 新华三大数据技术有限公司 服务网关流控方法、装置、设备及存储介质
CN113726673B (zh) * 2021-07-13 2023-07-18 新华三大数据技术有限公司 服务网关流控方法、装置、设备及存储介质
CN113691539A (zh) * 2021-08-25 2021-11-23 中国银行股份有限公司 企业内部统一功能权限管理方法及系统
CN113672901A (zh) * 2021-08-30 2021-11-19 济南浪潮数据技术有限公司 访问请求处理方法、容器云平台、电子设备及存储介质
CN113672901B (zh) * 2021-08-30 2024-03-29 济南浪潮数据技术有限公司 访问请求处理方法、容器云平台、电子设备及存储介质
CN114265607A (zh) * 2022-03-03 2022-04-01 杭州朗澈科技有限公司 一种灰度发布方法、系统、电子设备和存储介质
CN116760639A (zh) * 2023-08-18 2023-09-15 深圳市大恒数据安全科技有限责任公司 一种用于多租户的数据安全隔离与共享框架实现方法
CN116760639B (zh) * 2023-08-18 2023-10-31 深圳市大恒数据安全科技有限责任公司 一种用于多租户的数据安全隔离与共享框架实现方法

Similar Documents

Publication Publication Date Title
CN109756448A (zh) 基于微服务的api网关安全管理方法及其系统
CN110213246B (zh) 一种广域多因子身份认证系统
DE60312911T2 (de) System für mobile Authentifizierung mit reduzierten Authentifizierungsverzögerung
CN101951603B (zh) 一种无线局域网接入控制方法及系统
CN103430183B (zh) 用于公用事业应用的物理安全授权
KR102308403B1 (ko) 검증 토큰을 사용하는 자원 액세스 제어
US8769289B1 (en) Authentication of a user accessing a protected resource using multi-channel protocol
US20100132019A1 (en) Redundant multifactor authentication in an identity management system
CN102685086A (zh) 一种文件访问方法和系统
EP2289222B1 (de) Verfahren, authentikationsserver und diensteserver zum authentifizieren eines client
CN101958913B (zh) 基于动态口令和数字证书的双向身份认证方法
US20220070178A1 (en) Self-managed trust in internet of things networks
CN103647788B (zh) 一种智能电网中的节点安全认证方法
CN104202338A (zh) 一种适用于企业级移动应用的安全接入方法
CN101129014A (zh) 用于建立多个会话的系统和方法
CN103986734B (zh) 一种适用于高安全性业务系统的鉴权管理方法和系统
CN101582768A (zh) 一种电子广告系统中的登录认证方法及系统
CN109462595A (zh) 基于RestFul的数据接口安全交换方法
CN102571874B (zh) 一种分布式系统中的在线审计方法及装置
CN103220368A (zh) 云端信息共享系统和方法
CN104486322B (zh) 终端接入认证授权方法及终端接入认证授权系统
CN107659935A (zh) 一种认证方法、认证服务器、网管系统及认证系统
JP2023527862A (ja) ハードウェアベースの認証を用いた産業用制御システムへの安全なリモートアクセス
CN110891067B (zh) 一种可撤销的多服务器隐私保护认证方法及系统
CN105592031B (zh) 基于身份认证的用户登陆方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20190514

RJ01 Rejection of invention patent application after publication