Preporato

SAA-C03 Study Guide

Design Secure ArchitecturesSecure Access to AWS ResourcesAWS IAM Identity Center (SSO) & Control Tower

Key Concepts

  • Centralized access management

  • Permission sets

  • Integration with external IdPs

  • Control Tower for multi-account governance

  • Landing zones and guardrails

AWS IAM Identity Center (SSO) & Control Tower

Overview

AWS IAM Identity Center (formerly AWS Single Sign-On) is the recommended service for managing workforce access to multiple AWS accounts and applications. It provides a centralized portal where users can sign in once and access all their assigned AWS accounts and cloud applications without re-authenticating.

AWS Control Tower extends this capability by providing an automated way to set up and govern a secure, multi-account AWS environment called a landing zone. Together, these services form the foundation of enterprise-scale AWS governance.

For the SAA-C03 exam, understanding how IAM Identity Center integrates with AWS Organizations and Control Tower is essential. These services appear frequently in questions about multi-account strategies and centralized access management.

Key Distinction

IAM Identity Center: Manages WHO can access WHAT (authentication & authorization) Control Tower: Manages HOW accounts are governed (guardrails & compliance)

Exam Tip

When a question mentions 'centralized access management across multiple AWS accounts' or 'single sign-on for workforce users,' the answer is almost always IAM Identity Center. For 'automated multi-account setup' or 'guardrails,' think Control Tower.


Architecture Diagram

IAM Identity Center Architecture
Figure 1: IAM Identity Center providing centralized access to multiple AWS accounts and applications

Key Concepts

AWS IAM Identity Center

IAM Identity Center

IAM Identity Center is the successor to AWS SSO, providing centralized identity management for AWS access.

Key Capabilities:

  • Single Sign-On: One login for all AWS accounts and applications
  • Multi-Account Permissions: Assign access to multiple accounts from one place
  • Application Assignments: Grant access to SAML 2.0 applications
  • Identity Source Flexibility: Use built-in directory or external IdPs

Components:

  1. User Portal: Web interface where users access assigned accounts/apps
  2. Permission Sets: Define what users can do in AWS accounts
  3. Identity Source: Where user identities come from

Identity Sources

Identity Source Options

IAM Identity Center supports three identity source types:

1. IAM Identity Center Directory (Built-in):

  • Create and manage users directly in IAM Identity Center
  • Best for: Small organizations, proof of concepts
  • Supports: Groups, MFA, user attributes

2. Active Directory:

  • Connect to AWS Managed Microsoft AD or self-managed AD
  • Use AD Connector or direct trust relationship
  • Best for: Organizations with existing AD infrastructure

3. External Identity Provider (SAML 2.0):

  • Integrate with Okta, Azure AD, Google Workspace, Ping Identity, etc.
  • Users authenticated by external IdP
  • Best for: Organizations with existing IdP investments

Identity Source Comparison

SourceUser ManagementBest ForSetup Complexity
IAM Identity Center DirectoryManaged in AWSSmall orgs, testingLow
AWS Managed Microsoft ADManaged in ADWindows-centric enterprisesMedium
Self-Managed AD via AD ConnectorOn-premises ADHybrid environmentsMedium
External IdP (SAML)Managed in IdPExisting IdP investmentLow-Medium

Permission Sets

Permission Sets

Permission Sets define what permissions users have when they access an AWS account through IAM Identity Center.

How They Work:

  1. Create a Permission Set (collection of IAM policies)
  2. Assign it to users/groups for specific accounts
  3. IAM Identity Center creates an IAM role in each assigned account
  4. Users assume this role when accessing the account

Permission Set Types:

  • Predefined: AWS managed permission sets (AdministratorAccess, ViewOnlyAccess, etc.)
  • Custom: Create your own using AWS managed policies or custom policies

Key Attributes:

  • Session duration (1-12 hours)
  • Relay state (landing page URL)
  • Tags for organization

AWS Control Tower

AWS Control Tower

