From RBAC to ReBAC: when and how to migrate
Why teams migrate
RBAC is great until your customers need to share individual resources, not entire roles. The moment you find yourself adding a 50th role named like editor_for_project_xyz, you've outgrown RBAC. Document-level, record-level, and resource-level access call for ReBAC.
Recognize the signs
- Role explosion: more roles than active users
- Sharing patterns: "share this with Bob but not Alice" can't be modeled
- Inheritance gone wrong: nested folders, organization hierarchies, team trees
- Multi-tenant SaaS where tenants have their own access patterns
What to migrate to
The dominant pattern is Google Zanzibar-style ReBAC. Implementations:
- OpenFGA / Auth0 FGA: Cloud and self-hosted. Open-source spec.
- Authzed SpiceDB: Commercial-grade Zanzibar implementation.
- Permify: Open-source, simpler to operate.
- Oso: A different model (Polar policy language); evaluate as a peer option.
The migration
- Model first. Write the schema in your chosen tool. Don't migrate code yet, get the model right.
- Dual-write. Existing RBAC checks continue. Mirror writes to ReBAC.
- Shadow reads. Compare ReBAC decisions to RBAC decisions in production logs. Alert on divergence.
- Cutover by call site. One endpoint at a time. Roll back is trivial.
- Decommission RBAC. Only after weeks of shadow agreement.
Common pitfalls
- Treating ReBAC as a code library instead of a system of record
- Not designing for "negative permissions" (deny rules) early, they're hard to add later
- Failing to budget for latency, every request now hits the authz service
- Cache invalidation: relationship changes must propagate or stale auth decisions leak
Related on Start with Identity
- GuideImplementing RBAC in the Enterprise
A hands-on guide to implementing Role-Based Access Control in the enterprise, covering role modeling, role mining, role hierarchy design, RBAC vs ABAC considera
- GuideRBAC vs ABAC vs ReBAC: Choosing an Authorization Model
**RBAC grants access through roles, ABAC evaluates attributes of the user, resource, and context, and ReBAC derives access from relationships between objects.**
- VendorAserto
strong
- VendorAuthZed
top_tier
- Comparisonauthzed-vs-openfga
AuthZed (the company behind SpiceDB) and OpenFGA are the two leading open implementations of Google Zanzibar-style relationship-based access control (ReBAC). Bo
- VendorAWS Verified Permissions
strong_contender