Aller au contenu

Recette SQL IBM i (AS/400) · Sécurité

Les profils qui ont le droit spécial *ALLOBJ

Les profils utilisateurs qui ont le droit spécial *ALLOBJ, accès à tout le système : la liste à garder la plus courte possible.

Le besoin

*ALLOBJ donne accès à tous les objets, quels que soient leurs droits. Un profil de programmeur ou d'utilisateur qui l'a hérité par erreur est un risque majeur.

La requête

SELECT AUTHORIZATION_NAME, STATUS, USER_CLASS_NAME, SPECIAL_AUTHORITIES, GROUP_PROFILE_NAME
FROM QSYS2.USER_INFO
WHERE SPECIAL_AUTHORITIES LIKE '%*ALLOBJ%'
  AND AUTHORIZATION_NAME NOT LIKE 'Q%'
ORDER BY STATUS, AUTHORIZATION_NAME
FETCH FIRST 10 ROWS ONLY

SPECIAL_AUTHORITIES liste les droits spéciaux du profil dans une chaîne ; le LIKE '%*ALLOBJ%' les trouve. Attention : un droit spécial peut aussi venir du profil de groupe, d'où la colonne GROUP_PROFILE_NAME.

Le résultat sur un IBM i 7.5

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

AUTHORIZATION_NAME Profil utilisateur STATUS Statut USER_CLASS_NAME Classe d'utilisateur SPECIAL_AUTHORITIES Droits spéciaux GROUP_PROFILE_NAME Nom du profil de groupe
GAUTHIER *DISABLED *SECOFR *ALLOBJ *SECADM *JOBCTL *SPLCTL *SAVSYS *IOSYSCFG *NONE
DUMAS *DISABLED *PGMR *ALLOBJ *NONE
LACROIX *DISABLED *USER *ALLOBJ *NONE
UTIL115 *DISABLED *PGMR *ALLOBJ *JOBCTL *SAVSYS *IOSYSCFG *NONE
UTIL119 *DISABLED *USER *ALLOBJ *NONE

Les profils que nous trouvons sont désactivés : c'est la bonne pratique quand un compte à privilèges n'est plus utilisé.

Données anonymisées : les noms de système, de profils, de bibliothèques, de postes et les adresses IP ont été remplacés.

L'adapter à votre système

Remplacez *ALLOBJ par *SECADM, *AUDIT ou *SERVICE pour les autres droits sensibles. QSYS2.SQL_CHECK_SPECIAL_AUTHORITY vérifie un droit, groupe compris.