Open Policy Agent (OPA) is the control point. It enforces rules where they matter: at the service level, before requests become damage. Least privilege with OPA means no user or service gets more access than it needs. This is not theory. It is a concrete application of Rego policies that deny everything by default and grant only what a request role can justify.
Start with strict defaults. In OPA, write a base policy:
default allow = false
This forces explicit permissions for every path, method, or resource. Map each action to roles. Map each role to scopes. Keep the chains short—fewer links means fewer leaks. Audit your data sources so OPA evaluates against the smallest necessary dataset. Every decision is an input-output check. No hidden code paths. No surprise inheritance.