Role based access control (RBAC)

Normalmente las empresas y organizaciones solo asignan autorizaciones de acceso a sus sistemas informáticos a los usuarios que realmente las necesitan para desempeñar sus funciones. De este modo, los datos confidenciales quedan protegidos de accesos no autorizados y de cambios no deseados. Para garantizar la seguridad en las grandes organizaciones, las autorizaciones de acceso individuales se definen en la denominada access control list (ACL) o lista de control de acceso. Su inconveniente es que, cuanto mayor es el número de usuarios, más trabajo de mantenimiento conlleva y más errores se pueden producir al asignar las autorizaciones individuales. Una alternativa flexible y, al mismo tiempo, eficiente es el control de acceso basado en roles o role based access control, abreviado como RBAC.

¿Qué es el role based access control?

El role based access control, cuyas siglas son RBAC, se traduce como “control de acceso basado en roles”. Este modelo de seguridad permite asignar funciones y autorizaciones en la infraestructura informática de una organización. El término “basado en roles” es clave para entender cómo funciona el RBAC, ya que lo distingue de otros conceptos de seguridad, como el mandatory access control. En este modelo, el administrador del sistema asigna un nivel y una categoría de seguridad a cada usuario y objeto en dependencia del rol que cumple. El sistema operativo enlaza automáticamente los dos niveles y luego concede o deniega el acceso.

Con el RBAC, los derechos de acceso se asignan de acuerdo con un modelo de rol definido. Los roles de usuario definidos abstraen los procesos de trabajo de una organizaciones y, por lo tanto, varían de una empresa a otra. Como puntos de referencia para la clasificación, las empresas pueden referirse a los departamentos, ubicaciones, centros de costes o funciones de los empleados.

Funcionamiento del control de acceso basado en roles

Antes de que se pueda aplicar el concepto de autorización del RBAC en una empresa, los derechos de los roles se deben especificar de la manera más detallada posible. Esto incluye la especificación precisa de las autorizaciones en las siguientes áreas:

  • Cambiar los derechos de los datos (read, read and write, full access)
  • Derechos de acceso a las aplicaciones empresariales
  • Autorizaciones dentro de las solicitudes

Para aprovechar plenamente las ventajas del modelo RBAC, se deben crear siempre primero los roles y autorizaciones. De este modo, la organización transfiere todas las funciones de los empleados a roles que determinan sus correspondientes derechos de acceso. En el segundo paso, los roles se asignan a los empleados según sus tareas. Con el role based access control, se pueden asignar uno o más roles por usuario. Así, se pueden también asignar autorizaciones de acceso dentro del modelo de rol de forma individual. El objetivo de esta asignación es asegurar que los accesos permitan a los usuarios llevar a cabo todas sus actividades sin necesidad de realizar más ajustes.

La aplicación y la supervisión del RBAC tienen lugar a través de un sistema de gestión de acceso a la identidad (identity access management system o IAM). Para las empresas con un gran número de empleados, este sistema es particularmente útil en las áreas de registro, control y actualización de todas las identidades y derechos de acceso. La asignación de autorizaciones se denomina provisioning, mientras que la retirada se denomina de-provisioning. Para utilizar este sistema, se debe crear un concepto de rol uniforme y normalizado.

Consejo

Existen portales de autoservicio que dan a los usuarios la posibilidad de cambiar sus autorizaciones por sí mismos. En este caso, el sistema informa automáticamente a los administradores, que tienen la posibilidad de deshacer los cambios inmediatamente.

¿Cómo se crea un RBAC?

El control de acceso basado en roles se basa en una estructura de tres niveles compuesta por usuarios, roles y grupos. En el llamado role mining, las organizaciones definen los roles, que en general están orientados a la estructura organizativa de la empresa. A cada empleado se le asignan uno o más roles, que a su vez comprenden una o más autorizaciones de acceso. También uno o más grupos que no necesariamente coincidan de manera exacta pueden vincularse a un rol.

En la mayoría de los casos, para crear el concepto de rol, se emplea la siguiente estrategia piramidal:

La cima: autorizaciones para todos los empleados

En la cima, se definen las autorizaciones que cada empleado de la organización necesita. Estas suelen incluir el acceso a la intranet, el paquete de Office, el cliente de correo electrónico, el directorio compartido de la red o el inicio de sesión a través del Directorio Activo.

