Tema 9

9. Modelos de control de acceso: DAC, MAC, RBAC, ABAC y ReBAC

La autorización necesita una estructura. Los modelos de control de acceso ofrecen distintas maneras de organizar permisos y políticas según el tipo de sistema, el nivel de riesgo y la complejidad del dominio. Ninguno es universalmente mejor: cada uno resuelve ciertos problemas y se vuelve incómodo o insuficiente en otros.

Objetivo Comparar los modelos más usados de control de acceso
Enfoque Conceptual, comparativo y orientado a casos reales
Resultado Elegir mejor qué modelo aplicar en cada escenario

9.1 Introducción

Una vez entendido qué es autorización, aparece una pregunta práctica: ¿cómo organizamos las reglas para que el sistema las pueda aplicar de forma consistente? Ahí entran los modelos de control de acceso.

Estos modelos no son protocolos ni productos. Son formas de estructurar decisiones de autorización. Algunos ponen el foco en el dueño del recurso, otros en clasificaciones rígidas, otros en roles organizacionales, atributos dinámicos o relaciones entre sujetos y objetos.

En la práctica, muchos sistemas combinan más de un modelo. El objetivo no es memorizar siglas, sino entender qué problema resuelve cada enfoque y qué costos introduce.

9.2 Por qué hacen falta modelos

Sin un modelo, la autorización suele convertirse en una colección informal de ifs, flags, excepciones y casos especiales distribuidos en toda la aplicación. Eso escala mal, es difícil de auditar y casi siempre termina generando inconsistencias.

Un modelo de acceso sirve para:

  • Ordenar el razonamiento sobre permisos.
  • Expresar reglas de forma repetible.
  • Facilitar mantenimiento y evolución.
  • Reducir ambigüedades.
  • Mejorar trazabilidad y gobernanza.

Elegir el modelo equivocado no impide necesariamente que el sistema funcione, pero suele volverlo innecesariamente rígido o caótico.

9.3 Vista general de los principales modelos

Los modelos más mencionados en este ámbito suelen ser:

  • DAC: Discretionary Access Control.
  • MAC: Mandatory Access Control.
  • RBAC: Role-Based Access Control.
  • ABAC: Attribute-Based Access Control.
  • ReBAC: Relationship-Based Access Control.

Algunos son más tradicionales y nacieron en sistemas operativos o entornos gubernamentales. Otros tienen especial relevancia en aplicaciones modernas, SaaS, plataformas colaborativas y APIs distribuidas.

9.4 DAC: Discretionary Access Control

En DAC, el acceso depende principalmente del propietario o titular del recurso, que puede decidir quién accede y con qué nivel. Es un modelo intuitivo y muy común en sistemas donde los recursos tienen dueño claro.

Ejemplos típicos son archivos compartidos, documentos colaborativos o carpetas donde el creador decide con quién comparte lectura o edición.

Su principal ventaja es la flexibilidad. Su principal problema es que, si se usa sin límites, puede derivar en una proliferación de permisos individuales difíciles de gobernar.

9.5 Fortalezas y límites de DAC

DAC funciona bien cuando:

  • Existe un dueño natural del recurso.
  • La colaboración entre usuarios es importante.
  • El sistema necesita delegación flexible.

Se vuelve más problemático cuando:

  • La organización necesita control central fuerte.
  • Hay requisitos estrictos de cumplimiento.
  • La propagación informal de permisos genera exposición excesiva.

En otras palabras, DAC ofrece mucha autonomía, pero esa misma autonomía puede chocar con políticas corporativas o regulatorias.

9.6 MAC: Mandatory Access Control

En MAC, las reglas no dependen de la voluntad del usuario propietario, sino de una política central obligatoria. El acceso suele estar determinado por niveles de clasificación, etiquetas de seguridad y reglas estrictas definidas por la organización o el sistema.

Este modelo es clásico en entornos militares, gubernamentales o de alta sensibilidad, donde los recursos y sujetos tienen clasificaciones formales y no se permite delegación libre.

