Where do credentials actually belong in a pipeline, given that everything ends up in a log eventually?
My pipeline needs a username and password for a registry, a token for a deployment target, and a key for signing. Right now some of these are variables in the project settings and one is, embarrassingly, in the pipeline file.
I know the file version is wrong. What I am less sure about is whether the settings version is actually safe, given that anybody who can edit the pipeline can also write a step that prints the variable.
What does a defensible setup look like?
@pipeline_pars · 5h ago
Your instinct is exactly right and it is the thing most teams have not internalised: anybody who can change the pipeline can read every secret the pipeline can reach. Masking hides a value in logs; it does not stop a step base64-encoding it and printing that.
So the defensible setup is not about hiding values, it is about limiting what each secret can do and who can trigger a run that sees it.
The layers that actually help:
Reply
Report