Saltar al contenido principal

Atención al Cliente

Suplantación de Usuario para Soporte y Solución de Problemas

La suplantación permite al personal autorizado iniciar sesión temporalmente como otro usuario para solucionar problemas, verificar configuraciones o ver exactamente lo que el usuario experimenta. Esta función es esencial para el soporte al cliente, pero requiere permisos apropiados y está completamente auditada.

Al suplantar a un cliente, el personal accede al Portal de Autocuidado exactamente como lo ve el cliente, lo que permite una solución de problemas y soporte precisos.

Ver también: RBAC para la configuración de permisos, Clientes para la gestión de clientes, Portal de Autocuidado para las características del portal del cliente.

Propósito

La suplantación de usuario proporciona:

  1. Solución de Problemas --- Ver exactamente lo que el cliente ve para diagnosticar problemas
  2. Verificación --- Confirmar que las configuraciones y permisos del servicio funcionan correctamente
  3. Capacitación --- Demostrar características desde la perspectiva del cliente
  4. Soporte --- Ayudar a los clientes a navegar por el sistema sin requerir compartir pantalla
  5. Registro de Auditoría --- Todas las sesiones de suplantación se registran para seguridad y cumplimiento

Permisos Requeridos

Para suplantar usuarios, debes tener uno de los siguientes permisos:

  • can_impersonate --- Permiso de suplantación dedicado para el personal de soporte
  • admin --- Acceso administrativo completo (incluye derechos de suplantación)

Los usuarios sin estos permisos no pueden acceder a la función de suplantación.

Cómo Suplantar a un Usuario

A través de la Interfaz Web:

  1. Navegar al Cliente --- Encontrar al cliente en el CRM
  2. Seleccionar Contactos --- Ver la lista de contactos del cliente
  3. Hacer clic en "Iniciar sesión como Usuario" --- El botón aparece junto a cada contacto que tiene una cuenta de usuario
  4. Confirmar Suplantación --- El sistema puede solicitar confirmación
  5. La Sesión Comienza --- Ahora has iniciado sesión como ese usuario

Iniciando sesión como un Usuario en OmniCRM

A través de la API:

Iniciar sesión de suplantación:

Endpoint: POST /auth/impersonate

Permiso Requerido: can_impersonate o admin

Solicitud:

{
"user_id": 42
}

Respuesta:

{
"success": true,
"impersonating_user_id": 1,
"target_user_id": 42,
"impersonation_start": "2025-01-04T15:30:00Z",
"access_token": "new_token_for_impersonated_user",
"refresh_token": "new_refresh_token"
}

Los tokens devueltos son para la sesión del usuario suplantado.

Qué Ocurre Durante la Suplantación

Cuando suplantas a un usuario:

  • Contexto Completo --- Ves el sistema exactamente como lo ve el usuario objetivo:
    • Su panel de control y navegación
    • Sus datos de cliente (si es un usuario cliente)
    • Sus permisos y controles de acceso
    • Sus servicios, facturas y uso
  • Seguimiento de Sesiones --- El sistema rastrea ambas identidades:
    • impersonating_user_id --- Tu ID de usuario real
    • target_user_id --- El usuario que estás suplantando
    • impersonation_start --- Cuando comenzó la suplantación
  • Indicador --- La interfaz muestra un banner que indica que estás suplantando a alguien:
    • "Actualmente has iniciado sesión como [Nombre de Usuario]"
    • "Haz clic aquí para detener la suplantación"
  • Registro de Auditoría --- Todas las acciones se registran con ambos IDs de usuario:
    • Las acciones aparecen como realizadas por el usuario objetivo
    • Los registros de auditoría registran quién las realizó realmente (usuario suplantador)
    • Se mantiene un registro de auditoría completo en la tabla ImpersonationLog

Detener la Suplantación

A través de la Interfaz Web:

  1. Hacer clic en el Banner --- Haz clic en el banner de suplantación en la parte superior de la página
  2. O Navegar --- Ve al menú de usuario y selecciona "Detener Suplantación"
  3. Confirmación --- La sesión termina y vuelves a tu propia cuenta

A través de la API:

Endpoint: POST /auth/stop_impersonation

Solicitud: No se requiere cuerpo (solicitud autenticada)

Respuesta:

