AWS Solutions Architect Associate SAA-C03 Sign in Try 10 free questions

Free SAA-C03 practice scenarios: cross-account access

Granting access between AWS accounts the exam's way — roles and trust policies, external IDs, SCPs and RAM. Six scenarios, SAA-C03, 2026 edition.

Try 6 free cross-account access scenarios in the exam's own style — every answer explained, no sign-up.

Straight to the 6 free questions ↓

Cross-account access is a dense SAA-C03 topic because there are several mechanisms and the exam wants the right one for each requirement. The organising question is: does a principal need to act in another account, or does a resource need to grant another account access?

The default: assume a role

When a principal in account A needs to work in account B, the answer is a cross-account IAM role in account B. Its trust policy names account A as allowed to assume it, its permissions policy says what it can do, and the principal assumes it through STS for temporary credentials. This is preferred over IAM users with access keys for one reason the exam keeps testing: the credentials expire, so there is no long-lived secret to leak. Roles still need a trust relationship and a permissions policy — they are not a shortcut around either.

Third parties: the external ID

When the assuming party is a third-party SaaS vendor, add an external ID to the trust policy. The vendor must supply the matching value to assume the role, which blocks the confused-deputy problem — the vendor being tricked into acting on the wrong customer’s account. “Third party assuming a role” is the exam’s cue for an external ID.

Direct resource access: resource policies

Some resources grant access without a role at all. An S3 bucket policy or a KMS key policy is a resource-based policy that can name a principal in another account directly. Reach for this when the requirement is “read this bucket from account A without assuming a role”. Role for the principal, resource policy for the resource — and often both together.

Organization-scale: SCPs and RAM

Two org-level tools round out the set:

  • Service Control Policies (SCPs) via AWS Organizations set the maximum permissions across accounts — an unbreakable guardrail even an account admin cannot exceed. The answer to “guarantee no account can do X”.
  • Resource Access Manager (RAM) shares resources — VPC subnets, Transit Gateways — across accounts, so workloads run in a shared network. The answer to “share subnets between accounts”.

Do not confuse them: SCPs restrict, RAM shares.

How to use the six scenarios below

Answer each one before opening the explanation, and when you miss, name the requirement that decided it — “temporary”, “third party”, “without assuming a role”, “every account”, “share subnets”. Every explanation states that constraint and dismantles the distractors, which usually offer a shared credential or the wrong org-level tool. For the domain overview, see Design Secure Architectures.

Cross-account access patterns. In account B, an IAM role has a trust policy naming account A and a permissions policy for the resources; a user in account A assumes that role through AWS STS and receives temporary credentials. A third party assumes a role gated by an external ID to prevent the confused-deputy problem. Resource-based policies on S3 buckets and KMS keys grant another account access directly without assuming a role. Service Control Policies from AWS Organizations set guardrails across all accounts, and Resource Access Manager shares resources such as subnets between accounts.

6 free SAA-C03 practice questions

Answers and explanations — no email wall
SAA-C03 Question 1 of 6

Developers in a development AWS account need temporary access to specific resources in a production account, following AWS best practice and without creating new long-term credentials. What should a solutions architect set up?

Answer: A — An IAM role in the production account with a trust policy allowing the development account, which developers assume via STS.

A cross-account IAM role — with a trust policy naming the development account and a permissions policy for the allowed resources — lets developers assume it through STS and receive temporary credentials, the standard best-practice pattern. Why not the others: creating IAM users and sharing access keys reintroduces the long-term credentials the requirement forbids. Sharing root credentials is a severe violation and grants far too much. VPC peering connects networks; it does not grant identity-level access to resources. Temporary cross-account access is an assumed role.

SAA-C03 Question 2 of 6

A third-party SaaS provider needs to assume a role in your AWS account to manage resources. How do you protect against the confused-deputy problem, where the provider could be tricked into acting on the wrong customer's account?

Answer: A — Require an external ID in the role's trust policy that the provider must supply when assuming the role.

An external ID is a shared secret placed in the role's trust policy; the third party must supply the matching value to assume the role, which prevents one customer's identifier from being used to access another's account — the defence against the confused-deputy problem. Why not the others: sharing access keys is exactly what roles exist to avoid. Making the role assumable by any account removes all protection. Disabling CloudTrail hides activity and provides no security. Third-party cross-account access uses a role with an external ID.

SAA-C03 Question 3 of 6

