aws / aws/aws-cdk

(pipelines): Confirm permissions broadening before SelfMutate action

Open
#16,301 3 comments 2 reactions 0 assignees View on GitHub
@aws-cdk/pipelines effort/medium feature-request p2
Dominant language
TypeScript
Stars
12.9k
Forks
4.6k
Avg merge
2d 3h
Merged PRs (30d)
83

Description

As a security enhancement, give users the option to include a CodePipeline approval step prior to letting the pipeline mutate itself (and changing its security context).

Essentially, the mechanics should work exactly like the existing [confirm-permissions-broadening](https://docs.aws.amazon.com/cdk/api/latest/docs/pipelines-readme.html#confirm-permissions-broadening) approval gate.

The difference is rather than checking for target environment security changes, the new option would check for changes in the pipeline's security context (pipeline roles, security groups, etc.).

### Use Case

This feature would enhance security, by ensuring any change in the pipeline's security context must be approved by the right set of people.

### Proposed Solution

If possible, I would suggest exposing the UpdatePipeline stage (`Stage` and `StageDeployment` instances). This way, we could do:

```ts
pipeline.updatePipelineStageDeployment.addPre(
new ConfirmPermissionsBroadening('Check', { stage: pipeline.updatePipelineStage })
);
```

* [ ] :wave: I may be able to implement this feature request
* [ ] :warning: This feature might incur a breaking change

---

This is a :rocket: Feature Request

Contributor guide

Open the contributing guide

Research direction

Start by reading the existing ConfirmPermissionsBroadening mechanism and the proposed updatePipelineStageDeployment, Stage, and StageDeployment entry points. Determine how a pre-approval gate would identify changes to the pipeline's security context; done means users can opt into approval before SelfMutate changes that context, with behavior matching the existing approval gate.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, typescript
Domain
ci-cd, cloud, devops, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
32/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.