Skip to content

IAM

AWS IAM Identity Center (formerly AWS Single Sign-On) is a cloud-based identity and access management service that simplifies user access management across multiple AWS accounts and business applications .

It enables you to create or connect workforce identities and manage their access centrally, providing single sign-on (SSO) to all assigned accounts and applications from one place .


AWS IAM Identity Center is a cloud-based identity and access management (IAM) service that enables you to centrally manage access to multiple AWS accounts and business applications . It provides a user portal where authorized users can access the AWS accounts and applications they’ve been granted permission to, using their existing corporate credentials .

BenefitDescription
Centralized Access ManagementManage user access to all AWS accounts and applications from a single location
Single Sign-On (SSO)Users sign in once to access all assigned accounts and applications
Multiple Identity SourcesUse built-in identity store, connect to Active Directory, or integrate with external IdPs (Okta, Azure AD)
Multi-Account PermissionsDefine permission sets once and assign across all accounts in AWS Organizations
Temporary CredentialsNo long-lived access keys—users receive short-lived credentials via role assumption
Audit ReadyAll sign-in and access activity recorded in AWS CloudTrail

In traditional AWS setups, managing access for human users using IAM users creates significant challenges :

ChallengeDescription
Credential sprawlLong-lived access keys stored on laptops or CI systems
Manual user managementCreating/deleting users across multiple accounts is time-consuming
Delayed access revocationWhen employees leave, access may not be removed promptly
Inconsistent MFADifficulty enforcing multi-factor authentication consistently
Poor audit visibilityTracking who accessed what across accounts is complex

IAM Identity Center solves these problems by federating authentication to your existing identity source while AWS handles authorization through role-based access .


2. Why IAM Identity Center? Core Value Proposition

Section titled “2. Why IAM Identity Center? Core Value Proposition”
Section titled “The Traditional IAM User Approach (Not Recommended for Human Users)”
AWS Account A AWS Account B AWS Account C
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ IAM User 1 │ │ IAM User 1 │ │ IAM User 1 │
│ IAM User 2 │ │ IAM User 2 │ │ IAM User 2 │
│ IAM User 3 │ │ IAM User 3 │ │ IAM User 3 │
└─────────────┘ └─────────────┘ └─────────────┘
Separate credentials, separate MFA, no central management
Section titled “The IAM Identity Center Approach (Recommended)”
┌─────────────────────────────────────┐
│ IAM Identity Center │
│ (Single control plane for access) │
└─────────────────┬───────────────────┘
┌─────────────────────────────┼─────────────────────────────┐
▼ ▼ ▼
┌───────────────┐ ┌───────────────┐ ┌───────────────┐
│ AWS Account │ │ AWS Account │ │ AWS Account │
│ (Prod) │ │ (Staging) │ │ (Dev) │
│ │ │ │ │ │
│ Permission │ │ Permission │ │ Permission │
│ Set → Role │ │ Set → Role │ │ Set → Role │
└───────────────┘ └───────────────┘ └───────────────┘
AspectTraditional IAM UsersIAM Identity Center
User lifecycleManual per accountCentralized, automatic
CredentialsLong-lived access keysTemporary, short-lived credentials
Access revocationManual deletion per accountDisable once—revoked everywhere
Multi-account accessSwitch roles manuallySingle sign-on to all accounts
Security best practiceNot recommended for human usersAWS-recommended approach

Understanding these fundamental concepts is essential for working with IAM Identity Center .

