一种基于树形组织模型的机构应用权限管理方法及服务系统与流程

文档序号:15022864发布日期:2018-07-25 01:30阅读:259来源:国知局

本发明属于计算机技术、信息安全技术领域,涉及一种基于树形组织模型的应用权限管理方法及服务系统。适用于在多层级机构结构中管理下属人员的应用访问权限的使用场景。



背景技术:

组织模型就是对企业(或机构)组织结构进行建模,是利用抽象的模型或者元素,构造出的一系列关系,用于表达企业组织机构中的实体间的层次和隶属。绝大多数的组织机构都以树形层次结构为主:企业的组织机构由一系列层次化的组织单元构成,每一个组织单元属于某一个层次,对其下一层次的组织单元具有管理职责与权限,并对上一层次的组织单元负责,从而形成企业的组织树。组织树中的每一个节点定义了对底层节点的约束和目标。该模型虽然在组织结构建模中应用广泛,但是没有涉及到授权管理和访问控制。

目前,最常见的授权管理和访问控制的方法是基于角色的访问控制(RBAC)。其基本思想是,对系统操作的各种权限不是直接授予具体的用户,而是在用户集合与权限集合之间建立一个角色集合。每一种角色对应一组相应的权限。一旦用户被分配了适当的角色后,该用户就拥有此角色的所有操作权限。这样做的好处是,不必在每次创建用户时都进行分配权限的操作,只要分配用户相应的角色即可,而且角色的权限变更比用户的权限变更要少得多,这样将简化用户的权限管理,减少系统的开销。

RBCA将权限的划分完全依赖于角色,不同的权限就要分配依赖不同的角色。当面对需要划分众多不同权限时,该方法依然会要求分配众多的角色,缺乏灵活性。另一方面,RBCA的权限是静态的,即在授权之后,权限不变。但是随着技术的发展,现在账户的认证状态可能有多种:可能是口令认证登录,也可能是数字证书认证登录。在这种情况下,用户不同的登录状态应该对应不同的权限等级,基于角色的静态权限管理不能满足其需求。

而到目前为止,本领域内仍没有利用树形组织模型及用户认证状态的应用授权管理技术,此课题的研究和探索具有重大的价值和意义。



技术实现要素:

本发明针对背景技术中描述的现状,提出一种基于树形组织模型的机构应用权限管理方法及服务系统,适用于多级机构结构中管理下属人员的应用访问权限的使用场景,通过树形组织模型来管理不同层级的机构、下属人员以及应用三者之间的从属关系,简化应用权限管理操作的同时又满足访问权限差异性的需求。

本发明所采取的技术方案是:

在机构之间,使用树形组织模型表示机构上下级的从属关系,该模型被称为机构树。应用和人员都归属于机构树上的某一个节点,人员根据自己所属的机构节点,获得其所属机构的公共应用访问权限,而不需要额外的授权,免去重复设定相同权限的操作;在机构内部,应用依据用户属性等级来制定访问策略,应用的访问策略规定了要访问该应用的人员需要的满足属性等级,通过为人员设定不同的属性等级来授予人员不同的应用访问权限,实现权限设定的差异化。

进一步地,所述树形组织模型为一种机构结构的表现形式,在应用系统中,每个机构都有唯一机构ID标识和从属路径。从属路径表示该机构在树形结构上的位置,包含着从机构树的根节点出发到达该机构对应的节点所要经过的机构ID,所有机构节点的从属路径的总和形成一个完备的机构树。

进一步地,利用所述的机构从属路径,能够判断两个机构之间是否有上下级的从属关系,如机构A的ID出现在机构B的从属路径中,则说明机构A为机构B的上级机构,机构B从属于机构A;从属路径中,从机构A到机构B的节点个数(包括机构B),代表着机构A和机构B相差的机构层级。

进一步地,所述机构树的节点表示一个机构,其下属应用和人员:应用可以分配在机构树上的任意机构,且只能属于一个机构;人员可以被分配在机构树上的任意节点,且只能属于一个机构。为机构节点分配的应用和人员,分别被称为该机构的下属应用和下属人员。人员和应用的属性中都会记录其所属机构的ID,系统根据人员所属的机构节点,获得其所属机构的公共应用访问权限。

