Subscribe to the Non-Human & AI Identity Journal

How do IAM teams know whether just-in-time access is working?

JIT is working only if access is both time-bounded and task-bounded. Teams should check whether credentials disappear after use, whether approvals match the actual privilege granted, and whether the underlying account still has standing access outside the JIT session. If any of those remain persistent, the risk reduction is incomplete.

Why This Matters for Security Teams

JIT access is only meaningful if it actually reduces standing privilege, shortens exposure windows, and limits what an identity can do outside a specific task. For IAM teams, the real question is not whether a request was approved, but whether the resulting privilege vanished when the task ended and whether the underlying account remained constrained. That distinction matters because NHIs and service accounts are often overprivileged and long-lived, which makes any weak JIT implementation look safer than it is.

The Ultimate Guide to NHIs notes that 97% of NHIs carry excessive privileges, which is exactly why temporary access controls can fail to deliver real risk reduction if the base identity is still powerful. The OWASP Non-Human Identity Top 10 also frames excessive standing access and weak lifecycle control as recurring problems, not edge cases. In practice, many security teams discover JIT weaknesses only after a privileged session has already been reused, chained, or left with residual access rather than through intentional validation.

How It Works in Practice

To determine whether JIT is working, IAM teams need to test both the access path and the identity lifecycle. A correct implementation issues privilege only for the task, binds it to a narrow context, and revokes it automatically when the session ends. For agents and automated workloads, best practice is evolving toward workload identity plus runtime authorisation rather than static roles alone, because the system must decide at request time whether the action still fits the approved intent.

That means checking more than approval logs. Teams should verify that:

  • access is issued with a short TTL and is revoked at task completion
  • the privilege granted matches the approved scope, not a broader inherited role
  • the base account has no standing access beyond the JIT session
  • the session cannot be reused, refreshed, or silently extended without re-approval
  • logs show who approved the request, what was granted, and what was actually used

For machine-to-machine environments, the strongest model usually combines ephemeral secrets with workload identity, such as SPIFFE-style identity assertions or short-lived OIDC tokens, so the system is proving what the workload is at runtime rather than relying on a static password or key. NHI Management Group’s Guide to NHI Rotation Challenges highlights why long-lived credentials remain a major source of exposure, and the Ultimate Guide to NHIs — Key Challenges and Risks reinforces that visibility and revocation gaps are common even in mature environments. Current guidance from OWASP and the zero trust model in NIST SP 800-207 both support request-time checks over pre-authorised trust. These controls tend to break down when the JIT broker still maps to a highly privileged underlying account, because the temporary wrapper does not eliminate the persistent blast radius.

Common Variations and Edge Cases

Tighter JIT controls often increase operational friction, requiring organisations to balance reduced standing privilege against approval latency, developer productivity, and automation reliability. That tradeoff becomes more visible in CI/CD pipelines, break-glass access, and multi-cloud environments where teams want speed without permanent exposure.

There is no universal standard for measuring JIT maturity yet, but a practical test is whether the environment can answer three questions for any session: what was requested, what was granted, and what still exists after the task. If the approval is generic, the token can be reused, or the identity keeps broad entitlements, then JIT is only cosmetic. The 2024 Non-Human Identity Security Report found that 88.5% of organisations say their non-human IAM practices lag behind or merely match human IAM, which helps explain why many JIT deployments stop at workflow approval instead of true privilege containment.

For autonomous systems, the bar is higher because a task may unfold dynamically and branch into additional tool calls. In those cases, teams should use real-time policy evaluation and short-lived credentials together, then confirm that access cannot persist across chained actions without fresh authorisation. The CISA Zero Trust Maturity Model is useful here as a practical lens, but current guidance suggests it must be adapted carefully for non-human workloads rather than copied from human access processes.

Standards & Framework Alignment

This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.

OWASP Non-Human Identity Top 10 address the attack and risk surface, while NIST CSF 2.0 and NIST AI RMF set the governance and control requirements practitioners need to meet.

Framework Control / Reference Relevance
OWASP Non-Human Identity Top 10 NHI-03 JIT validation depends on preventing long-lived or excessive NHI privileges.
NIST CSF 2.0 PR.AC-4 JIT is an access control test: granted privilege must match approved scope.
NIST AI RMF Autonomous workloads need runtime governance, not only static pre-approval.

Apply AI RMF governance to ensure runtime authorization and revocation for agent access.