Journalisation d'audit

La journalisation d'audit fournit une interface de ligne de commande permettant de gérer la journalisation d'audit et d'afficher les journaux d'audit. Les journaux d'audit fournissent un historique des changements apportés aux objets présents dans le système. Ils sont stockés dans un index sous forme de texte en clair.

Si la journalisation d'audit est utilisée, pour les objets suivis, sa journalisation remplace la messagerie qui serait normalement visible dans les Messages > d'administration.

Important : La journalisation d'audit fonctionne seulement sur les opérations exécutées sur un système en cours d'exécution. Elle ne s'applique pas aux données importées dans le système. La fonctionnalité bfimport met à jour la base de données directement et n'interagit pas avec la fonction de journalisation d'audit.

Gestion de la règle d'audit

Une règle d'audit contrôle la quantité d'audits réalisés. Elle est déterminée par le paramètre du système de règle d'audit du paramètre de configuration système Règle d'audit.
AUCUN
Aucune information d'audit n'est enregistrée.
SECURITE
Seuls les audits liés à la sécurité sont enregistrés. Exemples : création de groupes d'accès et activité des sessions d'utilisateur.
DE BASE
Il s'agit du paramètre par défaut. Il est également utilisé s'il existe une valeur de règle d'audit non valide. Seules des informations minimales sont enregistrées, par exemple l'utilisateur, le type d'objet, l'uuid et l'action.
DETAILLE
Enregistre des informations détaillées à propos des propriétés modifiées, y compris l'ancienne valeur et la nouvelle valeur. Tous les objets ne peuvent pas fournir ces informations. Pour ceux qui ne peuvent pas le faire, il n'y a pas de différence entre la règle BREF et DETAILLE. Le paramètre de configuration de la longueur de chaîne maximum d'audit peut être utilisé pour limiter la quantité de données stockées.

Le paramètre de configuration système Longueur de chaîne maximale d'audit contrôle la quantité d'informations qui peuvent être enregistrées pour un changement DETAILLE en limitant la longueur des zones de données de chaîne. Si l'élément d'aufit dépasse ce nombre de caractères, un résumé de message de type SHA (algorithme de hachage sécurisé) est stocké à la place de la valeur de chaîne. Pour les zones contenant des informations sensibles, telles que des mots de passe, le résumé de message est utilisé, quelle que soit la longueur de la chaîne.

Affichage des informations d'audit

Une interface de ligne de commande permet de spécifier les informations à afficher et leur format.

L'autorisation Afficher tous les journaux d'audit est nécessaire. Elle est attribuée par défaut aux groupes d'accès Sécurité et Responsable de génération.

Usage: bfauditlog [connection-options][command-options][query]

Le texte exécutable littéral se présente comme suit :

Options de connexion

-H nomhôte | --hostname=nomhôte
Le nom d'hôte distant pour la connexion. La valeur par défaut est localhost.
-P port | --port=port
Le port de communication pour la connexion. La valeur par défaut est 3966.
-d domaine | --domain=domaine
Le domaine pour l'authentification. Par défaut : none.
-u identifiant | --user=identifiant
Le nom d'utilisateur à utiliser pour l'authentification. La valeur par défaut est root.
-p motdepasse | --password=motdepasse
Le mot de passe de l'utilisateur pour authentification. La valeur par défaut est root.
-E codage | --encoding=codage
Codage du jeu de caractères de sortie à utiliser. Si un codage non valide est spécifié, tous les codages disponibles sont répertoriés et le programme se ferme. Notez que la capacité à afficher du texte dans le codage requis dépend des fonctionnalités du logiciel terminal utilisé sur le client. La valeur par défaut dépend de votre système d'exploitation et de la prise en charge de la machine virtuelle Java.

Options de commande

