mediummultiple choiceObjective-mapped

Account C wants engineers to access a role (RoleInAccountA) in account A using STS AssumeRole. Security policy requires that (1) only engineers from account C can assume the role, (2) they must provide an external ID value, and (3) the session must be MFA-authenticated. Which change is most appropriate in the RoleInAccountA trust policy to meet all three requirements?

Question 1mediummultiple choice
Full question →

Account C wants engineers to access a role (RoleInAccountA) in account A using STS AssumeRole. Security policy requires that (1) only engineers from account C can assume the role, (2) they must provide an external ID value, and (3) the session must be MFA-authenticated. Which change is most appropriate in the RoleInAccountA trust policy to meet all three requirements?

Answer choices

Why each option matters

Good practice is not just finding the correct option. The wrong answers often show the exact trap the exam wants you to fall into.

A

Distractor review

Add conditions sts:ExternalId = <value> only; do not include any MFA requirement because MFA can be enforced by the IAM role session policy.

Adding sts:ExternalId satisfies the external ID requirement, but MFA is not enforced by that setting. MFA must be validated at AssumeRole time using trust policy conditions (for example, aws:MultiFactorAuthPresent = true). Otherwise, a caller could satisfy the external ID and still avoid MFA.

B

Best answer

Add conditions that (a) restrict the caller principals to account C engineers (for example, aws:PrincipalArn matches a specific engineer role/user pattern from account C), (b) require sts:ExternalId = <value>, and (c) require aws:MultiFactorAuthPresent = true.

A trust policy can simultaneously (1) restrict who can call AssumeRole via principal-based conditions, (2) require sts:ExternalId to mitigate confused-deputy risk, and (3) enforce MFA by requiring aws:MultiFactorAuthPresent = true when STS issues the temporary credentials.

C

Distractor review

Add conditions for aws:PrincipalTag:Department = Engineering and sts:ExternalId = <value>; omit MFA because MFA is optional for AssumeRole.

Principal tags are not guaranteed to exist for every caller and are not a reliable mechanism for enforcing an explicit MFA requirement. Omitting aws:MultiFactorAuthPresent fails the stated security requirement that the session be MFA-authenticated.

D

Distractor review

Add conditions aws:SecureTransport = true and sts:ExternalId = <value>; rely on IAM permissions in account C to require MFA.

aws:SecureTransport enforces TLS usage for API calls, not MFA. Also, caller-side IAM permissions cannot ensure that the STS trust evaluation validates MFA at AssumeRole time; MFA must be checked via trust conditions such as aws:MultiFactorAuthPresent.

Common exam trap

Common exam trap: NAT rules depend on direction and matching traffic

NAT is not only about the public address. The inside/outside interface roles and the ACL or rule that matches traffic are just as important.

Technical deep dive

How to think about this question

NAT questions usually test address translation, overload/PAT behaviour, static mappings and whether the right traffic is being translated. Read the interface direction and address terms carefully.

KKey Concepts to Remember

  • Static NAT maps one inside address to one outside address.
  • PAT allows many inside hosts to share one public address using ports.
  • Inside local and inside global describe the private and translated addresses.
  • NAT ACLs identify traffic for translation, not always security filtering.

TExam Day Tips

  • Identify inside and outside interfaces first.
  • Check whether the scenario needs static NAT, dynamic NAT or PAT.
  • Do not confuse NAT matching ACLs with normal packet-filtering intent.

Related practice questions

Related SAA-C03 practice-question pages

Use these pages to review the topic behind this question. This is how one missed question becomes focused revision.

More questions from this exam

Keep practising from the same exam bank, or move into a focused topic page if this question exposed a weak area.

FAQ

Questions learners often ask

What does this SAA-C03 question test?

Static NAT maps one inside address to one outside address.

What is the correct answer to this question?

The correct answer is: Add conditions that (a) restrict the caller principals to account C engineers (for example, aws:PrincipalArn matches a specific engineer role/user pattern from account C), (b) require sts:ExternalId = <value>, and (c) require aws:MultiFactorAuthPresent = true. — To meet all three requirements, the trust policy must (1) restrict which principals can call AssumeRole, (2) require a specific sts:ExternalId value, and (3) enforce MFA during the AssumeRole request. In practice, you do this with principal-restricting trust conditions (for example, aws:PrincipalArn), sts:ExternalId = <value>, and aws:MultiFactorAuthPresent = true. These conditions are evaluated by STS at the time the temporary credentials are issued. Option A violates the MFA requirement by not adding an MFA-related trust condition. Option C uses PrincipalTag constraints that may not be present and also omits MFA enforcement, directly conflicting with the policy. Option D enforces transport encryption (TLS) rather than MFA and incorrectly assumes caller-side IAM permissions can replace trust-policy MFA validation.

What should I do if I get this SAA-C03 question wrong?

Then try more questions from the same exam bank and focus on understanding why the wrong options are tempting.

Discussion

Loading comments…

Sign in to join the discussion.