DVA-C02 Troubleshooting and Optimization Practice Question
A developer notices that an S3 bucket used for static website hosting returns 403 Forbidden for anonymous requests. The bucket policy allows s3:GetObject for Principal "*". What is the most likely issue?
⚠ Common exam trap
Many candidates assume a bucket policy granting public access is sufficient, overlooking the S3 Block Public Access settings which silently override such policies and cause 403 errors.
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
✓
The S3 Block Public Access settings are enabled.
D is correct because S3 Block Public Access settings, when enabled at the account or bucket level, override any bucket policy or ACL that grants public access. Even though the bucket policy allows s3:GetObject for Principal "*", the Block Public Access settings explicitly deny all public requests, resulting in a 403 Forbidden error for anonymous users.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
The bucket does not have server access logging enabled.
Why it's wrong here
Server access logging for an S3 bucket records detailed information about requests made to the bucket, such as the requester, the S3 operation performed, and the time and date of the request. While invaluable for auditing, security analysis, and understanding usage patterns, this logging mechanism is purely a monitoring feature. It does not influence or control the actual permissions or accessibility of the objects within the bucket, meaning its enablement or disablement would not prevent a static website from being publicly accessible if other settings permit it.
- ✗
The bucket ACL does not allow public read.
Why it's wrong here
Amazon S3 provides multiple mechanisms for controlling access to buckets and objects, including Access Control Lists (ACLs) and bucket policies. For static website hosting, a bucket policy that explicitly grants `s3:GetObject` permission to `Principal: *` (representing everyone) is typically the primary and sufficient method to allow public read access. If such a permissive bucket policy is correctly configured and attached, the absence of a public read ACL on the bucket or its individual objects would not prevent public access to the static website content.
- ✗
The bucket policy is not attached to the correct bucket.
Why it's wrong here
For a static website hosted on S3, a bucket policy is fundamental for granting public read access to the website's content. The problem statement implies the developer is working with an S3 bucket *used* for static website hosting, suggesting the correct bucket is already in scope. If a bucket policy is the issue, it's more likely due to incorrect permissions within the policy itself, or an overriding security setting, rather than the policy being entirely misattached to an unrelated or non-existent bucket. Policy attachment is a prerequisite for its evaluation.
- ✓
The S3 Block Public Access settings are enabled.
Why this is correct
Amazon S3 Block Public Access settings provide a crucial security control designed to prevent unintended public exposure of S3 buckets and objects. These settings, configurable at both the account and bucket level, explicitly override all other access control mechanisms, including permissive bucket policies and object ACLs, that would otherwise grant public access. If these Block Public Access settings are enabled, they will effectively block all public access to the static website, regardless of any correctly configured bucket policies or ACLs intended to allow public reads.
Visual reference
Quick reference
AWS S3 Storage Class Comparison
| Storage Class | Min Duration | Retrieval | Use Case |
|---|---|---|---|
| S3 Standard | None | Immediate | Frequently accessed data |
| S3 Standard-IA | 30 days | Immediate | Infrequent access, rapid retrieval |
| S3 One Zone-IA | 30 days | Immediate | Non-critical infrequent data |
| S3 Intelligent-Tiering | None | Immediate–hours | Unknown or changing access patterns |
| S3 Glacier Instant | 90 days | Milliseconds | Archive with instant retrieval |
| S3 Glacier Flexible | 90 days | Minutes–hours | Archive, flexible retrieval |
| S3 Glacier Deep Archive | 180 days | Hours | Long-term compliance archive |
Go deeper
Related to this question
About these practice questions
One of 724 original DVA-C02 practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This DVA-C02 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 DVA-C02 exam.