进一步地,所述的机构的公共应用访问权限,为该机构下属的全部人员所共有的应用访问权限,该权限由机构在树形组织模型中的位置(从属路径)所判定,具体的权限判定规则为:机构树上某一节点的人员,有权访问该机构的从属路径上出现的所有机构的下属应用,即下级人员有权访问上级机构。机构的公共应用访问权限代表着机构整体所拥有的应用访问权限,机构的下属人员作为机构的一分子,无需授权操作,只需要根据其所属机构的ID便会获得该权限,用户个人的属性中没有该权限的任何信息。同时,当人员的所属机构被改变时,因其所属机构的ID变化,其所拥有的机构的公共应用访问权限也会随之变化。

进一步地,所述的机构人员中存在管理员角色。管理员也是机构下属人员,但是拥有更多的管理权限。一个机构的管理员不仅能管理本机构,还有权限去管理所有的下级机构。换而言之,机构树上某一节点的管理员,有权去管理所有在从属路径上包含该节点的机构,即上机管理员有权管理下级机构。

进一步地,所述应用访问权限和管理员权限具有传递性,随着树形结构自上而下地传递,随着树模型构扩张而扩张。因为下级机构的从属路径中会包括上级机构的从属路径,在上机机构从属路径上出现的机构ID也会在下级机构的从属路径中出现,所以下级机构会继承上级机构的公共应用访问权限。也就是说,上级机构拥有的公共应用访问权将是下级机构公共应用访问权限的子集。当在树形模型的最下层创建机构节点时,所有上级机构的下属应用,该机构都会的有权访问。总之,上级机构的公共应用访问权限会沿着从属路径传递给所有的下级机构,随着树形组织模型的深度不断变大,越是下级机构的下属人员,其能访问的应用越多。同理,上级管理员的管理权限也会沿着机构的从属路径扩大到所有的下级机构,越是上级机构的管理员,其管理权限越大。

进一步地,为了防止出现上级的管理员权限过大和下层人员的应用访问权限泛滥的问题,本权限管理方法可以设置权限标签来限制权限在树形结构上的传递。权限标签代表着一个应用的访问权或是一个管理员的管理权限如何沿着从属路径传递。默认情况下,权限会不加以限制地沿着从属路径无限地传递。通过设置权限标签,可以将权设定为在从属路径上传递有限节点数或者是不传递。

进一步地,当对一个应用添加了所述的应用权限标签后,判断某机构的下属人员是否有权限访问该应用时,要先判断该应用所属的机构是否出现在该人员所属机构的从属路径上(是否为上级机构),再判断两个机构在从属路径上的位置(即权限传递的节点数)是否满足权限标签的限制。当二者都满足后,才可判定该人员有权访问该应用,即该人员所在机构的公共应用访问权限能够访问该应用。同理,判断一名管理员是否有权管理某个机构,首先要判断管理员所属的机构是否为目标机构的上级,再判断两个机构在从属路径上的位置是否满足该管理员的权限标签,当二者都满足之后,才可判定该管理人员有权去管理该机构。

进一步地,为满足机构内部人员权限差异化和定制化的需求,本权限管理方法为用户设置了属性等级,基于用户的属性等级进行访问控制。属性等级为两大类:用户身份权限等级和用户认证安全等级。用户身份权限等级表示该用户在机构内部的权限等级,等级越高权限范围越大;用户认证安全等级表示该用户身份认证方式的安全等级,越可靠的认证方式代表更高的安全性。

进一步地,依据上述用户属性等级,机构管理员在创建机构下属应用时可以制定访问策略,访问策略包括:要求的属性类型、匹配模式和所要求的属性等级。只有当用户属性匹配访问策略中的要求,人员才能权限去访问该应用。

进一步地,当应用设置了访问策略后,判断某机构的下属人员是否有权限访问该应用时,要求先判断人员所属机构的公共访问权限是否能访问该应用,再判断用户所拥有的属性级别是否满足该应用的访问策略。两者都满足后,用户才有权限访问该应用。

一种服务系统,包括实现机构应用权限管理的程序,所述程序包括用于执行上述的基于树形组织模型的机构应用权限管理方法。

通过采取上述技术方案,本发明具有以下优点:

首先,和传统的树形组织模型应用于组织管理的使用场景不同,本发明将树形组织模型应用于权限管理,人员所属机构的从属路径代表着该属机构的公共应用访问权限,而无需格外的授权管理,便可有权访问,避免了大量的重复性操作,便于从机构的角度出发,管理应用的访问权限。

其次,和一般的基于角色的授权管理模式不同,在本发明中人员的权限不来源于角色,而由其他两个方面来决定:除了上述的由人员所属机构的从属路径决定的公共访问权限之外,在机构内部还可以为人员设置不同的用户属性等级,应用通过设置访问策略来控制不同属性等级的人员拥有不同访问权限。通过这种方式,在简化机构整体的授权操作流程的同时,也提供自定义的方式来满足机构内部访问权限差异的需求,更为灵活和易扩展。

