×
研发资源 > 电子百科

XACML

XACML  在基于Web的分布式应用环境中,安全策略广泛使用XACML语言进行表示。XACML(eXtensible Access Control Markup Language, 可扩展的访问控制标记语言)是一种基于XML的开放标准语言,它设计用于描述安全政策以及对网络服务、数字版权管理(DRM)以及企业安全应用信息进行访问的权限。XACML在2003年2月由结构化信息标准促进组织(OASIS)批准,它开发用于标准化XML的访问控制,从而,例如,工人可以使用一个用户名访问多个相关的网址。XACML有时也称可扩展的访问控制高标识语言(XACL)。
  XACML是一种用于决定请求/响应的通用访问控制策略语言和执行授权策略的框架,它在传统的分布式环境中被广泛用于访问控制策略的执行。在典型的访问控制框架中,有策略执行点PEP(Policy Enforcement Point)和策略决定点PDP(Policy Decision Point)。PEP用于表达请求和执行访问控制决定。PDP从PEP处接受请求,评估适用于该请求的策略,并将授权决定返回给PEP。XACML语言的框架结构如图1所示。
  XACML框架结构 
  XACML在策略表达上结构清晰,将安全规则表示为主体,客体,行为和约束四个主要属性的属性值集合。XACML策略表达举例见图2-2。XACML是基于XML的访问控制策略指派语言,使用标签来标识安全策略的各个元素。XACML的标签规定了策略名,规则名及规则属性等,种类丰富。如图2所示,XACML通过<Policy>标签及其属性值声明策略ID,策略适用群组和规则联合算法,以对策略做出标识和说明。PolicyID和PolicyTarget分别用于声明策略ID和策略适用群组,RuleCombiningAlgId声明了规则联合算法,规则联合算法的作用是解决安全策略中不同安全规则可能造成的冲突,以保证每个访问请求只得到一个最终授权结果。策略是由规则组成的,XACML用标签<RuleID></Rule>来标示规则,在规则标签头中,RuleID是规则ID, Effect标示该规则的效用:是一个许可规则还是拒绝规则。在规则体内,用<Target></Target>标示规则的各属性,包括主体Subject,客体Resource和行为Action,对每一个属性,都在相应标签中先标示属性名称,如“FileType”,再标示该属性的属性值。约束属性用<Condition>标签标示,位于<Target>之后。安全规则的四个属性中,如果对某个属性没有安全约束限制,则可以省略该属性的标签。
  XACML实例
  作为国际标准化组织制定的安全策略表示标准,XACML最大的优点就在于它提供了统一的策略描述语言,提高了Web环境下不同组织之间协同工作的效率。XACML能适应多种应用环境,支持广泛的数据类型和规则联合算法,策略表达能力很强,可用来描述各种复杂的和细粒度的访问控制安全需求[18]。但是,XACML在进行安全策略表达时,标签定义比较复杂,且其核心规范[12]认为所有的策略都是可信的,无法适用于委托授权[19]和可信计算[20],也无法提供一个形式化的机制来联合Web服务中不同部分的安全策略[21]。
  XACML设计成与另一个OASIS标准安全性断言标记语言(SAML)协同工作。SAML定义安全系统之间的共享授权信息,例如用户密码和安全检查。使用XACML描述政策的规则引擎(检查已建立的规则并提示与之相符的行为的程序)可将这种信息与已建立的标准比较以判定用户权限。XACML规范是包括IBM、Sun Microsystems和Entrust在内的OASIS成员合作开发的。
相关数据
176次 被浏览次数
1次 编辑次数
|最新活动
|APP下载
下载电巢APP 随时随地看更多电巢视频
|专家解答
关注公众号与专家面对面