Databases

Granular RBAC Database Schema Design

ER Diagrams · made in Skemio

ER diagram illustrating a granular RBAC schema with users, roles, permissions, role_permissions, and user_role_assignments entities.
ER diagram illustrating a granular RBAC schema with users, roles, permissions, role_permissions, and user_role_assignments entities.

What it shows

  • Decouple permissions from roles to prevent explosive role sprawl.
  • Add scope type and scope ID to assignments for instant multi-tenancy.
  • Evaluate permissions at runtime via cached role sets to limit joins.

The takeaway

Scope role assignments by resource ID to support multi-tenant RBAC without schema rewrites.

More er diagrams