AWS Control Tower automates the setup of a secure, well-architected multi-account environment.

Landing Zone Components:

  1. Management Account: Where Control Tower is deployed
  2. Log Archive Account: Centralized logging for all accounts
  3. Audit Account: Security and compliance monitoring
  4. Organizational Units: Logical grouping of accounts

Key Features:

  • Pre-configured OUs (Security, Sandbox, etc.)
  • Automated account provisioning via Account Factory
  • Centralized logging and monitoring
  • Built-in guardrails for governance

Control Tower Guardrails (Controls)

Guardrails/Controls

Guardrails (now called Controls) are high-level rules that enforce governance policies.

Types of Controls:

  • Preventive: Stop non-compliant actions (implemented via SCPs)
  • Detective: Identify non-compliance (implemented via AWS Config rules)
  • Proactive: Check resources before provisioning (implemented via CloudFormation hooks)

Guidance Categories:

  • Mandatory: Always enforced, cannot be disabled
  • Strongly Recommended: Security best practices
  • Elective: Optional based on requirements

Control Types Comparison

TypeImplementationWhen AppliedExample
PreventiveService Control PoliciesBefore actionDeny root user access
DetectiveAWS Config RulesAfter resource creationDetect unencrypted S3 buckets
ProactiveCloudFormation HooksDuring provisioningValidate resource configurations

How It Works

IAM Identity Center Authentication Flow

Control Tower Landing Zone
Figure 2: Control Tower landing zone structure with OUs, accounts, and guardrails

Setting Up IAM Identity Center

Step 1: Enable IAM Identity Center

SHEnable IAM Identity Center (AWS CLI)
# IAM Identity Center is typically enabled via Console
# But you can check its status with:
aws sso-admin list-instances

# Enable via Organizations (if not enabled)
# Navigate to: IAM Identity Center Console > Enable

Step 2: Choose Identity Source

Configure where user identities come from:

  • Built-in directory: Manage users in IAM Identity Center
  • External IdP: Configure SAML 2.0 connection
  • Active Directory: Connect via AWS Directory Service

Step 3: Create Permission Sets

SHCreate Custom Permission Set (CLI)
# Create a permission set
aws sso-admin create-permission-set \
  --instance-arn arn:aws:sso:::instance/ssoins-1234567890abcdef0 \
  --name "DeveloperAccess" \
  --description "Access for development team" \
  --session-duration "PT8H"

# Attach AWS managed policy to permission set
aws sso-admin attach-managed-policy-to-permission-set \
  --instance-arn arn:aws:sso:::instance/ssoins-1234567890abcdef0 \
  --permission-set-arn arn:aws:sso:::permissionSet/ssoins-1234567890abcdef0/ps-1234567890abcdef0 \
  --managed-policy-arn arn:aws:iam::aws:policy/PowerUserAccess

Step 4: Assign Users to Accounts

SHAssign Permission Set to Account
# Create account assignment
aws sso-admin create-account-assignment \
  --instance-arn arn:aws:sso:::instance/ssoins-1234567890abcdef0 \
  --target-id 123456789012 \
  --target-type AWS_ACCOUNT \
  --permission-set-arn arn:aws:sso:::permissionSet/ssoins-1234567890abcdef0/ps-1234567890abcdef0 \
  --principal-type GROUP \
  --principal-id 94482488-3041-7026-6a84-12345678abcd

Setting Up Control Tower

Step 1: Launch Landing Zone

  1. Navigate to Control Tower console
  2. Click "Set up landing zone"
  3. Review and configure:
    • Home region
    • Foundational OU names
    • Log archive account email
    • Audit account email

Step 2: Account Factory Configuration

Account Factory

Account Factory automates new account creation with:

  • Pre-approved configurations
  • Automatic guardrail enrollment
  • Network baseline (optional VPC)
  • IAM Identity Center integration

Create accounts via:

  • Control Tower console
  • Service Catalog
  • APIs (for automation)

