- A
Attach a policy to the Glue job's IAM role that includes kms:GenerateDataKey and kms:Decrypt actions for the KMS key.
These permissions allow Glue to encrypt and decrypt data using the KMS key.
- B
Use S3 server-side encryption with customer-provided keys (SSE-C).
Why wrong: SSE-C requires the client to provide the encryption key, which is not suitable for Glue.
- C
Use S3 server-side encryption with SSE-S3, which is enabled by default.
Why wrong: SSE-S3 uses Amazon-managed keys, not customer-managed.
- D
Configure an S3 bucket policy to enforce encryption and attach it to the Glue job's IAM role.
Why wrong: Bucket policy controls permissions but does not grant KMS actions.
Quick Answer
The correct answer is to attach a policy to the Glue job’s IAM role that includes kms:GenerateDataKey and kms:Decrypt actions for the customer-managed KMS key. This is because when AWS Glue writes encrypted data to S3 using server-side encryption with AWS KMS (SSE-KMS), the Glue service must first call GenerateDataKey to obtain a data key for encryption and then call Decrypt to read any existing encrypted data during the ETL process. Without these specific permissions on the KMS key, the Glue job will fail with access denied errors, even if the S3 bucket policy allows writes. On the AWS Certified Machine Learning Specialty MLS-C01 exam, this scenario tests your understanding of how IAM roles interact with KMS for data pipelines, often appearing as a trap where candidates mistakenly focus on S3 bucket policies or confuse SSE-S3 (Amazon-managed keys) with customer-managed keys. A common memory tip is “Glue needs both the key to lock and the key to unlock”—remember GenerateDataKey for writing and Decrypt for reading, and never rely on bucket policies alone for KMS access.
MLS-C01 Data Engineering Practice Question
This MLS-C01 practice question tests your understanding of data engineering. The scenario asks you to isolate a root cause — eliminate options that address a different problem before choosing. 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 is building a data pipeline to process sensitive customer data. The pipeline uses AWS Glue for ETL and stores results in Amazon S3. The security team requires that all data be encrypted at rest in S3 using customer-managed AWS KMS keys. Additionally, the Glue job must be able to write encrypted data to S3. What should the data engineer do to meet these requirements?
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
Attach a policy to the Glue job's IAM role that includes kms:GenerateDataKey and kms:Decrypt actions for the KMS key.
The Glue job's IAM role needs kms:GenerateDataKey and kms:Decrypt permissions on the KMS key. Option A is wrong because S3 bucket policy alone doesn't grant the Glue service access to KMS. Option C is wrong because SSE-S3 is Amazon-managed keys, not customer-managed. Option D is wrong because SSE-C requires the customer to manage keys and Glue cannot provide the encryption key in each request.
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.
- ✓
Attach a policy to the Glue job's IAM role that includes kms:GenerateDataKey and kms:Decrypt actions for the KMS key.
Why this is correct
These permissions allow Glue to encrypt and decrypt data using the KMS key.
Related concept
Read the scenario before looking for a memorised answer.
- ✗
Use S3 server-side encryption with customer-provided keys (SSE-C).
Why it's wrong here
SSE-C requires the client to provide the encryption key, which is not suitable for Glue.
- ✗
Use S3 server-side encryption with SSE-S3, which is enabled by default.
Why it's wrong here
SSE-S3 uses Amazon-managed keys, not customer-managed.
- ✗
Configure an S3 bucket policy to enforce encryption and attach it to the Glue job's IAM role.
Why it's wrong here
Bucket policy controls permissions but does not grant KMS actions.
Common exam traps
Common exam trap: answer the scenario, not the keyword
Many certification questions include familiar terms but test a specific constraint. Read the exact wording before choosing an answer that is generally true but wrong for this case.
Detailed technical explanation
How to think about this question
This question should be treated as a scenario, not a definition check. Identify the problem, the constraint and the best action. Then compare each option against those facts.
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.
- Use explanations to understand the rule behind the answer.
TExam Day Tips
- Underline the problem statement mentally.
- 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 MLS-C01 exam domain this question belongs to, then review the specific concept being tested. Practise related questions in that domain and focus on understanding why each wrong answer is tempting — not just why the correct answer is right.
- →
Data Engineering — study guide chapter
Learn the concepts, then practise the questions
- →
Data Engineering practice questions
Targeted practice on this topic area only
- →
All MLS-C01 questions
1,755 questions across all exam domains
- →
AWS Certified Machine Learning Specialty MLS-C01 study guide
Full concept coverage aligned to exam objectives
- →
MLS-C01 practice test guide
How to use practice tests most effectively before exam day
Related practice questions
Related MLS-C01 practice-question pages
Use these pages to review the topic behind this question. This is how one missed question becomes focused revision.
Data Engineering practice questions
Practise MLS-C01 questions linked to Data Engineering.
Machine Learning Implementation and Operations practice questions
Practise MLS-C01 questions linked to Machine Learning Implementation and Operations.
Modeling practice questions
Practise MLS-C01 questions linked to Modeling.
Exploratory Data Analysis practice questions
Practise MLS-C01 questions linked to Exploratory Data Analysis.
MLS-C01 fundamentals practice questions
Practise MLS-C01 questions linked to MLS-C01 fundamentals.
MLS-C01 scenario practice questions
Practise MLS-C01 questions linked to MLS-C01 scenario.
MLS-C01 troubleshooting practice questions
Practise MLS-C01 questions linked to MLS-C01 troubleshooting.
Practice this exam
Start a free MLS-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 MLS-C01 question test?
Data Engineering — This question tests Data Engineering — Read the scenario before looking for a memorised answer..
What is the correct answer to this question?
The correct answer is: Attach a policy to the Glue job's IAM role that includes kms:GenerateDataKey and kms:Decrypt actions for the KMS key. — The Glue job's IAM role needs kms:GenerateDataKey and kms:Decrypt permissions on the KMS key. Option A is wrong because S3 bucket policy alone doesn't grant the Glue service access to KMS. Option C is wrong because SSE-S3 is Amazon-managed keys, not customer-managed. Option D is wrong because SSE-C requires the customer to manage keys and Glue cannot provide the encryption key in each request.
What should I do if I get this MLS-C01 question wrong?
Identify which MLS-C01 exam domain this question belongs to, then review the specific concept being tested. Practise related questions in that domain and focus on understanding why each wrong answer is tempting — not just why the correct answer is right.
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 →
Last reviewed: Jun 20, 2026
This MLS-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 MLS-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.