B端权限模型设计实战教程 - 第1节
1.1 边界与定位:权限体系在企业架构中的位置
在开始设计具体的权限模型之前,必须先明确权限体系在整个企业架构中的战略位置。它不是孤立的功能模块,而是连接业务身份与数据资产的核心基础设施。
1.1.1 企业架构分层模型
我们将企业软件架构抽象为四个逻辑层,权限模型位于中间两层之间,起到垂直贯穿与水平隔离的双重作用。
| 架构层 | 核心职责 | 与权限的交互 |
|---|---|---|
| 业务层 | 定义业务实体、流程与协作规则 | 发起权限请求、提供上下文(如部门、角色) |
| 应用层 | 实现功能模块、页面路由、API 网关 | 执行权限校验、拦截未授权调用 |
| 权限模型层 | 管理用户-角色-权限的关系映射 | 策略定义、决策点、策略执行点 |
| 数据层 | 存储业务数据、权限属性、审计日志 | 提供数据级访问控制受控源 |
1.1.2 课程核心概念定义
为避免概念模糊导致架构分歧,本课程对以下四个术语做出明确约定:
- 权限模型:描述“谁可以对什么资源执行什么操作”的关系结构。如 RBAC、ABAC。
- 权限引擎:实现权限模型的运行时组件。包含策略管理点(PAP)、策略决策点(PDP)、策略执行点(PEP)。
- 权限策略:具体化的一组规则。例如:“只有‘财务总监’角色可以审批‘发票金额大于5万元’的申请”。
- 信任链路:身份从源头认证到目标资源授权之间的完整凭证传递链。必须保证不可篡改且可审计。
1.2 课程目标与交付物
完成本课程后,你将具备以下能力,并产出可直接用于企业落地的架构设计交付物。
1.2.1 核心目标
- 掌握从 0 到 1 设计通用权限模型的方法论。
- 能够在 RBAC、ABAC、ReBAC 等主流模型间做出符合业务实际的选型决策。
- 识别权限系统的常见反模式与安全漏洞,并给出可落地的修复方案。
交付物清单
- 架构设计文档:包含数据流、控制流、信任链路的完整描述。
- 模型对比矩阵:针对 30 个常见业务场景的选型权衡表。
- 风险清单与应急预案:覆盖高并发、分布式、多租户场景的典型风险。
- 验收测试用例集:包含正向、反向与边界场景,用于驱动开发与自动化测试。
1.3 核心架构视角:控制流与数据流分离
本课程将反复强调一个核心原则:控制流与数据流分离。控制流负责权限决策与执行,数据流负责策略与属性的存储与传输。两者不可混为一谈,否则会导致信任链路过长、审计困难。
架构要诀:PEP 与 PDP 的分离是权限系统可扩展的关键。PEP 轻量、靠近执行端;PDP 集中化、负责复杂策略运算。两者通过控制流通道通信,不与数据流混用。
1.4 选型权衡:模型评估矩阵
在开始设计前,先建立模型选型的全局视角。以下矩阵对比了四种经典权限模型的核心特征。
| 模型 | 粒度 | 策略灵活性 | 维护成本 | 典型场景 |
|---|---|---|---|---|
| ACL | 细粒度 | 低 | 高(资源多时爆炸) | 文件系统 |
| RBAC | 角色级 | 中 | 低(适合组织稳定) | 企业后台管理 |
| ABAC | 属性级 | 高 | 中(策略建模成本) | 云平台、多租户 |
| ReBAC | 关系级 | 高 | 中(关系图谱维护) | 社交网络、协作系统 |
初始选型陷阱:不要一开始就追求“最灵活”的 ABAC 或 ReBAC。灵活度的提升伴随着建模复杂度的指数增长。对于多数 B 端管理后台,增强型 RBAC(RBAC + 属性约束) 往往是性价比最高的起点。本课程将在后续章节中详细阐述其设计步骤。
1.5 风险点与落地前提
任何权限模型在落地时都会面临以下三类风险,第一章节即需建立防线。
- 身份孤岛风险:多个子系统各自维护用户身份,导致权限策略难以统一。落地前必须确立统一身份源。
- 策略膨胀风险:随着业务增长,角色和策略数量线性增加,最终导致系统不可维护。必须设置策略有效期与定期审查机制。
- 信任链路断裂风险:微服务间请求权限凭证传递过程中被篡改或失效。必须使用端到端签名或短效 Token + 刷新机制。
第一章验收标准
- 完成企业组织架构的权限域划分(业务域、应用域、数据域)。
- 输出一份权限模型选型初判断文档(明确候选模型及理由)。
- 识别出当前系统中存在的身份孤岛与信任链路隐患,并记录在风险清单中。