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

Free SAA-C03 practice questions: Secure Architectures

The heaviest domain of the exam at 30%, where the least-privilege wording of a single requirement sentence usually decides the answer — SAA-C03, 2026 edition.

Here are 7 typical secure-architecture questions in the exam's own style — free, with the answer explained, no sign-up.

Straight to the 7 free questions ↓

Design Secure Architectures is 30% of the SAA-C03 — the largest of the four domains, and the one where preparation pays off most predictably. Not because the services are exotic, but because the questions follow patterns. Learn the patterns and the domain becomes the most scriptable part of the exam; skip them and every scenario feels like a coin flip between four plausible options.

Least privilege is the grading rubric

If the SAA-C03 has one reflex it rewards above all others, it is this: when two options both work, the one that grants less wins. An option that hands out AdministratorAccess, shares a credential between parties, or opens a resource wider than the scenario demands is wrong even when it would function perfectly. The exam is not asking “would this work?” — it is asking “is this the tightest design that meets the requirement?”

That reframing changes how you read. The scenario paragraph is scenery; the requirement sentence is the question. “Access must be auditable” is not colour — it is the sieve that eliminates three options. “No long-term credentials may be stored” kills every answer containing an access key, however cleverly that key is hidden. Underline the constraint clause before you look at the options, and most secure-architecture questions shrink from four candidates to two.

Roles, not keys — the most reliable answer pattern in the domain

Whenever compute needs to call an AWS service — EC2 to DynamoDB, Lambda to S3, one account into another — the answer is an IAM role delivering temporary credentials, essentially without exception. Access keys in a config file, in user data, in environment variables, in an “encrypted file we download at boot”: all of these are the same wrong answer wearing different costumes. They store a long-term secret, they need manual rotation, and they blur the audit trail.

Roles invert every one of those weaknesses. Credentials are short-lived and rotated automatically, nothing sits on disk, and every assumption is a CloudTrail event with a name attached. The pattern extends across accounts: when account B needs access to a resource in account A, the answer is a role in A with a trust policy naming B, assumed through STS — revocable with one edit, auditable per assumption. If an option says “share the access keys with the other team,” you may reject it before finishing the sentence.

One evaluation rule belongs in the same reflex set: an explicit deny beats every allow, from any policy, at any attachment point. IAM pools all applicable policies into a single evaluation; there is no precedence between user, group and role policies, and no recency rule. Deny wins. Always.

Stateful or stateless: one distinction, many questions

Security groups and network ACLs guard different perimeters with different memory. A security group is stateful: allow the inbound request and the response flows back automatically, no return rule needed. It attaches to the resource itself, and it can only allow — there is no such thing as a security group deny rule. A network ACL is stateless: it evaluates every packet in both directions independently, so an inbound allow does nothing for the response unless an outbound rule covers the ephemeral ports. It sits at the subnet edge, and it is the only one of the pair that can express an explicit deny.

That gives you a clean decision rule. Blocking a hostile IP range? Only a NACL can say deny. “Responses must return without additional rules”? That is the definition of stateful — security group. Most questions in this area are one of these two sentences dressed up in a scenario.

Encryption questions are requirement-matching, not cryptography

The exam never asks you how AES works. It asks which key arrangement matches a compliance sentence. All the S3 encryption modes produce ciphertext at rest; they differ in who holds the key and what gets logged. SSE-S3 is fully managed and invisible — fine when the requirement is just “encrypted at rest,” and immediately wrong the moment the scenario mentions auditing key usage, controlling rotation, or writing a key policy. Those three phrases all point to SSE-KMS with a customer managed key, because a customer managed key is the only option that logs every use to CloudTrail and puts policy and rotation in your hands. SSE-C and client-side schemes appear as distractors whose tell is operational burden: supplying a key on every request, or worse, a key living in application code — which is just a stored credential by another name.

Defense in depth: the architecture behind the answers

