liveBook · Manning

SPIFFE ID

As explained in Authorization in Action

A SPIFFE ID is a URI-form identifier that identifies a software workload within the SPIFFE identity framework.

In a service mesh, the caller is often a service, job, container, function, or agent rather than a person. A SPIFFE ID gives that workload a URI-form name within the SPIFFE workload-identity framework. section 11.1.2

A SPIFFE ID identifies which workload is making a request and supports proof of that identity through a SPIFFE Verifiable Identity Document (SVID). It does not decide whether the request is authorized: a policy engine such as Cedar evaluates the authenticated identity alongside the action, resource, and runtime context. section 11.1.2 section 12.5.2

SPIFFE IDs participate in an authorization architecture as follows:

  • A service-mesh sidecar can learn the caller’s SPIFFE ID from mutually authenticated TLS and place it in a policy request. section 11.1.2
  • An SVID carries the identity as an X.509 certificate or JWT, allowing the workload to prove the named identity. section 11.1.2
  • The policy enforcement point preserves additional facts, such as employee, tenant, action, resource, sensitivity label, and runtime context. section 11.1.2
  • Mutual TLS suits controlled internal service calls; signed tokens provide verifiable provenance when browser, SaaS, or OAuth-based integrations cannot use mutual authentication. section 12.5.2

Example workload identifier

A documentation service might present the SPIFFE ID spiffe://acme.example/customer-collaboration/docs-service. A proxy can use the authenticated identity as the principal while Cedar separately evaluates whether that service may perform a requested action. section 11.1.2

How Authorization in Action covers it

How deep it goes
Defines URI naming, SVID proof, and policy integration, but defers the authorization decision to Cedar or another policy engine.
Examples
Uses a Docs service URI and sidecar-extracted identity as the principal in a contextual authorization request.
What it assumes
Assumes familiarity with service-to-service calls and authorization context while distinguishing workload authentication from policy evaluation.
What you can do after
Operate/configure service-mesh authentication by naming workloads and passing verified identity into fine-grained authorization.
How it connects
Connects workload identity with SVIDs, mutual TLS, service meshes, policy enforcement points, policy decision points, and Cedar.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Authorization in Action. The section links point to the parts of the book it draws on.