An analytics application in account A runs under an IAM role and must assume a role in account B to query resources there. The cross-account access is currently failing. Which TWO configuration elements are required for the role assumption to succeed? (Select TWO.)
Choose TWO.
Cross-account role assumption needs consent on both sides: the target role's trust policy must name the caller, and the caller's identity-based policy must allow sts:AssumeRole on the target role.
Within one account a single allow can be enough, but across accounts both accounts must allow the request. Account B consents through the trust policy on the role being assumed, and account A consents by allowing its role to call sts:AssumeRole on that role's ARN. An SCP cannot grant anything, a permissions boundary has no say in who may assume a role, and a trust policy on the caller's own role controls who can assume the caller, not what the caller can assume.
- Locate the role being assumed: it is in account B.
- Its trust policy must name the caller.
- Across accounts the caller's account must also allow the action: sts:AssumeRole in an identity-based policy.
- Discard layers that cannot grant (SCPs) or that do not control assumption (boundaries).
Exam tip: Cross-account AssumeRole = trust policy on the target role + sts:AssumeRole allow on the caller.
Designing Secure Access: IAM Best Practices, Roles, and AWS Organizations — the lesson that teaches this.