基于角色的访问控制(RBAC)研究与应用
基于角色的强制访问控制模型的研究与应用

基于角色的强制访问控制模型的研究与应用随着信息技术的发展,信息系统的安全性已成为政府部门和企业需要关注的重要课题。
信息安全管理体系已成为有效控制信息系统安全性、防止信息泄露的有力工具。
强制访问控制模型是信息安全管理体系的重要组成部分,它是根据资源(包括硬件和软件)的安全性要求,以及用户的不同角色,对整个系统的访问授权活动进行控制的一种模型。
本文的主要内容是介绍基于角色的强制访问控制模型的具体实现方法,并分析其实际应用中碰到的技术问题和拓展性能。
首先,介绍基于角色的强制访问控制模型的基本原理,包括访问控制规则集合,策略存储结构,实现机制,安全管理等功能模块;其次,具体分析基于角色的强制访问控制模型的实现过程与技术细节,强调策略表及策略计算的实现;最后,根据实际应用情况,分析角色的延展性与访问权限实现的通用性,同时介绍RBAC(Role-Based Access Control)安全策略的实践应用。
首先,基于角色的强制访问控制模型是基于特定安全性模型而设计的,它要求实现一套统一的访问控制模型,用于控制不同操作者对公共资源的使用。
其中涉及到访问控制规则集合,其中角色就是一个重要的规则元素,它表示操作者的不同身份角色,从而可以分配权限和授予访问资源的策略。
因此,访问控制模型就是一种以“资源-角色-操作-权限”为核心的安全管理规范。
其次,基于角色的强制访问控制模型的具体实现需要建立一套策略存储结构,来保存访问控制规则。
常用的策略存储结构分为策略表和策略计算两部分,其中策略表保存具体的访问控制规则,如用户与角色之间的关联关系,角色与资源之间的关联关系,以及角色与具体权限之间的关联关系;而策略计算部分主要功能是根据实际用户的身份以及当前访问资源的情况,计算其可以访问的权限。
最后,基于角色的强制访问控制模型的实际应用中存在着一些优化问题。
首先,角色的重复定义会增加系统的管理复杂度,同时也会增加认证授权规则的定义;其次,由于系统中角色的繁多性,它需要有足够的延展性以记录各种不同角色;最后,由于需要考虑到复杂性,因此需要有足够的通用性,使得访问权限实现能够单一化。
基于角色的访问控制在教务系统中的应用

基于角色的访问控制在教务系统中的应用摘要本文通过对rbac96的分析提出扩展的rbac模型(erbac),并且在高校教务系统中加以应用,验证了其有效性和实用性。
关键词 rbac;角色;访问控制中图分类号tp39 文献标识码a 文章编号 1674-6708(2011)54-0183-02传统的高校教务系统的访问控制模块通常将用户和权限直接关联,这样的授权模型不方便系统的扩展,也不够灵活,当组织规模不断扩大、结构变换频繁时,就出现了大量繁琐的授权变化,权限管理的复杂度呈现指数增长的态势,而基于角色的访问控制(role-based access control,以下简称rbac)模型能够较好的解决这个问题。
1 rbac概述rbac模型引入了“角色”的概念,使得操作权限不直接授予用户,而是通过建立“用户→角色→权限”的映射关系,来灵活的表征组织内部以及用户与权限间的关系。
现阶段rbac的研究均以rbac96为基础,rbac96[1]由ravi s.sandhu教授及其领导的乔治梅森大学信息安全技术实验室(list)提出,主要由rbac0、rbac1、rbac2和rbac3组成,如图1所示。
图 1 rbac96(包括rbac0、rbac1、rbac2和rbac3)rbac0是rbac96模型的核心,主要包括u(用户集)、r(角色集)、p(权限集)和s(会话集),p由ops(操作集)和obs(客体集)组成。
rbac1在rbac0的基础上增加了rh(角色分层)概念,使用偏序来描述这种角色继承的关系。
rbac2在rbac0的基础上引入c(约束集)来决定对rbac0各组件的操作是否被接受,只有被接受的操作才被允许。
rbac3综合了rbac1和rbac2,自然也包括了rbac0。
rbac96是一个基本模型,属于中性策略,这就决定了在应用中,可以根据实际情况对rbac96进行扩展。
2 扩展的rbac模型本文根据我院教务系统的访问控制的实际需求,对rbac96进行扩展,增加了“属性”的概念,形成了一个扩展的rbac模型,简称erbac模型。
rbac具体案例

