XACML-条件评估(Condition evaluation),规则评估(Rule evaluation),策略评估(Policy evaluation),策略集评估(PolicySet evaluation)

本文由@呆代待殆原创,转载请注明出处。

 

一、条件评估(Condition evaluation)

<Condition>元素缺失时或评估结果为真时,条件值为True。

<Condition>元素评估为假,返回False。

<Condition>元素中的表达式评估为不确定,Indeterminate。

 

二、规则评估(Rule evaluation)

规则评估与Target和Condition有关。

 

当Target返回No match时,Rule返回NotApplicable。

当Target返回Indeterminate时,Rule返回Indeterminate。

当Target返回Match或者Target为空时,Rule的返回值与Condition有关:

1, Condition为True,Rule返回值为Effect(取值为Permit或者Deny)。

2, Condition为False,Rule返回NotApplicable。

3, Condition为Indeterminate,Rule返回Indeterminate。

总结如图:

 

 

三、策略评估(Policy evaluation)

策略评估与Target和Rule有关。

 

当Target返回No match时, Policy返回NotApplicable。

当Target返回Indeterminate时,Policy返回Indeterminate。

当Target返回Match时,Policy的返回值与Rule有关:

1, 至少有一个Rule返回了Effect或者Indeterminate,则Policy返回的值由rule-combining algorithm决定。

2, 所有的Rule都返回NotApplicable,Policy返回NotApplicable。

总结如图:

 

 

四、策略集评估(PolicySet evaluation)

策略集评估与Target和Policy有关。

 

当Target返回No match时, PolicySet返回NotApplicable。

当Target返回Indeterminate时,PolicySet返回Indeterminate。

当Target返回Match时,PolicySet的返回值与Policy有关:

1, 至少有一个Policy返回了Decision或者Indeterminate,则PolicySet返回的值由Policy-combining algorithm决定。

2, 所有的Policy都返回NotApplicable,PolicySet返回NotApplicable。

总结如图:

 

本文参考:

[1] http://docs.oasis-open.org/xacml/3.0/xacml-3.0-core-spec-os-en.html#_Toc325047147

posted @ 2016-04-12 17:13  呆代待殆  阅读(452)  评论(0编辑  收藏  举报