寓言
一把能开的锁和一个不敢开的箱子
老孙在一家银行科技部负责 机关 运维助手。上线前,安全团队给助手配了完整钥匙:能读巡检记录、查变更簿、重启非核心水车。清单列得很细,每项都对应具体门孔。
上线第一周,助手保守得让人着急。水池快满了,它看得到告警,却转给夜班。工程师半夜起来手动放水,这把钥匙明明在助手手里。老孙查了决策记录,发现它认为此事超过了独立处置范围。
老孙意识到问题不在权限层,而在职权层。权限回答的是「你能调哪些接口」,职权回答的是「哪些操作你可以不经过人类批准就自己决定做」。连接池重启在权限清单里是允许的,但在助手的职权配置文件里被标记为「高风险操作,需要人工确认」。
老孙和安全团队重新梳理了职权配置。他们把一百二十多项权限分了三档:自动执行档,包括记录轮转、缓存清理、基础健康检查;建议档,包括参数调优、资源扩容建议——助手提出建议,人类确认后执行;禁止档,包括涉及交易数据的任何操作,即便技术上有权限也不允许自主决策。
调整之后,助手的独立运维覆盖度从原来的百分之十七涨到了百分之六十三。数据库连接池满了,助手自动检测、判断属于自动执行档、直接重启——值班工程师的晚上终于睡完整了。但修改交易路由配置仍然需要人类确认,不管助手的权限有多大。
安全审计时,审计师问老孙:你们怎么防止助手越权操作?老孙展示了双层控制图:外层是权限边界,门孔 级别的访问控制,管的是能不能连上。内层是职权边界,决策级别的自主范围,管的是能不能自己做主。权限是锁匠配的钥匙,职权是守门人的判断标准。
有一次,一个漏洞扫描器误判助手的某次操作为异常行为,报了安全告警。老孙排查后发现:助手的权限边界和职权边界都没被突破——它在职权范围内执行了一个权限允许的操作,只是操作模式跟以往不同。审计团队据此加了一条新规则:权限记录和职权决策记录分开存,交叉对比时能更快定位是技术违规还是决策异常。
年底总结,老孙写了一句话贴在工位上:「钥匙开了门,不代表你该进去。」权限是钥匙,职权是进门的判断。钥匙少配了影响效率,进门判断没做好影响安全。两套规则,两本台账。