Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Workload identities for pipelines #4837

Open
3 tasks done
jenrik opened this issue Feb 13, 2025 · 1 comment
Open
3 tasks done

Workload identities for pipelines #4837

jenrik opened this issue Feb 13, 2025 · 1 comment
Labels
feature add new functionality

Comments

@jenrik
Copy link
Contributor

jenrik commented Feb 13, 2025

Clear and concise description of the problem

I'm wishing for an way to grant individual pipeline executions access to external resources based on their identity (repo name, branch, git-commit, pipeline name, trigger by, ...). External resources includes things such as container registries.
Signing and generating attestations for artifacts with Sigstore's cosign, which is growing need due to EU legislation such as NIS2, requires a away to identity the build pipeline to issues signing certificates.

Suggested solution

The core idea is to take inspiration from Github Actions where tokens are issues to pipelines on-demand, and implement an OAuth2 provider into Woodpecker that issues token to pipelines with specialized fields and claims identifying the specific pipeline execution.

Alternative

Adding secrets to pipelines via the existing secrets mechanism can give us some of the functionality, but lacks the fine-grained access that can be given by issuing tokens with exact information about a specific pipeline execution. It is also vulnerable to secret leakage since the secret have a life-time far greater that an single execution.

Additional context

A lot of legislation is arriving that demands greater and greater cyber security and supply-chain security. Figuring out how we can best support cosign with Woodpecker can become important for future use of Woodpecker in commercial settings. And personally I'm very interested in being able to produce SLSA level 3 compliant software artifacts.

Validations

  • Checked that the feature isn't part of the next version already [https://woodpecker-ci.org/versions]
  • Read the docs.
  • Check that there isn't already an issue that request the same feature to avoid creating a duplicate.
@jenrik jenrik added the feature add new functionality label Feb 13, 2025
@jenrik
Copy link
Contributor Author

jenrik commented Feb 13, 2025

I willing to put in the work to implement this feature, but I would prefer to have the projects support before committing the time

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature add new functionality
Projects
None yet
Development

No branches or pull requests

1 participant