The answer is the missing s3:ListBucket permission. This occurs because when a SageMaker notebook instance attempts to read a file like 's3://my-bucket/training/data.csv' using high-level AWS SDK methods such as boto3's `read()`, the SDK first performs a ListObjects (ListBucket) operation to resolve the object path, even though the actual read only requires s3:GetObject. Without s3:ListBucket, the initial listing request is denied, causing the Access Denied error despite having GetObject allowed. On the AWS Certified AI Practitioner AIF-C01 exam, this tests your understanding that SageMaker IAM permissions for S3 must include both read and list actions when using SDK abstractions, a common trap where candidates assume GetObject alone is sufficient. Remember the memory tip: "Get to list first" — the SDK lists before it gets, so always pair s3:ListBucket with s3:GetObject for object reads.
AIF-C01 Fundamentals of AI and ML Practice Question
This AIF-C01 practice question tests your understanding of fundamentals of ai and ml. Match the stated requirement to the specific cloud service, access model, or configuration option — many options are valid in isolation but not for this scenario. After answering, compare your reasoning against the explanation and wrong-answer breakdown below. Once you have made your selection, read the full explanation to reinforce the concept and understand why each distractor is designed to mislead on exam day.
Refer to the exhibit. A data scientist attaches the above IAM policy to a SageMaker notebook instance role. The notebook is in the same AWS account as the S3 bucket. When trying to read a file from 's3://my-bucket/training/data.csv', the data scientist gets an Access Denied error. What is the most likely cause?
Clue words in this question
Noticing these words before you look at the options changes how you read each choice.
Clue: "most likely"
Why it matters: Probability qualifier — the question wants the most probable cause or outcome, not a guaranteed one. Eliminate low-probability options.
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
The policy does not grant 's3:ListBucket' permission
The error occurs because the IAM policy attached to the SageMaker notebook instance role does not include the 's3:ListBucket' permission. When reading a specific object from S3, the SDK first performs a ListObjects (ListBucket) operation to resolve the object key, especially when using high-level APIs like boto3's `read()` or `get_object`. Without this permission, the request is denied even if 's3:GetObject' is allowed.
Key principle: Answer the scenario, not the keyword: identify the specific constraint before choosing the most familiar-sounding option.
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 file name contains spaces
Why it's wrong here
Spaces would cause a different error.
✓
The policy does not grant 's3:ListBucket' permission
Why this is correct
ListBucket is needed to access objects in a bucket.
Clue confirmation
The clue word "most likely" in the question point toward this answer.
Related concept
Read the scenario before looking for a memorised answer.
✗
The S3 bucket is in a different Region
Why it's wrong here
Region mismatch would cause a different error.
✗
The policy allows 's3:PutObject' which is not needed
Why it's wrong here
Extra permissions do not cause denial.
Common exam traps
Common exam trap: answer the scenario, not the keyword
Cisco often tests the subtle distinction that reading a specific object requires both 's3:GetObject' and 's3:ListBucket' permissions because the SDK performs a bucket listing operation before accessing the object.
Detailed technical explanation
How to think about this question
Under the hood, the AWS SDK for Python (boto3) when calling `s3_client.get_object()` first issues a HEAD request to the object, but some high-level operations (e.g., `s3fs` or `pandas.read_csv('s3://...')`) may implicitly call ListObjects to verify the bucket exists or to list prefixes. The IAM policy evaluation denies any action not explicitly allowed, so missing 's3:ListBucket' blocks these implicit calls. In real-world scenarios, this is a common misconfiguration when granting only object-level permissions without bucket-level listing.
KKey Concepts to Remember
Read the scenario before looking for a memorised answer.
Find the constraint that changes the correct option.
Eliminate answers that are true in general but not in this case.
TExam Day Tips
→Watch for words such as best, first, most likely and least administrative effort.
→Review why wrong options are wrong, not only why the correct option is correct.
Key takeaway
Answer the scenario, not the keyword: identify the specific constraint before choosing the most familiar-sounding option.
Real-world example
How this comes up in practice
A media company stores terabytes of video archives that are accessed once a year for audit purposes. Moving these objects to a cold storage tier (Azure Archive, S3 Glacier, or Google Nearline) costs a fraction of hot storage. Questions like this test whether you understand storage tiers, access frequency tradeoffs, and retrieval latency requirements.
What to study next
Got this wrong? Here's your next step.
Identify which exam domain this question belongs to, review the core concept, then practise similar questions from the same domain.
Fundamentals of AI and ML — This question tests Fundamentals of AI and ML — Read the scenario before looking for a memorised answer..
What is the correct answer to this question?
The correct answer is: The policy does not grant 's3:ListBucket' permission — The error occurs because the IAM policy attached to the SageMaker notebook instance role does not include the 's3:ListBucket' permission. When reading a specific object from S3, the SDK first performs a ListObjects (ListBucket) operation to resolve the object key, especially when using high-level APIs like boto3's `read()` or `get_object`. Without this permission, the request is denied even if 's3:GetObject' is allowed.
What should I do if I get this AIF-C01 question wrong?
Identify which exam domain this question belongs to, review the core concept, then practise similar questions from the same domain.
Are there clue words in this question I should notice?
Yes — watch for: "most likely". Probability qualifier — the question wants the most probable cause or outcome, not a guaranteed one. Eliminate low-probability options.
What is the key concept behind this question?
Read the scenario before looking for a memorised answer.
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 →
These questions test the same concept from different angles. Work through them to make sure you can recognise it however the exam phrases it.
Variation 1. Refer to the exhibit. A SageMaker training job fails with an 'AccessDenied' error when trying to read files from the S3 bucket 'my-training-data'. The IAM role used by the training job has the policy shown. What is the most likely reason for the failure?
medium
A.The bucket policy requires encryption in transit
B.The training job is using the wrong AWS region
C.The policy does not include the s3:PutObject action
✓ D.The policy does not include the s3:ListBucket action
Why D: The IAM policy grants s3:GetObject but not s3:ListBucket. When a SageMaker training job reads files from S3, the SageMaker SDK or framework (e.g., TensorFlow, PyTorch) often performs a ListBucket call first to enumerate objects in the prefix. Without s3:ListBucket, the SDK cannot discover the files, resulting in an AccessDenied error even though GetObject is allowed.
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.
This AIF-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 AIF-C01 exam.
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.
Sign in to join the discussion.