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