That’s the nightmare of loose identity control — especially when databases allow too much, too soon, to the wrong kind of actor. Non-human identities now outweigh human credentials in most production environments. Services, scripts, CI/CD pipelines, and background jobs all connect to data. Most do not need full administrator roles, but they often have them because it’s faster to set up.
Granular database roles fix this. Instead of a single “service account” with god-mode privileges, you define precise, smallest-possible permissions for each non-human identity. A build process might only insert into a staging table. A background worker might only read from a queue table. A payment microservice might only write to one ledger table and never touch customer PII.
This reduces the blast radius of a breach. If one token leaks, the attacker cannot explore the entire schema. Precise non-human identity roles also make auditing easier. You can trace an action back to one automated process, not to a giant, shared account used by twenty different jobs.