Manual del Super Usuario

Este manual describe el uso del Panel de Control de UnoSportClub (aplicación sudo), pensado para usuarios con rol de super usuario (sudo).

Introducción

Bienvenido al manual del super usuario. Este documento cubre todas las funcionalidades de nivel superior del sistema UnoSportClub.

Como super usuario, tienes acceso completo a todas las funciones del sistema. Tus responsabilidades incluyen:

  • Gestionar usuarios y asignar roles

  • Configurar el sistema a nivel global

  • Revisar auditorías y logs del sistema

  • Gestionar backups y restauraciones

  • Definir políticas de acceso y seguridad

IMPORTANTE: El acceso de super usuario debe usarse con precaución. Todas las acciones realizadas con este rol son registradas en los logs de auditoría.

Acceso al Panel

Para acceder al Panel de Control:

  1. Navega a la URL del panel de control (proporcionada por el administrador del sistema)

  2. Inicia sesión con tus credenciales de Firebase Authentication

  3. Asegúrate de tener el rol de sudo asignado

El panel de control es una aplicación separada de la aplicación principal para mayor seguridad.

Funcionalidades Principales

El panel de control está organizado en las siguientes secciones:

  • Usuarios: Gestión completa de usuarios y roles del sistema

  • Configuración del Sistema: Configuración global del sistema

  • Auditoría: Revisión de logs y actividades del sistema

  • Backup: Gestión de respaldos y restauraciones

Cada sección se detalla en las siguientes páginas.

Gestión de Usuarios

Administración completa de usuarios del sistema.

Ver Usuarios del Sistema

La lista muestra todos los usuarios con sus roles y permisos:

  • Nombre

  • Email

  • Rol asignado

  • Estado

  • Último acceso

Crear Usuarios del Sistema

Los super usuarios pueden crear y gestionar todos los tipos de usuarios:

  1. Accede a "Usuarios" > "Nuevo Usuario"

  2. Completa el formulario:

    • Nombre completo

    • Email

    • Rol inicial

    • Contraseña temporal

  3. Guarda el usuario

El sistema enviará un email para que el usuario complete su registro.

Roles del Sistema

Los diferentes roles disponibles son:

  • Usuario: Acceso básico

  • Operador: Gestión de reservas

  • Entrenador (trainer): Acceso al Panel de Entrenador y a los endpoints de entrenamiento

  • Administrador: Gestión completa

  • Super Usuario: Acceso total

Asignar Permisos

Los permisos pueden ser asignados de manera granular a cada usuario:

  1. Selecciona el usuario

  2. Ve a "Permisos"

  3. Activa o desactiva permisos específicos

  4. Guarda los cambios

Gestionar Roles

Los roles del sistema pueden ser creados y modificados por super usuarios:

  1. Accede a "Roles" > "Nuevo Rol"

  2. Define el nombre del rol

  3. Asigna permisos específicos

  4. Guarda el rol

Editar Usuario

Para modificar un usuario:

  1. Selecciona el usuario

  2. Haz clic en "Editar"

  3. Modifica los campos necesarios, incluido el rol (Usuario, Operador, Entrenador, Administrador)

  4. Actualiza permisos si es necesario

  5. Guarda los cambios

Eliminar Usuario

Los usuarios pueden ser eliminados del sistema:

  1. Selecciona el usuario

  2. Verifica dependencias

  3. Confirma la eliminación

Advertencia: Esta acción no se puede deshacer.

Gestión de Roles Avanzada

Asignar Múltiples Roles

Un usuario puede tener múltiples roles asignados:

  • Roles combinados: Un usuario puede ser operador y entrenador simultáneamente

  • Roles jerárquicos: Algunos roles incluyen permisos de otros roles

  • Roles temporales: Asignar roles por períodos específicos

Ten cuidado al asignar múltiples roles, ya que puede crear conflictos de permisos.

Revocar Roles

Para revocar un rol:

  1. Selecciona el usuario

  2. Haz clic en "Editar"

  3. Desmarca el rol que deseas revocar

  4. Guarda los cambios

El sistema actualizará automáticamente los custom claims en Firebase Auth.

Seguridad de Usuarios

Verificar Estado de Cuenta

