`
kennyluo
  • 浏览: 81349 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

基于角色管理的系统访问控制(1)

阅读更多
安全管理系统核心思想是在基于角色控制思想的基础上提取改进而来的,本文讲述的功能模型能较好�鹤悴�品开发人员提出的系统访问控制需求。

 

引言(Introduction)

1.1. 关键词定义(Definitions)

有关定义说明如下:

安全管理:计算机技术安全管理的范围很广,可以包括网络安全性、数据安全性、操作系统安全性以及应用程序安全性等。很多方面的安全性管理大都已经有成熟的产品了,我们只需根据自己需要有选择性的使用就可达到自己的目的了。本文中有关关涉及"安全管理"一词均只针对本公司推出的应用中有关对象与数据而言范围有限。

主体:即可以象应用系统发出应用请求任何实体,包括各种用户、其它与本系统有接口的应用程序、非法入侵者。系统必须具有识别主体的能力,接口实际上也是由用户登记的,故主要问题是校验用户身份的合法性,系统应建立用户鉴别机构以验证用户身份。

用户:用户就是一个可以独立访问计算机系统中的数据或者用数据表示的其它资源的主体,我们用USERS表示一个用户集合。用户在一般情况下是指人。

权限:权限是对计算机系统中的数据或者用数据表示的其它资源进行访问的许可。我们用PERMISSION表示一个权限集合。可分为对象访问控制和数据访问控制两种。

对象访问控制:用一个二元组来表示:(控制对象,访问类型)。其中的控制对象表示系统中一切需要进行访问控制的资源。我们将引入一套完整的资源表示方法来对系统中出现的各类资源进行定义和引用(详见后述)。访问类型是指对于相应的受控对象的访问控制,如:读取、修改、删除等等。

数据访问控制:如果不对数据访问加以控制,系统的安全性是得不到保证的,容易发生数据泄密事件。所以在权限中必须对对象可访问的数据进行按不同的等级给予加密保护。我们同样用一个二元组来表示:(控制对象,谓词)。

权限最终可以组合成如下形式:(控制对象,访问类型,谓词)。

角色:角色是指一个组织或任务中的工作或位置,它代表了一种资格、权利和责任。我们用ROLES表示一个角色集合。

用户委派:用户委派是USERS与ROLES之间的一个二元关系,我们用(u,r)来表示用户u被委派了一个角色r。

权限配置:权限配置是ROLES与PERMISSION之间的一个二元关系,我们用(r,p)来表示角色r拥有一个权限p。

 

需求分析

根据我们在本行业多年积累下来的经验,参考了其它同行的成功经验整合了先进的思想,我们有能力为我们自己的应用系统开发一套功能完善而且又灵活方便的安全管理系统。使开发人员从权限管理重复劳动的负担中解放出来,专心致力于应用程序的功能上的开发。 通过收集公司从事MIS项目开发经验丰富的软件工程师对在各种情况下的对应系统的安性提出的需求做出了如下的总结。

本系统在安全管理方面要考虑如下几个方面问题。

2.1. 角色与用户

需求:

角色由用户(这个用户与下一行的"用户"应该不是同一个定义,"客户"好像合适一些?不错,此处的用户确是有些偏于指向我们合同意义的客户,但是我认为与下面定义的"用户"不存在什么本质上的区别,因为客户最终也是以在系统中登记的用户身份来使用本系统,用户所能完成的功能也就是客户的需求。两者之间的细微区别读者可自己通过上下文加区分)自行定义,根据业务岗位不同可以定义多个角色。

登录系统,首先需要向系统申请注册,同一个用户只能在系统中登记一次。

用户是登录系统的楔子,角色是用户权限的基础。用户可以扮演多个角色。

将某一角色授予某一用户时,权限不能超越该角色权限,但可以小于该角色权限。

用户口令与数据库访问口令加密

分析说明

  • 每个用户在系统中由一个唯的USERID标识。
  • 用户通过系统登录界面登录系统,系统通过加密算法验证用户身份和判断用户是否已经登录系统。如果登录成功通知Application preference service和安全管理系统保存用户登录信息。
  • 角色由用户根据自己的设想的组织机构进行添加设置,提供一个专门的模块用来设置组织机构,用户通过组织机构(定义?部门机构还是后面提到的"机构是实现和执行各种策略的功能的集合")方便地进行角色管理。例如:用户可以通过部门机构来进行角色的管理,部门采用编号分层的方式,编号的每两位为一个层次。例如一级部门编号为两位,二级部门编号为四位依此类推下去直到将全厂部门机构建立树状结构图。这类数据仅为方便用户管理角色而存在,在系统的其他方面不存在任何意义。
  • 每个角色在系统中也是由一个唯一角色编号来标识,同时必须保存用户所设置的机构信息,一般来说每个角色只需要保存自己所在机构的代码即可。

 

2.2. 菜单控制

需求

此菜单乃系统业务功能菜单。由业务功能模块列表和用户菜单定制共同组成。每个用户可以拥有自己的菜单,也可以直接采用角色缺省菜单(当用户同时充当多个角色并且权限重复时,重复的权限仅一次有效)

分析说明

  • 为了方便用户进行权限组织管理,需要在系统中建立一张业务功能模块列表,在用户界面上表示为树状分层结构。
  • 业务功能模块以用户定制菜单来体现,仍然采用编号分层方式,编号的每两位为一个层次。并标明一个层次是子菜单还是业务模块,子菜单只有一种可否被访问的权限设置,业务模块权限由系统管理员或授权用户进行设置。对每个业务模块设置它的对象控制、记录增删改控制和记录集控制。当用户拥有对业务模块的某一权限时,必需对处于它上级的子菜单有可被访问的权限。删除某一个级子菜单时将提示用户他的下级菜单与功能模块都将被删除掉。
  • 当用户同时充当多个角色并且权限重复时,重复的权限仅一次有效,用户拥有他充当的所有角色的权限的并集。
  • 用户与角色拥有的系统权限查询时以业务功能模块列表的树状结构显示出来。

 

2.3. 对象控制

需求

对象是指应用系统窗口中的可视对象,如菜单项、按钮、下拉列表框、数据编辑控件及数据编辑控件的字段等。对象控制通过角色与用户授权来实现。

对象控制包括对对象属性的控制可对数据编辑控件中的数据记录的维护权限:

  • 对象属性:使能/禁止、可视/屏蔽
  • 记录维护:增加、删除、修改的组合

 

分析说明

  • 将每个业务模块可进行属性设置的对象由程序员事先设定或由售后技术支持工程师指导用户加入。
  • 在系统管理员或授权用户进行设置业务模块的每种权限时,设置用户在拥有该业务模块这种权限时的对象属性。没有设置属性的对象在保存对象信息的时候,用户权限信息中不被保存。

 

2.4. 记录集控制

需求

记录集的控制是通过条件设置来实现,因此,需要控制记录集的数据库表需要设置专门的记录集筛选字段,而筛选条件由用户根据岗位自进定义,建立过滤表,统一管理。

分析说明

  1. 在对用户设置业务模块权限时,同时在过滤表中设置本模块的数据编辑控件的数据筛选条件,筛选条件是组成SQL语句的WHERE条件子句迫使当前访问的模块根据筛选条件对数据编辑控件的SQL语句进行重组,并检索数据。
  2. 当存在需要从数据库中多个表取数据的情况时,过滤表中存在多条记录,每一条记录记录一个数据编辑控件取数的筛选条件。
  3. SQL语句的WHERE子句的生成与校验可以通过的SQL语法分析服务,利用对象所提供的函数分析SQL语句,截取WHERE条件子句,校验新组合的SQL语句的合法性。

 

2.5. 权限分布管理

需求

上述提到的权限管理内容应该满足既可集中管理,也可分散管理的目标。

分析说明

  1. 权限管理由系统管理员集中管理,系统管理员工作负担过大,难对所有岗位的分工有全面和具体的了解,对权限作出标准细致的划分,对于大型的管理系统适合于把一部分设置权限的交由一些比较高级的用户来进行,有利于各岗位细致协调的工作。这就是权限的分散管理。
  2. 要实现权限的分散管理,就须对授权模块进行一些授权管理,这要求整个系统的授权安全管理工作要做到细致,不要出现权限的漏洞使一些高级用户拥有过大的权限。

 

分享到:
评论

相关推荐

    基于角色的访问控制模型(RBAC)

    《信息安全技术 鉴别与授权 基于角色的访问控制模型与管理规范》这类标准文档就为此目的而制定,旨在提供一个可组合、分层次的RBAC模型,以提升系统的管理和安全性。 总之,RBAC模型通过角色为中心的权限管理,有效...

    基于角色管理的系统访问控制

    基于角色的系统访问控制(Role-Based Access Control, RBAC)是一种有效的权限管理机制,它将用户的权限与其在组织中的角色关联起来,简化了权限分配和管理。以下是对该主题的详细说明: 1. **概念定义**: - **...

    基于角色管理的系统访问控制.pdf

    《基于角色管理的系统访问控制》 在信息技术领域,系统访问控制是确保信息安全的重要机制,而基于角色的访问控制(Role-Based Access Control, RBAC)则是一种被广泛采纳的策略。这种策略通过定义角色和权限,实现...

    安全管理系统中基于角色访问控制的实施方法.rar_基于角色_访问控制_访问控制系统

    在构建安全管理系统时,基于角色的访问控制(Role-Based Access Control, RBAC)是一种常见的策略,它有效地管理和规范了用户对系统资源的访问权限。RBAC模型的核心思想是通过角色来间接控制用户的权限,而非直接...

    基于角色的访问控制综述.pdf

    总之,基于角色的访问控制作为一种先进的访问控制模型,在保障信息安全的同时,也极大地提升了系统的灵活性和可管理性。未来,随着技术的发展,RBAC模型将进一步完善,以更好地满足日益复杂的安全需求。

    Oracle系统中基于角色管理的访问控制模型.pdf

    图2则进一步描绘了Oracle系统中基于角色管理的访问控制模型,角色作为中心,通过权限数据与系统服务连接,同时通过用户委派与用户类建立联系。用户类包含用户或用户组的信息,如用户名和密码。角色类可以有多种关联...

    基于角色访问控制

    基于角色的访问控制(RBAC)是一种流行的权限管理和安全模型,它将权限与角色关联,而非直接与个体用户关联。RBAC模型的主要优点包括易管理性、灵活性和安全性。 ### RBAC模型的组件 1. **用户(User)**:系统的...

    基于角色权限访问控制管理系统

    (1)能够对角色信息进行添加、修改、删除、浏览等操作; (2)能够对权限信息进行添加、删除、修改和查询; (3)实现对角色的权限分配与管理; (4)系统操作简单,方便实用。 数据库在database文件夹中!

    基于角色的访问控制技术(RBAC)

    基于角色的访问控制技术(Role-Based Access Control, RBAC)是一种有效的权限管理机制,它旨在规范用户对系统资源的访问,防止未经授权的访问和潜在的安全威胁。与传统的自主访问控制(DAC)和强制访问控制(MAC)...

    基于角色访问控制的UML表示

    在现代企业环境中,基于角色的访问控制(Role-Based Access Control,简称RBAC)作为一种有效的安全管理手段,被广泛应用于各种软件系统中。RBAC的核心理念是将权限与角色绑定,再将角色赋予用户,以此来实现权限...

    ThinkPHP基于角色的访问控制

    ThinkPHP,作为国内广泛使用的PHP框架,提供了强大的权限管理功能,特别是基于角色的访问控制(Role-Based Access Control,简称RBAC)。本文将深入解析如何在ThinkPHP中实现RBAC,以及其相关的核心概念和步骤。 **...

    一种基于角色的数据库访问控制系统设计

    针对流行的SQLSevrer数据库管理系统,提出了一种基于角色的数据库访问控制系统方案,该方案将访问控制嵌入到服务器端的访问代理程序中,实现数据库资源的细粒度访问控制。硕士论文,需下载CAJ阅读器。

    基于角色的访问控制(rbac)

    基于角色的访问控制(Role-Based Access Control,简称RBAC)是一种广泛应用于现代企业级系统权限管理的模型。这种模型的核心思想是将用户与权限的关系通过角色进行间接关联,用户通过扮演不同的角色来获取相应的...

    论文研究-一种基于角色的访问控制模型及其实现.pdf

    其中,基于角色的访问控制(RBAC)模型是一种被广泛研究和应用的安全访问控制方法。NIST(美国国家标准与技术研究院)对RBAC模型进行了标准化,并提出了若干个不同的RBAC模型,包括核心RBAC、层次RBAC和受限RBAC等。...

    基于角色访问控制结构的煤矿企业设备管理系统设计

    近年来,随着网络技术的迅速...文章结合南通柳新煤矿的实际,建立了基于角色访问控制(RBAC)结构的设备管理系统,按照多层体系架构的理念构建系统,有效地解决了分级设备管理、查询和统计数据等问题,提高了设备管理的效率。

    一种基于角色访问控制策略的扩展模型.pdf

    基于角色的访问控制模型可以简化权限管理,因为随着企业规模的扩大和业务的复杂化,直接对用户进行权限分配将变得异常复杂和繁琐。RBAC通过角色的引入,将权限与角色关联,而用户与角色关联,从而实现了对用户权限的...

    基于角色的权限控制

    在IT行业中,基于角色的权限控制(Role-Based Access Control,简称RBAC)是一种常见的权限管理系统设计模式,用于高效、安全地管理用户访问权限。本文将深入探讨RBAC模型的原理、核心概念以及如何实现。 首先,...

Global site tag (gtag.js) - Google Analytics