Courseiva
Data Store ManagementmediumMultiple ChoiceObjective-mapped

DEA-C01 Data Store Management Practice Question

Exhibit

Refer to the exhibit.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "s3:PutObject",
      "Resource": "arn:aws:s3:::example-bucket/*",
      "Condition": {
        "StringNotEquals": {
          "s3:x-amz-server-side-encryption": "aws:kms"
        }
      }
    }
  ]
}

A data engineer reviews this IAM policy attached to an S3 bucket. What is the effect of this policy?

⚠ Common exam trap

The trap is that candidates may misread StringNotEquals as StringEquals, thinking the policy denies SSE-KMS encryption when it actually denies non-SSE-KMS.

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

Allows PutObject only when the object is encrypted with SSE-KMS.

The IAM policy uses a Deny effect with a StringNotEquals condition on s3:x-amz-server-side-encryption for aws:kms. This means that if the encryption header is anything other than aws:kms (i.e., not SSE-KMS), the request is denied. The net effect is that PutObject is allowed only when the object IS encrypted with SSE-KMS.

Answer analysis

Option-by-option breakdown

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

  • Denies PutObject when encryption is not SSE-KMS.

    Why it's wrong here

    Incorrect. This policy denies requests when the encryption is not SSE-KMS, so it allows PutObject only when SSE-KMS is used. It does not deny PutObject when encryption is not SSE-KMS; rather, it denies when encryption is not SSE-KMS.

  • Denies all PutObject requests.

    Why it's wrong here

    Incorrect. The policy does not deny all PutObject requests; it only denies those without SSE-KMS encryption.

  • Allows PutObject only when the object is encrypted with SSE-KMS.

    Why this is correct

    Correct. The Deny with StringNotEquals on aws:kms denies PutObject requests that do not use SSE-KMS encryption, thus allowing only those with SSE-KMS.

  • Allows PutObject only when the object is NOT encrypted with SSE-KMS.

    Why it's wrong here

    Incorrect. The policy denies non-SSE-KMS encryption, so it allows PutObject only when the object IS encrypted with SSE-KMS, not when it is NOT encrypted with SSE-KMS.

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 writes every DEA-C01 question from scratch — 1,711 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or dumps. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

JA

Written by Johnson Ajibi, MSc IT Security

Senior Network & Security Engineer · founder of Courseiva

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