Courseiva

DEA-C01 Data Ingestion and Transformation Practice Question

Exhibit

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:PutObject"
      ],
      "Resource": "arn:aws:s3:::data-lake-bucket/*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "kinesis:DescribeStream",
        "kinesis:GetShardIterator",
        "kinesis:GetRecords"
      ],
      "Resource": "arn:aws:kinesis:us-east-1:123456789012:stream/clickstream"
    }
  ]
}

Refer to the exhibit. An IAM policy for an AWS Lambda function. The Lambda function is triggered by an S3 event (object created) and needs to read from a Kinesis stream. However, the function fails with access denied when trying to read from Kinesis. What is the most likely cause?

⚠ Common exam trap

The DEA-C01 exam often tests the interaction between Kinesis SSE-KMS and Lambda IAM permissions, trapping candidates who assume that Kinesis read permissions alone are sufficient without considering the KMS key policy.

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

✓

The Kinesis stream is encrypted with a customer managed KMS key, and the Lambda function lacks kms:Decrypt permission

When a Kinesis stream is encrypted with a customer managed KMS key, the Lambda function must have the `kms:Decrypt` permission on that key to read data from the stream. Without this permission, the Lambda function will receive an access denied error even if it has the necessary Kinesis actions (e.g., `kinesis:GetRecords`) allowed in its IAM policy. The S3 event trigger only invokes the function; it does not grant Kinesis 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.

  • ✗

    The Lambda function is not in the same region as the Kinesis stream

    Why it's wrong here

    Cross-region access isn't the blocker: Lambda reads Kinesis streams in its own region, and the stem's access-denied error points to the execution role's IAM policy, not geography. It is tempting because co-locating resources reduces latency and data-transfer costs, so region alignment is a genuine design consideration — just not the cause of an authorisation failure.

  • ✗

    The Lambda function does not have permission to list S3 buckets

    Why it's wrong here

    Listing S3 buckets is irrelevant: the S3 event trigger already delivers the object, and the failure occurs reading Kinesis. This permission would matter only if the function itself enumerated buckets, for example to discover which bucket to process.

  • ✓

    The Kinesis stream is encrypted with a customer managed KMS key, and the Lambda function lacks kms:Decrypt permission

    Why this is correct

    Reading from a Kinesis stream encrypted with a customer managed KMS key requires kms:Decrypt in the Lambda execution role. The S3 event trigger and stream read permissions may be correct, but the missing KMS grant causes the access denied error.

  • ✗

    The S3 bucket policy denies access to the Lambda function

    Why it's wrong here

    The S3 bucket policy governs access to S3 objects, not Kinesis. Since the trigger fires and the error arises on the Kinesis read, an S3 denial cannot produce it. Bucket policies would be the cause if the function failed reading the triggering object.

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