-h
Afficher l'aide.
-b | --bare
Afficher moins d'informations dans la sortie (brute). L'effet exact dépend du format de sortie (voir -t). Par exemple, dans la sortie XML, les balises initiales et finales ainsi que le nombre de lignes sont omis. En format CSV, le nombre de lignes et les noms de colonne sont omis.
-c classeAudit[,classeAudit ...] | --audit.class=liste-classes
Spécifie une liste de classes d'audit à utiliser dans la requête. Séparez les noms de classe différents par des virgules. En cas de spécification multiple, l'union de toutes les classes d'audit spécifiées est utilisé. Si l'option n'est pas spécifiée, toutes les classes d'audit que l'utilisateur peut spécifier sont utilisées. Utilisez l'option -L pour répertorier les classes d'audit disponibles. Par défaut, il s'agit de toutes les classes d'audit que l'utilisateur est autorisé à visualiser.
-f zone[,zone ...] | --field=liste-zones
Indique les zones à inclure dans la sortie. Séparez les noms de zone différents par des virgules. Utilisez l'option -L pour répertorier les zones disponibles.
-s zone[+|-][,zone[+|-] ...] | --field=liste-zones
Répertorie les zones à utiliser pour trier la sortie. Par défaut, la sortie est triée par ordre décroissant de l'horodatage d'audit. Le marqueur + spécifie l'ordre croissant. Le marqueur - spécifie l'ordre décroissant. Séparez les noms de zone différents par des virgules. Par défaut : -audit.stamp.
-l [décalage,]nombre | --limit=[décalage,]nombre
Utilisé pour paginer les résultats. Le décalage et le nombre sont exprimés en nombre d'entrées. Par exemple, "-l 100,50" signifie afficher 50 entrées, après la 100ème entrée. Les formats de sortie non bruts comprennent le nombre total d'entrées correspondantes dans la sortie.
-a utilisateur[,utilisateur ...] | --audit.user=liste-utilisateurs
Limite la sortie aux entrées associées à l'utilisateur ou aux utilisateurs spécifiés. Spécifie plusieurs noms d'utilisateur avec des virgules. Si vous utilisez plusieurs options -a, la commande utilise l'union de tous les utilisateurs spécifiés dans les options. Les utilisateurs peuvent être spécifiés par ID ou UUID de connexion. Si -–audit-user est spécifié sans l'argument user, l'utilisateur utilisé pour l'authentification est utilisé.
-t format | --format=format
Le format à utiliser pour la sortie : CSV, XML, JSON ou TEXT. La valeur par défaut est TEXT.
-L | --list
Répertorie les classes d'audit disponibles pour l'utilisateur. Les classes d'audit signalées par un astérisque (*) sont accessibles à l'utilisateur. Si elle est utilisée avec -c (liste des classes d'audit), une liste de zones disponibles pour chaque classe apparaît à la place. Les autres options de commande n'ont aucun effet lorsque cette option est spécifiée. Les utilisateurs dotés du droit ViewAllAudits peuvent visualiser les journaux d'audit à partir de n'importe quelle classe. Les autres utilisateurs peuvent utiliser l'option -a pour visualiser uniquement leurs propres journaux d'audit.

Requête

La requête est une chaîne utilisant le format habituellement utilisé par les moteurs de recherche Internet : une liste de spécifications séparées par des virgules. Les spécifications se présentent sous le format 'zone:valeur' pour rechercher valeur dans la zone spécifiée. Si aucune requête n'est spécifiée, mais qu'au moins une option est définie, tous les journaux d'audit correspondants sont affichés. L'utilisateur d'audit et la classe d'audit ne peuvent pas être spécifiés dans la requête. Utilisez les options de commande pour les spécifier.

Remarque : Utilisez des guillemets doubles sur les systèmes Windows et des guillemets simples sur les systèmes UNIX et Linux.

Exemples

  1. Cet exemple répertorie toutes les zones de requête connues pour les classes d'audit Project et Step.
    • Windows
      $ bfauditlog.bat -c Project,Step -L
    • UNIX et Linux
      $ bfauditlog.sh -c Project,Step -L 
  2. Cet exemple affiche les 10 journaux d'audit les plus récents en matière de création de projets, à l'aide d'un format de sortie à variables séparées par des virgules et sans les en-têtes de colonnes ou le nombre total de lignes. Seuls l'identificateur unique et le nom du projet seront indiqués pour chaque enregistrement.
    • Windows
      $ bfauditlog.bat -c Project -t CSV -f audit.target,
        sxProjectName --bare -l 10 "audit.type:Create"
    • UNIX et Linux
      $ bfauditlog.sh -c Project -t CSV -f audit.target,
        sxProjectName --bare -l 10 'audit.type:Create' 
  3. Cet exemple récupère les 100 journaux d'audit les plus récents depuis l'installation sur la machine 'buildforge.example.com' après s'être connecté avec le domaine, le nom d'utilisateur et le mot de passe fournis.
    • Windows
      $ bfauditlog.bat -H buildforge.example.com 
        -d ExampleLDAP -u apiuser -p "My$ecret" -l 100
    • UNIX et Linux
      $ bfauditlog.sh -H buildforge.example.com 
        -d ExampleLDAP -u apiuser -p 'My$ecret' -l 100
  4. Cet exemple récupère les journaux d'audit enregistrés du 23 mai 2011 au 27 mai 2011, selon les paramètres de fuseau horaire de l'utilisateur qui a authentifié la connexion.
    • Windows
      $ bfauditlog.bat "audit.stamp:[2011/05/23 TO 2011/05/27]"
    • UNIX et Linux
      $ bfauditlog.sh 'audit.stamp:[2011/05/23 TO 2011/05/27]'
  5. Cet exemple récupère les journaux d'audit des projets dont les niveaux de groupes d'accès ont été transformés de 4, 5 ou 6 en 3. Notez que les crochets permettent d'indiquer une plage inclusive ; '[4 TO 6]' signifie donc que les valeurs 4 et 6 correspondent. Notez également que la nouvelle et les anciennes valeurs de niveaux sont uniquement disponibles pour la recherche si la règle d'audit est définie sur 'DETAILED'.
    • Windows
      $ bfauditlog.bat -c Project "ioLevel:[4 TO 6] AND inLevel:3"
    • UNIX et Linux
      $ bfauditlog.sh -c Project 'ioLevel:[4 TO 6] AND inLevel:3'
  6. Cet exemple récupère les journaux d'audit des projets dont les niveaux de groupes d'accès ont été transformés de 4 ou 5 en 2 ou 3. Notez que les parenthèses permettent d'indiquer une plage exclusive ; '{3 TO 6}' signifie donc que les valeurs 3 et 6 ne correspondent pas. Notez également que la nouvelle et les anciennes valeurs de niveaux sont uniquement disponibles pour la recherche si la règle d'audit est définie sur 'DETAILED'.
    • Windows
      $ bfauditlog.bat -c Project "ioLevel:{3 TO 6} AND inLevel:(2 OR 3)"
    • UNIX et Linux
      $ bfauditlog.sh -c Project 'ioLevel:{3 TO 6} AND inLevel:(2 OR 3)'
  7. Cet exemple contient la requête des résultats pour les utilisateurs d'audit root et sv et produit la sortie dans un fichier CSV. Il retourne des données pour les classes Projet et Etapes et inclut des informations relatives à la classe, au type, à la cible, à l'utilisateur et à l'horodatage :
    • Windows
      $ bfauditlog.bat -c Project,Step -f audit.class,
        audit.type,audit.target,audit.user,audit.stamp
      	  -a root,sv -l 10,5 -t CSV
    • UNIX et Linux
      $ bfauditlog.sh -c Project,Step -f audit.class,
        audit.type,audit.target,audit.user,audit.stamp
      	  -a root,sv -l 10,5 -t CSV

Classes

Les classes sont les intitulés des entrées du journal d'audit. Utilisez l'option -L pour répertorier les classes disponibles.

Zones

Les zones représentent les informations attribuées à chaque enregistrement de journal d'audit.

Certaines zones d'un enregistrement de journal d'audit reflètent leur état (o pour ancien, n pour nouveau, x pour étendu) et leur type de données (s pour chaîne, i pour entier). Exemple :

  soDescription: Old project description (string)
	snDescription: Description du nouveau projet (chaîne)
	soSelectorUuid:  UUID de l'ancien sélecteur (chaîne)
	snSelectorUuid:  UUID du nouveau sélecteur (chaîne)
	ioRunLimit:  Ancienne limite d'exécution (entier)
	inRunLimit:  Nouvelle limite d'exécution (entier)

Feedback