当前位置: 首页 > 工具软件 > python-saml > 使用案例 >

SAML

牛经赋
2023-12-01

2003 年初,OASIS 小组批准了安全性断言标记语言(Security Assertion Markup Language,SAML)规范。

实现一次登录的SAML
由于不同的门户站点、用户社区和商业服务采用不同的登录机制,用户被迫保持多个身份,从而导致孤立的业务关系和用户体验。消除这种访问孤立的关键是建立一种联合的身份。
建立联合身份、实现联合商务需要实施一种标准化的、多厂商的、基于Web架构的通用技术,如Liberty Alliance Project的自由架构。一次登录(Single sign-on,SSO)就是一个Web服务用来向另一个Web服务传达有关用户认证信息的技术。安全声明标记语言(Security Assertion Markup Language,SAML)则为一次登录的实现提供了技术框架。
利用SAML,用户可以登录到一家网站,如果该用户得到授权的话,这位用户的认证信息就会被转发给各合作公司的站点,这就使得该用户能够很容易地得到各种服务。以预约服务为例,如果一位用户成功登录到一家航空公司的门户站点后,这位用户不必费力就可以迅速完成其他公司站点的登录过程,进行租车和预定客房服务。
SAML使交换用户、设备以及任何可识别的实体(即SAML标准术语中所谓的“对象”)的认证和授权成为可能。SAML是利用XML的子集来定义系统用来接受或拒绝对象“声明”的请求回答协议。
SAML定义了认证、授权和属性三种声明。认证表明一个对象以前曾得到某种手段(如口令、硬件令牌或X.509公共密钥)的认证;授权表明应当准予或拒绝一个对象使用资源;属性表明对象与属性相关联。
SAML没有规定声明的信任程度,声明的信任程度是由本地系统决定,这会导致由于声明不准确而造成损失。避免这一点需要基于Web的企业之间建立信任关系和达成运营协议,在这类关系或协议中,企业同意在接受一次声明前进行一种验证。
SAML可以与多种通信和传输协议捆绑在一起。它可以与HTTP上的简单对象访问协议相链接。SAML无需cookie就在下列两种配置文件中的一个文件中运行:浏览器/artifact和浏览器/post。在使用浏览器/artifact时,一个SAML artifact作为一个URL查询串的组成部分传输。SAML artifact是指向一个声明的指针。在使用浏览器/post时,SAML声明在一个HTML表格内被上载给浏览器,并作为一次HTTP post的有效载荷的组成部分传送给目的站点。
SAML的影响将是多方面的。它使得一个口令就可以访问多个门户网站成为现实,使得访问Web服务变得不再那么耗费时间和令人厌烦。同时利用SAML,各企业将能够建立起新型的业务合作伙伴关系,创建多样化、易于控制和便利的Web服务。《Network World》

 类似资料: