隐身模式,也称私人浏览模式,可阻止网页浏览器在您的设
安全Assertion Markup Language (SAML) 和开放授权 (OAuth) 之间的主要区别在于它们的角色:SAML 专注于身份验证,而 OAuth 致力于授权。 尽管存在差异,但 SAML 和 OAuth 对于改善您的组织的整体安全性是必要的,允许授权用户验证他们的身份并访问适当的资源。
继续阅读以了解 SAML 和 OAuth 是什么、它们的区别、它们的相似之处,以及您的组织是否应该使用它们。
什么是 SAML?
安全Assertion Markup Language (SAML) 通过允许用户使用一组凭证登录并访问多个系统,而无需每次重新输入登录凭证,来简化登录过程。 SAML 通过在身份提供商 (IdP) 和网络应用之间以特定格式发送身份验证信息来工作。 当您尝试登录时,使用 SAML 进行身份验证的网络应用会要求身份提供商对您的登录凭证进行身份验证。 输入您的用户名和密码后,IdP 向网络应用发送称为 SAML assertion 的特殊消息,确认您的身份已经验证。 IdP 会将 SAML assertion 发送到您想要登录的原始网络应用,然后它会评估 SAML assertion,以授予您访问权限。 SAML 简化了多个网络应用上的登录过程,最大限度地减少登录每个应用的时间。
什么是 OAuth?
开放授权 (OAuth) 允许您与第三方应用共享对数据的访问权限,而无需让他们访问您的登录凭证。 想象一下,您想要使用需要访问存储在云中的相机胶卷的应用。 应用会请求访问该数据的权限,重新引导您登录您的云存储提供商。 登录后,系统会询问您是否希望应用访问您的相机胶卷。 如果您接受,则云服务将创建访问令牌,该令牌授予应用访问您的相机胶卷,而无需透露您的登录凭证。 通过使用密钥而不是您的密码授予访问权限,您可以避免与第三方应用共享您的登录凭证。 相反,第三方应用只能访问您批准它查看的内容。
SAML 和 OAuth 之间的主要区别
虽然 SAML 和 OAuth 都是重要的安全协议,您的组织应该实施它以保护数据,但两者之间有几个主要区别。

SAML 和 OAuth 具有不同的使用案例
SAML 专为企业身份验证设计,而 OAuth 专为应用或服务之间的授权而设计。 当您想要登录多个服务而无需每次输入登录凭证时,SAML 在商业环境中特别有用。 假设您的组织使用不同的应用来处理电子邮件、营销、销售和人力资源。 使用 SAML,如果您登录您的组织的门户一次,则您可以访问所有必要的应用,而无需重新登录。
OAuth 有助于在与应用共享数据时保持您的登录凭证安全,例如在社交媒体平台或第三方服务上。 例如,如果您打开要求您使用您的Google帐户登录的工作应用,则该应用正在使用 OAuth。 这意味着一旦您授权它这样做,应用就可以访问您的数据,而无需您的密码。
SAML 和 OAuth 具有不同的安全模型
SAML 使用数字签名和assertion来保护数据,而 OAuth 依赖于访问令牌。 SAML assertion通过在登录过程中验证您的身份来确认您就是您所说的人。 它们经常使用数字签名进行签名,以确保您的信息没有被更改,并且可以信任。
OAuth 使用令牌和scope来授权用户,而不是使用assertion或数字签名。 如果您允许应用访问您的数据,则它会收到访问令牌,允许应用查看您的数据,而无需您的登录凭证。 Scope允许您确定访问令牌的类型。 OAuth 授予特定权限,而无需共享您的密码,强调数据完整性,并限制第三方应用仅访问必要的数据。
SAML 和 OAuth 使用不同的数据格式
SAML 使用包含详细用户属性的基于 XML的 assertion。 XML 格式的 SAML assertion 包括有关用户的详细信息、他们上次登录的时间以及他们应该访问的内容。 由于 XML 很复杂,因此读取和管理它可能更困难,使其成为大型企业的更好的选择。
相比之下,OAuth 使用 JavaScript 对象符号(JSON)来表示数据。 由于 JSON 比 XML更容易读取,因此这种格式对于网络应用中的数据很受欢迎。 OAuth 访问令牌通常表示为 JSON 对象,指定令牌何时到期、授予什么权限,以及用于访问数据的令牌类型。
SAML 的实施比 OAuth 更复杂
SAML 依靠assertion来验证用户的身份,并要求多个系统同时工作,这需要复杂的配置,以确保用户得到相应的身份验证。 在安全方面,SAML 提供更广泛的功能,包括数字签名和加密assertion,这使得使用多个安全层实施它更加复杂。
OAuth 更简单,主要因为它使用JSON而不是XML来表示数据。 由于 JSON 更易于读取且更紧凑,因此它更容易加载,并且控制也不那么严格。 与 SAML 不同,OAuth 需要更少的步骤来设置它,因为您需要的只是应用及其定义的权限。 使用访问令牌而不是证书或assertion,使 OAuth 更容易管理用户权限。
SAML 和 OAuth 以不同的方式管理会话
SAML 创建浏览器会话并处理跨多个应用程序的登录。 通过 IdP 登录应用后,将创建一个会话,允许您访问多个应用,而无需每次输入登录凭证。
这与使用访问令牌来管理会话的 OAuth 不同。 如果您授权应用,则它会收到令牌,允许它在有限的时间内访问您的数据。 如果应用需要扩展的访问权限,则它可以请求新的访问令牌,而无需您重新登录。
SAML 和 OAuth 之间的相似之处是什么?
尽管 SAML 和 OAuth 有许多关键区别,但它们共享几个类似的功能:
- 它们都是开放标准框架,这意味着它们基于任何组织都可以实施的安全准则。
- 它们都启用单点登录 (SSO),允许您使用一组登录凭证访问多个应用或服务。 SAML 和 OAuth 减少您输入登录凭证的次数,从而节省时间并最大限度地降低安全风险。
- 它们都支持联合身份管理 (FIM),允许您登录多个外部服务,比如来自各种组织的应用。 SAML 和 OAuth 允许使用一组登录凭证访问几个 IT 资源,通过assertion和令牌保护登录过程。
您的组织应该使用 SAML 还是 OAuth?
您的组织应该考虑使用它们,而不是在 SAML 或 OAuth 之间选择,因为它们不是可互换的协议。 虽然 SAML 支持用户身份验证和授权,但使用 OAuth 来管理用户特权仍然是有益的。 使用 SAML 和 OAuth 将允许您的组织授予使用 SAML 对系统的访问权限和使用 OAuth 对资源的访问权限。
重中之重
您的组织可以从使用 SAML 和 OAuth 以保护您的数据免受未经授权用户的侵害中受益。 SAML 在访问多个服务或应用时验证用户的身份,而 OAuth 授权应用访问您的数据,而无需共享您的密码。 实施 SAML 和 OAuth 可以通过减少登录多个服务的时间,并创建更简单的交互来保护数据,从而改善您的整体安全性和用户体验。
好奇 Keeper 如何与任何 SAML 2.0 兼容的身份提供商集成?请求 Keeper SSO Connect® 演示,以增强您的组织的整体安全性。