Guides / Admin is a tool, not a status

Least privilege

Standing admin is a standing blast radius. People get a role for a job, for a time, logged. Break-glass is sealed. The same rule applies to APIs, CI, and cloud roles.

ADMIN IS A TOOL, NOT A STATUSStandingblast radius always onJITtime-boxed, loggedBreak-glasssealed, dual-controlSame rule for humans, APIs, CI jobs, and cloud roles.If it can create keys or read mail, it is privileged. Treat it that way.

First principles

Privilege is the ability to change a system or to read what others cannot. Least privilege means a person, a token, or a workload holds only what the current job needs. Admin is a tool you pick up. It is not a rank, a job title, or a group you stay in because onboarding was easier that way.

Standing admin is a blast radius that is always on: malware, a phish, a stolen laptop, a bored afternoon. Just-in-time (JIT) privilege is time-boxed and logged: you ask, you are approved, it expires. Break-glass is the sealed path for when JIT is on fire — dual control, an alarm, a review the next morning. If break-glass is just the admin group with a different name, you do not have break-glass.

Not only humans

APIs, CI jobs, and cloud roles are identities. A pipeline with a cloud key that can create further keys is an admin. A service principal that can read every mailbox is an admin. They do not get a pass because nobody logs into them. Scope them. Expire them. Do not share them across products.

What an admin actually does

  • Separate admin identities from daily-driver identities. Mail and web on the unprivileged one.
  • Remove standing admin groups. Replace with JIT or with a role that expires. Log every elevation.
  • Keep a break-glass account: hardware key, sealed process, unused except in a declared incident, reviewed when used.
  • Inventory machine identities the same way: CI, Terraform, functions, agents. One job, one role, no leftover keys.

Informed by ASD's ACSC — Essential Eight. Wording is ours.