Courseiva
Question 249 of 724
SecuritymediumMultiple SelectObjective-mapped

DVA-C02 Security Practice Question

A developer wants to encrypt data in an S3 bucket using server-side encryption with AWS KMS (SSE-KMS). Which TWO steps are required?

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

Set the default encryption on the bucket to SSE-KMS.

The bucket must be configured for SSE-KMS, and the IAM role must have kms:GenerateDataKey and kms:Decrypt permissions.

Answer analysis

Option-by-option breakdown

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

  • Set the default encryption on the bucket to SSE-KMS.

    Why this is correct

    Setting default encryption on the S3 bucket to SSE-KMS is the direct and required control because it instructs S3 to automatically apply KMS-based encryption to every new object written to the bucket, regardless of whether the upload request includes encryption headers. This setting meets the requirement without forcing changes to the application code, and it ensures that any object uploaded without explicit encryption is still encrypted at rest.

  • Enable MFA Delete on the bucket.

    Why it's wrong here

    Enabling MFA Delete on the bucket is a versioning-related protection that requires a second form of authentication to permanently delete object versions or change the versioning state. It is completely unrelated to data encryption at rest, as encryption protects the confidentiality of object contents while MFA Delete is about preventing accidental or malicious destructions of versions. Therefore, it does nothing to encrypt the data.

  • Create a bucket policy that denies unencrypted requests.

    Why it's wrong here

    Creating a bucket policy that denies unencrypted requests is an optional enforcement layer that uses aws:SecureTransport or the s3:x-amz-server-side-encryption condition to reject PUTs that do not include encryption headers. It does not by itself encrypt any object; it merely blocks writes that do not carry the required headers, and it can directly conflict with default encryption because S3's own inspection of the request may not see the automatically applied default encryption headers. The default encryption setting already guarantees encryption, so this policy is not required to achieve the stated goal.

  • Grant the IAM role kms:GenerateDataKey and kms:Decrypt permissions.

    Why this is correct

    Granting the IAM role kms:GenerateDataKey and kms:Decrypt permissions is necessary for any principal that will put or get objects encrypted with SSE-KMS. When S3 encrypts an object it calls GenerateDataKey to obtain a data key, and when reading it calls Decrypt to unwrap that stored data key; without these permissions on the customer-managed KMS key, uploads and downloads will fail with access denied, meaning default encryption alone is insufficient if the executing role is not authorized.

  • Enable versioning on the bucket.

    Why it's wrong here

    Enabling versioning on the bucket is a feature that preserves multiple variants of an object to guard against overwrites and one-time deletions, which is useful for operational recovery but has no bearing on data encryption. Encryption at rest with SSE-KMS is applied independently to each version, but versioning itself will never encrypt any data nor does it alter how S3 uses a KMS key. Since the requirement is to encrypt the data, turning on versioning is irrelevant to that outcome.

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 20, 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.