‹ All MLA-C01 questions

MLA-C01 Practice Question 19: KMS Encrypted Training Data

AWS Certified Machine Learning Engineer – Associate (MLA-C01) · Test 2 · question 9 of 10

Monitoring and Securitymedium

SageMaker AI training jobs that ran successfully for months now fail while downloading input data, with an AccessDenied error from Amazon S3. The only recent change is that the security team switched the training data bucket's default encryption from SSE-S3 to SSE-KMS with a new customer managed key and re-encrypted the existing objects. The jobs' execution role still has s3:GetObject and s3:ListBucket on the bucket, and no bucket policy changes were made.

What is the most likely cause, and how should it be fixed?

Select one answer
Show answer and explanation

Answer:

  • B. The execution role cannot use the new key; grant it kms:Decrypt on the customer managed key in its IAM policy, and make sure the key policy allows IAM policies to grant that access

With SSE-KMS, reading an object takes two permissions: the S3 permission to get the object *and* the KMS permission to decrypt it with the key that protects it. Amazon S3 states that downloading an object encrypted with a KMS key requires kms:Decrypt on that key. The SageMaker AI execution role documentation says the same for training jobs: when input is encrypted with SSE-KMS, add kms:Decrypt to the role. The role's S3 permissions are unchanged, which is why the error appeared only when the key did. Because this is a new customer managed key, its key policy must also allow the role, directly, or by delegating to IAM policies in the account.

Option A confuses two keys. VolumeKmsKeyId encrypts the ML storage volume attached to the training instance; it has nothing to do with decrypting objects as they are read from S3 (and using it requires the role to have kms:CreateGrant).

Option C is false. SageMaker AI reads SSE-KMS input routinely, and dropping the security team's control is not a fix.

Option D also confuses two keys. The OutputDataConfig key encrypts the model artifacts SageMaker AI writes; it does not grant permission to decrypt input data, and it would require kms:Encrypt, not kms:Decrypt.

References: How to use SageMaker AI execution roles; Using server-side encryption with AWS KMS keys (SSE-KMS)

Practice Test 2 ›

Study guides for MLA-C01