Control de acceso de usuarios.

La permisología, rol o asignación de perfiles de usuarios está relacionada con el nivel de accesibilidad o Control de acceso de usuarios, a las funcionalidades de un software que tiene un determinado usuario

Usualmente en un software multi usuario esta funcionalidad es esencial ya que permite dar un nivel de acceso adecuado a los usuarios que usan el sistema.

En trackingpremium está implementado un componente de seguridad, el cual   proporciona un sistema de seguridad en dos capas: primero autentica al usuario y luego lo autoriza para ver si tiene los permisos necesarios para acceder a una funcionalidad.

A nivel de programación el sistema determina permite asignar permisos,  los cuales están asociados a una o más funcionalidades. En cada funcionalidad se valida si cada funcionalidad está asociada el usuario autenticado tiene el role correcto para la URL actual.

¿Qué es un Sistema de Control de Acceso de usuarios basado en Roles?

Un sistema de Control de Accesos basado en Roles (RBAC ) es una funcionalidad de algunos sistemas multiusuarios para dar mayor seguridad en el manejo de los datos.  Básicamente, este tipo de sistema  proporciona tres clases  de características: autenticación, autorización y auditoría. A continuación explicaremos cada una de ellas.

2.1 Autenticación

La autenticación es la primera fase del proceso que confirma la identidad del usuario: la autenticación consiste en comprobar la identidad del usuario que entra a su aplicación. Este proceso se lleva a cabo en dos pasos: primero, la identificación, donde el usuario declara quién es. El segundo paso consiste en comprobar dicha identificación. Generalmente, este proceso se realiza por medio de cuentas de usuario y contraseñas. Esta etapa es el primer nivel de seguridad.

2.2 Autorización

Las autorizaciones definen lo que un usuario puede hacer en una aplicación: básicamente, usted define lo que el usuario podrá ver, hacer y modificar en la aplicación.

Existen dos métodos para definir las autorizaciones:

La forma más segura es prohibir todo desde un principio, para después otorgar los permisos y abrir posibilidades. Sin embargo, utilizando este método, usted corre el riesgo de olvidar definir algún permiso, imposibilitando así el trabajo de un usuario final u otorgando permisos a usuarios no indicados.

La forma más rápida es autorizar todas las acciones, para después asignar restricciones y así prohibir algunas de ellas. Esta forma es más rápida que el anterior puesto que generalmente existen menos restricciones que permisos.

La etapa de autorización es el segundo nivel de seguridad y es, en efecto, la parte más delicada  del diseño de un sistema RBAC, ya que usted tiene que codificar cada permiso y restricción.

2.3 Auditoría

La auditoría le permitirá saber quién hizo qué en su aplicación, cuándo lo hizo y quién concedió qué permiso a quién.

Conserva un historial y un control de las transacciones sensibles en su aplicación. Posiblemente,  usted podría necesitar esta información para cumplir ciertas reglas de gestión de su empresa, con requerimientos legales como las auditorías  SOX, requeridas por el gobierno federal de USA, o para cumplir con procesos de certificación tipo ISO.

¿Cuáles son los  componentes claves del sistema de Control de acceso de usuarios.?

El sistema RBAC para aplicaciones corporativas se compone de los siguientes elementos:

Un repositorio asegurado para almacenar los datos de RBAC

Usted necesita un lugar seguro donde almacenar los datos y las contraseñas de los usuarios, sus roles y sus permisos.

Un componente integrado en la aplicación

Este componente se comunicará con el repositorio RBAC de modo que la aplicación se ajustará a las autorizaciones de los usuarios.

Una consola de administración

Esta aplicación está diseñada para el personal no técnico con el objetivo de que éstos puedan gestionar el uso de las cuentas de usuario y conceder permisos. Esta consola se compone de una interfaz amigable que permite el manejo de esta información sin complicación alguna, liberando así al grupo de desarrolladores de esta tarea.

Documentación para los desarrolladores y los administradores.

En cualquier momento, usted puede necesitar documentación para todo el personal que trabaje en el proceso de seguridad de sus aplicaciones. Por ejemplo una guía de integración, un manual del usuario, una FAQ (Preguntas y Respuestas Frecuentes), etc.

Ventajas de tener un sistema de control de roles.

1) Establecer los roles de trabajo para cada empleado.

Podríamos decir que el rol que adoptamos en una empresa como empleado o empleador deberá estar definido en la descripción de puestos de trabajo de dicho puesto.

Es aquí donde se definen nuestras responsabilidades, funciones y tareas y papel que vamos a desempeñar en un determinado equipo u organización.

En las empresas u organizaciones más pequeñas el rol desempeñado será más polivalente; mientras que en la gran empresa, los roles están mucho más definidos.

2) Establecer el nivel de profundidad de la información.

La información que se maneja dentro de la empresa tiene varios niveles de profundidad.  Según el rol desempeñado en la organización, un usuario podrá tener privilegios de: Administrador de accesos y perfiles, Acceso, Responsable, Administrador, Super Administrador, Informes Financieros, Administrador de Plantillas y Presentaciones, etc.

De este modo podremos definir y asignar el nivel de profundidad de acceso a la información o manipulación de la misma a cada empleado según el puesto que desempeña.

Creación de perfiles de usuarios.

Por otro lado, el software debe permitir definir perfiles de usuario para que éstos tengan acceso a la información que les compete. Algunos ejemplos de perfiles de usuarios serían: Compras, Ventas, Nóminas, Responsable de RRHH, Logística o CRM.

Los perfiles de usuarios deben ser fácilmente personalizables en función de las aplicaciones a las que dicho profesional debe tener acceso para desarrollar sus labores de forma eficiente. Personalización de roles y perfiles.


Leave a Reply

Your email address will not be published. Required fields are marked *