CN112131560B - 一种角色权限调整方法及装置 - Google Patents
一种角色权限调整方法及装置 Download PDFInfo
- Publication number
- CN112131560B CN112131560B CN202010776965.5A CN202010776965A CN112131560B CN 112131560 B CN112131560 B CN 112131560B CN 202010776965 A CN202010776965 A CN 202010776965A CN 112131560 B CN112131560 B CN 112131560B
- Authority
- CN
- China
- Prior art keywords
- role
- service component
- permission
- authority
- change event
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本申请涉及云平台技术领域,特别涉及一种角色权限调整方法及装置。该方法包括:定义各权限管理规则,并配置各业务组件的权限管理文件与所述各权限管理规则之间的关联关系;在目标业务组件容器启动时,将所述目标业务组件容器对应的各权限管理规则同步至所述目标业务组件对应的权限管理文件;在监测到角色权限变化事件时,将所述角色权限变化事件通知已启动的各业务组件容器,以使得已启动的各业务组件容器分别判断所述角色权限变化是否与自身相关,并在判定所述角色权限变化事件与自身相关时,更新对应的权限管理规则,以及将更新后的权限管理规则同步至对应的权限管理文件。
Description
技术领域
本申请涉及云平台技术领域,特别涉及一种角色权限调整方法及装置。
背景技术
OpenStack是一个开源的云计算管理平台项目,其为私有云和公有云提供可扩展的弹性的云计算服务。项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。
Openstack各个业务组件,支持通过配置文件设置角色权限,从API接口维度限制指定角色用户能够使用的功能,开源Openstack提供了一套设置policy.json文件的规范,使用者参考指定语法设置文件即可达到限制指定角色用户有权限访问指定接口的目的。
目前,一个业务组件提供多个API接口,每一API接口对应多条配置项,那么,在调整一个角色在某一业务组件的权限时,需要在该业务组件对应的policy.json文件该业务组件对应的各API接口下的每条配置项中修改该角色关联的权限规则。
发明内容
本申请提供了一种角色权限调整方法及装置,用以解决现有技术中存在的角色权限调整过程复杂的问题。
第一方面,本申请提供了一种角色权限调整方法,所述方法包括:
定义各权限管理规则,并配置各业务组件的权限管理文件与所述各权限管理规则之间的关联关系;
在目标业务组件容器启动时,将所述目标业务组件容器对应的各权限管理规则同步至所述目标业务组件对应的权限管理文件;
在监测到角色权限变化事件时,将所述角色权限变化事件通知已启动的各业务组件容器,以使得已启动的各业务组件容器分别判断所述角色权限变化是否与自身相关,并在判定所述角色权限变化事件与自身相关时,更新对应的权限管理规则,以及将更新后的权限管理规则同步至对应的权限管理文件。
可选地,所述定义各权限管理规则的步骤包括:
针对各业务组件,分别创建其对应的权限管理规则,其中,一个业务组件对应的权限管理规则包括可以使用该业务组件的角色信息。
可选地,所述配置各业务组件的权限管理文件与所述各权限管理规则之间的关联关系的步骤包括:
针对各业务组件提供的每一API接口分别对应的各配置项,设置该配置项调用的权限管理规则。
可选地,所述在监测到角色权限变化事件时,将所述角色权限变化事件通知已启动的各业务组件容器的步骤包括:
在监测到用户通过Web界面和/或API接口调用触发的,调整目标角色所拥有的业务组件使用权限操作时,确定监测到角色权限变化事件;
角色管理组件将所述所述角色权限变化事件广播给已启动的各业务组件容器。
可选地,所述已启动的各业务组件容器分别判断所述角色权限变化是否与自身相关,并在判定所述角色权限变化事件与自身相关时,更新对应的权限管理规则,以及将更新后的权限管理规则同步至对应的权限管理文件的步骤包括:
任一已启动的目标业务组件容器判断所述角色权限变化事件是否包括所述目标角色针对所述目标业务组件的使用权限的调整;
若是,则确定所述角色权限变化事件与自身相关,并基于所述角色权限变化事件更新对应的权限管理规则,以及通过修改所述目标业务组件容器的注释的方式,将更新后的权限管理规则同步至对应的权限管理文件。
第二方面,本申请提供了一种角色权限调整装置,所述装置包括:
配置单元,用于定义各权限管理规则,并配置各业务组件的权限管理文件与所述各权限管理规则之间的关联关系;
同步单元,用于在目标业务组件容器启动时,将所述目标业务组件容器对应的各权限管理规则同步至所述目标业务组件对应的权限管理文件;
监测单元,用于在监测到角色权限变化事件时,将所述角色权限变化事件通知已启动的各业务组件容器,以使得已启动的各业务组件容器分别判断所述角色权限变化是否与自身相关,并在判定所述角色权限变化事件与自身相关时,更新对应的权限管理规则,以及将更新后的权限管理规则同步至对应的权限管理文件。
可选地,所述定义各权限管理规则时,所述配置单元具体用于:
针对各业务组件,分别创建其对应的权限管理规则,其中,一个业务组件对应的权限管理规则包括可以使用该业务组件的角色信息。
可选地,所述配置各业务组件的权限管理文件与所述各权限管理规则之间的关联关系时,所述配置单元具体用于:
针对各业务组件提供的每一API接口分别对应的各配置项,设置该配置项调用的权限管理规则。
可选地,所述在监测到角色权限变化事件时,将所述角色权限变化事件通知已启动的各业务组件容器时,所述监测单元具体用于:
在监测到用户通过Web界面和/或API接口调用触发的,调整目标角色所拥有的业务组件使用权限操作时,确定监测到角色权限变化事件;
角色管理组件将所述所述角色权限变化事件广播给已启动的各业务组件容器。
可选地,所述已启动的各业务组件容器分别判断所述角色权限变化是否与自身相关,并在判定所述角色权限变化事件与自身相关时,更新对应的权限管理规则,以及将更新后的权限管理规则同步至对应的权限管理文件时,所述同步单元还用于:
任一已启动的目标业务组件容器判断所述角色权限变化事件是否包括所述目标角色针对所述目标业务组件的使用权限的调整;
若是,则确定所述角色权限变化事件与自身相关,并基于所述角色权限变化事件更新对应的权限管理规则,以及通过修改所述目标业务组件容器的注释的方式,将更新后的权限管理规则同步至对应的权限管理文件。
第三方面,本申请实施例提供另一种角色权限调整装置,该角色权限调整装置包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行如上述第一方面中任一项所述的方法的步骤。
第四方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行如上述第一方面中任一项所述方法的步骤。
综上可知,本申请实施例提供的角色权限调整方法,定义各权限管理规则,并配置各业务组件的权限管理文件与上述各权限管理规则之间的关联关系;在目标业务组件容器启动时,将上述目标业务组件容器对应的各权限管理规则同步至上述目标业务组件对应的权限管理文件;在监测到角色权限变化事件时,将上述角色权限变化事件通知已启动的各业务组件容器,以使得已启动的各业务组件容器分别判断上述角色权限变化是否与自身相关,并在判定上述角色权限变化事件与自身相关时,更新对应的权限管理规则,以及将更新后的权限管理规则同步至对应的权限管理文件。
采用本申请实施例提供的角色权限调整方法,建立各业务组件对应的权限管理规则与权限管理文件之间的关联关系,在后续针对某一业务组件的角色权限进行调整时,只需调整该权限管理规则,进而将调整后的权限管理规则同步至业务组件容器中的权限管理文件即可,无需直接修改该业务组件对应的权限管理文件中的每一配置项。
附图说明
为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其他的附图。
图1为本申请实施例提供的一种角色权限调整方法的详细流程图;
图2为本申请实施例提供的另一种角色权限调整方法的详细流程图;
图3为本申请实施例提供的一种角色权限调整装置的结构示意图;
图4为本申请实施例提供的另一种角色权限调整装置的结构示意图。
具体实施方式
在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
实际应用中,Openstack各个业务组件,支持通过配置文件设置角色权限,从API接口维度限制指定角色能够使用的业务组件(业务功能),具体地,每一业务组件可以提供多个API接口,而每一API接口接口可以对应多条配置项。开源openstack提供了一套设置policy.json文件的规范,使用者参考指定语法设置policy.json文件即可达到限制指定角色有权限访问指定接口的目的。
下面仅以业务组件为新建网络为例进行说明,并不用于限定本申请中业务组件为新建网络,业务组件还可以包括其它业务组件。
例如,假设用户自定两个角色roleA、roleB,希望这两个角色都能新建网络,当前一般流程如下:
1、用户定义角色roleA、roleB;
2、修改neutron模块(openstack的网络功能后台模块)的policy.json文件,其中,在每一配置项的“rule:admin_.nly”后增加“or role:roleA or role:roleB”,以使得roleA、roleB拥有使用该配置项对应的业务功能的权限:
"create_network":"rule:admin_only or role:roleA or role:roleB",
"create_network:shared":"rule:admin_only or role:roleA or role:roleB",
"create_network:router:external":"rule:admin_only or role:roleA orrole:roleB",
"create_network:is_default":"rule:admin_only or role:roleA or role:roleB",
"create_network:segments":"rule:admin_only or role:roleA or role:roleB",
"create_network:provider:network_type":"rule:admin_only or role:roleAor role:roleB",
"create_network:provider:physical_network":"rule:admin_only or role:roleA or role:roleB",
"create_network:provider:segmentation_id":"rule:admin_only or role:roleA or role:roleB",
3、保存policy.json文件,角色为roleA或者roleB的user可以访问neutron服务的建网络API,有权限新增网络。
由上可知,在调整一个业务组件的权限时,需要针对该业务组件提供的API接口对应的各配置项均进行代码修改,且每一业务组件均有其对应的policy.json文件,设置和维护过程复杂;进一步地,policy.json文件运行在内存中,容器重启会导致修改后的policy.json文件配置丢失等。
示例性的,参阅图1所示,本申请实施例提供的一种角色权限调整方法的详细流程图,该方法包括以下步骤:
步骤100:定义各权限管理规则,并配置各业务组件的权限管理文件与上述各权限管理规则之间的关联关系。
本申请实施例中,在定义各权限管理规则时,一种较佳地实现方式为,针对各业务组件,分别创建其对应的权限管理规则,其中,一个业务组件对应的权限管理规则包括可以使用该业务组件的角色信息。在配置各业务组件的权限管理文件与上述各权限管理规则之间的关联关系时,一种较佳地实现方式为,针对各业务组件提供的每一API接口分别对应的各配置项,设置该配置项调用的权限管理规则。
例如,用户通过在Web页面上设计一个“创建网络”的按钮,该按钮与用于创建网络的业务组件的权限管理规则相关联,用户通过点击该按钮可以输入角色信息(如,在该按钮对应的权限管理规则中新增roleA,则新增roleA创建网络的功能权限,在该按钮对应的权限管理规则中去除roleB,则去除roleB创建网络的功能权限)。
由上可知,按照openstack定义,实现方法如下:
1、假设“创建网络”对应的权限管理规则为"create_network_option":"!",其中,openstack语法"!"表示非,即任何角色都没有权限,并在对应API控制中做好默认拥有该权限的角色许可的预设置,如:"create_network":"rule:admin_only or rule:create_network_option"。
2、当roleA新增“创建网络”权限时,将"create_network_option":"!"修改为"create_network_option":"role:roleA"。
3、当roleB也新增“创建网络”权限时,将"create_network_option":"role:roleA"修改为"create_network_option":"role:roleA or role:roleB"。
具体地,一种较佳地实现方式为,在执行完步骤3后,创建网络业务组件对应的policy.json文件内容如下:
"create_network_option":"role:roleA or role:roleB",
"create_network":"rule:admin_only or rule:create_network_option",
"create_network:shared":"rule:admin_only or rule:create_network_option",
"create_network:router:external":"rule:admin_only or rule:create_network_option",
"create_network:is_default":"rule:admin_only or rule:create_network_option",
"create_network:segments":"rule:admin_only or rule:create_network_option",
"create_network:provider:network_type":"rule:admin_only or rule:create_network_option",
"create_network:provider:physical_network":"rule:admin_only or rule:create_network_option",
"create_network:provider:segmentation_id":"rule:admin_only or rule:create_network_option",
本申请实施例中,此时创建网络业务组件对应的权限管理规则定义为:"create_network_option":"role:roleA or role:roleB",创建网络业务组件API接口对应的每一配置项均调用"create_network_option":"role:roleA or role:roleB"。
4、当roleA去除“创建网络”权限时,将"create_network_option":"role:roleAor role:roleB"修改为"create_network_option":"role:roleB"。
5、当roleB也去除“创建网络”权限时,将"create_network_option":"role:roleB"修改为"create_network_option":"!"。
其中,需要说明的是,本申请实施例中,在配置各业务组件的权限管理文件与上述各权限管理规则之间的关联关系时,一个业务组件的权限管理文件可以调用多个定义的权限管理规则;一个权限管理规则可以被多个业务组件的权限管理文件调用。
步骤110:在目标业务组件容器启动时,将上述目标业务组件容器对应的各权限管理规则同步至上述目标业务组件对应的权限管理文件。
具体地,本申请实施例中,各业务组件对应的权限管理规则可以以configmap的形式存在,那么,在定义一个业务组件对应的权限管理规则时,即是定义该一个业务组件对应的configmap,其中,configmap是k8s中用于管理应用配置信息的配置文件集合,那么,将权限管理规则定义在configmap中,在业务组件容器重启时,不会导致权限管理规则丢失。
那么,预先创建目标业务组件对应的configmap,该configmap中定义有目标业务组件对应的权限管理规则,在启动该目标业务组件容器时挂载该configmap,即将该configmap中的该目标业务组件对应的权限管理规则同步至目标业务组件容器的policy.json中。
步骤120:在监测到角色权限变化事件时,将上述角色权限变化事件通知已启动的各业务组件容器,以使得已启动的各业务组件容器分别判断上述角色权限变化是否与自身相关,并在判定上述角色权限变化事件与自身相关时,更新对应的权限管理规则,以及将更新后的权限管理规则同步至对应的权限管理文件。
实际应用中,角色管理组件可以基于预设的规则实时监测是否存在角色权限变化事件的发生,例如,监测是否存在用户通过Web界面调整某一业务组件的角色权限信息,若存在,则确定发生角色权限变化事件。
本申请实施例中,在监测到角色权限变化事件时,将上述角色权限变化事件通知已启动的各业务组件容器时,一种较佳地实现方式为,在监测到用户通过Web界面和/或API接口调用触发的,调整目标角色所拥有的业务组件使用权限操作时,确定监测到角色权限变化事件;角色管理组件将上述上述角色权限变化事件广播给已启动的各业务组件容器。
进一步地,本申请实施例中,已启动的各业务组件容器分别判断上述角色权限变化是否与自身相关,并在判定上述角色权限变化事件与自身相关时,更新对应的权限管理规则,以及将更新后的权限管理规则同步至对应的权限管理文件时,一种较佳的实现方式为,任一已启动的目标业务组件容器判断上述角色权限变化事件是否包括上述目标角色针对上述目标业务组件的使用权限的调整;若是,则确定上述角色权限变化事件与自身相关,并基于上述角色权限变化事件更新对应的权限管理规则,以及通过修改上述目标业务组件容器的注释的方式,将更新后的权限管理规则同步至对应的权限管理文件。
例如,假设业务组件容器包括Business pod1、Business pod2、……、Businesspodx,那么,角色管理组件role manage pod在监测到角色权限变化事件时,将该角色权限变化事件携带在广播消息中广播给所有业务组件容器。Business pod1、Businesspod2、……、Business podx在接收到广播消息时,根据该角色权限变化事件确定此次角色权限变化是否与自身相关(即各业务组件容器判断是否有针对自身的角色权限调整操作),若相关,则更新对应的configmap(configmap中的权限管理规则);若不相关,则丢弃广播消息。
本申请实施例中,在将configmap中更新后的权限管理规则同步至业务组件容器时,一种较佳的实现方式为,先edit(编辑)业务组件容器(如,keystone容器)的annotations(相当于注释,不影响功能),业务组件容器会立即同步configmap的变化。
示例性的,参阅图2所示,为本申请实施例提供的另一种权限角色调整方法的详细流程图,该方法包括以下步骤:
步骤200:用户通过Web界面/API接口调用方式触发调整目标角色所拥有的业务组件使用权限的角色权限变化事件。
步骤210:角色管理组件在监测到所述角色权限变化事件时,将所述角色权限变化事件广播至所有已启动的业务组件容器。
具体地,假设已启动的而业务组件容器包括业务组件容器1,业务组件容器2,……,业务组件容器x。那么,角色管理组件在监测到角色权限变化事件时,即可将该角色权限变化事件携带在广播消息中广播至业务组件容器1,业务组件容器2,……,业务组件容器x。
步骤220:各业务组件容器在接收到角色管理组件发送的携带所述角色权限变化事件的广播消息后,分别判断所述角色权限变化事件是否与自身相关,若是,则执行步骤230;否则,丢弃所述广播消息。
具体地,业务组件容器1,业务组件容器2,……,业务组件容器x在接收到广播消息后,分别判断该广播消息携带的角色权限变化事件是否与自身相关,若相关,则通知k8s根据该角色权限变化事件更新对应的configmap,其中,任一业务组件容器对应的configmap包括该业务组件容器对应的权限管理规则。
步骤230:判断结果为是的业务组件容器通知k8s基于所述角色权限变化事件更新其对应的configmap。
具体地,假设业务组件容器1判定此次角色权限变化事件与自身相关,则业务组件容器1通知k8s更新对应的configmap 1;同理,若业务组件容器n判定此次角色权限变化事件与自身相关,则业务组件容器1通知k8s更新对应的configmap n。
步骤240:k8s基于所述角色权限变化事件更新对应的configmap。
下面,以业务组件容器1判定此次角色权限变化事件与自身相关,业务组件容器1通知k8s更新对应的configmap 1为例进行说明,假设此次角色权限变化事件包括新增roleA使用业务组件1的权限,那么,即可在业务组件容器1对应的configmap 1的权限管理规则中新增roleA的信息。
步骤250:各业务组件在感知到其对应的configmap更新后,从k8s获取更新后的configmap。
具体地,Openstack包括nova(计算组件),neutron(网络组件),keystone(认证与权限管理组件)等。本申请实施例中以业务组件为nova,neutron,keystone组件为例进行说明。
实际应用中,k8s中任一configmap内容更新后,其对应的业务组件容器在经过一定延迟后能够自动感知到变化并直接同步到业务组件容器,本申请实施例中,为了使得内容更新后的configmap能够立即同步至业务组件容器,可以采用编辑业务组件容器注释的方式来实现configmap的立即同步操作。
基于与上述发明实施例同样的发明构思,示例性的,参阅图3所示,为本申请实施例提供的一种角色权限调整装置的结构示意图,上述装置包括:
配置单元30,用于定义各权限管理规则,并配置各业务组件的权限管理文件与上述各权限管理规则之间的关联关系;
同步单元31,用于在目标业务组件容器启动时,将上述目标业务组件容器对应的各权限管理规则同步至上述目标业务组件对应的权限管理文件;
监测单元32,用于在监测到角色权限变化事件时,将上述角色权限变化事件通知已启动的各业务组件容器,以使得已启动的各业务组件容器分别判断上述角色权限变化是否与自身相关,并在判定上述角色权限变化事件与自身相关时,更新对应的权限管理规则,以及将更新后的权限管理规则同步至对应的权限管理文件。
可选地,上述定义各权限管理规则时,配置单元30具体用于:
针对各业务组件,分别创建其对应的权限管理规则,其中,一个业务组件对应的权限管理规则包括可以使用该业务组件的角色信息。
可选地,上述配置各业务组件的权限管理文件与上述各权限管理规则之间的关联关系时,配置单元30具体用于:
针对各业务组件提供的每一API接口分别对应的各配置项,设置该配置项调用的权限管理规则。
可选地,上述在监测到角色权限变化事件时,将上述角色权限变化事件通知已启动的各业务组件容器时,监测单元32具体用于:
在监测到用户通过Web界面和/或API接口调用触发的,调整目标角色所拥有的业务组件使用权限操作时,确定监测到角色权限变化事件;
角色管理组件将上述上述角色权限变化事件广播给已启动的各业务组件容器。
可选地,上述已启动的各业务组件容器分别判断上述角色权限变化是否与自身相关,并在判定上述角色权限变化事件与自身相关时,更新对应的权限管理规则,以及将更新后的权限管理规则同步至对应的权限管理文件时,同步单元31还用于:
任一已启动的目标业务组件容器判断所述角色权限变化事件是否包括所述目标角色针对所述目标业务组件的使用权限的调整;
若是,则确定所述角色权限变化事件与自身相关,并基于所述角色权限变化事件更新对应的权限管理规则,以及通过修改所述目标业务组件容器的注释的方式,将更新后的权限管理规则同步至对应的权限管理文件。
以上这些单元可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(digital singnal processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个单元通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(CentralProcessing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些单元可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
综上可知,本申请实施例提供的角色权限调整方法,定义各权限管理规则,并配置各业务组件的权限管理文件与上述各权限管理规则之间的关联关系;在目标业务组件容器启动时,将上述目标业务组件容器对应的各权限管理规则同步至上述目标业务组件对应的权限管理文件;在监测到角色权限变化事件时,将上述角色权限变化事件通知已启动的各业务组件容器,以使得已启动的各业务组件容器分别判断上述角色权限变化是否与自身相关,并在判定上述角色权限变化事件与自身相关时,更新对应的权限管理规则,以及将更新后的权限管理规则同步至对应的权限管理文件。
采用本申请实施例提供的角色权限调整方法,建立各业务组件对应的权限管理规则与权限管理文件之间的关联关系,在后续针对某一业务组件的角色权限进行调整时,只需调整该权限管理规则,进而将调整后的权限管理规则同步至业务组件容器中的权限管理文件即可,无需直接修改该业务组件对应的权限管理文件中的每一配置项。
进一步地,本申请实施例提供的角色权限调整装置,从硬件层面而言,所述角色权限调整装置的硬件架构示意图可以参见图4所示,所述角色权限调整装置可以包括:存储器40和处理器41,
存储器40用于存储程序指令;处理器41调用存储器40中存储的程序指令,按照获得的程序指令执行上述方法实施例。具体实现方式和技术效果类似,这里不再赘述。
可选地,本申请还提供一种角色权限调整装置,包括用于执行上述方法实施例的至少一个处理元件(或芯片)。
可选地,本申请还提供一种程序产品,例如计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令用于使该计算机执行上述方法实施例。
这里,机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(RadomAccess Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种角色权限调整方法,其特征在于,所述方法包括:
定义各权限管理规则,并配置各业务组件的权限管理文件与所述各权限管理规则之间的关联关系;
在目标业务组件容器启动时,将所述目标业务组件容器对应的各权限管理规则同步至所述目标业务组件对应的权限管理文件;
在监测到角色权限变化事件时,将所述角色权限变化事件通知已启动的各业务组件容器,以使得已启动的各业务组件容器分别判断所述角色权限变化是否与自身相关,并在判定所述角色权限变化事件与自身相关时,更新对应的权限管理规则,以及将更新后的权限管理规则同步至对应的权限管理文件。
2.如权利要求1所述的方法,其特征在于,所述定义各权限管理规则的步骤包括:
针对各业务组件,分别创建其对应的权限管理规则,其中,一个业务组件对应的权限管理规则包括可以使用该业务组件的角色信息。
3.如权利要求1或2所述的方法,其特征在于,所述配置各业务组件的权限管理文件与所述各权限管理规则之间的关联关系的步骤包括:
针对各业务组件提供的每一API接口分别对应的各配置项,设置该配置项调用的权限管理规则。
4.如权利要求1或2所述的方法,其特征在于,所述在监测到角色权限变化事件时,将所述角色权限变化事件通知已启动的各业务组件容器的步骤包括:
在监测到用户通过Web界面和/或API接口调用触发的,调整目标角色所拥有的业务组件使用权限操作时,确定监测到角色权限变化事件;
角色管理组件将所述角色权限变化事件广播给已启动的各业务组件容器。
5.如权利要求4所述的方法,其特征在于,所述已启动的各业务组件容器分别判断所述角色权限变化是否与自身相关,并在判定所述角色权限变化事件与自身相关时,更新对应的权限管理规则,以及将更新后的权限管理规则同步至对应的权限管理文件的步骤包括:
任一已启动的目标业务组件容器判断所述角色权限变化事件是否包括所述目标角色针对所述目标业务组件的使用权限的调整;
若是,则确定所述角色权限变化事件与自身相关,并基于所述角色权限变化事件更新对应的权限管理规则,以及通过修改所述目标业务组件容器的注释的方式,将更新后的权限管理规则同步至对应的权限管理文件。
6.一种角色权限调整装置,其特征在于,所述装置包括:
配置单元,用于定义各权限管理规则,并配置各业务组件的权限管理文件与所述各权限管理规则之间的关联关系;
同步单元,用于在目标业务组件容器启动时,将所述目标业务组件容器对应的各权限管理规则同步至所述目标业务组件对应的权限管理文件;
监测单元,用于在监测到角色权限变化事件时,将所述角色权限变化事件通知已启动的各业务组件容器,以使得已启动的各业务组件容器分别判断所述角色权限变化是否与自身相关,并在判定所述角色权限变化事件与自身相关时,更新对应的权限管理规则,以及将更新后的权限管理规则同步至对应的权限管理文件。
7.如权利要求6所述的装置,其特征在于,所述定义各权限管理规则时,所述配置单元具体用于:
针对各业务组件,分别创建其对应的权限管理规则,其中,一个业务组件对应的权限管理规则包括可以使用该业务组件的角色信息。
8.如权利要求6或7所述的装置,其特征在于,所述配置各业务组件的权限管理文件与所述各权限管理规则之间的关联关系时,所述配置单元具体用于:
针对各业务组件提供的每一API接口分别对应的各配置项,设置该配置项调用的权限管理规则。
9.如权利要求6或7所述的装置,其特征在于,所述在监测到角色权限变化事件时,将所述角色权限变化事件通知已启动的各业务组件容器时,所述监测单元具体用于:
在监测到用户通过Web界面和/或API接口调用触发的,调整目标角色所拥有的业务组件使用权限操作时,确定监测到角色权限变化事件;
角色管理组件将所述角色权限变化事件广播给已启动的各业务组件容器。
10.如权利要求9所述的装置,其特征在于,所述已启动的各业务组件容器分别判断所述角色权限变化是否与自身相关,并在判定所述角色权限变化事件与自身相关时,更新对应的权限管理规则,以及将更新后的权限管理规则同步至对应的权限管理文件时,所述同步单元还用于:
任一已启动的目标业务组件容器判断所述角色权限变化事件是否包括所述目标角色针对所述目标业务组件的使用权限的调整;
若是,则确定所述角色权限变化事件与自身相关,并基于所述角色权限变化事件更新对应的权限管理规则,以及通过修改所述目标业务组件容器的注释的方式,将更新后的权限管理规则同步至对应的权限管理文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010776965.5A CN112131560B (zh) | 2020-08-05 | 2020-08-05 | 一种角色权限调整方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010776965.5A CN112131560B (zh) | 2020-08-05 | 2020-08-05 | 一种角色权限调整方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112131560A CN112131560A (zh) | 2020-12-25 |
CN112131560B true CN112131560B (zh) | 2022-05-24 |
Family
ID=73850677
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010776965.5A Active CN112131560B (zh) | 2020-08-05 | 2020-08-05 | 一种角色权限调整方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112131560B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115118480B (zh) * | 2022-06-22 | 2024-04-26 | 中电信数智科技有限公司 | 一种基于Openstack的Skyline系统分权分域功能的实现方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109284106A (zh) * | 2018-07-18 | 2019-01-29 | 平安科技(深圳)有限公司 | 业务规则的发布管理方法、电子装置及可读存储介质 |
US10277601B1 (en) * | 2015-05-11 | 2019-04-30 | Google Llc | System and method for recursive propagating application access control |
CN110750780A (zh) * | 2019-10-16 | 2020-02-04 | 北京微星优财网络科技有限公司 | 基于多业务系统的用户角色权限融合方法、装置以及设备 |
CN111177789A (zh) * | 2020-01-07 | 2020-05-19 | 江苏满运软件科技有限公司 | 权限管理方法、系统、设备及存储介质 |
CN111352737A (zh) * | 2020-02-28 | 2020-06-30 | 网思科技股份有限公司 | 一种基于资源池的容器云计算服务平台 |
CN111488595A (zh) * | 2020-03-27 | 2020-08-04 | 腾讯科技(深圳)有限公司 | 用于实现权限控制的方法及相关设备 |
-
2020
- 2020-08-05 CN CN202010776965.5A patent/CN112131560B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10277601B1 (en) * | 2015-05-11 | 2019-04-30 | Google Llc | System and method for recursive propagating application access control |
CN109284106A (zh) * | 2018-07-18 | 2019-01-29 | 平安科技(深圳)有限公司 | 业务规则的发布管理方法、电子装置及可读存储介质 |
CN110750780A (zh) * | 2019-10-16 | 2020-02-04 | 北京微星优财网络科技有限公司 | 基于多业务系统的用户角色权限融合方法、装置以及设备 |
CN111177789A (zh) * | 2020-01-07 | 2020-05-19 | 江苏满运软件科技有限公司 | 权限管理方法、系统、设备及存储介质 |
CN111352737A (zh) * | 2020-02-28 | 2020-06-30 | 网思科技股份有限公司 | 一种基于资源池的容器云计算服务平台 |
CN111488595A (zh) * | 2020-03-27 | 2020-08-04 | 腾讯科技(深圳)有限公司 | 用于实现权限控制的方法及相关设备 |
Non-Patent Citations (3)
Title |
---|
A dynamic Access Control model based on trust;Lingli Zhao et al;《IEEE》;20100909;548-551 * |
基于规则引擎的访问控制研究;王辉;《计算机安全》;20110615(第06期);40-42 * |
基于角色的Web信息系统权限管理方法;陈继南等;《武汉理工大学学报(信息与管理工程版)》;20080415;第30卷(第02期);101-104 * |
Also Published As
Publication number | Publication date |
---|---|
CN112131560A (zh) | 2020-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10540368B2 (en) | System and method for resolving synchronization conflicts | |
US10129264B2 (en) | Method and apparatus for implementing document sharing between user groups | |
WO2018049888A1 (zh) | 应用数据的迁移方法及装置 | |
US11157269B2 (en) | Computer-based systems configured for automated roll-forward of software package versions and methods of use thereof | |
US20150302073A1 (en) | Method and system for cross-platform application cloning | |
US20180189311A1 (en) | File system warnings for moves of shared content items | |
CN107992537B (zh) | 业务属性传递方法、装置、计算机设备及存储介质 | |
US9338595B1 (en) | Location-based mobile object management in a distributed cloud for enhancing access and performance | |
US20240031120A1 (en) | System and method for automatically synchronizing responses to conditions on devices | |
US20180082228A1 (en) | Digital project management office | |
US12099524B2 (en) | Database systems and related replication monitoring methods | |
CN109766167B (zh) | 定时任务分发的方法、装置、系统及设备 | |
CN112131560B (zh) | 一种角色权限调整方法及装置 | |
US10108596B2 (en) | Version control with accept only designations | |
CN110427237B (zh) | 一种跨应用访问目标页面的方法、装置及电子设备 | |
CN112596825B (zh) | 一种云桌面启动方法及装置 | |
US9614932B2 (en) | Managing and implementing web application data snapshots | |
CN112612804A (zh) | 一种服务治理参数更新方法及装置 | |
CN109783272B (zh) | 磁盘快照处理方法、装置和设备 | |
CN108681492A (zh) | 数据处理方法及装置 | |
CN111752631B (zh) | 应用程序的参数设置方法、装置、电子设备和存储介质 | |
CN113378022A (zh) | 一种站内搜索平台、搜索方法和相关装置 | |
CN111221651A (zh) | 负载均衡配置方法、装置、服务器及可读存储介质 | |
CN111597255A (zh) | 数据灾备处理方法、装置、电子设备及存储介质 | |
CN112068924A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |