Courseiva
Design Secure ArchitecturesmediumMultiple ChoiceObjective-mapped

SAA-C03 Design Secure Architectures Practice Question

A team wants detective controls to investigate suspected exfiltration from an S3 bucket. They need to know when objects are accessed (GetObject) and also when new encrypted objects are written.

They already enabled AWS CloudTrail for management events, but their investigation shows no visibility into object-level reads/writes in the logs they review.

Which CloudTrail configuration change most directly provides the missing object-level visibility?

⚠ Common exam trap

Watch out — candidates often confuse management events (which log bucket-level operations like CreateBucket) with data events (which log object-level operations like GetObject), assuming management events cover all S3 activity.

Answer choices

Why each option matters

Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.

Correct answer & explanation

Enable CloudTrail data events for the specific S3 bucket so that GetObject and PutObject operations are logged at the object level.

CloudTrail management events do not include object-level operations like GetObject or PutObject. By enabling CloudTrail data events for the specific S3 bucket, you capture object-level read (GetObject) and write (PutObject) API calls, including those for encrypted objects, providing the missing visibility for detective controls.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • Enable CloudTrail data events for the specific S3 bucket so that GetObject and PutObject operations are logged at the object level.

    Why this is correct

    CloudTrail management events cover control-plane activity, not per-object access details in S3. Enabling S3 data events (object-level logging) causes CloudTrail to record events like GetObject and PutObject for the targeted bucket and prefixes. This directly addresses the missing visibility symptom described. It also limits logging scope when you specify the bucket/prefix.

  • Enable AWS Config delivery to a separate bucket and create a rule to detect noncompliant S3 policies; this will automatically generate GetObject logs.

    Why it's wrong here

    AWS Config evaluates resource configuration and policy compliance, but it does not provide object-level access logs like GetObject and PutObject. The requirement is detective visibility into access and writes, not configuration drift detection. This approach would not fill the logging gap for exfiltration investigations.

    When this WOULD be correct

    A question asking how to automatically detect and alert on S3 bucket policies that allow public access or are noncompliant with security standards, using AWS Config rules.

  • Turn on VPC Flow Logs for the VPC hosting the S3 gateway endpoint, because network logs show S3 object read and write details.

    Why it's wrong here

    VPC Flow Logs capture network traffic metadata (e.g., src/dst IPs and ports) but not S3 API actions at the object level. They cannot directly answer which objects were read from or written to within the bucket. The symptom is missing CloudTrail visibility into object-level operations, not network reachability.

    When this WOULD be correct

    A question asking for network-level visibility into traffic to/from an S3 gateway endpoint (e.g., to detect unusual data transfer volumes or IP addresses) would make VPC Flow Logs the correct answer.

  • Add an S3 bucket policy that denies all GetObject requests unless the caller uses TLS; the denial events will create investigation logs automatically.

    Why it's wrong here

    A bucket policy denial will generate some logs, but it does not provide comprehensive object access visibility for legitimate reads and writes. Additionally, enforcement does not equal detective coverage; you may still miss successful access events. The question asks for configuration to provide missing object-level logs.

    When this WOULD be correct

    If the question asked for a method to enforce encryption in transit for S3 access and log any non-compliant requests for security auditing, then adding a bucket policy that denies GetObject unless TLS is used would be correct, as it generates denial logs for non-TLS requests.

Option-by-option analysis

Why each answer is right or wrong

Understanding why wrong answers are wrong — and when they would be correct — is what separates a 750 score from a 900. The SAA-C03 exam frequently reuses these exact scenarios with slightly different constraints.

Enable CloudTrail data events for the specific S3 bucket so that GetObject and PutObject operations are logged at the object level.Correct answer

Why this is correct

CloudTrail management events cover control-plane activity, not per-object access details in S3. Enabling S3 data events (object-level logging) causes CloudTrail to record events like GetObject and PutObject for the targeted bucket and prefixes. This directly addresses the missing visibility symptom described. It also limits logging scope when you specify the bucket/prefix.

Enable AWS Config delivery to a separate bucket and create a rule to detect noncompliant S3 policies; this will automatically generate GetObject logs.Wrong answer — click to see why

Why this is wrong here

AWS Config does not generate GetObject logs; it tracks resource configuration changes and compliance, not data plane operations like S3 object access.

★ When this WOULD be the correct answer

A question asking how to automatically detect and alert on S3 bucket policies that allow public access or are noncompliant with security standards, using AWS Config rules.

Why candidates choose this

Candidates may confuse AWS Config's compliance monitoring with logging capabilities, thinking it can produce object-level access logs when it only evaluates configuration states.

Turn on VPC Flow Logs for the VPC hosting the S3 gateway endpoint, because network logs show S3 object read and write details.Wrong answer — click to see why

Why this is wrong here

VPC Flow Logs capture IP traffic metadata (source/destination IP, ports, protocol) but do not log S3 API operations like GetObject or PutObject; they lack object-level details.

★ When this WOULD be the correct answer

A question asking for network-level visibility into traffic to/from an S3 gateway endpoint (e.g., to detect unusual data transfer volumes or IP addresses) would make VPC Flow Logs the correct answer.

Why candidates choose this

Candidates may confuse network traffic logs with application-level API logs, assuming that all data movement is captured at the network layer, or they may overestimate the granularity of VPC Flow Logs.

Add an S3 bucket policy that denies all GetObject requests unless the caller uses TLS; the denial events will create investigation logs automatically.Wrong answer — click to see why

Why this is wrong here

Denial events from a bucket policy that denies GetObject requests do not provide visibility into successful object access or writes; they only log denied attempts, not the actual GetObject or PutObject operations needed for detective controls.

★ When this WOULD be the correct answer

If the question asked for a method to enforce encryption in transit for S3 access and log any non-compliant requests for security auditing, then adding a bucket policy that denies GetObject unless TLS is used would be correct, as it generates denial logs for non-TLS requests.

Why candidates choose this

Candidates may think that any policy action that generates logs provides visibility, but they overlook that detective controls require logging of successful operations, not just denials.

Analysis generated from the official SAA-C03blueprint and verified against question context. The “when correct” sections are what AI assistants cite when candidates ask “what’s the difference between these options?”

Quick reference

AWS S3 Storage Class Comparison

Storage ClassMin DurationRetrievalUse Case
S3 StandardNoneImmediateFrequently accessed data
S3 Standard-IA30 daysImmediateInfrequent access, rapid retrieval
S3 One Zone-IA30 daysImmediateNon-critical infrequent data
S3 Intelligent-TieringNoneImmediate–hoursUnknown or changing access patterns
S3 Glacier Instant90 daysMillisecondsArchive with instant retrieval
S3 Glacier Flexible90 daysMinutes–hoursArchive, flexible retrieval
S3 Glacier Deep Archive180 daysHoursLong-term compliance archive

About these practice questions

Courseiva writes every SAA-C03 question from scratch — 302 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or dumps. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

JA

Written by Johnson Ajibi, MSc IT Security

Senior Network & Security Engineer · founder of Courseiva

This SAA-C03 practice question is part of Courseiva's free Amazon Web Services certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the SAA-C03 exam.