0Pricing
AWS Security Academy · Lesson

What a Permission Boundary Limits

Understand the maximum permissions an identity can ever have.

What a Permission Boundary Limits is a free AWS Security Academy lesson on CoddyKit — lesson 1 of 4. You can read the complete lesson below for free — then practise it hands-on in the browser with a built-in code editor and a 24/7 AI tutor. It is part of the AWS Security Academy learning path, one of 4 lessons in the course, and your progress syncs across the web and the CoddyKit app.

Setting a Ceiling

A permission boundary is an advanced IAM feature that sets the maximum permissions a user or role can ever have. It does not grant anything by itself; it caps what identity-based policies can effectively allow. Permission boundaries are a favorite exam topic because they enable safe delegation of permission management.

Boundary vs Identity Policy

An identity-based policy grants permissions; a permission boundary limits them. The effective permissions are the intersection of the two: an action is allowed only if both the identity policy and the boundary permit it. A boundary can shrink but never widen what the identity policy grants.

The Intersection in Action

Suppose a user's identity policy allows full S3 and EC2 access, but their permission boundary allows only S3. The user can do only S3 actions, because the boundary caps them. Remove the boundary and the EC2 permissions become effective again. The boundary quietly enforces a maximum.

A Boundary Example

This boundary policy permits only S3 and CloudWatch actions. No matter what the identity policy says, the user can never exceed these services.

{
  "Effect": "Allow",
  "Action": ["s3:*", "cloudwatch:*"],
  "Resource": "*"
}

Why Delegation Needs It

The main use case is safe delegation. You want developers to create their own IAM roles, but you fear they will grant excessive permissions. By requiring that every role they create carries a permission boundary, you guarantee those roles can never exceed the boundary, no matter how broad the attached policy is.

Boundary vs SCP

Both boundaries and SCPs cap permissions, but they differ in scope. A permission boundary applies to a single user or role and is set within IAM. An SCP applies to entire accounts in an organization. The exam tests choosing the right tool: per-identity uses a boundary, account-wide uses an SCP.

Boundary in Evaluation

In the evaluation flow, an explicit Deny still wins over everything, including boundaries. Otherwise, the boundary acts as a cap: the action needs an Allow in both the identity policy and the boundary. Resource-based policies can grant access independently of the boundary in some cases, a nuance worth remembering.

Boundaries Do Not Grant

A frequent misconception is that adding an action to a boundary grants it. It does not. If the identity policy lacks the permission, the boundary allowing it has no effect. The identity policy must grant, and the boundary must also permit, for the action to succeed.

Resource Policies and Boundaries

A nuance the exam tests: permission boundaries limit what a principal's identity-based policies can do, but they do not limit access granted to that principal by a resource-based policy in some cases. So a boundary capping a role to S3 may still let the role be granted SQS access through a queue policy. Design with this gap in mind.

Enforcing Boundary Use

To enforce that delegated principals always attach a boundary, you write a permission policy with a condition requiring iam:PermissionsBoundary to equal a specific boundary ARN on any role they create. This prevents a developer from creating roles without the guardrail, closing the delegation loophole.

"Condition": {
  "StringEquals": {
    "iam:PermissionsBoundary": "arn:aws:iam::123:policy/DevBoundary"
  }
}

Putting It Together

A permission boundary caps the maximum permissions of a single user or role: effective access is the intersection of the boundary and the identity policy. It never grants on its own. Its key purpose is safe delegation of IAM role creation, enforced by requiring the boundary via the iam:PermissionsBoundary condition.

Quick Check

Test permission-boundary logic.

Recap

A permission boundary sets the maximum permissions of a single user or role; effective access is the intersection of the boundary and the identity policy. It never grants on its own and an explicit deny still wins. Its primary purpose is safe delegation, enforced via the iam:PermissionsBoundary condition.

Frequently asked questions

Is the “What a Permission Boundary Limits” lesson free?

Yes — the full text of “What a Permission Boundary Limits” is free to read here on the web, and the AWS Security Academy course includes 4 lessons in total. To practise it interactively (a built-in code editor and a 24/7 AI tutor) and unlock the rest of the AWS Security Academy course, upgrade to CoddyKit PRO.

What will I learn in “What a Permission Boundary Limits”?

Understand the maximum permissions an identity can ever have. You practise AWS Security Academy with hands-on code you run directly in the browser, and a 24/7 AI tutor answers your questions as you work through the lesson.

Do I need any experience to start AWS Security Academy?

No prior experience is required. AWS Security Academy on CoddyKit is structured for beginners through advanced learners; this is — lesson 1 of 4, so you can start here or from the beginning and move at your own pace.

How long does the “What a Permission Boundary Limits” lesson take?

Most CoddyKit lessons take about 5–10 minutes. Each one is bite-sized and interactive, so you make steady progress and pick up exactly where you left off across the web and the app.

Can I write and run code in this AWS Security Academy lesson?

Yes. Every AWS Security Academy lesson includes a built-in code editor, so you write and run real code right in your browser and get instant AI feedback — no local setup required.

All lessons in this course

  1. What a Permission Boundary Limits
  2. Delegating Role Creation Safely
  3. Organizations, OUs, and SCP Strategy
  4. How SCPs Combine with IAM Permissions
← Back to AWS Security Academy