Control de acceso basado en roles, ¿qué es y cómo implementarlo?

La gestión de los derechos de acceso en función de los roles hace que sea claro y sencillo controlar los derechos de acceso para los usuarios en entornos de TI grandes y complejos. Dado que muchos empleados requieren derechos de acceso iguales o similares para realizar su trabajo diario, la concesión de acceso se puede simplificar significativamente agrupando a los empleados en función de sus funciones laborales en la organización.

La falta de control de acceso y aprovisionamiento automatizado puede ser costoso para una organización, en más de un sentido. Significa que los nuevos empleados y contratistas no están listos y funcionando con la rapidez necesaria, pueden tener acceso a sistemas a los que no deberían tener acceso y, sin darse cuenta, ponen en riesgo el perfil de seguridad de la empresa.

El control de acceso basado en roles (RBAC) es un paradigma de seguridad mediante el cual los usuarios obtienen acceso a los recursos en función de su rol en la empresa. RBAC, si se implementa correctamente, puede ser una forma eficaz de hacer cumplir el principio de privilegio mínimo.

Aquí te contamos en qué consiste el control de acceso basado en roles, cómo funciona, sus beneficios y los principales ejemplos.

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

El control de acceso basado en roles (RBAC), también conocido como seguridad basada en roles, es un método de control de acceso que asigna permisos a los usuarios finales según su rol dentro de su organización. RBAC proporciona un control detallado, ofreciendo un enfoque simple y manejable para la administración de acceso que es menos propenso a errores que la asignación de permisos individualmente.

Esto puede reducir el riesgo de ciberseguridad, proteger los datos confidenciales y garantizar que los empleados solo puedan acceder a la información y realizar las acciones que necesitan para hacer su trabajo. Esto se conoce como el principio de privilegio mínimo.

Debido a esto, RBAC es popular en grandes organizaciones que necesitan otorgar acceso a cientos o incluso miles de empleados según sus roles y responsabilidades. Dicho esto, es cada vez más popular entre las organizaciones más pequeñas, ya que a menudo es más fácil de administrar que las listas de control de acceso.

En un sistema RBAC, el aprovisionamiento de acceso de usuarios se basa en las necesidades de un grupo (por ejemplo, el departamento de marketing) en función de responsabilidades y necesidades comunes. Esto significa que cada función tiene un conjunto determinado de permisos y se pueden asignar personas a una o más funciones.

Por ejemplo, puede designar a un usuario como administrador, especialista o usuario final, y limitar el acceso a recursos o tareas específicos. Dentro de una organización, se puede proporcionar acceso de escritura a diferentes roles, mientras que a otros solo se les pueden otorgar permisos de visualización.

Las relaciones usuario-rol y rol-permisos facilitan la realización de la asignación de roles porque los usuarios individuales ya no tienen derechos de acceso únicos, sino que tienen privilegios que se ajustan a los permisos asignados a su rol o función laboral específica.

¿Cómo funciona?

La metodología del control de acceso basado en roles otorga acceso a un recurso de computación en la nube (o conjunto de recursos) según el rol del usuario dentro de la organización. Con los individuos en cada rol otorgados la flexibilidad y los permisos necesarios para realizar las tareas requeridas para su trabajo, la organización reduce la superficie de ataque general y el nivel de vulnerabilidad para los ataques cibernéticos.

La metodología RBAC se basa en un conjunto de tres reglas principales que rigen el acceso a sistemas seguros:

  • Asignación de roles: Cada transacción u operación solo se puede realizar si el usuario ha asumido el rol correspondiente. Una operación se define como cualquier acción tomada con respecto a un sistema o un objeto de red que está protegido por RBAC. Los roles pueden ser asignados por una parte separada o seleccionados por el usuario que intenta realizar la acción.
  • Autorización de función: el propósito de la autorización de función es garantizar que los usuarios solo puedan asumir una función para la que se les ha otorgado la autorización adecuada. Cuando un usuario asume un rol, debe hacerlo con la autorización de un administrador.
  • Autorización de transacción: una operación solo se puede completar si el usuario que intenta completar la transacción posee el rol apropiado.

