RBAC Jeràrquic en Node.js — sense desplegar OpenFGA

Implementa RBAC jeràrquic a Node.js sense serveis externs. Hereu rols automàticament amb nested-rbac. Fàcil, ràpid i sense infraestructura addicional.

sábado, 4 de julio de 2026 • 3 min de lectura • Equip Q2BSTUDIO

Herència de rols sense OpenFGA ni serveis externs

En el desenvolupament d'aplicacions SaaS, un dels reptes més recurrents és la gestió de permisos sobre recursos organitzats jeràrquicament. L'estructura típica —organització, equip, projecte, tasca— exigeix que els rols assignats a un nivell superior s'heretin automàticament cap avall. Tanmateix, la majoria de les biblioteques tradicionals de RBAC (control d'accés basat en rols) modelen rols plans, cosa que obliga el desenvolupador a recórrer manualment la cadena d'avantpassats a cada ruta, amb el risc d'oblidar un nivell i bloquejar l'accés legítim a usuaris administradors.

Hi ha dos enfocaments extrems: d'una banda, les llibreries planes com CASL o Casbin, excel·lents per definir rols però sense suport per a herència entre recursos pare i fill. De l'altra, els motors FGA a l'estil de Zanzíbar (OpenFGA, SpiceDB) resolen el problema a escala de Google, però requereixen un servei extern amb el seu propi graf de relacions, DSL de polítiques i una sobrecàrrega operativa considerable. Per al 90% de les aplicacions, aquesta infraestructura resulta excessiva.

Ací sorgeix un punt intermedi: implementar l'herència de rols directament al codi del procés, sense dependre de serveis externs. Amb una biblioteca lleugera i sense dependències, com nested-rbac, es defineix una jerarquia de tipus de recurs i un mapa de rols amb permisos. En avaluar una acció sobre un recurs, el motor recull totes les assignacions del recurs objectiu i dels seus avantpassats (projecte, equip, organització), aplica regles de concessió i denegació (amb suport per a comodins i dominis), i retorna el resultat. La lògica és transparent: l'administrador de l'organització pot esborrar tasques a qualsevol nivell sense assignacions addicionals.

Per integrar aquest patró en una aplicació real, el desenvolupador només necessita proporcionar una funció que resolgui la cadena d'avantpassats des de la seva base de dades —el motor es manté agnòstic— i després usar-lo en middleware com Express. Així s'eviten les nidificacions d'if i es centralitza l'autorització. Aquest enfocament és ideal per a projectes que requereixen aplicacions a mida amb models d'accés complexos, on l'escalabilitat operativa no justifica un motor FGA dedicat.

A Q2BSTUDIO, com a empresa de desenvolupament de programari a mida, apliquem aquestes arquitectures per garantir que els permisos s'heretin correctament des de l'organització fins al nivell més granular del recurs. A més, combinem aquesta lògica amb serveis cloud aws i azure per desplegar sistemes robustos i escalables. La correcta implementació del RBAC jeràrquic és també un pilar de la ciberseguretat, ja que impedeix que usuaris no autoritzats accedeixin a informació sensible mitjançant l'omissió de nivells en la jerarquia.

Amb la creixent adopció d'intel·ligència artificial i agents IA que actuen sobre dades empresarials, la necessitat d'un control d'accés fi i hereditari esdevé encara més crítica. Aquests agents han de respectar els mateixos permisos que els usuaris humans, i una biblioteca com nested-rbac permet modelar aquesta herència sense complexitat addicional. Així mateix, en l'àmbit de serveis intel·ligència de negoci com power bi, els informes i dashboards solen dependre de dades jeràrquiques; heretar permisos des de l'organització fins a l'informe evita haver d'assignar rols un a un a cada visualització.

En resum, la gestió d'autoritzacions jeràrquiques és un aspecte fonamental que tot equip de desenvolupament ha d'abordar amb cura. Optar per una solució lleugera i integrada al codi —en lloc de desplegar un motor extern— redueix costos operatius i manté la flexibilitat. A Q2BSTUDIO ajudem empreses a dissenyar i implementar aquests sistemes, assegurant que cada usuari tingui exactament l'accés que necessita, ni més ni menys, i que l'herència funcioni de forma natural a tota la jerarquia de recursos. Si estàs construint una plataforma SaaS o una aplicació corporativa, considera adoptar un RBAC jeràrquic des de l'inici; el teu equip de desenvolupament i els teus usuaris t'ho agrairan.

Per conèixer més sobre com aplicar aquests patrons al teu projecte, visita la nostra secció de serveis cloud aws i azure, on despleguem solucions escalables i segures.

UNA PAUSA?

Juga una estona abans de marxar

ELS NOSTRES SERVEIS

Com et podem ajudar

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.