3、零信任架构核心组件:策略引擎、策略决策点、身份与访问管理、微隔离

零信任不是买一个盒子就能解决的问题。它是一套架构思想,需要几个核心组件协同工作。我这些年帮企业做零信任落地,发现很多人把精力花在了选型上,却忽略了组件之间的配合逻辑。

今天我们就拆开看看,零信任架构里最关键的四个组件:策略执行点(PEP)、策略决策点(PDP)、身份与访问管理(IAM),以及微隔离。它们各自干什么,怎么配合,有哪些坑。

3.1 策略执行点(PEP)—— 门卫

PEP 是零信任架构的“门卫”。它守在资源入口,拦截所有访问请求。说白了,没有 PEP,你的策略就是一张废纸。

PEP 的职责很简单:

  • 拦截请求,不让任何流量直接到达资源
  • 把请求转发给 PDP 做决策
  • 根据 PDP 的决策结果,放行或阻断

我在项目中遇到过一种情况:客户在核心数据库前面部署了 PEP,但忘了给管理接口也加上。结果攻击者绕过了数据库的 PEP,直接从管理口进去了。嗯,这里要注意——PEP 必须覆盖所有入口,包括管理接口、API 网关、甚至运维通道。

我的建议:PEP 的部署位置要画一张完整的流量拓扑图。每个箭头都要问一句:“这个入口有没有 PEP 守着?” 漏掉一个,就等于白干。

3.2 策略决策点(PDP)—— 大脑

PDP 是零信任的“大脑”。它接收 PEP 发来的请求,结合上下文信息,做出“允许”或“拒绝”的决策。

PDP 的工作流程大致如下:

  1. 接收 PEP 的请求(包含用户、设备、位置、时间等)
  2. 向 IAM 查询用户身份和权限
  3. 检查设备合规状态
  4. 评估风险等级
  5. 返回决策结果(允许 / 拒绝 / 二次认证)

你想想看,PDP 的决策速度直接影响用户体验。我曾经见过一个项目,PDP 每次决策要花 3 秒,结果用户点一下按钮要等半天。后来我们优化了策略缓存,把决策时间降到了 50 毫秒以内。

避坑指南:PDP 不能做成单点。我曾经见过一家公司,PDP 挂了,整个业务全部瘫痪。PDP 必须做高可用,而且策略数据要实时同步。

3.3 身份与访问管理(IAM)—— 户口本

IAM 是零信任的“户口本”。它管理着谁是谁、有什么权限、属于什么角色。没有 IAM,PDP 就不知道该怎么决策。

IAM 的核心能力包括:

  • 身份治理:用户、角色、组的生命周期管理
  • 认证:密码、MFA、生物识别等
  • 授权:基于 RBAC、ABAC 的权限模型
  • 审计:谁在什么时候做了什么

我个人习惯把 IAM 和 PDP 之间的接口设计成异步的。为什么呢?因为 IAM 的查询有时候会很慢,尤其是跨域认证的时候。异步接口可以让 PDP 先返回一个临时决策,等 IAM 确认后再更新。

组件 核心职责 常见问题
PEP 拦截请求、转发决策、执行放行/阻断 漏掉入口、性能瓶颈
PDP 接收请求、查询上下文、做出决策 单点故障、决策延迟
IAM 身份管理、认证、授权、审计 权限膨胀、跨域认证慢
微隔离 东西向流量控制、横向移动防护 策略冲突、运维复杂

3.4 微隔离 —— 防火墙的进化版

传统防火墙只管南北向流量(从外到内)。但攻击者一旦进了内网,横向移动才是真正的噩梦。微隔离就是干这个的——控制东西向流量,也就是服务器之间的通信。

微隔离的实现方式有两种:

  • 网络层微隔离:在虚拟交换机或主机防火墙上做策略
  • 主机层微隔离:在每台服务器上装 Agent,控制进出流量

我记得有一次帮客户做微隔离,他们一开始选了网络层方案,结果发现策略数量爆炸——几千条规则,运维根本管不过来。后来我们换成了主机层方案,用标签来管理策略,规则数量降到了几十条。

核心原则:微隔离的策略要尽量简单。能用标签就别用 IP,能用组就别用单个主机。策略越复杂,出错的概率越大。

3.5 四个组件如何协同工作

光知道每个组件是什么还不够。你得理解它们怎么配合。我画了一张图,帮你理清关系。

零信任核心组件协同流程图 用户/设备 PEP PDP IAM 微隔离 受保护资源 流程说明 ① 用户请求 → PEP ② PEP → PDP 请求决策 ③ PDP → IAM 查身份 ④ IAM 返回权限 ⑤ PDP 返回决策 ⑥ PEP 放行/阻断 ⑦ 微隔离控制东西向

流程其实不复杂:

  1. 用户请求先到 PEP,PEP 拦住它
  2. PEP 把请求信息发给 PDP,问“这个人能进吗?”
  3. PDP 去 IAM 查身份和权限
  4. IAM 返回结果,PDP 综合评估后做出决策
  5. PDP 把决策返回给 PEP
  6. PEP 执行:放行或阻断
  7. 同时,微隔离在后台控制服务器之间的通信,防止横向移动

你想想看,这个流程里任何一个环节出问题,整个安全体系都会失效。所以我在做架构设计时,一定会给每个组件都做冗余和降级方案。

3.6 落地时常见的坑

说了这么多理论,最后分享几个我踩过的坑:

  • PEP 和 PDP 之间的通信延迟:如果 PEP 和 PDP 不在同一个机房,网络延迟会严重影响用户体验。我建议把 PDP 做成分布式,靠近 PEP 部署。
  • IAM 权限膨胀:很多公司一开始只给员工必要的权限,但时间长了,权限越加越多。我曾经见过一个运维账号,居然有 200 多个权限。定期做权限审计非常必要。
  • 微隔离策略冲突:不同团队各自加策略,最后策略之间互相矛盾。我建议用策略冲突检测工具,或者干脆用标签来统一管理。
我的经验:零信任落地不是一蹴而就的。我一般建议客户先做 IAM 和 PEP,再上 PDP,最后做微隔离。一步一步来,别想一口吃成胖子。