什么是身份提供商 (IdP)?

身份提供商(IdP)是一种存储和验证用户身份的服务。IdP 通常是云托管服务,常常与单点登录(SSO)提供程序搭配来验证用户的身份。

学习目标

阅读本文后,您将能够:

  • 定义身份提供商(IdP)
  • 了解 IdP 的重要性
  • 了解 IdP 融入到用户身份验证流程的哪一步

相关内容


想要继续学习吗?

订阅 TheNET,这是 Cloudflare 每月对互联网上最流行见解的总结!

参阅 Cloudflare 的隐私政策,了解我们如何收集和处理您的个人数据。

复制文章链接

什么是身份提供商 (IdP)?

身份提供商 (IdP) 是一种存储和管理用户数字身份的服务。IdP 可以比作一种来宾名单,但适用的是数字和云托管应用程序,而不是活动。IdP 可以通过用户名密码组合和其他因素来检查用户身份,也可简单地提供用户身份列表供其他服务提供商(如 SSO)检查。

IdP 不仅限于验证人类用户。从技术上讲,IdP 可以验证连接到网络或系统的任何实体,包括计算机和其他设备在内。由 IdP 存储的任何实体称为“主体”(而非“用户”)。不过,IdP 最常在云计算中用于管理用户身份。

什么是用户身份?

数字用户身份与可由计算机系统验证的可量化因素相关联。这些因素称为“身份验证因素”。身份验证因素有三种:

  • 知识因素:您知道的信息,例如用户名和密码
  • 占有因素:您拥有的东西,例如智能手机
  • 内在因素:您内在的特质,例如指纹或视网膜扫描

IdP 可以使用这些因素中的一个或多个来识别用户。使用多个因素来验证用户身份被称为多因素身份验证 (MFA)

为什么需要 IdP?

数字身份必须在某个地方进行跟踪,尤其是对于云计算,其中用户身份决定了某个人能不能访问敏感数据。云服务需要确切知道在哪里以及如何检索和验证用户身份。

用户身份记录也需要以安全的方式存储,从而确保攻击者无法使用它们来冒充用户。云身份提供商通常会采取额外的预防措施来保护用户数据,对于并非专门用来存储身份的服务,可能会将其存储在不安全的位置,例如向互联网公开的服务器。

IdP 如何与 SSO 服务搭配?

单点登录服务(通常称为“SSO”)提供一个统一的场所,供用户一次登录所有云服务。除了为用户带来更多便利之外,实施 SSO 通常还可提升用户登录的安全性。

在大多数情况下,SSO 和 IdP 是分开的。SSO 服务使用 IdP 来检查用户身份,但实际上并不存储用户身份。SSO 提供商更接近于中转站,而非一站式店铺;它可以比作一家安保机构,被雇用来维护公司安全,但实际上并不从属于公司。

尽管两者互相独立,但 IdP 是 SSO 登录过程的重要组成部分。当用户登录时,SSO 提供商与 IdP 核对用户身份。完成之后,SSO 可以对任意数量的已连接云应用程序验证用户身份。

不过,这并非总是如此。SSO 和 IdP 在理论上可以成为一体。但这种此设置更容易受到在途攻击,攻击者通过伪造 SAML 断言* 来获得对应用程序的访问权。因此,IdP 和 SSO 通常是分开的。

*SAML 断言是从 SSO 服务发送到任何云应用程序的专用消息,用于确认用户身份验证,从而允许用户访问和使用该应用程序。

这一切在实践中会如何?

假设爱丽丝在雇主的办公室中使用她的工作笔记本电脑。爱丽丝需要登录公司的实时聊天应用程序,以便与同事更好地进行沟通。她在浏览器中打开一个标签页,然后加载聊天应用程序。假设她的公司使用 SSO 服务,那么幕后会发生以下步骤:

  • 聊天应用程序向 SSO 询问爱丽丝的身份验证情况。
  • SSO 发现爱丽丝尚未登录。
  • SSO 提示爱丽丝登录。

此时,爱丽丝的浏览器将她重定向到 SSO 登录页面。页面上提供一些栏位,供爱丽丝输入用户名和密码。由于公司要求两步验证,因此爱丽丝还必须输入一个简短的代码,SSO 会自动将这个代码发送到她的智能手机上。完成此操作后,她单击“登录”。现在会发生以下情况:

  • SSO 向爱丽丝公司使用的 IdP 发送 SAML 请求。
  • IdP 向 SSO 发送 SAML 响应,以确认爱丽丝的身份。
  • SSO 将 SAML 断言发送到爱丽丝最初想要使用的聊天应用程序。

爱丽丝被重定向回她的聊天应用程序。现在,她可以和同事们聊天了。整个过程只需几秒钟。

Cloudflare 如何与身份提供者集成?

Cloudflare Zero Trust 通过与 SSO 和 IdP 集成,以管理用户访问,帮助保持内部团队的安全。