Envoy Gateway + ext_authz 做“入口统一鉴权”,ABP 只做资源执行 🛡️⚙️ 📚 目录 Envoy Gateway + ext_authz 做“入口统一鉴权”,ABP 只做资源执行 🛡️⚙️ 1) 背景 & 目标 🎯 2) 架构与职责边界 🧭 2.1 组件总览 2.2 判定顺序 + 头部去向 3) 环境与版本 🧪 4) 网关:路由 + 统一鉴权 + 头透传 🧱 4.1 业务入口:HTTPRoute 4.2 SecurityPolicy(ext_authz:HTTP 模式) 4.3 超时位置更正(⚠️重要) 4.4 灰度/重试/熔断(集中治理) 4.5 头部大小与风险 5) 授权服务(ext_authz)🧠 5.1 契约要点 5.2 参考实现(HTTP,.NET Minimal · 任意路径+方法) 6) ABP 集成:**只做“资源执行”**(行过滤 + 字段裁剪 + 审计)🧩 6.1 中间件:验签 + 注入访问上下文 6.2 绑定租户(ICurrentTenant)& 与 ABP 默认 `__tenant` 的协同 6.3 行级过滤(RowFilter → 动态表达式/全局过滤器) 6.4 字段裁剪(查询阶段投影)——优先避免拉回无用列 6.5 应用服务组合 🎛️ 7) 失败与回退(Failure Mode)🧯 8) 可观测性与 SLO 📊 9) 压测(k6)🏎️ 10) 版本/兼容性提示 🧩 FAQ 💡 1) 背景 & 目标 🎯 现状痛点:服务内鉴权 → 重复实现、标准不一、高并发下抖动放大。 策略:PDP/PEP 分离,把判定(ext_authz)前移至网关,后端聚焦“执行”。 交付:YAML + .NET 代码 + k6 压测脚本 一把跑通;观测/灰度/回退全链路可操作。✅ 2) 架构与职责边界 🧭 2.1 组件总览 HTTP ext_authz 鉴权 允许: headersToBackend 透传 拒绝: 403/401 Client Envoy Gateway ext_authz Service (HTTP/gRPC) ABP Service DB: EF Core Audit/Logs 2.2 判定顺序 + 头部去向