RBAC权限体系设计与细粒度授权方案实例
(软件研发技术文档·数据与实例为据)
第一章权限体系目标与现状
本文档记录B端SaaS平台把散落各模块的if-else判权重构为标准RBAC的做法。改造前权限判断散布在1700多个接口,每人各自实现,出过越权访问他人数据的漏洞,审计根本说不清谁能看什么。改造后鉴权收口成一处,越权事件从季度4起降到0。
目标三条:权限与角色绑定、角色与用户绑定、鉴权判定点统一且可审计。硬指标是任意一名用户的可见资源与可执行操作能在一次查询内枚举清楚,新接口接入鉴权改代码不超过5行,权限变更秒级生效不等发版。
表1-1权限改造前后对比
指标
改造前
改造后
收益
鉴权点
1700处
1处收口
统一
越权事件
季度4起
0
封堵
可枚举性
说不清
一次查询
可审计
接入成本
大改
5行
降80%
变更生效
发版
3秒
秒级
第二章模型设计与角色划分
RBAC核心五元组:用户、角色、权限、资源、操作,用户绑角色、角色聚权限、权限指向某资源上的某操作。团队设计了三层角色——系统角色、业务角色、数据角色分离,前者管功能入口后者管数据范围,避免一个角色既管菜单又管行权限导致的组合爆炸。
角色要防冗余膨胀,历史系统动辄几百角色难维护。团队用角色继承加权限标签收敛,把512个角色压到84个基础角色加参数化组合。新增业务场景优先复用标签组合,而不是新起一个角色,从源
原创力文档

文档评论(0)