Volver a los textos

ReBAC y RBAC: cuándo usar cada uno

Roles para lo amplio, relaciones para lo que va por recurso.

RBAC responde a “¿qué rol tiene esta persona?”. Funciona muy bien para permisos amplios: admin, analista, auditor. Cuando la regla pasa a depender del recurso, como en “¿quién puede ver esta solicitud?”, el número de roles se dispara.

ReBAC, popularizado por Zanzibar, de Google, modela los permisos como relaciones entre objetos: la persona es miembro del equipo, el equipo es dueño de la carpeta, la carpeta contiene el documento. Una comprobación se convierte en un recorrido por ese grafo, y ahí es donde la cardinalidad y el fanout se vuelven costo.

En la práctica, un modelo híbrido suele funcionar: roles para lo que es amplio y estable, relaciones para lo que va por recurso. OpenFGA y SpiceDB implementan esa idea, pero el trabajo de verdad es diseñar el modelo y medir el costo de las consultas antes de llegar a producción.