Un journal d'audit pour un agent de code partagé est un registre en ajout seul (append-only), avec une ligne par requête et une ligne par approbation, détenu par le propriétaire de la machine et exportable par lui. Il répond, a posteriori, à ces questions : qui a demandé quoi à l'agent, qui l'a autorisé, ce qui a réellement tourné et ce que cela a coûté. Si l'agent n'est utilisé que par son propriétaire, la transcription propre au runtime suffit. Dès qu'une deuxième personne peut envoyer des requêtes, ce n'est plus le cas.
Cet article détaille ces champs, dans l'ordre où le lecteur en a besoin, puis ce qui ne doit jamais y figurer.
La ligne de requête
Chaque requête produit exactement une ligne lorsqu'elle atteint un état terminal.
La ligne d'approbation
Les approbations ont leur propre ligne car ce sont des décisions, et les décisions n'intéressent pas le même public que les exécutions.
Lignes de requête et d'approbation, avec un push approuvé en orange et une suppression expirée en rouge.
Ce qui ne doit pas figurer dans le journal
- Secrets. Une approbation d'identifiants enregistre qu'une clé a été consultée, pas la clé elle-même.
- Contenu des fichiers. Les diffs sont des chemins et des décomptes de lignes. La modification se trouve dans le dépôt, là où le contrôle d'accès propre au dépôt s'applique.
- Sortie complète des commandes. Les dernières lignes suffisent à expliquer un échec. Des journaux entiers peuvent contenir n'importe quoi.
- Autres salles. Le journal de chaque salle est restreint à cette salle. Le propriétaire a une vue d'ensemble sur toutes les salles ; les membres ne voient que la leur.
Des propriétés, pas seulement des champs
Ajout seul (append-only). Personne ne modifie le journal, y compris le propriétaire. Les corrections sont de nouvelles lignes.
Détenu par le propriétaire. La personne dont la machine a exécuté le travail détient le registre et peut l'exporter. Les demandeurs voient leurs propres lignes dans la salle.
Intègre en cas de révocation. Révoquer un accès ou une machine annule le travail en file d'attente et laisse le travail en cours se terminer, de sorte que le journal ne comporte jamais de vide où « quelque chose a tourné mais nous avons cessé de surveiller ».
Actions du propriétaire incluses. Le propriétaire n'est pas soumis aux approbations sur son propre agent, mais ses requêtes sont journalisées de la même façon. Un journal qui n'enregistre que les personnes extérieures ne couvre que la moitié du risque.
Lire le journal
Trois questions reviennent le plus souvent, et les champs ci-dessus répondent à chacune d'elles avec un seul filtre.
- « Qui a pushé ça ? » Filtrez les lignes d'approbation par rule = push, lisez qui a demandé et qui a décidé.
- « Pourquoi cette requête a-t-elle pris une heure ? » Comparez la date de création et celle de démarrage ; l'attente d'approbation en est généralement la cause.
- « Combien m'a coûté le prêt de mon agent ce mois-ci ? » Faites la somme de l'utilisation sur les lignes de requête où qui a demandé n'est pas le propriétaire.
Foire aux questions
La timeline de la salle constitue-t-elle le journal d'audit ? La timeline est l'historique détaillé et lisible d'une seule exécution. Le journal d'audit est le récapitulatif ligne par ligne de tous les événements à travers les exécutions, conçu pour le filtrage et l'export. muti conserve les deux ; le journal est dérivé des mêmes événements que le daemon téléverse. Voir ce que le daemon téléverse.
Combien de temps est-il conservé ? Les lignes de requête et d'approbation sont conservées pendant toute la durée de vie de la salle. La suppression d'une salle correspond à une suppression réversible (soft-delete) ; le registre reste accessible pour le propriétaire.
Un demandeur peut-il voir les lignes des autres personnes ? Il voit la timeline de la salle, qui comprend les requêtes de chacun dans cette salle. L'export est réservé au propriétaire.
Les requêtes du propriétaire ont-elles besoin d'une approbation pour être journalisées ? Non. Les exécutions du propriétaire sont journalisées sans approbation, avec rule = owner.
Le journal est ce qui fait de « vous pourrez le révoquer plus tard » une vraie promesse. Donnez une salle à votre agent et il en intégrera un d'office.
Publié le