The diagram above shows the layering that most secure-architecture scenarios silently assume. A request from the internet meets the edge first — Route 53 resolves it, CloudFront serves it, and AWS WAF filters it before it ever reaches your infrastructure. What survives crosses the VPC boundary, passes the subnet’s network ACL, then the security group ring directly around the instance. And running alongside every one of those layers are the two controls that touch everything: IAM deciding who may do what at each layer, and KMS governing the keys that protect data wherever it rests.

The exam builds questions at the seams between these layers — which layer can deny, which layer is stateful, which control produces an audit trail. Answer the seven questions below one at a time, and read each explanation past the correct letter: the “why not the others” is where the domain is actually learned, because on exam day the three wrong options will not introduce themselves.

A defense-in-depth diagram of an AWS architecture as nested layers. The outermost layer is the edge — Route 53 and CloudFront fronted by AWS WAF filtering requests before they reach the application. Inside it sits the VPC boundary, inside that a subnet guarded by a network ACL with stateless rules in both directions, inside that a stateful security group forming a ring directly around an EC2 application instance at the centre. Two vertical columns run alongside all layers: IAM, governing identities, roles and least-privilege permissions across every layer, and KMS, governing encryption keys with usage recorded for audit. The point of the picture: each layer filters independently, and a request must pass all of them.

7 free SAA-C03 practice questions

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

A developer's IAM user belongs to a group whose policy allows s3:* on a reporting bucket. A policy attached directly to the user contains an explicit deny for s3:DeleteObject on the same bucket. The developer attempts to delete an object from the bucket. What is the result?

Answer: B — The delete is denied, because an explicit deny overrides any allow.

IAM evaluates all applicable policies together, and the evaluation logic has one absolute rule: an explicit deny wins over every allow, from any source. Why not the others: policy breadth is irrelevant — a wide allow cannot outvote a narrow deny. There is no precedence between attachment points; user, group and role policies are pooled into one evaluation, not ranked. And attachment order plays no role at all — IAM has no concept of a 'newer' policy beating an older one.

SAA-C03 Question 2 of 7

An application on an Amazon EC2 instance must read items from a DynamoDB table. Security requirements: no long-term credentials may be stored on the instance, and access must be auditable. Which approach meets the requirements with the least operational overhead?

Answer: C — Attach an IAM role to the instance via an instance profile and let the application use its temporary credentials.

An instance role delivers short-lived, automatically rotated credentials through the instance metadata service — nothing is stored, nothing needs rotating by hand, and every call is attributable to the role in CloudTrail. Why not the others: access keys in a configuration file are exactly the long-term credentials the requirement forbids. Encrypting keys in S3 and fetching them at boot still leaves long-term credentials in existence, plus a bootstrap problem — the instance needs credentials to fetch its credentials. User data is stored unencrypted and readable by anyone who can describe the instance, which makes it one of the worst places for a secret.

SAA-C03 Question 3 of 7

A web tier must accept inbound HTTPS from the internet, and response traffic must flow back without any additional rules. The security team also wants a subnet-level rule that blocks all traffic from a specific malicious IP range. Which combination satisfies both needs?

Answer: A — A security group allowing inbound TCP 443, plus a network ACL deny rule for the IP range.

This is the stateful/stateless split in one scenario. Security groups are stateful — allow the inbound request and the response is automatically permitted — but they only support allow rules. Network ACLs are stateless and evaluated at the subnet edge, and they are the only one of the two that can express an explicit deny. Why not the others: a security group cannot contain a deny rule, so the block is impossible there. A network ACL alone fails the 'no additional rules' condition — being stateless, it would also need outbound rules for the ephemeral response ports. And an allow-all security group with a host firewall abandons the AWS network layer entirely, which no exam answer rewards.

SAA-C03 Question 4 of 7

A company keeps internal financial reports in Amazon S3. An audit requires a guarantee that no bucket in the account can be made publicly accessible — including buckets created in the future, and regardless of any bucket policy or ACL an administrator might write. What should the solutions architect do?

Answer: A — Enable S3 Block Public Access at the account level.