Revisa regularmente el estado de las cuentas:

  • Último acceso: Identifica cuentas inactivas

  • Estado de verificación: Confirma que los emails estén verificados

  • Intentos fallidos: Monitorea intentos de acceso fallidos

  • Sesiones activas: Revisa sesiones activas de usuarios

Bloquear/Desbloquear Usuarios

Si necesitas bloquear temporalmente un usuario:

  1. Selecciona el usuario

  2. Ve a "Acciones" > "Bloquear"

  3. Indica el motivo del bloqueo

  4. El usuario no podrá iniciar sesión hasta que sea desbloqueado

Para desbloquear:

  1. Selecciona el usuario bloqueado

  2. Haz clic en "Desbloquear"

  3. Confirma la acción

Mejores Prácticas

  • Principio de menor privilegio: Asigna solo los roles necesarios

  • Revisa regularmente: Revisa usuarios y roles periódicamente

  • Documenta cambios: Registra cambios importantes de roles

  • Comunica cambios: Informa a los usuarios sobre cambios de roles

  • Audita accesos: Revisa regularmente quién tiene acceso a qué

Solución de Problemas

Usuario No Puede Acceder

Si un usuario reporta problemas de acceso:

  1. Verifica que el usuario exista en Firebase Auth

  2. Confirma que tenga el rol correcto asignado

  3. Revisa los logs de autenticación

  4. Verifica que no esté bloqueado

  5. Prueba asignar el rol nuevamente si es necesario

Rol No Se Aplica

Si un rol no se aplica correctamente:

  1. Verifica que el custom claim esté en Firebase Auth

  2. Confirma que el usuario haya cerrado y vuelto a iniciar sesión

  3. Revisa los logs del sistema

  4. Contacta al equipo de desarrollo si el problema persiste

Configuración del Sistema

Acceso completo a todas las configuraciones del sistema.

Configuración General

El super usuario tiene acceso a todas las configuraciones del sistema:

Información del Club

  • Nombre del club

  • Dirección

  • Contacto

  • Horarios de atención

Configuración de Reservas

  • Duración mínima de reserva

  • Duración máxima de reserva

  • Tiempo de anticipación requerido

  • Políticas de cancelación

Configuración de Notificaciones

  • Email del sistema

  • Plantillas de emails

  • Configuración de SMS

  • Notificaciones push

Configuración de Seguridad

Las políticas de seguridad pueden ser configuradas desde aquí:

Autenticación

  • Requisitos de contraseña

  • Políticas de expiración

  • Autenticación de dos factores

  • Intentos de inicio de sesión

Sesiones

  • Tiempo de expiración de sesión

  • Sesiones simultáneas

  • Políticas de inactividad

Cifrado

  • Configuración de SSL/TLS

  • Certificados

  • Políticas de datos sensibles

Configuración de Integraciones

Las integraciones con sistemas externos son gestionadas por super usuarios:

Pasarelas de Pago

  • Configuración de procesadores

  • Claves API

  • Webhooks

Servicios Externos

  • Servicios de email

  • Servicios de SMS

  • APIs de terceros

Integraciones de Calendario

  • Sincronización con calendarios externos

  • Exportación de eventos

Configuración de Personalización

Apariencia

  • Logo del club

  • Colores del sistema

  • Tema personalizado

Branding

  • Nombre de la plataforma

  • Información de contacto

  • Términos y condiciones

Configuración de Integraciones Externas

APIs de Terceros

Configura integraciones con servicios externos:

  • Pasarelas de pago: Configuración de procesadores de pago

  • Servicios de email: Configuración de SMTP y servicios de email

  • Servicios de SMS: Integración con proveedores de SMS

  • Calendarios: Sincronización con Google Calendar, Outlook, etc.

Webhooks

Configura webhooks para recibir notificaciones:

  • Eventos de pago: Notificaciones de cambios en pagos

  • Eventos de reserva: Notificaciones de nuevas reservas

  • Eventos de usuario: Notificaciones de cambios en usuarios

Configuración de Rendimiento

Optimización

Ajusta la configuración para optimizar el rendimiento:

  • Caché: Configuración de caché para mejorar velocidad

  • Límites de rate: Configura límites de peticiones

  • Timeouts: Ajusta timeouts de conexión

  • Pool de conexiones: Configura el pool de conexiones a la base de datos

