Hi Wolfgang,
You are right.
The specification says for e.g. the
Permit-overrides algorithm
... If an error occurs while evaluating the target of a policy, a reference to a policy is considered invalid or the policy evaluation results in "Indeterminate", then the policy set SHALL evaluate to "Indeterminate", with the appropriate error status, provided no other policies evaluate to "Permit" or "Deny". ...
.
If an error occurs (missing attribute is an error) but another policy evaluates to
Permit the end-result is
Permit. In my opinion the reason for this is because a decision can be made although the one policy had an error. This means that the decision could also be made if this policy would not be present. This also means that a decision can be made if this attribute (that is missing) is not present. Therefore this behavior.
Does that make sense to you?
Regards,
Florian