Hacker News new | past | comments | ask | show | jobs | submit login

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.




How is the JWT token getting refreshed?


It doesn't the pipeline orchestration generates a new token per run.


Here's the guide:

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.


thanks for the link i will check it out!



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: