Rolling out zero standing privileges
Zero standing privileges (ZSP) means no human or workload holds permanent elevated access: privileges are granted just in time, scoped to a task, and expire on their own. It is the strongest practical form of least privilege. If no account carries standing admin rights, a phished password, a stolen session, or a leaked token has far less to abuse, and privilege escalation and lateral movement get much harder. This guide is for IAM, PAM, and cloud platform teams planning a 6 to 12 month rollout.
Why standing privilege is the fuel
Standing rights turn one compromised identity into a full incident. The pattern repeats across the Identity Breach Database:
- Insider with permanent cloud admin. At Ubiquiti, a senior developer used his own administrative access to AWS and GitHub to steal data, then posed as an outside attacker. Standing access meant nothing had to be requested or approved.
- Workload identities with standing rights. In the JadePuffer attacks Microsoft reported, two compromised service principals were used to request storage account keys and delete most targeted storage accounts within seven minutes. Credentials for one had appeared in a public GitHub issue.
- A standing deployment token. In the Binance wallet theft, the attacker found a container deployment permission token on an engineer's computer and used it to deploy a container that reached the internal wallet signing service.
- Privilege that outlives its purpose. Mover entitlement accumulation and orphaned account abuse are both standing-privilege problems: rights granted for a past job or a departed person that nobody removed.
NIST's Zero Trust Architecture, SP 800-207 frames authentication and authorization as discrete functions performed before each session to a resource is established. ZSP applies the same idea to privilege: decide per task, not once at onboarding.
Decide the model per privilege tier
Not every role needs the same treatment. Use this table to assign a pattern before you buy or configure anything.
| Privilege tier | Examples | Target model | Approval |
|---|---|---|---|
| Tenant or org control | Global Administrator, AWS management account, domain admin | Eligible only, short JIT window | Two approvers, phishing-resistant MFA |
| Production change | Prod cloud contributor, database admin, Kubernetes cluster admin | Eligible, JIT tied to ticket | One approver or change-ticket policy |
| Scoped operational | Read access to prod logs, helpdesk password reset | JIT with policy auto-approval | Auto, with MFA and justification |
| Emergency | Break-glass accounts | Permanent active, the only standing exception | None at use time; alert on every sign-in |
| Workloads | Service principals, CI/CD tokens, automation | Short-lived workload credentials, no static secrets | Policy at issuance |
The rollout sequence
- Discover privileged access. Inventory who and what holds elevated rights across cloud, SaaS, on-prem, and non-human identities. CIEM and PAM tools surface effective permissions, including rights inherited through groups.
- Right-size first. Remove unused and excessive entitlements before automating. JIT on top of a bloated baseline just makes the bloat time-boxed.
- Convert standing to eligible. In Microsoft Entra Privileged Identity Management, an eligible assignment gives exactly the same access as a permanent one once activated; the difference is that the user must activate it, by passing MFA, giving a justification, or getting approval (Microsoft Learn: What is PIM). PIM assignments can target users, groups, service principals, and managed identities.
- Set activation policy per role. PIM role settings let you require MFA, a Conditional Access authentication context, a justification, ticket information, and approval, and set an activation maximum duration of one to 24 hours (Microsoft Learn: PIM role settings). Note that the ticket number is information only: PIM does not validate it against your ticketing system.
- Extend to cloud accounts. For AWS, IAM Identity Center calls this temporary elevated access and relies on AWS Security Competency partner solutions validated against a common set of requirements. AWS lists Apono, CyberArk Secure Cloud Access, Okta Access Requests, and Tenable (AWS docs).
- Automate grant and revoke. Requested, approved (or auto-approved by policy), granted for a fixed window, revoked automatically. Self-service with guardrails keeps it usable.
- Add break-glass deliberately. Configure break-glass accounts before you make every admin eligible (see below).
- Bring workloads in. Replace static secrets with short-lived credentials (see workload identity 101 and non-human identity security). A non-expiring admin or deploy token is standing privilege, whatever the PAM dashboard says.
- Measure standing privilege down to near zero. Track, per scope, the count of permanent active privileged assignments, excluding documented break-glass. Drive it toward zero over successive quarters.
Break-glass without lockout
ZSP has one well-documented way to fail catastrophically: everyone is eligible, nobody is active, and activation needs an approver who does not exist. Microsoft warns that you will be locked out of the tenant if all Privileged Role Administrators and Global Administrators are eligible but none are active, approval is required, and no approvers are configured. Its emergency access guidance sets the baseline:
- At least two cloud-only emergency accounts on the
.onmicrosoft.comdomain, not federated or synced. - Phishing-resistant authentication (FIDO2 passkey recommended, or certificate-based authentication), different from what normal admins use.
- Global Administrator assigned as permanent active, not eligible, for these accounts.
- Excluded from Conditional Access policies that block or restrict sign-in.
- An alert on every sign-in, and validation at least every 90 days.
Make it usable, or it fails
ZSP dies if elevation is slow; people route around it and demand standing exceptions. Fast approvals (chat-based, policy-driven auto-approval for low-risk requests), clear audit, and good defaults matter more than the product choice. One Entra detail worth knowing: MFA required at activation may not prompt again if the user already presented strong credentials earlier in the session, so for top-tier roles pair activation with an authentication context whose Conditional Access policy sets sign-in frequency to every time.
Also watch the second gap Microsoft documents: the activation requirement applies at activation only. A user can activate on a compliant device and then use the activated role from a non-compliant one. Close it with a second Conditional Access policy scoped to the directory roles themselves.
Readiness checklist
- Privileged inventory covers cloud, SaaS, directory, on-prem, and workloads
- Unused entitlements removed before JIT goes live
- Every top-tier role is eligible only, with approval and phishing-resistant MFA
- At least two approvers per approval-gated role
- Two break-glass accounts tested, alerted, and excluded from blocking policies
- Static admin and deploy tokens inventoried with a removal date
- Standing-privilege count reported to leadership each quarter
Common failure modes
| Failure | What it looks like | Fix |
|---|---|---|
| JIT on a bloated baseline | Users activate roles far wider than the task | Right-size before converting |
| Forgotten workloads | Service principals keep owner rights (see JadePuffer) | Short-lived workload credentials, scoped roles |
| Approval lockout | All admins eligible, no approvers configured | Named approvers plus permanent-active break-glass |
| Untested break-glass | Emergency account fails during an outage | Drill at least every 90 days |
| Help desk bypass | An attacker talks staff into resetting an admin's MFA, as in the Okta customer super admin takeovers | Harden help desk verification; require approval for admin MFA resets |
| Friction-driven exceptions | Teams request permanent access "temporarily" | Auto-approve low risk, time-box every exception |
Related
Guides: what is PAM, implementing privileged access management, how to choose a PAM solution, zero trust rollout. Vendors: PAM, CIEM. Glossary: zero standing privileges, JIT access, least privilege, break-glass.
Frequently asked questions
- What is the difference between zero standing privileges and just-in-time access?
- Zero standing privileges is the end state: no human or workload holds permanent elevated rights. Just-in-time access is the mechanism that gets you there, granting elevation on request for a bounded window and removing it automatically. You can run JIT for some roles while others stay standing; ZSP means the standing count for a scope has reached zero apart from documented break-glass accounts.
- Do break-glass accounts violate zero standing privileges?
- They are the deliberate, documented exception. Microsoft's own guidance says to keep at least two cloud-only emergency access accounts with the Global Administrator role assigned as permanent active, not eligible, so an outage or approval misconfiguration cannot lock you out. Compensate with phishing-resistant credentials, alerting on every sign-in, and validation at least every 90 days.
- How long should a just-in-time elevation last?
- As short as the task. In Microsoft Entra PIM the activation maximum duration for a directory role can be set from one to 24 hours, and users pick a duration within that maximum. A common starting point is the shortest window that covers a typical change, with extensions on request rather than long default windows.
- Does zero standing privileges apply to service accounts and workloads?
- Yes, and that is where most programs stall. Service principals and automation tokens often hold the broadest standing rights and never trigger an approval flow. Replace long-lived secrets with short-lived workload credentials, scope them narrowly, and treat any non-expiring deployment or admin token as standing privilege to be removed.
- Is approval required for every elevation?
- No. Requiring a human approver for every low-risk elevation creates the friction that makes people demand standing exceptions. Reserve approval for the highest-impact roles and use policy-based auto-approval, with MFA, justification, and logging, for routine low-risk requests.
Related on Start with Identity
- ArticleZero Standing Privileges: Eliminating Persistent Access with JIT, JEA, and Ephemeral Credentials
A practical guide to implementing zero standing privileges through just-in-time access, just-enough access, ephemeral credentials, and workflow automation to dr
- GuideConditional Access Policies: A Complete Implementation Guide for Microsoft Entra
Master Microsoft Entra conditional access with risk-based policies, device compliance rules, location-based restrictions, and real-world deployment patterns.
- GuideDevSecOps Identity Integration Guide: Securing CI/CD Pipelines and Developer Workflows
Integrate identity security into DevSecOps workflows covering CI/CD pipeline identity, secrets management, service account governance, and OIDC for GitHub Actio
- GuideGreenfield CIAM: how to ship the first version in 8 weeks
A practical 8-week plan to ship the first version of a customer identity system for a new product: build vs buy vs open source, what to build, what to defer, cu
- BlogA Check Point SmartConsole flaw hands out full admin tokens to unauthenticated attackers
CVE-2026-16232 (CVSS 9.3) lets an unauthenticated remote attacker obtain an application login token for Check Point Security Management and Multi-Domain Managem
- BlogA CVSS 10.0 Metabase zero-day handed admin access through the password reset endpoint
CVE-2026-72898 lets an unauthenticated attacker inject SQL through Metabase's password reset endpoint and take administrative control. It was exploited as a zer