Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Scroll Ignore
scroll-pdftrue
scroll-officetrue
scroll-chmtrue
scroll-docbooktrue
scroll-eclipsehelptrue
scroll-epubtrue
scroll-htmltrue


Panel
titleSommaire

Page Tree
root@self



Principes des logs d'authentification

Les demandes d'authentification sur le Synchronizer peuvent venir de plusieurs points d'entrées :


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

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

Info

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 ERREURS peuvent afficher des informations sur les utilisateurs car ces logs sont utiliser à des fins de diagnostique de l'application


Le Synchonizer initie donc les logs et demande a chacun de ses modules d'authentifier l'utilisateur. Les logs concernant chacun des modules se trouve dans leur page.

Descriptions des logs

Tout les logs d’authentification seront regrouper regroup sous le chapitre [ AUTHENTICATION ] 

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

  • [ UI Configuration ] : Une connexion sur l'interface de Configuration : 
  • [ API_TRUSTED_SOURCES ] : Un appel sur l'API trusted sources 
  • [ API_ITEM ]Un appel sur l'API item

Exemple 

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ DAEMON-NAME ] [ AUTHENTICATION   ] [ API_ITEM ] ...


Initialisation de la demande d'authentification

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

Info

"L'"authentication 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é sera totalement différent.


Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ DAEMON-NAME ] [ AUTHENTICATION   ] [ UI Configuration ] Need to check a user authentication ( authentication phase id-eaa09e3a8b2d11eb937a080027cc5994 )

un log de DEBUG nous permet de connaître le nom d'utilisateur renseigné et depuis quelle source il se connecte

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] DEBUG  : [ DAEMON-NAME ] [ AUTHENTICATION   ] [ UI Configuration ] A user try to connect from address "192.168.1.82" with username "user.example" ( authentication phase id-b6a7f0ae8bc511ebb37a080027cc5994 )


Parcours des modules pour authentifier les utilisateurs

Le Synchronizer va ensuite parcourir demander a tous ses modules et demander à tous ceux qui ont la fonction "check_auth" d'authentifier les utilisateursles modules d'authentification d'identifier l'utilisateur. Si le module ne possède pas de méthode "check_auth", rien n'est logué :

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

Si le module n'a pas put authentifier l'utilisateur ( quelque soit la raison ), Le Synchronizer l'indique et recherche un autre module qui puisse authentifier l'utilisateur

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ DAEMON-NAME ] [ AUTHENTICATION   ] [ UI Configuration ] Module "auth-active-directory" didn't authenticate user ( authentication phase id-b6a7f0ae8bc511ebb37a080027cc5994 )


Authentification réussie

Si le module a authentifier l'utilisateur, le Synchronizer l'indique


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

Un log de DEBUG vient compléter le nom de l'utilisateur qui a réussit à se connecter

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] DEBUG  : [ DAEMON-NAME ] [ AUTHENTICATION   ] [ UI Configuration ] User "user.example" is authenticated ( authentication phase id-b6a7f0ae8bc511ebb37a080027cc5994 )

La phase d'authentification est terminée.


Authentification échouée

Si  aucun des modules n'a authentifier l'utilisateur alors un log d'info va afficher qu'un utilisateur n'a pas put se connecter

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] INFO   : [ DAEMON-NAME ] [ AUTHENTICATION   ] [ UI Configuration ] We tried to authenticate the user with all active module but it failed. AUTHENTICATION FAILED ( authentication phase id-b6a7f0ae8bc511ebb37a080027cc5994 )

Un log de DEBUG va compléter cette information en identifiant l'utilisateur

Code Block
themeEmacs
[YYYY-MM-DD HH:MM:SS] DEBUG  : [ DAEMON-NAME ] [ AUTHENTICATION   ] [ UI Configuration ] User "user.example" can't be authenticate by modules ( authentication phase id-b6a7f0ae8bc511ebb37a080027cc5994 )
La phase d'authentification est terminée.