Why S3 SSE-S3 GET Requests Require the Encryption Header
Exhibit
Refer to the exhibit.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::my-data-lake/*",
"Condition": {
"StringEquals": {
"s3:x-amz-server-side-encryption": "AES256"
}
}
}
]
}A data engineer applies the above IAM policy to a user. The user attempts to upload an object to the bucket 'my-data-lake' without specifying server-side encryption. What will happen?
⚠ Common exam trap
A common mix-up: candidates assume bucket default encryption automatically satisfies an IAM condition requiring the encryption header, but the condition checks the request headers, not the bucket's configuration.
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 upload fails because the condition requires encryption
The IAM policy includes a condition that requires the `s3:x-amz-server-side-encryption` header to be present with a value of `AES256`. When the user attempts to upload an object without specifying server-side encryption, the condition is not satisfied, so the `s3:PutObject` permission is denied. This causes the upload to fail, regardless of any bucket default encryption settings or bucket policies.
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 upload fails only if the bucket has a default encryption setting
Why it's wrong here
The IAM policy's Deny triggers on the absence of the encryption header in the request itself, independent of any bucket default encryption setting. Bucket default encryption is tempting because it does enforce encryption at rest, but it applies after the request is accepted, not at authorisation.
- ✗
The upload succeeds if the bucket policy allows unencrypted uploads
Why it's wrong here
The IAM policy's explicit Deny on s3:PutObject without the encryption condition overrides any bucket policy Allow, so the upload is rejected regardless of bucket policy. It tempts because bucket policies do govern unencrypted uploads when no IAM Deny exists — the correct choice in scenarios lacking an explicit IAM Deny.
- ✗
The upload succeeds because the policy allows s3:PutObject
Why it's wrong here
An explicit Deny in the IAM policy overrides the Allow for s3:PutObject, so the request is rejected despite the Allow statement. The Allow is tempting because it does permit PutObject generally, but it cannot survive a matching Deny — the correct choice only when no Deny applies.
- ✓
The upload fails because the condition requires encryption
Why this is correct
The policy's `s3:PutObject` statement carries a `StringNotEquals` condition on `s3:x-amz-server-side-encryption`, so a request omitting that header evaluates as non-compliant and is denied. Because the user supplied no encryption parameter, the condition fails and the upload is rejected with AccessDenied, satisfying the stem's unencrypted-upload constraint.
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
This DEA-C01 question is part of Courseiva's 1,321-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam 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 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.