Mejores Prácticas

  • Documenta cambios: Registra todos los cambios de configuración

  • Prueba antes de producción: Prueba cambios en entorno de desarrollo

  • Backup antes de cambios: Realiza backup antes de cambios importantes

  • Revisa regularmente: Revisa la configuración periódicamente

  • Coordina con el equipo: Comunica cambios importantes al equipo

Solución de Problemas

Configuración No Se Aplica

Si los cambios no se aplican:

  1. Verifica que hayas guardado los cambios

  2. Recarga la página o reinicia el servicio

  3. Revisa los logs del sistema

  4. Verifica que no haya errores de validación

Error en Configuración

Si hay un error:

  1. Revisa los logs de error

  2. Verifica la sintaxis de la configuración

  3. Restaura la configuración anterior si es necesario

  4. Contacta al equipo de desarrollo si el problema persiste

Auditoría

Registro completo de todas las actividades del sistema.

Ver Logs del Sistema

Todos los logs del sistema están disponibles para super usuarios:

Logs de Acceso

Registro de todos los accesos al sistema:

  • Usuario

  • Fecha y hora

  • IP de origen

  • Acción realizada

  • Resultado

Logs de Operaciones

Registro de operaciones realizadas:

  • Creación de registros

  • Modificaciones

  • Eliminaciones

  • Cambios de estado

Logs de Seguridad

Eventos relacionados con seguridad:

  • Intentos de acceso fallidos

  • Cambios de permisos

  • Modificaciones de configuración crítica

  • Alertas de seguridad

Generar Reportes de Auditoría

Los reportes de auditoría pueden ser generados para cumplimiento:

Reporte de Accesos

Análisis de accesos al sistema por período.

Reporte de Cambios

Registro de todos los cambios realizados en el sistema.

Reporte de Cumplimiento

Reporte para auditorías externas y cumplimiento normativo.

Filtros y Búsqueda

Utiliza los filtros avanzados para encontrar eventos específicos:

  • Por usuario

  • Por tipo de evento

  • Por fecha

  • Por IP

  • Por resultado

Exportar Logs

Los logs pueden ser exportados para análisis externos:

  • Formato CSV

  • Formato JSON

  • Formato de texto plano

Retención de Logs

Configura la retención de logs según tus necesidades:

  • Período de retención: Define cuánto tiempo se mantienen los logs

  • Archivado automático: Configura archivado automático de logs antiguos

  • Eliminación programada: Programa eliminación automática de logs muy antiguos

Configurar Retención

Para configurar la retención de logs:

  1. Ve a "Auditoría" > "Configuración"

  2. Define el período de retención (ej: 90 días, 1 año)

  3. Configura el archivado automático

  4. Establece la eliminación programada

  5. Guarda la configuración

Análisis de Logs

Identificar Patrones

Usa los logs para identificar:

  • Accesos sospechosos: Intentos de acceso desde ubicaciones inusuales

  • Actividades anómalas: Comportamientos fuera de lo normal

  • Problemas recurrentes: Errores que se repiten frecuentemente

  • Tendencias de uso: Patrones de uso del sistema

Generar Alertas

Configura alertas automáticas para:

  • Intentos de acceso fallidos múltiples: Posible ataque

  • Cambios críticos: Modificaciones a configuraciones importantes

  • Errores críticos: Errores que requieren atención inmediata

  • Actividades de super usuario: Todas las acciones de super usuarios

Cumplimiento y Reportes

Reportes de Cumplimiento

Genera reportes para:

  • Auditorías externas: Reportes para auditores externos

  • Cumplimiento normativo: Reportes para cumplir con regulaciones

  • Análisis interno: Reportes para análisis interno

  • Documentación: Reportes para documentación histórica

Exportar para Análisis

Los logs se pueden exportar para:

  • Análisis en herramientas externas

  • Investigaciones forenses

  • Análisis de tendencias

  • Reportes ejecutivos

Mejores Prácticas

  • Revisa regularmente: Revisa los logs diariamente o semanalmente

  • Configura alertas: Usa alertas automáticas para eventos importantes

  • Mantén retención adecuada: Configura retención según necesidades legales y operativas

  • Protege los logs: Asegúrate de que los logs estén protegidos y no sean modificables

  • Documenta hallazgos: Registra cualquier hallazgo importante de los logs

Backup y Restauración