ComponentDescription
Identity SourceWhere your user identities are stored (IAM Identity Center directory, Active Directory, external IdP)
Identity Provider (IdP)An identity management system such as IAM Identity Center, Microsoft Entra ID (Azure AD), Okta, or your own corporate directory
AWS Access Portal URL (Start URL)Your organization’s unique IAM Identity Center URL to access authorized AWS accounts, services, and resources (e.g., https://your-company.awsapps.com/start)
Permission SetA collection of IAM policies that defines the permissions for users accessing an AWS account
AssignmentThe association of a user or group with a permission set for a specific AWS account
SessionThe period during which a user is authenticated and authorized to access AWS resources
┌─────────────────────────────────────────────────────────────────────────────┐
│ IAM Identity Center Flow │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ 1. User runs: aws sso login │
│ │ │
│ ▼ │
│ 2. Browser opens → User authenticates with IdP │
│ │ │
│ ▼ │
│ 3. IAM Identity Center issues refresh token + access token │
│ │ │
│ ▼ │
│ 4. SDK/CLI uses access token to request IAM role credentials │
│ │ │
│ ▼ │
│ 5. IAM Identity Center returns temporary IAM credentials │
│ │ │
│ ▼ │
│ 6. SDK/CLI makes AWS service calls using temporary credentials │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
Token TypeDescriptionLifetime
Access TokenUsed to request IAM role credentials1 hour (auto-refreshed)
Refresh TokenUsed to obtain new access tokensUp to 90 days (configurable)
Permission Set CredentialsTemporary IAM credentials for AWS service callsConfigurable (1-12 hours)

4. Step-by-Step: Enabling IAM Identity Center

Section titled “4. Step-by-Step: Enabling IAM Identity Center”
  • AWS account with administrative access
  • AWS Management Console access
  1. Sign in to the AWS Management Console
  2. In the search bar, type IAM Identity Center
  3. Click on the service

If this is your first time using the service:

  1. Click Enable
  2. Choose your identity source (see next section for options)

Important Notes:

  • Pay attention to the region selection—once enabled, you cannot directly switch regions
  • If your organization already has a master management region (e.g., us-east-1 or ap-northeast-1), use that region for consistency

You have three options for where your identities live:

OptionDescriptionBest For
IAM Identity Center directoryBuilt-in identity storeNew deployments, no existing IdP
Active DirectoryConnect to AWS Managed AD or on-premises AD via AD ConnectorEnterprises already using AD
External IdPConnect to Okta, Azure AD, Ping Identity, etc. via SAML 2.0Organizations using third-party IdPs

5. Identity Sources: Where Your Users Live

Section titled “5. Identity Sources: Where Your Users Live”

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

Section titled “Option 1: IAM Identity Center Directory (Built-in)”

The simplest option—IAM Identity Center provides a default identity store where you can create users and groups directly.

Creating a user :

  1. Go to Users in the IAM Identity Center console
  2. Click Add user
  3. Enter username, email, first name, last name, display name
  4. Choose how the user receives their password (email or generate)
  5. Click Next and complete the setup

Creating a group:

  1. Go to Groups
  2. Click Create group
  3. Enter a group name (e.g., Administrators, Developers, ReadOnly)
  4. Add users to the group

Option 2: Microsoft Active Directory Integration

Section titled “Option 2: Microsoft Active Directory Integration”

For enterprises already using Active Directory, IAM Identity Center can connect to AD in three ways :

Integration MethodDescription
AWS Managed Microsoft ADFully managed AD in AWS Directory Service
AD ConnectorProxy service connecting to on-premises AD
Self-managed ADYour own AD instances on EC2

Benefits of AD integration :

  • Users sign in with existing corporate credentials
  • Password policies enforced by AD
  • Group membership drives AWS access
  • Automatic lifecycle management (disable in AD = revoke AWS access)

Option 3: External Identity Provider (SAML 2.0)

Section titled “Option 3: External Identity Provider (SAML 2.0)”

Connect to third-party IdPs such as :

  • Microsoft Entra ID (Azure AD)
  • Okta Universal Directory
  • Ping Identity
  • JumpCloud

Integration steps :

  1. In IAM Identity Center, choose Add application > Add custom SAML 2.0 application
  2. Download the IAM Identity Center SAML metadata file
  3. Upload your IdP’s metadata file or provide ACS URL
  4. Configure attribute mappings (e.g., map ${user:email} to the Subject field)
  5. Assign users/groups to the application

6. Multi-Account Access with Permission Sets

Section titled “6. Multi-Account Access with Permission Sets”

A permission set is a collection of one or more IAM policies that defines the level of access users have when they sign in to an AWS account . IAM Identity Center creates a corresponding IAM role in each account where the permission set is assigned.

Using a predefined policy:

  1. In IAM Identity Center, go to Permission sets
  2. Click Create permission set
  3. Select Predefined permission set
  4. Choose from common policies: AdministratorAccess, PowerUserAccess, ReadOnlyAccess, ViewOnlyAccess
  5. Configure session duration (1-12 hours)

Using a custom policy:

  1. Select Create a custom permission set
  2. Attach one or more IAM policies (AWS managed or customer managed)
  3. Optionally, add an inline policy as JSON
  4. Set session duration

Using a permissions boundary:

  1. Select Create custom permission set with a permissions boundary
  2. Attach a permissions boundary policy to limit maximum permissions

To assign a user or group to an AWS account :

  1. In IAM Identity Center, go to AWS accounts
  2. Select the AWS account(s) you want to grant access to
  3. Click Assign users or groups
  4. Search for and select the users or groups
  5. Choose the permission set(s) to assign
  6. Click Submit
Group: DevOps Engineers
├── Assigned Permission Set: PowerUserAccess
└── Assigned Accounts: Dev, Staging, Production
Group: ReadOnly Auditors
├── Assigned Permission Set: ReadOnlyAccess
└── Assigned Accounts: All accounts (Management, Prod, Staging, Dev)
User: Jane (Admin)
├── Assigned Permission Set: AdministratorAccess
└── Assigned Accounts: Management account only

7. Application Assignments: SSO to Business Apps

Section titled “7. Application Assignments: SSO to Business Apps”

IAM Identity Center provides single sign-on to thousands of pre-integrated business applications .

Application TypeExamplesSetup Complexity
AWS-managed applicationsSalesforce, Box, Microsoft 365, Slack, ZoomLow—AWS provides configuration templates
Custom SAML 2.0 applicationsYour own or third-party SAML-enabled appsMedium—manual metadata exchange
AWS applicationsAmazon CodeCatalyst, AWS ConsoleNative integration
  1. In IAM Identity Center, go to Applications
  2. Click Add application
  3. Search for and select your application (e.g., “Salesforce”)
  4. Follow the step-by-step configuration wizard
  5. Assign users/groups to the application
  6. Configure attribute mappings (e.g., map ${user:email} to application username)
  1. Click Add application > Add custom SAML 2.0 application
  2. Enter a display name (e.g., “MyCustomApp”)
  3. Download the IAM Identity Center SAML metadata file
  4. Upload your application’s SAML metadata file or manually enter ACS URL and Audience
  5. Configure attribute mappings
  6. Assign users/groups
  7. Complete setup

Attribute-Based Access Control (ABAC) allows you to define permissions based on user attributes rather than static IAM policies .

Instead of creating separate permission sets for “Finance Users” and “Engineering Users,” you create a single permission set with tags, and access is granted based on user attributes.

IAM Identity Center allows you to select user attributes from your identity source, such as :

  • costCenter
  • title (job title)
  • locale
  • department
  • Custom attributes
Policy condition:
Allow access to EC2 resources only if
aws:ResourceTag/Environment == user:department
User Attributes:
John → department = "production"
Mary → department = "development"
Result:
John can access production EC2 instances
Mary can access development EC2 instances
  1. In your identity source, define user attributes (e.g., in AD or Okta)
  2. In IAM Identity Center, select which attributes to sync
  3. Create IAM policies that reference the attributes using ${aws:PrincipalTag/key}
  4. Assign the permission set to users/groups

9. AWS CLI Integration with IAM Identity Center

Section titled “9. AWS CLI Integration with IAM Identity Center”

Step 1: Run the configuration wizard

Terminal window
aws configure sso

Step 2: Follow the prompts

  • SSO session name (e.g., my-sso-session)
  • SSO start URL (e.g., https://your-company.awsapps.com/start)
  • SSO region (the region where IAM Identity Center is enabled)
  • Choose the AWS account and permission set

Step 3: Start a session

Terminal window
aws sso login

This opens a browser for authentication. After successful login, your credentials are cached.

Your ~/.aws/config file will contain entries like:

[profile my-dev-profile]
sso_session = my-sso-session
sso_account_id = 123456789012
sso_role_name = DeveloperAccess
region = us-east-1
output = json
[sso-session my-sso-session]
sso_start_url = https://my-company.awsapps.com/start
sso_region = us-east-1
sso_registration_scopes = sso:account:access
Terminal window
# Use the configured profile
aws s3 ls --profile my-dev-profile
# Or set environment variable
export AWS_PROFILE=my-dev-profile
aws ec2 describe-instances
Terminal window
# Check active session
aws sts get-caller-identity
# Log out (removes cached credentials)
aws sso logout
  1. aws sso login opens a browser for IdP authentication
  2. IAM Identity Center issues a refresh token and access token (cached to ~/.aws/sso/cache/)
  3. When you run an AWS command, the CLI uses the access token to request IAM role credentials
  4. The CLI calls getRoleCredentials to obtain temporary credentials
  5. Temporary credentials are used to sign AWS service requests
  6. Access tokens auto-refresh hourly using the refresh token
  7. When the refresh token expires (up to 90 days), re-authentication is required

10. Security Features: MFA and Session Management

Section titled “10. Security Features: MFA and Session Management”

IAM Identity Center supports MFA for all users regardless of identity source .

MFA Methods:

MethodDescriptionSupport
Authenticator app TOTPTime-based one-time passwords (Google Authenticator, Twilio Authy)Yes
FIDO2 security keysYubiKey, hardware tokensYes
Built-in biometricsTouch ID (MacBook), facial recognition (Windows Hello)Yes
IdP MFAMFA enforced by external identity provider (Okta, Azure AD)Yes

Enforcing MFA:

  1. In IAM Identity Center, go to Settings > Multi-factor authentication
  2. Choose MFA configuration:
    • Enabled (users must enroll)
    • Optional (users can choose)
    • Disabled
  3. Configure MFA device management (allow users to manage their own devices)

You can configure session durations at multiple levels :

LevelWhere to ConfigureDefaultRange
User session (access portal)IAM Identity Center settings8 hours15 min - 90 days
Permission set session (role duration)Individual permission set1 hour1-12 hours

Configuring user session duration:

Settings → User portal → Session duration → Select desired duration

Configuring permission set session duration:

Permission sets → Select permission set → Edit → Session duration
┌─────────────────────────────────────────────────────────────────┐
│ Token Lifecycle │
├─────────────────────────────────────────────────────────────────┤
│ │
│ aws sso login ──→ Access Token (1 hour) ──→ Expires │
│ │ │
│ ▼ │
│ Auto-refresh using │
│ Refresh Token (up to 90 days) │
│ │ │
│ ▼ │
│ Refresh Token expires ──→ Re-authenticate │
│ │
└─────────────────────────────────────────────────────────────────┘

All administrative and multi-account access activity is recorded in AWS CloudTrail, providing visibility to audit IAM Identity Center activity centrally .

Auditable events include:

Event CategoryExamples
AuthenticationSign-in attempts, sign-out, MFA enrollment
AccessUser access to AWS accounts, application launches
AdministrationPermission set creation/modification, user/group management, assignment changes
Directory integrationIdP configuration changes, SCIM sync events

Enable CloudWatch logging for detailed access logs including:

  • Which users accessed which accounts
  • Timestamps of access
  • Permission sets used
  • Session durations
PracticeDescription
Centralize logsAggregate CloudTrail logs to a dedicated security account
Forward to SIEMSend logs to SIEM or log analytics platform
Monitor unusual patternsDetect unauthorized access attempts, privilege escalation
Alert on break-glass accessConfigure alerts for emergency role usage
Regular audit reviewsReview permission assignments quarterly

IAM Identity Center requires integration with AWS Organizations to manage multi-account access . This enables you to:

  • Select one or more accounts from your organization
  • Grant users access to all accounts being used for an application or team
  • Centrally manage permissions across your entire AWS environment

IAM Identity Center supports delegated administration from a member account, allowing you to :

  • Designate an account for centralized administration
  • Reduce the need to use the management account
  • Follow security best practices

Setting delegated administrator:

  1. In AWS Organizations, register the delegated administrator account for IAM Identity Center
  2. In the delegated account, manage all IAM Identity Center configurations
┌─────────────────────────────────────────────────────────────────┐
│ AWS Organization │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────┐ │
│ │ Management Account │ ← Root user access only (break-glass)│
│ │ (billing, orgs) │ │
│ └─────────────────────┘ │
│ │
│ ┌─────────────────────┐ │
│ │ Security Account │ ← CloudTrail, SIEM, security tools │
│ └─────────────────────┘ │
│ │
│ ┌─────────────────────┐ │
│ │ Shared Services │ ← Networking, CI/CD, artifacts │
│ └─────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ Workload Accounts │ │
│ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │
│ │ │ Dev │ │ Staging │ │ Prod │ │ │
│ │ └──────────┘ └──────────┘ └──────────┘ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘

AWS IAM Identity Center is free to use. You pay only for the underlying AWS services you use:

ComponentCost
IAM Identity Center serviceFree
Built-in identity directoryFree
AWS Managed Microsoft ADStandard Directory Service pricing
SAML integrationsFree
CloudTrail loggingStandard CloudTrail pricing

ScenarioRecommendation
Already have Active DirectoryConnect AD as identity source
Use Okta or Azure ADConfigure SAML 2.0 federation
New to AWS, no IdPUse built-in IAM Identity Center directory
PracticeDescription
Never create IAM users for humansUse IAM Identity Center for all human access
Use group-based assignmentsAssign permissions to groups, never individual users
Follow least privilegeCreate purpose-built permission sets with minimal required permissions
Implement break-glass accessMaintain emergency IAM roles for extreme scenarios
Automate lifecycleIdP integration enables automatic access revocation
PracticeDescription
Enforce MFA for all usersMandatory MFA for all AWS-access users
Use conditional accessRestrict access based on device, location, or risk level
Regular access reviewsQuarterly permission audits
Session duration limitsShorter sessions for privileged access
Centralize loggingAggregate all CloudTrail logs to security account
Permission SetTypical UsersPolicies
Infrastructure AdminSenior DevOps, Platform teamAdministratorAccess (restricted)
Application DeveloperDevelopersPowerUserAccess + custom restrictions
Read-Only AuditorSecurity, ComplianceReadOnlyAccess
Billing ViewerFinance teamViewOnlyAccess + billing policies
Break-Glass EmergencyDesignated adminsAdministratorAccess (audited, strong MFA)

Issue: Unable to Enable IAM Identity Center

Section titled “Issue: Unable to Enable IAM Identity Center”

Possible causes:

  • Region selection—once enabled in one region, you cannot switch
  • AWS Organizations not configured

Solutions:

  • Enable in your organization’s designated master region
  • Set up AWS Organizations first if not already done

Possible causes:

  • Expired session
  • Incorrect profile configuration
  • Network/firewall blocking access portal

Solutions :

Terminal window
# Refresh session
aws sso login
# Clear cached credentials
aws sso logout
# Verify profile configuration
aws configure list --profile my-profile
# Check token cache
ls ~/.aws/sso/cache/

Issue: User Cannot Access Assigned Account

Section titled “Issue: User Cannot Access Assigned Account”

Possible causes:

  • User not assigned to the permission set
  • Permission set not assigned to the correct account
  • User session expired

Solutions:

  • Verify assignment in IAM Identity Center console
  • Check that user is in the correct group
  • Ask user to re-authenticate at access portal

Possible causes:

  • Metadata mismatch
  • Incorrect attribute mapping
  • Certificate expiration

Solutions:

  • Re-download and exchange metadata files
  • Verify attribute mappings (e.g., ${user:email} for Subject)
  • Check certificate validity dates

This glossary includes key terms directly related to AWS IAM Identity Center.


Access Portal The web-based user interface where users sign in to access their assigned AWS accounts and applications. Each organization has a unique access portal URL (e.g., https://your-company.awsapps.com/start) .

Access Token A temporary credential issued upon authentication that is used to request IAM role credentials. Access tokens are valid for 1 hour and are automatically refreshed .

Application Assignment The configuration that enables single sign-on to a business application (SaaS or custom) through IAM Identity Center.

Assignment The association of a user or group with a permission set for a specific AWS account. Assignments determine who can access which accounts and with what permissions .

Attribute-Based Access Control (ABAC) An authorization strategy that defines permissions based on user attributes (e.g., department, cost center) rather than static IAM policies .

AWS Managed Microsoft AD A fully managed Microsoft Active Directory service in AWS Directory Service that can be used as an identity source for IAM Identity Center.

AWS Organizations AWS service for centrally managing multiple AWS accounts. IAM Identity Center integrates with AWS Organizations to enable multi-account access management .


Delegated Administration The ability to designate a member account in AWS Organizations to administer IAM Identity Center, reducing the need to use the management account .


Federation The process of establishing trust between IAM Identity Center and an external identity provider to enable single sign-on (SSO) .


Group A collection of users that can be assigned permissions collectively. Best practice is to assign permissions to groups rather than individual users .


IAM Identity Center (formerly AWS Single Sign-On) AWS’s cloud-based identity and access management service for centrally managing access to multiple AWS accounts and business applications .

Identity Provider (IdP) An identity management system such as IAM Identity Center, Microsoft Entra ID (Azure AD), Okta, or your own corporate directory service .

Identity Source The directory where user identities are stored. Can be IAM Identity Center’s built-in directory, Active Directory, or an external identity provider.


Multi-Factor Authentication (MFA) A security feature requiring additional verification beyond a password. IAM Identity Center supports TOTP authenticator apps, FIDO2 security keys, and built-in biometrics .

Multi-Account Permissions The capability to define permissions once (as permission sets) and assign them across multiple AWS accounts in an organization .


Permission Set A collection of one or more IAM policies that defines the permissions users receive when accessing an AWS account. Permission sets are created centrally and assigned to accounts .

PKCE (Proof Key for Code Exchange) An OAuth 2.0 authentication grant flow for devices with a browser. Starting with AWS CLI version 2.22.0, PKCE is the default authorization behavior .


Refresh Token A credential used to obtain new access tokens after the current access token expires. Refresh tokens are valid for up to 90 days .


SAML 2.0 (Security Assertion Markup Language 2.0) An XML-based standard for exchanging authentication and authorization data between an identity provider and a service provider. Used for federating external IdPs with IAM Identity Center .

SCIM (System for Cross-domain Identity Management) A protocol for automating user provisioning between an identity provider and IAM Identity Center. Enables automatic user creation, updates, and deactivation .

Session The period of time during which a user is authenticated and authorized to access AWS resources. Sessions end when the refresh token expires or the user logs out .

SSO (Single Sign-On) An authentication method that allows users to sign in once and access multiple applications and AWS accounts without re-authenticating.

Start URL Another name for the AWS access portal URL—your organization’s unique IAM Identity Center URL for accessing authorized accounts and resources .


User An individual identity that can be granted access to AWS accounts and applications. Users can be created in the IAM Identity Center directory or synchronized from an external identity source.


AWS IAM Identity Center is the AWS-recommended solution for managing human user access to AWS accounts and applications. By centralizing identity management, eliminating long-lived credentials, and integrating with existing identity providers, it provides a secure, scalable, and enterprise-ready access management solution.

Key Takeaways:

  • Centralized management - One place to manage access to all AWS accounts and applications
  • No long-lived credentials - Users receive temporary, short-lived credentials via role assumption
  • Flexible identity sources - Built-in directory, Active Directory, or external IdPs (Okta, Azure AD)
  • Multi-account ready - Integrates with AWS Organizations for seamless cross-account access
  • Security-first - MFA enforcement, session controls, and complete CloudTrail auditing
  • CLI integrated - aws configure sso and aws sso login for secure command-line access

Getting Started Recommendations:

  • Enable IAM Identity Center in your designated master region
  • Choose your identity source (built-in directory is simplest for testing)
  • Create permission sets based on job functions (ReadOnly, PowerUser, Administrator)
  • Assign permissions to groups, not individual users
  • Enforce MFA for all users from day one
  • Use the AWS CLI with aws configure sso for secure programmatic access