La lógica típica no es “el dueño decide”, sino “la política central determina qué niveles pueden acceder a qué datos”.

9.7 Fortalezas y límites de MAC

MAC ofrece control central muy fuerte y reduce arbitrariedad. Es útil cuando la protección de la información exige reglas inflexibles y consistentes.

Sus límites son evidentes en entornos más dinámicos:

  • Puede resultar rígido para sistemas colaborativos.
  • Es costoso de modelar y operar fuera de ciertos dominios.
  • No encaja naturalmente en muchas aplicaciones de negocio comunes.

Por eso, aunque es un modelo importante conceptualmente, no suele ser la elección natural para la mayoría de los productos SaaS o aplicaciones empresariales modernas.

9.8 RBAC: Role-Based Access Control

RBAC probablemente sea el modelo más conocido en aplicaciones corporativas. La idea es asignar permisos a roles y luego asignar roles a usuarios. En lugar de administrar permisos uno por uno para cada persona, se define qué puede hacer un “administrador”, un “supervisor”, un “operador” o un “analista”.

Este enfoque simplifica mucho la administración cuando la organización tiene funciones relativamente estables y repetibles.

Ejemplos típicos:

  • Rol “editor” puede modificar contenido.
  • Rol “auditor” puede consultar reportes, pero no cambiar datos.
  • Rol “administrador” puede gestionar usuarios y configuraciones.

9.9 Fortalezas de RBAC

RBAC es popular por buenas razones:

  • Es relativamente fácil de entender para negocio y tecnología.
  • Reduce administración individual de permisos.
  • Facilita altas y bajas cuando los puestos son claros.
  • Funciona bien en estructuras organizacionales estables.

También ayuda en auditorías porque resulta más simple revisar roles que miles de permisos individuales dispersos.

9.10 Límites de RBAC

RBAC empieza a mostrar tensión cuando las reglas dependen demasiado de contexto, atributos o relaciones. Entonces aparecen explosiones de roles: decenas o cientos de variantes para cubrir combinaciones específicas.

Por ejemplo, si hace falta distinguir por sede, tenant, horario, jerarquía y tipo de recurso, el modelo puede volverse difícil de sostener solo con roles. Allí empiezan a surgir nombres como “SupervisorRegionalLecturaParcial”, una señal bastante clara de que el enfoque está siendo forzado.

9.11 ABAC: Attribute-Based Access Control

ABAC decide acceso a partir de atributos del sujeto, del recurso, de la acción y del contexto. En lugar de depender exclusivamente de un rol fijo, evalúa propiedades dinámicas y reglas más expresivas.

Por ejemplo:

  • El usuario pertenece al área de finanzas.
  • El recurso pertenece al tenant 42.
  • La acción es aprobar.
  • La operación se realiza en horario laboral y desde un dispositivo administrado.

ABAC permite modelar decisiones más finas y adaptadas al contexto real del sistema.

9.12 Fortalezas y desafíos de ABAC

Las fortalezas de ABAC son claras:

  • Alta expresividad.
  • Menor dependencia de roles rígidos.
  • Buen encaje con reglas contextuales y multi-tenant.

Sus desafíos también son importantes:

  • Mayor complejidad conceptual.
  • Dependencia fuerte de atributos correctos y confiables.
  • Dificultad para explicar decisiones si las políticas se vuelven demasiado complejas.

ABAC puede ser muy potente, pero mal diseñado termina siendo opaco y difícil de operar.

9.13 ReBAC: Relationship-Based Access Control

ReBAC decide acceso a partir de relaciones entre sujetos y recursos. En lugar de preguntar solo por rol o atributo, pregunta qué vínculo existe entre las partes.

Ejemplos típicos:

  • Puede ver el documento porque es su creador.
  • Puede comentar porque pertenece al equipo dueño del proyecto.
  • Puede administrar el repositorio porque es maintainer del grupo asociado.
  • Puede leer la historia clínica porque es profesional asignado al paciente.

