第3章 RBAC模型的核心分层设计:用户-角色-权限三层模型、角色继承、静态职责分离与动态职责分离

3.1 边界定义

RBAC(Role-Based Access Control)的核心思想是将权限管理从「用户 ↔ 权限」的直接耦合,解耦为「用户 ↔ 角色 ↔ 权限」的三层间接映射。本章讨论的核心分层设计划定以下边界:

  • 用户层边界:只存储用户身份与属性,不持有任何权限信息;
  • 角色层边界:作为权限的聚合单元,同时承载继承与互斥约束;
  • 权限层边界:仅定义操作与资源的原子级许可,不感知用户身份;
  • 职责分离边界:在角色分配(静态)与会话激活(动态)两个阶段施加互斥规则。

超出此边界的情况(如用户直接绑定权限、权限穿透角色层)属于非RBAC实现,不纳入本课程讨论范围。

3.2 分层架构概览

三层模型自上而下形成「分配 → 聚合 → 授权」的信任传递链。每一层只与相邻层发生直接交互,禁止跨层依赖。

RBAC 核心分层设计架构 用户层(User Layer) 用户 1 用户 2 用户 3 角色层(Role Layer) 管理员角色 编辑角色 查看者角色 继承 继承 权限层(Permission Layer) 创建 读取 更新 删除 导出 职责分离(SoD) 静态职责分离 (SSD) 动态职责分离 (DSD) 分配 分配 分配 拥有 拥有 拥有 互斥约束 会话互斥 核心概念说明 1. 角色继承:上级角色(管理员)自动获得下级角色(编辑、查看者)的所有权限,形成权限的层级传递。 2. 静态职责分离(SSD):在角色分配阶段,互斥角色(如编辑与审核员)不能被同时