首页 理论教育经典访问控制模型在分布式数据库技术书中的应用

经典访问控制模型在分布式数据库技术书中的应用

【摘要】:经典访问控制模型可以分为三大类:自由裁量的访问控制,依赖于用户标识来制定访问决策;强制性的访问控制,依赖于集中授权的强制规则来制定访问决策;基于角色的访问控制。自由裁量的访问控制以识别请求访问用户和一组授权规则为基础。实现的样例有授权表和访问控制表等。图13.2按对象列表存储图13.3按用户列表存储●抽象:为了简化授权定义过程,自由裁量的访问控制支持用户组和对象类,它们可以分层组织。

经典访问控制模型可以分为三大类:自由裁量的访问控制(discretionary access control,DAC),依赖于用户标识来制定访问决策;强制性的访问控制(mandatory access control,MAC),依赖于集中授权的强制规则来制定访问决策;基于角色的访问控制(role-based access control,RBAC)。

自由裁量的访问控制以识别请求访问用户和一组授权规则为基础。一个授权是一个三元组(s,o,a),表示允许用户s在对象o上执行动作a。最早的模型称为访问矩阵模型,用S、O和A表示用户(s)、对象(o)和动作(a)集合。如果用一个二维矩阵来记录这个三元组不是很合理,原因是A的值是稀疏的。实现的样例有授权表和访问控制表等。

授权表(authorization table)是将每个非空A中的条目存放在表里,包含user、action和object三个属性。以用户、动作和对象为列的一张表如下。

访问控制表(access control list,ACL)则有多种实现形态。

按对象列表存储,即存储与每个对象相关的包含用户和施加在该对象的列表,如图13.2所示。

也可以按用户列表存储,即用户对数据对象拥有的权利,如图13.3所示。

访问矩阵模型里,自由裁量的访问控制有了演变,可提供如下特征的支持。

●条件:为了让授权有效,需要满足一些限制,现在的访问控制系统允许有条件授权。

(www.chuimin.cn)

图13.2 按对象列表存储

图13.3 按用户列表存储

●抽象:为了简化授权定义过程,自由裁量的访问控制支持用户组和对象类,它们可以分层组织。按照不同的传播策略,授权可以以抽象形态传递给其下属所有成员。

例外:抽象的定义自然引起授权定义的例外支持。例如,允许某个组里除A以外的所有用户访问某类数据,或者除某个/些数据对象以外允许访问某类数据。

值得注意的是,引入正面授权和负面授权会产生两个问题。①不一致性:分层体系里的某个元素得到彼此冲突的授权,即传递过来的某个授权包含自己,另一个授权又把自己排除在外;②不完整性:有的元素既未得到授权也未被排除在授权之外,即属于未知状态。

例如,用户A既是教师也是在职研究生,在教师分层体系和学生分层体系里都有A的出现。如果教师和学生层次都得到对某个数据的授权,而A在教师体系被排除在外,则在学生体系里获得授权。这样,A就获得了彼此矛盾的授权。

不完整性问题常使用默认策略来解决。①开放型:分层体系中的未知元素就意味着允许访问;②封闭性:分层体系中的未知元素就意味着拒绝访问。