DEA-C01 Data Store Management Practice Question
Exhibit
Refer to the exhibit.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::123456789012:role/DataLakeRole"
},
"Action": [
"s3:GetObject",
"s3:PutObject"
],
"Resource": "arn:aws:s3:::my-data-lake/*"
}
]
}An IAM role 'DataLakeRole' has the above S3 bucket policy attached to an S3 bucket. The role is assumed by an AWS Glue job. The Glue job is failing with 'Access Denied' errors when trying to list objects in the bucket. Which action should be added to the policy to fix the issue?
⚠ Common exam trap
It's easy for candidates to confuse s3:ListBucket (which applies to the bucket itself) with s3:GetObject or s3:ListObjects (which are often misapplied to object ARNs), leading them to pick Option D or A, not realizing that listing requires the bucket-level permission and a bucket ARN, not an object ARN.
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
✓
Add s3:ListBucket action for the bucket ARN (arn:aws:s3:::my-data-lake).
The Glue job is failing with 'Access Denied' when trying to list objects, which requires the s3:ListBucket permission on the bucket itself (not on objects). Option B correctly adds s3:ListBucket for the bucket ARN (arn:aws:s3:::my-data-lake), which grants permission to list the contents of the bucket. Without this action, even if other permissions exist, the ListObjectsV2 API call used by AWS Glue to enumerate objects will be denied.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Add s3:ListObjects action for the bucket ARN.
Why it's wrong here
s3:ListObjects is a valid IAM action, but it only covers the older ListObjects API. AWS Glue uses the ListObjectsV2 API, which requires the s3:ListBucket action. Additionally, the action must be applied to the bucket ARN, not the object ARN.
- ✓
Add s3:ListBucket action for the bucket ARN (arn:aws:s3:::my-data-lake).
Why this is correct
Adding `s3:ListBucket` on the bucket ARN (`arn:aws:s3:::my-data-lake`) satisfies the failing list operation, because bucket-level actions such as `ListBucket` are evaluated against the bucket resource itself, not the objects within it. Object ARNs (`arn:aws:s3:::my-data-lake/*`) only govern object-level actions like `GetObject`.
- ✗
Add s3:GetObjectVersion action for the object ARN.
Why it's wrong here
Listing objects requires s3:ListBucket on the bucket ARN, not an object-level action. GetObjectVersion retrieves a specific object version and is granted on object ARNs, so it cannot authorise ListObjects. It would be correct when versioned object retrieval is needed, but the Glue job's failure is a listing permission gap.
- ✗
Add s3:ListBucket action for the object ARN (arn:aws:s3:::my-data-lake/*).
Why it's wrong here
Granting `s3:ListBucket` on the object ARN `arn:aws:s3:::my-data-lake/*` cannot work: `ListBucket` operates on the bucket resource itself, so the object-level ARN never matches and Access Denied persists. It is tempting because the Glue job's error concerns listing objects, yet `s3:ListBucket` belongs on `arn:aws:s3:::my-data-lake`, while object ARNs suit `s3:GetObject`.
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 |
Go deeper
Related to this question
About these practice questions
This DEA-C01 question is part of Courseiva's 1,321-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. Learn why practice questions differ from exam dumps →
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.