3. 零信任架构核心组件
零信任不是买一个盒子就能解决的问题。它是一套架构思想,需要几个核心组件协同工作。我这些年帮企业做零信任落地,发现很多人把精力花在了选型上,却忽略了组件之间的配合逻辑。
今天我们就拆开看看,零信任架构里最关键的四个组件:策略执行点(PEP)、策略决策点(PDP)、身份与访问管理(IAM),以及微隔离。它们各自干什么,怎么配合,有哪些坑。
3.1 策略执行点(PEP)—— 门卫
PEP 是零信任架构的“门卫”。它守在资源入口,拦截所有访问请求。说白了,没有 PEP,你的策略就是一张废纸。
PEP 的职责很简单:
- 拦截请求,不让任何流量直接到达资源
- 把请求转发给 PDP 做决策
- 根据 PDP 的决策结果,放行或阻断
我在项目中遇到过一种情况:客户在核心数据库前面部署了 PEP,但忘了给管理接口也加上。结果攻击者绕过了数据库的 PEP,直接从管理口进去了。嗯,这里要注意——PEP 必须覆盖所有入口,包括管理接口、API 网关、甚至运维通道。
3.2 策略决策点(PDP)—— 大脑
PDP 是零信任的“大脑”。它接收 PEP 发来的请求,结合上下文信息,做出“允许”或“拒绝”的决策。
PDP 的工作流程大致如下:
- 接收 PEP 的请求(包含用户、设备、位置、时间等)
- 向 IAM 查询用户身份和权限
- 检查设备合规状态
- 评估风险等级
- 返回决策结果(允许 / 拒绝 / 二次认证)
你想想看,PDP 的决策速度直接影响用户体验。我曾经见过一个项目,PDP 每次决策要花 3 秒,结果用户点一下按钮要等半天。后来我们优化了策略缓存,把决策时间降到了 50 毫秒以内。
3.3 身份与访问管理(IAM)—— 户口本
IAM 是零信任的“户口本”。它管理着谁是谁、有什么权限、属于什么角色。没有 IAM,PDP 就不知道该怎么决策。
IAM 的核心能力包括:
- 身份治理:用户、角色、组的生命周期管理
- 认证:密码、MFA、生物识别等
- 授权:基于 RBAC、ABAC 的权限模型
- 审计:谁在什么时候做了什么
我个人习惯把 IAM 和 PDP 之间的接口设计成异步的。为什么呢?因为 IAM 的查询有时候会很慢,尤其是跨域认证的时候。异步接口可以让 PDP 先返回一个临时决策,等 IAM 确认后再更新。
| 组件 | 核心职责 | 常见问题 |
|---|---|---|
| PEP | 拦截请求、转发决策、执行放行/阻断 | 漏掉入口、性能瓶颈 |
| PDP | 接收请求、查询上下文、做出决策 | 单点故障、决策延迟 |
| IAM | 身份管理、认证、授权、审计 | 权限膨胀、跨域认证慢 |
| 微隔离 | 东西向流量控制、横向移动防护 | 策略冲突、运维复杂 |
3.4 微隔离 —— 防火墙的进化版
传统防火墙只管南北向流量(从外到内)。但攻击者一旦进了内网,横向移动才是真正的噩梦。微隔离就是干这个的——控制东西向流量,也就是服务器之间的通信。
微隔离的实现方式有两种:
- 网络层微隔离:在虚拟交换机或主机防火墙上做策略
- 主机层微隔离:在每台服务器上装 Agent,控制进出流量
我记得有一次帮客户做微隔离,他们一开始选了网络层方案,结果发现策略数量爆炸——几千条规则,运维根本管不过来。后来我们换成了主机层方案,用标签来管理策略,规则数量降到了几十条。
3.5 四个组件如何协同工作
光知道每个组件是什么还不够。你得理解它们怎么配合。我画了一张图,帮你理清关系。
流程其实不复杂:
- 用户请求先到 PEP,PEP 拦住它
- PEP 把请求信息发给 PDP,问“这个人能进吗?”
- PDP 去 IAM 查身份和权限
- IAM 返回结果,PDP 综合评估后做出决策
- PDP 把决策返回给 PEP
- PEP 执行:放行或阻断
- 同时,微隔离在后台控制服务器之间的通信,防止横向移动
你想想看,这个流程里任何一个环节出问题,整个安全体系都会失效。所以我在做架构设计时,一定会给每个组件都做冗余和降级方案。
3.6 落地时常见的坑
说了这么多理论,最后分享几个我踩过的坑:
- PEP 和 PDP 之间的通信延迟:如果 PEP 和 PDP 不在同一个机房,网络延迟会严重影响用户体验。我建议把 PDP 做成分布式,靠近 PEP 部署。
- IAM 权限膨胀:很多公司一开始只给员工必要的权限,但时间长了,权限越加越多。我曾经见过一个运维账号,居然有 200 多个权限。定期做权限审计非常必要。
- 微隔离策略冲突:不同团队各自加策略,最后策略之间互相矛盾。我建议用策略冲突检测工具,或者干脆用标签来统一管理。