掌桥专利:专业的专利平台
掌桥专利
首页

一种访问控制方法、装置、服务器及介质

文献发布时间:2023-06-19 09:46:20


一种访问控制方法、装置、服务器及介质

技术领域

本发明实施例涉及网络安全技术领域,尤其涉及一种访问控制方法、装置、服务器及介质。

背景技术

目前,企业的典型互联网基础架构变得越来越复杂,一家企业可能运营多个内部网络。因为没有单一的、可以清晰辨别的企业边界,这种复杂性已经超越了传统基于边界防御的网络安全策略。此外,基于边界防御的网络安全控制已显示出明显的不足,一旦攻击者突破了边界,进一步的横向攻击将不受阻碍。

在这个背景下,以安全、可信、合规为目标,将应用分离为应用前置、应用后置和数据服务三部分。应用前置进行页面展示,应用后置为应用前置提供业务处理逻辑并调用数据服务。应用前后置分离设计避免数据服务直接暴露给应用前置,增强对核心数据资产的保护能力,提高应用系统和数据资源的安全性。

目前,用户在终端访问前后端分离的系统时,在访问应用前置时会对用户和应用进行身份验证、应用权限验证等访问控制,但是应用前置访问应用后置时对服务接口很少会进行访问控制,进而造成数据泄露等网络安全问题,存在很大的安全隐患。

发明内容

本发明实施例提供一种访问控制方法、装置、服务器及介质,以实现同一访问入口,简化了应用系统的认证过程,提高了应用前置访问应用后置时的安全性。

第一方面,本发明实施例提供了一种访问控制方法,应用于可信应用程序接口代理装置,所述可信应用程序接口代理装置分别与应用前置和至少一个应用后置通信连接,该方法包括:

接收并缓存认证服务器发送的用户认证信息和授权服务器发送的用户与服务接口间的授权信息;

接收所述应用前置发送的应用后置服务接口的访问请求,根据所述用户认证信息和所述授权信息对所述访问请求进行验证,确定所述访问请求的访问权限;

将具有访问权限的访问请求发送至所述访问请求对应的应用后置。

第二方面,本发明实施例还提供了一种访问控制装置,配置于可信应用程序接口代理装置,所述可信应用程序接口代理装置分别与应用前置和至少一个应用后置通信连接,该装置包括:

信息接收模块,用于接收并缓存认证服务器发送的用户认证信息和授权服务器发送的用户与服务接口间的授权信息;

访问权限确定模块,用于接收所述应用前置发送的应用后置服务接口的访问请求,根据所述用户认证信息和所述授权信息对所述访问请求进行验证,确定所述访问请求的访问权限;

访问请求发送模块,用于将具有访问权限的访问请求发送至所述访问请求对应的应用后置。

第三方面,本发明实施例还提供了一种服务器,其中,所述服务器包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任意实施例所提供的访问控制方法。

第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现如本发明任意实施例所提供的访问控制方法。

本发明实施例应用于可信应用程序接口代理装置,所述可信应用程序接口代理装置分别与应用前置和至少一个应用后置通信连接,通过接收并缓存认证服务器发送的用户认证信息和授权服务器发送的用户与服务接口间的授权信息;接收所述应用前置发送的应用后置服务接口的访问请求,根据所述用户认证信息和所述授权信息对所述访问请求进行验证,确定所述访问请求的访问权限;将具有访问权限的访问请求发送至所述访问请求对应的应用后置,解决了业务系统前后置分离后,应用前置访问应用后置时对服务接口未进行动态访问控制导致的网络安全问题,实现了简化应用系统的认证过程,提高应用前置访问应用后置时的安全性的效果。

附图说明

图1是本发明实施例一中的一种访问控制方法的流程图;

图2是本发明实施例一中的可信应用程序接口代理装置部署示意图;

图3是本发明实施例一中的应用前置访问应用后置的流程示意图;

图4是本发明实施例二中的一种访问控制方法的流程图;

图5是本发明实施例三中的一种访问控制装置的结构图;

图6是本发明实施例四中的一种服务器的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图1为本发明实施例一提供的一种访问控制方法的流程图,本实施例可适用于应用前置访问应用后置的情况,该方法应用于可信应用程序接口代理装置,所述可信应用程序接口代理装置分别与应用前置和至少一个应用后置通信连接,该方法可以由访问控制装置来执行,具体包括如下步骤:

S110、接收并缓存认证服务器发送的用户认证信息和授权服务器发送的用户与服务接口间的授权信息。

