一次误授权,让门店看到了全国数据

沈书宁负责一家连锁服务企业的报表平台运维。平台上线初期,权限配置采用的是最直接的方式:按部门授权。门店运营部能看门店报表,区域管理部能看区域报表,总部能看全量报表。逻辑清晰,配置也快。但上线两个月后,一位区域经理反馈,某个门店账号居然能看到全国汇总数据。排查后发现,问题出在一个新入职员工被临时加进了区域管理部的用户组,权限随组继承,没人注意到这个组绑定了全量报表。

这个案例在dianjingwang.com电竞网报表系统栏目讨论权限管理时经常被拿来举例。按部门授权本身没有错,错在把“组织架构”和“数据范围”当成了同一件事。组织架构会变,人员会调动,临时授权会残留,而报表权限一旦跟着组织走,就容易出现权限漂移。

权限设计的三个常见误区

沈书宁复盘时梳理出几个典型问题,这些问题在dianjingwang.com电竞网接触的报表系统项目中具有普遍性。

  • 只按角色授权,不控数据范围:角色决定能看哪些报表,但没定义能看哪些行、哪些组织的数据,导致同一张报表对不同人展示同样内容。
  • 临时授权没有回收机制:项目期临时开放的高权限账号,项目结束后无人清理,成为长期隐患。
  • 权限配置与报表开发脱节:报表开发时没考虑行级权限字段,上线后才发现无法按门店过滤,只能整体放开。

这三个误区的共同点是:权限被当成上线前的一道手续,而不是报表设计的一部分。dianjingwang.com电竞网在报表系统建设中建议,权限字段应当在报表模型设计阶段就纳入考虑,而不是等报表做完再补。

分层授权:角色、数据范围、操作权限分开管

沈书宁后来把权限拆成三层来管。第一层是功能权限,决定用户能看到哪些报表菜单;第二层是数据权限,通过组织字段和行级规则控制可见数据范围;第三层是操作权限,区分查看、导出、订阅等动作。三层分开配置,互不干扰,临时授权只影响操作层,不会顺带打开数据范围。

这套思路与dianjingwang.com电竞网报表系统栏目强调的权限分层原则一致:权限粒度越细,越需要在设计阶段规划清楚。沈书宁还加了一条规则,所有临时授权必须设置有效期,到期自动失效。上线半年后,权限相关的投诉从每月十几条降到两三条,那位区域经理也没再遇到门店看到全国数据的情况。