Ce module apporte une traçabilité complète des changements apportés à la plateforme qui permet :
- D’améliorer la conformité règlementaire pour les contextes ou un système d’audit est obligatoire
- De retracer les personnes à l’origine d’une publication ou d’un changement
- De réaliser des diagnostiques et comprendre un état
Ce module installe un système d'audit permettant d'enregistrer tous les changements apportés à la plateforme et à ses contenus. Il permet de retracer les actions pour retrouver l'origine d'une modification ainsi que son auteur. Une option permet d'enregistrer avec les données avant et après modifications et à l’affichage un « diff » est réalisé pour mettre en lumière les changements apportés.
Les données sont enregistrées dans une table du serveur SQL et sont présentées par un portlet prévu à cet effet, avec de nombreux filtres de recherche.
En termes de performances, un petit impact est à prévoir en raison de l'enregistrement de données en base après chaque action. La charge rajoutée est proportionnelle au nombre de changements / publications effectuées par les utilisateurs. L'activation de l'audit de l'activité admin est également un facteur de charge car l'activité interne de la DWP est loggée également.
Ce module n'audite pas les accès aux données, seuls les changements sont enregistrés. Cela limite l'impact sur les performances qu'engendre le module : la seule charge système ajoutée est l'instruction "insert" qui sert à tracer les données dans la base.
Actions enregistrées :
- login
- delegation
- create
- update
- clone
- merge
- delete
- deep_delete
- purge
- corbeille
Ressources surveillées :
- Publications
- Membres
- Groupes
- Espaces de travail
- Demandes de création d'espace
- Catégories
- ACL
- Transitions de workflows
- Propriétés
Données enregistrées :
- Date et heure
- Membre à l'origine de l'action
- Elément affecté
- Espace de travail
- Adresse IP de l'utilisateur (directe et forwardée)
- Valeur avant changement
- Valeur après changement
Export
Un bouton permet d’exporter les données du tableau filtré sous forme de fichier CSV qui peut être ouvert avec Excel ou un logiciel compatible.
Traitement batch de purge automatique
En fonction de l'activité, la table en base de données peut se remplir rapidement. Un traitement batch de purge est intégré dans le module pour éviter une saturation. Paramétrez la rétention en connaissance de cause : plus l'historique est long et plus les utilisateurs sont actifs : plus la base de données se remplira.
Contrôle d’intégrité
Avec chaque ligne de la base de données, un hash est stocké : il permet de vérifier si la ligne a été altérée après enregistrement.
A l'affichage dans le portlet, le hash de chaque enregistrement est comparé avec un nouveau hash calculé pour voir si les données ont été modifiées. Si c'est le cas, une icône associée à une couleur rouge met cela en avant.
Il sera surement remarqué que quelqu'un ayant des droits d'admin et de DBA pourra modifier les données de l'audit pour le manipuler, rendant caduque toute la traçabilité. Cela doit être traité en utilisant les principes de séparation des responsabilités : le DBA ne doit pas être admin de la DWP et l'admin de la DWP ne doit pas être DBA.
Conformité RGPD
Ce module collecte l'identité du membre ainsi que ses adresses IP qui sont considérées comme des données personnelles : la mise en œuvre du module doit donc être documentée dans le cadre de la conformité RGPD.
Il est possible de désactiver l'enregistrement des adresses IP afin de limiter la quantité de données collectées et le mécanisme de purge permet d'en définir la rétention.
L’audit ne sert pas qu’à surveiller, c’est aussi une protection pour les personnes en charge de l’administration.
Ainsi, les clients aiment la possibilité de diagnostic offerte par ce module : il est possible de retrouver la cause d’un évènement et diagnostiquer son origine.
En parallèle, la traçabilité apporte également une protection aux administrateurs qui peuvent prouver qu’ils ne sont pas à l’origine d’actions qui pourraient leur être reprochées.