En RBAC, cada organización de TI es libre de establecer sus propias características para cada rol. Los roles en la red pueden corresponder directamente a los roles de trabajo dentro de la organización, o pueden simplemente representar conjuntos de permisos que pueden asignarse o autorizarse a personas en función de otros criterios.

Con estas tres reglas como base para todos los sistemas RBAC, las cosas pueden volverse bastante complejas. Un sujeto puede tener múltiples autorizaciones de roles, cambiando libremente entre roles según los permisos que requieran para realizar una tarea específica. Esto es común en los centros de operaciones de seguridad empresarial donde los analistas de operaciones y seguridad de TI trabajan codo con codo y pueden requerir diferentes conjuntos de permisos para tareas operativas o de seguridad.

Modelos

El Instituto Nacional de Estándares y Tecnología (NIST), al proponer un estándar unificado para el control de acceso basado en roles, describe cuatro modelos de implementación diferentes para RBAC. Sin embargo, estos no son modelos independientes; son niveles del mismo modelo, cada uno construido sobre los requisitos del anterior al tiempo que agrega nuevas capacidades funcionales que mejoran la seguridad y la facilidad de uso.

RBAC plano

Flat RBAC se basa en las tres reglas principales del control de acceso basado en roles. Además, los sistemas de RBAC plano deben apoyar a -muchos-a-muchos-asignaciones de funciones de usuario, muchos-a-muchos asignaciones de permisos en roles , y deben permitir que los usuarios utilizan permisos de múltiples funciones al mismo tiempo.

RBAC jerárquico

RBAC jerárquico incorpora todas las reglas y capacidades de Flat RBAC junto con soporte para jerarquías. Una jerarquía define las relaciones de antigüedad entre los roles donde a los roles senior se les asignan todos los permisos de los roles que son inferiores a ellos.

Las jerarquías se pueden configurar según las necesidades de la organización de TI y las capacidades de la herramienta de software utilizada para implementar RBAC. Algunas herramientas imponen estructuras jerárquicas como árboles o árboles invertidos, mientras que otras permiten a la organización de TI más flexibilidad para diseñar un modelo jerárquico personalizado para asignar permisos.

RBAC restringido

Un RBAC restringido incorpora todas las características del RBAC jerárquico, junto con el soporte para la separación de funciones (SoD). La separación de funciones se refiere al concepto de requerir más de una persona para completar una tarea. Esto significa que si los empleados de la organización intentan cometer un acto fraudulento, deben involucrar a otra persona en la organización con permisos complementarios, lo que aumenta significativamente el riesgo total de ser atrapados.

Además, un ataque cibernético que obtiene acceso a una sola cuenta, incluso una con permisos de alto nivel, aún puede carecer de la capacidad de causar un daño importante debido a SoD.

RBAC simétrico

El nivel más alto de implementación de RBAC, el RBAC simétrico, tiene todos los mismos requisitos de RBAC restringido junto con una nueva característica: compatibilidad con la revisión de roles de permisos con un rendimiento similar a la revisión de roles de usuarios.

La idea aquí es que las organizaciones de TI empresariales que deseen mantener asignaciones de permisos deben poder revisar y ajustar periódicamente los permisos asociados con cada función. Si bien este proceso puede resultar laborioso y difícil de administrar, permite a las organizaciones reaccionar de manera efectiva al cambio y modificar las relaciones de permisos y roles en consecuencia.

Ejemplos de RBAC

A través de RBAC, puedes controlar lo que los usuarios finales pueden hacer a nivel de placa y granular. Puedes designar si el usuario es un administrador o un usuario estándar, y alinear roles y permisos según la posición del usuario en la organización.

El principio fundamental es asignar solo el acceso suficiente para que un empleado haga su trabajo.

