Rules and combining algorithms
Policies can include one or more rules to produce a fine-grained authorization decision of Permit
, Deny
, Indeterminate
, or Not Applicable
.
To evaluate the overall decision of a policy, the policy decision point (PDP) applies a combining algorithm. The default algorithm that is set on a new policy is The first applicable will be the final decision. This algorithm stops evaluating as soon as it reaches a decision that is not Not Applicable
.
The following table identifies available combining algorithms and describes their effects. The charts show one example of a decision evaluation for each combining algorithm; other evaluation paths are possible. The chart legend is displayed before the table. The first column in each chart represents the overall decision returned by the policy. The second column represents child decisions that produce the resulting policy decision.
Combining algorithm | Summary | Details |
---|---|---|
PermitUnlessDeny |
Unless one decision is deny, the decision is permit. |
The policy defaults to |
DenyUnlessPermit |
Unless one decision is permit, the decision is deny. |
The policy defaults to |
PermitOverrides |
A single permit overrides any deny decisions. |
If any children produce the decision |
DenyOverrides |
A single deny overrides any permit decisions. |
If any children produce the decision |
FirstApplicable |
The first applicable decision is the final decision. |
Evaluates the children in turn until one produces an applicable value of |
OnlyOneApplicable |
Only one child can produce a decision. If more than one child produces a decision, the result is indeterminate. |
Evaluates the children in turn. If at any point two children produce a decision other than |
DenyUnlessThreshold |
Permit if the weighted average of applicable child decisions meets the threshold; otherwise deny. |
Assigns the policy’s children weights between |