理解SAML

  • 安全声明标记语言(SAML)是一种开放标准,允许身份提供商(IDP)将授权凭证传递给服务提供商(SP),它是一个基于XML的标准协议。SAML使用可扩展标记语言(XML)进行身份提供商和服务提供商之间的标准化通信。 SAML是用户身份验证和使用服务授权之间的链接。
  • 角色
    • 当事人/主体:用户
    • 身份提供者(IDP):身份提供者 (IdP) 是一种云软件服务,通常通过登录过程来存储和确认用户身份
    • 服务提供商(SP):这是用户希望使用的云托管应用程序或服务
  • 流程
    • 当事人向服务提供商发出请求。服务提供商接着向身份提供者请求身份验证。身份提供者将 SAML 断言发送给服务提供商,然后服务提供商可以将响应发送给当事人。如果当事人(用户)尚未登录,身份提供者可以提醒他们登录,然后再发送 SAML 断言。
    • 在整个流程中,IDP是负责颁发用户身份,SP负责信任IDP颁发的用户身份, SP和IDP之间的信任关系是需要提前建立的,即SP和IDP需要提前把双方的信息预先配置到对方,通过证书信任的方式来建立互信
  • SAML 断言:是告知服务提供商用户已经登录的消息。SAML 断言包含服务提供商确认用户身份需要的所有信息,包括断言的来源、签发时间,以及有效断言应满足的条件。