Account-level Block Public Access is a guardrail that sits above bucket policies and ACLs: it overrides any configuration that would grant public access, and it automatically covers buckets that do not exist yet. That is precisely the 'regardless of any policy' wording in the requirement. Why not the others: per-bucket deny policies protect only the buckets they are attached to and can be edited or omitted on the next bucket — no guarantee. Encryption is a different control entirely; an encrypted object served publicly is still public. Presigned URLs are a way to grant access, not a mechanism that prevents public configuration.

SAA-C03 Question 5 of 7

A compliance team requires that objects in an S3 bucket be encrypted at rest, that every use of the encryption key be recorded for audit, and that the team control the key's policy and rotation schedule. Which encryption option should the architect choose?

Answer: B — SSE-KMS with a customer managed KMS key.

All four options produce encrypted objects — the requirement words pick the winner. Only a customer managed KMS key gives you a key policy you control, a rotation schedule you set, and CloudTrail logging of every key use, which is the audit trail the team asked for. Why not the others: SSE-S3 encrypts transparently but offers no key policy, no rotation control and no per-use audit record — it fails two of the three requirements. Keys embedded in application code are stored long-term credentials, the anti-pattern this whole domain exists to reject. SSE-C makes you supply the key on every single request and AWS never stores it — maximum operational burden, and still no CloudTrail record of key usage.

SAA-C03 Question 6 of 7

An analytics team in AWS account B needs read access to a DynamoDB table owned by account A. Security requirements: no long-term credentials may be shared between the accounts, and access must be revocable at any time and auditable. What should the architect set up?

Answer: B — Create an IAM role in account A with a trust policy for account B, and have the team assume it via AWS STS.

A cross-account role is the canonical answer: account A defines the role and its least-privilege permissions, the trust policy names account B, STS issues temporary credentials on each assumption, every assumption lands in CloudTrail, and revocation is one edit to the trust policy. Why not the others: shared access keys are exactly the long-term credentials the requirement rules out, and revoking them means coordinating a key rotation across teams. Copying the data sidesteps access control instead of solving it — two datasets, no single point of revocation, and stale reads besides. Anonymous access gated by IP is not identity-based access at all; it is unauditable per user and collapses the moment the team's egress IP changes.

SAA-C03 Question 7 of 7

EC2 instances in private subnets upload objects to Amazon S3 several times a minute. The security team requires that this traffic never traverse the public internet, and the solution should add no per-gigabyte processing cost. What should the architect implement?

Answer: B — A gateway VPC endpoint for S3, with routes added to the private subnets' route tables.

A gateway endpoint keeps S3 traffic on the AWS network via route-table entries, and it carries no hourly or per-gigabyte charge — both requirement clauses satisfied. Why not the others: a NAT gateway works functionally, but it reaches S3 through its public endpoint and bills for every gigabyte processed, failing both stated requirements — this is the trap for anyone who stops reading at 'it works'. An internet gateway with public IPs is the opposite of the requirement: it puts the instances on the public internet. An interface endpoint does keep traffic private, but it costs per hour and per gigabyte; the exam expects you to know that for S3 from inside a VPC, the gateway endpoint is the free, default-correct choice.

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 7 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

How heavily is Design Secure Architectures weighted on the SAA-C03?
At 30% of scored content it is the largest of the four SAA-C03 domains, ahead of Resilient (26%), High-Performing (24%) and Cost-Optimized (20%) — those weights come from the official exam guide. Our simulator draws to these weights, so a full-length practice exam gives security the same share of your attention the real exam will.
Why do so many security questions hinge on a single word in the requirements?
Because at associate level, several options usually work — the scenario is engineered so that only one option matches the stated constraint. Words like 'auditable' point to CloudTrail-logged mechanisms such as customer managed KMS keys, 'no stored credentials' or 'temporary' point to IAM roles and STS, and 'rotate' or 'control the key' rules out fully managed encryption. Train yourself to underline the requirement clause before reading the options; it is the fastest accuracy gain available in this domain.
Are these real exam questions?
No. They are our own questions, written in the style and difficulty of the exam. Sharing real exam items violates the AWS certification agreement and can cost a candidate their certification — and a memorised item teaches you nothing about the one you have not seen.

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.