A financial services company is designing a federated access model for its multi-account AWS environment managed by AWS Organizations. The company utilizes a centralized identity account (Hub) to federate users from an external SAML 2.0 Identity Provider (IdP). Federated users must assume cross-account IAM roles in various destination member accounts (Spokes). The security team requires that federated session tags (such as CostCenter and Department) passed by the SAML IdP are propagated transitively to the destination roles in the member accounts to support Attribute-Based Access Control (ABAC). Additionally, member account roles must restrict access to only those sessions that originated from the central federation role in the Hub account.
Which configuration strategy correctly establishes this federated trust chain while meeting the security requirements?
- Configure the SAML identity provider in the Hub account. Create an IAM role in the Hub account with a trust policy that permits sts:AssumeRoleWithSAML and sts:TagSession for the SAML provider. In the Spoke accounts, configure the trust policy of the destination IAM roles to permit sts:AssumeRole and sts:TagSession for the Hub account's IAM role, and enforce tag presence using aws:PrincipalTag condition keys.Cevap
- BConfigure the SAML identity provider in the Hub account. Create an IAM role in the Hub account with a trust policy that permits sts:AssumeRole and sts:TagSession for the SAML provider principal. In the Spoke accounts, configure the trust policy of the destination IAM roles to permit sts:AssumeRoleWithSAML and sts:TagSession for the Hub account's IAM role, relying on SAML assertion forwarding.
- CConfigure the SAML identity provider in the Hub account. Create an IAM role in the Hub account with a trust policy permitting sts:AssumeRoleWithSAML. Apply a Service Control Policy (SCP) at the Root organizational level that explicitly allows sts:AssumeRole and tag propagation across all member accounts, thereby bypassing the need to configure individual trust policies or permissions on the destination IAM roles in the Spoke accounts.
- DConfigure the SAML identity provider in the Hub account. Create an IAM role in the Hub account with a trust policy that permits sts:AssumeRoleWithSAML for the SAML provider. For the destination roles in the Spoke accounts, enable resource sharing via AWS Resource Access Manager (RAM) to share the Hub role with the Spoke accounts, allowing users to assume the role directly without configuring trust policies.