SAML简介(beegee译稿)

来源:互联网 发布:腾讯云域名dns未生效 编辑:程序博客网 时间:2024/05/01 16:56

摘要:

SAMLXACML在基于XML的安全认证体系中扮演不同的角色,但同样重要。设计权限访问控制服务,特别要实现跨组织、跨域、跨应用系统的统一安全访问控制,不能不了解SAML

SAML Overview

安全断言标记语言(SAMLSecurity Assertion Markup Language)由OASIS基于XML安全服务技术委员会(SSTCOASIS XML-Based Security Services Technical Committee)开发。SAML是一种基于XML的用于交换安全信息的框架。在这个框架下,安全信息被表达为关于主体(Subject)的断言(Assertion),而这个主体就是某一访问场景中,处于特定域中被唯一标识的实体(人或电脑)。一个典型的主体例子就是在某Internet DNS域里面的用email唯一定位的某位操作者人。断言可以根据主体、主体的属性、授权等信息来转换计算出(安全)验证信息(如:该主体是否被允许访问某资源等)。断言被表达为XML格式,并具有嵌套的结构。单个断言可以包含若干不同的节点用于记录验证、授权、属性信息的数据。注意断言包含的安全验证结果是对发生动作的安全验证。断言是SAML中名称验证、属性验证、授权验证、策略判断等行为的验证结果描述。SAML还定义了一个客户端向SAML安全验证发送断言请求以及回应(Request/Response)的协议。这个协议包括对基于XML的请求/回应消息格式的定义。这些消息可以被绑定到很多主流的交换传送协议上,当然,现在SAML只实现了一个绑定――SOAP,通过它可以实现基于HTTP的安全验证请求和回应。

Why SAML?

为什么需要SAML?主要4个方面:

l        浏览器Cookie的局限性:大多数SSOSingle-Sign On,单点登录)产品都使用浏览器的Cookie来保持登陆状态以避免二次登录带来的开销。但浏览器Cookie不能在跨越DNS命名域作用。所以,如果在“www.abc.com”获得一个Cookie,不能被任何HTTP消息发送到“www.xyz.com”。而这样的需求对于很多企业组织跨DNS命名域构建时便不能被满足。所以,要解决跨域SSOCDSSOCross-Domain SSO)问题,就需要使用其它技术了。所以的SSO产品在解决CDSSO问题都是采用非Cookie的技术了。

l        SSO互操作的需要:单点登录产品如何实现SSOCDSSO是完全因产品而异的。如果同一组织是跨DNS命名域构建,或你的应用需要组织和组织外的业务伙伴协作,有CDSSO的要求,这样你必须在所有的域中采用同一SSO产品解决方案。这时,SAML是解决方案提供商可以常依靠的技术。

l        Web Services的应用需要:在Web Services中使用的安全标准还在定义中。大多数的注意力都集中在如何在点到点的基础上提供机密性、授权完成性解决方案。SAML标准提供了这样的标准,身份认证和认证断言等信息可以在相互通讯的组成部分间交换。

l        组织联合的需要:跨组织边界的简单定位管理的需要,这使得用户能裁减合并若干不同的定义标准为单一定义标准(或者,至少可以减少标准的数量)。

原创粉丝点击