Short-lived credentials are the right default. Google Cloud lets you mint access tokens for a service account with a short lifetime, and Kubernetes supports audience and time-bound service account tokens so a workload gets a credential that dies quickly (Google Cloud IAM, Red Hat OpenShift docs). Expiry bounds how long a leaked credential is useful. It does not tell you who to call when the credential is used wrongly, or who should approve a permission change, or which team's backlog a rotation belongs in.
That gap widens as machine identities multiply. Non-human identities already outnumber human users by a wide margin in large estates, and they are created continuously by cloud platforms, CI systems and integrations, which is why they are so often excluded from the controls that govern people (Veza, SecureSlate). Gartner-adjacent vendor research aside, the operational point stands: a service account is created by a deploy step, not by an HR event, so no offboarding process will ever catch it. The only durable link between a credential and a human is the metadata you write on it when it is born.
Google publishes the two essentials plainly: follow a naming and documentation convention, and create single-purpose service accounts (Google Cloud best practices). It also warns against disclosing sensitive information in service account email addresses, which is a reminder the name is semi-public. A convention that carries a team handle and a ticket reference, not a person's name or a customer name, keeps the identifier useful without leaking.