Step 3: Enable Additional Guardrails

SHEnable Guardrail via CLI
# Enable a detective control on an OU
aws controltower enable-control \
  --control-identifier arn:aws:controltower:us-east-1::control/AWS-GR_ENCRYPTED_VOLUMES \
  --target-identifier arn:aws:organizations::123456789012:ou/o-abc123/ou-defg-hijklmno

# List enabled controls
aws controltower list-enabled-controls \
  --target-identifier arn:aws:organizations::123456789012:ou/o-abc123/ou-defg-hijklmno

Use Cases

Use Case 1: Enterprise Multi-Account Access

Scenario: Large enterprise with 100+ AWS accounts needs centralized access for 500+ employees using existing Azure AD.

Solution:

  1. Set up IAM Identity Center
  2. Configure Azure AD as external SAML identity provider
  3. Create permission sets for different roles (Admin, Developer, ReadOnly)
  4. Assign groups from Azure AD to accounts with appropriate permission sets

Use Case 2: Startup Growing Into Multi-Account

Scenario: Startup outgrowing single account needs proper multi-account setup with governance.

Solution:

  1. Deploy Control Tower to create landing zone
  2. Use Account Factory to create Production, Development, and Staging accounts
  3. Enable recommended guardrails for security
  4. Use IAM Identity Center for team access

Use Case 3: Compliance-Driven Organization

Scenario: Healthcare company needs to ensure all accounts meet HIPAA requirements.

Solution:

  1. Deploy Control Tower with custom guardrails
  2. Enable detective controls for encryption compliance
  3. Enable preventive controls to block non-compliant actions
  4. Use Audit account for centralized compliance monitoring

Use Case 4: Application Access Management

Scenario: Company needs SSO access to both AWS accounts and third-party SaaS apps.

Solution:

  1. Configure IAM Identity Center with external IdP
  2. Add SAML applications (Salesforce, ServiceNow, etc.)
  3. Assign users to both AWS accounts and applications
  4. Single user portal for all access

Best Practices

IAM Identity Center Best Practices
  1. Use External IdP for Production - Leverage existing identity infrastructure
  2. Create Permission Sets by Job Function - Not by individual, aligns with least privilege
  3. Use Groups, Not Individual Assignments - Easier to manage at scale
  4. Enable MFA - Require MFA for all users through IdP or IAM Identity Center
  5. Set Appropriate Session Durations - Balance security and usability
  6. Use Attribute-Based Access Control (ABAC) - For fine-grained permissions
Control Tower Best Practices
  1. Start with Mandatory Guardrails - Don't disable them
  2. Enable Strongly Recommended Guardrails - Security best practices
  3. Create Test OU - Test guardrails before applying to production
  4. Use Account Factory for All New Accounts - Ensures consistent baseline
  5. Centralize Logging in Log Archive Account - Never modify or delete
  6. Regular Drift Detection - Monitor for configuration drift

Common Exam Scenarios

Exam Scenarios

ScenarioSolutionWhy
Centralized access for 50 AWS accountsIAM Identity Center with permission setsSingle sign-on, centralized management
Automate secure multi-account setupAWS Control TowerLanding zone with built-in governance
Enforce encryption across all accountsControl Tower detective guardrailAWS Config rule detects non-compliance
Prevent users from disabling CloudTrailControl Tower preventive guardrail (SCP)Blocks the action before it happens
Single sign-on with existing OktaIAM Identity Center + SAML federationExternal IdP integration
Create new accounts with baseline securityControl Tower Account FactoryAutomated provisioning with guardrails
Audit access across all accountsCloudTrail in Log Archive accountCentralized audit trail
Different permissions for dev vs prod accountsMultiple permission sets assigned per accountSame user, different access levels

Common Pitfalls

Pitfall 1: Using IAM Users Instead of IAM Identity Center

Mistake: Creating IAM users in each account instead of using IAM Identity Center.

