安全断言标记语言 (Security Assertion Markup Language, SAML) 是一种开放联合标准,允许身份提供商 (IdP) 对用户进行身份验证并将身份验证令牌传递给其他服务提供商 (SP)。SAML 让 SP 无需自行执行身份验证即可运行,并通过传递身份来整合内部和外部用户。它允许通过网络(通常是应用或服务)与 SP 共享安全凭证。SAML 能够在公有云环境、其他支持 SAML 的系统以及选定数量的位于本地或不同云中的其他身份管理系统之间实现安全的跨域通信。借助 SAML,您可以针对支持 SAML 协议和服务的任意两个应用启用单点登录 (SSO),从而允许 SSO 代表一个或多个应用执行多项安全功能。
SAML 与用于编码此信息的 XML 变体语言相关,还可以涵盖构成标准一部分的各种协议消息和配置文件。
了解 Oracle 如何使用 SAML 实现一键提高安全性。
了解如何利用 SAML。
SAML 在身份提供方与 SP 之间传递用户、登录名和属性的相关信息。每一个用户对 IdP 进行一次身份验证后,便可将其身份验证会话无缝扩展至潜在的众多应用。当用户尝试访问这些服务时,IdP 会将所谓的 SAML 断言传递给 SP。SP 会根据身份来请求授权和身份验证。
SAML 示例:
SAML 提供方是一个系统,可帮助用户获取所需服务的访问权限。SAML 在 IdP 和 SP 双方之间传输身份数据。SAML 提供方主要分为两类:
身份提供方 (IdP) - 执行身份验证,并将用户的身份和授权级别传递给服务提供商 (SP)。IdP 已对用户进行了身份验证,SP 将根据 IdP 提供的响应允许访问。
服务提供商 (SP) - 信任 IdP 并授权指定用户访问所请求的资源。SP 需要来自 IdP 的身份验证才能为用户授权,由于两个系统共享相同的语言,因此用户只需登录一次。
SAML 断言是身份提供方发送给 SP 的 XML 文档,内含用户授权状态。SAML 断言有三种类型,即身份验证、属性和授权决策。
SAML 主要用于启用 Web 浏览器单点登录 (SSO)。SSO 的用户体验目标是允许用户通过一次身份验证获得对各个安全系统的访问权限,而无需对每个系统重新提交凭证。此外,其安全目标是确保在每一个安全边界满足身份验证要求。
用户体验对于任何应用都极其重要。从用户与系统交互的那一刻起,用户体验就已经形成,而用户的第一个活动通常是登录。如果登录操作比较繁琐或不直观,就会降低应用的整体使用体验。对于外部身份而言,云原生的身份即服务 (IDaaS) 平台就像是 OCI 的前门,Oracle Identity Cloud Service (IDCS) 能够以此方式管理各种应用及服务的用户访问和权限。在此基础上,组织可以启用零信任策略,将用户身份管理建立为新的安全边界。
注:为免疑义,本网页所用以下术语专指以下含义: