本发明属于网络安全、分布式系统、零信任,微服务领域,具体的说是一种零信任架构下微服务动态访问控制策略的方法及装置。
背景技术:
1、微服务是近年来企业应用广泛采用的一种部署模式,通过将单体应用划分为一组独立功能的服务,服务之间通过网络相互调用,来提供敏捷,可靠,可复用的功能,为企业用户提供价值。
2、传统的微服务安全策略,一般通过在微服务的数据中心入口部署防火墙和网关,统一进行访问策略控制,其方法主要是通过在网络边界上构建安全边界以实现对南北向流量的访问控制。如今随着企业数据中心工作负载的扩大,内部服务和服务之间相互调用,东西向的流量不断增长,未进行安全防护的内部服务成为非法访问的入口,使得安全风险在内部扩散。
3、如申请公开号为cn114519196a的中国专利公开了一种面向微服务的动态访问控制策略评估方法,包括基于属性的相似度计算方法精简优化策略集和基于匹配树结构进行动态访问控制策略评估两部分,主要针对策略的精简优化、匹配树的构建、以及基于匹配树进行动态策略评估三个阶段,通过使用基于属性的相似度计算方法,细粒度划分并消解了访问控制冲突及冗余策略,减少了无关策略的干扰,通过构建匹配树结构,提高了策略检索匹配效率,同时支持在微服务策略库动态变更的过程中,仅对匹配树中策略更新局部进行维护,其余部分继续进行策略评估,保证了微服务访问控制的安全实施,保护了微服务系统的数据安全。
4、如申请公开号为cn113051602a的中国专利公开了一种基于零信任架构的数据库细粒度访问控制方法,其特征是,用户将数据访问请求与数字证书发送到零信任架构中作为策略执行点的代理网关处,代理网关进行身份认证,决定是否继续处理数据访问请求,然后代理网关将访问请求经过零信任架构的策略管理进程转发至策略引擎,策略引擎获取实时动态信息进行信任计算,其次策略引擎结合信任计算结果及静态信息,生成实例化访问属性元组,与访问控制策略进行匹配,判决此次访问允许或拒绝,最后策略管理器收到策略引擎判决信息,根据判决信息对用户授权,用户访问请求在数据库中得到处理。该发明结合了零信任架构技术、信任计算技术和访问控制技术,保护了分布式数据库的数据完整性、机密性。
5、以上专利均存在以下问题:1)需要消耗较大的计算资源分析报文;2)在微服务的数据中心入口部署防火墙和网关,统一进行访问策略控制。
技术实现思路
1、针对现有技术的不足,本发明提出了一种零信任架构下微服务动态访问控制策略的方法及装置,通过软件定义边界,将传统的基于网络设备的边界,转变为软件定义的逻辑,通过节点的事件追踪器获取微服务运行时上下文事件,上下文管理器采集并聚合事件追踪器上报的上下文信息,并将采集并聚合的上下文信息存储并更新到本地上下文映射表,上下文管理器将聚合后的上下文信息,上报到微服务控制面全局管理器,全局管理器再更新全局上下文映射表,全局管理器根据全局上下文映射表值,判断是否为新增的微服务实例,若是新增的微服务实例,则更新全局tag映射表和本地tag映射表,在节点接收到报文时,报文验证器获取该报文携带的tag,通过本地tag映射表获取该报文对应的微服务上下文信息,查询本地策略表和全局策略表,执行对应的允许或拒绝访问控制策略。
2、为实现上述目的,本发明提供如下技术方案:
3、一种零信任架构下微服务动态访问控制策略的方法,包括:
4、步骤s1:通过节点的事件追踪器获取微服务运行时上下文事件中的上下文信息;
5、步骤s2:通过上下文管理器采集并聚合事件追踪器上报的上下文信息,并将采集并聚合的上下文信息存储并更新到本地上下文映射表;
6、步骤s3:上下文管理器将聚合后的上下文信息,上报到微服务控制面全局管理器,全局管理器再更新全局上下文映射表;
7、步骤s4:全局管理器根据全局上下文映射表值,判断是否为新增的微服务实例,若是新增的微服务实例,则更新全局tag映射表和本地tag映射表;
8、步骤s5:在节点接收到报文时,报文验证器获取该报文携带的tag值,通过本地tag映射表获取该报文对应的微服务上下文信息;
9、步骤s6:查询本地策略表和全局策略表,运行决策算法,执行对应的允许或拒绝访问控制策略。
10、具体的,所述步骤s1中事件追踪器包括:进程事件追踪器,socket事件追踪器,扩展事件追踪器,进程事件追踪器采集新建进程运行时进程id、命名空间、运行应用名称的上下文信息,socket事件追踪器通过追踪socket创建、监听、地址绑定事件,扩展事件追踪器通过可热加载的事件追踪器,实现动态可扩展的微服务上下文采集。
11、具体的,所述步骤s1中事件追踪器实现的具体步骤包括:
12、步骤s101:使用即时编译技术编译扩展的伯克利包过滤器;
13、步骤s102:将编译后的伯克利包过滤器字节码热加载到不同内核hook点;
14、步骤s103:完成内核事件的采集并上报到用户空间。
15、具体的,所述步骤s2中上下文管理器的内容具体包括:
16、步骤s201:提供微服务上下文信息的查询通道;
17、步骤s202:从控制面全局管理器获取微服务实例的全局唯一tag值,并存储在内核空间的本地tag值映射表中,供节点上的报文标记器进行查询和标记发送的报文。
18、具体的,所述步骤s202中报文标记器的具体步骤包括:
19、步骤s2021:微服务实例发送报文,报文标记器进行拦截,获取报文信息;
20、步骤s2022:根据报文的<命名空间,源地址,源端口>信息,查询socket元信息表及本地tag映射表,获取报文所属微服务及对应的tag值;
21、步骤s2023:根据部署微服务的网络拓扑,将tag值纪录到ip option字段或者vxlan头部字段,完成tag值标记;
22、步骤s2024:通过节点物理网络接口,将有tag值标记的报文发送到集群微服务中。
23、具体的,所述步骤s5中报文验证器接收报文的具体步骤为:
24、步骤s501:报文验证器接收到发送端微服务发送的报文;
25、步骤s502:从ip option或者vxlan头部解出tag值,并查询本地tag值映射表,判断该tag值对应的表项是否存在且有效;
26、步骤s503:若tag值有效,得到tag值映射表的发送端微服务命名空间值,查询本地上下文表,获取发送端微服务上下文,继续决策流程,若tag值无效,提交该tag值到本地上下文管理器,触发tag映射表同步任务。
27、具体的,所述步骤s6中的具体步骤为:
28、步骤s601:根据报文的<目的接口,目的ip,目的端口>,查询本地socket元信息表,获取接收端的命名空间;
29、步骤s602:查询本地上下文表和本地tag映射表,获取接收端的上下文信息和对应的tag值;
30、步骤s603:查询决策缓存表,若决策结果不存在或过期,则查询本地决策表,利用迭代策略表计算决策结果并更新决策缓存表,策略π(s)具体公式为:
31、
32、其中,α表示动作,s表示当前状态,s′表示转移后的状态,r表示s转移时的回报,γ表示折损因子,v(·)表示状态价值函数;
33、步骤s604:运行决策算法,根据决策算法的运行结果,报文验证器放行或者丢弃报文,执行对应的允许或拒绝访问控制策略。
34、具体的,所述步骤s604中访问控制策略的具体实现方法包括:
35、步骤s6041:通过部署在内核态的事件追踪器,来获取微服务运行时的上下文信息;
36、步骤s6042:基于tag映射表及上下文映射表,通信发送方的上下文无需携带在通信数据流中;
37、步骤s6043:基于事件的上下文采集方法,通过设置上下文映射表表项的过期事件,实现动态执行策略,具体公式为:
38、l(y,ξ(x,θ))=|ξ(x,θ)-y|<ε,
39、其中,ξ(·)表示决策函数,θ表示一组学习参数,x表示输入tag值数据,y表示输出tag值数据,l(y,ξ(x,θ))表示损失函数,ε为一个正数,
40、其次通过计算结构化风险函数以提高对未知数据的预测能力,结构化风险越小,模型的决策函数越复杂,结构化风险函数s(ξ)为:
41、
42、其中,r(θ)表示损失函数中特征项数目,n表示数据个数,xi表示第i个输入tag值数据,yi表示第i个输出tag值数据,f(·)表示映射函数。
43、一种零信任架构下微服务动态访问控制策略系统,包括:微服务调度集群模块、服务节点模块和访问控制模块,
44、所述微服务调度集群模块,用于接收上下文管理器传送得上下文信息,并判断是否为微服务实例;
45、所述服务节点模块,用于映射网站内容,根据用户的地域提供距离最近的服务器中所保存的网站内容;
46、所述访问控制策略模块,用于支持动态的上下文采集,分发,利用访问控制策略,对获得的tag值进行判断、匹配和筛选。
47、具体的,所述服务节点模块包括上下文管理器单元、事件追踪器单元、策略代理单元、报文标记器单元和报文验证器单元,
48、所述上下文管理器单元,用于监控和追踪微服务内核事件,并采集和微服务关联的的上下文信息;
49、所述事件追踪器单元,用于采集事件追踪器上报的事件,并通过<命名空间,进程pid>聚合微服务实例的上下文信息;
50、所述策略代理单元,用于获取访问控制策略,并同步到本地策略表,以便在节点上执行快速的访问策略验证;
51、所述报文标记器单元,用于标记微服务对外的所有数据报文;
52、所述报文验证器单元,用于放行数据报文到目标微服务实例或者丢弃报文。
53、具体的,一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现一种零信任架构下微服务动态访问控制策略的方法的步骤。
54、具体的,一种计算机可读存储介质,其特征在于,其上存储有计算机指令,当计算机指令运行时执行一种零信任架构下微服务动态访问控制策略的方法的步骤。
55、与现有技术相比,本发明的有益效果是:
56、1.本发明提出一种零信任架构下微服务动态访问控制策略系统,并进行了架构、运行步骤和流程上的优化改进,系统具备流程简单,投资运行费用低廉,生产工作成本低的优点。
57、2.本发明提出一种零信任架构下微服务动态访问控制策略的方法,通过关联微服务实例与一组上下文信息,使用上下文来标识通信端点,具备动态,精确,可扩展的优势,当微服务实例运行时参数变更时,事件追踪器采集的上下文参数同时更新,这样基于微服务上下文的访问控制策略能即时生效,增强了安全性。
58、3.本发明提出一种零信任架构下微服务动态访问控制策略的方法,通过部署在内核态的事件追踪器,来获取微服务运行时的上下文信息,不仅可以保证安全性,还可以根据需要,扩展部署不同的事件追踪器,来采集更多的上下文信息,可以精确定义通信端点的状态。基于tag映射表及上下文映射表,通信发送方的上下文无需携带在通信数据流中,具备低系统资源占用,可扩展性好的优势,并支持所有的通信协议。
59、4.本发明提出一种零信任架构下微服务动态访问控制策略的方法,基于事件的上下文采集方法,以及通过设置上下文映射表表项的过期事件,具备满足实时分析,动态执行策略的优势