Aller au contenu principal

Service Client

Usurpation d'Identité pour le Support et le Dépannage

L'usurpation d'identité permet au personnel autorisé de se connecter temporairement en tant qu'autre utilisateur pour résoudre des problèmes, vérifier des configurations ou voir exactement ce que l'utilisateur expérimente. Cette fonctionnalité est essentielle pour le support client mais nécessite des autorisations appropriées et est entièrement auditée.

Lors de l'usurpation d'un client, le personnel accède au Portail de Self-Care exactement comme le client le voit, permettant un dépannage et un support précis.

Voir aussi : RBAC pour la configuration des autorisations, Clients pour la gestion des clients, Portail de Self-Care pour les fonctionnalités du portail client.

Objectif

L'usurpation d'identité fournit :

  1. Dépannage --- Voir exactement ce que le client voit pour diagnostiquer des problèmes
  2. Vérification --- Confirmer que les configurations de service et les autorisations fonctionnent correctement
  3. Formation --- Démontrer des fonctionnalités du point de vue du client
  4. Support --- Aider les clients à naviguer dans le système sans nécessiter de partage d'écran
  5. Trace d'Audit --- Toutes les sessions d'usurpation sont enregistrées pour la sécurité et la conformité

Autorisations Requises

Pour usurper des utilisateurs, vous devez avoir l'une des autorisations suivantes :

  • can_impersonate --- Autorisation d'usurpation dédiée pour le personnel de support
  • admin --- Accès administratif complet (inclut les droits d'usurpation)

Les utilisateurs sans ces autorisations ne peuvent pas accéder à la fonctionnalité d'usurpation.

Comment Usurper un Utilisateur

Via l'Interface Web :

  1. Naviguer vers le Client --- Trouver le client dans le CRM
  2. Sélectionner les Contacts --- Voir la liste de contacts du client
  3. Cliquer sur "Se connecter en tant qu'utilisateur" --- Le bouton apparaît à côté de chaque contact qui a un compte utilisateur
  4. Confirmer l'Usurpation --- Le système peut demander une confirmation
  5. La Session Commence --- Vous êtes maintenant connecté en tant que cet utilisateur

Se connecter en tant qu'utilisateur dans OmniCRM

Via l'API :

Démarrer la session d'usurpation :

Point de terminaison : POST /auth/impersonate

Autorisation Requise : can_impersonate ou admin

Demande :

{
"user_id": 42
}

Réponse :

{
"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"
}

Les jetons retournés sont pour la session de l'utilisateur usurpé.

Que Se Passe-t-il Pendant l'Usurpation

Lorsque vous usurpez un utilisateur :

  • Contexte Complet --- Vous voyez le système exactement comme l'utilisateur cible le voit :
    • Leur tableau de bord et navigation
    • Leurs données clients (si utilisateur client)
    • Leurs autorisations et contrôles d'accès
    • Leurs services, factures et utilisation
  • Suivi de Session --- Le système suit les deux identités :
    • impersonating_user_id --- Votre véritable ID utilisateur
    • target_user_id --- L'utilisateur que vous usurpez
    • impersonation_start --- Quand l'usurpation a commencé
  • Indicateur --- L'interface utilisateur affiche une bannière indiquant que vous usurpez quelqu'un :
    • "Vous êtes actuellement connecté en tant que [Nom d'utilisateur]"
    • "Cliquez ici pour arrêter l'usurpation"
  • Journalisation d'Audit --- Toutes les actions sont enregistrées avec les deux ID utilisateurs :
    • Les actions apparaissent comme effectuées par l'utilisateur cible
    • Les journaux d'audit enregistrent qui les a réellement effectuées (utilisateur usurpateur)
    • Trace d'audit complète maintenue dans la table ImpersonationLog

Arrêter l'Usurpation

Via l'Interface Web :

  1. Cliquer sur la Bannière --- Cliquez sur la bannière d'usurpation en haut de la page
  2. Ou Naviguer --- Allez dans le menu utilisateur et sélectionnez "Arrêter l'Usurpation"
  3. Confirmation --- La session se termine et vous revenez à votre propre compte

Via l'API :

Point de terminaison : POST /auth/stop_impersonation

Demande : Aucun corps requis (demande authentifiée)

Réponse :

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

Votre session originale est restaurée.

Journalisation d'Audit de l'Usurpation

Toutes les sessions d'usurpation sont enregistrées dans la table ImpersonationLog avec :

  • impersonating_user_id --- Membre du personnel qui a effectué l'usurpation
  • target_user_id --- Client ou utilisateur qui a été usurpé
  • impersonation_start --- Horodatage de début
  • impersonation_end --- Horodatage de fin (lorsque la session a été arrêtée)
  • impersonation_duration --- Durée en secondes

Cela fournit une responsabilité complète pour toutes les sessions d'usurpation et permet :

  • Audits de sécurité --- Examiner qui a usurpé qui et quand
  • Rapports de conformité --- Démontrer l'utilisation appropriée des accès élevés
  • Enquête --- Suivre les actions pendant les sessions d'usurpation
  • Surveillance --- Identifier des modèles d'usurpation inhabituels

Visualisation des Journaux d'Usurpation :

Les administrateurs peuvent interroger les journaux d'usurpation via l'API :

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

Filtrer par :

  • Utilisateur usurpateur (qui a effectué l'usurpation)
  • Utilisateur cible (qui a été usurpé)
  • Plage de dates
  • Durée

Meilleures Pratiques

  1. Minimiser la Durée --- Usurpez uniquement le temps nécessaire pour résoudre le problème
  2. Documenter l'Objectif --- Notez pourquoi l'usurpation était nécessaire dans le journal d'activité du client
  3. Informer les Clients --- Faites savoir aux clients que vous pourriez avoir besoin de voir leur compte (politique de confidentialité)
  4. Vérifier l'Identité --- Confirmer l'identité de l'utilisateur avant d'usurper via leur compte
  5. Examiner les Journaux --- Auditez régulièrement les journaux d'usurpation pour des modèles inhabituels
  6. Limiter les Autorisations --- Accordez can_impersonate uniquement au personnel de support qui en a besoin
  7. Formation --- Assurez-vous que le personnel comprend la responsabilité et les implications d'audit

Considérations de Sécurité

  • Accès Complet --- L'usurpation accorde un accès complet au compte de l'utilisateur cible
  • Aucun Mot de Passe Requis --- L'usurpation contourne l'authentification (basée uniquement sur les autorisations)
  • Actions Enregistrées --- Toutes les actions pendant l'usurpation sont attribuées à l'utilisateur cible dans les journaux d'application (mais les journaux d'audit montrent le véritable acteur)
  • Isolation de Session --- L'usurpation crée une nouvelle session ; n'affecte pas les sessions actives de l'utilisateur cible
  • Limites de Temps --- Les sessions d'usurpation doivent être limitées dans le temps (configurable)
  • Contournement de MFA --- L'usurpation contourne les exigences de 2FA (utilise l'authentification de l'usurpateur)

Restrictions

  • Impossible d'Usurper des Administrateurs --- Selon la configuration, il se peut que vous ne puissiez pas usurper d'autres administrateurs
  • Mêmes Autorisations --- Vous obtenez les autorisations de l'utilisateur cible, pas l'union des autorisations des deux utilisateurs
  • Limites de Session --- Une seule session d'usurpation par membre du personnel à la fois
  • Exigences d'Audit --- Impossible de désactiver ou de masquer l'enregistrement de l'usurpation

Dépannage des Problèmes Courants

Problème : Le bouton "Se connecter en tant qu'utilisateur" n'apparaît pas

  • Solution : Vérifiez que vous avez l'autorisation can_impersonate ou admin
  • Solution : Confirmez que le contact a un compte utilisateur lié

Problème : L'usurpation échoue avec une erreur de permission

  • Solution : Vérifiez si l'utilisateur cible est un administrateur (peut être restreint)
  • Solution : Vérifiez que votre autorisation d'usurpation est active

Problème : Impossible d'arrêter l'usurpation

  • Solution : Utilisez le point de terminaison API pour arrêter l'usurpation : POST /auth/stop_impersonation
  • Solution : Effacez les cookies du navigateur et reconnectez-vous avec vos identifiants

Problème : Les actions ne sont pas enregistrées correctement

  • Solution : Vérifiez que la session d'usurpation est active (vérifiez la bannière)
  • Solution : Examinez les journaux d'audit - les actions sont enregistrées avec les deux ID utilisateurs