2. 零信任架构参考模型与关键组件
零信任不是一句“默认不信任”的口号,而是一套可落地的控制平面与数据平面协同机制。NIST SP 800-207 给出的参考模型,把零信任拆成若干职责明确的组件:策略引擎(Policy Engine, PE)负责最终裁决,策略管理员(Policy Administrator, PA)负责建立和撤销连接,信任代理(Policy Enforcement Point, PEP)负责在数据通路上真正放行或阻断。理解这三者的分工与交互,是理解整个零信任架构的钥匙。
一、参考模型的整体分层
零信任参考模型可以理解为两个平面:控制平面与数据平面。控制平面由策略引擎和策略管理员组成,它们不直接承载业务流量,而是负责“判断”和“下令”。数据平面由信任代理组成,它位于每一次访问的必经之路上,负责“执行”。此外,模型还包含若干支撑数据源:持续诊断与缓解系统(CDM)提供设备与资产状态,威胁情报源提供外部风险信号,身份管理系统提供用户身份与属性,数据访问策略定义资源与权限规则。这些数据源共同为策略引擎提供决策依据。
这种分层的意义在于:决策与执行解耦。策略引擎可以集中、复杂、频繁地计算风险,而信任代理只需轻量、快速地执行“放行/阻断/隔离”的指令。这样既保证了策略的一致性,又避免在每个数据通路上重复实现复杂逻辑。
二、策略引擎:零信任的“大脑”
策略引擎是整个架构的决策核心。它不直接接触业务流量,而是接收来自各数据源的信号,计算出一个访问请求是否应该被允许。具体来说,策略引擎的输入包括:用户身份与属性(来自身份管理系统)、设备健康状态(来自 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,也可以是终端上的一个客户端。信任代理的核心职责非常明确:执行策略管理员下发的指令,对每一个访问请求进行放行、阻断或隔离。
信任代理的工作方式通常是“先拦截、后转发”。当主体发起访问请求时,信任代理不会直接放行,而是先向策略管理员确认该请求是否已获得授权。只有收到明确的放行指令后,信任代理才建立到资源的连接。这种机制确保了任何未经验证的流量都无法到达受保护资源。同时,信任代理还会持续采集会话状态并上报,为策略引擎的持续评估提供实时输入。
五、三者的交互关系与典型时序
把三个组件放在一起看,一次完整的访问大致经历以下交互:主体向信任代理发起请求;信任代理向策略管理员请求授权;策略管理员向策略引擎请求决策;策略引擎综合各数据源信号后输出决策;策略管理员根据决策向信任代理下发指令;信任代理执行放行或阻断,并将结果反馈给策略管理员。整个过程可以用“请求—决策—执行—反馈”来概括,但真正重要的是每个环节的职责边界:策略引擎只做判断,策略管理员只做调度,信任代理只做执行。
六、常见误区与排障提示
在实际部署中,一个常见误区是把策略引擎和策略管理员合并成一个组件。虽然小规模场景下可以合并,但一旦业务规模扩大,决策逻辑和会话调度会相互干扰,导致策略更新困难、故障定位复杂。另一个误区是认为信任代理越少越好。实际上,信任代理需要覆盖所有访问路径,任何绕过信任代理的“旁路”都会成为零信任的缺口。
排障时,可以按以下顺序定位问题:先确认信任代理是否收到请求并正确转发给策略管理员;再检查策略管理员是否成功调用策略引擎;然后核对策略引擎的输入数据源是否完整、是否有过期或缺失的信号;最后检查策略引擎的决策结果是否符合预期阈值。如果决策正确但访问仍失败,则问题很可能出在策略管理员到信任代理的指令下发环节,或信任代理到资源的连接配置上。
总结来说,策略引擎、策略管理员和信任代理构成了零信任架构的“决策—调度—执行”铁三角。策略引擎回答“能不能访问”,策略管理员回答“怎么建立访问”,信任代理回答“是否真的放行”。三者各司其职、紧密协作,才能把“默认不信任、持续验证”的原则落到每一次具体的访问请求上。