现在的位置: 首页 > 综合 > 正文

XACML简介(beegee译稿)

2013年03月07日 ⁄ 综合 ⁄ 共 1588字 ⁄ 字号 评论关闭

引文:http://blog.csdn.net/beegee/archive/2004/09/15/105935.aspx

总结:
1.XACML
(eXtensible Access Control Markup Language),即可扩展的访问控制高标记语言(OASIS组织)

2.主要功能: 1)描述访问控制策略  2)描述判断访问控制的请求和应答方法

3.PEP根据请求者的属性、请求资源、动作以及其它的附属信息来构成一个请求(request)。然后PEP会将该请求发送到PDPPolicy Decision Point,策略判断点)。
PDP会查阅请求以及一些关于该请求的(访问控制)策略信息,并最终回答该访问是否被承认合法

4.访问请求结果:
   Permit
   Deny
   Indeterminate
(错误发生或需要的参数值不可用,无法进行判断)
   Not Applicable(该请求无法被该服务器回应)

5.所有的XACML访问控制策略的根是PolicyPolicySet
  一个PolicySet是一个可以容纳其它PolicyPolicySet的容器,可以通过其引用到非本地的PolicyPolicySetPolicySet可以包含多个策略
  一个Policy表现为一个单一访问控制策略的引用,它通过一套规则(Rule)来表现。Policy可以包含多个规则
  每一个XACML访问控制策略文档都在其XML标签根部包含了唯一的一个PolicyPolicySet 

  XACML协调判断结果的方法:合并算法Combining Algorithms)。每个算法表示一种不同的合并多判断结果到单一判断结果的方法。
  PolicySet采用有“策略合并算法/ Policy Combining Algorithms
  Policy采用“规则合并算法/ Rule Combining Algorithms

6.PDP要做的一部分工作是根据一个请求找到对应的策略。为了实现这一点,XACML提供另一个被称为Target的特性。

Target是请求跟策略的桥梁,Target提供了限制条件进行了索引

PDP根据请求的参数与Target里面的条件对应值就能关联到相应的PolicyPolicySetRule

7.XACML运行时处理的是属性。属性是已知类型的值,可能包括属性定义者的标识或定义日期时间

  Policy以两种机制来解析来自请求或其它来源(其它Policy)中的属性值:AttributeDesignatorAttributeSelector.

AttributeDesignator让策略定义以一个名称和类型来定义属性,同时可以提供一个发布者(issuer)可选项然后PDP就在请求中寻找该属性的值,或判断该属性值是否在请求中可以被找到。

AttributeSelectors使得一个策略根据XPath query的形式查询一个属性值。只要提供一个数据类型和XPath表达式,就可以解析请求文档中的属性值。

AttributeDesignatorAttributeSelector都可以返回多值(因为可能存在一个请求匹配多条件的情况),所以XACML提供一个特殊的属性叫“Bag;

当属性值Bag被获取时,需要通过某种方法对其进行比较以获得预期的访问控制许可决定。这一功能被一个强大的系统函数集实现

在构建这样分级嵌套函数集需要注意的一点是有些函数是被定义为与特定数据类型一起作用(如:stringinteger等)。为了处理这一问题,XACML定义了一套标准的构成类型唯一函数([type]-one-and-only函数),使用在这些函数,如果在Bag中只有一个值时,函数接受Bag中的特殊类型值并返回单一值,或当Bag中无值或多值时报错

Target中并不需要[type]-one-and-only函数



 

 

抱歉!评论已关闭.