Gestión de respaldos y recuperación del sistema.

Crear Backups

Los super usuarios pueden crear backups del sistema completo:

Backup Automático

Configura backups automáticos programados:

  1. Accede a "Backup" > "Configuración"

  2. Define la frecuencia (diario/semanal/mensual)

  3. Selecciona qué incluir en el backup

  4. Configura el destino

  5. Guarda la configuración

Backup Manual

Para crear un backup manual:

  1. Ve a "Backup" > "Crear Backup"

  2. Selecciona los componentes a incluir:

    • Base de datos

    • Archivos del sistema

    • Configuraciones

    • Logs

  3. Inicia el backup

El proceso puede tardar varios minutos dependiendo del tamaño de los datos.

Restaurar desde Backup

La restauración del sistema puede ser realizada desde backups:

  1. Accede a "Backup" > "Restaurar"

  2. Selecciona el backup a restaurar

  3. Revisa los detalles del backup

  4. Elige qué componentes restaurar

  5. Confirma la restauración

Advertencia: La restauración sobrescribirá los datos actuales.

Gestionar Backups

Lista de Backups

Vista de todos los backups disponibles:

  • Fecha de creación

  • Tamaño

  • Componentes incluidos

  • Estado

Eliminar Backups

Los backups antiguos pueden ser eliminados para liberar espacio.

Descargar Backups

Puedes descargar backups para almacenamiento externo.

Verificación de Backups

Es importante verificar regularmente que los backups funcionen correctamente:

  • Pruebas de restauración

  • Verificación de integridad

  • Validación de completitud

Políticas de Backup

Configura políticas de backup según tus necesidades:

  • Retención de backups: Define cuántos backups mantener

  • Frecuencia automática: Configura la frecuencia de backups automáticos

  • Almacenamiento externo: Configura almacenamiento en ubicaciones externas

  • Encriptación de backups: Activa encriptación para backups sensibles

Configurar Políticas

Para configurar políticas de backup:

  1. Ve a "Backup" > "Políticas"

  2. Define la frecuencia (diario, semanal, mensual)

  3. Establece la retención (ej: mantener últimos 30 backups)

  4. Configura almacenamiento externo si es necesario

  5. Activa encriptación si es requerida

  6. Guarda la configuración

Estrategias de Backup

Backup Completo vs Incremental

El sistema soporta diferentes tipos de backup:

  • Backup completo: Respalda todo el sistema (más lento, más espacio)

  • Backup incremental: Solo respalda cambios desde el último backup (más rápido, menos espacio)

  • Backup diferencial: Respalda cambios desde el último backup completo

Rotación de Backups

Implementa una estrategia de rotación:

  • Backups diarios: Mantener últimos 7 días

  • Backups semanales: Mantener últimas 4 semanas

  • Backups mensuales: Mantener últimos 12 meses

  • Backups anuales: Mantener indefinidamente

Pruebas de Restauración

Importancia de las Pruebas

Es crucial probar las restauraciones regularmente:

  • Verificar integridad: Confirma que los backups sean válidos

  • Probar proceso: Asegura que el proceso de restauración funcione

  • Medir tiempo: Conoce cuánto tiempo toma restaurar

  • Identificar problemas: Encuentra problemas antes de una emergencia real

Proceso de Prueba

Para probar una restauración:

  1. Selecciona un backup de prueba (no de producción activa)

  2. Restaura en un entorno de prueba

  3. Verifica que todos los datos estén presentes

  4. Prueba funcionalidades críticas

  5. Documenta los resultados

Recuperación ante Desastres

Plan de Recuperación

Desarrolla un plan de recuperación ante desastres:

  • Identifica componentes críticos: Define qué debe restaurarse primero

  • Establece tiempos objetivo: Define RTO (Recovery Time Objective) y RPO (Recovery Point Objective)

  • Documenta el proceso: Crea documentación detallada del proceso

  • Practica regularmente: Realiza simulacros de recuperación

Restauración de Emergencia

En caso de emergencia:

  1. Evalúa la situación y determina qué necesita restaurarse

  2. Selecciona el backup más reciente y apropiado

  3. Sigue el plan de recuperación documentado

  4. Verifica que la restauración sea exitosa

  5. Documenta el incidente y las lecciones aprendidas