如图2所示为可信应用程序接口代理(Application Programming Interface,API)装置部署示意图,将可信API代理装置分别与应用前置和至少一个应用后置通信连接。其中,用户认证信息为验证用户令牌的信息,当用户登陆完成之后,应用服务器会生成一个用户令牌,用以验证访问应用后置的权限,应用服务器将用户令牌返回给应用前置。可信API代理装置接收认证服务器发送的用户认证信息和授权服务器发送的用户与服务接口间的授权信息,并将用户认证信息和授权信息进行缓存,用以验证用户访问应用后置的权限。

S120、接收应用前置发送的应用后置服务接口的访问请求,根据用户认证信息和授权信息对访问请求进行验证,确定访问请求的访问权限。

当应用前置访问应用后置时,应用前置会将访问请求发送至可信API代理装置,可信应用API代理装置对访问请求进行验证,确定该访问请求是否具有访问权限。

可选的,访问请求包括:用户令牌和待访问的服务接口的标识;所述根据所述用户认证信息和所述授权信息对所述访问请求进行验证,确定所述访问请求的访问权限,包括:根据所述用户认证信息对所述用户令牌进行验证,确定用户令牌的有效性;用户令牌验证通过后,根据所述授权信息对所述待访问的应用后置服务接口的标识进行验证,确定用户对待访问的服务接口的访问权限。可信API代理装置根据缓存的认证服务器发送的用户认证信息对用户令牌进行验证,验证用户令牌中的用户信息和令牌是否过期。验证通过,证明该用户具有访问应用后置的权限。当具有多个应用后置时,还需通过授权服务器发送的用户与服务接口间的授权信息,验证该用户对应用后置中的服务接口的调用权限。当用户令牌的有效性验证通过并且验证待访问的服务接口的标识具有服务接口的调用权限时,确定该用户的访问请求具有调用应用后置服务接口的权限。

如图2所示,零信任服务包括认证服务器提供的用户令牌认证服务,可选的,根据所述用户认证信息对所述用户令牌进行验证,确定用户令牌的有效性,包括:当所述可信API代理装置缓存有与用户令牌对应的用户认证信息时,根据缓存的用户认证信息对所述用户令牌进行验证,确定用户令牌的有效性;如图3所示,当所述可信API代理装置未缓存与所述用户令牌对应的用户认证信息时,通过可信代理控制服务调用用户认证服务器接口,提供认证服务,对所述用户令牌进行验证,确定用户令牌的有效性。认证服务器在用户令牌整个生命周期(包括令牌申请,续期和销毁),将用户认证信息通过rocketMQ(rocketMessage Queue,火箭消息队列)消息机制发送至可信API代理装置,可信API代理装置通过Redis缓存用户认证信息。但当认证服务器在向可信API代理装置发送用户认证信息发生错误时,可信API代理装置无法接收并缓存认证服务器中所有的用户认证信息。故当可信API代理装置中缓存有与用户令牌对应的用户认证信息时,根据缓存的用户认证信息对所述用户令牌进行验证,确定用户令牌的有效性;当可信API代理装置中未缓存有与用户令牌对应的用户认证信息时,可信API代理装置将用户令牌通过可信代理控制服务调用用户认证服务器接口对所述用户令牌进行验证,继续确定用户令牌的有效性。令牌无效直接返回错误信息和代码。否则继续验证用户是否有调用服务接口的权限。

如图2所示,零信任服务还包括授权服务器提供的确定用户对待访问的服务接口的访问权限的服务。可选的,根据所述授权信息对所述待访问的应用后置服务接口的标识进行验证,确定用户对待访问的服务接口的访问权限,包括:当所述可信API代理装置缓存有与所述待访问的服务接口的标识对应的授权信息时,根据缓存的授权信息和所述待访问的应用后置服务接口的标识,确定用户对待访问的服务接口的访问权限;如图3所示,当所述可信API代理装置未缓存与所述待访问的服务接口的标识对应的授权信息时,通过可信代理控制服务调用授权服务器接口,提供权限管理服务,通过查询权限列表对所述待访问的服务接口的标识进行验证,确定用户对待访问的服务接口的访问权限。授权服务器通过将待访问的服务接口的标识对应的授权信息通过rocketMQ(rocket Message Queue,火箭消息队列)消息机制发送至可信API代理装置,可信API代理装置将授权信息存入Redis缓存。但当授权服务器在向可信API代理装置发送授权信息发生错误时,可信API代理装置无法接收并缓存认证服务器中所有的授权信息,故当可信API代理装置中未缓存有与服务接口的标识对应的授权信息时,可信API代理装置将服务接口的标识通过可信代理控制服务调用授权服务器接口对服务接口的标识进行验证,继续确定服务接口的标识是否具有调用服务接口的权限。以下情况均视为用户无调用服务接口权限:用户已删除、用户和具有服务接口权限的角色解除匹配关系、服务接口已删除、服务接口已停用、用户匹配的角色无服务接口权限。

