访问请求处理方法、容器云平台、电子设备及存储介质与流程

文档序号:27493298发布日期:2021-11-22 15:15阅读:88来源:国知局
访问请求处理方法、容器云平台、电子设备及存储介质与流程

1.本技术涉及计算机技术领域,特别涉及一种访问请求处理方法、容器云平台、电子设备及存储介质。


背景技术:

2.随着微服务的普及,越来越多的企业选择将应用迁移到微服务架构。微服务架构具有独立的扩展、隔离的业务逻辑、独立的生命周期管理以及简易的分布式开发等优点。但是微服务架构同时存在一定的弊端,例如微服务化后,应用组件数量会增多,这样每个微服务都可以成为攻击目标,增加了应用的受攻击面。如果入侵者侵入某个微服务组件(即,微服务应用组件),就可以肆意的攻击所有的微服务应用,这无形间增加了企业安全防护工作的压力,此时仅保护应用的网络边界是不够的,还需要保护网络内部。
3.为了保证容器云平台内各个微服务应用组件的安全性,相关技术中的常规实现方案通常需要修改业务代码进行访问授权验证等操作,该过程较为复杂,且影响容器云平台的正常运行。
4.因此,如何实现无入侵式微服务间安全访问,提高容器云平台的安全性是本领域技术人员目前需要解决的技术问题。


技术实现要素:

