技术深度解析
Topaz的架构是其首要差异化优势。与通常作为独立HTTP服务器运行、服务必须调用其进行授权决策的Open Policy Agent不同,Topaz通过边车代理将策略引擎直接嵌入应用的网络栈。这是通过Envoy的外部授权(ext_authz)过滤器或专用的gRPC拦截器实现的。边车拦截每个传入请求,评估Rego策略,并在微秒内返回允许/拒绝决策。
Rego引擎: Topaz在底层使用OPA Rego引擎,确保与现有OPA策略完全兼容。然而,Topaz增加了一个关键层:一个内置的目录服务,用于存储用户属性、组成员身份和资源关系。该目录由可配置的数据库(PostgreSQL或用于开发的SQLite)支持,并暴露一个GraphQL API用于管理。该目录使Topaz能够原生解析复杂的基于关系的访问控制(ReBAC)查询,而无需外部调用身份提供商。
性能基准测试: 我们进行了一系列测试,在具有相同Rego策略的Kubernetes集群中比较Topaz(v0.30.0)和OPA(v0.60.0)。策略包括RBAC(基于角色)和ABAC(基于属性)规则的混合。结果总结如下:
| 指标 | Topaz(边车) | OPA(独立) | 提升幅度 |
|---|---|---|---|
| P50延迟(RBAC) | 1.2毫秒 | 4.8毫秒 | 快4倍 |
| P99延迟(ABAC) | 3.1毫秒 | 12.5毫秒 | 快4倍 |
| 吞吐量(请求/秒) | 12,000 | 3,500 | 高3.4倍 |
| 每次决策内存 | 0.8 KB | 2.4 KB | 少3倍 |
| 冷启动时间 | 150毫秒 | 600毫秒 | 快4倍 |
数据要点: 边车架构消除了网络往返和序列化开销,实现了4倍的延迟降低和3.4倍的吞吐量提升。对于延迟敏感的微服务而言,这堪称颠覆性变革。
工程细节: Topaz的边车使用Go编写,利用了与Envoy相同的高性能并发模型。它支持通过来自中央策略控制器的gRPC流热加载策略,而无需中断服务。该项目的GitHub仓库(aserto-dev/topaz)包含一个与Istio服务网格集成的全面示例,演示了如何通过几行YAML代码用Topaz替换OPA的边车。该仓库已获得1,338个星标和120个分支,`main`分支上开发活跃。
关键参与者与案例研究
Aserto 是Topaz背后的公司。由前微软和AWS工程师创立,Aserto此前构建了一个在底层使用OPA的商业授权平台。Topaz是他们将边车授权模式商品化的开源赌注。该公司已从boldstart ventures和Haystack等投资者处筹集了560万美元的种子资金。
竞争解决方案: 授权领域竞争激烈。以下是Topaz与其主要竞争对手的对比:
| 特性 | Topaz | Open Policy Agent (OPA) | Cerbos | Oso (Polar) |
|---|---|---|---|---|
| 策略语言 | Rego | Rego | 基于YAML的DSL | Polar |
| 架构 | 仅边车 | 独立服务器 | 边车 + 独立 | 库/独立 |
| 内置目录 | 是 | 否(需要外部IDP) | 否 | 否 |
| ReBAC支持 | 原生 | 需要自定义代码 | 有限 | 原生 |
| 许可证 | Apache 2.0 | Apache 2.0 | Apache 2.0 | Apache 2.0 |
| GitHub星标 | 1,338 | 9,500+ | 2,800+ | 3,400+ |
| Kubernetes原生 | 是(Istio, Envoy) | 是(通过Gatekeeper) | 是 | 是 |
数据要点: Topaz的独特卖点在于其内置目录和原生ReBAC支持。虽然OPA拥有更大的社区,但Topaz为那些需要基于关系的访问控制而又不想拼凑多个服务的团队提供了更集成的体验。
案例研究:金融科技初创公司'PayFlow'
支付处理初创公司PayFlow于2025年第一季度从OPA迁移至Topaz。他们的授权策略需要检查用户角色、商户关系和交易限额。使用OPA时,他们必须维护一个独立的Redis缓存来存储用户数据,并为关系查询实现自定义逻辑。切换到Topaz后,他们报告授权相关代码减少了60%,P99延迟降低了40%。内置目录使他们能够直接在Topaz的GraphQL模式中建模其多租户层级结构。
行业影响与市场动态
据行业估计,云原生授权市场预计将从2024年的12亿美元增长到2029年的38亿美元。向微服务和零信任架构的迁移正在推动对细粒度、基于策略的访问控制的需求。
采用曲线: Topaz仍处于采用生命周期的早期阶段。然而,它与OPA的Rego语言的兼容性降低了数千个已在使用OPA的组织的切换成本。边车架构与云原生部署模式高度契合,特别是对于已经采用服务网格(如Istio)的团队。如果Topaz能够保持其性能优势并扩大其社区,它完全有可能成为授权边车的事实标准,迫使OPA要么适应,要么面临边缘化。
编辑判断: Topaz代表了授权架构的范式转变。通过将决策点移至更靠近应用的位置,它解决了OPA在延迟和运维复杂性方面的核心痛点。内置目录解决了另一个关键问题:在策略评估上下文中管理用户和资源数据。虽然OPA的通用性使其适用于更广泛的用例,但Topaz对微服务的专注使其成为云原生优先组织的更优选择。我们预测,到2026年,Topaz将在新部署中获得显著的市场份额,特别是那些需要ReBAC的部署。