SAML 2.0
SAML 2.0 |
---|
|
安全断言标记语言 2.0 (SAML 2.0) 作为 SAML 的最新标准, 用来在安全域中交换身份验证(Authentication)数据和 授权(Authorization)数据。[1]
目录
介紹
SAML 2.0基于XML协议,使用包含断言(Assertions)的安全令牌在SAML授权方(即身份提供者,Identity_provider,缩写为IdP)和SAML消费方(即服务提供者,Service Provider,缩写为SP)之间传递委托人(通常是一个终端用户)的信息。SAML 2.0 可以实现基于网络跨域的单点登录(SSO), 以便于减少向一个用户分发多个身份验证令牌的管理开销。
SAML 2.0在2005年三月正式代替SAML 1.1成为OASIS标准。SAML 2.0的关键特征在官方文档SAMLCore, SAMLBind,SAMLProf和SAMLMeta中有详细地记载。
来自超过24个公司及团体的大约30人参与了SAML 2.0的创建。尤其是,自由联盟将身份联合框架规范(ID-FF)贡献给OASIS,后者成为了SAML 2.0规范的基础。 因此,SAML 2.0实际上是SAML 1.1, Liberty ID-FF 1.2和Shibboleth (Shibboleth Consortium)三种协议的融合。
SAML 2.0断言
断言是一个包含了由SAML授权方提供的0到多个声明(statement)的信息包。SAML断言通常围绕一个主题生成。该主题使用<Subject>
声明。SAML 2.0规范定义了三种断言声明并且每一种都和一个主题相关。详细信息如下:
- 身份验证(Authentication)断言:该断言的主题是在某个时间通过某种方式被认证。
- 属性(Attribute)断言:该断言的主题和某种属性相关联。
- 授权决策(Authorization Decision)断言:该断言的主题被允许或者被禁止访问某个资源。
一種非常重要的SAML斷言類型叫做「Bearer Assertion」。它主要是用來實現Web瀏覽器的單點登錄。下面是一個短期Bearer斷言的例子。一個IdP(https://idp.example.org/SAML2)發布了一個短期Bearer斷言到一個SP(https://sp.example.com/SAML2)。該斷言包括一個身份驗證斷言<saml:AuthnStatement>和一個屬性斷言<saml:AttributeStatement>。SP將使用該屬性斷言實現訪問控制。前綴saml:代表SAML 2.0斷言的命名空間。