土法炼钢兴趣小组的算法知识备份

【身份与访问控制工程】自建还是采购:Keycloak、Auth0、Entra、Okta 对比

文章导航

分类入口
architecturesecurity
标签入口
#keycloak#auth0#okta#entra#azure-ad#iam#build-vs-buy#tco#identity-platform

目录

Keycloak 工程拆解 中,我们看到了自建 IAM 的工程细节。但很多团队面临的实际问题是:我们应该自建 Keycloak,还是直接买 Auth0/Okta/Entra?

这个问题不能被简化为”开源 vs 商业”的意识形态之争。它是工程经济学——总拥有成本(TCO)、团队能力、业务规模和定制需求的函数。

一、成本模型的工程拆分

IAM 的成本不仅是 license 费用。完整的成本模型包括:

TCO = License Fee
    + Infrastructure (compute + storage + network)
    + Operations (部署、监控、升级、故障处理)
    + Engineering (定制开发、集成、API 对接)
    + Knowledge (培训、文档、团队学习曲线)
    + Risk (供应商锁定、合规风险、供应商 outage)

1.1 自建 Keycloak 的成本

以一个中等规模的 B2B SaaS 公司为例(10 万 MAU,5 个企业 SSO 集成):

成本项 估算 说明
基础设施 2-4 vCPU + 8 GB RAM + RDS PostgreSQL 约 $200-400/月(双节点 + LB)
运维人力 0.3-0.5 FTE 升级、监控、故障处理、备份恢复
定制开发 因人而异 自定义认证流、与内部系统集成、UI 定制
HA/多活 额外 1.5-2x 基础设施成本 多区域部署、数据库复制
License $0 Apache License 2.0

隐性成本: - Keycloak 的版本升级不是零成本的——从 21.x 到 22.x 的 Quarkus 迁移,从 24.x 到 25.x 的 API 变更,都需要投入时间。 - Keycloak 的内部知识积累——团队中至少需要 1 人深入理解 Keycloak 的 SPI、Authentication Flow 引擎和数据库 schema。

1.2 采购 Auth0 / Okta 的成本

以 Auth0 的 B2B 定价为例(2026 年公开信息):

成本项 估算 说明
License(B2B Essential) $800/月起 (1000 MAU) → $3000+/月 (10 万 MAU) MAU 阶梯定价,含 OIDC/SAML SSO
Enterprise SSO 附加 额外费用(企业套餐) SAML/OIDC 对接企业 IdP
MFA 附加 包含或附加 Auth0 的 Adaptive MFA 为附加模块
组织(Organization) B2B 套餐包含多租户 Okta 的 Org2Org 更成熟
运维 $0(SaaS) Auth0 承担全部基础设施
定制 UI 低代码配置 深度定制受限——不能用 SPI 写自定义代码
供应商锁定 未来切换成本高 迁移 10 万用户的认证数据到另一个平台是大型工程

1.3 盈亏平衡点

粗略估算:对于一个 MAU 在 5000 以下的 SaaS 创业公司,Auth0 的 Free Tier 或低端付费计划(~$300/月)远低于自建 Keycloak 的人力和基础设施成本(~$800/月)。

对于 MAU 在 10 万以上的 SaaS 公司,Auth0/Okta 的年费用($30,000-$80,000/年)与自建 Keycloak 的一个专职 IAM 工程师的年薪(包含 on-call 和其他成本)处于同一量级。此时决策取决于其他因素——定制深度、数据主权、合规需求。

二、功能对比:不是什么都能互相替代

能力 Keycloak (自建) Auth0 Okta Workforce Azure AD / Entra ID
OIDC / OAuth 2.0 全支持 全支持 全支持 全支持
SAML 2.0 全支持 全支持 全支持 全支持(原生)
社交登录 内置(Google/GitHub/Facebook 等) 内置 + 更多 有限 Microsoft / Google
自定义认证流 SPI 编写任意 Authenticator Auth0 Actions (Node.js) Okta Workflows (低代码) 条件访问策略
多租户 (B2B) 手动架构(多 Realm 或 Group 隔离) Organizations (B2B 套餐) Org2Org B2B 直接联合
User Federation 内置(LDAP/AD + 自定义 SPI) 有限(企业连接器) AD/LDAP Agent 原生 AD 集成
审计与合规 自建日志管道 Auth0 Log Streams Okta System Log Entra 审计日志
API 授权 手动集成(配合 OPA/Cedar) RBAC + FGA (基于 OpenFGA) 有限 Entra Permissions Management

