Join our Newsletter — 33% off our NHI Course

Should organisations use workload identity instead of request-based JIT for AI agents?

In most cases, yes, because verified workload identity binds short-lived credentials to a known machine or service context. That is different from minting access because a model produced a plausible sentence. The decision point is whether the organisation wants ephemerality enforced by platform trust or merely promised by generated text.

Why workload identity is usually the safer default for AI agents

Workload identity is the better fit when an AI agent needs to act repeatedly inside a defined platform boundary, because the platform can verify the calling workload, bind short-lived credentials to that context, and revoke access without relying on generated text to justify a grant. The core security difference is not convenience, it is whether access is anchored to an attested runtime.

That matters because AI agents are not stable human operators. They may be invoked by schedules, services, pipelines, or other systems, and their access should therefore be grounded in a verifiable workload or service identity rather than a request string that can be ambiguous, spoofed, or over-interpreted. For workload identity patterns, Guide to SPIFFE and SPIRE is a useful reference point for attestation, trust bundles, and workload-bound credentials.

In practice, workload identity gives you a clearer trust model: the platform says which workload is allowed to authenticate, the policy says what it may do, and the agent only inherits the access needed for that runtime. That is materially different from asking an LLM to generate a request and treating the generated request itself as evidence that the caller deserves access.

Where request-based JIT breaks down for agentic use

Request-based JIT can still have a place, but it is weaker when used as the main mechanism for AI agents because it often depends on a textual request, a human approval step, or an external policy decision that is detached from the actual execution context. If the request is the main trust signal, you are trusting the shape of the sentence more than the identity of the actor that will consume the credential.

That becomes risky when the agent can rephrase, repeat, or route requests through different tools, because the approval event may not be tightly coupled to the exact workload, environment, or action that later uses the privilege. AI Agent Authorisation Guide is relevant here because least privilege for agents works best when every action is authorised against a known principal, not a generic request payload.

Request-based JIT is strongest when it is a narrow exception path, not the standing model. It can be useful for unusual, high-impact actions where a human wants an explicit checkpoint, but it is a poor substitute for routine machine-to-machine trust, especially when the agent is already operating inside an orchestration platform that can issue workload-bound credentials.

How to decide between workload identity and JIT for AI agents

The right question is not whether JIT is more secure in the abstract, but what you are trying to prove at the point of access. If you need to prove that a specific runtime is the caller, workload identity is the right control. If you need a one-off approval for a sensitive action, JIT may still be layered on top as an exception gate.

A good design often combines both. Use workload identity for baseline authentication and continuous access binding, then reserve JIT for temporary elevation, unusual approvals, or cross-boundary actions that should not be permanently available. Just-in-Time Access and Zero Standing Privilege Guide supports that pattern because JIT is most effective when it removes standing privilege rather than when it substitutes for identity assurance.

For agents that run across cloud, Kubernetes, or internal platforms, the practical preference is usually workload identity first, JIT second. The former establishes who or what is acting; the latter constrains when a higher-risk action may occur.

Risk and Threat Considerations

Request-based JIT increases exposure when the request path becomes the trust boundary. An attacker, a prompt-injection event, or an over-permissive agent flow can exploit that gap by shaping the request that triggers access, even when the underlying workload should not have been trusted. Workload identity narrows that attack surface by making access dependent on verifiable runtime context rather than on a free-form approval artefact.

Failure mechanism: Access is granted because a request looks legitimate, not because the caller is a verified workload with a bounded runtime identity. That creates room for request spoofing, privilege inflation, or approval drift when the authorising signal is detached from execution context.

Impact: The organisation can end up issuing powerful credentials to the wrong actor, or to the right actor for the wrong action, which increases the chance of unauthorised data access, destructive operations, or silent overprivilege at scale.

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 and OWASP Agentic AI Top 10 address the attack and risk surface, while NIST SP 800-53 Rev 5 and NIST Zero Trust (SP 800-207) set the governance and control requirements practitioners need to meet.

Framework Control / Reference Relevance
OWASP Non-Human Identity Top 10 NHI-04 — Insecure Authentication Agent access must be bound to verifiable workload authentication, not request text.
NHI-07 — Long-Lived Secrets Workload identity is preferred because it reduces reliance on static or durable credentials.
NHI-05 — Overprivileged NHI AI agents need scoped, time-bound access to avoid excessive privilege.
Recommendation — Use secure workload authentication and reject request-driven access grants without runtime proof. Prefer short-lived workload credentials and remove long-lived secrets from agent flows. Limit each agent to least privilege and revoke any standing access path.
NIST SP 800-53 Rev 5 IA-9 — Identification and Authentication (Service Organizations) Workload identity is a service-to-service authentication problem for agent runtimes.
AC-6 — Least Privilege The decision hinges on reducing agent permissions to the minimum needed for action.
Recommendation — Require service-authenticated identities for agent-to-service access. Scope agent privileges to the minimum necessary for each task.
NIST Zero Trust (SP 800-207) Zero Trust Architecture The answer depends on verifying each request and eliminating implicit trust in agents.
Recommendation — Verify each agent action explicitly and deny standing trust.
OWASP Agentic AI Top 10 ASI03 — Identity & Privilege Abuse The question is about preventing agents from obtaining or using access they should not have.
ASI09 — Human-Agent Trust Exploitation Request-based JIT can be abused when humans over-trust agent-produced requests.
Recommendation — Bind agent authority to verified identity and block privilege inflation. Do not let generated requests become the trust signal for access approval.

Practitioner Guidance

What to verify: Confirm that the agent can present a workload-bound identity at runtime and that the issued credential is scoped to a specific service, environment, and action class. If the same mechanism would also work for an untrusted replay path, the design is too loose.

Decision rule: If the access can be expressed as machine-to-machine authentication, use workload identity as the base control. If a human approval is still required, treat JIT as a temporary elevation layer, not as the primary identity mechanism.

What good looks like: The agent gets short-lived credentials only after platform attestation succeeds, and those credentials expire naturally with the workload or task. The approval trail should explain why access was elevated, but it should not be the only thing proving who received it.

Practitioner takeaway: For AI agents, identity should be enforced by the platform and elevation should be exceptional. If the design depends on a generated request to justify access, the trust model is already weaker than it needs to be.