zoukankan      html  css  js  c++  java
  • 读书札记:基于RBAC的权限设计模型RBAC介绍

    RBAC模型作为目前最为广泛接受的权限模型。

     

    NISTThe National Institute of Standards and Technology,美国国家标准与技术研究院)标准RBAC模型由4个部件模型组成,这4个部件模型分别是基本模型RBAC0Core RBAC)、角色分级模型RBAC1Hierarchal RBAC)、角色限制模型RBAC2Constraint RBAC)和统一模型RBAC3Combines RBAC[1]RBAC0模型如图1所示。

     

    查看更多精彩图片


    图表1 RBAC 0模型

     RBAC0定义了能构成一个RBAC控制系统的最小的元素集合

     

    RBAC之中,包含用户users(USERS)、角色roles(ROLES)、目标objects(OBS)、操作operations(OPS)、许可权permissions(PRMS)五个基本数据元素,权限被赋予角色,而不是用户,当一个角色被指定给一个用户时,此用户就拥有了该角色所包含的权限。会话sessions是用户与激活的角色集合之间的映射。RBAC0与传统访问控制的差别在于增加一层间接性带来了灵活性,RBAC1RBAC2RBAC3都是先后在RBAC0上的扩展。

     

    RBAC1引入角色间的继承关系

     

    角色间的继承关系可分为一般继承关系和受限继承关系。一般继承关系仅要求角色继承关系是一个绝对偏序关系,允许角色间的多继承。而受限继承关系则进一步要求角色继承关系是一个树结构。

     

    RBAC2模型中添加了责任分离关系

     

    RBAC2的约束规定了权限被赋予角色时,或角色被赋予用户时,以及当用户在某一时刻激活一个角色时所应遵循的强制性规则。责任分离包括静态责任分离和动态责任分离。约束与用户-角色-权限关系一起决定了RBAC2模型中用户的访问许可。

     

     RBAC3包含了RBAC1RBAC2

     

    既提供了角色间的继承关系,又提供了责任分离关系。

     

    建立角色定义表。定出当前系统中角色。

    因为有继承的问题,所以角色体现出的是一个树形结构。

     查看更多精彩图片

     

     

  • 相关阅读:
    多个DataTable的合并成一个新表
    into #临时表的用法
    触发器获取更新前的数据
    C# 多个CSV文件合并成一个文件
    group by 字段名 with ROLLUP
    删除DataTable重复列,只针对删除其中的一列重复的行(转)
    动态注册jS
    JS 验证
    导出Excel
    C# 导入多个工作薄文件
  • 原文地址:https://www.cnblogs.com/Gemgin/p/3136313.html
Copyright © 2011-2022 走看看