When several policies apply to the same role or user, it is easy for one policy to grant an action that another policy explicitly denies — and in IAM, the explicit Deny always wins, which can be a surprising source of "access denied" even though a policy clearly grants the permission. IAM Policy Conflict Detector pastes 2–3 policy documents, scans every Allow statement against every Deny statement across all of them, and reports the pairs whose Action and Resource patterns overlap.
Overlap detection uses the same wildcard-pattern heuristic documented in the shared policy engine: two patterns are treated as overlapping if either, read literally, matches the other read as a wildcard. That is enough to catch the common cases — an exact match, a Deny wildcard that covers an Allow statement’s specific action, an Allow wildcard that covers a Deny statement’s specific action — but it is not a full regex-equivalence check, so unusual wildcard shapes can occasionally be missed, and statements using NotAction/NotResource/Principal-only forms are excluded from the check entirely rather than risk a wrong answer.
Finding a conflict does not change the outcome — an explicit Deny always overrides an overlapping Allow in real IAM evaluation, regardless of which policy it lives in or how many other policies grant the access. What this tool adds is visibility: instead of noticing the effect of a buried Deny only when a request unexpectedly fails, you can see the exact Allow/Deny pair up front and decide whether the Deny is an intentional guardrail or an accidental one.