`
wayne446
  • 浏览: 28658 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

RBAC 模型初探

    博客分类:
阅读更多

访问控制背景

    访问控制技术是由美国国防部(Department of Defense, DoD)资助的研究和开发成果演变而来的。这一研究导致两种基本类型访问控制的产生:自主访问控制(Discretionary Access Control, DAC)和强制访问控制(Mandatory Access Control, MAC)。最初的研究和应用主要是为了防止机密信息被未经授权者访问,近期的应用主要是把这些策略应用到为商业领域。

    自主访问控制,允许把访问控制权的授予和取消留给个体用户来判断。为没有访问控制权的个体用户授予和废除许可。自主访问控制机制允许用户被授权和
取消访问其控制之下的任何客体(object),换句话说,用户就是他们控制下的客体的拥有者。然而,对于多数组织来说,最终用户对所访问的信息没有拥有权。对于这些组织,公司或代理机构是事实上的系统客体和处理他们的程序的拥有者。访问优先权受组织控制,而且也常常基于雇员功能而不是数据所有权。

   强制访问控制,在美国国防部 Trusted Computer Security Evaluation Criteria (TCSEC) 中定义如下:“一种限制访问客体的手段,它以包含在这些客体中的信息敏感性和访问这些敏感性信息的主体的正式授权信息(如清除)为基础”。
  
   以上访问控制策略对于处理一些无需保密但又敏感的信息的政府和行业组织的需求并不是特别的适合。在这样的环境下,安全目标支持产生于现有法律、道德规范、规章、或一般惯例的高端组织策略。这些环境通常需要控制个体行为的能力,而不仅仅是如何根据信息的敏感性为其设置标签从而访问这一信息的个人能力。

 

什么是基于角色访问控制(Role-Based Access Control, RBAC)?NIST 有如下定义。
  
   访问是一种利用计算机资源去做某件事情的的能力,访问控制是一种手段,通过它这种能力在某些情况下被允许或者受限制(通常是通过物理上和基于系统的控制)。基于计算机的访问控制不仅可规定是“谁”或某个操作有权使用特定系统资源,而且也能规定被允许的访问类型。这些控制方式可在计算机系统或者外部设备中实现。
  
    就基于角色访问控制而言,访问决策是基于角色的,个体用户是某个组织的一部分。用户具有指派的角色(比如医生、护士、出纳、经理)。定义角色的过程应该基于对组织运转的彻底分析,应该包括来自一个组织中更广范围用户的输入。
   
    访问权按角色名分组,资源的使用受限于授权给假定关联角色的个体。例如,在一个医院系统中,医生角色可能包括进行诊断、开据处方、指示实验室化验等;而研究员的角色则被限制在收集用于研究的匿名临床信息工作上。
   
    控制访问角色的运用可能是一种开发和加强企业特殊安全策略,进行安全管理过程流程化的有效手段。
     


用户(User)和角色(Role)

    用户指访问系统中的资源的主体,一般为人,也可为 Agent 等智能程序。角色指应用领域内一种权力和责任的语义综合体,可以是一个抽象概念,也可以是对应于实际系统中的特定语义体,比如组织内部的职务等。针对角色属性的不同,某些模型中将角色进一步细分为普通角色和管理员角色(可理解为全局角色)。

 

许可(Permissions)和权限(Permission)

    许可描述了角色对计算机资源的访问和操作所具有的权限,其反映的是授权的结果。比如授予某个角色对计算机资源有读的权限,则代表了一个许可的存在,这个许可表示:角色获取了对计算机资源的读许可。针对操作来说,其描述的是许可和操作之间的一种关联关系,而这层关系则表示了某一角色对某一操作所具有的权限及权限状态。


     
角色和指派(Assignment)

    指派包含两个方面,用户指派和许可指派。用户指派表示的是,将用户指派给特定的角色。许可指派表示的是为角色指派计算机资源的访问和操作许可。

 

会话(session)

    会话表示的是用户和角色之间的关系。用户每次必须通过建立会话来激活角色,得到相应的访问权限。

 

角色和角色等级(Role Hierarchies)

    角色本身仅仅只是一个名词,其本身并不能代表权限的大小。比如,我们可以定一个“Director”的角色,也可以定一个“Project Leader”的角色。对于现实中我们来说,看到这样两个角色,就清楚 DIR 的权限要比一个 PL 的权限级别高。但是对计算机来说,这两个角色仅仅是两个“词语”,是等同的。可以采用分等级角色,在角色上实现层次化来解决这些问题。也可以采用复合角色(其表示的就是一个角色组的概念),对角色实现一定的分组和复合,以便于权限指派。在一些 OA 产品中经常出现分等级角色。
   


限制(Constraints)
   
    模型中的职责分离关系(Separation of Duty),用于控制冲突(Conflict)。静态职责分离(Static SD)指定角色的互斥关系,用于用户指派阶段。避免同一用户拥有互斥的角色。实现简单,角色互斥语义关系清楚,便于管理不够灵活,不能处理某些实际情况。动态职责分离(Dynamic SD)指定角色的互斥关系,用于角色激活阶段。允许同一用户拥有某些互斥的角色,但是不允许该用户同时激活互斥的角色。更灵活,直接与会话挂钩,适应实际管理需要,实现复杂,不易管理。

  • 大小: 31.3 KB
分享到:
评论

相关推荐

    基于RBAC模型的通用权限管理系统的设计(数据模型)

    NIST标准RBAC模型由四个部件模型组成,分别是基本模型RBAC0(Core RBAC)、角色分级模型RBAC1(Hierarchal RBAC)、角色限制模型RBAC2(Constraint RBAC)和统一模型RBAC3(Combines RBAC)。RBAC0模型定义了能构成...

    面向多客体的细粒度RBAC模型及应用

    ### 面向多客体的细粒度RBAC模型及应用 #### 一、引言 随着信息技术的快速发展和广泛应用,尤其是网络技术的进步,各领域内的信息化水平得到了显著提高。这种信息化进程不仅提升了工作效率,同时也带来了新的挑战...

    基于rbac模型的权限管理系统

    基于RBAC(Role-Based Access Control,基于角色的访问控制)模型的权限管理系统是一种广泛采用的方法,它以角色为核心,实现了灵活、高效的权限分配机制。现在,让我们深入探讨这个话题。 首先,RBAC模型的核心...

    基于REST风格的RBAC模型研究

    ### 基于REST风格的RBAC模型研究 #### 概述 随着互联网技术的不断发展,Web应用系统规模持续扩大,对于访问控制的需求也日益增长。传统的基于角色的访问控制(Role-Based Access Control, RBAC)模型在面对大规模...

    Python-Flask访问控制封装了RBAC模型蓝图和装饰器

    本项目“Python-Flask访问控制”着重于实现基于角色的访问控制(Role-Based Access Control,简称RBAC)模型,并通过蓝图(Blueprints)和装饰器(Decorators)进行封装,以便于开发者在Flask应用中轻松集成权限管理...

    rbac模型的相关资料

    RBAC(Role-Based Access Control,基于角色的访问控制)模型是一种广泛应用的权限管理系统设计模式,它主要用于管理和控制用户的访问权限,以确保系统安全性和数据隐私。这种模型将权限赋予角色,而用户通过扮演...

    基于RBAC模型的权限管理改进研究与实现.pdf

    基于RBAC模型的权限管理改进研究与实现 本文研究了基于RBAC模型的权限管理改进研究与实现,旨在解决传统RBAC模型无法满足业务审批系统的新需求的问题。我们的研究目标是设计一种基于角色的控制访问模型,能够动态地...

    NIST RBAC模型 pdf 【英文】

    **NIST RBAC模型详解** NIST(美国国家标准与技术研究所)的角色基础访问控制(Role-Based Access Control,简称RBAC)模型是一种广泛采用的权限管理框架,它在信息安全领域具有重要地位。NIST RBAC模型旨在提高...

    Web信息系统中基于RBAC模型的访问控制模块的设计与实现

    访问控制模型主要有几种类型,包括自主访问控制模型(DAC)、强制访问控制模型(MAC)、基于角色的访问控制模型(RBAC)、基于任务的访问控制模型(TAC),以及基于对象的访问控制模型(OBAC)和信息流模型。...

    云计算环境下基于属性和信任的RBAC模型研究.pdf

    云计算环境下基于属性和信任的RBAC模型研究.pdf

    参数化的RBAC模型

    介绍参数化的RBAC模型

    基于用户群组RBAC模型的一种实现方法.pdf

    【基于用户群组的RBAC模型】 基于用户群组的RBAC(Role-Based Access Control)模型是一种改进的访问控制策略,它在传统的RBAC模型基础上引入了用户群组的概念,以提高管理和授权的效率。在RBAC模型中,权限不是直接...

    基于RBAC模型的通用权限管理系统的设计

    本文将深入探讨RBAC的四个主要模型:RBAC0、RBAC1、RBAC2和RBAC3,并阐述它们的特点以及如何通过这些模型设计一个通用权限管理系统。 **RBAC0模型**是最基础的RBAC模型,其核心理念是将权限分配给角色,用户通过...

    RBAC的权限设计模型

    RBAC模型有四个组成部分:RBAC0(基本模型)、RBAC1(角色分级模型)、RBAC2(角色限制模型)和RBAC3(统一模型)。RBAC0模型定义了能构成一个RBAC控制系统的最小的元素集合,包括用户、角色、目标、操作和许可权五...

Global site tag (gtag.js) - Google Analytics