A2A Security and Authentication

When agents from different organizations delegate real work to each other, trust cannot be assumed, so A2A builds authentication into the Agent Card and demands it on every request.

A2A is designed for agents that cross organizational boundaries — your agent calling a partner’s agent, a vendor’s agent calling yours. That is exactly the setting where security cannot be an afterthought. The Agent2Agent protocol (A2A) treats authentication as enterprise-grade and first-class: requirements are declared in the Agent Card and enforced on every request. This seventh post in the series covers how A2A handles authentication and authorization, the schemes it supports, and the responsibilities on each side.

Security declared in the Agent Card

Recall that the Agent Card is the public contract for an opaque agent. Security is part of that contract. An Agent Card declares, via securitySchemes and security, exactly how a client must authenticate to use the agent. Nothing about credentials is guessed or negotiated ad hoc — a client reads the card, sees the required scheme, and authenticates accordingly before sending work.

This design keeps interoperability and security compatible. A client can look at any agent’s card and know immediately whether it is allowed to call it and how, and an agent can require strong authentication without any out-of-band coordination. The card is where “how do I prove who I am to this agent” is answered.

The supported schemes

A2A does not invent bespoke authentication; it leans on established web and enterprise standards, declared in the card’s securitySchemes. The supported types include:

Credentials are transmitted according to the transport binding — as HTTP headers in the REST and JSON-RPC bindings, or as metadata in gRPC. Because these are standard schemes, A2A slots into existing enterprise identity infrastructure rather than requiring a parallel system: the OAuth or mTLS setup an organization already runs is what secures its agents.

Server responsibilities

An A2A server (a remote agent) has clear obligations on every request:

That last point is a subtle but important part of the model: authorization is not just about blocking actions, it is about not revealing information to callers who have not earned it. An opaque agent stays opaque to the unauthorized.

Authentication versus authorization

The two are distinct and both matter. Authentication establishes who the caller is — proven via the declared scheme. Authorization decides what that authenticated caller may do — which skills it may invoke, which tasks it may see or cancel. A2A’s 401 versus 403 distinction maps to exactly this: 401 means “I don’t know who you are,” 403 means “I know who you are and you may not do this.” Design your agent to enforce both — verify identity, then check permission per operation — rather than treating a valid credential as blanket access.

The extended Agent Card and tiered access

Authentication also enables tiered capabilities through the extended Agent Card. A public card can advertise capabilities.extendedAgentCard; a client that authenticates using the schemes from the public card can then retrieve a richer card exposing additional skills or details based on its authorization level. This lets an agent present a minimal public face to anonymous discovery and a fuller set of capabilities to trusted, authenticated partners — sensitive or premium skills stay hidden until the caller proves it is entitled to them. It is authentication doing double duty: gating access and shaping what an agent even advertises.

Security across the whole interaction

Authentication is the foundation, but a secure A2A deployment thinks about the entire interaction. Use TLS for confidentiality in transit (mTLS gives you mutual authentication as well). On the push-notification path from the previous post, remember the direction reverses — the agent calls the client’s webhook — so that callback needs its own authentication and the client must verify inbound notifications before acting. And because agents delegate to other agents, consider the chain: an agent acting on a task may itself call further agents, so authorization and least privilege should propagate rather than a single credential granting sweeping downstream access. A2A gives you the mechanisms — standard schemes, per-request enforcement, clear failure semantics — and it is on you to apply them across discovery, task operations, streaming, and callbacks alike.

Key takeaways

Further reading

Sources & References

Authentication and authorization