Question 253 of 500

Quick Answer

The answer is the missing permission is kms:CreateGrant. This is correct because when SageMaker accesses encrypted S3 data, it must create a grant on the KMS key to allow the SageMaker service principal to decrypt the data on behalf of the execution role. Even if the execution role has kms:Decrypt, SageMaker itself needs permission to call kms:CreateGrant to set up this delegated access; without it, the service cannot establish the necessary cryptographic context for the training job. On the AWS Certified AI Practitioner AIF-C01 exam, this scenario tests your understanding of how SageMaker interacts with KMS grants, often appearing as a trap where candidates assume only kms:Decrypt is needed. A common memory tip is to think of CreateGrant as the "handshake" permission—SageMaker needs to shake hands with the KMS key before it can decrypt data on your behalf.

AIF-C01 Practice Question: Security, Compliance and Governance for AI Solutions

This AIF-C01 practice question tests your understanding of security, compliance and governance for ai solutions. 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 using Amazon SageMaker to train a model. The training data is stored in an S3 bucket that is encrypted with an AWS KMS customer managed key (CMK). The training job fails with an error indicating that the SageMaker execution role does not have permission to decrypt the data. The administrator has verified that the execution role has the kms:Decrypt permission. What additional permission might be missing?

Question 1hardmultiple choice
Full question →

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

kms:CreateGrant

When SageMaker accesses encrypted S3 data, it must create a grant on the KMS key to allow the SageMaker service principal to decrypt the data on behalf of the execution role. Even if the execution role has kms:Decrypt, SageMaker itself needs permission to call kms:CreateGrant to set up this delegated access. Without kms:CreateGrant, the service cannot establish the necessary cryptographic context for the training job.

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.

  • kms:CreateGrant

    Why this is correct

    Allows SageMaker to create a grant on the KMS key for its internal service principal.

    Related concept

    Read the scenario before looking for a memorised answer.

  • kms:ReEncrypt

    Why it's wrong here

    Used to re-encrypt data under a different key, not for initial decryption.

  • kms:DescribeKey

    Why it's wrong here

    Not necessary for decryption; used to view key metadata.

  • kms:GenerateDataKey

    Why it's wrong here

    Used for creating new data keys, not for decryption.

Common exam traps

Common exam trap: answer the scenario, not the keyword

The trap here is that candidates assume kms:Decrypt alone is sufficient, overlooking that SageMaker requires kms:CreateGrant to delegate decryption permissions to the SageMaker service principal for cross-account or service-integrated access.

Detailed technical explanation

How to think about this question

Under the hood, SageMaker uses a service-linked role or the execution role to call kms:CreateGrant on the customer managed key, which adds a grant entry allowing the SageMaker service principal (sagemaker.amazonaws.com) to perform kms:Decrypt on the specified S3 objects. This grant is temporary and scoped to the specific job. In real-world scenarios, if the KMS key policy explicitly denies kms:CreateGrant for the execution role (e.g., via a Deny statement), the job will fail even if the role has kms:Decrypt, because the grant creation is blocked.

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.

Related practice questions

Related AIF-C01 practice-question pages

Use these pages to review the topic behind this question. This is how one missed question becomes focused revision.

Practice this exam

Start a free AIF-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 AIF-C01 question test?

Security, Compliance and Governance for AI Solutions — This question tests Security, Compliance and Governance for AI Solutions — Read the scenario before looking for a memorised answer..

What is the correct answer to this question?

The correct answer is: kms:CreateGrant — When SageMaker accesses encrypted S3 data, it must create a grant on the KMS key to allow the SageMaker service principal to decrypt the data on behalf of the execution role. Even if the execution role has kms:Decrypt, SageMaker itself needs permission to call kms:CreateGrant to set up this delegated access. Without kms:CreateGrant, the service cannot establish the necessary cryptographic context for the training job.

What should I do if I get this AIF-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 →

How Courseiva writes practice questions · Editorial policy

Same concept, more angles

1 more ways this is tested on AIF-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 uses Amazon SageMaker to train a model on customer transaction data. The data is stored in an S3 bucket encrypted with SSE-KMS. The data scientists are using a SageMaker notebook instance to preprocess the data. The security team notices that the notebook instance can access the KMS key directly through the SageMaker console, even when the data scientists do not have explicit KMS permissions. What is the MOST likely reason for this behavior?

hard
  • A.The KMS key policy allows the SageMaker service to decrypt using the key, and the console displays this permission globally.
  • B.The S3 bucket has a bucket policy that grants s3:GetObject access using the SageMaker service principal, bypassing KMS permissions.
  • C.The SageMaker execution role attached to the notebook instance has permission to use the KMS key for the S3 bucket, and the SageMaker console uses that role to perform decryption operations on behalf of the user.
  • D.The SageMaker notebook instance is using an IAM role that has the AWS managed policy AmazonSageMakerFullAccess, which includes kms:Decrypt for all keys.

Why C: Option C is correct because the SageMaker notebook instance uses an execution IAM role that is assumed when performing operations. If that execution role has permissions to use the KMS key (e.g., kms:Decrypt, kms:GenerateDataKey) for the S3 bucket, the SageMaker console can leverage that role to decrypt data on behalf of the user, even if the user's own IAM identity lacks explicit KMS permissions. The console acts as a proxy, using the notebook's execution role to access the key.

Keep practising

More AIF-C01 practice questions

Last reviewed: Jun 25, 2026

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.

Loading comments…

Sign in to join the discussion.

This AIF-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 AIF-C01 exam.