Control de Accesos II

Control de Accesos II

Introducción

Una vez que los usuarios han sido identificados y autenticados, el siguiente paso es que sean autorizados, este paso es necesario para que puedan acceder a los recursos requeridos para realizar sus funciones en el sistema, dichos accesos deben otorgarse considerando el principio de mínimo privilegio, asegurando que los usuarios tengan acceso solo a los recursos mínimos necesarios de acuerdo a su puesto o función.

Existen diferentes modelos de control de accesos que se pueden utilizar dependiendo de las necesidades de la organización, el uso de determinado modelo depende de los requerimientos de seguridad que tiene la organización, madurez del control de identidades actual, número de usuarios, entre otros.

Algunos de los modelos de control de accesos son: RBAC (Role-Based Access Control), DAC (Discretionary Access Control), MAC (Mandatory Access Control).

Desarrollo

Role-Based Access Control (RBAC)

Este modelo controla el acceso a recursos, basado en las funciones que tiene dicho usuario dentro de la organización, el modelo permite al administrador asignar a uno o más roles a un determinado usuario, cada rol permite acceso a determinados recursos.

Los permisos están asociados a roles y los usuarios son miembros de determinados roles, a diferencia de un modelo basado en grupos donde estos están conformados solo de usuarios y no de permisos. Por otro lado un rol se puede considerar como ambos, es decir un grupo de permisos y un grupo de usuarios, y este modelo sirve para relacionar ambos grupos.

Desde el punto de vista de negocio, los roles son creados para las distintas funciones que se llevan a cabo en la organización, y los usuarios se asignan a determinados roles en base a sus funciones y responsabilidades, de esta manera los usuarios pueden ser fácilmente reasignados o revocados de los distintos roles en base a las necesidades de la organización.

Actualmente muchos sistemas soportan este modelo de control de accesos (en el siguiente artículo veremos su implementación en el framework de desarrollo python web2py).

Las políticas de control de accesos RBAC se pueden definir en las relaciones: rol-permiso (role-permission), usuario-rol (user-role), y rol-rol (role-role). En base a estas relaciones se puede determinar si un usuario puede acceder a un determinado recurso del sistema. Uno de los beneficios del modelo RBAC es que es un modelo flexible que se puede ir ajustando a los requerimientos de la organización.

El modelo RBAC soporta los principios de seguridad de mínimo privilegio, segregación de funciones y abstracción de los datos, por lo que es un modelo que facilita la administración de accesos.

Discretionary Access Control (DAC)

En este modelo el dueño del recurso otorga el acceso a determinados usuarios.

Mandatory Access Control (MAC)

Este modelo permite agrupar o clasificar los recursos del sistema de acuerdo a su criticidad. Ejemplos de clasificación son: recursos públicos, restringidos, confidenciales, secretos y ultrasecretos. Los privilegios que se otorgan a un usuario para ver ciertos recursos dependen del nivel de autorización de dicho usuario.