The correct answer is that the policy enforces that all PutObject requests must include the x-amz-server-side-encryption header with value AES256. This is because the bucket policy uses a Deny effect with a condition key of `s3:x-amz-server-side-encryption`, explicitly blocking any upload that lacks the header set to `AES256`, thereby mandating server-side encryption with S3-managed keys (SSE-S3) for data at rest. On the AWS Certified Data Engineer Associate DEA-C01 exam, this scenario tests your ability to read S3 bucket policy conditions and distinguish between enforcing encryption in transit (HTTPS) versus at rest (SSE). A common trap is confusing the `aws:SecureTransport` condition for HTTPS with the `s3:x-amz-server-side-encryption` condition; remember that HTTPS enforcement uses a separate Boolean condition. Memory tip: “AES256 for the file, HTTPS for the aisle” — the header locks the object’s content, while the transport condition secures the upload path.
DEA-C01 Data Store Management Practice Question
This DEA-C01 practice question tests your understanding of data store management. Match the stated requirement to the specific cloud service, access model, or configuration option — many options are valid in isolation but not for this scenario. After answering, compare your reasoning against the explanation and wrong-answer breakdown below. Once you have made your selection, read the full explanation to reinforce the concept and understand why each distractor is designed to mislead on exam day.
A data engineer applies the bucket policy shown in the exhibit to an S3 bucket. The bucket contains sensitive data that must be encrypted at rest and accessed only over HTTPS. Which of the following statements is true?
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
The policy enforces that all PutObject requests must include the x-amz-server-side-encryption header with value AES256.
Option C is correct because the bucket policy includes a condition that denies PutObject requests unless the `s3:x-amz-server-side-encryption` header is present and set to `AES256`. This enforces server-side encryption with S3-managed keys (SSE-S3) for all uploads, ensuring data at rest is encrypted.
Key principle: Answer the scenario, not the keyword: identify the specific constraint before choosing the most familiar-sounding option.
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 policy allows both HTTP and HTTPS access.
Why it's wrong here
The Deny statement blocks requests that do not use SecureTransport, so only HTTPS is allowed.
✗
The policy allows anonymous access to list objects in the bucket.
Why it's wrong here
The Allow statement only grants GetObject and PutObject, not ListBucket, so anonymous listing is not allowed.
✓
The policy enforces that all PutObject requests must include the x-amz-server-side-encryption header with value AES256.
Why this is correct
The Allow statement requires the condition s3:x-amz-server-side-encryption equals AES256 for PutObject.
Related concept
Read the scenario before looking for a memorised answer.
✗
The policy requires the use of AWS KMS for server-side encryption.
Why it's wrong here
The policy specifies AES256, which is SSE-S3, not KMS.
Common exam traps
Common exam trap: answer the scenario, not the keyword
AWS often tests the distinction between SSE-S3 (`AES256`) and SSE-KMS (`aws:kms`) in bucket policy conditions, and candidates may mistakenly think the policy requires KMS when it actually specifies AES256.
Detailed technical explanation
How to think about this question
The `aws:SecureTransport` condition key evaluates the TLS/SSL status of the request; when set to `false`, it denies the request, effectively blocking HTTP. The `s3:x-amz-server-side-encryption` condition key checks the request header; requiring `AES256` enforces SSE-S3, which uses S3-managed keys and is free, unlike KMS which incurs per-request costs. A common nuance is that the `Deny` effect in an S3 bucket policy overrides any `Allow` from other policies (like bucket ACLs or IAM), making these conditions mandatory.
KKey Concepts to Remember
Read the scenario before looking for a memorised answer.
Find the constraint that changes the correct option.
Eliminate answers that are true in general but not in this case.
TExam Day Tips
→Watch for words such as best, first, most likely and least administrative effort.
→Review why wrong options are wrong, not only why the correct option is correct.
Key takeaway
Answer the scenario, not the keyword: identify the specific constraint before choosing the most familiar-sounding option.
Real-world example
How this comes up in practice
A media company stores terabytes of video archives that are accessed once a year for audit purposes. Moving these objects to a cold storage tier (Azure Archive, S3 Glacier, or Google Nearline) costs a fraction of hot storage. Questions like this test whether you understand storage tiers, access frequency tradeoffs, and retrieval latency requirements.
What to study next
Got this wrong? Here's your next step.
Identify which exam domain this question belongs to, review the core concept, then practise similar questions from the same domain.
Data Store Management — This question tests Data Store Management — Read the scenario before looking for a memorised answer..
What is the correct answer to this question?
The correct answer is: The policy enforces that all PutObject requests must include the x-amz-server-side-encryption header with value AES256. — Option C is correct because the bucket policy includes a condition that denies PutObject requests unless the `s3:x-amz-server-side-encryption` header is present and set to `AES256`. This enforces server-side encryption with S3-managed keys (SSE-S3) for all uploads, ensuring data at rest is encrypted.
What should I do if I get this DEA-C01 question wrong?
Identify which exam domain this question belongs to, review the core concept, then practise similar questions from the same domain.
What is the key concept behind this question?
Read the scenario before looking for a memorised answer.
About these practice questions
Courseiva creates original exam-style practice questions with explanations and wrong-answer analysis. It does not publish real exam questions, exam dumps, or protected exam content. Learn why practice questions differ from exam dumps →
These questions test the same concept from different angles. Work through them to make sure you can recognise it however the exam phrases it.
Variation 1. Refer to the exhibit. A data engineer applies this bucket policy to an S3 bucket. A user within the 10.0.0.0/24 IP range attempts to upload an object to the bucket using an HTTP (non-HTTPS) request. What is the outcome?
hard
A.The upload succeeds because the Allow statement grants permission.
B.The upload succeeds because the user's IP is allowed.
C.The upload fails because the user's IP is not in the allowed range for PutObject.
✓ D.The upload fails because the request is not using HTTPS.
Why D: Option B is correct because the Deny statement explicitly denies all s3 actions when SecureTransport is false, regardless of the Allow statement. The Explicit Deny overrides Allow. Option A is wrong because the Deny applies. Option C is wrong because the IP condition is only on Allow. Option D is wrong because the policy is valid.
Variation 2. Refer to the exhibit. A data engineer has attached this bucket policy to an S3 bucket. What is the effect of this policy?
hard
A.It enforces server-side encryption for all objects written to the bucket.
✓ B.It allows the DataLakeRole to read and write objects, but only over HTTPS.
C.It allows anonymous access to the bucket for HTTPS requests.
D.It denies all access to the bucket except for requests from the DataLakeRole.
Why B: Option B is correct because the bucket policy uses a condition key `aws:SecureTransport` set to `true`, which restricts access to HTTPS (TLS) connections only. The `Principal` is `DataLakeRole`, and the `Action` includes `s3:GetObject` and `s3:PutObject`, so the policy allows that role to read and write objects exclusively over HTTPS, enforcing encrypted data in transit.
Variation 3. Refer to the exhibit. A data engineer has attached this bucket policy to an S3 bucket named data-lake-bucket. The engineer wants to allow only GET requests from the corporate network (10.0.0.0/16) over HTTPS. However, users report that they cannot access objects even when connected to the corporate network. What is the issue?
hard
A.The Deny statement should include a condition on the source IP.
B.The Allow statement should include a condition for SecureTransport.
C.The Allow statement should specify s3:GetObject instead of s3:GetObject.
✓ D.The Deny statement blocks all requests that are not using HTTPS, including those from the corporate network.
Why D: Option D is correct because the Deny statement with `aws:SecureTransport` set to `false` blocks all HTTP requests. Since the Allow statement only permits GET requests from the corporate network (10.0.0.0/16) but does not require HTTPS, any request from that network that uses HTTP is denied by the explicit Deny. The Deny statement overrides the Allow, so even legitimate corporate users are blocked if they use HTTP.
Variation 4. A data engineer reviews this IAM policy attached to an S3 bucket. What is the effect of this policy?
medium
A.Denies PutObject when encryption is not SSE-KMS.
B.Denies all PutObject requests.
C.Allows PutObject only when the object is encrypted with SSE-KMS.
✓ D.Allows PutObject only when the object is NOT encrypted with SSE-KMS.
Why D: Option D is correct because the IAM policy uses a `Deny` effect with a `StringNotEquals` condition on `s3:x-amz-server-side-encryption` for `aws:kms`. This means that if the encryption header is NOT `aws:kms` (i.e., SSE-KMS), the request is denied. The net effect is that `PutObject` is allowed only when the object is encrypted with SSE-KMS, as any other encryption or no encryption triggers the deny.
Variation 5. An IAM policy is attached to a user who tries to upload an object to the S3 bucket example-bucket using the AWS CLI without specifying the --server-side-encryption flag. What will happen?
hard
✓ A.The upload fails with an AccessDenied error.
B.The upload succeeds and the object is encrypted with SSE-S3 by default.
C.The upload fails because the user does not have permission to use KMS.
D.The upload succeeds because the policy allows s3:PutObject.
Why A: The IAM policy denies s3:PutObject unless the request includes the `x-amz-server-side-encryption` header with a value of `AES256`. Since the user did not specify `--server-side-encryption` in the AWS CLI command, the request lacks this required header, causing S3 to evaluate the policy and return an AccessDenied error. The upload fails before any default encryption setting on the bucket is applied.
Share a tip, memory trick, or ask about the reasoning behind this question. Do not post real exam questions, leaked content, braindumps, or copyrighted exam material. Comments are moderated and may be removed without notice.
This DEA-C01 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 DEA-C01 exam.
Question Discussion
Share a tip, memory trick, or ask about the reasoning behind this question. Do not post real exam questions, leaked content, braindumps, or copyrighted exam material. Comments are moderated and may be removed without notice.
Sign in to join the discussion.