Inicio de sesión

¿Qué es el control de acceso basado en roles (RBAC)?

El término control de acceso basado en roles (RBAC) se refiere a una estrategia de autorización que organiza los privilegios en función de un rol (de ahí la frase “basado en roles”). La estrategia de autorización de RBAC es comúnmente usada por organizaciones medianas y grandes que necesitan categorizar a su personal usando la asignación de roles. Los roles se asocian a los derechos de acceso y a los permisos de uso de los recursos. La asignación de un rol a los usuarios individuales garantiza que solo tengan los permisos necesarios para realizar su trabajo. Se trata de una parte importante de una estrategia global de ciberseguridad.

Estos roles pueden reflejar la estructura organizativa y a menudo también diferentes departamentos. En otras palabras, a un empleado de un determinado departamento se le pueden asignar derechos de acceso al sistema en función de los requisitos del rol, lo que le permite acceder a la información pertinente para ejecutar las tareas de trabajo. Por ejemplo:

  • Un empleado del departamento de RR. HH. puede tener derechos de acceso a la información de las nóminas, que se consideran datos sensibles. La empresa probablemente restrinja este acceso solo a las personas de este departamento, y bloquee el acceso de otros empleados a estos datos.

  • Sin embargo, un director del departamento de ventas puede tener derechos de acceso a los informes de ventas a los que no puede acceder el personal de RR. HH.

Sin embargo, el RBAC no está dirigido específicamente a los departamentos. Es mucho más sobre los roles y los permisos asociados a esos roles. Por ejemplo, al apoderado del rol se le podrían asignar privilegios relacionados con la representación de una empresa por motivos legales. Todos los usuarios del departamento legal tendrán el rol de apoderado; sin embargo, otros (por ejemplo, el CEO y la junta directiva) también podrían tener ese rol.

El control de acceso basado en roles es parte de una estrategia más amplia de Gestión de Identidades y Accesos (IAM). A continuación, hablaremos de la gestión de acceso basada en roles (RBAC) y de cómo puede utilizarse para aplicar niveles de control de permisos sobre los recursos corporativos y la información sensible.

Ejemplos de control de acceso basado en roles

A continuación, describimos cómo utilizar el RBAC para controlar los privilegios en un sistema que soporta la gestión de gastos. Este sistema ficticio permite al personal realizar las siguientes acciones:

  • Leer Gastos

  • Crear Gastos

  • Aprobar Gastos

  • Pagar Gastos

Estas acciones representan los permisos disponibles para los usuarios del sistema.

Podemos agrupar estos permisos en los siguientes roles:

  • Presentador de gastos (puede leer y crear gastos)
  • Aprobador de gastos, y (puede leer y aprobar gastos)
  • Pagador de gastos (puede leer y pagar gastos)

Un sistema de RBAC nos permite crear aquellos roles que tienen asociados permisos de acceso a los recursos corporativos. Una vez configurado, los gestores del sistema pueden asignar usuarios a estos roles con este conjunto de permisos asociados.

Ventajas del RBAC

La ventaja más significativa de la estrategia de RBAC es la capacidad de agrupar diferentes permisos para que puedan ser asignados y revocados colectivamente. Además, al cambiar el conjunto de permisos en un rol, nos permite cambiar los permisos a un grupo de usuarios en un solo paso. Esto disminuye el esfuerzo relacionado con el manejo de los permisos en su sistema.

Por ejemplo, imagine que su empresa decide que no aceptará nuevos gastos (quizás el personal que los presentaba ahora tiene tarjetas corporativas). En esta situación, para bloquear a los usuarios que envían nuevas reclamaciones de gastos, un gestor del sistema simplemente eliminaría el permiso “Crear gasto” del “Presentador de gastos”. Los usuarios de la aplicación seguirían pudiendo comprobar los gastos que han presentado anteriormente, pero no podrían crear otros nuevos.

Otra ventaja de utilizar el control de acceso basado en roles es que la auditoría de los privilegios de los usuarios es más manejable. Si encuentra problemas con los permisos asignados a los usuarios, corregirlos requiere una sola edición de rol. Por otro lado, si se controlaran los permisos por usuario, habría que auditar a cientos o incluso miles de usuarios. Por supuesto, este es el resultado de una definición de roles bien diseñada.

Uso de Auth0 para implementar el control de acceso basado en roles

Auth0, una plataforma de identidad elegida por clientes de todos los sectores del mercado, incluye RBAC como parte de su núcleo. Auth0 ayuda a simplificar la implementación de RBAC para gestionar los permisos basados en roles.

Por ejemplo, para asegurar la API de su aplicación con RBAC y Auth0, de manera que los usuarios con un rol determinado puedan acceder a la API, pero otros no, necesitará seguir una receta simple que contiene solo cuatro pasos:

  1. En primer lugar, tendrá que registrar la API en su panel de control de Auth0.

  2. Después de registrarla, tendrá que definir los permisos que utilizará esta API.

  3. Con los permisos asignados, su siguiente tarea será crear los roles que organizarán estos permisos.

  4. Por último, tendrá que asignar usuarios a estos roles.

Alternativa a RBAC, control de acceso basado en atributos (ABAC)

Los informáticos han desarrollado muchas estrategias de autorización para asegurar sus sistemas de control de acceso. RBAC es solo una de estas estrategias. Entre las alternativas, estaría el control de acceso basado en atributos (ABAC). Esta estrategia utiliza un atributo de usuario (por ejemplo, la calificación) en lugar de un rol de usuario para conceder permisos de acceso a los recursos. Un ejemplo de caso de uso: un contratista debe demostrar que tiene una licencia específica para realizar el trabajo en una organización. La posesión de la licencia sería el atributo que permitiría conceder los permisos de acceso a los usuarios.

Si quiere saber más sobre la autenticación o la autorización, consulte los siguientes artículos:

¿Quiere saber más?

Siga leyendo en nuestra página de Introducción a IAM para explorar más temas en torno a la gestión de identidades y accesos.

Empiece a construir gratis