{
"success": true,
"impersonation_end": "2025-01-04T15:45:00Z",
"duration_seconds": 900,
"access_token": "your_original_token",
"refresh_token": "your_original_refresh_token"
}

Tu sesión original se restaura.

Registro de Auditoría de Suplantación

Todas las sesiones de suplantación se registran en la tabla ImpersonationLog con:

  • impersonating_user_id --- Miembro del personal que realizó la suplantación
  • target_user_id --- Cliente o usuario que fue suplantado
  • impersonation_start --- Marca de tiempo de inicio
  • impersonation_end --- Marca de tiempo de finalización (cuando se detuvo la sesión)
  • impersonation_duration --- Duración en segundos

Esto proporciona una responsabilidad completa para todas las sesiones de suplantación y permite:

  • Auditorías de seguridad --- Revisar quién suplantó a quién y cuándo
  • Informes de cumplimiento --- Demostrar el uso adecuado de acceso elevado
  • Investigación --- Rastrear acciones durante las sesiones de suplantación
  • Monitoreo --- Identificar patrones inusuales de suplantación

Visualización de Registros de Suplantación:

Los administradores pueden consultar los registros de suplantación a través de la API:

GET /auth/impersonation_logs?user_id={user_id}&start_date={date}&end_date={date}

Filtrar por:

  • Usuario suplantador (quién realizó la suplantación)
  • Usuario objetivo (quién fue suplantado)
  • Rango de fechas
  • Duración

Mejores Prácticas

  1. Minimizar la Duración --- Suplantar solo durante el tiempo necesario para resolver el problema
  2. Documentar el Propósito --- Anotar por qué se necesitó la suplantación en el registro de actividad del cliente
  3. Informar a los Clientes --- Hacer saber a los clientes que puede que necesites ver su cuenta (política de privacidad)
  4. Verificar la Identidad --- Confirmar la identidad del usuario antes de suplantar a través de su cuenta
  5. Revisar Registros --- Auditar regularmente los registros de suplantación en busca de patrones inusuales
  6. Limitar Permisos --- Solo otorgar can_impersonate al personal de soporte que lo necesite
  7. Capacitación --- Asegurarse de que el personal entienda la responsabilidad y las implicaciones de auditoría

Consideraciones de Seguridad

  • Acceso Completo --- La suplantación otorga acceso completo a la cuenta del usuario objetivo
  • No Se Requiere Contraseña --- La suplantación elude la autenticación (solo basada en permisos)
  • Acciones Registradas --- Todas las acciones durante la suplantación se atribuyen al usuario objetivo en los registros de la aplicación (pero los registros de auditoría muestran al actor real)
  • Aislamiento de Sesiones --- La suplantación crea una nueva sesión; no afecta las sesiones activas del usuario objetivo
  • Límites de Tiempo --- Las sesiones de suplantación deben tener un límite de tiempo (configurable)
  • Eliminación de MFA --- La suplantación elude los requisitos de 2FA (utiliza la autenticación del suplantador)

Restricciones

  • No Se Puede Suplantar a Administradores --- Dependiendo de la configuración, puede que no se pueda suplantar a otros administradores
  • Mismos Permisos --- Obtienes los permisos del usuario objetivo, no la unión de los permisos de ambos usuarios
  • Límites de Sesión --- Solo se permite una sesión de suplantación por miembro del personal a la vez
  • Requisitos de Auditoría --- No se puede desactivar ni ocultar el registro de suplantación

Solución de Problemas Comunes

Problema: El botón "Iniciar sesión como Usuario" no aparece

  • Solución: Verifica que tengas el permiso can_impersonate o admin
  • Solución: Confirma que el contacto tenga una cuenta de usuario vinculada

Problema: La suplantación falla con error de permiso

  • Solución: Verifica si el usuario objetivo es un administrador (puede estar restringido)
  • Solución: Verifica que tu permiso de suplantación esté activo

Problema: No se puede detener la suplantación

  • Solución: Utiliza el endpoint de API para detener la suplantación: POST /auth/stop_impersonation
  • Solución: Borra las cookies del navegador e inicia sesión nuevamente con tus credenciales

Problema: Las acciones no se registran correctamente

  • Solución: Verifica que la sesión de suplantación est�� activa (verifica el banner)
  • Solución: Revisa los registros de auditoría - las acciones se registran con ambos IDs de usuario