What identity and access forbid
- You cannot have stateless verification and immediate revocation.
- You cannot enforce above the narrowest waist through which the data can be reached.
- You cannot keep authorization context across an asynchronous boundary without deciding again at execution time.
- You cannot enumerate effective access under a policy language expressive enough to describe real policy.
- You cannot express exceptions with an allow-only model, nor have order-independent combination with denies.
- You cannot limit inference with cell-level access control, however fine the granularity.
The escapes and their prices
| Escape | Buys | Pays |
|---|---|---|
| Short TTL instead of revocation | stateless verification | the issuer is on the hot path; load = rate × TTL |
| Vended scoped credentials | narrow waist at storage; direct-access hole closed | availability coupling; total compromise if the vendor falls |
| Predicate-based row/column security | one coherent table, auditable policy | lost pruning, constrained plans, leak channels |
| Roles | enumerable, auditable access | explodes when policy is not low-rank |
| Attributes / relations | expresses real policy compactly | the inverse query becomes unanswerable |
| Capability passing | no confused deputy; survives async | revocation only by expiry; audit by request, not principal |
| Physical table split | enforcement needs no engine cooperation | N-times maintenance; policy hidden in pipeline code |