2、零信任核心组件:策略执行点(PEP)、策略决策点(PDP)、身份与访问管理(IAM)、微隔离技术

零信任不是买一个盒子就能搞定的。它是一套组件协同工作的架构。今天咱们就把这四个核心组件拆开揉碎,讲讲它们各自干什么、怎么配合、落地时有哪些坑。

我个人习惯把零信任架构比作一个「安检系统」:PDP 是大脑,PEP 是闸机,IAM 是身份数据库,微隔离是内部区域管控。缺一个,整个系统就瘸腿。

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

PDP 负责做决策。它收到访问请求后,结合身份、设备状态、行为上下文,给出「允许」或「拒绝」的判断。

核心职责:

  • 接收 PEP 转发的鉴权请求
  • 调用 IAM 获取用户/设备属性
  • 执行策略引擎(规则、风险评分、信任等级)
  • 返回决策结果(允许/拒绝/二次认证)

关键点:PDP 必须无状态、高可用。我在项目中遇到过 PDP 挂了导致全网无法访问的惨剧。后来我们做了集群 + 本地缓存兜底,才解决。

PDP 的决策模型一般分三步:

  1. 身份验证——你是谁?
  2. 设备验证——你的设备可信吗?
  3. 上下文评估——这个时间、地点、行为正常吗?

说白了,PDP 就是那个「三连问」的保安队长。你想想看,如果保安队长只看工牌不看人脸,那跟没有安保有什么区别?

2.2 策略执行点(PEP)—— 闸机

PEP 是真正干活的那个。它部署在流量路径上,拦截请求、转发给 PDP 做决策,然后根据结果放行或阻断。

常见形态:

部署位置 典型产品 我踩过的坑
网络边界 防火墙、NGFW 性能瓶颈,SSL 解密太吃 CPU
应用入口 API 网关、反向代理 证书管理混乱,过期没人管
终端侧 Agent、EDR Agent 兼容性差,老系统装不上
云原生 Sidecar Proxy 网格规模大了,控制面压力大

我的建议:PEP 尽量靠近被保护资源。越近,管控粒度越细。但也要考虑性能损耗,别为了安全把业务搞垮了。

嗯,这里要注意:PEP 本身不做决策,它只执行。所以 PEP 和 PDP 之间的通信必须加密、可靠。我曾经见过一个项目,PEP 和 PDP 之间走明文 HTTP,结果被中间人篡改了决策结果……

2.3 身份与访问管理(IAM)—— 身份数据库

IAM 是零信任的基石。没有身份,零信任就是空中楼阁。IAM 管三件事:身份生命周期、认证、授权。

IAM 的核心能力:

  • 身份源:AD/LDAP、HR 系统、社交登录
  • 多因素认证(MFA):密码 + 生物特征 + 硬件 Key
  • 单点登录(SSO):一次认证,多处访问
  • 权限管理:RBAC/ABAC,最小权限原则

避坑指南:我曾经见过一个客户,IAM 里存了 10 万个僵尸账号(离职员工未禁用)。攻击者只要拿到一个僵尸账号,就能畅通无阻。所以,账号生命周期管理比认证本身更重要。

IAM 和 PDP 的关系很紧密。PDP 做决策时,需要 IAM 提供用户属性、组成员、角色等信息。如果 IAM 响应慢,整个鉴权流程就卡住了。

我个人习惯把 IAM 做成「身份中台」,统一管理所有身份数据,对外提供标准 API。这样 PDP 不用关心身份数据存在哪,只管调用接口就行。

2.4 微隔离技术—— 内部区域管控

传统网络靠 VLAN/ACL 做隔离,粗粒度、难维护。微隔离不一样,它基于身份做隔离,粒度可以细到进程级别。

微隔离的三种实现方式:

方式 原理 适用场景 我踩过的坑
主机防火墙 在每台主机上配置 iptables/nftables 传统 IDC,主机数量 < 500 策略同步难,容易配错导致断网
网络 Overlay VXLAN/Geneve + 分布式防火墙 虚拟化/私有云 性能损耗 5%-10%,大流量场景扛不住
Sidecar 代理 Istio/Linkerd 等 Service Mesh K8s 云原生 网格规模大了,控制面内存爆炸

微隔离的核心逻辑是:默认拒绝,按需放行。你想想看,如果攻击者已经进了内网,没有微隔离,他就能横向移动,把整个数据中心翻个底朝天。

关键原则:微隔离的策略必须跟业务绑定,不能跟 IP 绑定。IP 会变,业务不会。我曾经见过一个团队用 IP 写微隔离策略,结果每次扩容都要改几百条规则,最后放弃了。

2.5 组件协同:一次完整的零信任访问流程

光讲组件太抽象,咱们走一遍实际流程。假设用户 Alice 要访问内部 CRM 系统:

  1. 用户发起请求:Alice 打开浏览器,访问 CRM 的 URL。
  2. PEP 拦截:流量到达网关(PEP),PEP 发现没有会话 Token,重定向到认证页面。
  3. PDP 决策:PEP 把请求转发给 PDP,PDP 要求 IAM 验证身份。
  4. IAM 认证:Alice 输入密码 + 手机验证码(MFA),IAM 验证通过,返回用户属性。
  5. PDP 评估:PDP 检查 Alice 的角色、设备合规性、访问时间、地理位置,计算风险评分。
  6. 返回决策:PDP 告诉 PEP「允许访问,但只开放 CRM 的 80/443 端口」。
  7. PEP 执行:PEP 放行流量,同时微隔离策略生效,Alice 只能访问 CRM 服务器,不能访问数据库或文件服务器。
  8. 持续验证:访问过程中,PDP 持续评估风险。如果 Alice 的设备突然掉线或行为异常,PDP 会通知 PEP 切断连接。

你看,整个过程涉及 PEP、PDP、IAM、微隔离四个组件,缺一不可。

2.6 知识体系总览

下面这张图把四个组件的关系画清楚了。我建议你保存下来,做方案时对照着看。

零信任核心组件协同架构 用户/终端 PEP(策略执行点) PDP(策略决策点) IAM 身份管理 微隔离策略 业务资源 ① 访问请求 ② 鉴权请求 ③ 查询身份 ④ 返回属性 ⑤ 决策结果 ⑥ 执行策略 ⑦ 放行/阻断 ⑧ 持续验证 流程说明: ① 用户请求 → ② PEP 拦截并转发给 PDP → ③ PDP 查询 IAM 获取身份属性 ④ IAM 返回用户/设备信息 → ⑤ PDP 决策(允许/拒绝/二次认证) ⑥ PEP 执行决策,同时微隔离策略生效 → ⑦ 放行或阻断流量 ⑧ 访问过程中持续验证,异常时立即切断连接

2.7 落地建议

最后给几条实在的建议:

  • 先建 IAM,再谈零信任——身份都管不好,其他都是白搭。
  • PDP 要做成独立服务——别跟业务耦合,否则改策略要改代码。
  • PEP 要支持热加载——策略变更不能重启服务,否则业务会骂娘。
  • 微隔离从关键业务开始——别一上来就全量推,先试点再推广。
  • 日志审计不能省——出了问题要能追溯,否则安全变黑盒。

我的经验:零信任落地是个渐进过程。别想一步到位,先解决最痛的点。比如先做 VPN 替代,再做微隔离,最后做全量 PDP。这样业务团队更容易接受。