The three layers of AWS access control, decoded
AWS has three distinct mechanisms to control access: Service Control Policies at the organization level, IAM policies at the account level, and Permission Boundaries at the principal level. Understanding how they intersect - and the September 2025 SCP overhaul - is critical for any multi-account architecture.
Enforces guardrails across ALL accounts - no one can bypass
The actual permission grants - identity, resource, and session policies
Prevents privilege escalation in delegated admin scenarios
| Criteria | Service Control Policies (SCPs) | IAM Policies | Permission Boundaries |
|---|---|---|---|
| Scope | All principals in member accounts | Specific users, groups, roles, or resources | Specific IAM user or role |
| Grants Permissions? | No - only restricts | Yes - grants AND restricts | No - only restricts (caps the maximum) |
| Affects Management Account? | No | Yes | Yes |
| Supports Deny? | Yes | Yes | Yes |
| Supports Conditions? | Yes - Deny (always), Allow (since Sept 2025) | Yes | Yes |
| Max Size | 5,120 characters | 2,048–10,240 (inline, varies) / 6,144 (managed) | 6,144 characters |
| Attached To | OU or account | User, group, role, or resource | User or role |
| Use Case | Prevent regions, services, or actions org-wide | Grant least-privilege access to do the job | Let devs create roles without full admin risk |
SCPs now support full IAM policy language - conditions in Allow statements, individual resource ARNs in Deny, wildcards in action strings, and the NotResource element. This was previously the biggest limitation of SCPs.
A request is only allowed if ALL three layers allow it. Think of SCPs and boundaries as ceilings - they do not grant access, they limit it. The IAM policy is the only one that says "yes."
This is a critical security gap. The management account is exempt from SCPs. Never run workloads in the management account - use it only for organization management.
Without boundaries, anyone with iam:CreateRole can create a new role with AdministratorAccess and assume it. Boundaries cap the permissions of any newly created role.
These comparisons are a starting point. Every architecture is different. Contact us for tailored AWS security assessments and architectural guidance.