Courseiva
SDLC AutomationmediumMultiple ChoiceObjective-mapped

CodePipeline ListPipelines Permission Required to Start Pipeline

Exhibit

Refer to the exhibit.

```
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "codepipeline:StartPipelineExecution",
        "codepipeline:GetPipeline"
      ],
      "Resource": "arn:aws:codepipeline:us-east-1:123456789012:MyPipeline"
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject"
      ],
      "Resource": "arn:aws:s3:::my-artifact-bucket/*"
    }
  ]
}
```

An IAM policy is attached to a user who needs to manually start a CodePipeline execution. The pipeline uses an S3 bucket named 'my-artifact-bucket' for artifacts. The user reports that they cannot start the pipeline. Which action is missing from the policy?

Quick Answer

The answer is `codepipeline:ListPipelines`. While `codepipeline:StartPipelineExecution` is the action that actually triggers a pipeline run, the AWS Management Console and CLI first require the ability to discover and select the pipeline, which is governed by the `ListPipelines` permission. Without it, the pipeline simply does not appear in the list, making it impossible to target for execution even if the start action is allowed. On the AWS Certified DevOps Engineer Professional DOP-C02 exam, this is a classic trap: candidates often focus only on the execution action and overlook the prerequisite listing permission, which is a common real-world misconfiguration. The exam tests your understanding that IAM policies must grant both the "see" and "do" permissions for console-based workflows. A helpful memory tip is "List before Start" — you cannot start what you cannot see.

⚠ Common exam trap

The trap here is that candidates often focus on the action needed to start the pipeline (`StartPipelineExecution`) and overlook the prerequisite `ListPipelines` action, which is required to discover the pipeline in the first place.

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

codepipeline:ListPipelines

The user needs to manually start a CodePipeline execution, which requires the `codepipeline:StartPipelineExecution` action. However, the question asks which action is missing from the policy, and the correct answer is `codepipeline:ListPipelines` because the user cannot even see the pipeline to start it. Without `codepipeline:ListPipelines`, the AWS Management Console or CLI will not return the pipeline in the list, preventing the user from selecting it to start execution. The other actions are either not directly required for starting a pipeline or are unrelated to the permission needed to list pipelines.

Answer analysis

Option-by-option breakdown

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

  • iam:PassRole

    Why it's wrong here

    Not required for the user.

  • codepipeline:ListPipelines

    Why this is correct

    The user likely needs to list pipelines in the console to find the pipeline.

  • codepipeline:GetPipelineExecution

    Why it's wrong here

    Not required to start execution.

  • s3:PutObject

    Why it's wrong here

    Starting a pipeline does not require S3 PutObject.

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

One of 1,013 original DOP-C02 practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

Same concept, more angles

2 more ways this is tested on DOP-C02

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. An IAM policy is attached to a user who needs to start a CodePipeline pipeline and view its details. The user reports that they cannot see the pipeline in the AWS Management Console. What is the MOST likely reason?

medium
  • A.There is an explicit deny statement elsewhere that is overriding the allow.
  • B.The user does not have permission to start the pipeline execution.
  • C.The pipeline ARN is incorrect.
  • D.The policy does not include the codepipeline:ListPipelines action, which is needed to view pipelines in the console.

Why D: The AWS Management Console requires the `codepipeline:ListPipelines` action to populate the pipeline list view. Without this permission, the console cannot display any pipelines, even if the user has permissions for specific pipeline actions like `StartPipelineExecution` or `GetPipeline`. The attached policy grants `codepipeline:StartPipelineExecution` and `codepipeline:GetPipeline`, but omits `ListPipelines`, which is why the user sees an empty pipeline list.

Variation 2. Refer to the exhibit. A DevOps engineer attaches this IAM policy to a user. The user reports that they cannot start a pipeline execution for 'my-pipeline' using the AWS CLI. What is the MOST likely reason?

medium
  • A.The IAM policy does not allow the 'codepipeline:StartPipelineExecution' action.
  • B.The user is missing the 'codepipeline:ListPipelines' permission needed to list pipelines before execution.
  • C.The resource ARN for the pipeline is incorrect.
  • D.The policy has a condition that restricts execution to certain times.

Why B: The IAM policy shown in the exhibit grants permissions for specific actions on the 'my-pipeline' resource, but it does not include the 'codepipeline:ListPipelines' action. When a user runs the AWS CLI command to start a pipeline execution, the AWS CLI first calls 'ListPipelines' to resolve the pipeline name to its ARN, and if that permission is missing, the request fails with an access denied error even though the 'StartPipelineExecution' action is allowed.

JA

Written by Johnson Ajibi, MSc IT Security

Senior Network & Security Engineer · founder of Courseiva

This DOP-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 DOP-C02 exam.