S130、将具有访问权限的访问请求发送至访问请求对应的应用后置。

当验证用户令牌具有有效性且验证服务接口的标识具有调用服务接口的权限时,确定访问请求具有访问权限,将访问请求发送至对应的应用后置。

可选的,所述访问请求还包括:待访问的应用后置标识;所述将所述访问请求发送至所述应用后置,包括:当确定所述访问请求具有访问权限时,根据所述待访问的应用后置标识将所述访问请求发送至对应的应用后置。访问请求中还包括待访问的应用后置标识,当验证访问请求具有访问权限时,根据待访问的应用后置标识,可信API代理装置将访问请求发送至对应的应用后置。

可信API代理装置为应用前置到应用后置提供了同一的访问入口,统一身份认证,统一鉴权,避免各个应用后置的繁杂多样的认证方式,简化了应用系统的验证过程,提高了访问请求的验证效率,同时减少建设单位对各个应用系统维护授权策略的工作量。避免了应用前置访问应用后置时容易造成数据泄露的问题,提高了应用前置访问应用后置时的安全性的效果。

本实施例的技术方案,应用于可信应用程序接口代理装置,所述可信应用程序接口代理装置分别与应用前置和至少一个应用后置通信连接,通过接收并缓存认证服务器发送的用户认证信息和授权服务器发送的用户与服务接口间的授权信息;接收所述应用前置发送的应用后置服务接口的访问请求,根据所述用户认证信息和所述授权信息对所述访问请求进行验证,确定所述访问请求的访问权限;将具有访问权限的访问请求发送至所述访问请求对应的应用后置,解决了业务系统前后置分离后,应用前置访问应用后置时对服务接口未进行动态访问控制导致的网络安全问题,实现了简化应用系统的认证过程,提高应用前置访问应用后置时的安全性的效果。

实施例二

图4为本发明实施例三提供的一种访问控制方法的流程图,本实施例是在上一实施例的基础上的进一步优化,访问控制方法还包括:接收流量管控策略,根据流量管控策略对所述应用后置服务接口进行流量管控。从而控制对应用后置的访问次数和访问时间,进一步实现对服务接口的访问控制。

如图4所示,具体包括如下步骤:

S210、接收并缓存认证服务器发送的用户认证信息和授权服务器发送的用户与服务接口间的授权信息。

S220、接收应用前置发送的应用后置服务接口的访问请求,根据用户认证信息和授权信息对访问请求进行验证,确定访问请求的访问权限。

S230、将具有访问权限的访问请求发送至访问请求对应的应用后置。

S240、接收流量管控策略,根据流量管控策略对所述应用后置服务接口进行流量管控。

如图3所示,用户通过可信代理控制服务页面设置流量管控策略,可信代理控制服务通过接口调用业务安全策略控制服务将流量管控策略下发至可信API代理装置,可信API代理装置根据流量管控策略实现流量管控。

可选的,根据流量管控策略对所述应用后置服务接口进行流量管控,包括:根据流量管控策略,通过快速构建分布式系统的通用模式的工具集中的网关组件(SpringCloudGateway)和哨兵组件(SpringCloud Sentinel)实现对应用后置服务接口的流量管控。其中,SpringCloud Gateway实现对访问时间的管控,SpringCloud Sentinel实现对最大请求数/秒和最大连接数的管控。

本实施例的技术方案,应用于可信应用程序接口代理装置,所述可信应用程序接口代理装置分别与应用前置和至少一个应用后置通信连接,通过接收并缓存认证服务器发送的用户认证信息和授权服务器发送的用户与服务接口间的授权信息;接收所述应用前置发送的应用后置服务接口的访问请求,根据所述用户认证信息和所述授权信息对所述访问请求进行验证,确定所述访问请求的访问权限;将具有访问权限的访问请求发送至所述访问请求对应的应用后置,接收流量管控策略,根据流量管控策略对所述应用后置服务接口进行流量管控,解决了业务系统前后置分离后,应用前置访问应用后置时对服务接口未进行动态访问控制导致的网络安全问题,实现了简化应用系统的认证过程,提高应用前置访问应用后置时的安全性的效果。

实施例三

图5为本发明实施例三提供的一种访问控制装置的结构示意图,该访问控制装置配置于可信应用程序接口代理装置,所述可信应用程序接口代理装置分别与应用前置和至少一个应用后置通信连接,所述装置,包括:信息接收模块310、访问权限确定模块320和访问请求发送模块330。

其中,信息接收模块310,用于接收并缓存认证服务器发送的用户认证信息和授权服务器发送的用户与服务接口间的授权信息;访问权限确定模块320,用于接收所述应用前置发送的应用后置服务接口的访问请求,根据所述用户认证信息和所述授权信息对所述访问请求进行验证,确定所述访问请求的访问权限;访问请求发送模块330,用于将具有访问权限的访问请求发送至所述访问请求对应的应用后置。

