4.2Seguridad, derechos de usuario y groupware
Lo esencial en 30 segundos
- El Groupware Utilisateur de WinDev proporciona llave en mano la autenticación, la gestión de usuarios y grupos, y los derechos hasta el nivel de ventanas y campos — una ventaja considerable frente a un desarrollo propio.
- Regla de oro: el mínimo privilegio — cada persona solo tiene los derechos estrictamente necesarios; se razona por grupos (perfiles de negocio) y nunca se almacena una contraseña en claro (huella/hash).
- ⚠️ La seguridad de la interfaz no basta: ocultar un botón no impide acceder a los datos por otra vía — también hay que asegurar el lado de los datos (derechos HFSQL Client/Serveur, restricciones), trazar las operaciones sensibles y proteger las copias de seguridad.
Minicaso continuo — Yacine protege los derechos de su comercio
Yacine, desarrollador WinDev en una pyme de comercio de material eléctrico en Orán, debe preparar la aplicación para la puesta en producción. Hoy todo el mundo puede hacerlo todo: un almacenero puede validar un descuento, un comercial puede eliminar una factura. Yacine activa el Groupware Utilisateur: crea grupos que siguen los roles reales — comercial, almacenero, contable, responsable, administrador — y aplica el mínimo privilegio, de modo que cada grupo solo obtiene lo necesario. Sabe que ocultar un botón en la interfaz no basta: también asegura el lado de los datos (derechos HFSQL Client/Serveur) y centraliza las reglas de negocio en procedimientos para que las importaciones se beneficien de ellas. Traza las operaciones sensibles (quién modificó qué y cuándo) para la auditoría, protege las copias de seguridad y guarda las contraseñas en forma de huella. Anota el reflejo: un sistema de derechos demasiado fino se vuelve inmanejable — y por tanto poco seguro; empezar simple y afinar solo donde la necesidad es real.
Caso autónomo de esta sección: reaparece en el curso, el esquema, el guion y el reto de 48 h de la sección 4.2.
1. El Groupware Utilisateur
La seguridad de una aplicación de gestión cubre varias dimensiones: quién puede conectarse, quién puede ver qué, quién puede hacer qué y cómo se protegen los datos. WinDev propone el Groupware Utilisateur, un módulo integrado que aporta llave en mano una autenticación (identificador/contraseña), una gestión de usuarios y grupos y, sobre todo, la definición de los derechos hasta el nivel de ventanas y campos: tal grupo no ve ese botón, tal otro tiene ese campo en solo lectura. Es un ahorro de tiempo considerable frente a un desarrollo propio y cubre la necesidad clásica de las aplicaciones de empresa.
2. Los principios de seguridad
Independientemente de la herramienta, se respetan algunos principios. (1) El mínimo privilegio: cada persona solo tiene los derechos estrictamente necesarios — la regla de oro. (2) Nunca almacenar una contraseña en claro: se conserva una huella (hash). (3) La seguridad de la interfaz no basta: ocultar un botón no impide acceder a los datos por otra vía — hay que asegurar también el lado de los datos (derechos HFSQL Client/Serveur, restricciones). (4) Trazar las operaciones sensibles (quién modificó qué y cuándo), indispensable para la auditoría y los litigios. (5) Cifrar lo que deba cifrarse y proteger las copias de seguridad: una copia robada es toda la base robada.
3. Grupos, simplicidad, legalidad
En la práctica se razona por grupos (perfiles de negocio) en lugar de persona por persona: las altas, bajas y cambios de puesto se resuelven con una simple asignación. Se aplica el mínimo privilegio con reglas simples (consultar / crear-modificar / eliminar / validar / administrar) y solo se añade fineza donde la necesidad es real: un sistema de derechos demasiado complejo acaba mal administrado, y por tanto poco seguro. Por último, la protección de los datos personales depende de obligaciones legales que varían según el país (RGPD en Europa, legislaciones locales en otros lugares): infórmese sobre el derecho aplicable y busque asesoramiento — esta guía no es un dictamen jurídico.
🔎 Ejemplo concreto — 🔎 Ejemplo concreto — Autenticar y comprobar un derecho
El esqueleto de una autenticación y una comprobación de derecho, como el de Yacine:
// Authentifier l'utilisateur via le Groupware Utilisateur
SI gpwOuvre("CnxNegoce") ET gpwConnecte(sLogin, sMotDePasse) ALORS
// Contrôler un droit AVANT l'action sensible
SI gpwDroit("FACTURE", gpwSuppression) ALORS
// ... suppression de la facture autorisée ...
SINON
Info("Votre profil ne permet pas de supprimer une facture.")
FIN
SINON
Erreur("Identifiant ou mot de passe incorrect.")
FIN
gpwFerme()
Lectura: la autenticación identifica quién actúa; la comprobación de derecho decide si la acción está permitida — en el nivel del rol, no solo de la pantalla.
Lección: el derecho se comprueba en el tratamiento (y en el lado de los datos), para que las importaciones y los procesos por lotes se beneficien de los mismos controles.
Vocabulario de la sección
- Groupware Utilisateur
- Módulo integrado de WinDev que aporta llave en mano la autenticación, la gestión de usuarios y grupos, y los derechos hasta las ventanas y campos.
Ejemplo sencillo: Yacine activa el Groupware Utilisateur para su aplicación de comercio.
Lo que no es: un desarrollo propio de la seguridad, largo y arriesgado.
Reflejo: derechos llave en mano → el Groupware Utilisateur.
- Mínimo privilegio
- Cada persona solo dispone de los derechos estrictamente necesarios para su trabajo — limita los daños en caso de error o de cuenta comprometida.
Ejemplo sencillo: El almacenero de Yacine no puede validar un descuento.
Lo que no es: dar a todos derechos de administrador «para simplificar».
Reflejo: solo lo necesario → el mínimo privilegio.
- Contraseñas (⚠️)
- Nunca almacenar una contraseña en claro: se conserva una huella (hash).
Ejemplo sencillo: Yacine comprueba que las contraseñas están hasheadas en la base.
Lo que no es: un archivo de contraseñas en claro, fallo grave.
Reflejo: proteger los identificadores → la huella.
- Seguridad en el lado de los datos
- Ocultar un botón no basta: también hay que asegurar el nivel de los datos (derechos HFSQL Client/Serveur, restricciones).
Ejemplo sencillo: Yacine define los derechos en el servidor, no solo en la pantalla.
Lo que no es: contar únicamente con la interfaz para proteger los datos.
Reflejo: verdadera barrera → la seguridad en el lado de los datos.
- Trazabilidad
- Registrar quién hizo qué y cuándo en las operaciones sensibles, para la auditoría, los litigios y el diagnóstico de incidentes.
Ejemplo sencillo: Yacine registra las eliminaciones de facturas.
Lo que no es: ningún rastro de las modificaciones sensibles.
Reflejo: poder auditar → la trazabilidad.
En la práctica — En la práctica — Asegurar su aplicación
- Implante la autenticación y los grupos de usuarios (Groupware Utilisateur) aplicando el mínimo privilegio: cada uno solo tiene lo necesario, como Yacine.
- Nunca almacene contraseñas en claro (huella) y asegure también el lado de los datos (derechos HFSQL Client/Serveur), no solo la interfaz.
- Trace las operaciones sensibles (quién, qué, cuándo) para la auditoría y el diagnóstico, y cifre los intercambios y datos sensibles.
- Proteja las copias de seguridad (una copia robada = toda la base robada) y compruebe sus obligaciones legales sobre datos personales en su país.
Guion paso a paso — asegurar como Yacine (5 min)
1) Active el Groupware Utilisateur y conecte un primer administrador. 2) Cree los grupos correspondientes a los roles reales (comercial, almacenero, contable, responsable, administrador). 3) Asigne a cada grupo los derechos estrictamente necesarios (consultar / crear-modificar / eliminar / validar / administrar). 4) Añada un control de derecho sobre una operación sensible (eliminación de factura). 5) Asegure también el lado de HFSQL Client/Serveur y registre las operaciones sensibles. 6) Proteja las copias de seguridad y compruebe sus obligaciones sobre datos personales.
Empiece con reglas simples y afine solo donde la necesidad es real: un sistema de derechos demasiado fino se vuelve inmanejable, y por tanto poco seguro.
Plantilla para copiar y pegar — mi ficha de seguridad
Groupware Utilisateur : auth + utilisateurs + groupes, droits clé en main
Moindre privilege : chacun n'a QUE le necessaire
Mots de passe : jamais en clair -> empreinte (hachage)
Interface != securite : securiser AUSSI cote DONNEES (droits HFSQL C/S)
Tracabilite : qui a modifie quoi, quand (audit, litiges)
Sauvegardes : une sauvegarde volee = toute la base volee
Donnees personnelles : obligations LEGALES variables selon les pays
Grupos por rol
Yacine crea comercial, almacenero, contable, responsable y administrador, en lugar de derechos persona por persona.
Derecho sobre una operación
Yacine comprueba el derecho de eliminación antes de permitir eliminar una factura.
Seguridad en el lado de los datos
Yacine refuerza el control de interfaz con derechos HFSQL Client/Serveur.
Rastro de auditoría
Yacine registra las modificaciones sensibles para responder a un control contable.
✓ Buenas prácticas
- Razonar por grupos (roles de negocio), no persona por persona.
- Asegurar el lado de los datos, no solo la pantalla.
- Mantenerse simple: un sistema de derechos demasiado fino se vuelve inmanejable.
✗ Errores frecuentes
- Creer que ocultar un botón basta para asegurar.
- Almacenar una contraseña en claro (fallo grave).
- Conceder derechos de administración «para simplificar».
Puntos clave
- El Groupware Utilisateur aporta llave en mano la autenticación, los grupos y los derechos hasta las ventanas y campos.
- Regla de oro: el mínimo privilegio, y nunca contraseñas en claro.
- ⚠️ La seguridad de la interfaz no basta: asegurar también el lado de los datos.
- Trazar las operaciones sensibles y proteger las copias de seguridad; los datos personales dependen del derecho local.
Reto 48 h — aplícalo mañana
Como Yacine, active el Groupware Utilisateur en su aplicación y cree al menos tres grupos correspondientes a roles de negocio reales. Aplique el mínimo privilegio: compruebe que un miembro de un grupo no puede ejecutar una acción fuera de su rol. Añada un control de derecho sobre una operación sensible (eliminación, validación) y verifique que el control se mantiene incluso fuera de la interfaz (lado de los datos). Escriba por último en una frase lo que traza para la auditoría.
- Creo grupos por rol y aplico el mínimo privilegio.
- Aseguro los datos en el nivel adecuado, no solo en la pantalla.
- Trazo las operaciones sensibles y protejo las copias de seguridad.
Preguntas frecuentes
¿Por qué no basta la seguridad en el nivel de la interfaz?
Porque la interfaz solo es un camino hacia los datos: ocultar un botón o desactivar un campo impide actuar al usuario normal, pero no impide llegar a la base por otra vía — acceso directo, herramienta de administración, conexión ODBC, archivos copiados, exportación, copia de seguridad recuperada, o una importación de su propia aplicación que no tiene los mismos controles. La verdadera barrera está en el nivel de los datos (derechos HFSQL Client/Serveur, restricciones de integridad) y en reglas de negocio centralizadas, para que los procesos por lotes también se beneficien.
¿Cómo gestionar los derechos de usuario sin complicarlos en exceso?
Razonando por grupos (perfiles de negocio) en lugar de por persona, aplicando el mínimo privilegio con reglas simples y añadiendo fineza solo donde la necesidad es real. Cree grupos que sigan los roles (comercial, contable, almacenero, responsable, administrador); las personas se asocian a ellos, de modo que una alta o una baja se resuelve con una asignación. Distinga cinco niveles esenciales: consultar, crear-modificar, eliminar, validar, administrar. Un sistema demasiado fino se vuelve inmanejable — y una administración caótica crea fallos: la complejidad es enemiga de la seguridad.
¿Por qué no basta con asegurar solo la interfaz de una aplicación?