rbac具体案例RBAC(Role-Based Access Control)是一种广泛应用于信息系统安全领域的访问控制模型,它基于角色的概念,并通过将用户分配给角色来管理和控制访问权限。
下面将列举10个具体的RBAC案例,以展示其在不同领域中的应用。
1. 公司员工权限管理:在一个大型企业中,RBAC可以用于管理员工在内部系统中的访问权限。
不同的角色可以包括普通员工、部门经理、高级管理人员等,每个角色具有不同的权限,以保证只有具备相应权限的人员可以访问特定的信息和功能。
2. 医院信息系统权限控制:在医院的信息系统中,RBAC可以用于管理医生、护士、行政人员等角色的访问权限。
通过RBAC模型,可以确保只有经过授权的人员可以访问患者的医疗记录和其他敏感信息。
3. 银行系统权限管理:在银行系统中,RBAC可以用于管理不同角色的员工对客户账户的访问权限。
例如,柜台职员可能只能查询账户余额和交易记录,而风险控制人员可能具有更高级别的权限,可以进行账户冻结或调整额度等操作。
4. 学校教务系统权限控制:在学校的教务系统中,RBAC可以用于管理教师、学生、管理员等角色的访问权限。
教师可以查看和编辑学生成绩,学生可以查询自己的课程和成绩,管理员则具有更高级别的权限,可以管理教师和学生账号。
5. 航空公司乘客信息管理:在航空公司的系统中,RBAC可以用于管理不同角色的员工对乘客信息的访问权限。
例如,客服人员可能只能查看乘客的基本信息和航班预订记录,而安检人员可能具有更高级别的权限,可以访问乘客的身份证或护照信息。
6. 政府部门数据权限控制:在政府部门的数据管理系统中,RBAC 可以用于管理不同角色的员工对敏感数据的访问权限。
例如,税务局的工作人员可能只能查看纳税人的纳税记录,而审计人员可能具有更高级别的权限,可以查看纳税人的详细财务信息。
7. 社交媒体平台权限管理:在社交媒体平台中,RBAC可以用于管理不同类型用户的访问权限。
基于角色的访问控制框架的研究与实现

资源通常是应用相关的, 即资源属于某个应
102
微电子学与计算机
2005 年第 22 卷第 11 期
科技项目管理的RBAC--BLP模型设计与应用

科技项目管理的RBAC--BLP模型设计与应用科技项目管理的 RBACBLP 模型设计与应用在当今科技飞速发展的时代,科技项目管理的重要性日益凸显。
有效的项目管理不仅能够提高项目的成功率,还能够优化资源配置,确保项目按时、按质完成。
在众多的项目管理方法和模型中,基于角色的访问控制(RBAC)和贝尔拉帕杜拉模型(BLP)的结合为科技项目管理提供了一种全新的思路和解决方案。
一、RBAC 与 BLP 模型概述RBAC 模型是一种通过定义角色,并为角色分配相应权限来实现访问控制的方法。
在这种模型中,用户不是直接被赋予权限,而是通过被分配到特定的角色来获取权限。
这样的设计大大简化了权限管理的复杂性,提高了管理效率。
BLP 模型则是一种用于保护机密性的访问控制模型。
它基于安全级别和访问规则来控制主体对客体的访问,确保信息不会从高安全级别流向低安全级别,从而保证信息的保密性。
二、科技项目管理中的需求与挑战在科技项目管理中,涉及到众多的人员、资源和信息。
不同的人员在项目中扮演着不同的角色,需要访问不同的资源和信息。
同时,由于科技项目往往涉及到机密技术和敏感信息,如何保证这些信息的安全成为了一个重要的挑战。
例如,项目的研发人员需要访问相关的技术资料和实验数据,而项目的管理人员则需要了解项目的进展和预算情况。
此外,在项目合作中,可能会涉及到与外部合作伙伴的信息共享,如何在保证信息安全的前提下实现有效的合作也是一个需要解决的问题。
三、RBACBLP 模型在科技项目管理中的设计为了应对科技项目管理中的需求和挑战,我们可以将 RBAC 和 BLP 模型进行结合,设计出一种适用于科技项目管理的访问控制模型。
首先,根据科技项目的特点和需求,定义不同的角色,如项目经理、研发人员、测试人员、质量管理人员等。
每个角色都有其明确的职责和权限范围。
然后,为每个角色分配相应的安全级别。
例如,项目经理可能具有较高的安全级别,能够访问项目的所有信息;而研发人员则根据其参与的具体项目模块,被分配不同的安全级别,只能访问与其工作相关的部分信息。
rbac权限管理

