A service-account token lets a machine or a script read a vault without anyone signing in. The Kubernetes operator and the CLI both authenticate with one.
A token is bound to one environment of one vault. It cannot see any other vault, nor another environment of the same vault, so a leaked token exposes exactly one set of secrets. Mint one per consumer: one per cluster, one per pipeline.
Creating a token
Managing tokens takes the admin role on the vault. From Developers > Tokens in the
app, pick the vault and the environment, then New token. Give it a label that says
who uses it, for instance prod-cluster, and a role:
| Role | Can |
|---|---|
viewer |
Read secret values. Enough for the operator. |
writer |
Read, create and rotate secrets. |
admin |
Everything a writer can. |
A token can carry an expiry date. Without one it stays valid until revoked.
The token is shown once, right after it is created, and starts with fvsat_.
FerrVault only keeps a hash of it and a short preview, so a lost token cannot be shown
again: revoke it and mint a new one.
Revoking a token
The token list shows each token's label, role and when it was last used. Revoke takes effect immediately: the next request made with that token is refused. A token that has never been used, or not for a long time, is a good candidate for revocation.
When the person who minted a token loses access, what they minted goes with it: leaving the organization revokes every token they created in it, losing their grant on a vault revokes the ones they created in that vault, and a downgrade revokes only the ones that outrank their new role. They knew those token strings, so the access ending has to end them.