Aller au contenu

Service SQL IBM i (AS/400) · Fonction table

SYSTOOLS.AUDIT_JOURNAL_AX

Journal d'audit : contrôle d'accès lignes et colonnes (AX)

Lit les entrées AX du journal d'audit : activation ou désactivation du contrôle d'accès par ligne ou par colonne (RCAC), masques et permissions.

À quoi ça sert

Cette fonction de table lit les entrées de type AX du journal d'audit, écrites pour le contrôle d'accès aux lignes et aux colonnes (RCAC). On y trouve les créations et modifications de permissions et de masques de colonne, ainsi que l'activation ou la désactivation du contrôle par ALTER TABLE.

Les colonnes ROW_ACCESS_CONTROL et COLUMN_ACCESS_CONTROL, avec leurs équivalents PREV_*, donnent l'état après et avant l'opération. SQL_STATEMENT_TEXT contient l'instruction SQL exécutée, et STATEMENT_TRUNCATED indique si elle a été tronquée.

C'est un contrôle important pour une conformité de type séparation des tâches : on vérifie que personne n'a désactivé une protection de données sensibles sans trace.

Résultat réel sur un IBM i 7.5

Ce que nous avons exécuté :

SELECT LIBRARY_NAME, FILE_NAME, ROW_ACCESS_CONTROL, COLUMN_ACCESS_CONTROL, 
           PREV_ROW_ACCESS_CONTROL, PREV_COLUMN_ACCESS_CONTROL FROM TABLE( 
  SYSTOOLS.AUDIT_JOURNAL_AX( 
    STARTING_TIMESTAMP => CURRENT DATE - 7 DAYS )) 
  WHERE ENTRY_TYPE = 'T'

Ce que l'IBM i a renvoyé le 01/10/2026 (2 lignes au plus) :

LIBRARY_NAME Nom de la bibliothèque FILE_NAME Nom du fichier ROW_ACCESS_CONTROL Contrôle d'accès aux lignes COLUMN_ACCESS_CONTROL Contrôle d'accès aux colonnes PREV_ROW_ACCESS_CONTROL Valeur précédente du contrôle d'accès aux lignes PREV_COLUMN_ACCESS_CONTROL Valeur précédente du contrôle d'accès aux colonnes
BIBAPP278 PETIT1 ACTIVATE DEACTIVATE DEACTIVATE DEACTIVATE
BIBAPP278 USER_TEST DEACTIVATE ACTIVATE DEACTIVATE DEACTIVATE

Données anonymisées : les noms de système, de profils, de bibliothèques, de postes et les adresses IP ont été remplacés. Les objets du schéma JOBISQL sont des objets de démonstration créés pour ce site.

L'exemple d'IBM

Lister les changements d'activation du contrôle d'accès par ligne ou par colonne durant la dernière semaine, faits par un ALTER TABLE avec l'option ACTIVATE ou DEACTIVATE.

-- Description: List any changes to active row or column access control for the 
  --    last week. These are operations performed by an ALTER TABLE statement with 
  --    an ACTIVATE or DEACTIVATE option. 
 SELECT LIBRARY_NAME, FILE_NAME, ROW_ACCESS_CONTROL, COLUMN_ACCESS_CONTROL, 
           PREV_ROW_ACCESS_CONTROL, PREV_COLUMN_ACCESS_CONTROL FROM TABLE( 
  SYSTOOLS.AUDIT_JOURNAL_AX( 
    STARTING_TIMESTAMP => CURRENT DATE - 7 DAYS )) 
  WHERE ENTRY_TYPE = 'T';

Bon à savoir

La colonne SQL_STATEMENT_TEXT garde l'instruction d'origine : utile pour rejouer ou contester un changement.

Paramètres