关键差异:

三、决策框架

flowchart TD
    Q1{"业务是 B2C<br/>还是 B2B?"}
    Q1 -->|"B2C<br/>(百万级用户)"| A1["采购 Auth0 / 云厂商方案<br/>自建 Keycloak 的运维成本<br/>在 B2C 量级下失控"]
    Q1 -->|"B2B<br/>(千-10万级用户)"| Q2{"是否需要深度定制<br/>或数据主权要求?"}

    Q2 -->|"需要"| Q3{"团队有 2+ 人<br/>能投入 IAM?"}
    Q3 -->|"有"| A2["自建 Keycloak<br/>+ 配合 OPA/Zanzibar"]
    Q3 -->|"没有"| A3["采购 Auth0 / Okta<br/>(企业级功能匹配)"]

    Q2 -->|"不需要"| Q4{"是否已全栈使用<br/>Microsoft/Azure?"}
    Q4 -->|"是"| A4["Entra ID<br/>(生态协同优势)"]
    Q4 -->|"否"| A3

    A1 -.->|"如果业务复杂度增加<br/>(如多租户权限)"| A2
    A3 -.->|"如果 MAU 增长到<br/>License 成本超过人力成本"| A2

工程判据:如果以下三个条件中满足两个,建议自建: 1. MAU > 50,000(商业 license 费用 > 一名 IAM 工程师的年薪)。 2. 需要深度定制认证流程(有自己的认证因素、与内部系统有复杂的实时交互)。 3. 数据主权或合规要求数据不得出特定区域(Auth0/Okta 的数据中心选择有限或不满足合规)。

四、迁移成本的事前评估

在选择”自建”或”采购”时,必须考虑切换成本:


上一篇Keycloak 工程拆解:Realm、Client、Flow 与扩展机制 下一篇CIAM 架构:面向 B2B / B2C SaaS 的身份平台

同主题继续阅读

把当前热点继续串成多页阅读,而不是停在单篇消费。

2026-06-14 · architecture / security

【身份与访问控制工程】SCIM 与账号生命周期:开通、变更、离职自动化

SSO 只解决认证,SCIM 解决账号的生命周期管理。但 SCIM 2.0 的实现远不是调几个 REST API 那么简单:User/Group schema 的映射、Delta vs Full sync 的同步策略、Patch 操作语义,每个环节都有坑。本文从账号生命周期的四个关键事件出发,拆解 SCIM 2.0 的核心协议、同步模式、Schema 扩展,以及与企业 IdP(Azure AD、Okta)对接的实际工程经验。

2026-06-13 · architecture / security

【身份与访问控制工程】IAM 全景:为什么这是高价值赛道

从 2020 年 SolarWinds 到 2024 年 Okta 支持系统泄露,身份基础设施的安全失败反复证明一件事:IAM 不是 IT 支撑系统,而是安全架构的承重墙。本文建立现代 IAM 的全景地图——从认证协议、令牌体系、权限模型到身份治理与平台选型,给出 5 个贯穿全系列的核心问题。

2026-06-20 · architecture / security

【身份与访问控制工程】Keycloak 工程拆解:Realm、Client、Flow 与扩展机制

Keycloak 是 CNCF Incubating 项目中最成熟的 IAM 平台,也是自建身份系统的首选开源方案。但它不是'下个 JAR 跑起来就行'的简单软件——Realm 的隔离模型、Authentication Flow 的执行引擎、Client Scope 和 Protocol Mapper 的职责分离、自定义 SPI 扩展点——理解这些内部架构才能做好生产部署。本文从 Keycloak 的核心概念模型出发,拆解其内部执行路径和扩展机制。

2026-04-21 · architecture / security

身份与访问控制工程

从 OIDC、OAuth 2.1、SAML、SCIM 到多租户权限、CIAM、PAM 与身份平台选型——系统拆解现代身份与访问控制的协议、架构与工程实践。


By .