Si el trabajo del empleado cambia, es posible que debas agregarlo o eliminarlo para tu grupo de roles actual.

Al agregar un usuario a un grupo de roles, el usuario tiene acceso a todos los permisos de ese grupo. Si se eliminan, el acceso se restringe. A los usuarios también se les puede asignar acceso temporal a ciertos datos o programas para completar una tarea y luego ser eliminados.

Los ejemplos comunes de RBAC incluyen:

  • Función de ingeniería de software: tiene acceso a GCP, AWS y GitHub.
  • Funciones de marketing: tiene acceso a HubSpot, Google Analytics, Facebook Ads y Google Ads.
  • Función financiera: tiene acceso a Xero y ADP
  • Rol de recursos humanos: tiene acceso a Lever y BambooHR

En cada uno de estos roles, puede haber un nivel de administración y un nivel de contribuyente individual que tenga diferentes niveles de permiso dentro de las aplicaciones individuales otorgadas a cada rol.

¿Cuáles son los beneficios de RBAC?

Una vez que implementas RBAC, la administración de acceso es más fácil siempre que cumpla estrictamente con los requisitos de la función. RBAC reduce el tiempo de inactividad de los empleados, mejora el aprovisionamiento y proporciona una administración eficiente de políticas de control de acceso.

Los beneficios de RBAC incluyen la posibilidad de:

  • Crear una asignación de permisos sistemática y repetible
  • Auditar los privilegios de los usuarios y corregir los problemas identificados
  • Agregar, eliminar o cambiar roles, e impleméntarlos en todas las llamadas a la API
  • Reducir posibles errores al asignar permisos de usuario
  • Reducir el riesgo de terceros al proporcionar a los proveedores externos roles predefinidos
  • Cumplir de manera más eficaz con los requisitos reglamentarios y estatutarios de confidencialidad, integridad, disponibilidad y privacidad. Esto se está volviendo más importante con la introducción de leyes generales de protección de datos como RGPD, LGPD , PIPEDA , FIPA y la Ley SHIELD , así como regulaciones específicas de la industria como CPS 234 , FISMA , 23 NYCRR 500 e HIPAA.
  • Reducir el trabajo administrativo y el soporte de TI al permitir cambiar rápidamente roles y permisos a nivel mundial entre sistemas operativos, plataformas y aplicaciones.
  • Disminuir el riesgo de filtraciones de datos y la fuga de datos mediante la restricción de acceso a información sensible.

Mejores prácticas para implementar RBAC

El control de acceso basado en roles te permite mejorar su postura de seguridad, cumplir con las regulaciones relevantes y reducir los gastos operativos. Sin embargo, implementar el control de acceso basado en roles en toda una organización puede ser complejo y puede resultar en un rechazo de las partes interesadas.

Para implementar RBAC, debes seguir estas mejores prácticas:

Comienza con tus necesidades

Antes de pasar a RBAC, debes comprender qué funciones de trabajo utilizan qué software, funciones comerciales de apoyo y tecnologías. Además, querrás considerar cualquier requisito reglamentario o de auditoría que pueda tener.

Implementación

No necesariamente tienes que implementar RBAC en toda tu organización de inmediato, considera limitar el alcance a los sistemas o aplicaciones que almacenan datos confidenciales primero.

Definir roles

Una vez que hayas realizado tu análisis y hayas decidido el alcance, puedes comenzar a diseñar roles en torno a los permisos que necesitan los diferentes roles. Ten cuidado con los errores comunes del diseño de roles, como la granularidad excesiva o insuficiente, la superposición de roles o la concesión de demasiadas excepciones.

Escribe una política

Cualquier cambio realizado debe describirse para que lo vean los empleados actuales y futuros. Incluso con el uso de una herramienta RBAC, la documentación puede ayudar a evitar problemas potenciales.

Implementar en etapas

