CN115396221A - 授权处理方法及装置、***、电子设备及存储介质 - Google Patents

授权处理方法及装置、***、电子设备及存储介质 Download PDF

Info

Publication number
CN115396221A
CN115396221A CN202211049147.0A CN202211049147A CN115396221A CN 115396221 A CN115396221 A CN 115396221A CN 202211049147 A CN202211049147 A CN 202211049147A CN 115396221 A CN115396221 A CN 115396221A
Authority
CN
China
Prior art keywords
authorization
service
grid
workload
context
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
CN202211049147.0A
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.)
Alibaba China Co Ltd
Original Assignee
Alibaba China 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 Alibaba China Co Ltd filed Critical Alibaba China Co Ltd
Priority to CN202211049147.0A priority Critical patent/CN115396221A/zh
Publication of CN115396221A publication Critical patent/CN115396221A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • H04L63/205Network architectures or network communication protocols for network security for managing network security; network security policies in general involving negotiation or determination of the one or more network security mechanisms to be used, e.g. by negotiation between the client and the server or between peers or by selection according to the capabilities of the entities involved

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)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请提供了一种授权处理方法及装置、***、电子设备及存储介质,依据本申请实施例,首先对针对应用服务的授权请求进行解析,得到该授权请求对应的授权服务;之后确定与该授权服务相匹配的授权策略模型;最后通过该授权策略模型的运行,确定授权请求的授权结果。其中,上述授权策略模型是根据调用规则定义接口所定义的授权规则生成的,该规则定义接口是开放给用户或服务网格的管理员的,通过调用该接口能够灵活的定义授权规则,从而能够生成对应的授权策略模型,运行生成的该授权策略模型即可按照用户或管理员定义的授权规则对授权请求进行匹配或控制,实现了动态加载新的授权服务,以及灵活地定义服务网格的授权功能。

Description

