软件功能权限设计介绍
来源:广州软件开发 编辑:广州软件开发公司 日期:2020-04-21
本文会经过三部分对权限设计进行描绘,榜首部分是理论部分;第二部分会经过几个故事对RABC模型包含的四个主要部件模型进行阐明;第三部分为常见问题的汇总及相应的解决办法。
因为事务需求,最近接触到了关于权限设计的一些东西,也就有了自己的一些总结和考虑,在此和咱们进行探讨。
一、名词解释
在开端介绍相关理论之前,先解释下本文会用到的一些名词:
用户:指使用产品的人,有的当地也叫主体;
权限:是指在特定的情况下的一个或一组操作,如某司内部体系的人员办理中,添加人员;
权限组:一组权限的调集;
人物:权限调集的概念,如信息办理员;
人物组:一组人物的调集,如信息办理员1和信息办理员2调集为办理员;
资源:资源和权限比较难以区别,在此举比如阐明,如某司内部体系的人员办理页面;
特点:特点和特点值相对应,如信息办理员拜访人员办理,特点值为:1(是),˙这个比如中,“拜访人员办理”为特点,1为特点值;
主体:通常指用户,是拜访操作的主动发起者,它是体系中信息流的发动者,可以使信息流在实体之间活动。
客体:通常是指信息的载体或从其他主体或客体接纳信息的实体。
二、常见的权限操控模型
权限设计,相对于其他的功能设计,有更为成熟的可学习的模型,各位可根据产品事务的需求进行选用,也可对某一个模型进行简化或许延伸。关于理论部分的材料收拾于维基百科。
1. 自主拜访操控(DAC)
中心为用户可将自己拥有的权限分配给其他人。
长处:用户可根据需求自行分配自己的权限。
缺点:所有用户的权限不能一致办理,用户和用户的权限比较涣散,后期调整只能单个进行调整,不易保护
2. 强制拜访操控(MAC)
经过无法回避的拜访束缚来阻挠直接或间接地不合法入侵。如主体和客体都有固定的安全特点,在每次拜访发生时,体系检测安全特点以便确认一个用户是否有权拜访该文件。当用户的安全特点值大于等于客体的安全特点值时,客体就可以被拜访。强制拜访操控多应用于对安全性要求比较高的体系,如多级安全军事体系;
3. 根据人物的权限办理(RBAC)
这个模型咱们见的会比较多,模型根底便是用户和人物,人物和权限做多对多的对应。标准的RBAC模型包含四个部件模型,分别为基本模型RABC0、人物分级模型RABC1、人物束缚模型RABC2、一致模型RABC3。
RABC1(人物分级模型)为引入人物间的承继联系,人物承继分为一般承继联系、受限承继联系,相较于一般承继联系,受限承继联系要求人物承继联系是一个树结构。
RABC2(人物束缚模型)引入了人物间的束缚联系,主要束缚规则包含:人物间的互斥联系,在处理用户和这些人物之间的联系时,包含静态别离和动态别离,静态别离指互斥的人物不能一起赋予同一个用户;动态别离指用户不能一起操作两个互斥的人物进行登录。
RABC3(一致模型)一起包含了1和2的特性。
长处:在产品和数据设计层面,有更好的扩展性,可操控到恣意的粒度。
4. 根据特点的拜访操控(ABAC)
这个模型我研讨了半响,才略微明白一些。这里只能粗浅的描绘一下模型理论:
主体拜访客体时,自己是带有特点的,例如自己的人物、职位等;客体自身也是有特点的,如人物、区域,主体在拜访客体时,经过第三方特点战略,判别主体的具体权限。
小结:以上描绘了在本系列中会用到的关键性词汇,接着描绘了常见的一些权限操控的基本模型,经过对权限设计根底理论的理解,掌握用户、权限、人物的理论精髓,根据产品事务的需求是可以延伸出来很多不同的权限操控模型的。
相关阅读