title: “NIST RBAC标准:基于角色的访问控制模型” source: “ACM Transactions on Information and System Security, Vol. 4, No. 3, 2001” authors: [“David F. Ferraiolo”, “Ravi Sandhu”, “Serban Gavrila”, “D. Richard Kuhn”, “Ramaswamy Chandramouli”] size: “383 KB” pages: 51 date: “2001-08” processed_date: “2026-09-29” method: “PDF文本提取(pdf-inspector)” original_path: “/田浩然上传的资料/0CI03 操作系统安全/课程参考文献/RBAC Model/rbacSTD-ACM.pdf” status: done

NIST RBAC标准:基于角色的访问控制模型

基本信息

  • 标题: Proposed NIST Standard for Role-Based Access Control
  • 作者: David F. Ferraiolo (NIST), Ravi Sandhu (GMU), Serban Gavrila (VDG Inc.), D. Richard Kuhn (NIST), Ramaswamy Chandramouli (NIST)
  • 来源: ACM Transactions on Information and System Security, Vol. 4, No. 3, August 2001, Pages 224-274
  • 原始路径: /田浩然上传的资料/0CI03 操作系统安全/课程参考文献/RBAC Model/rbacSTD-ACM.pdf
  • 文件大小: 383 KB
  • 页数: 51页
  • 处理方法: PDF文本提取 (pdf-inspector)
  • 处理日期: 2026-09-29

核心内容

本文是RBAC(基于角色的访问控制)标准的 proposals,由NIST主导,旨在统一不同RBAC模型的术语和功能定义,形成标准化的参考模型和功能规范。

一、RBAC背景与标准化需求

核心问题:

  • vendors已实现RBAC功能,但缺乏通用定义
  • 多个RBAC模型存在,但无权威标准
  • 不同模型使用不同术语描述相同概念
  • 导致产品评估、采购规格制定困难

RBAC优势:

  • 简化授权管理:用户变更职能时只需修改角色分配,无需逐个撤销/授予权限
  • 支持分离职责(SoD):防止单人在系统中拥有执行欺诈所需的全部权限
  • 策略中性:通过角色层次和约束可表达广泛的安全策略
  • 适合大规模系统:角色可重复使用,管理效率高

二、RBAC四组件模型

标准将RBAC分为四个组件:

1. Core RBAC(核心RBAC)

最基础的RBAC功能集合:

  • 用户-角色分配:用户可分配至多角色,角色可有多用户
  • 权限-角色分配:权限绑定到角色,用户通过角色获得权限
  • 用户会话:允许选择性激活/去激活角色
  • 多角色同时激活:用户可同时行使多个角色的权限
  • 用户-角色审查:查询某用户有哪些角色,某角色有哪些用户

设计取舍:

  • 省略了”权限-角色审查”(高级审查功能),因许多现有系统不支持
  • 强制多角色同时激活,为后续扩展留出空间

2. Hierarchical RBAC(层次RBAC)

在Core基础上增加角色层次:

  • 通用层次:支持任意偏序关系,允许多重继承
  • 受限层次:限制为树形或倒树形结构

意义:

  • 反映组织层级结构
  • 减少权限分配冗余
  • 高阶角色自动继承低阶角色权限

3. Static Separation of Duty (SSD)

静态分离职责约束:

  • 定义SSD集合:一组角色,其子集不能有共同用户
  • 确保关键操作需多人协作完成,防止欺诈

4. Dynamic Separation of Duty (DSD)

动态分离职责约束:

  • 定义DSD集合:一组角色,在同一会话中不能同时激活
  • 与SSD的区别:DSD限制的是”同一会话中的激活角色组合”,而非”用户-角色分配”

三、RBAC功能规范

管理操作(Administrative Operations)

创建、删除、维护RBAC元素和关系的操作:

  • AssignUser / AssignRole
  • CreateRole / DeleteRole
  • GrantPrivilege / RevokePrivilege
  • CreateSsdSet / AddSsdRoleMember
  • CreateDsdSet / AddDsdRoleMember
  • CreateSession / AddActiveRole

管理审查(Administrative Reviews)

查询RBAC元素和关系:

  • UserRoleReview:查询用户有哪些角色
  • RoleUserReview:查询角色有哪些用户
  • RoleSetReview:查询角色集
  • AuthorizedRoles:查询用户在特定会话中的授权角色

系统功能(System Functions)

  • 会话管理:创建/销毁会话,激活/去激活角色
  • 约束检查:验证SSD/DSD约束
  • 访问决策:计算用户会话的权限集合

四、标准意义与应用

对厂商:

  • 提供统一的产品评估基准
  • 指导功能设计和实现

对用户/采购方:

  • 提供标准化的采购规格依据
  • 支持跨产品互操作性

对研究者:

  • 提供明确的形式化基础
  • 支持新模型和技术的探索

关键概念索引

  • [[RBAC]] - 基于角色的访问控制
  • [[分离职责]] - Separation of Duty,防止欺诈的核心机制
  • [[静态约束]] - SSD,限制用户-角色分配
  • [[动态约束]] - DSD,限制会话中的角色激活组合
  • [[角色层次]] - 角色间的继承关系
  • [[最小权限原则]] - 用户仅获得完成任务所需的最小权限集
  • [[零信任架构]] - RBAC是现代访问控制的基础构件

关联知识

  • 该标准与 MAC(强制访问控制)、DAC(自主访问控制)并列,是三大访问控制模型之一
  • RBAC被广泛应用于企业级安全系统、数据库权限管理、Web应用授权等场景
  • 相关标准: NIST IR 6694、FIPS 186(数字签名标准中涉及访问控制)