Mejores Prácticas

  • Automatiza backups: Configura backups automáticos para evitar olvidos

  • Prueba regularmente: Prueba restauraciones al menos mensualmente

  • Almacena externamente: Mantén copias de backups en ubicaciones externas

  • Encripta backups sensibles: Protege backups con encriptación

  • Documenta todo: Mantén documentación completa de políticas y procedimientos

Roles y Permisos del Sistema

El sistema utiliza un modelo de control de acceso basado en roles (RBAC). Los roles disponibles son:

  • Usuario (user): Acceso básico para usuarios finales

  • Operador (operator): Acceso al panel de operador para gestión diaria

  • Entrenador (trainer): Acceso al panel de entrenador para gestión de clases

  • Administrador (admin): Acceso a funciones administrativas

  • Super Usuario (sudo): Acceso completo al sistema

Los roles se asignan mediante custom claims en Firebase Authentication y determinan qué funcionalidades están disponibles para cada usuario.

Flujo de Trabajo del Super Usuario

Configuración Inicial del Sistema

Al configurar el sistema por primera vez:

  1. Configura la información básica del club

  2. Crea los primeros usuarios administrativos

  3. Define las políticas de acceso iniciales

  4. Configura las integraciones necesarias

  5. Realiza el primer backup del sistema

Gestión Regular

Tareas regulares del super usuario:

  1. Revisar y gestionar solicitudes de nuevos usuarios

  2. Asignar o modificar roles según sea necesario

  3. Revisar logs de auditoría para detectar problemas

  4. Verificar que los backups se estén ejecutando correctamente

  5. Actualizar configuraciones del sistema según sea necesario

Mantenimiento

Tareas de mantenimiento:

  1. Revisar y limpiar logs antiguos

  2. Verificar la integridad de los backups

  3. Actualizar políticas de seguridad

  4. Revisar y optimizar configuraciones

  5. Coordinar con desarrolladores para actualizaciones

Mejores Prácticas

Gestión de Usuarios

  • Asigna roles según el principio de menor privilegio

  • Documenta la razón de asignación de roles especiales

  • Revisa regularmente los usuarios y sus roles

  • Desactiva o elimina usuarios que ya no necesitan acceso

Seguridad

  • Mantén tus credenciales de super usuario seguras

  • Usa autenticación de dos factores si está disponible

  • Revisa regularmente los logs de seguridad

  • Actualiza las políticas de seguridad según mejores prácticas

Auditoría

  • Revisa los logs regularmente

  • Investiga cualquier actividad sospechosa

  • Mantén registros de cambios importantes

  • Genera reportes de auditoría según sea necesario

Backups

  • Configura backups automáticos regulares

  • Verifica que los backups se completen correctamente

  • Prueba las restauraciones periódicamente

  • Mantén backups en múltiples ubicaciones

Solución de Problemas Comunes

Usuario No Puede Acceder

Si un usuario reporta problemas de acceso:

  1. Verifica que el usuario exista en Firebase Authentication

  2. Confirma que tenga el rol correcto asignado

  3. Revisa los logs de autenticación

  4. Verifica que no haya restricciones en las políticas

Problema con Roles

Si hay un problema con la asignación de roles:

  1. Verifica los custom claims en Firebase Authentication

  2. Revisa las políticas de acceso

  3. Confirma que el usuario tenga el rol en la base de datos

  4. Verifica los logs de cambios de roles

Error en Backup

Si hay un problema con los backups:

  1. Revisa los logs de backup

  2. Verifica el espacio de almacenamiento disponible

  3. Confirma que las credenciales sean correctas

  4. Prueba un backup manual

Recursos Adicionales

Para más información, consulta:

Soporte

Si necesitas ayuda adicional:

  • Revisa la documentación técnica del desarrollador

  • Consulta los logs del sistema para diagnosticar problemas

  • Contacta al equipo de desarrollo para temas técnicos avanzados

Advertencias Importantes

IMPORTANTE: Como super usuario, tienes acceso completo al sistema. Ten en cuenta:

  • Todas tus acciones son registradas en los logs de auditoría

  • Los cambios que realices pueden afectar a todos los usuarios

  • Algunas acciones no se pueden deshacer fácilmente

  • Siempre verifica antes de realizar cambios importantes

  • Realiza backups antes de cambios significativos