Vérifier les exports d'audit avec keenauth audit verify
keenauth audit verify vérifie un export d'audit de gestion sur votre propre machine. Il ne contacte pas KeenAuth et n'a besoin ni de clé d'API ni de session keenauth login. Vous n'avez donc pas à faire confiance à la plateforme pour faire confiance à l'export.
Ce que cela prouve
La commande prend le bundle d'export que vous avez téléchargé (un fichier tar contenant records.ndjson.gz, manifest.json et manifest.jws) ainsi que le audit-jwks.json régional. Elle effectue ensuite les opérations suivantes :
- vérifie la signature de
manifest.jwsavec la clé de point de contrôle d'audit, et vérifie quemanifest.jsonen est la charge utile ; - vérifie la taille et le SHA-256 de
records.ndjson.gzpar rapport au manifeste ; - recalcule le hachage de chaque enregistrement, et vérifie que les numéros de séquence sont consécutifs et que chaque enregistrement pointe vers le hachage du précédent ;
- reconstruit la feuille de chaque heure et suit sa preuve d'inclusion (RFC 9162) jusqu'à la racine du point de contrôle horaire signé.
Elle prouve donc que les enregistrements du bundle n'ont pas été modifiés, supprimés ni réordonnés. Elle ne prouve pas que vos filtres ont été appliqués correctement. La feuille contient l'identifiant de l'environnement : une preuve pour un autre environnement ne vaut donc pas pour vos enregistrements.
Utilisation
keenauth audit verify --bundle audit-export.tar --jwks audit-jwks.json --environment-id 0192b6f0-7c1e-7a55-8f3d-2a6f0e9d4b11
| Option | Description |
|---|---|
--bundle |
Chemin du bundle d'export téléchargé (obligatoire). |
--jwks |
Chemin du audit-jwks.json régional (obligatoire). |
--environment-id |
Identifiant d'environnement (UUID) auquel le bundle doit appartenir. Recommandé : sans lui, la commande affiche un avertissement et ne vérifie pas l'environnement. |
--output, -o |
table, json ou yaml. Sans cette option, la CLI affiche un tableau dans un terminal et du JSON sinon. |
En cas de réussite, la commande affiche un résumé (verified, export_id, environment_id, cell, stream, from, to, record_count, line_count, windows, key_id, include_ip) et se termine avec le code 0. record_count compte les enregistrements qui correspondent à votre filtre ; line_count compte aussi les lignes de substitution pour les enregistrements hors filtre.
Si une vérification échoue, la commande n'affiche rien sur la sortie standard, écrit audit verification failed (<kind>) sur la sortie d'erreur et se termine avec le code 1. Le type d'erreur est signature, manifest, chain, proof ou format. Un fichier illisible ou une option manquante entraîne la sortie avec le code 2.
Consultez l'API d'export d'audit pour savoir comment créer et télécharger un export.