SH

Soloharness

概念 · 辨析 · Agent

← 返回概念辨析

Concept Contrast Fable

职权边界和权限边界

一个定义了「你被允许做什么」,另一个定义了「你敢自己做主的事能有多大」。权限开了但是职权没跟上,系统会问完才动;职权给了但权限没开,系统会想动但动不了。把两个边界搞混,最容易在执行日志里看到一连串被拒绝的操作记录。

寓言

一把能开的锁和一个不敢开的箱子

老孙在一家银行科技部负责 AI 运维助手。系统上线前,安全团队给助手配了完整的权限:能读服务器日志、能查配置变更记录、能重启非核心服务。权限清单列了一百二十多项,每一项都精确到具体的 API 端点。

上线第一周,助手表现保守到了让人着急的地步。数据库连接池快满了,助手看得到这个告警,但不做任何操作就转给了人工值班。值班工程师半夜被叫起来,看了一眼监控,手动重启了一个非核心连接池——这个操作助手明明有权限做。老孙查了助手的决策日志,发现助手判断这个操作超过了它的「独立决策范围」。

老孙意识到问题不在权限层,而在职权层。权限回答的是「你能调哪些接口」,职权回答的是「哪些操作你可以不经过人类批准就自己决定做」。连接池重启在权限清单里是允许的,但在助手的职权配置文件里被标记为「高风险操作,需要人工确认」。

老孙和安全团队重新梳理了职权配置。他们把一百二十多项权限分了三档:自动执行档,包括日志轮转、缓存清理、基础健康检查;建议档,包括参数调优、资源扩容建议——助手提出建议,人类确认后执行;禁止档,包括涉及交易数据的任何操作,即便技术上有权限也不允许自主决策。

调整之后,助手的独立运维覆盖度从原来的百分之十七涨到了百分之六十三。数据库连接池满了,助手自动检测、判断属于自动执行档、直接重启——值班工程师的晚上终于睡完整了。但修改交易路由配置仍然需要人类确认,不管助手的权限有多大。

安全审计时,审计师问老孙:你们怎么防止助手越权操作?老孙展示了双层控制图:外层是权限边界,API 级别的访问控制,管的是能不能连上。内层是职权边界,决策级别的自主范围,管的是能不能自己做主。权限是锁匠配的钥匙,职权是守门人的判断标准。

有一次,一个漏洞扫描器误判助手的某次操作为异常行为,报了安全告警。老孙排查后发现:助手的权限边界和职权边界都没被突破——它在职权范围内执行了一个权限允许的操作,只是操作模式跟以往不同。审计团队据此加了一条新规则:权限日志和职权决策日志分开存,交叉对比时能更快定位是技术违规还是决策异常。

年底总结,老孙写了一句话贴在工位上:「钥匙开了门,不代表你该进去。」权限是钥匙,职权是进门的判断。钥匙少配了影响效率,进门判断没做好影响安全。两套规则,两本台账。

职权边界

定义系统或 Agent 在多大范围内可以自主做出决策,无需人类批准。它说到底是一个信任阈值的配置:哪些操作可以自动执行,哪些必须建议并等待确认,哪些无论权限如何都不能自主决定。

权限边界

定义系统在技术层面可以访问哪些资源、调用哪些接口、执行哪些操作。它是访问控制的具体实现,通常通过 API 密钥、角色绑定和安全策略来管理,回答的是「技术上能不能做」。

故事对应

  • 权限配置了一百二十多项但助手不动:权限开了但职权没配,助手不确定自己能做主做什么。
  • 职权分三档——自动执行、建议、禁止:在权限基础上叠加了决策自主度。
  • 日志轮转自动执行但交易路由需要确认:职权配置按风险等级区分,不是按技术能力区分。
  • 权限是钥匙,职权是进门判断:两个概念控制的维度不同,技术能力 vs. 决策自主权。
  • 权限日志和职权决策日志分开存储:两套日志用于不同的审计场景,交叉对比定位异常。

落到项目里

给 Agent 配置能力时,先写权限清单,再编职权分级表。权限清单用 API 端点和资源类型来定义,职权分级表用「操作类型 × 风险等级」来定义。两个表交叉生成一个矩阵:每一行是一个操作,一列是权限(能/否),一列是职权(自动/建议/禁止)。矩阵里的缺口就是最容易出问题的地方——有权无职(能但不该自己做)或有职无权(该做但做不了)。