进一步的,访问请求包括:用户令牌和待访问的服务接口的标识。

在上述实施例的技术方案中,访问权限确定模块320,包括:

令牌有效性确定单元,用于根据所述用户认证信息对所述用户令牌进行验证,确定用户令牌的有效性;

访问权限确定单元,用于用户令牌验证通过后,根据所述授权信息对所述待访问的应用后置服务接口的标识进行验证,确定用户对待访问的服务接口的访问权限。

在上述实施例的技术方案中,令牌有效性确定单元具体用于当所述可信应用程序接口代理装置缓存有与用户令牌对应的用户认证信息时,根据缓存的用户认证信息对所述用户令牌进行验证,确定用户令牌的有效性;当所述可信应用程序接口代理装置未缓存与所述用户令牌对应的用户认证信息时,调用用户认证服务器接口对所述用户令牌进行验证,确定用户令牌的有效性。

在上述实施例的技术方案中,访问权限确定单元具体用于当所述可信应用程序接口代理装置缓存有与所述待访问的服务接口的标识对应的授权信息时,根据缓存的授权信息和所述待访问的应用后置服务接口的标识,确定用户对待访问的服务接口的访问权限;当所述可信应用程序接口代理装置未缓存与所述待访问的服务接口的标识对应的授权信息时,通过调用授权服务器接口对所述待访问的服务接口的标识进行验证,确定用户对待访问的服务接口的访问权限。

在上述实施例的技术方案中,访问控制装置,还包括:

流量管控模块,用于接收流量管控策略,根据流量管控策略对所述应用后置服务接口进行流量管控。

在上述实施例的技术方案中,流量管控模块具体用于根据流量管控策略,通过快速构建分布式系统的通用模式的工具集中的网关组件和哨兵组件实现对应用后置服务接口的流量管控。

进一步的,访问请求还包括:待访问的应用后置标识;

在上述实施例的技术方案中,访问请求发送模块具体用于当确定所述访问请求具有访问权限时,根据所述待访问的应用后置标识将所述访问请求发送至对应的应用后置。

本实施例的技术方案,配置于可信应用程序接口代理装置,所述可信应用程序接口代理装置分别与应用前置和至少一个应用后置通信连接,通过接收并缓存认证服务器发送的用户认证信息和授权服务器发送的用户与服务接口间的授权信息;接收所述应用前置发送的应用后置服务接口的访问请求,根据所述用户认证信息和所述授权信息对所述访问请求进行验证,确定所述访问请求的访问权限;将具有访问权限的访问请求发送至所述访问请求对应的应用后置,解决了业务系统前后置分离后,应用前置访问应用后置时对服务接口未进行动态访问控制导致的网络安全问题,实现了简化应用系统的认证过程,提高应用前置访问应用后置时的安全性的效果。

本发明实施例所提供的访问控制装置可执行本发明任意实施例所提供的访问控制方法,具备执行方法相应的功能模块和有益效果。

实施例四

图6为本发明实施例四提供的一种服务器的结构图,如图6所示,该服务器包括处理器410、存储器420、输入装置430和输出装置440;服务器中处理器410的数量可以是一个或多个,图6中以一个处理器410为例;服务器中的处理器410、存储器420、输入装置430和输出装置440可以通过总线或其他方式连接,图6中以通过总线连接为例。

存储器420作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的访问控制方法对应的程序指令/模块(例如,访问控制装置中的信息接收模块310、访问权限确定模块320和访问请求发送模块330)。处理器410通过运行存储在存储器420中的软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述的访问控制方法。

存储器420可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器420可进一步包括相对于处理器410远程设置的存储器,这些远程存储器可以通过网络连接至服务器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入装置430可用于接收输入的数字或字符信息,以及产生与服务器的用户设置以及功能控制有关的键信号输入。输出装置440可包括显示屏等显示设备。

实施例五

本发明实施例五还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种访问控制方法,应用于可信应用程序接口代理装置,所述可信应用程序接口代理装置分别与应用前置和至少一个应用后置通信连接,该方法包括:

接收并缓存认证服务器发送的用户认证信息和授权服务器发送的用户与服务接口间的授权信息;

接收所述应用前置发送的应用后置服务接口的访问请求,根据所述用户认证信息和所述授权信息对所述访问请求进行验证,确定所述访问请求的访问权限;

将具有访问权限的访问请求发送至所述访问请求对应的应用后置。

当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的访问控制方法中的相关操作。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

值得注意的是,上述访问控制装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

相关技术
  • 访问控制方法、服务器、访问设备及存储介质
  • 一种访问控制方法、装置、服务器及介质
技术分类

06120112295349