- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于角色的权限管理系统设计的问题和策略论文
中图分类号:TP311.52 文献标识码:A 文章编号:1009-3044(2021)33-7918-04
不同于自主或强制访问控制模型,基于角色的访问控制(简称RBAC,下同) 以角色作为中介,系统首先给角色授权,然后将角色分配给用户,角色架起了访问控制中访问主体与客体之间的一座桥梁。之所以不直接将权限授予用户,是因为角色比用户更具稳定性。当因为系统需求对用户进行变更时,只需修改角色与该用户的关联,而不必对角色与访问控制客体之间的关联进行修改,使系统设计的灵活性有所增强。
1 层次RBAC模型
在基于角色的访问控制模型(RBAC)中,通常采用分层技术对角色的职权和责任能力进行描述。通过添加对角色分层的支持,能够提高RBAC的管理效率、明晰角色间的逻辑关系。层次RBAC模型在RBAC角色集定义的基础上,提出了角色层次的概念,并添加了相应的访问控制规范。层次RBAC模型如图1所示。
层次RBAC中包含两类角色分层,常规角色层次和有限角色层次。常规角色层次在角色分层中支持任意偏序关系,可以实现不同角色间的许可集和用户集从属关系的多重继承;有限角色层次强加限制了角色分层系行为,使系统中分层技术被限制在简单的逻辑结构中,有利于增强系统授权的安全性。
2 角色控制的权责分割
权责分割是系统设计中常用的一条安全法则,主要用于加强有利害关系策略的冲突性。该冲突性允许一个用户可以同时获得两个(或以上)的冲突角色,通过角色分层和个性化角色集为高层次的组织安全策略提供约束机制。为了便于权限管理系统的设计,参照RBAC标准的有关内容,我们将权责分割分为两大类:静态权责分割和动态权责分割。
2.1静态权责分割
静态权责分割(SSD)属于静态约束,在角色集定义时就实施访问控制约束。SSD定义了一个包含两个(或以上)角色的集合,为角色集指定限制条件,限制用户指派关系。SSD还通过基数对策略违例做出了规定:如果系统的局部组织中有一个由5个角色组成的角色集,则在授权过程中仅能有不超过4个的用户角色数目。
2.2 动态权责分割
动态权责分割(DSD)属于动态约束,在激活角色时才实施访问控制约束。DSD限制了对用户有效的.许可,为每个用户的最小权限提供了不同的扩展支持。我们定义DSD(×N)是动态权责分割中(rs,n)对的集合,其中rs代表角色集,n代表基数。我们认为在任意一个(rs,n)DSD的情况下,不存在用户会话能从rs中同时获得大于等于n的角色个数。该结论证明如下:
设t是rs的一个子集,据上述定义可得到:
SSD能够在用户指派角色时,解决潜在的利害冲突;DSD则是在角色激活时,解决产生的策略冲突。
3 基于角色的访问控制应用
在权限管理系统中,SSD用于用例设计,主要是对访问控制核心角色的定义;DSD用于访问控制,主要是对权限管理核心类的描述。
3.1系统用例设计
在采用RBAC模型的权限管理系统中,角色功能图的用例框图如图2所示。
该用例框图中的角色控制执行者主要有3个:安全管理员、用户和角色领域工程师。角色领域工程师是权限管理系统的核心角色,主要用于描述权限集,实施角色分层和附加约束操作。安全管理员管理负责管理基于角色的权限系统,为用户授权。用户被定义为一个真实的人或者一个外部的系统,他可以通过角色策略,要求系统执行针对某个对象的某种操作。
3.2 访问控制模块
访问控制模块是整个权限管理系统的核心部分,它的主要功能是用来验证用户或其角色是否具有访问权限。对外部系统而言,访问控制模块采用黑盒设计,通过返回值确定允许或拒绝用户的操作申请。此模块的流程图如图3所示,从建立权限与资源的对应关系入手,逐步实现角色实体与权限实体之间调用权限操作,从而建立权限实体与层次结构的关联。
访问控制模块设计中的主要成员类有User、Session、Role、Permission、Constrain、Object,其中Role是核心类用作主要类的连接。
User是一个接口,它包括RBAC 控制模块中不同功能的实现类,每一个User对应一个Session。在用户Logon成功后Session由系统提供,当会话时钟超时系统会要求用户重新进行身份验证。每一个Logon用户可以在自己的Session中激活符合条件的角色,在激活角色之前系统先要调用Constrain检查,确认用户角色之间是否存在冲突。Role类的设计也和Session一样使用了多例设计模式,其目的同样是为了控制被激活角色的数量。
3.3角色管理实现
权限管理系
文档评论(0)