最后,本发明将用户的认证方式加入到权限判定因素中,使得用户的访问权限不再是静态不变的,而是随着用户的登录状态动态地变化。当用户使用不同的身份认证方式登录后,用户可获得不同应用访问权限,以满足应用不同的安全等级需求,增强权限管理的安全性和多样性。

附图说明

图1为本发明一实施例中基于树形组织模型的机构结构示意图。

图2为本发明一实施例中判断用户是否有权限访问应用的流程图。

图3为本发明一实施例中判断用户是否满足应用的访问策略的流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加的清楚明白,以下通过实例对本发明作进一步的详细说明。

如图1所示,在树形组织模型中,每个机构都有机构ID作为在模型中的唯一标识。除此之外,机构还有从属路径,用以表示该机构在树形模型上的位置,也就是其从属关系。从属路径中的数字表示从根节点出发到达该节点要经过的机构ID,不同机构ID之间用分隔符隔开(示例中的分隔符为“.”)。因为每个机构的ID是唯一的,所以每个机构的从属路径也都是唯一的。通过从属路径就可以回溯出某个机构全部上级节点。所有机构节点的从属路径的总和形成一个完备的机构树模型。

利用从属路径,可以判断出两个机构的是否存在上下级关系。如果一个机构的ID出现在另一个机构的从属路径中,且两个机构的ID不同,则该机构是另一个机构的上级机构。如图1中的的“机构6”,其从属路径为Path:0.1.4.6,则其上级机构的ID分别是0、1、4,其中“机构1”在该从属路径上要经过两个节点(4、6)达“机构6”,所以“机构1”和“机构6”之间相差2级。

在树形组织模型中,应用的访问权限和管理人员管理权限是可以随着树形组织模型向下一级传递的,具体表现为:下级人员有权访问上级的应用,上级管理员有权管理下级的机构。

在树形组织模型中,应用被分配在机构树上的任意机构,且只能属于一个机构;人员可以被分配在机构树上的任意节点,且只能属于一个机构。隶属于机构树上某一节点的人员,有权访问该机构的从属路径上所有机构下属的应用,即前文提到的“下级人员可以访问上机应用”。如图1中,“人员d”有权去访问上级机构下属的“应用2”,因为“人员d”的所属“机构3”的从属路径为0.1.3,而“应用2”的所属机构ID为1,出现在该从属路径上,即“机构1”为“机构3”的上级机构,所以“机构3”的下属人员有权去访问上级机构的权限。

除了机构下属普通人员外,在树形组织模型中还存在管理人员。机构树上某一节点的管理员,有权访问去管理从属路径上包含该节点的机构;即前文提到的“上级管理员有权管理下级的机构”。如图1中,“管理员E”有权去管理下级“机构6”,因为“管理员E”的所属机构为“机构4”,其出现在了“机构6”的从属路径(0.1.4.6)上,“机构4”为“机构6”的上级机构,所以上级机构的管理员有权去管理下级机构。

由上述机制可知,在树形组织模型上,应用访问权限和管理员权限随着树形结构自上而下地传递,下级机构的人员将继承上级机构的公共应用访问权限,上级管理员也将自动获得权限去管理所有下级机构。但是随着树形模型深度的不断扩张,就有可能出现上级的管理员权限过大和下层人员的应用访问权限泛滥的问题。为了避免出现这样的问题,树形组织模型为管理员权限和应用访问权限提供了权限标签,来限制权限在机构树上的传递。

当一个应有或管理员被设置对应权限标签之后,判断其权限范围时不仅要利用从属路径判断是否满足上下级关系,还要判断这种上下级关系(从属路径上的位置)是否满足权限标签的要求。

管理员权限标签是管理员属性信息的一部分,管理员的管理权限标签分为三种:

1)公共权限标签:默认的权限标签,其权限是可以随着机构树扩展而任意扩展的,也就是前文所描述的:具有公共权限标签的管理员的管理权限随着从属路径延伸到所有的下级机构。如图1中的管理员A,其为根节点的管理员,其权限标签为公开,因该机构出现在所有下级机构的从属路径中,所以其可以管理该组织树中所有的子节点。