Este modelo resulta especialmente útil en plataformas colaborativas, sistemas sociales, entornos multi-tenant complejos y dominios donde las relaciones importan más que los roles generales.

9.14 Fortalezas y límites de ReBAC

ReBAC es muy valioso cuando el acceso depende del grafo de relaciones entre entidades. Permite expresar políticas naturales para entornos modernos donde pertenencia, ownership y vínculos directos o indirectos son centrales.

Su principal dificultad está en la complejidad operativa y de evaluación. Mantener y consultar relaciones de forma eficiente puede ser costoso, especialmente cuando el grafo crece o las decisiones requieren navegación profunda.

9.15 Comparación general entre modelos

Modelo Idea central Ventaja principal Límite típico
DAC El dueño del recurso decide Flexibilidad y colaboración Gobernanza débil si crece sin control
MAC La política central obliga Control rígido y consistente Poca flexibilidad
RBAC Los permisos se agrupan por roles Simplicidad administrativa Explosión de roles ante mucha variación
ABAC La decisión depende de atributos Gran expresividad contextual Mayor complejidad de diseño y explicación
ReBAC La decisión depende de relaciones Muy natural para colaboración y ownership Gestión y evaluación del grafo más complejas

9.16 Modelos puros versus modelos híbridos

En la práctica, muchos sistemas no implementan un único modelo de forma pura. Es habitual ver combinaciones:

  • RBAC para permisos base organizacionales.
  • ABAC para restricciones por tenant, región o contexto.
  • ReBAC para ownership y colaboración sobre recursos concretos.

Este enfoque híbrido suele ser más realista, pero exige disciplina. Si se combinan modelos sin claridad, el resultado puede ser más confuso que útil.

9.17 Qué modelo suele encajar mejor según el escenario

No hay una receta universal, pero pueden trazarse algunas orientaciones:

  • DAC: documentos, archivos, espacios compartidos.
  • MAC: entornos altamente regulados o clasificados.
  • RBAC: organizaciones con funciones estables y jerarquías claras.
  • ABAC: sistemas multi-tenant o con fuerte dependencia de contexto.
  • ReBAC: plataformas colaborativas, redes organizacionales, recursos con ownership dinámico.

Lo importante es no elegir por moda. Debe elegirse por adecuación al dominio, al riesgo y a la capacidad operativa del equipo.

9.18 Errores frecuentes al elegir o mezclar modelos

  • Forzar RBAC cuando el dominio depende claramente de contexto o relaciones.
  • Usar ABAC sin atributos confiables o bien gobernados.
  • Permitir DAC sin límites en entornos donde se necesita fuerte control central.
  • Adoptar modelos híbridos sin explicar prioridad y precedencia entre reglas.
  • Diseñar demasiada granularidad sin capacidad de operación ni auditoría.
  • Elegir un modelo “potente” pero imposible de entender para el negocio.

9.19 Qué debes recordar de este tema

  • Los modelos de control de acceso son formas de estructurar decisiones de autorización.
  • DAC prioriza al dueño del recurso; MAC impone política central; RBAC organiza por roles; ABAC decide por atributos; ReBAC decide por relaciones.
  • RBAC es muy útil, pero no resuelve bien por sí solo todos los escenarios contextuales o relacionales.
  • ABAC y ReBAC ofrecen mayor expresividad, pero aumentan complejidad.
  • Muchos sistemas reales terminan usando combinaciones de modelos.
  • La elección debe responder al dominio y al riesgo, no a la popularidad de una sigla.

9.20 Conclusión

Elegir un modelo de control de acceso es una decisión arquitectónica importante. Define cómo se representarán los permisos, cómo se mantendrán en el tiempo y qué tan fácil será explicar, auditar y evolucionar las decisiones de autorización. Un modelo bien elegido simplifica; uno mal elegido obliga a pelear contra la propia estructura del sistema.

En el próximo tema veremos cómo estos modelos se conectan con principios de mínimo privilegio, segregación de funciones y acceso just-in-time.