CN116488860A - 基于服务网格的访问授权策略生成方法、装置及设备 - Google Patents
基于服务网格的访问授权策略生成方法、装置及设备 Download PDFInfo
- Publication number
- CN116488860A CN116488860A CN202310269891.XA CN202310269891A CN116488860A CN 116488860 A CN116488860 A CN 116488860A CN 202310269891 A CN202310269891 A CN 202310269891A CN 116488860 A CN116488860 A CN 116488860A
- Authority
- CN
- China
- Prior art keywords
- access
- service
- attribute
- access authorization
- data
- 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
- 238000013475 authorization Methods 0.000 title claims abstract description 217
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000005516 engineering process Methods 0.000 claims abstract description 10
- 238000013075 data extraction Methods 0.000 claims description 15
- 230000008569 process Effects 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 6
- 238000000605 extraction Methods 0.000 claims description 4
- 239000003795 chemical substances by application Substances 0.000 description 49
- 230000009471 action Effects 0.000 description 8
- 238000004458 analytical method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000006854 communication Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000009545 invasion Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005067 remediation Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本发明实施例公开了一种基于服务网格的访问授权策略生成方法、装置及设备,该方法包括:获取至少一个目标服务对其他服务的访问历史数据;从访问历史数据中提取各次访问的属性数据和访问结果,属性数据包括以下至少之一:源服务属性、目的服务属性、源服务与目的服务之间的网络连接属性、源服务对目的服务的访问操作属性;根据各次访问的属性数据及其对应的访问结果,确定访问授权规则,访问授权规则为属性数据与访问结果之间的对应规则;根据访问授权规则,生成访问授权策略,访问授权策略用于控制至少一个目标服务对其他服务的访问授权。通过本发明,解决了相关技术中服务网格的访问授权策略编写较复杂的技术问题。
Description
技术领域
本发明涉及服务网格领域,尤其涉及一种基于服务网格的访问授权策略生成方法、装置及设备。
背景技术
服务网格常用于描述构成应用程序的微服务网络以及应用服务之间的交互,可以实现服务流量的管理。服务网格由控制平面和数据平面组成。具体地,控制平面是一组在一个专用的命名空间中运行的服务,这些服务完成控制管理的功能,包括聚合遥测数据、提供面向用户的API(即应用程序编程接口,英文全称Application Programming Interface)、向数据平面代理提供控制数据等,它们共同驱动数据平面的行为。而数据平面则是由一系列的和应用服务部署在一起的轻量级的网络代理(服务网格代理)组成,这些网络代理用于实现对相应的应用服务的流量进行转发。
服务网格技术在使用时,通常会对服务网格代理配置访问授权策略,从而允许或阻止相应的流量在某些应用服务之间的转发。相关技术中,服务网格的访问授权策略通常需要操作人员基于需求进行手工创建和编写,这对操作人员的技术水平提出了较高的要求,不仅需要操作人员熟练地掌握服务网格的相关知识(例如不同命名空间的隔离关系和不同服务之间的详细依赖关系等等),还需要了解服务网格访问授权策略的编写机制。另外,人工编写的方式需要操作人员付出大量的劳动。
因此,相关技术中存在服务网格的访问授权策略编写较复杂的技术问题。针对上述的问题,目前尚未提出有效的解决方案。
在背景技术部分中公开的以上信息只是用来加强对本文所描述技术的背景技术的理解。因此,背景技术中可能包含某些信息,这些信息对于本领域技术人员来说并未形成在已知的现有技术。
发明内容
本发明实施例提供了一种基于服务网格的访问授权策略生成方法、装置及设备,以至少解决相关技术中服务网格的访问授权策略编写较复杂的技术问题。
根据本发明实施例的第一个方面,提供了一种基于服务网格的访问授权策略生成方法,包括:获取至少一个目标服务对其他服务的访问历史数据;从访问历史数据中提取各次访问的属性数据和访问结果,属性数据包括以下至少之一:源服务属性、目的服务属性、源服务与目的服务之间的网络连接属性、源服务对目的服务的访问操作属性;根据各次访问的属性数据及其对应的访问结果,确定访问授权规则,访问授权规则为属性数据与访问结果之间的对应规则;根据访问授权规则,生成访问授权策略,访问授权策略用于控制至少一个目标服务对其他服务的访问授权。
进一步地,根据各次访问的属性数据及其对应的访问结果,确定访问授权规则包括:根据属性数据中的至少一个属性项,确定属性标签;根据属于相同属性标签的多次访问的访问结果,确定访问授权规则。
进一步地,根据各次访问的属性数据及其对应的访问结果,确定访问授权规则包括:根据访问结果为允许访问的各次访问的属性数据,确定允许访问规则;确定除了允许访问之外的访问为拒绝访问;根据访问结果为拒绝访问的各次访问的属性数据,确定拒绝访问规则;或者,根据访问结果为拒绝访问的各次访问的属性数据,确定拒绝访问规则;确定除了拒绝访问之外的访问为允许访问;根据访问结果为允许访问的各次访问的属性数据,确定允许访问规则。
进一步地,获取至少一个目标服务对其他服务的访问历史数据包括:从至少一个目标服务对应的服务网格代理获取流量转发日志,得到访问历史数据。
进一步地,从访问历史数据中提取各次访问的属性数据和访问结果包括:根据预设的数据提取规则,从流量转发日志中提取数据,得到属性数据和访问结果,其中,数据提取规则记录了属性数据和访问结果在流量转发日志中的记录位置。
进一步地,在根据访问授权规则,生成访问授权策略之后,基于服务网格的访问授权策略生成方法还包括:将访问授权策略发送给至少一个目标服务对应的服务网格代理。
根据本发明实施例的第二个方面,还提供了一种基于服务网格的访问授权策略生成装置,包括:获取单元,用于获取至少一个目标服务对其他服务的访问历史数据;提取单元,用于从访问历史数据中提取各次访问的属性数据和访问结果,属性数据包括以下至少之一:源服务属性、目的服务属性、源服务与目的服务之间的网络连接属性、源服务对目的服务的访问操作属性;确定单元,用于根据各次访问的属性数据及其对应的访问结果,确定访问授权规则,访问授权规则为属性数据与访问结果之间的对应规则;生成单元,用于根据访问授权规则,生成访问授权策略,访问授权策略用于控制至少一个目标服务对其他服务的访问授权。
进一步地,确定单元包括:第一确定模块,用于根据属性数据中的至少一个属性项,确定属性标签;第二确定模块,用于根据属于相同属性标签的多次访问的访问结果,确定访问授权规则;
确定单元包括:第三确定模块,用于根据访问结果为允许访问的各次访问的属性数据,确定允许访问规则;第四确定模块,用于确定除了允许访问之外的访问为拒绝访问;第五确定模块,用于根据访问结果为拒绝访问的各次访问的属性数据,确定拒绝访问规则;或者,确定单元包括:第六确定模块,用于根据访问结果为拒绝访问的各次访问的属性数据,确定拒绝访问规则;第七确定模块,用于确定除了拒绝访问之外的访问为允许访问;第八确定模块,用于根据访问结果为允许访问的各次访问的属性数据,确定允许访问规则;
获取单元用于:从至少一个目标服务对应的服务网格代理获取流量转发日志,得到访问历史数据;
提取单元用于:根据预设的数据提取规则,从流量转发日志中提取数据,得到属性数据和访问结果,其中,数据提取规则记录了属性数据和访问结果在流量转发日志中的记录位置;
基于服务网格的访问授权策略生成装置还包括:发送单元,用于在根据访问授权规则,生成访问授权策略之后,将访问授权策略发送给至少一个目标服务对应的服务网格代理。
根据本发明实施例的第三个方面,还提供了一种非易失性存储介质,其中,非易失性存储介质包括存储的程序,其中,在程序运行时控制非易失性存储介质所在设备执行上述的基于服务网格的访问授权策略生成方法。
根据本发明实施例的第四个方面,还提供了一种处理器,其中,处理器用于运行程序,其中,程序运行时执行上述的基于服务网格的访问授权策略生成方法。
根据本发明实施例的第五个方面,还提供了一种基于服务网格的访问授权策略生成设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,其中,处理器执行计算机程序时实现上述的基于服务网格的访问授权策略生成方法。
根据本发明实施例的第六个方面,还提供了一种网络系统,包括多个服务,多个服务之间通过服务网格技术进行通信,网络系统包括访问授权策略生成设备,访问授权策略生成设备用于为服务网格的网格代理生成访问授权策略,其中,访问授权策略生成设备为上述的基于服务网格的访问授权策略生成设备。
本发明实施例的访问授权策略生成方法可以基于访问历史数据提取属性数据和相应的访问结果,属性数据可以包括源服务属性、目的服务属性、两者之间的网络连接属性、源服务对目的服务的访问操作属性中的至少之一。基于这些属性数据及其对应的访问结果,可以从中分析规律,从而得到访问授权规则,访问授权规则可以表征属性数据与访问结果之间的对应关系。这样,基于分析访问历史数据得到的访问授权规则,可以进一步生成服务网格代理可用的访问授权策略,访问授权策略为服务网格代理控制目标服务对其他服务的访问授权的策略。采用上述实现方式的访问授权策略生成方法,可以基于对访问历史数据的分析自动得到访问授权策略,从而不需要操作人员进行手工编写,极大地降低了授权策略生成过程中对操作人员的技能要求,并有效地减小了操作人员的工作量,解决了相关技术中服务网格的访问授权策略编写较复杂的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例涉及的服务网格的示意图;
图2为本发明实施例提供的一种基于服务网格的访问授权策略生成方法的流程示意图;
图3为本发明实施例提供的一种基于服务网格的访问授权策略生成装置的示意图;
图4为本发明实施例提供的一种基于服务网格的访问授权策略生成方法实施时的示意图;
图5为本发明实施例提供的一种基于服务网格的访问授权策略生成方法的日志分析器的组成模块的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。本发明的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于限定特定顺序。
本申请实施例提供了一种基于服务网格的访问授权策略生成方法,首先,结合图1对服务网格技术进行说明,服务网格是与应用服务部署在一起的、分布式的互连代理网格。图1是根据本申请一实施例的服务网格的示意图。在本实施例中,服务网格500主要用于方便多个微服务之间进行安全和可靠的通信。微服务是指将应用程序分解为多个较小的服务或者实例,并分布在不同的集群/机器上运行。
微服务包括应用服务实例A和应用服务实例B。应用服务实例A和应用服务实例B形成服务网格500的应用面。应用服务实例A以容器/进程的形式运行在机器/工作负载容器组507。应用服务实例B以容器/进程的形式运行在机器/工作负载容器组508。例如,应用服务实例A可以是商品查询服务,应用服务实例B可以是商品下单服务。
如图1所示,应用服务实例A和网格代理503共存于机器/工作负载容器组507;应用服务实例B和网格代理505共存于机器/工作负载容器组508。网格代理503和网格代理505形成服务网格500的数据面。网格代理503和网格代理505以容器/进程的形式运行。网格代理503和应用服务实例A之间可以双向通信;网格代理505和应用服务实例B之间可以双向通信;此外,网格代理503和网格代理505之间还可以双向通信。
应用服务实例A的所有流量都通过网格代理503被路由到合适的目的地;应用服务实例B的所有网络流量都通过网格代理505被路由到合适的目的地。需要说明的是,在此提及的网络流量包括但不限于HTTP、REST、gRPC、Redis等形式。
在一种实施方式中,可以通过为服务网格500中的代理(Envoy)编写自定义的过滤器(Filter)来实现扩展数据平面层的功能,服务网格代理配置可以是为了使服务网格正确地代理服务流量,实现服务互通和服务治理。网格代理503和网格代理505可以被配置成执行至少如下功能中的一种:服务发现(service discovery),健康检查(health checking),路由(Routing),负载均衡(Load Balancing),认证和授权(authentication andauthorization),以及可观测性(observability)。
如图1所示,服务网格500还包括控制面(控制平面层)。控制面可以是由一组在一个专用的命名空间中运行的服务,在机器/工作负载容器组502由控制面组件501(托管控制面组件)来托管这些服务。如图1所示,控制面组件501与网格代理503进行双向通信;控制面组件501和网格代理505进行双向通信。控制面组件501被配置成执行一些控制管理的功能;控制面组件501接收网格代理503和网格代理505传送的遥测数据,可以进一步对这些遥测数据做聚合。控制面组件501还可以提供面向用户的应用程序接口,以便较容易地操纵网络行为;进一步地,控制面组件501还可以向网格代理503和网格代理505提供配置数据等。
图2是根据本发明实施例的基于服务网格的访问授权策略生成方法的示意图,如图2所示,该方法包括如下步骤:
步骤S101,获取至少一个目标服务对其他服务的访问历史数据;
步骤S102,从访问历史数据中提取各次访问的属性数据和访问结果,属性数据包括以下至少之一:源服务属性、目的服务属性、源服务与目的服务之间的网络连接属性、源服务对目的服务的访问操作属性;
步骤S103,根据各次访问的属性数据及其对应的访问结果,确定访问授权规则,访问授权规则为属性数据与访问结果之间的对应规则;
步骤S104,根据访问授权规则,生成访问授权策略,访问授权策略用于控制至少一个目标服务对其他服务的访问授权。
本发明实施例的访问授权策略生成方法可以基于访问历史数据提取属性数据和相应的访问结果,属性数据可以包括源服务属性、目的服务属性、两者之间的网络连接属性、源服务对目的服务的访问操作属性中的至少之一。基于这些属性数据及其对应的访问结果,可以从中分析规律,从而得到访问授权规则,访问授权规则可以表征属性数据与访问结果之间的对应关系。这样,基于分析访问历史数据得到的访问授权规则,可以进一步生成服务网格代理可用的访问授权策略,访问授权策略为服务网格代理控制目标服务对其他服务的访问授权的策略。采用上述实现方式的访问授权策略生成方法,可以基于对访问历史数据的分析自动得到访问授权策略,从而不需要操作人员进行手工编写,极大地降低了授权策略生成过程中对操作人员的技能要求,并有效地减小了操作人员的工作量,解决了相关技术中服务网格的访问授权策略编写较复杂的技术问题。
在实际实施时,源服务属性可以有多种具体形式,只要属性内容是对源服务进行表征即可,例如源服务的服务名称、源服务所属的命名空间、源服务的版本、源服务所属地区等等。
同样的,目的服务属性也可以有多种具体形式,只要其属性内容是对目的服务进行表征即可,例如目的服务的服务名称、目的服务所属的命名空间、目的服务的版本、目的服务所属地区等等。
源服务与目的服务之间进行通信时,网络连接的形式也可能是不同的,而网络连接属性便是用于对其进行表征的内容,在实际实施时,网络连接属性也可以有多种不同的具体形式,只要表征的是网络相关的属性即可,例如源服务到目的服务的访问路径(即调用路径)、访问的目的服务的端口、访问所采用的网络协议等等。
而访问操作属性即用于对源服务访问目的服务的操作进行描述的属性,例如GET、POST、PUT、DELETE等操作,其中,GET表示从指定的资源请求数据,POST表示向指定的资源提交要被处理的数据,PUT表示更新指定的资源,delete表示删除指定资源。上述的访问结果即源服务对目的服务的调用的返回结果,例如访问成功、访问失败。
在实际实施时,目标服务对其他服务的调用可能有不同的访问结果,例如允许调用、拒绝调用、对访问数据进行记录等,其中,对访问数据进行记录即审计来自目标服务的访问数据。当然,除此之外访问结果也可有其他形式。
在知晓了单次访问的属性数据及访问结果之后,便得到了相应的先验知识,后续相应属性数据的访问可采用同样的访问授权策略来得到同样的访问结果。如上,在实际实施时,源服务属性、目的服务属性及两者之间的网络连接属性等都可以有多种多样的形式,例如对于源服务和目的服务,在知晓了其名称和命名空间这两个属性后,便可唯一确定该服务。但是在生成访问授权策略时,如果从单个服务的维度进行生成,则需要生成大量的策略,使得服务网格的访问授权策略生成过程变复杂。为了解决这一问题,根据各次访问的属性数据及其对应的访问结果,确定访问授权规则包括:根据属性数据中的至少一个属性项,确定属性标签;根据属于相同属性标签的多次访问的访问结果,确定访问授权规则。
如上所述,属性数据是用来对源服务、目的服务、两者之间的网络连接以及访问操作进行描述的数据,在具体实施时,属性数据可以由若干的数据项(即属性项)组成,例如服务名称、服务版本号、服务所属地区、网络连接所采用的协议等等。本实施例中,根据属性数据中的至少一个属性项,来确定属性标签,从而实现对不同属性数据的类别划分,然后对相同属性标签的访问进行分析,确定相同属性标签下的访问授权规则。其中,属性标签即根据属性项提取的标签内容,例如对于服务名称这一属性项,可能有很多不同的属性值,通过提取特定的属性值,便可得到一个属性标签。例如app名称这一属性项可以有多种属性值,即app可以有多种名称,其中一部分app名称为httpbin,则可将“app:httpbin”作为一个属性标签,从而实现对特定app服务的筛选。再例如,应用服务的版本可能有多种,其中一部分版本为v1,通过“version:v1”这一属性标签,可实现对这部分应用服务的筛选。也就是说,在本实施例中,会将访问按照不同的属性标签进行分类,然后针对不同的属性标签分类来确定相应的访问授权规则,进而生成相应的访问授权策略。这样,可灵活地对大量的访问实现批量处理,有利于提高访问授权策略的生成效率。其中,属性标签可根据实际情况灵活确定,可以提取源服务、目的服务、网络连接属性或访问操作属性中的任意属性项作为标签,实现访问的分类,从而灵活地划分访问授权策略。在基于相同属性标签的多次访问的访问结果确定访问授权规则的过程中,可以采用一个属性标签来匹配访问授权规则,也可以使用多个属性标签来匹配访问授权规则。如上所述,上述生成的访问授权策略可以是基于一个目标服务提取的访问历史数据生成的,也可以是基于多个目标服务的访问历史数据生成的,因此访问授权策略的作用范围可用是一个也可以是多个。在访问授权策略是基于多个目标服务提取的访问历史数据生成的情况下,访问授权策略中融合了多个目标服务的先验经验,其适用的作用范围可能是特定的一部分目标服务。通过引入属性标签,可对源服务和目的服务进行更灵活的类别划分,从而根据类别划分结果,相应的生成作用于特定目标服务范围的访问授权策略。也就是说,通过采用属性标签进行选择,可针对一部分目标服务生成相应作用范围的访问授权策略,从而提高对服务网格流量访问授权控制的灵活性。例如,从多次访问的属性数据中提取应用名称和应用版本来分别作为属性标签,基于两者来共同确定访问授权规则,在一个实施例中,允许从包含属性标签“app:httpbin”与“version:v1”的应用服务到“group2”命名空间中所有应用服务的“DELETE”访问请求。本实施例对应的访问授权策略如下:
再例如,从多次访问的属性数据中提取访问路径作为属性标签,并确定其对应的访问授权规则,在一个实施例中,审计前缀为“/user/profile”(/用户/概述)的路径的所有“GET”请求。本实施例对应的访问授权策略如下:
再例如,从多次访问的属性数据中提取命名空间作为属性标签,并确定其对应的访问授权规则,在一个实施例中,拒绝从“group1”命名空间到“group2”命名空间中所有工作负载的“DELETE”、“POST”、“PUT”等请求。本实施例对应的访问授权策略如下:
如上,访问授权规则是通过对各次访问的属性数据及其对应的访问结果分析规律得到的,在编写访问授权策略的过程中,需要生成各种可能的访问的访问授权策略,如果遗漏了部分访问的访问授权策略,则服务网格代理将无法实现对相应流量的处理。为了保证生成的访问授权策略的完整性,在本实施例中,根据各次访问的属性数据及其对应的访问结果,确定访问授权规则包括:根据访问结果为允许访问的各次访问的属性数据,确定允许访问规则;确定除了允许访问之外的访问为拒绝访问;根据访问结果为拒绝访问的各次访问的属性数据,确定拒绝访问规则;或者,根据访问结果为拒绝访问的各次访问的属性数据,确定拒绝访问规则;确定除了拒绝访问之外的访问为允许访问;根据访问结果为允许访问的各次访问的属性数据,确定允许访问规则。
也就是说,本实施例中,在确定访问授权规则的过程中,会先根据各次允许访问(或拒绝访问)的属性数据来确定允许访问规则(或者拒绝访问规则),从而定义出允许(或拒绝)的访问。在此基础上,基于反向推导的方式,将除了上述的允许访问(或拒绝访问)之外的访问确定为拒绝访问(或允许访问),进而确定拒绝访问规则(或允许访问规则)。这样,能够在保证访问授权策略生成的便捷性的同时,保证访问授权策略生成的完整性,避免因遗漏部分访问授权策略从而导致相应的流量无法处理的情况出现。在实际实施时,根据不同的属性数据或者基于其提取处的属性标签,可以灵活地定义各种访问的授权规则,在访问授权规则不断完善的基础上,基于反向推导方式得到的规则也会具有更高的准确性,很好地拟合先验知识。
基于目标服务的访问历史数据,可以确定其访问的相关服务,也就是它的依赖服务,在此基础上,便可确定出所有的访问,从而将除了允许访问(或拒绝访问)之外的访问确定为拒绝访问(或允许访问)。
为了获取至少一个目标服务的访问历史数据,在本实施例中,会从至少一个目标服务的服务网格代理中获取流量转发日志,服务网格代理在对相应的应用服务的流量进行转发时,会在流量转发日志中进行记录,这样,基于获取到的流量转发日志,便可方便地得到该目标服务较完整的访问历史数据,且整个过程不需要对目标服务的代码进行修改,达到了无侵入获取访问历史数据的效果。
在一个具体的实施例中,从访问历史数据中提取各次访问的属性数据和访问结果包括:根据预设的数据提取规则,从流量转发日志中提取数据,得到属性数据和访问结果,其中,数据提取规则记录了属性数据和访问结果在流量转发日志中的记录位置。从服务网格代理获取到的流量转发日志中会包括各种信息,为了能够从中提取各次访问的属性数据和访问结果,本实施例中会基于预设的数据提取规则,从流量转发日志中进行数据提取,其中数据提取规则记录了属性数据和访问结果在流量转发日志中的记录位置,因此,基于此便可从流量转发日志中相应的位置处提取到相应的属性数据。
在一个优选的实施例中,在根据访问授权规则,生成访问授权策略之后,基于服务网格的访问授权策略生成方法还包括:将访问授权策略发送给至少一个目标服务对应的服务网格代理。本实施例中,在根据访问授权规则,生成访问授权策略之后,会将访问授权策略发送给至少一个服务网格代理,服务网格代理后续便可根据该策略进行相应的流量转发,从而实现服务网格代理的自动化配置。当然,在生成了访问授权策略之后,操作人员也可根据自身需要对访问授权策略进行修改,从而对其进行优化。
以下结合一个具体的实施例对本发明的基于服务网格的访问授权策略生成方法进行说明:
如背景技术部分所述,相关技术中,服务网格的访问授权策略通常需要用户基于需求进行手工创建和编写,这需要用户具备关于网格中服务的先验知识,例如:用户需要事先知晓服务网格数据平面中不同命名空间的隔离关系、或是不同服务之间的详细依赖关系,这对服务运维人员造成了不小的挑战。而且,还需要用户了解服务网格特定的授权策略规则编写机制:服务网格需要用户编写、提供规则才能提供上述的策略定义,这需要用户学习并理解服务网格提供的授权策略的详细规则,造成了额外的复杂度。因此,导致相关技术中存在服务网格的访问授权策略编写较复杂的技术问题。
为了解决这一技术问题,本申请实施例提出了一种基于服务网格的访问授权策略生成方法,如图4所示,服务网格代理301用于对应用服务302的出入流量进行转发,其在进行流量转发的过程中会生成流量转发日志,记录流量的转发情况,通过设置日志数据采集器303,可实现无侵入获取访问日志304(即上述的访问历史数据)的目的,在获取到访问日志304之后,通过日志分析器305可对其进行分析,从中抽取各次访问的属性数据和访问结果。具体地,如图4和图5所示,可以通过设置相应的分析器模块来实现对相应数据的分析,例如通过命名空间分析器306分析源服务和/或目的服务的命名空间,通过服务名称分析器307分析源服务和/或目的服务的服务名称,通过调用路径分析器308分析源服务到目的服务的访问路径,通过调用方法分析器309分析源服务对目的服务的调用方法(即上述的访问操作属性),通过服务标签分析器310可分析源服务和/或目的服务的属性标签,其中,属性标签可根据实际情况灵活确定,可以提取源服务、目的服务、网络连接属性或访问操作属性中的任意属性项作为标签,实现访问的分类,从而灵活地划分访问授权策略。通过策略行为分析器311可分析策略行为,即相应的访问操作的返回结果(对应上述的访问结果,例如访问成功、访问失败)。通过分析融合器312对多个目标服务的属性数据和访问结果进行融合分析,可生成除单个目标服务之外的跨命名空间或者全局的策略模板,其中此处所说的策略模板即上述的访问授权策略,由于用户可基于生成的访问授权策略进行进一步的调整,因此,此处将其称为策略模板。
基于上一步得到的分析结果,可进行服务网格访问授权策略的生成:针对网格数据平面中的应用服务,策略模板生成器313可以基于以下生成器模块生成具体的服务网格授权策略模板317:
通过元数据生成器314,可生成授权策略的元数据,其中元数据即访问授权策略中的数据项,例如:命令空间、名称、其他属性标签等内容。
通过策略行为生成器315,可用于生成策略的行为,即得到上述的访问授权规则,例如对于具有特定的属性数据的访问,是进行允许、拒绝还是审计等行为。
基于上述的访问授权规则,可通过规则生成器316生成机器可读的访问授权策略,后续该访问授权策略可直接发布到服务网格代理中,从而使得服务网格代理可以根据该策略进行访问授权操作。
其次,如图3所示,本发明实施例还提供了一种基于服务网格的访问授权策略生成装置,包括:获取单元201,用于获取至少一个目标服务对其他服务的访问历史数据;提取单元202,用于从访问历史数据中提取各次访问的属性数据和访问结果,属性数据包括以下至少之一:源服务属性、目的服务属性、源服务与目的服务之间的网络连接属性、源服务对目的服务的访问操作属性;确定单元203,用于根据各次访问的属性数据及其对应的访问结果,确定访问授权规则,访问授权规则为属性数据与访问结果之间的对应规则;生成单元204,用于根据访问授权规则,生成访问授权策略,访问授权策略用于控制至少一个目标服务对其他服务的访问授权。
在一个具体的实施例中,访问结果包括以下至少之一:允许访问、拒绝访问、对访问数据进行记录;
确定单元203包括:第一确定模块,用于根据属性数据中的至少一个属性项,确定属性标签;第二确定模块,用于根据属于相同属性标签的多次访问的访问结果,确定访问授权规则;
确定单元203包括:第三确定模块,用于根据访问结果为允许访问的各次访问的属性数据,确定允许访问规则;第四确定模块,用于确定除了允许访问之外的访问为拒绝访问;第五确定模块,用于根据访问结果为拒绝访问的各次访问的属性数据,确定拒绝访问规则;或者,确定单元203包括:第六确定模块,用于根据访问结果为拒绝访问的各次访问的属性数据,确定拒绝访问规则;第七确定模块,用于确定除了拒绝访问之外的访问为允许访问;第八确定模块,用于根据访问结果为允许访问的各次访问的属性数据,确定允许访问规则;
获取单元201用于:从至少一个目标服务对应的服务网格代理获取流量转发日志,得到访问历史数据;
提取单元202用于:根据预设的数据提取规则,从流量转发日志中提取数据,得到属性数据和访问结果,其中,数据提取规则记录了属性数据和访问结果在流量转发日志中的记录位置;
基于服务网格的访问授权策略生成装置还包括:发送单元,用于在根据访问授权规则,生成访问授权策略之后,将访问授权策略发送给至少一个目标服务对应的服务网格代理。
另外,本发明实施例还提供了一种非易失性存储介质,其中,非易失性存储介质包括存储的程序,其中,在程序运行时控制非易失性存储介质所在设备执行上述的基于服务网格的访问授权策略生成方法。
再次,本发明实施例还提供了一种处理器,其中,处理器用于运行程序,其中,程序运行时执行上述的基于服务网格的访问授权策略生成方法。
另外,本发明实施例还提供了一种基于服务网格的访问授权策略生成设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,其中,处理器执行计算机程序时实现上述的基于服务网格的访问授权策略生成方法。
最后,本发明实施例还提供了一种网络系统,其包括多个服务,多个服务之间通过服务网格技术进行通信,网络系统包括访问授权策略生成设备,访问授权策略生成设备用于为服务网格的网格代理生成访问授权策略,其中,访问授权策略生成设备为上述的基于服务网格的访问授权策略生成设备。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。而且,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (12)
1.一种基于服务网格的访问授权策略生成方法,包括:
获取至少一个目标服务对其他服务的访问历史数据;
从所述访问历史数据中提取各次访问的属性数据和访问结果,所述属性数据包括以下至少之一:源服务属性、目的服务属性、所述源服务与所述目的服务之间的网络连接属性、所述源服务对所述目的服务的访问操作属性;
根据各次访问的所述属性数据及其对应的所述访问结果,确定访问授权规则,所述访问授权规则为属性数据与访问结果之间的对应规则;
根据所述访问授权规则,生成访问授权策略,所述访问授权策略用于控制至少一个所述目标服务对其他服务的访问授权。
2.根据权利要求1所述的基于服务网格的访问授权策略生成方法,其中,根据各次访问的所述属性数据及其对应的所述访问结果,确定访问授权规则包括:
根据所述属性数据中的至少一个属性项,确定属性标签;
根据属于相同属性标签的多次访问的所述访问结果,确定所述访问授权规则。
3.根据权利要求1或2所述的基于服务网格的访问授权策略生成方法,其中,根据各次访问的所述属性数据及其对应的所述访问结果,确定访问授权规则包括:
根据所述访问结果为允许访问的各次访问的所述属性数据,确定允许访问规则;确定除了允许访问之外的访问为拒绝访问;根据所述访问结果为拒绝访问的各次访问的所述属性数据,确定拒绝访问规则;或者,
根据所述访问结果为拒绝访问的各次访问的所述属性数据,确定拒绝访问规则;确定除了拒绝访问之外的访问为允许访问;根据所述访问结果为允许访问的各次访问的所述属性数据,确定允许访问规则。
4.根据权利要求1所述的基于服务网格的访问授权策略生成方法,其中,获取至少一个目标服务对其他服务的访问历史数据包括:
从至少一个所述目标服务对应的服务网格代理获取流量转发日志,得到所述访问历史数据。
5.根据权利要求4所述的基于服务网格的访问授权策略生成方法,其中,从所述访问历史数据中提取各次访问的属性数据和访问结果包括:
根据预设的数据提取规则,从所述流量转发日志中提取数据,得到所述属性数据和所述访问结果,其中,所述数据提取规则记录了所述属性数据和所述访问结果在所述流量转发日志中的记录位置。
6.根据权利要求1或2所述的基于服务网格的访问授权策略生成方法,其中,在根据所述访问授权规则,生成访问授权策略之后,所述基于服务网格的访问授权策略生成方法还包括:
将所述访问授权策略发送给至少一个所述目标服务对应的服务网格代理。
7.一种基于服务网格的访问授权策略生成装置,包括:
获取单元,用于获取至少一个目标服务对其他服务的访问历史数据;
提取单元,用于从所述访问历史数据中提取各次访问的属性数据和访问结果,所述属性数据包括以下至少之一:源服务属性、目的服务属性、所述源服务与所述目的服务之间的网络连接属性、所述源服务对所述目的服务的访问操作属性;
确定单元,用于根据各次访问的所述属性数据及其对应的所述访问结果,确定访问授权规则,所述访问授权规则为属性数据与访问结果之间的对应规则;
生成单元,用于根据所述访问授权规则,生成访问授权策略,所述访问授权策略用于控制至少一个所述目标服务对其他服务的访问授权。
8.根据权利要求7所述的基于服务网格的访问授权策略生成装置,其中,
所述确定单元包括:第一确定模块,用于根据所述属性数据中的至少一个属性项,确定属性标签;第二确定模块,用于根据属于相同属性标签的多次访问的所述访问结果,确定所述访问授权规则;
所述确定单元包括:第三确定模块,用于根据所述访问结果为允许访问的各次访问的所述属性数据,确定允许访问规则;第四确定模块,用于确定除了允许访问之外的访问为拒绝访问;第五确定模块,用于根据所述访问结果为拒绝访问的各次访问的所述属性数据,确定拒绝访问规则;或者,所述确定单元包括:第六确定模块,用于根据所述访问结果为拒绝访问的各次访问的所述属性数据,确定拒绝访问规则;第七确定模块,用于确定除了拒绝访问之外的访问为允许访问;第八确定模块,用于根据所述访问结果为允许访问的各次访问的所述属性数据,确定允许访问规则;
所述获取单元用于:从至少一个所述目标服务对应的服务网格代理获取流量转发日志,得到所述访问历史数据;
所述提取单元用于:根据预设的数据提取规则,从所述流量转发日志中提取数据,得到所述属性数据和所述访问结果,其中,所述数据提取规则记录了所述属性数据和所述访问结果在所述流量转发日志中的记录位置;
所述基于服务网格的访问授权策略生成装置还包括:发送单元,用于在根据所述访问授权规则,生成访问授权策略之后,将所述访问授权策略发送给至少一个所述目标服务对应的服务网格代理。
9.一种非易失性存储介质,其中,所述非易失性存储介质包括存储的程序,其中,在所述程序运行时控制所述非易失性存储介质所在设备执行权利要求1至6中任意一项所述的基于服务网格的访问授权策略生成方法。
10.一种处理器,其中,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至6中任意一项所述的基于服务网格的访问授权策略生成方法。
11.一种基于服务网格的访问授权策略生成设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现权利要求1至6中任意一项所述的基于服务网格的访问授权策略生成方法。
12.一种网络系统,包括多个服务,多个所述服务之间通过服务网格技术进行通信,所述网络系统包括访问授权策略生成设备,所述访问授权策略生成设备用于为服务网格的网格代理生成访问授权策略,其中,所述访问授权策略生成设备为权利要求11所述的基于服务网格的访问授权策略生成设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310269891.XA CN116488860A (zh) | 2023-03-13 | 2023-03-13 | 基于服务网格的访问授权策略生成方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310269891.XA CN116488860A (zh) | 2023-03-13 | 2023-03-13 | 基于服务网格的访问授权策略生成方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116488860A true CN116488860A (zh) | 2023-07-25 |
Family
ID=87224098
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310269891.XA Pending CN116488860A (zh) | 2023-03-13 | 2023-03-13 | 基于服务网格的访问授权策略生成方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116488860A (zh) |
-
2023
- 2023-03-13 CN CN202310269891.XA patent/CN116488860A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9621592B2 (en) | System and method for software defined deployment of security appliances using policy templates | |
US11765048B2 (en) | Declarative and reactive data layer for component-based user interfaces | |
US10725802B2 (en) | Methods and apparatus for using tags to control and manage assets | |
US20170154188A1 (en) | Context-sensitive copy and paste block | |
CN111936974A (zh) | 将现有虚拟计算资源采纳到用于管理操作的逻辑容器中 | |
US9477574B2 (en) | Collection of intranet activity data | |
AU2014208184A1 (en) | Systems and methodologies for managing document access permissions | |
US11163873B2 (en) | Distributed security introspection | |
EP3196798A1 (en) | Context-sensitive copy and paste block | |
US11481508B2 (en) | Data access monitoring and control | |
WO2016007178A1 (en) | System and method for providing contextual analytics data | |
CN112017007A (zh) | 用户行为数据的处理方法及装置、计算机设备、存储介质 | |
CN115238247A (zh) | 基于零信任数据访问控制系统的数据处理方法 | |
US10951540B1 (en) | Capture and execution of provider network tasks | |
CN110442582B (zh) | 场景检测方法、装置、设备和介质 | |
US11494488B2 (en) | Security incident and event management use case selection | |
CN113221535A (zh) | 情报处理方法、装置、计算机设备和存储介质 | |
US20230289471A1 (en) | Image storage across distributed computing systems | |
CN109558183B (zh) | 一种自动实现api应用的方法及装置 | |
CN116488860A (zh) | 基于服务网格的访问授权策略生成方法、装置及设备 | |
US20140019439A1 (en) | Systems and methods for performing smart searches | |
RU2728809C1 (ru) | Способ и система валидации сложных структур данных в комплексной микросервисной архитектуре с визуальным отображением результатов | |
US20210152650A1 (en) | Extraction of data from secure data sources to a multi-tenant cloud system | |
CN110336777A (zh) | 安卓应用的通信接口采集方法及装置 | |
CN117290016B (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 |