1)基于角色的访问控制模型的构成
迄今为止,已经讨论和发展了四种基于角色的访问控制模型,下图给出了它们之间的相互关系。RBACO是基本模型,规定了所有RBAC系统所必须的最小需求。RBAC1在RBACO 的基础上增加了角色等级的概念。RBAC2则在RBACO的基础上增加了约束。RBAC3包含了RBAC1和RBAC2,也间接包含了RBACO。
RBACO
RBACO由四个基本要素构成,即用户(U)、角色(R)、会话(S)和权限(P)。用户为系统的使用者;角色是根据系统不同工作岗位需求而设置的;权限是系统中所有访问权限的集合;会话是系统对用户一次请求的执行,每个会话由一个用户建立。
在RBACO中,用户与角色、角色与许可均为多对多的关系,用户对权限的执行必须通过角色来关联,以实现对信息资源访问的控制。用户与会话是一对多的关系,会话是一个用户对多个角色的映射,即一个用户激活某个角色子集。此时,用户的权限为激活的多个角色权限的并集。一个用户可以同时拥有多个会话,每个会话又具有不同的许可。
RBACO模型定义:
( 1)U表示用户集,R表示角色集,P表示权限集,S表示会话集; (2) PA s P×R,是权限到角色的多对多指派关系;
(3) UAcUxR,是用户到角色的多对多指派关系;
(4) user:S_U,是会话到用户的映射函数,表示创建会话的用户;
(5) roles:S_2R,是会话到角色子集的映射函数,roles(si)表示会话s;对应的角色集合roles(si)∈(rl(user(si),r) ∈UA).;
(6)会话si具有的权限集P。i=U,,∈,。l。。(。i)(pl (p,r)∈PA).