El segundo nivel: pertenencia a departamentos

En una empresa, los empleados de un departamento realizan actividades en un ámbito similar. Por ejemplo, el departamento de Finanzas necesita acceder al sistema ERP y al disco duro del departamento, mientras que el departamento de Recursos Humanos necesita acceder a todos los datos de los empleados. Las autorizaciones correspondientes se asignan a todos los empleados de cada departamento.

El tercer nivel: funciones

Otras autorizaciones se definen según la función de los empleados y las tareas implicadas.

Consejo

Los jefes de departamento son los que mejor conocen las tareas de sus propios empleados. Por esto, se recomienda que participen en la definición de las funciones. A través de un sistema IAM, los jefes de departamento pueden consultar y confirmar automáticamente las aprobaciones.

El fundamento: roles

En muchos casos, los empleados realizan actividades que no se han cubierto en la asignación del departamento y las funciones. Por esto, finalmente la organización asigna a cada empleado los roles adicionales que necesite de acuerdo con sus tareas reales.

Fuentes de datos para el RBAC

Para definir y asignar los roles, una organización necesita datos completos y actualizados sobre los empleados. Sobre todo en las empresas de mayor tamaño, estos datos se registran en detalle en el sistema de recursos humanos. Al crear un concepto de rol y autorización, se recomienda tener en cuenta también funciones que no se estén desempeñando en la actualidad. A menudo, estas están a cargo de los becarios de un departamento o son puestos que no han sido ocupados en mucho tiempo.

Ventajas e inconvenientes del RBAC

En algunas condiciones, el role based access control se ha establecido como un modelo de mejores prácticas. Si el concepto de rol y autorización se define y se aplica de forma coherente en toda la empresa, el RBAC ofrece numerosas ventajas:

  • Flexibilidad: la empresa asigna solo uno o más roles a un empleado, dependiendo de los requisitos. Los cambios en la estructura organizativa o las autorizaciones se transfieren rápidamente a todos los empleados, y su rol correspondiente cambia automáticamente.
  • Menor esfuerzo administrativo: el RBAC vuelve obsoleta la compleja tarea de asignar autorizaciones individuales.
  • Baja susceptibilidad a errores: las autorizaciones individuales son más complejas y también más propensas a los errores que la asignación de autorizaciones de acceso basadas en roles.
  • Aumento de la eficiencia: al reducir el esfuerzo y la aparición de errores, aumenta la eficiencia del departamento informático y de los otros empleados. Se eliminan los cambios manuales, la gestión de errores, los tiempos de espera y la aplicación individual de los derechos.
  • Seguridad: los derechos de acceso se definen exclusivamente a través del concepto de rol, para así evitar que los empleados tengan demasiadas autorizaciones. Esto corresponde al principio del menor privilegio (PoLP, por sus siglas en inglés).
  • Transparencia: los nombres de los roles suelen ser fáciles de entender, lo que aumenta la transparencia y la comprensibilidad para los usuarios.

Los inconvenientes del control de acceso basado en roles incluyen los siguientes:

  • La creación es laboriosa: transferir las estructuras organizativas al modelo RBAC implica un gran esfuerzo.
  • Asignaciones temporales: si un usuario necesita derechos de acceso ampliados solo temporalmente, es más fácil olvidar la asignación con el RBAC que si los derechos se asignan de manera individual.
  • Aplicación: en las pequeñas empresas, la creación y el mantenimiento de los roles sería más costosa que la asignación de derechos individuales. Por esto, el modelo RBAC solo es útil a partir de un cierto número de funciones y empleados. No obstante, incluso en las grandes empresas, el control de acceso basado en roles tiene la desventaja de que es muy fácil crear un enorme número de roles. Si una empresa tiene diez departamentos y diez funciones, esto ya resulta en 100 grupos diferentes.

¿Cuándo se usa el RBAC?

En muchas organizaciones, el role based access control se ha establecido como el mejor método para gestionar los derechos de acceso. Sin embargo, el modelo RBAC también se utiliza en sistemas operativos y otros tipos de software, por ejemplo, en el servicio de directorio del Directorio Activo de Microsoft Windows Server, el sistema operativo Linux optimizado para seguridad SELinux o el sistema operativo Unix Solaris.