All Tools View Categories About Contact Privacy

IAM Effective Permissions Calculator

Combine up to three IAM policy documents as if attached to one role or user — see the combined Allow and Deny lists.

Syntactic union only, not a full request simulation — runs entirely in your browser.
0
Allow statements
0
Deny statements

Combined Allow list


    

Combined Deny list


  

About IAM Effective Permissions Calculator

A role or user in AWS is rarely governed by a single policy — an identity-based policy, one or more attached managed policies, and inline policies can all apply at once, and the actual set of statements that IAM evaluates is the union of all of them. IAM Effective Permissions Calculator takes up to three pasted policy JSON documents and combines them the way IAM combines multiple attached policies: every Allow statement from every document is pooled into one Allow list, and every Deny statement is pooled into one Deny list, each tagged with which policy it came from.

This is a deliberately narrow, honest tool: it performs a syntactic union, not a full request simulation. It will not tell you whether s3:GetObject on a specific bucket is actually allowed once conditions, explicit Denies, and overlapping wildcards are all taken into account — that requires evaluating one specific request against the combined statement set, which is what the separate IAM Policy Simulator tool does. What this tool gives you instead is the raw combined picture: everything that grants access, and everything that explicitly denies it, laid out side by side across all the policies you attached.

That combined view is still useful on its own: it is the fastest way to see, across several policies at once, how many Allow statements exist in total, whether any explicit Deny statements are present at all (a common source of surprising access restrictions), and which policy each statement originated from — before diving into a full simulation of a specific request.

Features

  • Combines up to three policy documents as if all attached to one identity.
  • Separate Allow and Deny lists, each entry tagged with its source policy.
  • Allow/Deny counts at a glance.
  • Sample policy set to see the tool in action immediately.
  • 100% client-side — nothing is uploaded.

How to Use

  1. Paste Policy 1 — typically the identity-based policy.
  2. Paste Policy 2 and/or Policy 3 — attached managed or inline policies. Leave blank to skip.
  3. Click Calculate.
  4. Review the combined Allow list and the combined Deny list, each labeled by source.
  5. For a decision on one specific action + resource, use the IAM Policy Simulator instead.

Examples

Example 1 — two additive policies. Policy 1 grants s3:GetObject, Policy 2 grants s3:PutObject → combined Allow list shows both, 2 total, 0 Deny.

Example 2 — a guardrail policy. Policy 1 grants broad S3 access, Policy 3 has an explicit Deny on s3:DeleteBucket → the Deny shows up clearly in its own list even though it came from a different policy than the Allow.

Benefits

  • See the whole picture across multiple attached policies at once.
  • Spot explicit Denies immediately instead of hunting through several documents.
  • Honest scope — clearly a union, not a request simulator, so you know when to reach for the Policy Simulator instead.
  • Private — everything stays in your browser.

Frequently Asked Questions

Does this tell me whether a specific action on a specific resource is actually allowed?
No. This tool computes a <strong>syntactic union</strong> — it lists every Allow statement and every Deny statement across the policies you paste, as if they were all attached to one role or user. It does not evaluate a specific request (action + resource + condition context) against those statements to produce an Allow/Deny decision. For that, use the separate <strong>IAM Policy Simulator</strong> tool.
How does it handle explicit Deny?
It lists Deny statements separately from Allow statements and labels which source policy each came from. It does not attempt to resolve overlaps between an Allow and a Deny — in real IAM evaluation an explicit Deny always wins over any Allow for the scope it covers, but determining whether a given Deny actually overlaps a given Allow is a separate question (see the Policy Conflict Detector tool for that heuristic).
How many policies can I combine?
The form has three policy boxes (representing, for example, an identity-based policy plus two attached managed policies). Leave any box blank to skip it — the calculator works with 1, 2, or 3 populated policies.
Are NotAction / NotResource statements handled?
They are included in the Allow or Deny list as-is (labeled by source), but this tool does not expand what a NotAction/NotResource statement excludes — it only aggregates statements, it does not interpret them beyond reading their Effect.
Is any policy uploaded anywhere?
No — the union is computed entirely in your browser.