The request hit at 2:14 a.m. A public REST API had been breached—no passwords stolen, but access patterns were exposed, tokens were replayed, and audit logs were worthless. The architecture looked fine on paper. The failure was trust.
Zero Trust Access Control is not a feature. It is a posture. For REST APIs, the model removes any assumption that a client, network segment, or session is inherently safe. Every call is verified. Every identity is authenticated and authorized per request. No persistence of trust.
A practical Zero Trust design for a REST API begins with authentication at the edge. Use short-lived JWTs signed with strong asymmetric keys. Rotate signing keys on a fixed schedule. Couple tokens to device fingerprints, IP reputation, and behavioral baselines. Enforce TLS everywhere, including internal service-to-service calls.
Authorization rules must bind to the resource and the action, not the role name alone. Design access policies at a granular level—query parameters, payload fields, and HTTP methods. Implement Attribute-Based Access Control (ABAC) for dynamic decisions. This allows the system to adapt in real time to context such as location, device state, and risk score.