This document clarifies the behavior of deny and grant policies within EEM (Embedded Entitlements Manager), specifically addressing the question of whether a deny policy consistently overrides a grant policy. The common assumption is that a deny policy should always take precedence over a grant policy.
When comparing deny and grant policies in EEM, the outcome (deny or grant) depends on several factors beyond just the policy type. If all configurable parameters are equal between competing policies, then a deny policy will indeed take precedence over a grant policy. However, if these parameters are not equal, a grant policy might be applied instead of a deny.
Consider the following scenarios:
"Use Best Match Algorithm" is Disabled:
"Use Best Match Algorithm" is Enabled:
Example with "Use Best Match Algorithm" Enabled and Regular Expressions:
PRD.* with "Treat resource names as regular expressions" = OFFPRD.* with "Treat resource names as regular expressions" = ONPRD.123PRD.* is interpreted as PRD followed by a literal dot (.) and then a wildcard (*). This matches the first 4 characters (PRD.) of PRD.123 more explicitly.PRD.* is interpreted as PRD followed by any character (.) and zero or more occurrences of the previous character (*). In this context, it effectively matches only the PRD part as the . is a special regex character and the * applies to it. The match is effectively only 3 characters (PRD)."Use Best Match Algorithm" is Disabled (Revisit):
PRD.123 could potentially match both the grant and deny policies equally), the general rule applies: a deny policy will always beat a grant policy when they are equally applicable. In this case, the deny policy wins.