Copyright (c) 2026 MindMesh Academy. All rights reserved. This content is proprietary and may not be reproduced or distributed without permission.

5.1.2. Federation, IAM Identity Center, and MFA

šŸ’” First Principle: Creating individual IAM users for every employee in a company is an anti-pattern. Users need different permissions in different accounts, credentials need to be revoked when employees leave, and MFA needs to be enforced consistently. Federation solves this by connecting AWS to your existing corporate identity system — employees log in with their corporate credentials, and AWS trusts the assertion that they are who they say they are.

Federation Methods:
MethodProtocolUse Case
IAM Identity Center (SSO)SAML 2.0 / OIDCRecommended for multi-account access; single sign-on across AWS accounts and business apps
SAML 2.0 FederationSAMLDirect federation to a specific account; requires configuring trust in IAM
Web Identity FederationOIDCMobile/web apps authenticating with Google, Facebook, Amazon Cognito
AWS STS AssumeRoleSTS APICross-account access; service-to-service; programmatic role assumption

IAM Identity Center is the modern, recommended approach for multi-account human access:

Identity Center manages permission sets — templates of IAM policies that are applied to accounts. When you assign a user (or group) to an account with a permission set, Identity Center creates a corresponding IAM role in that account automatically. No manual role creation needed per account.

MFA (Multi-Factor Authentication):
MFA TypeDescriptionRecommendation
Virtual MFAAuthenticator app (Google Authenticator, Authy)Good for most users
Hardware MFAPhysical device (YubiKey, Gemalto)Best for root account and privileged users
TOTPTime-based one-time passwordStandard virtual MFA
WebAuthn/FIDO2Phishing-resistant hardware keyStrongest option

Enforcing MFA with IAM Conditions: You can require MFA for specific actions using the aws:MultiFactorAuthPresent condition key:

{
  "Effect": "Deny",
  "Action": "*",
  "Resource": "*",
  "Condition": {
    "BoolIfExists": {"aws:MultiFactorAuthPresent": "false"}
  }
}

This denies all actions unless the session was authenticated with MFA — a common pattern for protecting sensitive operations.

AWS STS (Security Token Service): Issues temporary credentials when roles are assumed. Key API calls:

APIUse Case
AssumeRoleCross-account access; EC2/Lambda to AWS services
AssumeRoleWithSAMLFederation via SAML 2.0
AssumeRoleWithWebIdentityMobile/web apps with OIDC provider
GetSessionTokenMFA-enabled access for IAM users

Temporary credentials have a configurable duration (15 minutes to 12 hours for AssumeRole) and automatically expire — no manual rotation needed.

āš ļø Exam Trap: When a user assumes a role, they give up their original permissions and gain only the role's permissions for the duration of the session. If the role doesn't have permission to do something the user's personal policies allow, the operation fails. The assumed role's permissions are the only thing that matters for that session.

Reflection Question: A company uses Azure Active Directory as its identity provider. They want employees to access 15 different AWS accounts with different permission levels in each, using their existing Azure AD credentials. What AWS service do you configure, and what is the AWS-side concept that maps to "which permissions a user gets in a specific account"?

Alvin Varughese
Written byAlvin Varughese
Founder•15 professional certifications