Workforce identity and federation
IAM Identity Center with permission sets, external IdPs over SAML and SCIM, Active Directory options and trusts, direct SAML federation to IAM roles, ABAC from IdP attributes, and MFA for people.
Exam tasks: 4.1 (Skills 4.1.1 identity solutions and IdP integration with Identity Center and MFA, 4.1.3 troubleshooting Identity Center permission sets and Directory Service), 4.2 (Skill 4.2.2 ABAC from attributes)
The decision: where do your employees' identities already live, and how do you turn them into short-lived access to many AWS accounts without creating IAM users?
Picking the setup
Legacy: use IAM Identity Center instead
AWS Single Sign-On (AWS SSO) was renamed IAM Identity Center in 2022. The sso API prefixes and the "AWS access
portal" remain. Treat any mention of "AWS SSO" as Identity Center.
IAM Identity Center
- One identity source per organization: the Identity Center directory, Active Directory, or an external IdP. Changing the source can remove existing assignments, so plan it.
- Permission sets are templates of policies (AWS managed, customer managed by name, inline, and an optional
permissions boundary). Assigning a permission set to a user or group for an account creates a role named
AWSReservedSSO_<set>_<id>in that account. - Session duration is set on the permission set, from 1 to 12 hours. Default is 1 hour.
- Customer managed policies referenced by a permission set must exist by name in every target account, or the provisioning fails.
- Delegate administration to a member account so daily work doesn't happen in the management account.
- The same sign-in also covers the CLI (
aws configure sso) and applications through trusted identity propagation, which carries the user's identity to services such as Redshift or S3 Access Grants.
Editing the AWSReservedSSO role
Changes made directly to the AWSReservedSSO_... role in an account are overwritten or break the permission set.
Edit the permission set and reprovision. If a permission set change doesn't show up, check provisioning status
for that account.
External IdP: SAML plus SCIM
- SAML 2.0 handles sign-in: the IdP authenticates the user and sends an assertion to Identity Center.
- SCIM handles provisioning: users and groups are created and removed in Identity Center automatically. Without SCIM, you create users by hand, and SAML sign-in fails for any user who doesn't exist in Identity Center.
- MFA is enforced by the external IdP. Identity Center's own MFA settings don't apply to external IdP users.
Active Directory options
| AD Connector | AWS Managed Microsoft AD | |
|---|---|---|
| What it is | A proxy that forwards to your on-prem domain controllers | Real domain controllers run by AWS in two AZs |
| Stores identities | No, on premises only | Yes |
| Trusts with on-prem AD | No | Yes, one-way or two-way forest or external trusts |
| Depends on the on-prem link | Every sign-in | Only for users from the trusted domain |
| Use with Identity Center | Yes | Yes. Users in a trusted on-prem domain need a two-way trust |
| Also gives you | Seamless domain join, WorkSpaces | Domain join for EC2 and RDS SQL Server, LDAP apps, group policy |
- Simple AD isn't supported as an Identity Center source.
- Troubleshooting a failed AD sign-in: check VPN or Direct Connect reachability to the DCs, security groups for DNS, Kerberos and LDAP ports, the AD Connector service account's permissions, and the trust direction.
Exam signal
"Users must keep signing in with their existing on-premises AD credentials and no directory data may be stored in AWS" means AD Connector. "Run AD-aware workloads in AWS and let on-prem users access them" means AWS Managed Microsoft AD with a trust.
Direct SAML federation to IAM
- Create a SAML identity provider in IAM with the IdP's metadata, and roles whose trust policy allows
sts:AssumeRoleWithSAMLfrom that provider, checkingSAML:aud. - The assertion's
Roleattribute lists the role and provider ARNs the user may assume.RoleSessionNameandSessionDurationattributes set the session name and length. - It works per account, so each account needs its own provider and roles. That's why Identity Center is the default answer for organizations.
- OIDC providers (for example a CI system issuing JWTs) work the same way through
AssumeRoleWithWebIdentity.
ABAC from IdP attributes
Attributes such as department or cost centre travel from the IdP into the session as principal tags, and policies compare them with resource tags. One policy then covers every team.
- In Identity Center, turn on attributes for access control and map each key to an identity-store attribute
or to the SAML attribute
https://aws.amazon.com/SAML/Attributes/AccessControl:<key>. - With direct IAM federation, send
https://aws.amazon.com/SAML/Attributes/PrincipalTag:<key>in the assertion. The role's trust policy must also allowsts:TagSession. - Deny users changing the tags that the policy relies on, or they can tag themselves into access.
{
"Effect": "Allow",
"Action": ["ec2:StartInstances", "ec2:StopInstances"],
"Resource": "arn:aws:ec2:*:*:instance/*",
"Condition": {
"StringEquals": { "aws:ResourceTag/costCenter": "${aws:PrincipalTag/costCenter}" }
}
}MFA for people
- Identity Center (its own directory or AD): prompt every sign-in or only when the sign-in context changes, allow FIDO2 authenticators (passkeys, security keys) and authenticator apps, and choose what happens for users without a device (require registration at sign-in, block, or email one-time code).
- IAM users and root: up to 8 MFA devices each, including passkeys, security keys, virtual TOTP apps and hardware TOTP tokens. SMS isn't supported. Root MFA is enforced by default.
- API calls: MFA only counts if it was part of the session, through
GetSessionTokenorAssumeRolewithSerialNumberandTokenCode. See temporary credentials.
Scenarios
Identity Center with SAML for sign-in and SCIM for provisioning gives one place to assign access across all accounts, and SCIM removes users when they're disabled in Entra ID. Per-account SAML works but multiplies the setup by 60 and has no provisioning. AD Connector needs an Active Directory domain, not Entra ID. IAM users are long-term credentials that the company would have to deprovision by hand.
A permission set references customer managed policies by name, so each target account must already contain a policy with that name and path. The session limit can't be set above 12 hours at all. Group membership affects who can use the assignment, not whether it provisions. Provisioning is done by Identity Center's service-linked roles, which SCPs don't restrict.
ABAC with session tags from the IdP needs one policy, and new projects work as soon as instances are tagged. Forty permission sets with ARN lists is the RBAC approach the company wants to avoid. OUs and SCPs don't grant permissions, and Identity Center users aren't IAM users, so IAM groups don't apply.
Further reading
Domain 4 · Identity and access management
20% of the exam. Proving who is calling, then deciding exactly what that caller may do, for people, workloads and applications.
Temporary credentials and STS
Choosing the right AWS STS API, external IDs against the confused deputy, session policies, tags and source identity, IAM Roles Anywhere, presigned URLs, access key hygiene and centralized root access.