2. 零信任架构参考模型与关键组件

零信任不是一句“默认不信任”的口号,而是一套可落地的控制平面与数据平面协同机制。NIST SP 800-207 给出的参考模型,把零信任拆成若干职责明确的组件:策略引擎(Policy Engine, PE)负责最终裁决,策略管理员(Policy Administrator, PA)负责建立和撤销连接,信任代理(Policy Enforcement Point, PEP)负责在数据通路上真正放行或阻断。理解这三者的分工与交互,是理解整个零信任架构的钥匙。

一、参考模型的整体分层

零信任参考模型可以理解为两个平面:控制平面与数据平面。控制平面由策略引擎和策略管理员组成,它们不直接承载业务流量,而是负责“判断”和“下令”。数据平面由信任代理组成,它位于每一次访问的必经之路上,负责“执行”。此外,模型还包含若干支撑数据源:持续诊断与缓解系统(CDM)提供设备与资产状态,威胁情报源提供外部风险信号,身份管理系统提供用户身份与属性,数据访问策略定义资源与权限规则。这些数据源共同为策略引擎提供决策依据。

这种分层的意义在于:决策与执行解耦。策略引擎可以集中、复杂、频繁地计算风险,而信任代理只需轻量、快速地执行“放行/阻断/隔离”的指令。这样既保证了策略的一致性,又避免在每个数据通路上重复实现复杂逻辑。

控制平面(决策与下令) 策略引擎 PE 最终裁决:允许 / 拒绝 综合身份、设备、环境 计算信任评分与风险 输出会话决策 策略管理员 PA 执行 PE 的决策 建立 / 撤销会话通道 下发令牌与配置 通知 PEP 放行或阻断 决策结果 决策数据源 身份管理系统 CDM 设备状态 威胁情报源 数据访问策略 输入信号 数据平面(执行与承载) 访问主体 用户 / 设备 / 应用 发起访问请求 信任代理 PEP 数据通路上的执行点 放行 / 阻断 / 隔离 上报会话状态 受保护资源 业务系统 / 数据 API / 服务 访问请求 授权流量 下发指令 状态反馈 决策与执行分离:PE 负责判断,PA 负责下令,PEP 负责执行

二、策略引擎:零信任的“大脑”

策略引擎是整个架构的决策核心。它不直接接触业务流量,而是接收来自各数据源的信号,计算出一个访问请求是否应该被允许。具体来说,策略引擎的输入包括:用户身份与属性(来自身份管理系统)、设备健康状态(来自 CDM)、当前环境上下文(如地理位置、时间、网络类型)、以及威胁情报中的风险信号。策略引擎内部通常维护一套策略规则和信任评分模型,例如:

输入信号示例:
  用户身份:alice@corp.com,角色=财务
  设备状态:已注册,磁盘加密=开启,补丁级别=最新
  环境上下文:公司内网,工作时间
  威胁情报:该 IP 无恶意记录

策略引擎计算:
  信任评分 = 身份权重(0.3) × 身份可信度(0.95)
           + 设备权重(0.3) × 设备健康度(0.90)
           + 环境权重(0.2) × 环境风险(0.85)
           + 情报权重(0.2) × 情报信誉(0.95)
           = 0.285 + 0.270 + 0.170 + 0.190 = 0.915

决策阈值:信任评分 ≥ 0.80 → 允许;0.60~0.80 → 限制访问;< 0.60 → 拒绝
本例结果:0.915 ≥ 0.80,策略引擎输出“允许”决策

需要强调的是,上述权重和阈值是教学示例,实际部署中应根据业务敏感度、合规要求和风险偏好进行调整。策略引擎的关键价值在于:它把分散的身份、设备、环境、情报信号统一到一个可计算、可审计的决策框架中,避免“凭感觉放行”。

三、策略管理员:决策的执行调度者

策略管理员是策略引擎与信任代理之间的桥梁。策略引擎输出的是“允许/拒绝”这样的抽象决策,而策略管理员负责把这个决策翻译成具体的动作。当决策为“允许”时,策略管理员会通知信任代理建立会话通道,并可能下发一次性令牌、会话密钥或访问配置;当决策为“拒绝”时,策略管理员会指示信任代理阻断该请求;当决策为“限制访问”时,策略管理员可能指示信任代理只放行特定端口或特定 API。

策略管理员还承担会话生命周期管理的职责。零信任强调“持续验证”,因此策略管理员会在会话过程中接收信任代理上报的状态变化(如设备突然离线、用户切换到高风险网络),并据此决定是否撤销会话。这种“建立—监控—撤销”的闭环,是零信任区别于传统边界防护的重要特征。

四、信任代理:数据通路上的执行点

信任代理是零信任架构中唯一直接接触业务流量的组件。它部署在主体与资源之间的数据通路上,可以是一个网关、一个代理服务、一个 Sidecar,也可以是终端上的一个客户端。信任代理的核心职责非常明确:执行策略管理员下发的指令,对每一个访问请求进行放行、阻断或隔离。

信任代理的工作方式通常是“先拦截、后转发”。当主体发起访问请求时,信任代理不会直接放行,而是先向策略管理员确认该请求是否已获得授权。只有收到明确的放行指令后,信任代理才建立到资源的连接。这种机制确保了任何未经验证的流量都无法到达受保护资源。同时,信任代理还会持续采集会话状态并上报,为策略引擎的持续评估提供实时输入。

五、三者的交互关系与典型时序

把三个组件放在一起看,一次完整的访问大致经历以下交互:主体向信任代理发起请求;信任代理向策略管理员请求授权;策略管理员向策略引擎请求决策;策略引擎综合各数据源信号后输出决策;策略管理员根据决策向信任代理下发指令;信任代理执行放行或阻断,并将结果反馈给策略管理员。整个过程可以用“请求—决策—执行—反馈”来概括,但真正重要的是每个环节的职责边界:策略引擎只做判断,策略管理员只做调度,信任代理只做执行。

理解要点:策略引擎和策略管理员属于控制平面,不承载业务流量;信任代理属于数据平面,是流量的必经之路。三者职责分离,既保证了策略的集中一致性,又保证了执行的高效与可扩展。

六、常见误区与排障提示

在实际部署中,一个常见误区是把策略引擎和策略管理员合并成一个组件。虽然小规模场景下可以合并,但一旦业务规模扩大,决策逻辑和会话调度会相互干扰,导致策略更新困难、故障定位复杂。另一个误区是认为信任代理越少越好。实际上,信任代理需要覆盖所有访问路径,任何绕过信任代理的“旁路”都会成为零信任的缺口。

排障时,可以按以下顺序定位问题:先确认信任代理是否收到请求并正确转发给策略管理员;再检查策略管理员是否成功调用策略引擎;然后核对策略引擎的输入数据源是否完整、是否有过期或缺失的信号;最后检查策略引擎的决策结果是否符合预期阈值。如果决策正确但访问仍失败,则问题很可能出在策略管理员到信任代理的指令下发环节,或信任代理到资源的连接配置上。

注意:零信任的“持续验证”意味着决策不是一次性的。会话建立后,如果设备状态、用户行为或威胁情报发生显著变化,策略引擎应重新评估并可能撤销会话。因此,信任代理的状态上报通道必须保持可靠,否则持续验证就无从谈起。

总结来说,策略引擎、策略管理员和信任代理构成了零信任架构的“决策—调度—执行”铁三角。策略引擎回答“能不能访问”,策略管理员回答“怎么建立访问”,信任代理回答“是否真的放行”。三者各司其职、紧密协作,才能把“默认不信任、持续验证”的原则落到每一次具体的访问请求上。