2)限制权限标签:其权限是可以随着机构树扩展而扩展到限定层级的下级机构,即具有该限制权限标签的管理员只能管理有限层级之内的下级机构;如图1中管理员B,其权限标签为限制1级,所以其可以管理除了自身节点之外1级的下属机构(“机构3”,“机构4”),但是不能管理从属关系超过1级的下级机构(如“机构6”,为“机构1”的下属两级机构)。

3)私有管权限标签:为其所属机构节点私有,其权限局限于当前节点,不随机构树而扩展,等价于“限制权限0级”。如图1中的管理员C,其权限标签为私有,所以具有私有管权限标签的管理员只能管理其所属的机构节点,不能管理下属的子节点“机构5”。

应用权限标签是应用属性信息的一部分,应用的权限标签分为三种:

1)公开级应用标签:默认权限标签,具有公开级应用标签的应用的访问权限随着机构树而传递,也就是前文所描述的:下级机构的人员继承所有上级机构的公共应用访问权限,且如果需要,管理员可以把该应用的权限赋予其他从属路径上机构和个人。如图1中的“应用2”,其权限标签为公开级,所以其所属机构(“机构1”)的人员和所有在从属路径上出现“机构1”的下级机构(“机构3”,“机构4”和“机构6”)的下属人员都有权限访问该应用,同时如果有需要,所属机构的管理员还可以将“应用2”的访问权限单独赋予其他无从属关系的机构,如“机构2”,系统将记录下这样单独赋予权限的对应关系。

2)保护级应用标签:具有保护级应用标签的应用的访问权限随着机构的从属路径而传递,所有的下级机构都有权限访问该应用,但是所属机构管理员不可以把该应用的权限赋予其他从属路径上机构和个人。如图1中“应用5”,其权限标签为保护级,所以本机构(“机构3”)的人员和下属机构(“机构6”)的人员都权限访问该应用,但是“管理员F”不能将访问权限赋予其他无从属关系的机构。

3)私有级应用标签:具有私有级应用标签的应用的访问权限不随着机构的从属路径传递,只有所属机构节点的人员有权限去访问该应用。如图中“应用3”,只有本节点(“机构2”)的人员有权访问,即使是下属机构的人员也无法权限访问(如“机构5”)。

为了体现出机构内部用户权限的差异性,管理员可以为树形组织模型中同一节点的用户设置不同用户属性等级,以满足机构内部的权限管理定制需求。

用户的属性等级分为两大类:即用户身份权限等级和用户认证安全等级。用户身份权限等级表示该用户在机构内部的权限等级,等级越高权限范围越大;用户认证安全等级表示该用户身份被认证的方式的安全等级,越可靠的认证方式代表更高的安全性。用户的属性等级可以由管理员动态设置和管理。

应用在创建时根据需求来设置访问策略,访问策略包括要求的属性类型,匹配模式和所要求的属性等级。用户的属性等级需要匹配访问策略才有权限去访问该应用。

匹配模式包括以下几种:

1)Mini:最小模式,需要满足所要求的等级或更高等级(>=);

2)Better:更优模式,需要满足比所要求的等级更高的等级才行(>);

3)Exact:精准模式,必须为所要求的等级(=);

4)Max:最优模式,必须为当前系统中所支持的最高等级才行。

例如,某应用的定义访问策略为:

1)身份权限-better-1;

2)认证安全-mini-2。

其含义为:在人员所属机构的公共应用访问权限能去访问该应用的前提下,人员的身份权限等级需要大于1级,且认证安全等级至少为2级时,有权限去访问该应用。

当用户发起访问应用的请求时,判断其权限的流程如图2所示:

1)根据用户所属机构的从属路径,判断其所属机构的公共应用访问权限是否能访问该应用;

2)如果所属机构的公共应用访问权限能访问该应用,则进一步判断用户的属性等级是否满足应用的访问策略。如果满足访问策略,则判定该用户有权限访问该应用;反之,如果不满足,则没有权限;

3)如果所属机构没有权限访问应用,则查看应用的权限标签是否为公开级,如果不为公开级,则判定用户没有权限访问应用,如果为公开级,则查询该用户和应用之间是否有额外授权;

4)如果该用户和应用之间有额外的授权,则判定该用户有权限访问该应用,反之则无权限,拒绝用户请求。

上述过程中,判断用户的属性等级是否满足应用的访问策略的流程如图3所示:

1)判断用户的身份权限等级是否满足访问策略所要求匹配模式,如果不满足则判定该用户不满足访问策略;

2)判断用户的认证安全等级是否满足访问策略所要求匹配模式,如果不满足则判定该用户不满足访问策略;

3)如果以上两条都满足,则判定该用户满足访问策略。

显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1