- A
Deny s3:PutObject unless s3:x-amz-server-side-encryption is present
Why wrong: This only enforces that some form of encryption is used, not necessarily KMS with the specific key.
- B
Allow s3:PutObject only if s3:x-amz-server-side-encryption is present
Why wrong: This allows but does not enforce KMS; also, it does not require the specific key.
- C
Deny s3:PutObject unless s3:x-amz-server-side-encryption-aws-kms-key-id equals the specific KMS key ARN
This condition ensures only the specified KMS key is used for encryption.
- D
Deny s3:PutObject unless s3:x-amz-server-side-encryption equals AES256
Why wrong: This enforces SSE-S3, not KMS.
Quick Answer
The correct answer is to apply a bucket policy that denies s3:PutObject unless the s3:x-amz-server-side-encryption-aws-kms-key-id condition key matches the specific customer managed KMS key ARN. This works because the policy uses a Deny effect with a conditional StringNotEquals check, which explicitly blocks any upload that does not include the required KMS key ID, thereby enforcing SSE-KMS encryption at the bucket level. On the AWS Certified Data Engineer Associate DEA-C01 exam, this scenario tests your understanding of how to combine S3 bucket policies with KMS condition keys to enforce encryption requirements, a common trap being that an Allow with a condition is weaker than a Deny for security enforcement. A useful memory tip is “Deny unless the key matches”—remember that you must explicitly deny non-compliant uploads rather than just allowing compliant ones, because S3 policies default to an implicit allow for the bucket owner.
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 company uses Amazon S3 to store sensitive customer data. The security team requires that all objects uploaded to a specific bucket be encrypted at rest using AWS KMS with a customer managed key. Which bucket policy statement should be applied to enforce this requirement?
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
Deny s3:PutObject unless s3:x-amz-server-side-encryption-aws-kms-key-id equals the specific KMS key ARN
Option C is correct because the security team requires encryption at rest using AWS KMS with a customer managed key. The bucket policy must deny any s3:PutObject request that does not include the s3:x-amz-server-side-encryption-aws-kms-key-id condition key set to the specific KMS key ARN. This ensures that only objects encrypted with the designated customer managed key are allowed, enforcing the encryption requirement at the bucket policy level.
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.
- ✗
Deny s3:PutObject unless s3:x-amz-server-side-encryption is present
Why it's wrong here
This only enforces that some form of encryption is used, not necessarily KMS with the specific key.
- ✗
Allow s3:PutObject only if s3:x-amz-server-side-encryption is present
Why it's wrong here
This allows but does not enforce KMS; also, it does not require the specific key.
- ✓
Deny s3:PutObject unless s3:x-amz-server-side-encryption-aws-kms-key-id equals the specific KMS key ARN
Why this is correct
This condition ensures only the specified KMS key is used for encryption.
Related concept
Read the scenario before looking for a memorised answer.
- ✗
Deny s3:PutObject unless s3:x-amz-server-side-encryption equals AES256
Why it's wrong here
This enforces SSE-S3, not KMS.
Common exam traps
Common exam trap: answer the scenario, not the keyword
The trap here is that candidates often confuse the condition key s3:x-amz-server-side-encryption (which only checks for SSE-S3 or SSE-KMS) with s3:x-amz-server-side-encryption-aws-kms-key-id (which checks for a specific KMS key), leading them to pick Option A or D instead of C.
Detailed technical explanation
How to think about this question
Under the hood, S3 bucket policies are evaluated before the object is written; a Deny with a condition key like s3:x-amz-server-side-encryption-aws-kms-key-id checks the request headers for the exact KMS key ARN. If the condition is not met, the request is denied even if an IAM policy allows s3:PutObject. This is a common pattern for enforcing encryption at rest using a specific KMS key, and it works because the condition key is evaluated against the request's encryption context.
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 — study guide chapter
Learn the concepts, then practise the questions
- →
Data Store Management practice questions
Targeted practice on this topic area only
- →
All DEA-C01 questions
1,786 questions across all exam domains
- →
AWS Certified Data Engineer Associate DEA-C01 study guide
Full concept coverage aligned to exam objectives
- →
DEA-C01 practice test guide
How to use practice tests most effectively before exam day
Related practice questions
Related DEA-C01 practice-question pages
Use these pages to review the topic behind this question. This is how one missed question becomes focused revision.
Data Ingestion and Transformation practice questions
Practise DEA-C01 questions linked to Data Ingestion and Transformation.
Data Operations and Support practice questions
Practise DEA-C01 questions linked to Data Operations and Support.
Data Security and Governance practice questions
Practise DEA-C01 questions linked to Data Security and Governance.
Data Store Management practice questions
Practise DEA-C01 questions linked to Data Store Management.
DEA-C01 fundamentals practice questions
Practise DEA-C01 questions linked to DEA-C01 fundamentals.
DEA-C01 scenario practice questions
Practise DEA-C01 questions linked to DEA-C01 scenario.
DEA-C01 troubleshooting practice questions
Practise DEA-C01 questions linked to DEA-C01 troubleshooting.
Practice this exam
Start a free DEA-C01 practice session
Short sessions build daily habit. Longer sessions build exam-day stamina. Try a timed session to simulate real conditions.
FAQ
Questions learners often ask
What does this DEA-C01 question test?
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: Deny s3:PutObject unless s3:x-amz-server-side-encryption-aws-kms-key-id equals the specific KMS key ARN — Option C is correct because the security team requires encryption at rest using AWS KMS with a customer managed key. The bucket policy must deny any s3:PutObject request that does not include the s3:x-amz-server-side-encryption-aws-kms-key-id condition key set to the specific KMS key ARN. This ensures that only objects encrypted with the designated customer managed key are allowed, enforcing the encryption requirement at the bucket policy level.
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 →
Same concept, more angles
1 more ways this is tested on DEA-C01
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. A company stores sensitive customer data in Amazon S3. The security team requires that all data be encrypted at rest using server-side encryption with AWS KMS managed keys (SSE-KMS). Which S3 bucket policy condition will enforce this requirement?
easy- ✓ A.s3:x-amz-server-side-encryption-aws-kms-key-id
- B.s3:x-amz-server-side-encryption-customer-algorithm
- C.s3:x-amz-server-side-encryption
- D.s3:x-amz-server-side-encryption-aws-kms-key-id or s3:x-amz-server-side-encryption
Why A: Option A is correct because the condition `s3:x-amz-server-side-encryption-aws-kms-key-id` enforces that objects uploaded to S3 must use a specific AWS KMS key for server-side encryption (SSE-KMS). This satisfies the security team's requirement that all data be encrypted at rest using SSE-KMS with AWS KMS managed keys, as it explicitly checks for the presence and value of the KMS key ID in the request.
Keep practising
More DEA-C01 practice questions
- A data pipeline uses Kinesis Data Firehose to deliver streaming data to an S3 bucket. The data volume spikes occasionall…
- An e-commerce company uses AWS Glue to run ETL jobs that transform clickstream data from Amazon S3. The job reads Parque…
- A data engineering team uses Amazon Kinesis Data Analytics for Apache Flink to process streaming data. They notice that…
- A company uses AWS Glue to process streaming data from Amazon Kinesis Data Streams. The job reads JSON records and write…
- A data engineer is designing a serverless data ingestion pipeline that uses Amazon Kinesis Data Firehose to deliver data…
- A company runs a nightly AWS Glue ETL job that reads from a JDBC source (PostgreSQL) and writes to S3 in Parquet format.…
Last reviewed: Jun 24, 2026
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.