5.本技术的目的是提供一种访问请求处理方法、一种容器云平台、一种电子设备及一种存储介质,能够实现无入侵式微服务间安全访问,提高容器云平台的安全性。
6.为解决上述技术问题,本技术提供一种访问请求处理方法,应用于容器云平台,该访问请求处理方法包括:
7.确定访问授权策略;其中,所述访问授权策略为配置微服务组件之间的访问权限的代码,所述微服务组件运行于所述容器云平台;
8.通过声明式api使所述访问授权策略在所述容器云平台内生效;
9.利用所述访问授权策略对所述微服务组件之间发送的访问请求进行访问权限校验,并根据访问权限校验结果对所述访问请求执行对应的处理操作。
10.可选的,利用所述访问授权策略对所述微服务组件之间发送的访问请求进行访问权限校验,并根据访问权限校验结果对所述访问请求执行对应的处理操作,包括:
11.若检测到第一微服务组件向第二微服务组件发送的访问请求,则劫持所述访问请求;其中,所述第一微服务组件和所述第二微服务组件为运行于所述容器云平台的微服务组件;
12.利用所述访问授权策略判断所述第一微服务组件是否具有访问所述第二微服务组件的权限;
13.若是,则将所述访问请求转发至所述第二微服务组件;
14.若否,则向所述第一微服务组件返回无权访问的报错信息。
15.可选的,在向所述第一微服务组件返回无权访问的报错信息之后,还包括:
16.更新所述第一微服务组件的访问信息被拒绝的次数;
17.若所述第一微服务组件的访问信息被拒绝的次数大于预设值,则将所述第一微服务组件标记为异常组件。
18.可选的,所述访问授权策略包括请求来源、请求动作和请求条件;
19.相应的,利用所述访问授权策略判断所述第一微服务组件是否具有访问第二微服务组件的权限,包括:
20.判断所述第一微服务组件发送的访问请求是否符合所述授权策略;
21.若是,则判定所述第一微服务组件具有访问所述第二微服务组件的权限;
22.若否,则判定所述第一微服务组件不具有访问所述第二微服务组件的权限。
23.可选的,在将所述第一微服务组件标记为异常组件之后,还包括:
24.拦截所述异常组件发送的信息和接收的信息,对所述异常组件进行攻击检测,以便根据攻击检测结果判断所述异常组件是否受到攻击。
25.可选的,所述确定访问授权策略,包括:
26.接收用户下发的授权策略代码,并将所述授权策略代码转化为预设格式得到所述访问授权策略。
27.可选的,还包括:
28.若接收到策略添加指令,则根据所述策略添加指令确定新访问授权策略,并通过声明式api使所述新访问授权策略在所述容器云平台内生效;
29.若接收到策略修改指令,则根据所述策略修改指令确定目标访问授权策略,并通过声明式api使修改后的目标访问授权策略在所述容器云平台内生效。
30.本技术还提供了一种容器云平台,该容器云平台包括:
31.策略确定模块,用于确定访问授权策略;其中,所述访问授权策略为配置微服务组件之间的访问权限的代码,所述微服务组件运行于所述容器云平台;
32.策略生效模块,用于通过声明式api使所述访问授权策略在所述容器云平台内生效;
33.策略执行模块,用于利用所述访问授权策略对所述微服务组件之间发送的访问请求进行访问权限校验,并根据访问权限校验结果对所述访问请求执行对应的处理操作。
34.本技术还提供了一种存储介质,其上存储有计算机程序,所述计算机程序执行时实现上述访问请求处理方法执行的步骤。
35.本技术还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时实现上述访问请求处理方法执行的步骤。
36.本技术提供了一种访问请求处理方法,应用于容器云平台,包括:确定访问授权策略;其中,所述访问授权策略为配置微服务组件之间的访问权限的代码,所述微服务组件运行于所述容器云平台;通过声明式api使所述访问授权策略在所述容器云平台内生效;利用所述访问授权策略对所述微服务组件之间发送的访问请求进行访问权限校验,并根据访问权限校验结果对所述访问请求执行对应的处理操作。
37.本技术确定访问授权策略,并通过声明式api使所述访问授权策略在所述容器云
平台内生效。由于访问授权策略为配置微服务组件之间的访问权限的代码,因此通过声明式api使访问授权策略生效能够在不修改业务代码的前提下在容器云平台内部署访问授权策略,将微服务组件之间的访问授权从具体的业务中解耦出来,交由容器云平台统一实现。本技术利用访问授权策略对所述微服务组件之间发送的访问请求进行访问权限校验,因此本技术能够实现无入侵式微服务间安全访问,提高容器云平台的安全性。本技术同时还提供了一种容器云平台、一种存储介质和一种电子设备,具有上述有益效果,在此不再赘述。
附图说明
38.为了更清楚地说明本技术实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
39.图1为本技术实施例所提供的一种访问请求处理方法的流程图;
40.图2为本技术实施例所提供的一种基于容器云无侵入式微服务间的访问授权策略部署系统的结构示意图;
41.图3为本技术实施例所提供的一种容器云平台的结构示意图。
具体实施方式
42.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
43.下面请参见图1,图1为本技术实施例所提供的一种访问请求处理方法的流程图。
44.具体步骤可以包括:
45.s101:确定访问授权策略;
46.其中,本实施例可以应用于容器云平台,容器云平台上可以运行多个微服务组件。本步骤中确定的访问授权策略为配置微服务组件之间的访问权限的代码。上述访问授权策略可以包括以下三种情形:(1)微服务组件之间可以相互访问;(2)微服务组件之间只能单向访问;(3)微服务组件之间相互均不可以访问。
47.上述授权策略可以为用户下发的授权策略,确定访问授权策略的过程包括:接收用户下发的授权策略代码,并将所述授权策略代码转化为预设格式得到所述访问授权策略。也就是说,本实施例使用策略即代码的方式配置微服务组件之间的访问授权策略。
48.s102:通过声明式api使所述访问授权策略在所述容器云平台内生效;
49.其中,本实施例可以通过声明式api(application programming interface,应用程序接口)使s101中确定的访问授权策略在容器云平台内生效。具体的,本实施例可以通过声明式api使所述访问授权策略在所述容器云平台内的控制节点生效,控制节点接收所有微服务组件发送的访问请求,进而基于已生效的访问授权策略判断是否可以访问。
50.s103:利用所述访问授权策略对所述微服务组件之间发送的访问请求进行访问权限校验,并根据访问权限校验结果对所述访问请求执行对应的处理操作。
51.其中,在访问授权策略生效的基础上,本实施例可以将微服务组件之间发送的访
问请求进行拦截,以便利用所述访问授权策略对所述微服务组件之间发送的访问请求进行访问权限校验,根据访问权限校验结果对所述访问请求执行对应的处理操作,如:允许访问请求通过或禁止访问请求通过。
52.进一步的,本实施例中的访问授权策略包括请求来源、请求动作和请求条件;相应的,利用所述访问授权策略对所述微服务组件之间发送的访问请求进行访问权限校验的过程包括:判断访问请求的请求来源、请求动作和请求条件是否符合访问授权策略;若是,则判定微服务组件具有访问权限;若否,则判定微服务组件不具有访问权限。请求来源指发送访问请求的微服务组件身份标识(id),请求动作包括请求url、请求方法、请求头等条件等,请求条件包括配置指定的条件(如响应时间、是否返回应答信息等)。
53.本实施例确定访问授权策略,并通过声明式api使所述访问授权策略在所述容器云平台内生效。由于访问授权策略为配置微服务组件之间的访问权限的代码,因此通过声明式api使访问授权策略生效能够在不修改业务代码的前提下在容器云平台内部署访问授权策略,将微服务组件之间的访问授权从具体的业务中解耦出来,交由容器云平台统一实现。本实施例利用访问授权策略对所述微服务组件之间发送的访问请求进行访问权限校验,因此本实施例能够实现无入侵式微服务间安全访问,提高容器云平台的安全性。
54.本实施例还可以存在添加新访问授权策略以及修改原有的访问授权策略的操作,具体过程如下:若接收到策略添加指令,则根据所述策略添加指令确定新访问授权策略,并通过声明式api使所述新访问授权策略在所述容器云平台内生效;若接收到策略修改指令,则根据所述策略修改指令确定目标访问授权策略,并通过声明式api使修改后的目标访问授权策略在所述容器云平台内生效。通过上述方式能够灵活的添加、修改容器云平台的访问授权策略
55.下面通过容器云平台中的第一微服务组件想要访问第二微服务组件的过程进一步描述上文实施例中的访问请求处理方案:
56.若检测到第一微服务组件向第二微服务组件发送的访问请求,则劫持所述访问请求;其中,所述第一微服务组件和所述第二微服务组件为运行于所述容器云平台的微服务组件;利用所述访问授权策略判断所述第一微服务组件是否具有访问所述第二微服务组件的权限;若是,则将所述访问请求转发至所述第二微服务组件;若否,则向所述第一微服务组件返回无权访问的报错信息。
57.在上述过程中,对第一微服务组件向第二微服务组件发送的访问请求进行拦截,以使第一微服务组件向第二微服务组件发送的访问请求无法直接到达第二微服务组件,在容器云平台判定第一微服务组件具有访问第二微服务组件的权限时将访问请求转发至第二微服务组件,在容器云平台判定第一微服务组件不具有访问第二微服务组件的权限时向第一微服务组件返回报错信息。
58.作为一种可行的实施方式,在向所述第一微服务组件返回无权访问的报错信息之后,还可以更新所述第一微服务组件的访问信息被拒绝的次数;若所述第一微服务组件的访问信息被拒绝的次数大于预设值,则将所述第一微服务组件标记为异常组件。可以理解的是,在第一微服务组件发送的访问信息被拒绝的次数大于预设值时,说明第一微服务组件向不具备访问权限的微服务组件发送访问请求,此时第一微服务组件可能被黑客攻击,因此可以将所述第一微服务组件标记为异常组件。进一步的,在将所述第一微服务组件标
记为异常组件之后,还可以拦截所述异常组件发送的信息和接收的信息,对所述异常组件进行攻击检测,以便根据攻击检测结果判断所述异常组件是否受到攻击。
59.作为一种可行的实施方式,上述访问授权策略包括请求来源、请求动作和请求条件;利用所述访问授权策略判断所述第一微服务组件是否具有访问第二微服务组件的权限的过程包括:判断所述第一微服务组件发送的访问请求是否符合所述授权策略;若是,则判定所述第一微服务组件具有访问所述第二微服务组件的权限;若否,则判定所述第一微服务组件不具有访问所述第二微服务组件的权限。
60.下面通过在实际应用中的实施例说明上述实施例描述的流程。
61.请参见图2,图2为本技术实施例所提供的一种基于容器云无侵入式微服务间的访问授权策略部署系统的结构示意图,该系统包括访问授权策略控制装置、请求策略存储装置和策略实施装置。用户通过容器云平台可以灵活的配置微服务之间的访问授权策略,将各微服务组件间的访问授权从具体的业务中解耦出来,交给云平台统一实现。策略配置除了定义指定的目标(网格、命名空间、工作负载)和动作(允许、拒绝)外,还提供了丰富的策略匹配规则,比如可以设置来源、目标、路径、请求头、方法等条件,甚至还支持自定义匹配条件,其灵活性可以极大的满足用户需求。
62.访问授权策略对应的规则的具体组成包含以下几个部分:(1)策略行为:允许或禁止;(2)请求来源:指定请求的来源,如果未设置则允许或禁止所有请求;(3)请求动作:包含请求url(uniform resource locator,统一资源定位器)、请求方法(post、get等)、请求头等条件,如果未设置则允许或禁止所有请求;(4)请求的条件:配置指定的请求条件,如果未设置则允许或禁止所有请求。
63.在本系统中,可以开启微服务授权访问控制功能,容器云平台相应的为环境中指定的微服务开启组件间的微服务访问控制,保证网络内部微服务之间东西向流量的访问安全。用户通过声明式api、策略即代码的方式根据具体业务配置灵活的微服务访问授权策略。微服务各组件在互相调用过程中,请求会被策略实施装置拦截,并通过下发的策略进行访问授权判断,以决定请求是否被成功转发。用户还可以随时变更已存在的微服务访问授权策略,通过云平台实时更新策略,访问策略控制装置会实施监听到策略更新,并把策略翻译为策略实施装置可以识别的配置格式,然后下发给策略实施装置执行本系统通过灵活的、细粒度的访问授权控制,保证整个微服务系统的安全性。
64.图2对应实施例的具体实施过程如下:管理员通过apiserver创建访问授权策略的代码,监控装置监听访问授权策略的代码并将其翻译生成访问授权策略,将访问授权策略下发至策略实施装置。用户使用微服务组件a访问微服务组件b时,策略实施装置对微服务组件a发送的访问请求进行流量劫持和授权验证,若验证通过则将访问请求转发至微服务组件b以便进行调用,若验证未通过则报错退出。
65.用户通过云平台开启微服务间访问授权策略时,云平台会在用户指定容器集群部署微服务访问授权策略相关的基础设施,包括访问策略控制装置、策略执行装置、策略存储装置,然后用户就可以根据业务需求配置灵活的自定义访问授权策略。当用户通过云平台创建访问授权策略后,策略控制装置会通过监听机制实时监听到新策略的创建,然后将策略进行翻译,生成策略实施装置可以识别的配置进行存储。策略实施装置初始化时会请求策略控制装置拉取已存在的所有访问请求策略,然后策略控制装置也会实时的将增量更新
配置进行下发,这样策略实施装置可以实时执行最新的策略控制。用户可以通过云平台对已存在的访问授权策略进行实时的修改更新。
66.本实施例支持灵活的自定义微服务安全访问策略配置;支持声明式api创建及实时修改访问授权策略;本发明无需修改业务代码,实现零侵入的访问策略控制。本实施例通过云平台配置自定义微服务安全访问控制策略,保证运行在容器云平台内的所有微服务应用东西向流量的安全性和可控制性,本实施例主要包括如下几个步骤:
67.步骤1、通过云平台部署和更新微服务应用组件时,可以选择开启或关闭自定义访问授权策略,此时云平台会部署访问授权策略相应的基础环境和控制组件,然后执行步骤2。
68.步骤2、用户可以通过勾选和界面配置,实现微服务间的访问授权策略的配置,然后执行步骤3。
69.步骤3、访问策略控制装置检测到用户的配置,就会将配置策略翻译成策略实施装置可以识别的配置进行保存和下发,然后执行步骤4。
70.步骤4、微服务间的访问控制策略在策略实施装置生效后,策略实施装置会代理转发微服务间的所有请求,并进行请求授权识别与认证,当请求符合访问控制时则执行步骤5;如果请求不符合访问请求策略,则执行步骤6。
71.步骤5、策略实施装置直接返回无权请求报错信息给上游微服务组件,并执行请求退出。
72.步骤6、策略实施装置代理并转发请求到下游微服务组件,请求继续向下传递,以便下游微服务组件返回结果。
73.本实施例通过声明式api、策略即代码的实现方式,支持灵活的自定义微服务安全访问策略,可以针对运行于容器平台内的微服务应用进行自定义安全访问策略配置,在保证应用南北向流量安全性的同时,无侵入的实现微服务内部东西向流量的安全访问控制。本实施例提供一种无侵入式的微服务间安全访问的解决方案,解决微服务之间流量的安全加密,东西向流量的安全访问控制,以及基于接口、方法级的访问控制策略配置,从而保证应用的数据、端点、通信和平台的内部和外部的安全访问,保障整个应用系统的安全性。
74.请参见图3,图3为本技术实施例所提供的一种容器云平台的结构示意图;该容器云平台包括:
75.策略确定模块301,用于确定访问授权策略;其中,所述访问授权策略为配置微服务组件之间的访问权限的代码,所述微服务组件运行于所述容器云平台;
76.策略生效模块302,用于通过声明式api使所述访问授权策略在所述容器云平台内生效;
77.策略执行模块303,用于利用所述访问授权策略对所述微服务组件之间发送的访问请求进行访问权限校验,并根据访问权限校验结果对所述访问请求执行对应的处理操作。
78.本实施例先确定访问授权策略,并通过声明式api使所述访问授权策略在所述容器云平台内生效。由于访问授权策略为配置微服务组件之间的访问权限的代码,因此通过声明式api使访问授权策略生效能够在不修改业务代码的前提下在容器云平台内部署访问授权策略,将微服务组件之间的访问授权从具体的业务中解耦出来,交由容器云平台统一
实现。本实施例利用访问授权策略对所述微服务组件之间发送的访问请求进行访问权限校验,因此本实施例能够实现无入侵式微服务间安全访问,提高容器云平台的安全性。本实施例提供一种更简单,灵活,可配置的方法来创建微服务间的访问策略,通过策略配置及声明式api的方式,实现微服务内部东西向流量的安全管控。常规实现方案需要修改业务代码进行访问授权验证等操作,本实施例无需修改业务代码,实现无侵入式微服务访问控制,并支持接口及方法级访问授权实现。
79.进一步的,策略执行模块303包括:
80.请求劫持单元,用于若检测到第一微服务组件向第二微服务组件发送的访问请求,则劫持所述访问请求;其中,所述第一微服务组件和所述第二微服务组件为运行于所述容器云平台的微服务组件;
81.权限判断单元,用于利用所述访问授权策略判断所述第一微服务组件是否具有访问所述第二微服务组件的权限;若是,则将所述访问请求转发至所述第二微服务组件;若否,则向所述第一微服务组件返回无权访问的报错信息。
82.进一步的,还包括:
83.异常组件标记单元,用于在向所述第一微服务组件返回无权访问的报错信息之后,更新所述第一微服务组件的访问信息被拒绝的次数;还用于若所述第一微服务组件的访问信息被拒绝的次数大于预设值,则将所述第一微服务组件标记为异常组件。
84.进一步的,所述访问授权策略包括请求来源、请求动作和请求条件;
85.相应的,权限判断单元用于判断所述第一微服务组件发送的访问请求是否符合所述授权策略;若是,则判定所述第一微服务组件具有访问所述第二微服务组件的权限;若否,则判定所述第一微服务组件不具有访问所述第二微服务组件的权限。
86.进一步的,还包括:
87.组件检测单元,用于在将所述第一微服务组件标记为异常组件之后,拦截所述异常组件发送的信息和接收的信息,对所述异常组件进行攻击检测,以便根据攻击检测结果判断所述异常组件是否受到攻击。
88.进一步的,策略确定模块301用于接收用户下发的授权策略代码,并将所述授权策略代码转化为预设格式得到所述访问授权策略。
89.进一步的,还包括:
90.策略添加模块,用于若接收到策略添加指令,则根据所述策略添加指令确定新访问授权策略,并通过声明式api使所述新访问授权策略在所述容器云平台内生效;
91.策略修改模块,用于若接收到策略修改指令,则根据所述策略修改指令确定目标访问授权策略,并通过声明式api使修改后的目标访问授权策略在所述容器云平台内生效。
92.由于容器云平台部分的实施例与方法部分的实施例相互对应,因此容器云平台部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
93.本技术还提供了一种存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:u盘、移动硬盘、只读存储器(read

only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
94.本技术还提供了一种电子设备,可以包括存储器和处理器,所述存储器中存有计
算机程序,所述处理器调用所述存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然所述电子设备还可以包括各种网络接口,电源等组件。
95.说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的容器云平台而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以对本技术进行若干改进和修饰,这些改进和修饰也落入本技术权利要求的保护范围内。
96.还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1