| Scroll Ignore | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||
|
Principes des logs d'authentification
Les demandes d'authentification sur le Synchronizer peuvent venir de plusieurs points d'entrées :
- Une connexion sur l'interface de Configuration
- Un appel sur l'API trusted sources ( voir Automatisation ( de la source vers la production ) )
- Un appel sur l'API item ( voir Supprimer des éléments )
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,
|
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 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 | ||
|---|---|---|
| ||
[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 | ||
|---|---|---|
| ||
[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 | ||
|---|---|---|
| ||
[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 tous ses modules et demander à tous ceux qui ont la fonction "check_auth" d'authentifier les utilisateurs. Si le module ne possède pas de méthode "check_auth", rien n'est logué :
| Code Block | ||
|---|---|---|
| ||
[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 | ||
|---|---|---|
| ||
[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 | ||
|---|---|---|
| ||
[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 | ||
|---|---|---|
| ||
[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 | ||
|---|---|---|
| ||
[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 | ||
|---|---|---|
| ||
[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.