4. 零信任策略引擎选型与部署
零信任架构落地时,最容易被混淆的两个概念是策略决策点(PDP,Policy Decision Point)与策略执行点(PEP,Policy Enforcement Point)。PDP 负责“判断该不该放行”,PEP 负责“真正执行放行或阻断”。在多云环境中,二者往往不在同一朵云、不在同一网络域,甚至不属于同一供应商,因此选型与部署的核心问题不是“选哪个产品”,而是“决策与执行如何分工、如何连接、如何保证一致”。
一、PDP 与 PEP 的职责边界
PDP 是策略计算中心,输入包括身份上下文(用户、设备、服务账号)、环境上下文(源 IP、地理位置、时间、TLS 指纹)、资源上下文(云账号、VPC、K8s 命名空间、标签)以及风险信号(威胁情报、异常行为评分)。它输出的是一个决策结果,通常为 Allow / Deny / Allow-with-conditions,并附带会话有效期、所需认证强度等约束。PEP 则是数据面组件,部署在流量必经路径上,负责拦截请求、向 PDP 发起授权查询、缓存决策并执行。PEP 本身不做复杂策略推理,它只忠实执行 PDP 的判定。
在多云场景下,PDP 通常集中部署或采用“中心 PDP + 区域 PDP”两级结构,而 PEP 必须分布式部署在每朵云的入口、每个集群的 sidecar、每个网关或每个工作负载旁。这种“中心决策、边缘执行”的分离,是零信任区别于传统边界防火墙的关键。
二、三种典型 PDP/PEP 架构对比
多云环境下常见的架构有三种。第一种是集中式 PDP + 分布式 PEP:PDP 部署在管理云或独立安全 VPC,所有 PEP 通过 gRPC 或 HTTPS 向 PDP 请求授权。优点是策略统一、审计集中;缺点是跨云调用引入延迟,且 PDP 成为可用性瓶颈。第二种是分层 PDP:全局 PDP 负责策略定义与分发,区域 PDP 部署在每朵云内,PEP 就近向区域 PDP 查询。这样既保留统一策略源,又把决策延迟压到毫秒级。第三种是嵌入式 PDP:PEP 内置轻量决策逻辑,仅定期从中心同步策略包,适合边缘节点或断网场景,但策略一致性风险较高。
| 架构 | 决策延迟 | 策略一致性 | 可用性风险 | 适用场景 |
|---|---|---|---|---|
| 集中式 PDP | 跨云 20–80ms | 强 | PDP 单点 | 云数量少、合规要求高 |
| 分层 PDP | 本地 2–10ms | 较强(最终一致) | 区域 PDP 可降级 | 多云多区域、延迟敏感 |
| 嵌入式 PDP | <1ms | 弱(策略包延迟) | 策略漂移 | 边缘、离线、IoT |
三、最小可行部署(MVP)设计
最小可行部署的目标不是覆盖全部场景,而是用最少组件跑通“身份认证 → 策略决策 → 策略执行 → 审计”闭环。建议选择两朵云(云 A 为主、云 B 为辅),部署一套分层 PDP 和两类 PEP。以下为示例参数,实际部署时需按环境调整。
# 示例:区域 PDP 配置(云 A)
pdp:
mode: regional
listen: 0.0.0.0:8443
tls:
cert: /etc/pdp/tls.crt
key: /etc/pdp/tls.key
clientCA: /etc/pdp/ca.crt # 校验 PEP 客户端证书
upstream:
globalPDP: https://pdp.global.example.com:8443
syncInterval: 30s # 策略包同步周期
cache:
decisionTTL: 30s # 决策缓存有效期
maxEntries: 100000
policy:
bundle: /var/lib/pdp/policy.bundle
signatureVerify: true # 策略包签名校验
# 示例:入口网关 PEP 配置(云 A)
pep:
type: gateway
pdpEndpoint: https://pdp-a.internal:8443
identity:
mtls: true
jwtIssuer: https://idp.example.com
jwtAudience: api.internal
enforcement:
defaultAction: deny # 默认拒绝
failMode: closed # PDP 不可达时拒绝
cacheTTL: 30s
audit:
sink: https://audit.example.com/ingest
sampleRate: 1.0
部署顺序建议为:先部署全局 PDP 并导入基础策略,再部署区域 PDP 并验证与全局 PDP 的策略同步,然后在云 A 入口网关接入 PEP 并开启 fail-closed,最后在云 B 复制同类 PEP。每完成一步,用一条测试请求验证决策链路是否贯通。
四、验证与判断依据
验证时重点观察四个指标:一是授权查询延迟,区域 PDP 本地决策应稳定在 10ms 以内;二是决策缓存命中率,稳态下应高于 90%,否则说明 TTL 过短或策略粒度过细;三是 fail-closed 行为,主动停掉 PDP 后,PEP 应在缓存过期后拒绝新请求,而不是放行;四是审计日志完整性,每次 Allow/Deny 都应携带请求 ID、身份主体、资源标识和决策依据。若发现 PEP 在 PDP 不可达时仍持续放行,说明 failMode 配置错误或缓存 TTL 过长,这是零信任部署中最危险的配置偏差。