Reputation: 53
I am studying XACML 3.0 access control and I found this complex question about Evaluate XACML 3.0 combining algorithms. I can solve a simple exercise but this one hard for me and I need some help with it
policy p1: - op: permit-overrides
rule: permit if match all: group = staff, resource = file1
rule: permit if match all: group = student, resource = file2
rule: deny if match: any
policy p2:
op: deny-overrides
rule: deny if match all: time [MBP] = night
rule: permit if match all: time [MBP] = day
policy p3:
op: deny-overrides
policy: p1
policy: p2
Evaluate for each policy the following requests q1, q2 and q3:
q1 = {(group, staff), (resource, file1), (time, day)}
q2 = {(group, student), (resource, file2), (time, night)}
q3 = {(group, staff), (resource, file1)}
Upvotes: 3
Views: 447
Reputation: 21
The other answer is detailed and largely correct except for two cases involving a Rule's Target missing an attribute for which MustBePresent is set to true.
Only those cases will be addressed here in this answer.
The evaluation result is Indeterminate{DP}
The evaluation result is Indeterminate{DP}
The XACML 3.0 specification contain all the details necessary for your understanding
For the attribute retrieval and MustBePresent flag refer to section 7.3.5
For the combining algorithms refer to Appendix C
Upvotes: 2
Reputation: 13832
The policy that grants access during daytime is not necessary. As a matter of fact, it might even open up access you would not want to have. For instance, given the current policy, a student can edit their own exam grades so long as it's daytime.
Upvotes: 2