Service SQL IBM i (AS/400) · Fonction table
SYSTOOLS.AUDIT_JOURNAL_CA
Journal d'audit : changements de droits (CA)
Lit les entrées CA du journal d'audit : modifications des droits sur les objets, avec les droits avant et après, pour les profils et les listes d'autorisation.
À quoi ça sert
Cette fonction de table lit les entrées de type CA du journal d'audit, écrites quand on modifie les droits d'un objet ou d'une liste d'autorisation, par exemple avec GRTOBJAUT, RVKOBJAUT, EDTOBJAUT ou CHGAUT. USER_PROFILE_NAME désigne le profil dont les droits changent.
Les colonnes de droits sont présentées deux fois : l'état après (OBJECT_OPERATIONAL, OBJECT_MANAGEMENT, DATA_READ, DATA_UPDATE…) et l'état d'avant (PREV_*). Comparer les deux montre exactement ce qui a été accordé ou retiré. Les listes d'autorisation sont suivies de la même manière.
C'est l'outil de base pour répondre à la question : qui a donné ce droit, et quand ?
Résultat réel sur un IBM i 7.5
Ce que nous avons exécuté :
SELECT USER_PROFILE_NAME FROM TABLE(
SYSTOOLS.AUDIT_JOURNAL_CA(
STARTING_TIMESTAMP => CURRENT TIMESTAMP - 7 DAYS ))
Ce que l'IBM i a renvoyé le 01/10/2026 (5 lignes au plus) :
| USER_PROFILE_NAME Nom du profil utilisateur |
|---|
| *PUBLIC |
| UTIL232 |
| *PGP |
| *PUBLIC |
| *PUBLIC |
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 profils utilisateurs dont les droits ont été modifiés durant la dernière semaine.
-- Description: List the user profiles that have been changed in the last week.
SELECT USER_PROFILE_NAME FROM TABLE(
SYSTOOLS.AUDIT_JOURNAL_CA(
STARTING_TIMESTAMP => CURRENT TIMESTAMP - 7 DAYS ));
Bon à savoir
Pour savoir ce qu'un utilisateur peut faire aujourd'hui, utilisez plutôt QSYS2.OBJECT_PRIVILEGES ; cette fonction raconte l'historique des changements.
Paramètres
| Paramètre | Type | Par défaut | Signification |
|---|---|---|---|
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 (71)
Afficher les 71 colonnes
| Colonne | Type | Signification |
|---|---|---|
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 |
OBJECT_LIBRARY |
VARCHAR(10) | Bibliothèque de l'objet |
OBJECT_NAME |
VARCHAR(10) | Nom de l'objet |
OBJECT_TYPE |
VARCHAR(7) | Type de l'objet |
OBJECT_ATTRIBUTE |
VARCHAR(10) | Attribut de l'objet |
OBJECT_ASP_NAME |
VARCHAR(10) | Nom de l'ASP de l'objet |
OBJECT_ASP_NUMBER |
INTEGER | Numéro de l'ASP de l'objet |
FIELD_NAME |
VARCHAR(10) | Nom de la zone |
COMMAND_TYPE |
VARCHAR(9) | Type de commande |
USER_PROFILE_NAME |
VARCHAR(10) | Nom du profil utilisateur |
AUTHORIZATION_LIST_MANAGEMENT |
VARCHAR(3) | Gestion de la liste d'autorisation |
OBJECT_EXCLUDE |
VARCHAR(3) | Droit d'exclusion sur l'objet |
OBJECT_OPERATIONAL |
VARCHAR(3) | Droit d'exploitation de l'objet (*OBJOPR) |
OBJECT_MANAGEMENT |
VARCHAR(3) | Droit de gestion de l'objet (*OBJMGT) |
OBJECT_EXISTENCE |
VARCHAR(3) | Droit d'existence sur l'objet (*OBJEXIST) |
OBJECT_ALTER |
VARCHAR(3) | Droit de modification de l'objet (*OBJALTER) |
OBJECT_REFERENCE |
VARCHAR(3) | Droit de référence sur l'objet (*OBJREF) |
DATA_READ |
VARCHAR(3) | Droit de lecture des données |
DATA_ADD |
VARCHAR(3) | Droit d'ajout de données |
DATA_UPDATE |
VARCHAR(3) | Droit de mise à jour des données |
DATA_DELETE |
VARCHAR(3) | Droit de suppression de données |
DATA_EXECUTE |
VARCHAR(3) | Droit d'exécution sur les données |
PREV_AUTHORIZATION_LIST_MANAGEMENT |
VARCHAR(3) | Droit de gestion de la liste d'autorisation précédent |
PREV_OBJECT_EXCLUDE |
VARCHAR(3) | Droit d'exclusion sur l'objet précédent |
PREV_OBJECT_OPERATIONAL |
VARCHAR(3) | Droit d'exploitation de l'objet précédent |
PREV_OBJECT_MANAGEMENT |
VARCHAR(3) | Droit de gestion de l'objet précédent |
PREV_OBJECT_EXISTENCE |
VARCHAR(3) | Droit d'existence sur l'objet précédent |
PREV_OBJECT_ALTER |
VARCHAR(3) | Droit de modification de l'objet précédent |
PREV_OBJECT_REFERENCE |
VARCHAR(3) | Droit de référence sur l'objet précédent |
PREV_DATA_READ |
VARCHAR(3) | Droit de lecture des données précédent |
PREV_DATA_ADD |
VARCHAR(3) | Droit d'ajout de données précédent |
PREV_DATA_UPDATE |
VARCHAR(3) | Droit de mise à jour des données précédent |
PREV_DATA_DELETE |
VARCHAR(3) | Droit de suppression de données précédent |
PREV_DATA_EXECUTE |
VARCHAR(3) | Droit d'exécution précédent |
AUTHORIZATION_LIST |
VARCHAR(10) | Liste d'autorisation |
AUTHORIZATION_LIST_PUBLIC |
VARCHAR(3) | Droit public de la liste d'autorisation |
PREV_AUTHORIZATION_LIST |
VARCHAR(10) | Liste d'autorisation précédente |
PREV_AUTHORIZATION_LIST_PUBLIC |
VARCHAR(3) | Droit public de la liste d'autorisation précédent |
PERSONAL_STATUS_CHANGED |
VARCHAR(3) | Statut personnel modifié |
ACCESS_CODE_CHANGED |
VARCHAR(6) | Code d'accès modifié |
ACCESS_CODE |
VARCHAR(4) | Code d'accès |
PATH_NAME |
GRAPHIC VARYING | Chemin |
PATH_NAME_INDICATOR |
VARCHAR(3) | Indicateur du chemin |
RELATIVE_DIRECTORY_FILE_ID |
BINARY(16) | Identifiant de fichier du répertoire relatif |
IFS_OBJECT_NAME |
GRAPHIC VARYING | Nom de l'objet IFS |
OBJECT_FILE_ID |
BINARY(16) | Identifiant de fichier de l'objet |
PARENT_FILE_ID |
BINARY(16) | Identifiant du fichier parent |
OFFICE_USER |
VARCHAR(10) | Utilisateur Bureautique |
OFFICE_ON_BEHALF_OF_USER |
VARCHAR(10) | Utilisateur Bureautique représenté |
DLO_NAME |
VARCHAR(12) | Nom de l'objet bibliothèque de documents (DLO) |
FOLDER_PATH |
VARCHAR(63) | Chemin du dossier |