Why it's problematic:

  • No centralized access management
  • Password/credential sprawl
  • Difficult to audit and revoke access
  • No single sign-on experience

Correct Approach:

  • Use IAM Identity Center for all human users
  • Create permission sets for different access levels
  • Manage access centrally, not per-account
Pitfall 2: Overly Broad Permission Sets

Mistake: Creating permission sets with AdministratorAccess for convenience.

Why it matters:

  • Violates least privilege
  • Increases blast radius if credentials compromised
  • Makes auditing difficult

Correct Approach:

  • Create job-function-specific permission sets
  • Start restrictive, add permissions as needed
  • Use multiple permission sets per account if needed
Pitfall 3: Modifying Log Archive Account

Mistake: Using the Log Archive account for workloads or modifying its configuration.

Why it's dangerous:

  • Compromises audit trail integrity
  • May violate compliance requirements
  • Can cause Control Tower drift

Correct Approach:

  • Treat Log Archive as read-only for compliance
  • Never deploy workloads there
  • Only security/audit teams should have access
Pitfall 4: Disabling Mandatory Guardrails

Mistake: Attempting to disable mandatory Control Tower guardrails.

Why it fails:

  • Mandatory guardrails cannot be disabled
  • They protect core landing zone integrity
  • Attempting to bypass creates security gaps

Correct Approach:

  • Understand mandatory guardrails protect critical functions
  • Design workloads to comply with them
  • Use elective guardrails for customization

Test Your Knowledge

Q

What is the recommended AWS service for providing single sign-on access to multiple AWS accounts?

AIAM Users with cross-account roles
BAWS IAM Identity Center
CAmazon Cognito
DAWS Directory Service
Q

Which Control Tower component automatically creates the Log Archive and Audit accounts?

AAccount Factory
BGuardrails
CLanding Zone
DService Catalog
Q

What type of Control Tower guardrail uses Service Control Policies (SCPs)?

ADetective
BProactive
CPreventive
DReactive
Q

A company wants to automatically create new AWS accounts with a baseline security configuration. Which Control Tower feature should they use?

AGuardrails
BAccount Factory
CLanding Zone
DPermission Sets


Quick Reference

IAM Identity Center Key Components

IAM Identity Center Components

ComponentPurpose
User PortalWeb interface for users to access assigned resources
Permission SetsCollections of policies defining access levels
Identity SourceWhere user identities are stored/managed
Account AssignmentsLinks users/groups to accounts with permission sets
Application AssignmentsLinks users/groups to SAML applications

Control Tower Key Components

Control Tower Components

ComponentPurpose
Landing ZonePre-configured multi-account environment
Account FactoryAutomated account provisioning
Guardrails/ControlsGovernance rules (preventive, detective, proactive)
Log Archive AccountCentralized CloudTrail and Config logs
Audit AccountSecurity team access for compliance monitoring
DashboardCompliance status and drift detection

CLI Commands Reference

SHCommon IAM Identity Center Commands
# List IAM Identity Center instances
aws sso-admin list-instances

# List permission sets
aws sso-admin list-permission-sets --instance-arn <instance-arn>

# List account assignments
aws sso-admin list-account-assignments \
  --instance-arn <instance-arn> \
  --account-id <account-id> \
  --permission-set-arn <permission-set-arn>

# Get permission set details
aws sso-admin describe-permission-set \
  --instance-arn <instance-arn> \
  --permission-set-arn <permission-set-arn>
SHCommon Control Tower Commands
# List enabled controls for an OU
aws controltower list-enabled-controls \
  --target-identifier <ou-arn>

# Enable a control
aws controltower enable-control \
  --control-identifier <control-arn> \
  --target-identifier <ou-arn>

# Disable a control (elective only)
aws controltower disable-control \
  --control-identifier <control-arn> \
  --target-identifier <ou-arn>

# Get landing zone status
aws controltower get-landing-zone --landing-zone-identifier <lz-id>

Further Reading

Related AWS Services

IAM Identity CenterControl TowerOrganizations