Courseiva
Question 84 of 724
SecurityeasyMultiple ChoiceObjective-mapped

DVA-C02 Security Practice Question

A company is using AWS KMS to encrypt sensitive data stored in S3. The security team wants to ensure that only a specific IAM role can decrypt the data. What is the most secure way to achieve this?

⚠ Common exam trap

Test-takers frequently confuse S3 bucket policies with KMS key policies, assuming that restricting S3 access is sufficient to prevent decryption, when in fact the KMS key policy is the only way to enforce decryption restrictions at the cryptographic level.

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

Create a KMS key policy that grants the role the kms:Decrypt permission.

KMS key policies are the most direct and secure way to control who can perform cryptographic operations like kms:Decrypt on a specific CMK. By granting only the specific IAM role the kms:Decrypt permission in the key policy, you ensure that no other principal (including the root user or other roles) can decrypt the data, even if they have S3 access. This follows the principle of least privilege and decouples data access from infrastructure access.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • Use S3 server-side encryption with S3-managed keys (SSE-S3).

    Why it's wrong here

    Using S3 server-side encryption with S3-managed keys (SSE-S3) encrypts objects using keys entirely managed by AWS, where AWS handles key management and rotation. While it provides encryption at rest, it does not offer customer-specific control over the decryption process through KMS key policies or IAM. Therefore, SSE-S3 cannot be used to grant a specific role `kms:Decrypt` permissions, as the customer does not directly manage the encryption key or its access policies.

  • Create a KMS key policy that grants the role the kms:Decrypt permission.

    Why this is correct

    A KMS key policy is the primary authorization mechanism for a Customer Managed Key (CMK), explicitly defining which IAM principals can perform cryptographic operations. Granting the `kms:Decrypt` permission to a specific role within the key policy directly enables that role to decrypt data encrypted by the CMK. This direct control over key usage is fundamental for fine-grained access management, ensuring only authorized entities can access sensitive data.

  • Enable automatic key rotation for the KMS key.

    Why it's wrong here

    Enabling automatic key rotation for a KMS key generates new underlying cryptographic material annually for the same key ID. This practice enhances the long-term security posture by limiting the amount of data encrypted with a single key version, reducing the impact of a potential key compromise. However, key rotation is a security hygiene feature and does not alter or restrict the access permissions defined in the key policy or IAM policies for who can use the key.

  • Use an S3 bucket policy to restrict access to the role.

    Why it's wrong here

    An S3 bucket policy governs access to objects within a specific S3 bucket, controlling actions like `s3:GetObject` or `s3:PutObject`. While it can restrict which principals can retrieve an encrypted object from S3, it does not grant or deny the separate `kms:Decrypt` permission required to actually decrypt the object if it was encrypted with a KMS Customer Managed Key. The S3 bucket policy only controls access to the encrypted data in S3, not the underlying KMS key itself.

Quick reference

AWS S3 Storage Class Comparison

Storage ClassMin DurationRetrievalUse Case
S3 StandardNoneImmediateFrequently accessed data
S3 Standard-IA30 daysImmediateInfrequent access, rapid retrieval
S3 One Zone-IA30 daysImmediateNon-critical infrequent data
S3 Intelligent-TieringNoneImmediate–hoursUnknown or changing access patterns
S3 Glacier Instant90 daysMillisecondsArchive with instant retrieval
S3 Glacier Flexible90 daysMinutes–hoursArchive, flexible retrieval
S3 Glacier Deep Archive180 daysHoursLong-term compliance archive

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

Last reviewed: Jun 24, 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 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.