暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

基于DM数据库用户鉴权管理模型的分析

原创 dm0340 2020-09-16
2285

摘 要

基于DM数据库安全管理,分析了基于角色访问控制(RBAC)的权限管理模型与企业的实际业务特点,在DM-RBAC模型中加入了用户增加与屏蔽权限的机制,使得权限管理更加灵活具有可扩展性。
关键词: RBAC 用户鉴权 DM数据库

1. 引言

随着企业客户数量规模的增加以及客户所购买的服务规模的扩大,在企业的数据库工具权限管理中,如何确定不同客户管理和使用资源的范围,如何对客户所拥有的权限与相应资源进行匹配查询以完成用户对相应资源权限的控制显得非常重要。

2. 相关工作

2.1 DM数据库安全管理

DM的安全管理就是为保护存储在DM数据库中的各类敏感数据的机密性、完整性和可用性提供必要的技术手段,防止对这些数据的非授权泄露、修改和破坏,并保证被授权用户能按其授权范围访问所需要的数据。
DM作为安全数据库,提供了用户标识与鉴别、自主访问控制、强制访问控制等各种安全功能。此处针对访问控制策略进行探讨提出一种改进的权限管理模型适用于数据库权限管理。

2.2 RBAC模型

基于角色的访问控制RBAC(role-based access control)作为访问控制的理想候选,以其灵活性、方便性和安全性在许多系统中得到普遍应用。
RBAC96模型分4个层次,由简单到复杂依次为到RBAC0,RBAC1,RBAC2和RBAC3。其中RBAC0是基本模型,定义了实体集User(用户集)、Role(角色集)、Privilege(权限集)、Session(会话集),用户角色分配关系UA U×R,权限角色分配关系PA P×R,会话到用户的映射user:S→U,以及会话到角色的映射role:S→2^R。RBAC1模型包含RBAC0并定义了角色继承层次RH R×R,并将会话到角色的映射关系修改为role:S { r | ( r′≥r ) [ user(s), r′∈UA ] }。RBAC2模型包含RBAC0,定义了约束限制,包括静态限制与动态限制。RBAC3包含RBAC1和RBAC2。如图1 给出了RBAC3 模型的图示。
图1 RBAC3:完整的RBAC96模型RBAC模型图.jpg

3. DM用户鉴权模型设计

为DM数据库考虑一种扩展性更高的数据库权限访问控制模式DM-RBAC(DM role-based access control),基于达DM数据库所提供的自主访问控制DAC(discretionary access control)和强制访问控制MAC(mandatory access control)。
DM用户鉴权数据库E-R模型如图2所示,图中给出了一些关键属性:
图2 DM-RBAC用户鉴权数据库E-R模型DMRBAC.jpg

在模型中一共包括3张实体表格与4张关联表格,用于完成功能权限的设计。实体表为用户表、角色表、权限表;关联表为用户角色关联表、角色权限关联表、用户权限增加关联表、用户权限屏蔽关联表。其中用户角色关联表记录的是用户表与角色表之间多对多的关联关系,角色权限关联表记录的是角色表与权限表之间多对多的关联关系,用户权限增加关联表与用户权限屏蔽关联表中所记录的为用户表与权限表之间多对多的关联关系。

(1). 用户权限增加关联表与用户权限屏蔽关联表的设计为了满足功能权限灵活控制的需求。在提供计算资源的企业业务系统中,企业客户数量与计算资源提供的功能可能不断更新,权限也在随之变化;同时,企业客户由于工作或业务的需求,其所拥有的计算资源也会在不断更新,权限也会发生相应的变化。例如:用户A需临时拥有对某资源B的查看权限,而其所拥有的角色未包含对此资源B的查看权限,则需在用户权限增加关联表中将此权限加入;用户A的角色B对某资源C拥有查看(P1)与修改(P2)权限,但是由于业务需要需收回用户A对资源C的修改(P2)权限,但是拥有角色B的用户D、E、F仍然需要保留对资源C的修改(P2)权限,因此只需屏蔽用户A对资源C的修改(P2)权限,则需在用户权限屏蔽表中将此权限加入。

在用户鉴权数据库中,用户权限屏蔽关联表中所存储的用户和权限的信息与用户权限增加关联表中所存储的用户和权限的信息无重复情况;因为用户增加的权限为除了用户对应角色所拥有的权限之外新加的,而屏蔽的用户权限为角色所拥有的权限中的权限。即用户角色关联关系记为UA U×R,角色权限关联关系PA P×R,用户权限增加关联表中的权限Padd PA,用户权限屏蔽关联表中的权限Pblock PA,因此两表中的权限信息无重复出现的情况。

(2). 在进行用户权限的计算时。第一,根据用户角色关联表与角色权限关联表选出用户所拥有的角色的权限集合一;第二,根据用户权限增加关联表选出用户额外增加的权限集合二,对集合一与集合二取并集得到集合三;第三,根据用户权限屏蔽关联表选出屏蔽的权限集合四,对集合三与集合四取差集所得到的集合即为用户所拥有的权限集合。
使用此设计方式可以使数据库对象权限在用户与角色层面得到更灵活的控制。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论