CN109756448A - 基于微服务的api网关安全管理方法及其系统 - Google Patents
基于微服务的api网关安全管理方法及其系统 Download PDFInfo
- 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
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和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访问,并呈现菜单资源。
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)
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)
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 | 国网天津市电力公司信息通信公司 | 一种微服务化业务应用系统 |
-
2017
- 2017-11-02 CN CN201711063198.8A patent/CN109756448A/zh active Pending
Patent Citations (5)
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)
Title |
---|
EAII企业架构创新研究院: "微服务架构下的安全认证与鉴权", 《简书》 * |
张文杰等: "《计算机外设使用与维修》", 31 May 2007 * |
张晶等: "微服务框架的设计与实现", 《计算机系统应用》 * |
Cited By (27)
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 |