1. SSO概述
1.1 什么是单点登录
单点登录(Single Sign-On,SSO) 是一种身份认证机制,允许用户使用一组凭据(用户名/密码、证书、生物特征等)登录一次,即可访问多个相互信任的应用系统,而无需在每个系统中重复输入登录信息。
核心定义:一次认证,全网通行。用户只需在身份提供者(IdP)处完成一次登录,后续访问所有已集成的服务提供者(SP)时,系统自动完成身份验证。
1.2 SSO 解决的核心痛点
在企业信息化建设过程中,随着应用系统数量增长,传统的独立登录方式暴露出以下严重问题:
| 痛点 | 传统登录方式 | SSO 解决方案 |
|---|---|---|
| 密码疲劳 | 用户需要记忆 N 套账号密码,频繁忘记、重置 | 只需记忆 1 组凭据,降低认知负担 |
| 效率低下 | 每次切换系统都要重新输入凭据,打断工作流 | 一次登录,无缝切换,提升工作效率 |
| 安全风险 | 用户使用弱密码、重复密码,或把密码写在便签上 | 集中管控密码策略,支持 MFA,降低泄露风险 |
| 管理成本高 | 每个系统独立维护用户库,离职/调岗需逐个注销 | 统一身份库,集中管理用户生命周期 |
| 审计困难 | 各系统日志分散,无法追踪用户跨系统行为 | 集中审计日志,完整还原用户操作轨迹 |
安全提示:SSO 虽然解决了密码疲劳问题,但也引入了"单点失效"风险——如果 IdP 被攻破,攻击者可访问所有关联系统。因此,SSO 平台必须部署多因素认证(MFA)、异常检测和零信任架构。
1.3 SSO 与普通登录的区别
普通登录(Local Login)与 SSO 在架构、体验和安全性上存在本质差异:
| 对比维度 | 普通登录 | SSO 单点登录 |
|---|---|---|
| 认证主体 | 每个应用独立认证 | 统一认证中心(IdP) |
| 凭据存储 | 分散在各应用数据库 | 集中存储在 IdP 用户库 |
| 会话管理 | 每个应用维护独立 Session | 全局 Session + 局部 Session 协同 |
| 用户体验 | 每访问一个系统都要登录 | 登录一次,访问所有授权系统 |
| 登出操作 | 每个系统单独登出 | 单点登出(SLO),一次登出全部失效 |
| 协议支持 | 通常使用 Form-Based Auth | SAML 2.0、OAuth 2.0、OIDC、CAS 等 |
| 安全等级 | 密码策略不统一,易出现弱密码 | 统一密码策略,支持 MFA、风险检测 |
1.4 SSO 的典型应用场景
SSO 已广泛应用于各类企业级和互联网场景,以下是几种典型落地场景:
- 企业内部办公套件:员工登录一次企业门户,即可访问 OA、邮件、HR 系统、财务系统、项目管理工具等。
- 云服务生态:Google、Microsoft、阿里云等厂商提供 IdP 服务,用户使用同一账号登录 Gmail、Drive、Calendar 等所有云产品。
- SaaS 应用集成:企业使用 Okta、Azure AD、Authing 等身份平台,将 Slack、Jira、Confluence、Salesforce 等第三方 SaaS 统一接入 SSO。
- 跨域 B2B 联盟:多个企业建立信任联盟,合作伙伴员工通过自己的企业 IdP 登录联盟内的共享平台(如供应链系统)。
- 移动端与多端统一:用户通过手机 App 登录后,同一账号在 Web、小程序、桌面客户端之间自动保持登录状态。
实践建议:在规划 SSO 落地时,建议优先从"高频访问 + 低风险"的应用开始试点(如内部 Wiki、项目管理工具),逐步扩展到核心业务系统,并同步部署 MFA 和异常登录检测。