企业权限系统设计专题
企业权限系统设计专题
从 ACL、RBAC、ABAC、数据权限到企业治理、工程落地与权限测试
权限系统表面上是在回答“这个用户有没有权限”,真正进入企业系统后,问题会迅速扩大:权限从哪里来、作用于哪些数据、如何继承、冲突时听谁的、临时权限何时回收、服务账号和 AI Agent 如何治理、权限撤销后缓存多久失效,以及如何证明系统不存在越权。
本专题使用同一个“某集团企业运营平台”案例贯穿八篇文章。固定对象包括张三、李四、王芳、刘敏、赵强、Alice,业务资源包括订单 O1001、付款单 P1001、项目 Project-A 和文档 D1001;非人主体包括 order-service、finance-service、report-job、crm-client 和 report-agent。
文章目录
- 权限系统总体设计:从身份、资源到授权决策
- ACL 模型详细设计:资源授权、权限继承与共享控制
- RBAC 模型详细设计:角色、继承、约束与权限计算
- ABAC 模型详细设计:属性、策略与动态授权决策
- 数据权限详细设计:行级过滤、字段控制与业务关系授权
- 企业内部完整权限管理体系:组织、授权流程与权限治理
- 权限中心的工程落地:架构、缓存、一致性与高可用
- 权限系统测试:正确性、越权、一致性与性能
统一结论
企业权限系统通常不是在 ACL、RBAC、ABAC 中三选一,而是分工组合:
| 机制 | 主要职责 |
|---|---|
| RBAC | 管理“能做什么”的功能权限 |
| ACL | 管理具体资源实例授权和共享 |
| ABAC | 处理金额、时间、设备、风险等动态条件 |
| ReBAC | 根据项目成员、负责人、包含关系推导权限 |
| 数据权限 | 将访问边界落实到行、字段、查询和写操作 |
| 权限治理 | 管理申请、审批、委托、复核和回收 |
| 权限中心 | 提供稳定、可解释、高性能的运行时决策 |
| 权限测试 | 验证正确性、越权防护、一致性和容量 |
专题统一采用以下权限编码规范:
<domain>:<resource>:<action>
例如:
sales:order:read
finance:payment:approve
document:file:share
iam:role:assign
权限编码只表达稳定的业务能力。租户、部门、项目、资源实例和有效期分别通过 Tenant、Scope、Data Scope、ACL、Policy 与 Role Assignment 表达。
阅读建议
第一次设计权限系统,建议按顺序阅读。已有 RBAC 基础、正在处理数据越权问题,可以直接阅读第五篇;正在建设统一权限中心,则重点阅读第六、七、八篇。
资料和开源项目状态按 2026 年 7 月整理。正式选型时仍应以项目官方文档和当前发行版本为准。
评论