授权处理方法及装置、***、电子设备及存储介质
技术领域
本申请涉及云计算、数据处理技术领域,尤其涉及一种授权处理方法及装置、***、电子设备及存储介质。
背景技术
相关技术中,一个较为复杂的应用服务可以分割为多个微服务,各微服务关注于完成一个任务,每个任务代表着一个小的业务能力,各个微服务可被独立部署在不同的集群或机器上。服务网格是与应用服务部署在一起的、分布式的互连代理网络,其职责是保证微服务之间进行可靠的信息传送。
当前服务网格支持授权功能,对授权请求与预先定义的授权条件进行匹配,匹配成功后会执行相应的动作,例如放行授权请求或拒绝授权请求。但是目前服务网格无法实现动态加载新的授权服务。
发明内容
本申请实施例提供一种授权处理方法及装置、***、电子设备及存储介质,以实现动态加载新的授权服务。
第一方面,本申请实施例提供了一种授权处理方法,应用于服务网格,所述服务网格与应用服务通信连接,用于实现所述应用服务的授权功能,所述方法包括:
接收针对所述应用服务的授权请求;
对所述授权请求进行解析,得到所述授权请求对应的授权服务;
确定与所述授权服务相匹配的授权策略模型;其中,所述授权策略模型是根据授权规则生成的,所述授权规则通过调用开放的规则定义接口进行定义;
根据所述授权请求和所述授权策略模型,确定所述授权请求的授权结果。
在一种可能的实施方式中,预先生成所述授权策略模型,所述授权策略模型的生成过程包括:
通过所述规则定义接口,获取针对所述授权服务定义的授权规则;
确定所述授权服务的服务网格上下文;其中,所述服务网格上下文包括所述授权服务的执行环境信息,是根据调用开放的服务定义接口所定义的信息得到的;
根据所述授权规则和所述服务网格上下文,生成所述授权服务的代理配置信息;所述代理配置信息用于对所述服务网格中对应的服务网格代理进行配置;
根据所述代理配置信息,构建所述授权服务对应的授权策略模型。
在一种可能的实施方式中,所述服务网格上下文包括工作负载上下文;所述应用服务包括至少一个工作负载实例;
所述确定所述授权服务的服务网格上下文,包括:
确定所述授权服务对应的工作负载实例;所述工作负载实例与所述服务网格中的服务网格代理相对应;所述服务网格代理用于实现对应的工作负载实例所要实现的预设功能;
从工作负载上下文集合中,获取与所述工作负载实例对应的工作负载上下文;其中所述工作负载上下文集合中存储有至少一个工作负载实例与工作负载上下文之间的匹配关系。
在一种可能的实施方式中,预先生成所述工作负载上下文集合,所述工作负载上下文集合按照如下步骤生成:
获取各个工作负载实例所在的物理节点的资源信息;
根据所述资源信息,分别生成与各工作负载实例相匹配的工作负载上下文,并将各工作负载实例与工作负载上下文之间的匹配关系存储到所述工作负载上下文集合中。
在一种可能的实施方式中,所述服务网格上下文包括授权服务上下文;
所述确定所述授权服务的服务网格上下文,包括:
从授权服务上下文集合中,获取与所述授权服务相匹配的授权服务上下文;其中,所述授权服务上下文集合中存储有至少一个授权服务与授权服务上下文之间的匹配关系。
在一种可能的实施方式中,预先生成所述授权服务上下文集合,所述授权服务上下文集合按照如下步骤生成:
通过所述服务定义接口,获取针对至少一个授权服务中的每个授权服务定义的授权元数据;
根据各授权服务的授权元数据,分别生成与各授权服务相匹配的授权服务上下文,并将各授权服务与授权服务上下文之间的匹配关系存储到所述授权服务上下文集合中。
在一种可能的实施方式中,所述授权元数据包括以下至少一项:
所述授权服务的访问地址、所述授权服务的访问路径、所述授权服务的访问端口、所述授权服务的访问超时约束、所述授权服务的请求头信息、所述授权服务的请求主体信息、所述授权服务对应的响应头信息、所述授权服务对应的响应主体信息。
在一种可能的实施方式中,所述根据所述代理配置信息,构建所述授权服务对应的授权策略模型,包括:
根据所述代理配置信息,确定所述授权服务对应的服务网格代理;其中,所述服务网格中包括至少一个服务网格代理;所述服务网格代理与工作负载实例相对应,用于实现工作负载实例所要实现的预设功能;
利用所述服务网格代理,根据所述代理配置信息,构建所述授权服务对应的授权策略模型。
在一种可能的实施方式中,所述根据所述授权请求和所述授权策略模型,确定所述授权请求的授权结果,包括:
利用所述服务网格中的授权插件,将所述授权请求中的至少部分信息和所述授权策略模型的信息发给授权执行引擎,以使所述授权执行引擎运行所述授权策略模型,得到所述授权请求的授权结果;
利用所述授权插件接收所述授权执行引擎反馈的所述授权结果。
第二方面,本申请实施例提供了一种授权处理装置,应用于服务网格,所述装置包括:
信息接口模块,用于接收授权请求;
请求解析模块,用于对所述授权请求进行解析,得到所述授权请求对应的授权服务;
模型确定模块,用于确定与所述授权服务相匹配的授权策略模型;其中,所述授权策略模型是根据授权规则生成的,所述授权规则通过调用开放的规则定义接口进行定义;
授权模块,用于根据所述授权请求和所述授权策略模型,确定所述授权请求的授权结果。
第三方面,本申请实施例提供了一种授权***,包括执行上述方法的服务网格,以及与所述服务网格通信连接的应用服务;
所述服务网格,用于获取针对所述应用服务的授权请求,并执行上述方法,以确定所述授权请求的授权结果。
第四方面,本申请实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,所述处理器在执行所述计算机程序时实现上述任一项所述的方法。
第五方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法。
与现有技术相比,本申请具有如下优点:
依据本申请实施例,首先对获取的授权请求进行解析,得到该授权请求对应的授权服务;之后确定与该授权服务相匹配的授权策略模型;最后通过该授权策略模型的运行,确定授权请求的授权结果。其中,上述授权策略模型是根据调用规则定义接口所定义的授权规则生成的,该规则定义接口是开放给用户或服务网格的管理员的,通过调用该接口能够灵活的定义授权规则,从而能够生成对应的授权策略模型,运行该授权策略模型即可按照用户或管理员定义的授权规则对授权请求进行匹配或控制,实现了动态加载授权服务,以及灵活地定义服务网格的授权功能。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,可依照说明书的内容予以实施,并且为了让本申请的上述和其他目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本申请的一些实施方式,而不应将其视为是对本申请范围的限制。
图1为本申请中服务网格的结构示意图;
图2为本申请一实施例的授权处理方法的流程图;
图3是本申请另一实施例的授权处理方法的原理图;
图4是本申请再一实施例的授权处理方法对应的场景图;
图5是本申请一实施例的授权处理装置的结构框图;
图6是本申请一实施例的授权***的结构框图;
图7为用来实现本申请实施例的电子设备的框图。
具体实施方式
在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本申请的构思或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的,而非限制性的。
为便于理解本申请实施例的技术方案,以下对本申请实施例的相关技术进行说明。以下相关技术作为可选方案与本申请实施例的技术方案可以进行任意结合,其均属于本申请实施例的保护范围。
服务网格是与应用服务部署在一起的、分布式的互连代理网络,如图1所示,具体来讲服务网格包括一些分别与各微服务101部署在一起的用户代理(或称为服务网格代理)102,以及管理组件103,管理组件103又称为控制层或控制平面,用于与服务网格代理102通信,下发针对微服务101的配置信息等。各服务网格代理102组成了服务网格的数据层或数据平面,用于对微服务101的进行流量路由、负载均衡、认证、鉴权、生产监控数据等处理。微服务101包括工作负载实例,工作负载实例为实现微服务的功能的实例。
相关技术中,服务网格支持授权功能,但是其无法实现动态加载新的授权服务。为了解决该技术问题,本申请提供了一种基于服务网格的授权处理方法及装置,下面对该授权处理方法及装置进行说明。
如图2所示为本申请一实施例的授权处理方法的流程图,该方法应用于服务网格,所述服务网格与应用服务通信连接,用于实现所述应用服务的授权功能。该授权处理方法具体可以包括:
S201、获取针对所述应用服务的授权请求;S202、对所述授权请求进行解析,得到所述授权请求对应的授权服务;S203、确定与所述授权服务相匹配的授权策略模型;其中,所述授权策略模型是根据授权规则生成的,所述授权规则通过调用开放的规则定义接口进行定义;S204、根据所述授权请求和所述授权策略模型,确定所述授权请求的授权结果。
上述授权请求为获得某项操作权限的请求,例如获得支付权限的请求、获得登录权限的请求等。用户在有授权需求时,会将对应的授权请求发送给工作负载实例,之后服务网格中的服务网格代理主动或被动地从工作负载实例中获取到该授权请求。一个工作负载实例对应一个服务网格代理,所述服务网格代理用于实现对应的工作负载实例所要实现的预设功能。示例性地,预设功能可以包括除了授权功能外,还可以包括服务发现(servicediscovery),健康检查(health checking),流量路由(Routing),负载均衡(LoadBalancing),以及可观测性(observability)等。
服务网格代理对接收的授权请求进行解析,得到授权请求对应的授权服务,并确定与该授权服务相匹配的授权策略模型;之后服务网格代理调用服务网格中的授权插件,利用授权插件将授权策略模型的信息以及授权请求中的至少部分信息发送给授权执行引擎,由授权执行引擎运行授权策略模型,以确定所述授权请求的授权结果。这里的授权结果包括通过授权或拒绝授权。
上述发送给授权执行引擎的授权请求中的至少部分信息,可以包括对授权请求进行认证所需的信息,例如包括用户的身份信息、密码信息等。
上述授权请求中还可以包括授权服务的类型信息或授权服务的标识符,服务网格代理对授权请求进行解析,得到授权服务的类型信息或标识符,即确定了授权请求对应的授权服务。
服务网格代理中维护有至少一个授权服务与授权策略模型之间的映射关系,与一个授权服务相对应的授权策略模型至少为一个。服务网格代理在确定了授权请求对应的授权服务之后,利用上述映射关系,可以确定该授权服务对应的至少一个授权策略模型。授权策略模型中包括了与授权服务相对应的授权规则的信息,授权规则用于定义通过授权的条件和/或拒绝授权的条件,因此运行授权策略模型可以确定授权请求的授权结果。
上述授权策略模型是根据用户或服务网格的管理员调用规则定义接口所定义的授权规则预先生成的,这样能够实现动态加载新的授权服务。具体地,可以利用如下步骤生成某一授权服务的授权策略模型:
首先,服务网格通过所述规则定义接口,获取用户或服务网格的管理员针对所述授权服务所定义的授权规则。之后,服务网格确定所述授权服务的服务网格上下文;其中,所述服务网格上下文包括所述授权服务的执行环境信息,并且是是根据调用开放的服务定义接口所定义的信息得到的。之后,服务网格根据所述授权规则和所述服务网格上下文,生成所述授权服务的代理配置信息;最后,服务网格根据所述代理配置信息,构建所述授权服务对应的授权策略模型。
用户或服务网格的管理员调用规则定义接口输入授权规则,这里的授权规则也即为用户或管理员针对授权服务所定义的授权策略的描述信息。之后,如图3所示,服务网格中的授权策略控制器302通过所述规则定义接口,获取该授权规则,并对接收的授权规则进行改写,得到服务网格中的授权策略配置生成器303能够处理的信息,之后授权策略控制器302将处理得到的信息发送给授权策略配置生成器303。另外,授权策略控制器302还将授权服务的服务网格上下文发送给了给授权策略配置生成器303。
如图3所示,授权策略配置生成器303根据授权规则改写后的信息和服务网格上下文生成授权服务的代理配置信息,并将生成的代理配置信息下发到对应的服务网格代理处,例如将生成的代理配置信息下发到服务网格代理312或服务网格代理322处。服务网格代理根据接收的代理配置信息构建所述授权服务对应的授权策略模型。
在一些实施例中,服务网格中的服务网络上下文是预先生成的,并且可以包括至少一个授权服务的执行环境信息,这里的执行环境信息既可以包括用户或服务网格的管理员针对各授权服务分别定义的授权元数据或对授权元数据进行格式改写后得到的信息,也可以包括各授权服务分别对应的工作负载实例,例如工作负载实例311、工作负载实例321等工作负载实例所在的物理节点的资源信息或资源信息进行格式改写后的信息。基于授权服务的执行环境信息才能够运行授权策略模型,得到授权结果。
示例性地,授权元数据包括所述授权服务的访问地址、所述授权服务的访问路径、所述授权服务的访问端口、所述授权服务的访问超时约束、所述授权服务的请求头信息、所述授权服务的请求主体信息、所述授权服务的响应头信息、所述授权服务的响应主体信息、对调用所述授权服务所返回的状态码的处理方式信息等。
授权元数据也即授权服务的定义信息,这些信息可以是用户或者服务网格的管理员通过调用服务网格的服务定义接口来输入到服务网格中的,利用这个开放的服务定义接口可以保证服务网格实现对新的授权服务的定义信息的动态加载。
示例性地,工作负载实例所在的物理节点的资源信息可以包括物理节点的中央处理器的信息、存储器的信息等。
如图3所示,服务网格中的服务网格控制器301通过服务网格的服务定义接口来获取到各个授权服务的授权元数据,服务网格控制器301与多个工作负载实例通信连接,通过这些通信连接获取各个工作负载实例的所在的物理节点的资源信息。之后的服务网格控制器301对获取的授权元数据进行解析和格式改写,得到服务网格能够处理的、各个授权服务分别对应的授权服务上下文;服务网格控制器301对各个工作负载实例所在的物理节点的资源信息进行解析和格式改写,得到服务网格能够处理的、各个工作负载实例分别对应的工作负载上下文。
在服务网格控制器301生成授权服务上下文之前,还可以首先完成各授权服务的授权元数据的注册过程,即服务网格控制器301对接收的授权元数据,按照预设的注册格式进行改写。之后,服务网格控制器301才对改写后的授权元数据继续进行解析和格式改写,得到服务网格能够处理的、各个授权服务分别对应的授权服务上下文。
上述授权服务上下文和工作负载上下文形成了各授权服务的服务网格上下文,且上述授权服务上下文和工作负载上下文可以存储在服务网格的集合中。示例性地,各授权服务的授权服务上下文可以存储在授权服务上下文集合中,各个工作负载实例对应的工作负载上下文可以存储在工作负载上下文集合中。
在确定某一授权服务的服务网格上下文时,可以从授权服务上下文集合中,获取与所述授权服务相匹配的授权服务上下文,以及,确定该授权服务对应的工作负载实例,并从工作负载上下文集合中,获取与工作负载实例对应的工作负载上下文。之后将获取的授权服务上下文和工作负载上下文作为所述授权服务的服务网格上下文。
示例性地,授权规则中包括授权规则所作用的工作负载实例,或授权服务所依赖的工作负载实例的信息,因此通过对授权规则的解析,可以确定授权服务对应的工作负载实例。
上述授权服务的代理配置信息是根据授权服务的授权规则改写后的信息和授权服务的服务网格上下文生成的。具体地,授权规则是通过规则定义接口定义的,这样的授权规则服务网格无法理解或无法处理地,因此需要利用授权策略控制器302将授权规则进行改写,改写后的授权规则,即上述授权规则改写后的信息是服务网格能力理解和处理的。之后,授权策略配置生成器303按照预先定义的、生成代理配置信息所需要抽取的信息的名称或标识符等,从授权规则改写后的信息和授权服务的服务网格上下文中抽取相应的信息,之后,授权策略配置生成器303按照预先定义的格式对抽取的信息进行改写,得到授权服务的代理配置信息。
根据上面的说明可知,服务网格控制器301获取了用户或服务网格的管理员针对各个授权服务定义的授权元数据,并根据获取的授权元数据生成了各授权服务对应的授权服务上下文;服务网格控制器301获取了各工作负载实例所在物理节点的资源信息,并根据获取的资源信息生成了各工作负载实例对应的工作负载上下文。上述授权服务上下文和工作负载上下文为授权功能的实现提供了实现了环境信息,缺少这样的环境信息授权功能将无法实现。授权策略控制器302获取了用户或服务网格的管理员针对某一或多个授权服务定义的授权规则,并将获取的授权规则进行改写后发送给授权策略配置生成器303,同时,授权策略控制器302将授权规则对应的授权服务的服务网格上下文发送给了授权策略配置生成器303。授权策略配置生成器303根据接收的信息生成了授权服务的代理配置信息。
如图3所示,上述服务网格控制器301、授权策略控制器302以及授权策略配置生成器303共同构成了服务网格的管理组件,也就是服务网格的控制层或控制平面30。服务网格的控制层或控制平面中的授权策略配置生成器303,将生成的代理配置信息下发到服务网格的数据平面中的、与授权服务相对应的服务网格代理中。
服务网格的控制层可以运行于托管模式下,即服务网格的控制层独立运行于一个运行环境中,采用托管模式运行服务网格的控制层可以降低运维复杂度和成本。
在一些实施例中,授权策略配置生成器303按照上述实施例中的方法,可生成一个或多个授权服务的代理配置信息,其在下发代理配置信息的时候,可首先根据代理配置信息所包括的授权服务的标识符等信息,确定代理配置信息对应的授权服务,之后确定与授权服务相匹配的服务网格代理,最后将代理配置信息下发到相对应的服务网格代理中。
如图3所示,所述服务网格中包括至少一个服务网格代理;所述服务网格代理与工作负载实例相对应。授权规则中可以包括授权规则所作用的工作负载实例的信息,或授权服务所依赖的工作负载实例的信息,利用授权规则生成的代理配置信息中也可以包括对应的工作负载实例的信息。因此,在下发代理配置信息时,还可以按照如下方式进行:对代理配置信息进行解析即可确定该工作负载实例的信息,再根据工作负载实例与服务网格代理之间的对应关系,即可确定代理配置信息所要下发到的服务网格代理;最后,将代理配置信息下发到相对应的服务网格代理中。
如图3所示,服务网格代理接收代理配置信息,并根据预先定义的模型生成方式,生成授权策略模型。示例性地,上述模型生成方式中定义了代理配置信息中各信息的使用方式,服务网格代理按照代理配置信息中各信息的使用方式,再结合对应的代理配置信息中的信息进行编码,能够得到实现授权功能的判断逻辑。该判断逻辑中包括至少一个判断环节,每个判断环节均用于实现预设的判别功能,各个判断环节按照一定逻辑进行组合能够得到实现授权功能的整体的判断逻辑,该整体的判断逻辑即可认为是授权策略模型。按照模型生成方式生成的授权策略模型中包括了代理配置信息以及代理配置信息中各信息的使用方式,运行授权策略模型即可利用代理配置信息中的授权规则来判定授权请求的授权结果。
如图3所示,服务网格代理与工作负载实例通信连接,利用该通信连接服务网格代理可以获取到用户发起的授权请求,或者向工作负载实例反馈授权结果等信息。
在一些实施例中,如图3所示,服务网格中还可以包括授权插件,例如授权插件313、授权插件323,服务网格利用授权插件,将所述授权请求中的至少部分信息和所述授权策略模型的信息发给授权执行引擎304,所述授权执行引擎304运行所述授权策略模型,得到所述授权请求的授权结果,并向对应的授权插件反馈授权结果。授权插件接收所述授权执行引擎304反馈的所述授权结果,并将授权结果反馈给对应的服务网格代理,服务网格代理根据接收的授权结果执行相应的操作,例如执行流量路由的操作等。上述各服务网格代理、各授权插件等形成了服务网格的数据平面31。本申请利用授权插件实现了用户或服务网格的管理员自定义的授权服务动态加载,并且使用插件的方式调用授权执行引擎,能够提高调用功能在更新或扩展上的灵活性。另外,不利用服务网格执行授权判断,而是利用授权执行引擎来执行授权判断,不仅降低了服务网格的工作负载,还实现了功能解耦,避免了不同功能模块之间的干扰,提高了授权功能实现的可靠性。
如图3所示,授权插件、服务网格代理可以构成一个服务网格的数据面集群,该集群可以是Kubernetes集群或者其他类型的集群。
上述授权规则可以以云原生的方式进行定义,授权规则中可以包括该授权规则所作用的工作负载实例的规则、该授权规则在服务网格中所作用范围的规则、授权服务的多个授权子规则之间的关系的规则。其中,授权规则在服务网格中所作用范围具体可以包括服务网格内的范围、服务网格与其他服务网格之间的范围;具体实施例中该授权规则在服务网格中所作用范围,可以选择服务网格内的范围和/或服务网格与其他服务网格之间的范围。授权规则中可以包括一个或多个授权子规则,多个授权子规则之间的关系具体可以包括通过任意一个授权子规则即可以授权通过、或者必须所有的授权子规则均通过才可以授权通过。根据授权规则生成的授权策略模型中可以包括对应于每个授权子规则的授权策略子模型。
下面再通过一个具体的实施例对本申请的授权处理方法进行说明。
如图4所示,应用服务为用于进行网络购物的服务,其包括微服务A和微服务B,微服务A中包括一个工作负载实例1,微服务B中包括一个工作负载实例2。微服务A用于验证用户的身份信息,并在验证通过后授权用户进入支付详情页面,即控制用户端显示支付详情页面。微服务A与服务网格中的服务网格代理1部署在一起;微服务B与服务网格中的服务网格代理2部署在一起。另外,服务网格还包括控制平面,这里的控制平面用于向服务网格代理1下发针对授权用户进入支付详情页面这个服务的代理配置信息,以使服务网格代理1根据接收到的代理配置信息,生成针对授权用户进入支付详情页面这个服务的授权策略模型。
用户在支付某件商品时,向微服务A的工作负载实例1发送授权请求,服务网格代理1截取到该授权请求,并对授权请求的解析。之后服务网格代理1利用解析结果能够定位到针对授权用户进入支付详情页面这个服务的授权策略模型。
之后,服务网格代理1调用授权插件,将所述授权请求中的至少部分信息和定位到的授权策略模型的信息发给授权执行引擎。授权执行引擎运行该授权策略模型,得到并反馈授权结果。服务网格代理1利用所述授权插件接收授权执行引擎反馈的授权结果,并基于授权结果确定是否控制用户端显示支付详情页面。
本实施例中的控制平面能够通过规则定义接口获取到,管理员针对授权用户进入支付详情页面这个服务的定义的授权规则,通过服务定义接口获取到管理员针对授权用户进入支付详情页面这个服务定义的授权元数据。控制平面利用授权元数据形成授权服务上下文,利用工作负载实例1所在的物理节点的资源信息,形成工作负载上下文。当然这些上下文也可以是控制平面预先生成的,这里只需要读取到这些上下文即可。之后,控制平面结合授权规则、授权服务上下文和工作负载上下文,生成针对授权用户进入支付详情页面这个服务的代理配置信息,并将该代理配置信息下发到服务网格代理1,服务网格代理1利用接收的代理配置信息可以生成对应的授权策略模型。
通过上述实施例的方法,可以实现将授权功能从应用程序的代码卸载到服务网格上来实现,支持授权规则、授权元数据动态可配,能够高效更新授权策略模型,实现动态加载授权服务。
与本申请实施例提供的方法的应用场景以及方法相对应地,本申请实施例还提供一种授权处理装置。如图5所示为本申请一实施例的授权处理装置的结构框图,该授权处理装置可以包括:
信息获取模块510,用于获取针对所述应用服务的授权请求。
请求解析模块520,用于对所述授权请求进行解析,得到所述授权请求对应的授权服务。
模型确定模块530,用于确定与所述授权服务相匹配的授权策略模型;其中,所述授权策略模型是根据授权规则生成的,所述授权规则通过调用开放的规则定义接口进行定义。
授权模块540,用于根据所述授权请求和所述授权策略模型,确定所述授权请求的授权结果。
在一些实施例中,还包括模型生成模块550,用于:
通过所述规则定义接口,获取针对所述授权服务定义的授权规则;
确定所述授权服务的服务网格上下文;其中,所述服务网格上下文包括所述授权服务的执行环境信息,是根据调用开放的服务定义接口所定义的信息得到的;
根据所述授权规则和所述服务网格上下文,生成所述授权服务的代理配置信息;所述代理配置信息用于对所述服务网格中对应的服务网格代理进行配置;
根据所述代理配置信息,构建所述授权服务对应的授权策略模型。
在一些实施例中,所述服务网格上下文包括工作负载上下文;所述应用服务包括至少一个工作负载实例;所述模型生成模块550在确定所述授权服务的服务网格上下文时,用于:
确定所述授权服务对应的工作负载实例;所述工作负载实例与所述服务网格中的服务网格代理相对应;所述服务网格代理用于实现对应的工作负载实例所要实现的预设功能;
从工作负载上下文集合中,获取与所述工作负载实例对应的工作负载上下文;其中所述工作负载上下文集合中存储有至少一个工作负载实例与工作负载上下文之间的匹配关系。
在一些实施例中,所述模型生成模块550还用于预先生成所述工作负载上下文集合:
获取各个工作负载实例所在的物理节点的资源信息;
根据所述资源信息,分别生成与各工作负载实例相匹配的工作负载上下文,并将各工作负载实例与工作负载上下文之间的匹配关系存储到所述工作负载上下文集合中。
在一些实施例中,所述服务网格上下文包括授权服务上下文;所述模型生成模块550在确定所述授权服务的服务网格上下文时,用于:
从授权服务上下文集合中,获取与所述授权服务相匹配的授权服务上下文;其中,所述授权服务上下文集合中存储有至少一个授权服务与授权服务上下文之间的匹配关系。
在一些实施例中,所述模型生成模块550还用于预先生成所述授权服务上下文集合:
通过所述服务定义接口,获取针对至少一个授权服务中的每个授权服务的授权元数据;
根据各授权服务的授权元数据,分别生成与各授权服务相匹配的授权服务上下文,并将各授权服务与授权服务上下文之间的匹配关系存储到所述授权服务上下文集合中。
在一些实施例中,所述授权元数据包括以下至少一项:
所述授权服务的访问地址、所述授权服务的访问路径、所述授权服务的访问端口、所述授权访问的超时约束、所述授权服务访问的请求头信息、所述授权服务访问的请求主体信息、所述授权服务返回的响应头信息、所述授权服务返回的响应主体信息。
在一些实施例中,所述模型生成模块550在根据所述代理配置信息,构建所述授权服务对应的授权策略模型时,用于:
根据所述代理配置信息,确定所述授权服务对应的服务网格代理;其中,所述服务网格中包括至少一个服务网格代理;所述服务网格代理与工作负载实例相对应,用于实现工作负载实例所要实现的预设功能;
利用所述服务网格代理,根据所述代理配置信息,构建所述授权服务对应的授权策略模型。
在一些实施例中,所述授权模块540在根据所述授权请求和所述授权策略模型,确定所述授权请求的授权结果时,用于:
利用所述服务网格中的授权插件,将所述授权请求中的至少部分信息和所述授权策略模型的信息发给授权执行引擎,以使所述授权执行引擎运行所述授权策略模型,得到所述授权请求的授权结果;
利用所述授权插件接收所述授权执行引擎反馈的所述授权结果。
本申请实施例各装置中的各模块的功能可以参见上述方法中的对应描述,并具备相应的有益效果,在此不再赘述。
与本申请实施例提供的方法的应用场景以及方法相对应地,本申请实施例还提供一种授权***。如图6所示为本申请一实施例的授权***的结构框图,该授权***可以包括:
执行上述授权处理方法的服务网格610,以及与所述服务网格610通信连接的应用服务620。所述服务网格610,用于获取针对所述应用服务620的授权请求,并执行上述实施例的授权处理方法,以确定所述授权请求的授权结果。
授权***生成授权策略模型和处理授权请求的方式与上述实施例相同,这里不再赘述。
图7为用来实现本申请实施例的电子设备的框图。如图7所示,该电子设备包括:存储器710和处理器720,存储器710内存储有可在处理器720上运行的计算机程序。处理器720执行该计算机程序时实现上述实施例中的方法。存储器710和处理器720的数量可以为一个或多个。
该电子设备还包括:
通信接口730,用于与外界设备进行通信,进行数据交互传输。
如果存储器710、处理器720和通信接口730独立实现,则存储器710、处理器720和通信接口730可以通过总线相互连接并完成相互间的通信。该总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准体系结构(Extended Industry StandardArchitecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器710、处理器720及通信接口730集成在一块芯片上,则存储器710、处理器720及通信接口730可以通过内部接口完成相互间的通信。
本申请实施例提供了一种计算机可读存储介质,其存储有计算机程序,该程序被处理器执行时实现本申请实施例中提供的方法。
本申请实施例还提供了一种芯片,该芯片包括处理器,用于从存储器中调用并运行存储器中存储的指令,使得安装有芯片的通信设备执行本申请实施例提供的方法。
本申请实施例还提供了一种芯片,包括:输入接口、输出接口、处理器和存储器,输入接口、输出接口、处理器以及存储器之间通过内部连接通路相连,处理器用于执行存储器中的代码,当代码被执行时,处理器用于执行申请实施例提供的方法。
应理解的是,上述处理器可以是中央处理器(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。值得说明的是,处理器可以是支持进阶精简指令集机器(Advanced RISC Machines,ARM)架构的处理器。
进一步地,可选的,上述存储器可以包括只读存储器和随机访问存储器。该存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以包括只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以包括随机访问存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM均可用。例如,静态随机访问存储器(Static RAM,SRAM)、动态随机访问存储器(Dynamic Random Access Memory,DRAM)、同步动态随机访问存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机访问存储器(Double Data RateSDRAM,DDR SDRAM)、增强型同步动态随机访问存储器(Enhanced SDRAM,ESDRAM)、同步链接动态随机访问存储器(Sync link DRAM,SLDRAM)和直接内存总线随机访问存储器(DirectRambus RAM,DR RAM)。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生依照本申请的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包括于本申请的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
流程图中描述的或在此以其他方式描述的任何过程或方法可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分。并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能。
在流程图中描述的或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行***、装置或设备(如基于计算机的***、包括处理器的***或其他可以从指令执行***、装置或设备取指令并执行指令的***)使用,或结合这些指令执行***、装置或设备而使用。
应理解的是,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行***执行的软件或固件来实现。上述实施例方法的全部或部分步骤是可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。上述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。该存储介质可以是只读存储器,磁盘或光盘等。
以上所述,仅为本申请的示例性实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请记载的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (13)

1.一种授权处理方法,其特征在于,应用于服务网格,所述服务网格与应用服务通信连接,用于实现所述应用服务的授权功能,所述方法包括:
获取针对所述应用服务的授权请求;
对所述授权请求进行解析,得到所述授权请求对应的授权服务;
确定与所述授权服务相匹配的授权策略模型;其中,所述授权策略模型是根据授权规则生成的,所述授权规则通过调用开放的规则定义接口进行定义;
根据所述授权请求和所述授权策略模型,确定所述授权请求的授权结果。
2.根据权利要求1所述的方法,其特征在于,预先生成所述授权策略模型,所述授权策略模型的生成过程包括:
通过所述规则定义接口,获取针对所述授权服务定义的授权规则;
确定所述授权服务的服务网格上下文;其中,所述服务网格上下文包括所述授权服务的执行环境信息,是根据调用开放的服务定义接口所定义的信息得到的;
根据所述授权规则和所述服务网格上下文,生成所述授权服务的代理配置信息;所述代理配置信息用于对所述服务网格中对应的服务网格代理进行配置;
根据所述代理配置信息,构建所述授权服务对应的授权策略模型。
3.根据权利要求2所述的方法,其特征在于,所述服务网格上下文包括工作负载上下文;所述应用服务包括至少一个工作负载实例;
所述确定所述授权服务的服务网格上下文,包括:
确定所述授权服务对应的工作负载实例;所述工作负载实例与所述服务网格中的服务网格代理相对应;所述服务网格代理用于实现对应的工作负载实例所要实现的预设功能;
从工作负载上下文集合中,获取与所述工作负载实例对应的工作负载上下文;其中所述工作负载上下文集合中存储有至少一个工作负载实例与工作负载上下文之间的匹配关系。
4.根据权利要求3所述的方法,其特征在于,预先生成所述工作负载上下文集合,所述工作负载上下文集合按照如下步骤生成:
获取各个工作负载实例所在的物理节点的资源信息;
根据所述资源信息,分别生成与各工作负载实例相匹配的工作负载上下文,并将各工作负载实例与工作负载上下文之间的匹配关系存储到所述工作负载上下文集合中。
5.根据权利要求2至4任一项所述的方法,其特征在于,所述服务网格上下文包括授权服务上下文;
所述确定所述授权服务的服务网格上下文,包括:
从授权服务上下文集合中,获取与所述授权服务相匹配的授权服务上下文;其中,所述授权服务上下文集合中存储有至少一个授权服务与授权服务上下文之间的匹配关系。
6.根据权利要求5所述的方法,其特征在于,预先生成所述授权服务上下文集合,所述授权服务上下文集合按照如下步骤生成:
通过所述服务定义接口,获取针对至少一个授权服务中的每个授权服务定义的授权元数据;
根据各授权服务的授权元数据,分别生成与各授权服务相匹配的授权服务上下文,并将各授权服务与授权服务上下文之间的匹配关系存储到所述授权服务上下文集合中。
7.根据权利要求6所述的方法,其特征在于,所述授权元数据包括以下至少一项:
所述授权服务的访问地址、所述授权服务的访问路径、所述授权服务的访问端口、所述授权服务的访问超时约束、所述授权服务的请求头信息、所述授权服务的请求主体信息、所述授权服务对应的响应头信息、所述授权服务对应的响应主体信息。
8.根据权利要求2至4任一项所述的方法,其特征在于,所述根据所述代理配置信息,构建所述授权服务对应的授权策略模型,包括:
根据所述代理配置信息,确定所述授权服务对应的服务网格代理;其中,所述服务网格中包括至少一个服务网格代理;所述服务网格代理与工作负载实例相对应,用于实现工作负载实例所要实现的预设功能;
利用所述服务网格代理,根据所述代理配置信息,构建所述授权服务对应的授权策略模型。
9.根据权利要求1或2所述的方法,其特征在于,所述根据所述授权请求和所述授权策略模型,确定所述授权请求的授权结果,包括:
利用所述服务网格中的授权插件,将所述授权请求中的至少部分信息和所述授权策略模型的信息发给授权执行引擎,以使所述授权执行引擎运行所述授权策略模型,得到所述授权请求的授权结果;
利用所述授权插件接收所述授权执行引擎反馈的所述授权结果。
10.一种授权处理装置,其特征在于,应用于服务网格,所述装置包括:
信息获取模块,用于获取授权请求;
请求解析模块,用于对所述授权请求进行解析,得到所述授权请求对应的授权服务;
模型确定模块,用于确定与所述授权服务相匹配的授权策略模型;其中,所述授权策略模型是根据授权规则生成的,所述授权规则通过调用开放的规则定义接口进行定义;
授权模块,用于根据所述授权请求和所述授权策略模型,确定所述授权请求的授权结果。
11.一种授权***,其特征在于,包括执行权利要求1至9任一项所述的方法的服务网格,以及与所述服务网格通信连接的应用服务;
所述服务网格,用于获取针对所述应用服务的授权请求,并执行权利要求1至9任一项所述的方法,以确定所述授权请求的授权结果。
12.一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,所述处理器在执行所述计算机程序时实现权利要求1-9中任一项所述的方法。
13.一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-9中任一项所述的方法。
CN202211049147.0A 2022-08-30 2022-08-30 授权处理方法及装置、***、电子设备及存储介质 Pending CN115396221A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211049147.0A CN115396221A (zh) 2022-08-30 2022-08-30 授权处理方法及装置、***、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211049147.0A CN115396221A (zh) 2022-08-30 2022-08-30 授权处理方法及装置、***、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN115396221A true CN115396221A (zh) 2022-11-25

Family

ID=84123752

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211049147.0A Pending CN115396221A (zh) 2022-08-30 2022-08-30 授权处理方法及装置、***、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN115396221A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115987956A (zh) * 2022-12-28 2023-04-18 中国电子产业工程有限公司 Web代理应用的资源引用方法、电子设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115987956A (zh) * 2022-12-28 2023-04-18 中国电子产业工程有限公司 Web代理应用的资源引用方法、电子设备及存储介质
CN115987956B (zh) * 2022-12-28 2024-03-12 中国电子产业工程有限公司 Web代理应用的资源引用方法、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN110191063B (zh) 服务请求的处理方法、装置、设备及存储介质
US10135803B2 (en) Dynamic identity switching
JP5191376B2 (ja) リスクベース認証システムおよび危険度情報取得サーバならびにリスクベース認証方法
CN109039751B (zh) 配置路由的方法、装置、计算机设备和存储介质
CN112788031B (zh) 基于Envoy架构的微服务接口认证***、方法及装置
US7881304B2 (en) Using distributed aspects to reorder online application workflows
CN110633160A (zh) 接口调用方法、装置、计算机设备和存储介质
CN111598575B (zh) 业务流程控制方法、装置、电子设备和可读存储介质
US20140379885A1 (en) Systems and Methods to Construct Engineering Environment Supporting API Enablement for Software Defined Networking
US10891357B2 (en) Managing the display of hidden proprietary software code to authorized licensed users
CN112491776B (zh) 安全认证方法及相关设备
CN110083338B (zh) 基于智能网关的服务***
CN111176794A (zh) 一种容器管理方法、装置及可读存储介质
CN110798446A (zh) 邮件批量授权方法、装置、计算机设备及存储介质
CN112651001A (zh) 访问请求的鉴权方法、装置、设备及可读存储介质
CN115396221A (zh) 授权处理方法及装置、***、电子设备及存储介质
CN111831365A (zh) 接口路由转发方法、***、计算机设备及可读存储介质
CN112165448A (zh) 业务处理方法、装置、***、计算机设备和存储介质
CN111585954A (zh) 鉴权方法、装置、计算机设备及存储介质
CN1610296B (zh) 对信任确定实体安全地识别可执行码的方法
CN112199441A (zh) 基于大数据平台的数据同步处理方法、装置、设备及介质
CN111722994A (zh) 一种任务请求的响应方法及设备
CN114428661A (zh) 一种镜像管理方法及装置
CN111935092A (zh) 一种基于第三方应用的信息交互方法、装置和电子设备
CN114745185A (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