An application in account A must read objects directly from an S3 bucket in account B, without assuming a role in account B. What is the most direct way to grant this?

Answer: A — Add a bucket policy in account B granting the account A principal read access.

S3 supports resource-based policies, so a bucket policy in account B can grant a principal in account A direct access — no role assumption needed, which matches 'read directly, without assuming a role'. Why not the others: assuming a role works but is exactly what the requirement rules out for this direct-access case. Making the bucket public exposes it to everyone. Scheduled copying duplicates data and adds staleness and cost. Direct cross-account access to a resource that supports resource policies is granted by that resource's policy.

SAA-C03 Question 4 of 6

A company using AWS Organizations must guarantee that no account in the organization can use services outside an approved list, regardless of the permissions individual account admins grant. Which control enforces this centrally?

Answer: A — Service Control Policies (SCPs) applied through AWS Organizations.

SCPs set the maximum permissions available to accounts in the organization; even an account administrator cannot exceed them, which is exactly the central, unbreakable guardrail described. Why not the others: an IAM policy in each account can be changed by that account's admin, so it is not a guarantee across the organization. Permissions boundaries cap an individual identity, not a whole account centrally, and would have to be maintained everywhere. Security groups filter network traffic, not service usage. Organization-wide guardrails are SCPs.

SAA-C03 Question 5 of 6

A company needs to share a set of VPC subnets from a central networking account with several other accounts in its organization, so workloads can run in the shared network. Which service is designed for this?

Answer: A — AWS Resource Access Manager (RAM).

AWS Resource Access Manager (RAM) shares supported resources — such as VPC subnets and Transit Gateways — across accounts, so other accounts can deploy into the shared network directly. Why not the others: an IAM role grants identity-level access to API actions, not shared use of a subnet. VPC peering connects separate VPCs and would be a mesh of connections, not shared subnets. SCPs restrict permissions; they do not share resources. Sharing resources like subnets across accounts is RAM.

SAA-C03 Question 6 of 6

Why are IAM roles preferred over creating IAM users with access keys for cross-account access?

Answer: A — Roles issue temporary credentials via STS that expire automatically, so there is no long-lived secret to manage or leak.

A role provides temporary credentials through STS that expire on their own, eliminating the long-lived access key a cross-account IAM user would require — the core security reason roles are preferred. Why not the others: cost is not the distinction; both are free to create. Roles absolutely require a trust relationship — that is how cross-account assumption is authorised. And a role still needs a permissions policy defining what it can do. The advantage is expiring credentials with nothing to leak.

That is exactly how every question in the course works — answer, explanation, why-not. The real set continues in the practice player: 10 free questions, no sign-up.

Continue with the 10 free questions →

Those 6 questions were the start.

The exam does not test whether you recognise a term — it tests whether you can rule out three plausible answers under time pressure. That is what the explanations above are for, and there are 780 more questions built exactly like them.

Collecting questions yourself

  • Scattered across forums, of unknown age
  • Answer keys without reasoning
  • No idea which domain you are weak in

Practising with a system

  • 780 questions in 12 full tests, SAA-C03 (2026)
  • Every option explained — including the wrong ones
  • Readiness per exam domain, and drills for your weakest
Start free — 10 questions

Straight into the player. No account, no email.

Frequently asked questions

Role or resource policy for cross-account access?
Use a cross-account IAM role when a principal needs to act with a set of permissions in another account — they assume the role and get temporary credentials. Use a resource-based policy (like an S3 bucket policy or KMS key policy) when a resource that supports one needs to grant another account direct access without role assumption. Many designs combine both.
When does an external ID matter?
When a third party (a SaaS vendor) assumes a role in your account. The external ID in the trust policy prevents the confused-deputy problem, where the vendor could be induced to act against the wrong customer's account. It is a standard exam tell for third-party cross-account access.
Are these real exam questions?
No. They are original scenarios written for this page in the exam's style and difficulty. Reproducing real exam items violates the AWS certification agreement and can cost a candidate their certification — ours come with the reasoning attached instead.
What is the one-line takeaway?
Cross-account access is an assumed role with a trust policy (plus an external ID for third parties); grant direct resource access with a resource policy; guardrail all accounts with SCPs; and share resources like subnets with RAM.

Updated for SAA-C03 (July 2026). The sample questions above are our own work in the style of the exam — not real exam items. The exam itself is set and marked by the certification body.