基于角色的访问控制模型(RBAC)——学习笔记

基于角色的访问控制模型(RBAC),英文全称Role-Base Access Control,是20世纪90年代推出的一种访问控制模型,模型通过角色(Role)将用户(User)和访问许可(Permissions)联系起来,实现主题(用户)对客体(各种资源)的访问控制。

RBAC支持公认的安全原则:最小特权原则、职责分离原则和数据抽象原则。

RBAC最被公认的是RBAC96模型族,RBAC0-RBAC3

RBAC0 :实现了RBAC的最低要求;

RBAC1 :在RBAC0 基础上添加角色的层级关系;

RBAC2:在RBAC0 基础上,对模型各个元素及它们之间的关系,添加了一些约束;

RBAC3 :统一了RBAC1与RBAC2,虽然两者之间存在一定的冲突。

下图说明了各模型之间的关系。

image

下面是RBAC3的关系图:

image

有图可见RBAC分为用户、角色、许可权、会话等元素:

1、一个用户可以对应多个角色,一个角色也可以分配给多个用户;

2、一个角色可以有多个许可权,一种许可权则只与一个角色对应;

3、用户可以发起会话,会话中可以**多个角色来获取许可权;

4、PH是RBAC1 中添加的内容,角色等级责任和权力可以继承;

5、通过私有角色实现部分责任和权力的继承;

6、限制是RBAC2 中增加的内容,这些限制包括互斥的角色、角色对应用户的数量、先觉角色、用户在会话中**的角色数、一个用户同时的会话数等;

7、RBAC2 可以表达RBAC1 的意义,但比较难于理解;

8、上图表示了完整的RBAC3 ,实现中注意RBAC2 和RBAC1 冲突的一些问题;

9、用户、角色、许可权全部由超级管理员创建与指派;

可以使用相同的模型构造RBAC的管理模型,也就是RBAC97模型族;

1、RBAC97的关系图和上面的一样,只是由AR(管理角色)替代了R(角色),AP(管理许可权)替代了P(许可权),APA(管理许可权指派)替代了PA(许可权指派);

2、AR与R没有交集,AP与P没有交集;

2、通常管理模型应选择较简单RBAC0

RBAC的优点:

1、符合各类组织的安全要求,应该较为广泛;

2、利与现有计算机技术实现;

3、概念上比较贴近现实,易于理解;

RBAC的不足:

1、不提供信息流的访问控制机制;

2、没有提供基于顺序的访问控制机制;

3、一些动态的管理,需要扩展模型才能实现。

 

参考资料:

http://www.docin.com/p-12187119.html

http://baike.baidu.com/view/73432.htm

http://blog.csdn.net/chjttony/article/details/6229078

转载于:https://www.cnblogs.com/zdy_bit/archive/2012/08/10/2632044.html