AI生成了对这个问题的初步了解,由此我们进入深入探讨
SAML 简介
安全断言标记语言 (Security Assertion Markup Language, SAML) 是一种开放联合标准,允许身份提供商 (IdP) 对用户进行身份验证并将身份验证令牌传递给其他服务提供商 (SP)。SAML 让 SP 无需自行执行身份验证即可运行,并通过传递身份来整合内部和外部用户。它允许通过网络(通常是应用或服务)与 SP 共享安全凭证。SAML 能够在公有云环境、其他支持 SAML 的系统以及选定数量的位于本地或不同云中的其他身份管理系统之间实现安全的跨域通信。借助 SAML,您可以针对支持 SAML 协议和服务的任意两个应用启用单点登录 (SSO),从而允许 SSO 代表一个或多个应用执行多项安全功能。
SAML 与用于编码此信息的 XML 变体语言相关,还可以涵盖构成标准一部分的各种协议消息和配置文件。
SAML 的两个主要安全功能
- 身份验证:判断用户是否与其所述身份相符
- 授权:将用户授权传递给应用,以访问特定系统或内容
SAML 在身份提供方与 SP 之间传递用户、登录名和属性的相关信息。每一个用户对 IdP 进行一次身份验证后,便可将其身份验证会话无缝扩展至潜在的众多应用。当用户尝试访问这些服务时,IdP 会将所谓的 SAML 断言传递给 SP。SP 会根据身份来请求授权和身份验证。
SAML 示例:
- 登录并访问 SSO 身份验证。
- 从身份提供方导出元数据并导入。
- 身份系统将了解有关 SSO 身份提供方的更多信息,以便于从身份系统导出元数据。
- 将元数据提供给您的 SSO 身份提供方团队。
- 测试并启用 SSO。
- 建议用户仅使用自己的 SSO 凭证进行登录。
SAML 提供方
SAML 提供方是一个系统,可帮助用户获取所需服务的访问权限。SAML 在 IdP 和 SP 双方之间传输身份数据。SAML 提供方主要分为两类:
身份提供方 (IdP) - 执行身份验证,并将用户的身份和授权级别传递给服务提供商 (SP)。IdP 已对用户进行了身份验证,SP 将根据 IdP 提供的响应允许访问。
服务提供商 (SP) - 信任 IdP 并授权指定用户访问所请求的资源。SP 需要来自 IdP 的身份验证才能为用户授权,由于两个系统共享相同的语言,因此用户只需登录一次。
什么是 SAML 断言?
SAML 断言是身份提供方发送给 SP 的 XML 文档,内含用户授权状态。SAML 断言有三种类型,即身份验证、属性和授权决策。 “断言(assertion)”,断言是什么? 就是做出判断的语言。
- 身份验证断言有助于验证用户的身份,并提供用户登录的时间以及所使用的身份验证方法(例如密码、MFA、Kerbeos 等)
- 所分配的断言会将 SAML 令牌传递给 SP。假定 SAML 用于标识用户的属性在 IdP 和 SP 目录中是相同的。SAML 属性是提供用户相关信息的特定数据片段
- 授权决策断言可说明用户是否获得使用服务的授权,或者身份提供方是否因密码失败或缺乏服务权限而拒绝了请求。比如一句话: 小明是超级管理员。 这就是一个断言。再来一个例子:小红没有权限读取根目录。这也是一个断言。 这种“做出判断的语句” 我们在很多场合都需要用到。 比如你在网上尝试登陆一个服务的时候, 这个服务需要知道你是不是合法的用户。 这个时候如果你能提供一个“安全,可靠,可信任”的断言:“小明有权登陆XX服务”, 那么这个服务就知道你合法了, 于是就能为你提供服务了。 实际上SAML的大部分用例就在于证明你是谁,你拥有什么权限等等了。 saml中大部分主要内容也都是类似于:你是谁, 你有什么。
SAML 和 OAuth 使用场景
SAML 主要用于启用 Web 浏览器单点登录 (SSO)。SSO 的用户体验目标是允许用户通过一次身份验证获得对各个安全系统的访问权限,而无需对每个系统重新提交凭证。此外,其安全目标是确保在每一个安全边界满足身份验证要求。SAML中加入了安全措施。 当然现今能抵御假冒,篡改,重放攻击的利器就是公钥-私钥系统了。 通过给断言加上签名和加密,再结合数字证书系统就确保了SAML不受攻击。
- 管理云端和本地身份:通过使用工作流、简化式用户供应和用户自助服务,实现统一的身份和访问管理。开放标准集成可减少间接费用和维护负担,从而简化云端和本地的用户供应和管理
- 简化身份任务:减少在多个环境中重复进行用户、角色和组别的变更需求,从而在本地与云端服务之间建立一个同步身份权限的身份桥梁
- 零信任策略:使用基于云技术的服务来实施访问策略,实现单点登录 (SSO)、强密码实施和多因素身份验证 (MFA)。用户访问因为设备、位置或活动而被视为高风险时,自适应身份验证可通过增加登录要求来降低风险
- 管理消费者数字访问:通过自助用户界面和品牌可定制的登录屏幕来丰富消费者访问体验。灵活的客户访问支持有助于使用 REST API 和基于标准的集成来整合第三方服务和自定义应用
什么是安全断言标记语言 (SAML)?| Oracle 中国
Higher Logic Thrive Community Corporate | Higher Logic
OneLogin 是一家云身份访问管理解决方案提供商,可以通过其身份认证系统一键登录企业内部所有需要的系统平台。支持基于 SAML 2.0(安全断言标记语言 2.0)的联合身份验证,SAML 2.0 是 OneLogin 等许多身份验证提供商(Identity Provider,IdP)使用的一种开放标准。 使用身份提供商可实现联合单点登录(Federated Single Sign-on,SSO),管理者可以授权通过联合身份验证的用户