Nouveau : le pare-feu IA surveille chaque module et explique chaque incident en termes simples. Découvrez comment ça marche

Journal d’audit

Voyez qui a fait quoi dans votre organisation : les colonnes, les filtres, l'export CSV, la vérification de la chaîne de hachage, la rétention, l'anonymisation et qui peut faire quoi.

Le journal d’audit enregistre les actions sensibles de votre organisation : connexions et échecs de connexion, changements de membres et de rôles, changements d’identifiants et de clés, commandes à fort impact, actions sur le firmware, suppressions, changements de paramètres, et plus encore. Les lignes ne sont jamais modifiées par l’application. Utilisez le journal pour répondre à « qui a modifié ceci, et quand ? », pour appuyer une investigation et comme preuve lors d’un audit. La liste des actions enregistrées se trouve dans Ce qui est audité.

Ouvrir le journal

Ouvrez Audit Logs à l’adresse /admin/audit-logs de votre organisation. Il affiche « Journal inviolable des actions effectuées dans cette organisation ». Vous devez disposer du rôle Admin ou supérieur.

Les événements les plus récents apparaissent en premier. Sélectionnez une ligne pour ouvrir Audit Log Detail.

Contenu d’une ligne

Colonne ou champSignification
TimeMoment où l’événement s’est produit.
ActorAuteur de l’action : un membre, le système, une clé API ou un service. Le détail ajoute Actor type et Actor ID.
On behalf ofLorsqu’une personne a agi pour le compte d’une autre, la personne pour laquelle elle a agi. L’acteur reste le véritable auteur.
ActionCe qui a été fait, par exemple iot_device.credential.rotated ou auth.login_failed.
SeverityLow, Medium, High ou Critical.
ResourceResource type et Resource ID de l’élément modifié, par exemple iot_device et l’identifiant de l’appareil.
MetadataInformations supplémentaires, comme les noms des champs modifiés. Les secrets, mots de passe, jetons et clés ne sont jamais écrits.
IP et User agentD’où provenait la requête.
Integrity (hash chain)Prev hash et Row hash de la ligne (voir ci-dessous).

Les événements à risque élevé et critique déclenchent aussi le webhook audit.high_risk, afin de les transmettre à vos propres outils de sécurité. Voir Webhooks.

Rechercher des événements

Utilisez les filtres au-dessus du tableau :

FiltreUtilisation
ActorSearch by email…
ActionUne partie du nom de l’action, par exemple auth.login ou iot_rpc
SeverityUne seule gravité
Date rangeFrom et To

Clear filters les réinitialise. Via l’API, vous pouvez aussi filtrer par type de ressource et identifiant de ressource :

GET /tenant/{tenantId}/api/audit-logs?resourceType=iot_device&resourceId=<deviceId>&fromDate=2026-11-01&toDate=2026-11-08&page=1&pageSize=100

pageSize vaut au maximum 100 par défaut ; Max Page Size dans les paramètres du journal d’audit peut le porter jusqu’à 500.

Export

Export CSV télécharge le journal pour la plage de dates du filtre. Via l’API, vous pouvez choisir CSV ou NDJSON et limiter l’export à un seul acteur, par exemple pour répondre à la demande d’une personne souhaitant consulter ses données :

GET /tenant/{tenantId}/api/audit-logs/export?format=ndjson&actorId=<userId>&fromDate=2026-01-01&toDate=2026-11-08

Preuve d’inviolabilité

Chaque ligne est liée à la ligne précédente de votre organisation par une chaîne de hachage : le hash d’une ligne couvre son contenu et le hash de la ligne qui la précède. Toute modification ou suppression d’une ligne conservée rompt la chaîne. Pour vérifier la chaîne, appelez :

GET /tenant/{tenantId}/api/audit-logs/verify

La réponse est { "ok": true, "checked": <rows> } pour une chaîne intacte, ou "ok": false avec brokenAt désignant la première ligne incohérente. Après la suppression d’anciennes lignes par la rétention, la première ligne conservée renvoie à une ligne qui n’existe plus ; la vérification accepte ce point de départ.

Rétention

Ouvrez Audit Logs > paramètres (Audit Log Settings) :

ParamètreValeur par défautSignification
Retention Period (days)0Durée de conservation des lignes avant que la purge nocturne ne les supprime. 0 les conserve indéfiniment. Réglez-la selon vos besoins de conformité, par exemple 2,555 jours pour une conservation de sept ans.
Max Page Size100La plus grande page qu’un appelant de l’API peut demander, au maximum 500.

Le journal d’audit est enregistré sur toutes les offres. Si une offre n’inclut pas la lecture du journal, la liste et l’export sont refusés jusqu’à ce que l’offre l’inclue à nouveau ; rien n’est perdu entre-temps.

Confidentialité

Un propriétaire peut anonymiser une personne dans le journal : le lien entre les lignes et la personne est retiré, tandis que les actions elles-mêmes restent et que la chaîne reste vérifiable. Cela fait partie du traitement d’une demande d’effacement ; voir Confidentialité et effacement des données.

POST /tenant/{tenantId}/api/audit-logs/anonymize
Content-Type: application/json

{ "actorId": "<userId>" }

Permissions

ActionRôle par défaut
Lire le journalAdmin
ExporterAdmin
Vérifier la chaîneAdmin
Anonymiser une personneOwner
Purger maintenant les lignes expiréesOwner

Les événements d’un membre apparaissent aussi sur sa page membre, dans l’onglet Activity. Voir Utilisateurs et rôles.