Session、JWT、OAuth2、OIDC、SSO、RBAC / ABAC、租户隔离、凭证治理与身份平台建设 (2025-2026)
| 上层 | 依赖的下层 | 关系说明 |
|---|---|---|
| 认证 | 身份凭证 | 没有稳定的密码策略、密钥轮换、证书签发和设备信任,后续任何认证协议都只是纸面安全。 |
| 授权 | 认证结果 | “你是谁”和“你能做什么”是两件事。认证做得再强,权限边界混乱仍然会导致越权和横向访问。 |
| 单点登录 | 认证协议 + 目录系统 | SSO 不只是跳转登录页,而是统一身份源、会话边界、信任关系和生命周期管理。 |
| 租户隔离 | 授权模型 | 多租户系统的真正难点往往不是登录,而是用户、角色、资源和数据如何在租户边界内可靠隔离。 |
| 审计合规 | 全链路身份上下文 | 没有身份、角色、设备、来源和操作记录的贯通,很多权限事故只能靠事后猜测。 |
| 身份平台化 | 工程与治理 | IAM 最难的部分,不是协议名词,而是把账号、权限、审批、回收和审计做成组织级稳定能力。 |
服务端持有会话状态,客户端通常只持有 Session ID。优点是可控、易失效;代价是会话存储、扩缩容和跨节点一致性。
Cookie 只是浏览器携带状态的方式。真正的风险在于 HttpOnly、Secure、SameSite 和跨域策略配置是否正确。
对浏览器 Web 应用来说,很多安全问题不是“要不要 JWT”,而是会话边界、CSRF、防盗用和注销链路是否设计完整。
JWT 适合做可自包含的声明载体,但一旦写入过多状态、过长过期时间或缺少撤销策略,就会放大风险和运维难度。
解决“授权委托”,即让第三方在有限范围内代表用户访问资源。它重点关心角色、授权范围和令牌生命周期。
OIDC 建立在 OAuth2 之上,补齐了身份层语义,让“我是谁”和“我被授权访问什么”可以分层处理。
统一入口、减少重复登录、集中管控账号生命周期、降低离职残留账号和密码分散管理风险。
当多个系统或多个组织之间需要互信时,身份联邦比“每套系统自己建一份账号体系”更可持续。
不是协议跳转,而是目录同步、角色映射、审批流、会话失效、退出登录和跨系统审计是否贯通。
角色驱动授权,易理解、易维护,适合大部分企业后台与平台系统。
当权限依赖资源属性、组织层级、区域、数据分类或关系图谱时,ABAC / ReBAC 往往比纯 RBAC 更贴近真实业务。
多租户权限的难点在于“同一角色在不同租户下的作用不同”,以及资源查询、缓存、导出和审计都不能越界。
用户密码、API Key、数据库凭证、工作负载令牌、证书和云临时凭证都属于 IAM 范畴,只是载体不同。
最小权限、定期轮换、短期凭证、审批发放、撤销路径、泄露检测和全链路审计。
最危险的不是“没有权限系统”,而是系统里长期存在一批没人知道是谁在用、也没人敢删的高权限凭证。
| 类别 | 常见项目 / 服务 | 定位 | 适用场景 | 关键考量 |
|---|---|---|---|---|
| 身份提供商 | Keycloak / Auth0 / Okta / Entra ID | 认证、SSO、用户目录 | 统一登录、B2B、内部平台 | 扩展性、审计、协议兼容 |
| 目录系统 | AD / LDAP / FreeIPA | 账号源与组织结构 | 企业内网、统一身份源 | 同步方式、组织映射、遗留兼容 |
| 授权引擎 | OPA / Cedar / Casbin / Zanzibar 类模型 | 策略计算与权限判断 | 细粒度授权、平台治理 | 策略复杂度、性能、可解释性 |
| Secrets 管理 | Vault / AWS Secrets Manager / KMS | 密钥与凭证生命周期 | 应用凭证、证书、轮换 | 轮换能力、审批流、审计 |
| 多因素认证 | Authenticator / FIDO2 / WebAuthn | 补强登录安全 | 高风险后台、管理系统 | 用户体验、恢复机制、设备兼容 |
| 审计与治理 | SIEM / IAM Audit / Access Review | 留痕、复盘、权限回收 | 合规、敏感系统、零信任治理 | 上下文完整性、回收效率、告警质量 |
| 方案 | 强项 | 代价 | 适合场景 |
|---|---|---|---|
| RBAC | 易理解、易配置、易审计 | 复杂场景下角色容易膨胀 | 大多数后台系统、组织权限 |
| ABAC | 可表达资源属性与上下文条件 | 策略设计和解释成本更高 | 多租户、数据分类、区域化策略 |
| ReBAC | 表达“谁和谁是什么关系”更自然 | 模型与实现复杂度明显更高 | 协作平台、文档空间、共享资源 |
| 协议 | 关注点 | 适用场景 | 关键提醒 |
|---|---|---|---|
| OAuth2 | 授权委托 | 开放平台、第三方访问 | 它解决的是授权,不是完整身份语义 |
| OIDC | 现代身份认证 | Web / App / SSO | 适合把认证与 OAuth2 流程统一化 |
| SAML | 企业身份联邦 | 传统企业系统、老牌 SaaS | 存量多,但新系统一般更倾向 OIDC |
用户、组织、租户、角色、资源和工作负载身份都应该有清晰主源和同步机制,不能在每个系统里各自生长。
权限系统如果只停留在“菜单可见不可见”,而没有覆盖 API、数据导出、运维操作和批处理任务,风险会长期外溢。
IAM 不是一次性上线项目,而是随着组织结构、业务边界、云资源和合规要求不断演进的长期能力。
身份上下文化: 用户、设备、网络、租户和工作负载上下文会越来越多地参与授权决策。
机器身份治理增强: 工作负载令牌、服务账号和短期凭证的重要性会持续提升,不再只关注人类账号。
权限治理平台化: 审批、回收、审计和访问评审会更多沉淀为组织级标准能力。
细粒度授权引擎: 随着多租户和平台化增强,策略引擎和关系型授权模型会更常见。
Passkey / WebAuthn: 减少密码依赖的无密码登录会继续扩张,但组织级落地仍需兼顾恢复和兼容性。
临时凭证与零信任接入: 长期静态凭证会继续被更短周期、更强审计的访问方式替代。
协议理解停留在名词层: OAuth2、OIDC、SAML 名词很多,但真正风险通常来自实现和边界错误。
身份系统碎片化: 每个产品自己建一套账号和权限,最终会让治理、审计和回收全面失控。
只管登录不管生命周期: 入转调离、租户变更、项目结束和权限回收缺失,会持续积累高风险残留权限。