ParamètreTypePar défautSignification
STARTING_RECEIVER_NAME VARCHAR(10) '*CURAVLCHN' Nom du récepteur de journal de départ
ENDING_RECEIVER_NAME VARCHAR(10) '*CURRENT' Nom du récepteur de journal de fin
STARTING_TIMESTAMP TIMESTAMP NULL Horodatage de début
ENDING_TIMESTAMP TIMESTAMP NULL Horodatage de fin
USER_NAME VARCHAR(10) '*ALL' Nom du profil utilisateur
JOB VARCHAR(28) '*ALL' Nom qualifié du travail
PROGRAM VARCHAR(10) '*ALL' Programme
STARTING_SEQUENCE DECIMAL(21, 0) NULL Numéro de séquence de départ
ENDING_SEQUENCE DECIMAL(21, 0) NULL Numéro de séquence de fin
STARTING_RECEIVER_LIBRARY VARCHAR(10) '*CURRENT' Bibliothèque du récepteur de journal de départ
ENDING_RECEIVER_LIBRARY VARCHAR(10) '*CURRENT' Bibliothèque du récepteur de journal de fin

Colonnes renvoyées (39)

Afficher les 39 colonnes
ColonneTypeSignification
ENTRY_TIMESTAMP TIMESTAMP Horodatage de l'entrée
SEQUENCE_NUMBER DECIMAL(21, 0) Numéro de séquence
USER_NAME VARCHAR(10) Nom du profil utilisateur
QUALIFIED_JOB_NAME VARCHAR(28) Nom qualifié du travail
JOB_NAME VARCHAR(10) Nom du travail
JOB_USER VARCHAR(10) Profil utilisateur du travail
JOB_NUMBER VARCHAR(6) Numéro du travail
THREAD BIGINT Unité d'exécution (thread)
PROGRAM_LIBRARY VARCHAR(10) Bibliothèque du programme
PROGRAM_NAME VARCHAR(10) Nom du programme
PROGRAM_LIBRARY_ASP_DEVICE VARCHAR(10) Unité ASP de la bibliothèque du programme
PROGRAM_LIBRARY_ASP_NUMBER INTEGER Numéro de l'ASP de la bibliothèque du programme
REMOTE_PORT INTEGER Port distant
REMOTE_ADDRESS VARCHAR(46) Adresse distante
SYSTEM_NAME VARCHAR(8) Nom du système
SYSTEM_SEQUENCE_NUMBER DECIMAL(21, 0) Numéro de séquence système
RECEIVER_LIBRARY VARCHAR(10) Bibliothèque du récepteur de journal
RECEIVER_NAME VARCHAR(10) Nom du récepteur de journal
RECEIVER_ASP_DEVICE VARCHAR(10) Unité ASP du récepteur de journal
RECEIVER_ASP_NUMBER INTEGER Numéro d'ASP du récepteur de journal
ARM_NUMBER INTEGER Numéro ARM
ENTRY_TYPE CHAR(1) Type de l'entrée
ENTRY_TYPE_DETAIL VARCHAR(200) Détail du type de l'entrée
OPERATION_TYPE VARCHAR(8) Type de l'opération
LIBRARY_NAME VARCHAR(10) Nom de la bibliothèque
FILE_NAME VARCHAR(10) Nom du fichier
MASK_NAME VARCHAR(128) Nom du masque
COLUMN_NAME VARCHAR(10) Nom de la colonne
PERMISSION_NAME VARCHAR(128) Nom de la permission
ENABLED VARCHAR(3) Activé
ROW_ACCESS_CONTROL VARCHAR(10) Contrôle d'accès aux lignes
COLUMN_ACCESS_CONTROL VARCHAR(10) Contrôle d'accès aux colonnes
PREV_ENABLED VARCHAR(3) Valeur précédente de l'activation
PREV_ROW_ACCESS_CONTROL VARCHAR(10) Valeur précédente du contrôle d'accès aux lignes
PREV_COLUMN_ACCESS_CONTROL VARCHAR(10) Valeur précédente du contrôle d'accès aux colonnes
SQL_STATEMENT_TEXT GRAPHIC VARYING Texte de l'instruction SQL
STATEMENT_TRUNCATED VARCHAR(3) Instruction tronquée
ASP_NAME VARCHAR(10) Nom de l'ASP
ASP_NUMBER INTEGER Numéro de l'ASP