4 ms·
Roll back the assumption. So what actually should happen here is your pipeline mints a JWT token with some near term expiry per run. You send that token to va
by ownagefool 2y ago
Roll back the assumption.
So what actually should happen here is your pipeline mints a JWT token with some near term expiry per run.
You send that token to vaults JWT endpoint, and it validates that it knows the issuer and the signature matches the provided keys.
When configuring the vault side, you can further validate the signed token data which will include things like the scm org, the repository name, the actor ( user who made the commit ), whether or not it's a PR, what branch it's against, whether the repository is private.
From there you can set roles within vault that allows different policy per risk, i.e. random PRs from the public shouldn't get deployment secrets.
- Wheaties466 2y agoHow is the JWT token getting refreshed?
- ownagefool 2y agoIt doesn't the pipeline orchestration generates a new token per run.
- ownagefool 2y agoHere's the guide: https://docs.github.com/en/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-hashicorp-vault https://docs.github.com/en/actions/deployment/security-harde... You can do same with gitlab. Technically you don't need vault, you can auth direct to aws, azure, etc.
- Wheaties466 2y agothanks for the link i will check it out!