IAM Permission Boundaries Pattern
Permission boundaries cap the maximum permissions any role can have. The pattern that lets developers create roles safely.
The idea
IAM permission boundaries are an AWS feature that caps the effective permissions of a role. The boundary is a policy that defines the maximum permissions a role can have; the role's actual permissions are the intersection of its attached policies and the boundary. The pattern enables developer self-service with bounded blast radius.
What the pattern looks like:
- Permission boundary is a policy that caps effective permissions.: The boundary specifies the upper limit of what the role can do. The role's attached policy might grant broader permissions; the boundary caps them.
- Developer can create roles with any policy.: The pattern lets developers create roles freely. The developer attaches whatever policy fits their use case; the IAM service applies the boundary.
- The role's actual permissions are intersection.: If the policy grants A, B, C and the boundary allows A, B, the role's effective permissions are A, B. The intersection is the actual permission set.
- Cap is enforced at use time.: Even if the policy is broader, the role cannot do anything outside the boundary. The cap is hard; it cannot be bypassed without changing the boundary.
- Different from SCPs.: SCPs apply org-wide; permission boundaries apply per-role. The boundaries enable fine-grained capping that SCPs alone do not provide.
The pattern is structural. The cap is enforced by AWS; developers cannot exceed it.
Apply
The pattern's value comes from default-applying boundaries to developer-created roles. Without the default, developers create roles with whatever permissions they want; the blast radius of mistakes is unbounded.
- Default boundary for developer-created roles.: The role-creation process applies a default boundary. Developers cannot create roles without the boundary; the structural enforcement is the value.
- Excludes destructive permissions.: The default boundary excludes the most dangerous permissions. Account-level destructive actions (close account), data-destruction actions (delete-bucket, delete-rds-cluster) are outside the boundary.
- Billing, IAM changes.: The boundary excludes billing actions and IAM admin actions. Developers can iterate on roles without being able to create new admins or change billing.
- Developers can iterate freely.: Within the boundary, developers have flexibility. They can create roles, attach policies, experiment with permissions. The boundary prevents catastrophic mistakes; flexibility is preserved.
- Without escalation risk.: The boundary prevents privilege escalation. A role created by a developer cannot exceed the boundary; the blast radius of any mistake is bounded.
Default-applying the boundary produces the security value. Developers retain freedom; the blast radius is bounded.
Audit
Even with default boundaries, periodic audit catches edge cases. Roles bumping against the boundary indicate either a too-tight boundary or a role asking for permissions it should not have.
- Periodically: are roles bumping against the boundary?: The audit checks for permission denials caused by the boundary. Roles that frequently hit the boundary are candidates for investigation.
- If yes, the boundary may be too tight.: Sometimes the boundary excludes legitimate use cases. The team's investigation determines whether the boundary should expand or whether the role should be changed.
- Or the role is asking for permissions it should not have.: The other possibility is the role is trying to do something inappropriate. The investigation surfaces this; the role is corrected; the boundary holds.
- Investigate.: Each case warrants investigation. The investigation produces either a boundary update or a role correction; the system stays correct.
- Document the boundary.: The team documents what the boundary excludes and why. New developers understand the rationale; updates to the boundary are deliberate.
IAM permission boundaries pattern is one of those security disciplines that compound across many roles. Nova AI Ops integrates with IAM data, surfaces boundary-bumping events, and produces the audit-ready visibility that the security team uses to keep the boundary effective.