SOA-C02 aws:SecureTransport Practice Question
A SysOps administrator needs to ensure that all traffic to an Amazon S3 bucket is encrypted in transit. Which configuration should be used?
⚠ Common exam trap
Candidates often confuse encryption at rest (e.g., S3 default encryption) with encryption in transit. The correct mechanism for enforcing HTTPS is a bucket policy with the `aws:SecureTransport` condition.
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
✓
Add a bucket policy that denies requests where aws:SecureTransport is false.
A bucket policy with a condition that denies requests when aws:SecureTransport is false (i.e., HTTP) enforces HTTPS for all access to the S3 bucket. Option A is incorrect because CloudFront with HTTPS only encrypts traffic between the viewer and CloudFront, not necessarily between CloudFront and S3 unless configured, and it does not enforce HTTPS for direct S3 access. Option B is incorrect because a VPC endpoint for S3 uses private IPs but does not enforce encryption in transit; it can still use HTTP. Option C is incorrect because default encryption on an S3 bucket only encrypts data at rest, not in transit.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Use Amazon CloudFront with the S3 bucket as origin and require HTTPS.
Why it's wrong here
Configuring CloudFront with an S3 origin and requiring HTTPS for viewer requests only encrypts traffic between the client and the CloudFront edge location. By default, CloudFront may use HTTP or HTTPS when fetching from the origin depending on the origin protocol policy, and unless you set that policy to 'HTTPS Only' and add a bucket policy that denies insecure transport, the origin connection can be plaintext. Even with HTTPS to CloudFront, direct requests to the bucket are unaffected, so this option does not ensure all traffic to the S3 bucket is encrypted.
- ✗
Create a VPC endpoint for S3 and route all traffic through it.
Why it's wrong here
A VPC endpoint for S3, whether gateway or interface type, routes traffic from your VPC to S3 over the AWS private network, avoiding the public internet, but it does not enforce encryption. The traffic between your VPC and S3 is still delivered as originally sent, so a client could use HTTP and the request would succeed. To ensure encryption in transit, you must still add a bucket policy that denies requests where aws:SecureTransport is false; the endpoint alone only addresses network path, not data security.
- ✗
Enable default encryption on the S3 bucket.
Why it's wrong here
Default encryption on an S3 bucket protects data at rest by applying server-side encryption (SSE-S3, SSE-KMS, or SSE-C) when objects are written, but it does nothing to prevent a client from sending requests over plain HTTP. The encryption applies after the data reaches S3, so traffic in transit remains unencrypted. Therefore, enabling default encryption does not satisfy the requirement to ensure all traffic is encrypted in transit.
- ✓
Add a bucket policy that denies requests where aws:SecureTransport is false.
Why this is correct
This bucket policy explicitly denies any request for which the aws:SecureTransport condition is false, meaning the request was not made over HTTPS or TLS. Because a deny in an identity-based or bucket policy overrides any allows, every request must present a valid TLS connection or it will be rejected. This enforces encryption in transit at the S3 bucket level for all clients, including those using the public endpoint, and is the standard method for ensuring HTTPS-only access.
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
Courseiva writes every SOA-C02 question from scratch — 247 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 →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This SOA-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 SOA-C02 exam.