SAML将所有与检索、传输和共享安全信息相关的功能标准化为以下形式:
* 为用户提供XML安全信息格式和请求及传输信息的格式。
* 定义这些消息与SOAP等协议协作的方式。
* 为像Web SSO这样的常见用例定义精确的消息交换。
* 支持众多种隐私保护机制,包括在不披露用户身份的情况下确定用户属性的功能。
* 详述在Unix、Microsoft Windows、X509、LDAP、DCE和XCML这些广泛应用的技术所提供的格式中处理身份信息的方法。
* 提供一种系统的元数据机制,使得所有参与其中的系统能就所支持的SAML选项进行通讯。
此外,SAML的设计特别关注了灵活性。遇到标准尚未涵盖的需求时可扩展。
SAML的角色、断言和语句
一个联邦环境至少包括三个角色。
* 信任方——利用身份信息;具代表性的信任方是Service Provider,由其决定允许何种请求。
* 断言方——提供安全信息;SAML称之为“Identity Provider”。
* 主题——与身份信息相关的用户。
任何环境下都会有许多主题和数个Service Provider。也可能存在多个Identity Provider。
基本上,Service Provider或信任方需要了解三件事情:
* 身份信息。
* 产生请求的一方请求的用户是主题。
* 提供身份信息的Identity Provider是可信任的。
在SAML中,断言携带信息。断言中包含头信息、主题名称和一个或多个语句。头信息包含Identity Provider的名称和像发行与有效期等其他信息。
两类最重要的语句为:
* 身份验证语句——关于该主题是一个在特定时间和地点、使用特殊的方法进行过身份验证的报告。SAML提供了超过20种不同身份验证方法的详细定义。身份验证语句支持SSO, 其中Identity Provider代表Service Provider进行登录。
* 属性语句——包含与主题有关的属性。一条属性语句中的典型属性是组和角色,除此之外还会携带财政数据或任何其它属性。
一种断言可同时携带这两种类型的语句。也可以自行定义其他语句类型。实际上,XACML已经定义一个可传送策略的语句和一个通讯授权决策结果的语句。
SAML的强项之一就是其灵活性。Identity Provider能对断言进行数字签名。而且它还可选择使用其它像SSL这样的方法,以确保信息的完整性。断言可以包含一个名为Subject Confirmatin的元素,Service Provider使用该元素来确定断言中的信息是否涉及提出当前请求的一方。再强调一下,SAML允许Service Provider采用多种手段实现此目的。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
API设计:如何正确开发应用程序接口
在交互组件化软件的世界里,没有比让组件之间以及组件与移动设备和浏览器之间进行连接的应用程序接口(API)更重要的东西了。
-
REST vs. SOAP:如何挑选最好的Web服务
在应用没有任何服务器端的组件情况下,有没有可能直接通过我的应用数据库直接使用这些Web服务?
-
BEST:SOAP/XML和REST的替代方案
虽然拥有大量的机架服务器,以及大量软件开发人员的组织,基于web和集成服务的SOAP和REST很适合他们,但也会出现问题。
-
REST和SOAP 谁使移动应用最受益?
你应该听说过REST,如果在移动应用开发中使用REST,而不是使用SOAP,最大好处是什么?