8.1 Advanced IAM — Permission Boundaries, Federation, and Cross-Account

Key Takeaways

  • Permission boundaries set the maximum permissions an IAM entity (user/role) can have — even if a policy grants broader access, the boundary caps it.
  • AWS IAM Identity Center (formerly SSO) provides centralized single sign-on access to multiple AWS accounts and business applications.
  • Cross-account access uses IAM roles: create a role in the target account with a trust policy allowing the source account to assume it.
  • Resource-based policies (S3 bucket policies, SQS policies, KMS key policies) can grant cross-account access without assuming a role.
  • IAM Access Analyzer identifies resources shared with external accounts, helping you find unintended public or cross-account access.
Last updated: March 2026

Advanced IAM — Permission Boundaries, Federation, and Cross-Account

Quick Answer: Permission boundaries cap max permissions for users/roles. IAM Identity Center provides SSO across accounts. Cross-account access uses roles (trust policy in target, assume role from source). Resource-based policies grant cross-account access without role assumption. Access Analyzer finds unintended external sharing.

Permission Boundaries

A permission boundary is a managed policy that sets the maximum permissions that an IAM entity can have.

How It Works

Effective permissions = Identity policy INTERSECT Permission Boundary

Identity Policy GrantsPermission Boundary AllowsEffective Permissions
s3:, ec2:, rds:*s3:, ec2:s3:, ec2: (rds:* blocked)
s3:GetObjects3:, ec2:s3:GetObject
ec2:TerminateInstancess3:* onlyNone (ec2 not in boundary)

Use Cases

  • Allow developers to create IAM roles (for Lambda, EC2) without granting themselves admin privileges
  • Delegate permission management to team leads while limiting what they can grant
  • Prevent privilege escalation by capping the maximum permissions any created role can have

IAM Identity Center (SSO)

IAM Identity Center (formerly AWS SSO) provides centralized access management for multiple AWS accounts.

FeatureDetail
Single sign-onOne login for all AWS accounts and applications
Identity sourceBuilt-in directory, Active Directory, or external IdP (SAML 2.0)
Permission setsPredefined or custom sets of permissions assigned to users/groups
Multi-accountManage access across all accounts in an Organization
Business appsSSO to SaaS applications (Salesforce, Slack, etc.)
ABACAttribute-based access control using user attributes

On the Exam: "Enterprise employees need single sign-on to multiple AWS accounts" → IAM Identity Center. "Developers need temporary cross-account access" → IAM roles with trust policies.

Cross-Account Access

Method 1: IAM Roles (Most Common)

  1. Target account creates a role with a trust policy allowing the source account
  2. Source account user/role calls sts:AssumeRole to assume the target role
  3. STS returns temporary credentials for the target account
  4. User/application uses temporary credentials to access target account resources

Method 2: Resource-Based Policies

Some resources support policies that directly grant cross-account access:

  • S3 bucket policies
  • SQS queue policies
  • SNS topic policies
  • KMS key policies
  • Lambda function policies

Advantage: No need to assume a role — the calling principal keeps their identity.

Method 1 vs. Method 2

FeatureIAM RolesResource-Based Policies
IdentityAssumes a new identityKeeps original identity
CloudTrailLogged as role in target accountLogged as original principal
Supported byAll servicesOnly some services
Use caseGeneral cross-account accessS3, SQS, KMS, Lambda cross-account

IAM Access Analyzer

FeatureDetail
PurposeIdentify resources shared with external entities
AnalyzesS3 buckets, IAM roles, KMS keys, Lambda functions, SQS queues
FindingsReports resources accessible from outside your account or organization
Policy validationValidates IAM policies for best practices and security warnings
Policy generationGenerates policies based on CloudTrail activity (least privilege)

On the Exam: "Identify S3 buckets that are publicly accessible" → IAM Access Analyzer. "Generate least-privilege IAM policies" → IAM Access Analyzer with CloudTrail.

Test Your Knowledge

A company wants to allow developers to create IAM roles for their Lambda functions but prevent them from creating roles with administrative privileges. What should they use?

A
B
C
D
Test Your Knowledge

An organization with 50 AWS accounts needs employees to sign in once and access any account based on their job function. Which service should they use?

A
B
C
D