Considera implementar RBAC en etapas para reducir la carga de trabajo y las interrupciones en el negocio. Comienza con un conjunto básico de usuarios y controles generales antes de aumentar la granularidad. Recopila comentarios de los usuarios internos y supervisa las métricas de tu negocio antes de implementar roles adicionales.

Adaptación continua

La mayoría de las organizaciones necesitan algunas iteraciones para implementar RBAC con éxito. Al principio, debes evaluar tus roles y controles de seguridad con frecuencia.

¿Cuáles son los mecanismos de control complementarios?

Las medidas de control de acceso regulan los permisos de los usuarios, como quién puede ver información confidencial en un sistema informático o quién puede ejecutar tareas específicas en un CRM. Son una parte esencial para minimizar el riesgo empresarial.

Los sistemas de control de acceso pueden ser físicos (limitando el acceso a edificios, salas o servidores) o lógicos que controlan el acceso digital a datos, archivos o redes).

Como tal, el modelo RBAC se puede complementar con otras técnicas de control de acceso como:

Control de acceso discrecional (DAC)

DAC es un método de control de acceso en el que el propietario de un sistema o recurso protegido establece políticas que definen quién puede acceder a él. Esto puede incluir controles físicos o digitales y es menos restrictivo que otros sistemas de control de acceso, ya que ofrece a las personas un control total sobre sus propios recursos.

La desventaja es que es intrínsecamente menos seguro, ya que los programas asociados heredarán la configuración de seguridad y el propietario puede otorgar acceso accidentalmente al usuario final incorrecto.

Control de acceso obligatorio (MAC)

MAC es un método de control de acceso en el que una autoridad central regula los derechos de acceso en función de múltiples niveles de seguridad. MAC asigna clasificaciones a los recursos del sistema, el kernel de seguridad y el sistema operativo. Solo los usuarios o dispositivos con la autorización de seguridad de la información requerida pueden acceder a los recursos protegidos. Este es un método de control de acceso común en organizaciones gubernamentales y militares.

Alternativas a RBAC

Las alternativas a RBAC incluyen:

Listas de control de acceso (ACL)

Una lista de control de acceso (ACL) es una tabla que enumera los permisos adjuntos a los recursos informáticos. Le dice al sistema operativo qué usuarios pueden acceder a un objeto y qué acciones pueden realizar. Hay una entrada para cada usuario individual, que está vinculada a los atributos de cada objeto (por ejemplo, ver, exportar, crear).

Para la mayoría de las empresas, RBAC es superior a ACL en términos de seguridad y gastos administrativos. ACL es más adecuado para implementar controles para datos de bajo nivel, mientras que RBAC se usa mejor como un sistema de control de acceso en toda la empresa.

Control de acceso basado en atributos (ABAC)

ABAC evalúa un conjunto de reglas y políticas para administrar los derechos de acceso de acuerdo con atributos específicos, como información ambiental, del sistema, del objeto o del usuario. Aplica la lógica booleana para otorgar o denegar el acceso a los usuarios en función de la evaluación de atributos atómicos o valorados por conjuntos y las relaciones entre ellos.

ABAC se diferencia de RBAC porque no depende de roles predefinidos y ABAC proporciona más granularidad. Por ejemplo, un sistema RBAC puede otorgar acceso a GitHub para todos los gerentes, mientras que una política ABAC limitaría el acceso solo a ingenieros de software.

RBAC es un poderoso paradigma para controlar el acceso a datos y recursos críticos y, si se implementa correctamente, puede aumentar drásticamente la seguridad de tus sistemas.

Sin embargo, ten en cuenta que RBAC no es una panacea para la ciberseguridad. Hay varios métodos que utilizarán los delincuentes para obtener acceso no autorizado, y no debes depender únicamente de controles preventivos como RBAC para proteger tus datos. Los controles de detective, como una plataforma de análisis del comportamiento del usuario, pueden ayudar a alertar sobre un comportamiento de acceso inusual, incluso si está autorizado para un rol, y prevenir violaciones de datos.