"IAM"这个词在行业内经常被作为所有身份相关能力的总称,但技术选型的时候必须精确------每个子领域的设计约束、成熟厂商、开源替代、落地成本都不同。下面拆解六个公认的子领域。
3.1 IAM Core:认证与授权的协议框架
狭义上的 IAM 指企业内员工和系统访问企业资源的认证 + 授权体系。它的核心是几套协议栈:OIDC(OpenID Connect)、OAuth 2.1、SAML 2.0、SCIM 2.0,外加 JWT 和 JWKS。IAM Core 的关键设计点是:
- 用户身份(Principal)的唯一标识与属性模型;
- 认证协议的实现与多因素集成;
- 令牌(Token)的颁发、验证、吊销;
- 授权决策点(Policy Decision Point,PDP)与策略执行点(Policy Enforcement Point,PEP)的架构分层;
- 审计事件的统一模型与发布。
一个典型的 OIDC Authorization Code Flow 请求,IAM Core 需要完整支持:
GET /authorize?
response_type=code
&client_id=my-app-prod
&redirect_uri=https%3A%2F%2Fapp.example.com%2Fcallback
&scope=openid%20profile%20email%20groups
&state=9Qx2K8pL
&nonce=4b7Vfz
&code_challenge=E9Melhoa2OwvFrEMTJguCHaoeK1t8URWbuGJSstw-cM
&code_challenge_method=S256
HTTP/1.1
Host: id.example.com
这条请求背后牵涉的 IAM 能力包括:Client 注册与信任、PKCE 支持、会话建立、MFA 策略评估、Consent 管理、Authorization Code 存储。后续 Token Endpoint 的交换又涉及 Client 认证方式、Token 绑定、Refresh Token 轮转策略。任何一个细节做错都会变成安全事故。
一个生产级的 IAM Core 还要处理密钥管理:签名密钥的生成(RSA 2048+ / EC P-256 / EdDSA)、发布(JWKS 端点)、轮转(至少季度级)、撤销。JWKS(JSON Web Key Set)端点的一个典型响应:
{
"keys": [
{
"kid": "2026-Q2-rsa",
"kty": "RSA",
"alg": "RS256",
"use": "sig",
"n": "xGOr-H0A...",
"e": "AQAB"
},
{
"kid": "2026-Q1-rsa",
"kty": "RSA",
"alg": "RS256",
"use": "sig",
"n": "pL12KoR1...",
"e": "AQAB"
}
]
}
轮转期通常两把密钥并存------旧密钥仍可验证未过期的 Token,新密钥用于签发新 Token。很多工程事故源于密钥轮转没做对:缓存 JWKS 没设合理 TTL、验证端硬编码了密钥、密钥下架过早导致大面积验证失败。这些细节在第 06 篇系统拆。
3.2 CIAM:面向终端客户的身份
CIAM(Customer IAM)是把身份能力做给非员工的"客户"------可能是消费者、合作伙伴、公民(政务场景)、患者(医疗场景)。它和企业 IAM 的核心差异在以下几点:
- 规模:企业 IAM 通常几千到几万用户,CIAM 经常是百万到十亿级;
- 注册流程:自助注册、邮箱/短信验证、社交登录(Social Login:Google、Apple、微信、Facebook 等);
- 用户体验:Passwordless、Passkey、适应式 MFA(Adaptive MFA)、品牌化登录页(White-label)、多语言;
- 隐私合规:GDPR 的"数据主体权利"(Data Subject Rights)------用户有权导出、删除、更正自己的数据;
- 身份数据模型:除了凭据,还有偏好、订阅、家庭关系、消费记录等业务属性;
- 欺诈与滥用:登录爆破、账号接管(Account Takeover,ATO)、虚假注册、撞库攻击。
CIAM 厂商典型产品:Auth0(被 Okta 收购)、Okta Customer Identity、Microsoft Entra External ID、Amazon Cognito、ForgeRock、Transmit Security。开源替代:Keycloak(但原生对海量用户的支持需要调优)、Zitadel、Ory Kratos + Hydra + Keto 组合、Casdoor。CIAM 的实现细节我们会在系列 18 篇单独拆。
3.3 IGA:身份治理与账号管理
IGA(Identity Governance and Administration)是"谁该有什么权限、为什么有、什么时候复核、什么时候回收"的整套治理体系。它解决的是"权限熵增"问题------权限只增不减、越积越多,最终没有人知道谁该有什么、到审计时一片混乱。
IGA 的核心能力包括:
- 角色生命周期(Role Lifecycle):角色的定义、变更、合并、废弃;
- 访问复核(Access Certification / Access Review):定期(季度、年度)让经理或资源所有者复审下属/本资源的权限;
- 职责分离(Segregation of Duties,SoD):定义互斥权限对,如"录入发票"和"审批付款"不能由同一人拥有;
- 请求与审批(Access Request):员工自助申请权限、系统路由到合适的审批人、审批后自动配置;
- 配置(Provisioning)与反配置(Deprovisioning):权限在目标系统的自动化建立和回收。
IGA 厂商:SailPoint、Saviynt、Oracle Identity Governance、OneIdentity、Omada。开源侧相对薄弱,常见做法是基于 Keycloak + Airflow + 自建工作流组合,或使用较新的 ConductorOne、Opal 这类云原生平台。IGA 往往是 IAM 项目里最"慢但必须"的一块------它不直接带来用户体验提升,但是合规的硬性要求,且一旦没做、后面补的成本随着权限数量膨胀。
3.4 PAM:特权访问管理
PAM(Privileged Access Management)聚焦那些"权限过大"的账号:root、Domain Admin、数据库 DBA、云账号的 AdministratorAccess、Kubernetes cluster-admin、CI/CD 的 deploy key。这些账号一旦泄露,攻击者可以横向移动到几乎任何地方,因此需要独立的、比常规 IAM 更严格的控制。
PAM 的关键能力:
- 凭据金库(Credential Vault):特权密码/密钥集中存储、定期轮转、使用时签出;
- 即时访问(Just-in-Time Access,JIT):默认没有特权,使用时通过审批流临时授予、结束后自动回收;
- 会话代理与录制(Session Proxy & Recording):SSH、RDP、数据库会话通过代理,所有命令、屏幕录制保留;
- 特权会话的 MFA 强制与风险评估;
- 服务账号管理:机器到机器的高权限账号(Non-human Identity)。
PAM 厂商:CyberArk(市场领导者)、BeyondTrust、Delinea(Thycotic + Centrify 合并)、HashiCorp Vault(凭据管理方向)、Teleport(基础设施访问方向)、StrongDM、Boundary(HashiCorp)。云厂商也在进入:AWS Systems Manager Session Manager、GCP IAP(Identity-Aware Proxy)、Azure PIM(Privileged Identity Management)。PAM 和 IGA 的边界在国外大厂经常合并,国内则通常由堡垒机产品覆盖一部分。
3.5 SSO:跨应用单点登录
SSO 严格来说不是一个子领域,而是 IAM Core 的一个核心用例。但它在企业采购语境下经常被独立对待------企业说"我要买 SSO",具体指的是"我要一个 IdP,让员工登录一次就能访问所有 SaaS"。
SSO 的技术栈主要两类:
- SAML 2.0:XML 协议,浏览器 POST 绑定,成熟但笨重,广泛用于企业 IdP 与传统 SaaS;
- OIDC:JSON + JWT,轻量,对 SPA / 移动端更友好,新 SaaS 首选。
两者在企业场景长期共存------这是第 02 篇和第 04 篇会深入拆的内容。SSO 还涉及一个常被忽略的维度:登出(Single Logout,SLO)。SAML 有 SLO 流程,OIDC 有 RP-Initiated Logout 和 Front-Channel/Back-Channel Logout。SLO 的生产实现非常脆弱,几乎每个大型企业都有"登出了但某个应用还在线"的长期痛点------会话撤销的内部机制我们会在第 07 篇系统拆。
3.6 目录服务:身份的权威源
目录服务(Directory Services)是最老、最容易被忽视、但必不可少的一层。它回答"谁存在、属于哪个组、属性是什么"。主流实现:
- LDAP(Lightweight Directory Access Protocol):协议层面,RFC 4510 系列;
- Active Directory(AD):微软产品,企业内网事实标准,集成 Kerberos、组策略、LDAP;
- OpenLDAP / 389 Directory Server / FreeIPA:开源 LDAP 实现;
- 云目录:JumpCloud、Google Workspace Directory、Okta Universal Directory、Entra ID(本质上是云 AD)。
现代 SaaS 通常不直接暴露 LDAP,但会通过 SCIM 与目录同步。一个常见的设计是把 HR 系统(Workday、BambooHR)作为"权威源"(Source of Truth),推送到目录(AD / Entra ID),再通过 SCIM 扇出到所有下游 SaaS。这条数据链的健壮性直接决定了 JML 自动化是否可靠。