欢迎来到天天文库
浏览记录
ID:23190386
大小:54.00 KB
页数:5页
时间:2018-11-05
《基于soa的属性访问控制模型的研究》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、基于SOA的属性访问控制模型的研究本文提出了基于SOA的属性访问控制模型,在角色中通过属性的引入,能够在相同访问控制效果下,使得角色的创建和维护工作量得到大幅度的降低。另外,通过规则的引入,能够支持角色属性,并且也能够支持工作流访问控制模型中出现的按照时间、空间、系统状态等上下文进行访问控制的需求。关键词:SOA;属性访问控制模型;安全 1、引言 随着面向服务的架构(SOA)的广泛推广和应用,面向服务的架构下的安全性值得引起足够的重视。基于SOA的属性访问控制模型的研究具有十分重要的意义。本文探讨了基于S
2、OA的属性访问控制模型,相对于传统的访问控制模型来说,本文提出的模型具有更多的优点,是一个很好的访问控制模型。 2、基于SOA的属性访问控制模型中的各个组成部分定义 属性(Attribute):它是角色的构成要素,也就是说,对角色在特定的观察角度上所进行的描述。例如,能够对“移动公司业务员”这一角色增加所位于的地点属性来描述其所在的分公司信息。 用户(User):U=(ul,u2,un),就是系统中所涉及的全部用户所组成的一个集合。 角色(Role):本文提出的角色是动态的,在将角色激活之后,角色所拥
3、有的权限才被确定,也就是说,当角色被激活的时候,它可以拥有多个不同的属性值,并且能够拥有多个不同的权限。 根据上述属性、用户和角色的定义,A,B,C分公司的移动公司业务员可以分别定义为: 移动公司业务员.Position=A 移动公司业务员.Position=B 移动公司业务员.Position=C 规则(Rules):通常情况下,在具体的权限控制的设计的过程中,一系列的因素都必须被考虑到,例如时间日期,空间位置等等。结合本文设计的基于SOA的属性访问控制模型中的角色动态性的要求,本文在角色和权限之
4、间,将规则的概念引入进来。通过这些规则来对角色所拥有的权限进行一个动态的映射。 操作对象(Object):是权限的最终实施对象,也就是说,在对于特定的一个客体所进行的特定的一项操作中,操作对象就是这个客体。 3、基于SOA的属性访问控制模型中的规则的表述 在XML文档之内,定位信息的标准方式是XPath。通过XPath,能够在XML文档中对文本数据、各个组成部分、属性以及其他信息进行访问。XPath这种语言一方面是非常精密的,另一方面,也是非常复杂的,对于本文设计的模型中的规则的描述,可以借用XPath
5、在定位树型结构时候的强大功能,如下所示是相关的概念:逻辑或 属性 Not逻辑非 /指定角色路径 *路径的通配符 /C/parent::*角色C的所有父亲角色 /C/child::*角色C的所有子角色 /C/descendent::*角色C的所有后代角色 /C/encestor::*角色C的所有祖先角色 /C/Cncestor-or-self角色C及其所有祖先角色 /C/descendent-or-self角色C及其所有后代角色 在移动公司中,首先定义角色移动公司业务员,该角色拥有属性
6、Position。属性赋值在用户角色映射时能够自动完成。定义操作对象“业务清单”,为其定义属性BusinessAmount。添加“角色一规则一权限”之间的对应关系 角色:移动公司业务员 规则: Rulel:roleIn/移动公司业务员/descendant-or-self(是移动公司业务员或其子角色) Rule2:rolePosition业务清单Position (角色位置属性与业务清单位置属性相同) 权限:操作x对象=写x业务清单 这样就只需要定义“移动公司业务员”一个角色就能满足需求,方便了
7、角色的创建和维护。 为适应工作流中对于时间、空间等的限制要求,能够对规则做进一步的扩展。引入限制规则集Restricted_Rule=(Time,Position,Systemstatus}。只有当所有规则都为真时,用户才能够对指定对象进行操作。例如移动公司业务员只有在工作时间可以写业务清单,其他时间只能够对业务清单进行读操作。 Rule_Time:CurrentTimeinRestrictedTime 进行写操作,须保证Rule_1∩Rule_2∩Rule_3∩Time=True 4、结束语 本文
8、提出的基于SOA的属性访问控制模型,已经在实际的面向服务的架构的系统中得到具体的应用。通过实践发现,相对于传统的访问控制模型来说,本文提出的模型是非常可行的,能够满足面向服务的架构下的安全需求。
此文档下载收益归作者所有