很多企业内部系统的权限设计是从"大家都用管理员账号"开始的。等出了问题想追责,才发现根本查不到是谁做的。权限设计不需要复杂,但要守住几条底线。
一、第一条底线:一人一账号
- 共用账号 = 没有审计能力:出了问题查不出人,等于所有人都可疑
- 共用账号 = 没有最小权限:为了照顾所有人,只能给最大权限
- 共用账号 = 无法停用:某人离职了,账号还得留着给下一个人用
这一条几乎是所有其他权限设计的前提,值得一开始就坚持。
二、三级权限模型
| 层级 | 控制什么 | 举例 |
|---|---|---|
| 功能权限 | 能看到哪些菜单、能做哪些操作 | 财务能进报销模块,业务员不能 |
| 数据权限 | 同功能下能看到谁的数据 | 主管看本部门,员工只看自己的 |
| 字段权限 | 同一条数据里哪些字段可见 | 成本价只有管理员可见 |
三级都要有,只做功能权限的系统,在很多行业里是不够用的。
三、离职与调岗怎么处理
- 离职当天停用账号(不是删除——历史记录要保留归属)
- 离职人员名下未办结的单据要转交,不能无人可办
- 调岗时先改数据权限范围,再改功能权限
- 定期(建议每季度)导出账号清单,与实际人员核对一次
四、审计日志要记什么
日志的目标只有一个:任何一条数据的变化,都能回答"谁在什么时候改的、改前改后是什么"。
- 登录成功与失败(失败记录用于发现异常尝试)
- 数据的增删改,含改前值与改后值
- 状态变更(审批、驳回、作废、归档)
- 导出与批量操作(这是数据外流的主要途径)
- 权限与角色的变更
提醒:日志本身要不可删除。如果系统允许管理员清空日志,那这套日志在追责时是没有说服力的。
五、常见问题
公司小,也要做这么细吗?
可以简化,但"一人一账号"和"关键操作留痕"这两条不要省。它们解决的问题与公司规模无关。
角色太多不好维护怎么办?
角色按岗位定,不按人定。人可以有多个角色,但角色数量应控制在个位数。
下一篇软件上线前必做的五类测试
