Manual de usuario/Seguridad
Usuarios y roles
Inicio de sesión en el runtime, roles y permisos, permisos por control, política de contraseñas, auditoría y dónde se guarda todo.
4 min de lectura
Por defecto, un proyecto no pide usuario: cualquiera puede operar, como en las versiones anteriores. Al activar la seguridad, el runtime arranca sin sesión y en solo lectura, y pide usuario y contraseña en cuanto alguien intenta mandar algo.
Todo se configura en Proyecto → Usuarios y roles…, en tres pestañas.
Política

| Ajuste | Uso |
|---|---|
| Exigir inicio de sesión en el runtime | Activa la seguridad |
| Cierre por inactividad | Minutos sin actividad tras los que se cierra la sesión (0 = nunca). Por defecto, 15 |
| Longitud mínima de contraseña | Por defecto, 10 caracteres |
| Intentos fallidos y bloqueo | Tras N intentos, la cuenta se bloquea unos minutos |
Las contraseñas no pueden ser el nombre de usuario ni demasiado simples.
Roles y permisos
Un rol es un conjunto de permisos. Crea los que necesites y marca qué puede hacer cada uno.

| Permiso | Clave | Qué permite |
|---|---|---|
| Mandos y consignas | operate |
Botones que escriben, entradas y scripts de botón |
| Reconocer alarmas | acknowledge |
ACK en los visores de alarmas |
| Recetas y parámetros de proceso | recipes |
Lo que tú decidas: ningún control lo pide por defecto |
| Gestionar usuarios | manage_users |
Crear y modificar cuentas |
| Acceso por OPC UA | opcua |
Iniciar sesión en el servidor OPC UA del SCADA |
La navegación no pide permiso: cualquiera puede mirar todas las pantallas.
Permiso por control
Cada botón o entrada puede exigir un permiso concreto en lugar de operate. Así se reservan, por ejemplo, las consignas de receta para el maestro cervecero, o un botón de mantenimiento para el administrador. En el JSON del elemento:
{"id": "guardar", "kind": "button", "action": "set", "tag": "Recetas.OrdenGuardar",
"value": true, "permission": "recipes"}
Cuentas

Nuevo usuario… pide nombre, nombre completo, contraseña y roles. Si marcas «Pedir una contraseña nueva en el primer acceso», el operador tendrá que cambiarla al iniciar sesión. También puedes restablecer contraseñas, cambiar roles, desactivar y eliminar cuentas.
Para activar la seguridad, crea antes al menos una cuenta con un rol que tenga Gestionar usuarios: Studio no te deja dejar el proyecto sin administrador.
En el runtime

- La barra de estado muestra Sin sesión · solo lectura o el usuario activo, y el botón Iniciar sesión / Cerrar sesión.
- Si alguien pulsa un mando sin permiso, el runtime pide iniciar sesión indicando el permiso necesario. Con sesión pero sin ese permiso, la orden se rechaza y se audita.
- Las ventanas emergentes comparten la sesión de la ventana principal.
- Tras el tiempo de inactividad, la sesión se cierra sola.
Auditoría
La auditoría registra inicios y cierres de sesión, intentos fallidos, cada orden con el usuario que la dio y su origen (HMI, OPC UA o script) y las órdenes denegadas. Los reconocimientos de alarma quedan a nombre del usuario de la sesión. Consúltala en el visor de eventos o exporta el archivo con Herramientas → Copia de seguridad de los registros.
Dónde se guarda
Todo forma parte del proyecto y viaja con él, como en la configuración del PLC:
| Archivo | Contenido |
|---|---|
security.json |
Política y roles |
users.json |
Cuentas: nombre, roles y la huella scrypt de la contraseña, nunca la contraseña |
secrets.json |
Contraseñas de las conexiones (PLC, OPC UA), codificadas pero no cifradas |
pki/ |
Certificado OPC UA del proyecto y listas de confianza |
Las cuentas y las contraseñas de conexión se graban al momento, sin pulsar Guardar, porque el runtime también las cambia cuando un operador renueva su contraseña. Los intentos fallidos y los bloqueos solo viven en la memoria del runtime.
Protege el proyecto
Quien tenga una copia del proyecto o de su repositorio tiene las huellas de las cuentas, las contraseñas de los PLC y la clave del certificado OPC UA. Usa contraseñas largas, limita el acceso a la carpeta y al repositorio y no publiques proyectos reales.
No es una función de seguridad
Los usuarios controlan quién opera el SCADA. Los enclavamientos y las protecciones del proceso deben vivir en el PLC.