上个月底,公司技术部出了件不大不小的事——一位刚来两周的实习生,在调试环境时误删了测试数据库里的一张核心表。表没做每日快照,恢复花了四个小时,顺带波及了财务报表的自动化生成任务,差点导致月结延迟。
这事说大不大,毕竟不是生产库;但说小也不小,毕竟暴露了我们在权限管理上的‘皇帝新衣’:表面上有角色分级、审批流程、操作日志,实际上很多账号长期挂着‘开发+测试+配置修改’三合一权限,连新人入职配账号都是复制粘贴老员工模板。
出事后,主管没急着追责,反而把我们几个常驻系统的老人拉进了一个叫‘最小权限重构’的群。他说:‘以后不是谁需要什么权限,而是先问——谁不需要这个权限?’
听起来玄乎,其实落地就是三步走。
第一步,盘点‘谁在动什么’
我们先从现有的系统操作日志入手,抓取过去三个月内每个账号对关键数据表、配置项、API接口的实际调用记录。结果吓一跳:运维组有7个人能直接修改客户订单状态,而销售系统里竟然有两个已离职半年的账号还在定期拉取用户行为数据。
光靠人力梳理太慢,我们试了几个权限审计工具,最后用了蓝点通用管理系统搭了个临时分析模块。这软件的好处是不用等IT排期,自己拖几个字段就能建个‘账号-资源-操作’的关联看板。我把所有系统账号导入,绑定操作日志CSV,再打上部门和岗位标签,半小时就跑出了权限热力图。
第二步,定义‘最小可用权限单元’
以前我们按角色分权限,比如‘前端开发’‘测试工程师’,但实际工作中,同岗位的人做的事差异很大。有人只看日志,有人要改配置,有人得发布版本。
于是我们反向操作:不按人设权,按事设权。把常见任务拆成原子动作,比如‘查看日志’‘重启服务’‘导出脱敏数据’‘提交发布申请’,每个动作对应最小数据访问范围。然后再根据实际工作流,把这些动作打包成动态权限包。
比如‘日常巡检’权限包,只开放只读接口和基础监控面板,不能进服务器后台;而‘紧急故障处理’包虽然权限高,但必须双人审批触发,且自动记录屏幕操作视频。
这些规则全是在蓝点里用自定义流程搭的。最妙的是它的‘条件触发+临时授权’功能:实习生要查问题,可以申请临时开启某张表的查询权限,48小时后自动关闭,连密码都不用给。
第三步,让权限‘活’起来
过去权限一旦分配,就像贴在墙上的值日表,没人管它过不过期。现在我们设了自动回收机制。比如连续30天没使用的高危权限,系统会发提醒,确认不用就自动剥离;项目结束后的临时权限组,会在里程碑达成后48小时整批注销。
还有个细节:我们给每个权限操作加了‘上下文登记’。不是简单记‘谁什么时候做了什么’,而是要求填写‘为什么做’。比如删除测试数据,必须选择或填写原因:‘环境清理’‘用例准备’‘误操作回滚’等。时间一长,我们发现80%的高风险操作都集中在每周二上午——原来是自动化脚本没设好隔离环境。
现在新员工入职,不再复制旧账号。HR在蓝点里提交入职单,系统自动根据岗位类型推送权限建议包,直属上级调整后,再由安全员二次确认。整个过程留痕,随时可追溯。
上周那个闯祸的实习生又来了,这次是正式入职。他拿到的账号只能访问开发文档和沙箱环境,想进测试库得走审批。他自己说:‘现在每点一次‘申请权限’按钮,手都会抖一下——但反而觉得踏实。’
微信扫码关注关注乱码泥石流,领取限时福利:
- 蓝点管理系统正版授权
- 好书推荐及电子版资源
- 最新管理软件资讯推送
- 不定期随机福利