An enterprise is migrating its multi-account identity strategy to AWS IAM Identity Center to centralize user access management. The security team wants to ensure that all human user access to member accounts is routed exclusively through IAM Identity Center. They must prevent administrators in member accounts from establishing or using direct SAML 2.0 or OpenID Connect (OIDC) federation bypasses directly to their individual accounts. The solution must not impact normal cross-account IAM role assumption used by internal applications and AWS services. Which approach should the solutions architect implement to meet these requirements with the least administrative overhead?
- Apply a Service Control Policy (SCP) at the Organization root that denies the sts:AssumeRoleWithSAML and sts:AssumeRoleWithWebIdentity actions.Answer
- BApply a Service Control Policy (SCP) to all member account OUs that explicitly allows sts:AssumeRole for the sso.amazonaws.com principal, which implicitly denies all other STS actions across the organization.
- CConfigure the trust policies of all IAM roles in the member accounts to use the sts:AssumeRole action and restrict the principal to the central IAM Identity Center SAML provider ARN.
- DApply a Service Control Policy (SCP) at the Organization root that denies the sts:AssumeRole action for all non-administrative sessions, forcing all federation to use sts:AssumeRoleWithSAML managed by IAM Identity Center.
Answer
Apply a Service Control Policy (SCP) at the Organization root that denies the sts:AssumeRoleWithSAML and sts:AssumeRoleWithWebIdentity actions.
The correct option is correct because direct SAML 2.0 and OIDC federation depend on the 'sts:AssumeRoleWithSAML' and 'sts:AssumeRoleWithWebIdentity' actions respectively. Denying these actions in a Service Control Policy (SCP) at the Organization root prevents any direct federation bypasses from being established or used in member accounts. Because AWS IAM Identity Center uses service-controlled roles assumed via 'sso.amazonaws.com' using the standard 'sts:AssumeRole' action, it remains fully functional, as does normal cross-account role assumption.
Step-by-Step Solution
Key Concept
Multi-Account Identity Federation Security Guardrails