一、简介
SAML:Security Assertion Markup Language
安全断言标记语言
标识化组织 OASIS
SAML 是一个 XML 框架
由【一组】协议组成,用来传输安全声明
被诸多主流厂商所支持
初始版本 1.0 2002 年发布
2005 年推出 SAML 2.0
三个原有的认证联邦标准
SAML1.1
ID-FF (Identity Federation Framework) 1.2
Shibboleth
构成
二、SAML 2.0 构建
几个技术标准
Extensible Markup Language (XML)
XML Schema
XML Signature
XML Encryption (SAML 2.0 only)
Hypertext Transfer Protocol (HTTP)
SOAP
三、SAML 2.0 的核心内容
在官方文档
SAMLConform
SAMLCore
SAMLBind
SAMLProf
四、SAML 2.0 规范说明书
四方面内容
SAML Assertions -- 断言 -- 定义交互的【数据】格式 (XML)
SAML Protocols -- 协议 -- 定义交互的【消息】格式 (XML+processing rules)
SAML Bindings -- 绑定 -- 定义如何与常见的【通信协议绑定】 (HTTP,SOAP)
SAML Profile -- 使用框架 -- 给出对 SAML 断言及协议如何使用的【建议】 (Protocols+Bindings)
5. 协议标准
SAML 协议标准
两个角色
Identity Provider(IdP)
通常 IdP 负责创建、维护和管理【用户认证】
Service Provider(SP)
通常 SP 控制【用户是否能够使用】该 SP 提供的服务和资源
6. SAML 2.0 规范的具体内容
SAML 断言(Assertion)
一系列
XML 编码格式
安全断言
语法和语义规范
SAML IdP 端生成
发送到 SAML SP 端
SP 端分析和处理断言
三类声明(statements)依据
SP 端 分析并判断 用户能否 接入服务或资源
认证声明 用户认证 单点登录
属性声明 Subject 所具有的属性
授权决策声明 用户 -- 资源 -- 权限 -- 操作
SAML Protocols
SAML 元素(包括断言)
打包到 SAML 请求和响应元素
规定 SAML 实体(IdP、SP 等)处理这些元素时必须遵守的处理规则
一个简单的请求 - 响应协议
SAML Bindings( 绑定 ) -- 映射过程
SAML Protocols 信息 到 标准信息格式或者通信协议(SOAP 、HTTP) 被封装
SAML Profile( 使用框架 )
处理特定的业务
SAML 协议信息(加工/解析请求)和断言(用户+用户操作)
框架 最常用 Web Browser SSO
SAML 2.0 较之 SAML1.1 提供了【更多】使用框架