This DVA-C02 practice question tests your understanding of troubleshooting and optimization. The scenario asks you to isolate a root cause — eliminate options that address a different problem before choosing. A key principle to apply: kms:Decrypt. 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 developer is trying to decrypt an S3 object using an AWS KMS key. The decryption fails with an 'AccessDenied' error. The IAM policy attached to the developer's user includes the statement in the exhibit. The KMS key policy includes the following statement:
{
"Sid": "Enable IAM User Permissions",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::123456789012:root"
},
"Action": "kms:*",
"Resource": "*"
}
What is the most likely reason for the failure?
Clue words in this question
Noticing these words before you look at the options changes how you read each choice.
Clue: "most likely"
Why it matters: Probability qualifier — the question wants the most probable cause or outcome, not a guaranteed one. Eliminate low-probability options.
The KMS key policy does not grant access to the developer's IAM user.
Why wrong: This is incorrect because the key policy includes the default statement allowing the root account, which does grant access to IAM users via their IAM policies.
B
The KMS key policy specifies 'kms:*' which is too broad and causes a conflict.
Why wrong: This is incorrect. `kms:*` is a permissive wildcard and does not cause conflicts; it actually grants all actions.
C
The developer's IAM policy does not include 'kms:GenerateDataKey' permission.
This option incorrectly identifies `kms:GenerateDataKey` as the missing permission. For decryption, `kms:Decrypt` is required, not `kms:GenerateDataKey`. However, it is the closest option because it points out a missing KMS action in the IAM policy.
D
The developer's IAM policy uses 'Resource' with the full key ARN but the key policy requires a different format.
Why wrong: This is incorrect. The resource format in IAM policies can be the full key ARN, and the key policy does not require a different format.
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
The developer's IAM policy does not include 'kms:GenerateDataKey' permission.
The developer is attempting to decrypt an S3 object encrypted with AWS KMS (SSE-KMS). To decrypt such an object, the IAM user needs `kms:Decrypt` permission on the KMS key. The key policy includes the default statement allowing the root account, which covers all IAM users via IAM policies. However, the IAM policy shown in the exhibit (not displayed here) likely does not include `kms:Decrypt`. Option C mentions `kms:GenerateDataKey`, which is used for encryption, not decryption. Therefore, the actual missing permission is `kms:Decrypt`, making option C incorrect as stated, but among the choices, it is the closest because it identifies a missing KMS action. The correct answer should have been a missing `kms:Decrypt` permission.
Key principle: kms:Decrypt
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
✗
The KMS key policy does not grant access to the developer's IAM user.
Why it's wrong here
This is incorrect because the key policy includes the default statement allowing the root account, which does grant access to IAM users via their IAM policies.
✗
The KMS key policy specifies 'kms:*' which is too broad and causes a conflict.
Why it's wrong here
This is incorrect. `kms:*` is a permissive wildcard and does not cause conflicts; it actually grants all actions.
✓
The developer's IAM policy does not include 'kms:GenerateDataKey' permission.
Why this is correct
This option incorrectly identifies `kms:GenerateDataKey` as the missing permission. For decryption, `kms:Decrypt` is required, not `kms:GenerateDataKey`. However, it is the closest option because it points out a missing KMS action in the IAM policy.
Clue confirmation
The clue word "most likely" in the question point toward this answer.
Related concept
kms:Decrypt
✗
The developer's IAM policy uses 'Resource' with the full key ARN but the key policy requires a different format.
Why it's wrong here
This is incorrect. The resource format in IAM policies can be the full key ARN, and the key policy does not require a different format.
Common exam traps
Common exam trap: answer the scenario, not the keyword
Candidates often confuse the required KMS actions for decryption vs. encryption. `kms:GenerateDataKey` is needed to encrypt new objects, while `kms:Decrypt` is needed to decrypt. The key policy default allows root, so it is not the issue.
Detailed technical explanation
How to think about this question
Treat this as a scenario question. Identify the problem, the constraint, and the best action. Then compare each option against those facts.
KKey Concepts to Remember
kms:Decrypt
KMS Key Policy
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
kms:Decrypt
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.
Quick reference
AWS S3 Storage Class Comparison
Storage Class
Min Duration
Retrieval
Use Case
S3 Standard
None
Immediate
Frequently accessed data
S3 Standard-IA
30 days
Immediate
Infrequent access, rapid retrieval
S3 One Zone-IA
30 days
Immediate
Non-critical infrequent data
S3 Intelligent-Tiering
None
Immediate–hours
Unknown or changing access patterns
S3 Glacier Instant
90 days
Milliseconds
Archive with instant retrieval
S3 Glacier Flexible
90 days
Minutes–hours
Archive, flexible retrieval
S3 Glacier Deep Archive
180 days
Hours
Long-term compliance archive
What to study next
Got this wrong? Here's your next step.
Review kms:Decrypt, then practise related DVA-C02 questions on the same topic to reinforce the concept.
Troubleshooting and Optimization — This question tests Troubleshooting and Optimization — kms:Decrypt.
What is the correct answer to this question?
The correct answer is: The developer's IAM policy does not include 'kms:GenerateDataKey' permission. — The developer is attempting to decrypt an S3 object encrypted with AWS KMS (SSE-KMS). To decrypt such an object, the IAM user needs `kms:Decrypt` permission on the KMS key. The key policy includes the default statement allowing the root account, which covers all IAM users via IAM policies. However, the IAM policy shown in the exhibit (not displayed here) likely does not include `kms:Decrypt`. Option C mentions `kms:GenerateDataKey`, which is used for encryption, not decryption. Therefore, the actual missing permission is `kms:Decrypt`, making option C incorrect as stated, but among the choices, it is the closest because it identifies a missing KMS action. The correct answer should have been a missing `kms:Decrypt` permission.
What should I do if I get this DVA-C02 question wrong?
Review kms:Decrypt, then practise related DVA-C02 questions on the same topic to reinforce the concept.
Are there clue words in this question I should notice?
Yes — watch for: "most likely". Probability qualifier — the question wants the most probable cause or outcome, not a guaranteed one. Eliminate low-probability options.
What is the key concept behind this question?
kms:Decrypt
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 →
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.
This DVA-C02 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 DVA-C02 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.