rbac权限管理RBAC(基于角色的权限管理)是一种广泛使用的权限管理模型,通过将用户赋予特定角色,并基于角色来分配权限,提供了一种灵活、可扩展的方式来管理系统的访问控制。
本文将详细介绍RBAC的概念、原理、实施步骤以及其优点和应用。
RBAC的概念基于角色的权限管理(RBAC)是一种用于控制对系统资源的访问的方法。
它将用户分配到角色中,并为每个角色分配特定的权限。
用户通过角色来获得对资源的权限,而不是直接授权给个别用户。
这种方法可以减少管理的复杂性,提高系统的安全性。
RBAC的原理RBAC的原理可以分为三个基本要素:用户、角色和权限。
用户代表系统的最终用户,角色代表用户的职能或角色,权限代表用户在系统中具体拥有的操作或功能权限。
通过将用户分配到角色中,并为每个角色分配相应的权限,RBAC实现了权限与用户之间的隔离,提供了一种更加安全和可控的访问控制方式。
RBAC的实施步骤实施RBAC需要经过以下几个步骤:1. 需求分析:确定系统的访问控制需求,包括用户、角色和权限。
2. 角色设计:根据需求分析,设计符合系统特点的角色结构,并确定角色之间的层次关系。
3. 权限分配:为每个角色分配相应的权限,确保角色与权限的对应关系。
4. 用户分配:将用户分配到相应的角色中,使其获得相应的权限。
5. 审计与监控:定期对系统进行审计,确保权限分配的合理性和安全性。
RBAC的优点相比于传统的基于用户的权限管理模型,RBAC具有以下优点:1. 简化权限管理:通过将用户分配到角色中,可以减少权限管理的复杂性。
只需要管理角色与权限的对应关系,而无需对每个用户进行单独的授权。
2. 提高系统安全性:RBAC通过权限的分类和隔离,可以限制用户的访问范围,防止不必要的信息泄露和操作失误。
3. 可扩展性强:RBAC提供了灵活的角色和权限管理机制,可以根据系统的需求进行扩展和定制。
4. 降低管理成本:通过减少授权的复杂性和提供高效的权限管理机制,RBAC可以降低管理权限所需的成本和工作量。
基于角色访问控制的研究和应用
国家自然科学基金
基金号 :N .0 3 0 0 o 5 3 5 4
基于角色访 问控制的研究和应用
杨春丽 田盛丰
10 4 ,较
北京 交通 大学计算机学院 12 4
大 的 局 限性 ,进 而 出现 了基 于 角 色 的访 问 控
好地 解决 了安 全管 理 的复 杂性 问题 。将 基于角包的访 问控制应用于网络数据库 中,可以提高数据库的安全性 ,降低管 理复杂度。
RI R R ( 色继 承 ,偏 序关 { 角
用 户 ( :用 户是纯 粹的 用 户,用 U)
系 )
2、基 于角色 的访 问控 制
2. 基本概 念 1
户 U 与权 限 P没有直 接相 关的 关系 ,不 能 直接 对资 源进 行访 问 ,用 户如果 想 要
拥有对资源操作的权限,必须通过角色
R ;
基于 角色 的访 问控 制 模型 并没 有一 角色 ( :指定完成某些功能的抽 R) 个明确 的概 念。 目前研 究较深 入的有 j 茚 _ l | √ 象 ,描述 了被赋予此角色的用户所具有 美 国 G og sn大 学 的 R v 等 人 e re Mao ai 基 于 角 色 的 访 问控 制 ; 权 限 ; 职 权 分 离 的 权 力 ,是 用 户 和 权 限 之 间 的 接 I ; m l 和 NI T的 J h B r ly等为首的 S o n a ke 。 权限 ( ) P :系统中对一个或多个客 D A C 研究祖 。R avi等人 提 出了 1 引言 RB 9 AC 6和 RB 9 的 概念 模型 。 在 体进行访 问的操作,权限只有绑定在具 AC 7 随 着 网络的 迅速 发展 及 它在全 球 的 基于角色的访问控制 ( AB 模型中 , 体的实体上才具有意义,如某 个文件的 R C) 删除 。 广 泛 应 用 , 网络 的安 全 问 题 也 越 来 越 包括三个实体集: 用户 ( 、 U) 角色 ( 、 R) 用 户分 配 ( A) 权 限分 配 ( A) U 、 P : 引起 人 仃 的注 意 。 为 r保 l 】 止网络 的 安 权限 ( ) P ,此外还有会话 () s 。模型中 用 户分 配根 据用 户 在系统 的职 责 对应 的 伞 ,固 际化 标准 组 织 I 在 网络安 全 的 用 户指 的是 人 或者 是智 能体 ,是 进 行 S0 对 体 系的设 计标 准 中提 出 r 层次 型 的安全 操 作的 主体 。 角色是 信息 系统 的授 权单 角色,权限分 配根据角色按照职责 与 应的操作的关联 ,用户分配和 角色分配 体 系结 构,其 中定 义 了五大 网络安全 位 ,具有相关责任和权限,类似于企业 服 务 功 能 :身 份验 证 服 务 、访 问控 制 中的职 务 。权 限是对 系统 中 一 个或 多个 都是多对多的关系,用户通过 角色对相 服 务 、数 据保 密 服 务 、 数 据 完 整 性 服 对 象 的访 问方 式 。基 本 模 型如 图 1 。在 应 的资 源进 行访 问 ,不能 有超 过 角色权 务和不可 否认服 务。其 巾访 问控制服 基于角色的访问控制中,角色作为媒介 限的 越权 行 为 ; 角色 层次 ( ) R H :角色在 应 用 务 可 以 限 制 对 资 源 的 访 问 ,防 止非 法 把用户集和权限集联系起来,每个角色 中 实现 分 层 ,某 些 高 层 的 角 色 自然 拥 用户的 入 侵 。 都 拥有 对资源 进 行操 作的 权限 集合 ,用 传统的访问控制主要有强制型访问 户通过角色的间接的对 资源进行操 作。 有其低 层角色的权限 ,从而使得授权 控¥ MACMa d tr cesC nr1 1 J ( n a y A cs o t ) 系统通 过对 用 户所拥 有 的 角色的权 限 来 工 作 简 单 化 。 o o RBAc根据 用户的角色进行授 卡 义 和 自主 访 问控制 D (Dsrt n r 判 断此 用 户 可以访 问的资 源和 可进 行 的 AC i ei ay c o 和访 问控 制 ,使 对 用户的 授权 转 变为对 A cs C n r1。但是 MAc管理要 操 作 。 c es o to) 角色的授权 ,实现了用户与访 问权限的 求 过 于 严 格 ,主 要 应 用 于 多 层 次 安 全 在 图 l中 , 逻 辑 分离 ;降 低 r 权管 理 的 复 杂 度 , 授 级别的军事领域 。在 DA C 中 ,每 次 PA P R( 限 分 配 , 多对 多 的 权 减 少 了管 理 的 开销 。 从用户列表 中添力 和 删除用 户,或 者 关 系 ) } 】 2. 授 权 原 则 2 从资源列表中添加和删除资源时都需要 UA U R( 户 分 配 ,多对 多 的 用 系统 管理 员添加 和删 除相 关 的访 问控制 RH 表 ,使 得 管 理 比较 麻 烦 ,而 且 不 利 = r 灾 现 统 一 的 今 局 访 问控 制 。 于 是 出 现 了基 干 角 色 的 访 问 控 制
基于角色的访问控制技术在PDM系统中的应用
基于角色的访问控制技术在PDM系统中的应用摘要:随着网络管理系统在社会各领域应用的不断深入,加强系统访问控制的安全性,提高系统访问控制的灵活性,显得尤为重要。
对当前应用十分广泛的基于角色的访问控制的概念、核心思想、优点等进行了详细阐述,并以PDM系统为例,介绍了基于角色的访问控制(RBAC)技术的应用与实现。
关键词:角色;访问控制;权限;PDM0引言当今,企业生产、管理系统的复杂化、立体化对管理系统的安全性提出了新的、更高的要求,传统的安全系统访问控制已跟不上企业对用户管理系统功能需求的提升,因为传统的访问控制机制是对系统中的所有用户进行一维的权限管理,既不能有效适应安全性需求,也难以快速实现访问。
基于这种情况,业界人士进行了大量的研究和探索,推出了许多新的思路和技术方法,当前思想最成熟的当属基于角色的访问控制(RBAC)。
1几种主流访问控制的比较访问控制(Access Control)是ISO7498-2定义的5种基本安全服务之一。
在网络安全环境中,访问控制意味着限制对系统资源和数据的访问,它的目标在于阻止未授权使用资源(硬件或者软件)以及未授权访问或修改数据。
目前已经提出的针对信息系统的主流访问控制模型有三种,包括自主访问控制模型(DAC)、强制访问控制模型(MAC)和基于角色的访问控制模型(RBAC,Role Based Access Control)。
自主访问控制模型和强制访问控制模型是传统的访问控制手段,实现较简单,早期得到了广泛的应用。
这两种访问控制的系统,其安全性都取决于管理者对数据安全属性的分配情况,差别在于DAC将分配权交给数据的所有者来确定,MAC将分配权交给系统设计人员或系统管理员来确定。
前者自由度高,采用分布式管理,使用方便,但很容易导致安全漏洞;后者比较严格,但管理集中化,使用起来不是很方便。
在实际应用中,往往希望能够灵活使用这两种策略,希望将二者的优点结合起来,以满足日益复杂的访问控制需求。
基于角色的访问控制技术研究
基于角色的访问控制技术研究随着互联网的不断发展,人们对数据安全的的要求也越来越高。
而在数据安全中,访问控制是保障数据安全的一种重要手段。
访问控制是指通过授权的方式,对资源的访问进行限制,确保只有得到授权的用户才能访问。
而基于角色的访问控制技术是访问控制中较为流行的一种实现方式。
一、什么是基于角色的访问控制技术?基于角色的访问控制技术(Role-Based Access Control,简称RBAC)是指以角色为基础,对用户访问权限进行管理的访问控制技术。
在这种技术中,用户和权限之间的关系被抽象成为角色和权限之间的关系。
而用户只有拥有该角色,才拥有相应的访问权限。
基于角色的访问控制技术主要包括以下三个要素:用户、角色和权限。
其中,用户是指需要进行访问控制的对象,角色是指用户的一个抽象,而权限则是指用户进行操作所需的权限。
在RBAC中,用户与角色之间的映射是一对多的关系。
即一个用户可以拥有多个角色,而一个角色也可以被多个用户拥有。
而角色与权限之间的映射是一对多的关系。
即一个角色可以拥有多个权限,但一个权限只能归属于一个角色。
基于角色的访问控制技术的优点是具有灵活性、安全性高、易于维护等特点。
通过角色的管理,可以在一定程度上降低用户与权限之间的耦合度,减少访问控制的管理成本。
而在多个用户和权限交错的情况下,基于角色的访问控制技术更能实现细粒度的访问控制。
二、基于角色的访问控制技术的实现方式基于角色的访问控制技术的实现方式主要包括两种:静态的和动态的。
静态实现方式指的是用户与角色之间的映射关系是在静态配置文件中进行配置的。
而动态实现方式则是通过动态的方式,根据不同的业务场景进行授权管理。
为了更好地实现基于角色的访问控制技术,在实施时需要注意以下几点:1. 角色的划分应当合理:角色的划分应该遵循“最小权限原则”,只赋予用户必要的权限,从而减少风险。
2. 用户的分配应当精准:在角色的分配过程中,应注意为用户分配正确的角色,避免出现权限过高或过低的情况。
基于角色的访问控制(RBAC)提高网络安全性的有效方法
基于角色的访问控制(RBAC)提高网络安全性的有效方法在当前数字化时代,网络安全威胁日益严峻,企业和组织面临着来自内部和外部的各种风险。
为了有效应对这些威胁,基于角色的访问控制(Role-Based Access Control,简称RBAC)成为了一种被广泛采用的网络安全方法。
本文将探讨RBAC的原理和应用,以及它如何提高网络安全性。
一、RBAC的原理与概念RBAC是一种访问控制机制,通过将访问权限与用户角色相关联来管理和控制对资源的访问。
RBAC的核心概念包括角色、权限和用户。
角色是一组具有相似权限需求和责任的用户集合,权限是指用户在系统中执行特定操作的权利,用户则是被分配到不同角色的实体。
RBAC的基本原理是通过对用户进行角色分配和权限控制,实现对资源的精细化访问控制。
相比于传统的访问控制方法,RBAC具有权限集中管理、易于扩展和灵活性高等优点。
它提供了一种可持续的安全管理机制,既满足了企业的安全需求,又避免了繁琐的权限管理问题。
二、RBAC的应用场景RBAC广泛应用于各种网络环境,包括企业内部网络、云计算平台、移动应用等。
以下是几个常见的RBAC应用场景:1. 企业内部网络:企业拥有大量敏感信息和资源,需要对员工的访问进行细粒度的控制。
通过RBAC,企业可以根据员工的职责和权限分配不同的角色,确保每个员工只能获得其工作职责所需的权限。
2. 云计算平台:云计算平台涉及到大量用户和应用程序的访问管理。
通过RBAC,云服务提供商可以对用户进行角色和权限的管理,确保用户只能访问其授权的资源,避免信息泄露和数据错乱的风险。
3. 移动应用:随着移动应用的普及,对于用户数据的保护显得尤为重要。
通过RBAC,移动应用开发者可以将用户的权限细分为不同的角色,根据用户的角色分配相应的权限,保护用户数据的安全和隐私。
三、通过RBAC提高网络安全性的方法RBAC作为一种有效的网络安全方法,可以通过以下几个方面提高网络安全性:1. 权限精确分配:RBAC实现了对资源访问的细粒度控制,管理员可以根据用户的工作职责和需求进行合理的权限分配。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
张艳华、王新华、夏明俊 上海远程教育集团 摘 要:基于角色的访问控制 RBAC 是一种方便、安全、高效的访问控制机制。本文针对教 育资源用户信息量庞大、种类多等特点,运用基于角色的用户权限管理参考模型,详细研究 和分析了该模型的构成和相关技术,给出了其在上海教育资源库项目中的应用。 关键词海教育资源库项目用户角色管理概述
2.1 总体描述 上海教育资源库项目根据其项目的特点,选用了基于角色的用户访问控制(RBAC)。访 问控制系统可以为应用系统建立一个高安全强度, 更易维护管理, 扩展能力极强的访问控制 环境,并能够有效的控制管理的复杂性,提供标准化和可以不断延伸授权平台。访问控制系 统的体系结构设计保证了用户能按照应用规模和数量快速地建立访问控制体系。 完全基于策 略思想设计的权限管理控制系统作为构建访问控制体系的基石, 它能使用户已建立的访问控 制体系不断满足演化的应用权限需求,如支持新应用、支持新的权限、增加用户数量、增加 用户类型、增加策略数量等。 上海教育资源库系统在用户访问控制管理中引入了角色的概念, 即在系统中提供若干个 角色,每个角色的权限可以任意定制,在每一个角色下可以包含若干个用户,用户只能够使 用本角色允许使用的系统功能,对用户无权使用的系统功能可以设置其状态为不可见或隐 藏。管理员可以首先分配好各个角色的权限,然后将系统的用户分配到各个不同角色中,即 可以完成用户权限的设定,而不用逐个的去设定用户的使用权限。 2.2 角色的概念 在现实生活中经常提到某人扮演了什么角色。 在基于用户角色的用户权限管理中, 角色 与实际的角色概念有所不同。 在这里角色可以看作是一组操作的集合, 不同的角色具有不同 的操作集,这些操作有系统管理员分配给角色。 用户的授权是通过授予用户一个角色来实现的, 即赋予用户一个角色, 一个用户可以承 担不同的角色, 从而实现授权的灵活性。 只要某用户属于某个角色那么他就具备这个角色的
3. RBAC 特点及应用优势
3.1 RBAC 几大特点 (1)访问权限与角色相关联,不同的角色有不同的权。用户以什么样的角色对资源进 行访问,决定了用户拥有的权限以及可执行何种操作。 (2)角色继承。角色之间可能有互相重叠的职责和权力,属于不同角色的用户可能需 要执行一些相同的操作。RBAC 采用角色继承的概念,如角色 2 继承角色 1,那么管理员在 定义角色 2 时就可以只设定不同于角色 1 的属性及访问权限,避免了重复定义。 (3)最小权限原则,即指用户所拥有的权力不能超过他执行工作时所需的权限。实现 最小特权原则,需要分清用户的工作职责,确定完成该工作的最小权限集,然后把用户限制 在这个权限结合的范围之内。 一定的角色就确定了其工作职责, 而角色所能完成的事物蕴涵 了其完成工作所需的最小权限。 用户要访问信息首先必须具有相应的角色, 用户无法饶过角 色直接访问信息。 (4)职责分离。一般职责分离有两种方式:静态和动态。 (5)角色容量。在一个特定的时间段内,有一些角色只能有一定人数的用户占用。在 创建新的角色时应该指定角色的容量。 3.2 RBAC 应用优势
1.
引言
随着计算机应用的日益普及,特别是网络的迅速发展,如何在发展和推广网络应用的同 时进一步提高访问控制的安全与效率, 已经成为目前网络界所必须研究和解决的课题。 针对 不同的应用,需要根据项目的实际情况和具体架构,在维护性、灵活性、完整性等 N 多个 方案之间比较权衡,选择符合的方案。对于在企业环境中的访问控制方法,一般有三种: 1、自主型访问控制方法。目前在我国的大多数的信息系统中的访问控制模块中基本是借助 于自主型访问控制方法中的访问控制列表(ACLs)。 2、强制型访问控制方法。用于多层次安全级别的军事应用。 3、基于角色的访问控制方法(RBAC) 。是目前公认的解决大型企业的统一资源访问控制的 有效方法。其显著的两大特征是:1.减小授权管理的复杂性,降低管理开销。2.灵活地支持 企业的安全策略,并对企业的变化有很大的伸缩性。
最突出的优点在于系统管理员能够按照部门、学校、企业的安全政策划分不同的角色, 执行特定的任务。 一个系统建立起来后主要的管理工作即为授权或取消用户的角色。 用户的 职责变化时只需要改变角色即可改变其权限; 当组织功能变化或演进时, 则只需删除角色的 旧功能,增加新功能,或定义新角色,而不必更新每一个用户的权限设置。这极大的简化了 授权管理,使对信息资源的访问控制能更好地适应特定单位的安全策略。 RBAC 另一优势体现在为系统管理员提供了一种比较抽象的、 与企业通常业务管理性类 似的访问控制层次。通过定义、建立不同的角色、角色的继承关系、角色之间的联系以及相 应的限制、管理员可动态或静态地规范用户的行为。
4. RBAC 实现
4.1 RBAC 通信过程 在网络系统中使用 RBAC,其实是对网络服务器而言的,对于用户浏览器没有选择。而 且在浏览器与服务器之间的通信方式有很多中,如 RBAC/Web。当然使用 RBAC 的前提是 有效而且正确的身份验证和保密地传输数据,这些包括使用用户号/口令识别法、字段加密、 安全套接层(SSL)和安全 HTTP(HTTPS)以及私有信息技术协议(PCT)等。 RBAC/Web 的整个通信过程如下:当终端用户想要对数据库进行某一操作时,他首先 向 RBAC Server 提出建立 RBAC 对话的请求,Server 显示该终端用户可以激活那些角色 (ARS)。 这些角色的选择满足限制条件和角色等级限制以及 Server 割据用户的要求建立会话, 这时用户就可以对 RBAC 数据库提出操作请求,由 Server 进行相应的处理。最后用户工作 完毕,Logout 系统,结束这次会话。在整个过程中,ABS 保持被激活的状态,这些 ABS 构 成了 RBAC 会话的基本特征。 4.2 资源库权限分配的应用实例 我们用一个上海教育资源库功能模块来举例子,显示 RBAC 在上海教育资源库中的应 用:每当用户登陆系统,系统会找到该用户所属的角色,根据角色得到相应的权限,将该用 户所拥有的权限保存员工权限的 String 数组中。当判断该用户是否有一特定权限,如上传资 源的权限,可以对比当前员工的权限和给这个上传资源的权限分配的“功能 ID”判断当前 用户是否有使用这项功能的权限。如果保存员工权限的 String 数组中这个 ID,那这个功能 的操作按钮就不会显示,如果员工的 String 数组中有此功能的 ID,那这个功能的操作按钮 就会显示。 以下代码显示资源库系统中权限与身份验证部分代码 boolean bolResManage = false; boolean bolUserManage = false; boolean bolSysConfig = false;//系统设置 boolean bolFeeConfig = false;//记费设置 boolean bolUpload = false; boolean bolLogined = false; boolean bolGuest = false; String strUserName =""; try{ HttpSession session1 = request.getSession(); strUserName = (String)session1.getAttribute("UserName"); if(strUserName.length()==0 ||strLogout.length()>0){ //未登陆,默认为客人 bolLogined = false; //默认为客人登陆 request.setAttribute("userName","guest"); request.setAttribute("userPwd","guest"); strUserName="guest"; boolean bool=erLogin(request,response);
}else{ bolLogined = true; } String[] arr = null; arr = (String[]) session1.getAttribute("resmanage"); //判断资源管理的权限 if(arr != null&&arr[2].equals("1")){ bolResManage = true; } arr = (String[]) session1.getAttribute("usermanage");//判断用户管理的权限 if(arr!=null&&arr[2].equals("1")){ bolUserManage = true; } arr = (String[]) session1.getAttribute("config"); //判断系统设置的权限 if(arr!=null&&arr[2].equals("1")){ bolSysConfig = true; } arr = (String[]) session1.getAttribute("feeconfig"); //判断记费设置的权限 if(arr!=null&&arr[2].equals("1")){ bolFeeConfig = true; } if(strUserName.length()>0 && (!strUserName.equalsIgnoreCase("GUEST"))) bolUpload = true; arr = (String[]) session1.getAttribute("upload"); //判断资源上传的权限 if(arr!=null&&arr[2].equals("1")){ bolUpload = true; } if(strUserName.equals("GUEST")){//客人 bolGuest = true; } }catch(Exception e){ out.println("Right init error!"); }