- A
Add kms:GenerateDataKey and kms:Decrypt permissions to the IAM role.
These permissions are necessary to write to a KMS-encrypted bucket.
- B
Add s3:PutObjectAcl permission to the IAM role.
Why wrong: PutObjectAcl is not required for writing objects; KMS permissions are needed.
- C
Enable S3 default encryption on the bucket.
Why wrong: The bucket already uses KMS encryption; the role needs KMS permissions to write.
- D
Modify the container to handle encryption internally.
Why wrong: The container does not need to handle encryption; the role should have KMS permissions.
Quick Answer
The correct answer is to add kms:GenerateDataKey and kms:Decrypt permissions to the IAM role. This is required because when SageMaker data capture writes inference records to an S3 bucket using a customer-managed KMS key for server-side encryption, the endpoint’s IAM role must be able to call kms:GenerateDataKey to create a new encryption key for each object and kms:Decrypt to verify access to the KMS key before writing. Without these permissions, the capture process fails silently or throws an access error, even if the S3 bucket policy allows KMS encryption. On the AWS Certified Machine Learning Engineer Associate MLA-C01 exam, this scenario tests your understanding of how SageMaker integrates with KMS for data capture, often appearing as a distractor where candidates mistakenly add s3:PutObject or kms:Encrypt instead. A common trap is assuming the bucket policy alone handles encryption; in reality, the endpoint’s role must explicitly hold the data key generation and decryption actions. Remember the mnemonic: “Generate to encrypt, Decrypt to check” — the role needs both to write captured data under a KMS key.
MLA-C01 Practice Question: ML Solution Monitoring, Maintenance and Security
This MLA-C01 practice question tests your understanding of ml solution monitoring, maintenance and security. 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 financial services company deploys a credit risk model using an Amazon SageMaker endpoint with data capture enabled. The model uses a custom container. The compliance team requires that all inference requests and responses are logged to an S3 bucket with server-side encryption using AWS KMS. The IAM role for the endpoint has the following policy. What must be added to meet the compliance 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
Add kms:GenerateDataKey and kms:Decrypt permissions to the IAM role.
The correct answer is A because the IAM role for the SageMaker endpoint needs permissions to generate a data key (kms:GenerateDataKey) for encrypting captured data and to decrypt (kms:Decrypt) the KMS key when writing to the S3 bucket. Without these, the endpoint cannot use the customer-managed KMS key for server-side encryption, even if the bucket policy allows it.
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.
- ✓
Add kms:GenerateDataKey and kms:Decrypt permissions to the IAM role.
Why this is correct
These permissions are necessary to write to a KMS-encrypted bucket.
Related concept
Read the scenario before looking for a memorised answer.
- ✗
Add s3:PutObjectAcl permission to the IAM role.
Why it's wrong here
PutObjectAcl is not required for writing objects; KMS permissions are needed.
- ✗
Enable S3 default encryption on the bucket.
Why it's wrong here
The bucket already uses KMS encryption; the role needs KMS permissions to write.
- ✗
Modify the container to handle encryption internally.
Why it's wrong here
The container does not need to handle encryption; the role should have KMS permissions.
Common exam traps
Common exam trap: answer the scenario, not the keyword
The trap here is that candidates often assume enabling S3 default encryption (Option C) is sufficient, but SageMaker data capture requires explicit KMS permissions in the endpoint's IAM role to use the customer-managed key.
Detailed technical explanation
How to think about this question
When data capture is enabled on a SageMaker endpoint, the service writes inference request/response payloads to the specified S3 bucket. If the bucket uses SSE-KMS, SageMaker calls KMS to generate a data key (kms:GenerateDataKey) for each object and then uses the data key to encrypt the payload before upload. The IAM role must also have kms:Decrypt to allow SageMaker to verify the key or handle re-encryption scenarios. Without these permissions, the endpoint fails with an access denied error during data capture.
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.
- →
ML Solution Monitoring, Maintenance and Security — study guide chapter
Learn the concepts, then practise the questions
- →
ML Solution Monitoring, Maintenance and Security practice questions
Targeted practice on this topic area only
- →
All MLA-C01 questions
507 questions across all exam domains
- →
AWS Certified Machine Learning Engineer Associate MLA-C01 study guide
Full concept coverage aligned to exam objectives
- →
MLA-C01 practice test guide
How to use practice tests most effectively before exam day
Related practice questions
Related MLA-C01 practice-question pages
Use these pages to review the topic behind this question. This is how one missed question becomes focused revision.
Data Preparation for Machine Learning practice questions
Practise MLA-C01 questions linked to Data Preparation for Machine Learning.
ML Model Development practice questions
Practise MLA-C01 questions linked to ML Model Development.
Deployment and Orchestration of ML Workflows practice questions
Practise MLA-C01 questions linked to Deployment and Orchestration of ML Workflows.
ML Solution Monitoring, Maintenance and Security practice questions
Practise MLA-C01 questions linked to ML Solution Monitoring, Maintenance and Security.
MLA-C01 fundamentals practice questions
Practise MLA-C01 questions linked to MLA-C01 fundamentals.
MLA-C01 scenario practice questions
Practise MLA-C01 questions linked to MLA-C01 scenario.
MLA-C01 troubleshooting practice questions
Practise MLA-C01 questions linked to MLA-C01 troubleshooting.
Practice this exam
Start a free MLA-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 MLA-C01 question test?
ML Solution Monitoring, Maintenance and Security — This question tests ML Solution Monitoring, Maintenance and Security — Read the scenario before looking for a memorised answer..
What is the correct answer to this question?
The correct answer is: Add kms:GenerateDataKey and kms:Decrypt permissions to the IAM role. — The correct answer is A because the IAM role for the SageMaker endpoint needs permissions to generate a data key (kms:GenerateDataKey) for encrypting captured data and to decrypt (kms:Decrypt) the KMS key when writing to the S3 bucket. Without these, the endpoint cannot use the customer-managed KMS key for server-side encryption, even if the bucket policy allows it.
What should I do if I get this MLA-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 MLA-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 healthcare company deploys a model that predicts patient readmission risk. The model is deployed using a SageMaker real-time endpoint with data capture enabled. The compliance team requires that all inference data be encrypted at rest in S3 using AWS KMS with a customer managed key. The team has configured the endpoint to use an IAM role that includes the necessary KMS permissions. However, after deployment, the captured data is not being written to the S3 bucket. The team checks the CloudWatch logs for the endpoint and finds no errors. The S3 bucket policy is as follows: { "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Principal": "*", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::my-bucket/*", "Condition": { "Bool": { "aws:SecureTransport": "false" } } } ] } The bucket also has a default KMS key. What is the MOST likely reason that the captured data is not being written?
medium- A.The bucket policy includes an explicit deny that overrides any allow.
- B.The bucket policy denies all PutObject requests because aws:SecureTransport is false.
- ✓ C.The KMS key policy does not grant the SageMaker execution role the kms:GenerateDataKey permission.
- D.The S3 bucket does not exist.
Why C: The correct answer is C because SageMaker data capture encrypts captured data at rest in S3 using server-side encryption with AWS KMS (SSE-KMS). When a customer managed KMS key is used, the SageMaker execution role must have the kms:GenerateDataKey permission to encrypt the data before writing it to S3. Even if the IAM role has other KMS permissions, without kms:GenerateDataKey, the data capture write operation fails silently, and CloudWatch logs may not show errors because the failure occurs at the KMS encryption step before the S3 PutObject call.
Last reviewed: Jun 24, 2026
This MLA-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 MLA-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.