XACML allows us to specify <Target> tag in both <Policy> as well as in <Rule> tags.
What I would like to understand is that:
- What is the utility of having these at both levels?
- What is the individual effect of both of these methods?
- How and when one should use them together or separately?
Any help in this regard would be appreciated. Thanks.
You can have a
TargetinPolicySet,Policy, andRule. They all achieve the same thing i.e. restrict the scope of the element (PolicySet,Policy, orRule).Your question should be more around why the three elements? it's actually a way to divide and conquer your authorization challenge. Imagine you're tackling authorization for an entire bank. You might have a policy set that focuses on the retail part of the bank and another that focuses on the commercial side of the bank. You would have an attribute in the target of the
PolicySetelement that would distinguish between retail and commercial.Inside the retail bank
PolicySetyou could have another series of policy sets or maybe just policies where theTargetwould distinguish between different applications. Inside eachPolicyelement you could haveRuleelements that would have targets that would distinguish between functions of the applications.HTH