Sommaire

Principes des logs d'authentification

Les demandes d'authentification sur la WebUI peuvent venir de plusieurs points d'entrées :

  • Une connexion sur l'interface de Visualisation
  • Un appel aux URL des pages de reporting ( voir Rapport par URL )

Afin de pouvoir suivre une demande d'authentification sans tracer l'utilisateur un uuid est généré par connexion.

  • Pour le suivre il suffit de rechercher "authentication phase id-XXXX", XXXX étant une chaîne alphanumérique ( Ex : id-eaa09e3a8b2d11eb937a080027cc5994 )

Afin de respecter la Réglementation Générale sur la Protection des Données,

  • les logs en INFO ne doivent pas identifier un utilisateur, mais juste tracer une connexion
  • les logs en WARNING, DEBUG ou ERROR peuvent afficher des informations sur les utilisateurs, car ces logs sont utilisés à des fins de diagnostic de l'application

La WebUI initie donc les logs et demande à chacun de ses sous-modules d'authentifier l'utilisateur. Les logs concernant chacun des modules se trouvent dans leur page.

Descriptions des logs

Tous les logs d’authentification seront regroupés sous le chapitre [ AUTHENTICATION ] 

Suivant l'origine de la demande, le chapitre suivant sera :

  • [ UI Visualization ] : Une connexion sur l'interface de Configuration
  • [ REPORTING ] : Un appel sur les URLs de génération de rapport

Exemple :

[YYYY-MM-DD HH:MM:SS] INFO   : [ DAEMON-NAME ] [ AUTHENTICATION   ] 

Initialisation de la demande d'authentification

Un premier log permet d'initialiser une "authentication phase" avec un identifiant.

[YYYY-MM-DD HH:MM:SS] INFO   : [ MODULE-NAME ] [ AUTHENTICATION   ] [ UI Visualization ] Need to check a user authentication ( authentication phase id-eaa09e3a8b2d11eb937a080027cc5994 )

L'authentification phase id" est généré aléatoirement sans prendre en compte les données de l'utilisateur. Cet identifiant unique permet seulement de suivre une requête de connexion sans pouvoir identifier un utilisateur.

Si le même utilisateur se connecte une seconde fois ou sur un autre poste, l'identifiant généré est totalement différent.

Parcours des sous-modules pour authentifier les utilisateurs

La WebUI va ensuite parcourir tous ses sous-modules et demander à tous ceux qui ont la fonction "check_auth" d'authentifier les utilisateurs :

[YYYY-MM-DD HH:MM:SS] INFO   : [ MODULE-NAME ] [ AUTHENTICATION   ] [ UI Visualization ] Use module "auth-active-directory" to authenticate user ( authentication phase id-b6a7f0ae8bc511ebb37a080027cc5994 )

Authentification réussie

Si le sous-module a authentifié, l'utilisateur, la WebUI l'indique :

[YYYY-MM-DD HH:MM:SS] INFO   : [ MODULE-NAME ] [ AUTHENTICATION   ] [ UI Visualization ] The user has been authenticated by the module "auth-active-directory" ( authentication phase id-b6a7f0ae8bc511ebb37a080027cc5994 )

Authentification échouée

Si aucun des sous-modules n'a authentifié l'utilisateur, alors un log d'info va afficher qu'un utilisateur n'a pas pu se connecter :

[YYYY-MM-DD HH:MM:SS] INFO   : [ MODULE-NAME ] [ AUTHENTICATION   ] [ UI Visualization ] We tried to authenticate the user with all active module but it failed. AUTHENTICATION FAILED ( authentication phase id-b6a7f0ae8bc511ebb37a080027cc5994 )
  • No labels