跳至正文

机器翻译。英文版本为权威来源,母语审校尚未完成。

实战手册

实践手册:HITL 审批流程

逐步讲解从请求到决策的人在环审批——风险分层、职责分离、计划哈希绑定、关键操作的双人控制,以及法定人数不可达时的紧急越权

最近更新:

HITL 把关确保没有高风险代理操作在没有人类判断的情况下进行。本实践手册详述了完整的审批生命周期——从受治理操作触发请求的那一刻到风险等级解析、人类决策和紧急越权应急阀——让你在生产中遇到之前就能追踪每个活动部件。

如果你还没有阅读授权模型,请先从治理开始。指南治理与审批从操作员角度覆盖了相同的机制;本页是逐步参考。

请求生命周期

审批请求以默认拒绝和有时间限制方式打开。它以 pending 状态开始,携带过期时间,在足够的人类做出决策之前不授权任何内容。请求无法降低自身的标准——匹配的审批策略对阈值和超时具有权威性。

请求绑定到精确工具调用载荷的计划哈希。这是反 TOCTOU 防御:如果底层操作在请求和决策之间发生变化,哈希将不匹配,审批将无法绑定。过时的审批永远不会授权不同的操作。

风险等级解析

四个等级驱动受治理操作需要多少人类控制:

等级含义
low / medium仅通过显式审批策略分配——没有默认值
high到达审批队列的任何内容的默认值。需要一次人类审批
critical强制双人底线(NIST SP 800-53 AC-3(2) 双重授权)

等级在每次决策时从实时策略集重新推导,绝不从存储的快照读取。策略变更立即生效。过时的记录永远无法将标准降低到当前分类以下——这是结构性的默认拒绝。

内置的 critical 集合覆盖真正不可逆的操作:生产部署和退役、数据删除和擦除、安全执行和紧急停止开关变更、密钥保管和轮换,以及 NHI 下线。

具有显式 risk_tier 的审批策略可以按操作提高或降低默认值。但它永远不能critical 操作降低到双人控制底线以下。

逐步操作

1. 受治理操作触发请求

受治理操作——部署应用、代理触发、预算覆盖,或任何匹配审批策略的操作——到达审批引擎。引擎以 pending 状态打开新请求。

2. 请求绑定到计划哈希

请求记录精确工具调用载荷的哈希。此计划哈希绑定是 TOCTOU 防御:决策只会授权请求最初创建时对应的操作。

3. 风险等级从当前策略解析

引擎评估实时策略集(RBAC、原生 ABAC 和任何外部 PDP)来推导风险等级。等级绝不从早期评估中缓存。

4. 人类审查者决策

具有足够角色的人类发出 approvedeny。服务器在此时执行三个不变量,基于稳定用户身份:

  • 职责分离。 请求者不能决策自己的请求。这基于稳定用户身份,而非单人可以变化的凭证字符串。
  • 重复决策者防护。 唯一索引防止重复决策者竞争——一个人类只计入阈值一次。
  • 过期绑定。 过期请求永远无法收到绑定决策,即使在清理任务实际标记过期之前。有效状态在每次决策时重新推导。

5. 关键操作:带 AAL3 的双人控制

对于 critical 等级:阈值被设为底线两个不同的人类审批者。底线在创建时(存储的阈值永远不能低于二)和决策时(在操作变为 critical 之前创建的请求仍然无法通过一个人类)都被执行。

每个决策的人类必须有一个新的硬件验证会话——WebAuthn 或 PIV 升级(AAL3)。系统令牌没有人类保证,会被拒绝。

6. 决策记录到账本

每个决策向请求的决策跟踪追加一个不可变行,并且向账本记录一个事件,记录决策、结果状态和做出决策时的风险等级。账本是仅追加的、哈希链化的、Ed25519 签名的——重写历史是密码学上可检测的。

过期

过期在读取时推导,而非只写入一次。过期的请求永远无法收到绑定决策,即使没有后台清理任务实际标记过期。有效状态始终被重新推导,因此慢速清理是外观上的延迟,而非安全漏洞。

策略配置

审批策略允许你按操作类别覆盖默认风险等级。具有显式 risk_tier 的策略可以将操作从 high 移到 low,或将 medium 提升到 critical。唯一的约束:你永远不能将 critical 降低到双人控制底线以下。不可逆操作的双人要求是结构性的,不可配置。

紧急越权

当法定人数不可达时——凌晨 3 点第二个审批者在睡觉的事件——紧急越权提供一个受审计的应急阀。它在结构上就是高调的。

激活需要满足所有条件:

  • 激活者是管理员,始终是真实人类——系统令牌被拒绝。
  • 新的 AAL3 升级(WebAuthn 或 PIV)。
  • 在同一事务中记录的书面说明
  • 作为前提条件的正在录制的会话

时间限制: 授权默认一小时,硬性上限 24 小时。需要更长时间的紧急情况是一种运营模式,而非紧急情况,必须通过正常的双人控制。

每次使用都被记录。 在紧急越权下执行的每个操作都追加一个不可变行和一个账本事件,命名授权、操作和主体。在紧急越权下进行的操作与正常批准的操作是永久可区分的。

强制事后审查。 在任何先前授权未被审查之前,无法激活新授权。审查必须来自与激活者不同的人类。你不能通过堆叠紧急情况来逃避审查。

紧急越权放宽缺失的法定人数;它永远不会覆盖明确的拒绝。 某人有意拒绝的请求保持被拒绝状态。

记录内容

每个决策——批准、拒绝、过期或紧急越权使用——追加到两个位置:

  1. 请求的决策跟踪:请求本身上的不可变决策行序列,每个携带决策者、裁决和时间戳。
  2. 审计账本:哈希链化的、Ed25519 签名的事件,记录决策、结果请求状态和做出决策时的风险等级。

两次写入发生在与状态变更相同的事务中。你无法做出账本静默遗忘的受治理决策。

相关内容

搜索文档