单点登录
本文约需 2 分钟阅读
单点登录 (SSO: Single Sign-On) 是一种通过一次认证即可访问多个服务和应用程序的机制。用户无需为每个服务分别输入密码,便利性大幅提升。它在企业内部系统和云服务中被广泛采用。根据 Okta 2024 年的调查,每位员工平均使用 80 个以上的 SaaS 应用,SSO 的重要性正不断提高。
SSO 与 OAuth 的区别
SSO 和 OAuth 是相关的技术,但所解决的问题不同。 SSO 提供「一次认证即可登录多个服务」的认证便利性。 OAuth 提供「不交出密码即可向应用委派权限」的授权安全性。在实现层面,SSO 通过 SAML 2.0 和 OpenID Connect (OIDC) 等协议实现。 OIDC 是在 OAuth 2.0 之上增加了认证层,将 OAuth 的授权功能与 SSO 的认证功能整合在一起。面向企业的 SSO 以 SAML 为主流,面向消费者的社交登录则以 OIDC 为主流。
SSO 的运作机制
在 SSO 中,中央认证服务器 (IdP: Identity Provider) 统一管理用户的认证。当用户在 IdP 完成认证后,便会签发认证令牌,各个对接的服务会验证该令牌以授予访问权限。具有代表性的 IdP 包括 Okta、Azure AD、Google Workspace 等。SSO 与认证基础设施的书籍 (Amazon)可供深入学习。
现场使用案例
“将 SSO 基础设施整合到 Okta 后,每位员工平均减少了 12 个不再需要的密码。向 IT 帮助台提交的密码重置请求也减少了 70%。”
SSO 流程
实务中的风险与对策
SSO 虽然方便,但存在成为「单点故障」的风险。一旦 SSO 的认证信息泄露,所有对接的服务都会受到影响。为降低这一风险,应为 SSO 账户设置尤其强大的随机密码,并务必启用多因素认证。实务中常见的陷阱是,因为引入了 SSO 就认为「无需密码管理」。不支持 SSO 的服务依然存在,它们需要各自独立的强密码。此外,还应考虑到 SSO 提供商发生故障时无法登录所有服务的风险,提前确保紧急情况下的旁路手段也十分重要。企业安全书籍 (Amazon)也很有参考价值。
这篇文章对您有帮助吗?