Pourquoi utiliser un groupe principal sur objet (on parle de PGP) ?

Le principe est le suivant :

Dans un objet vous avez, le droit du propriétaire et le droit du public
Les autres droits sont contenus dans les profils

Si vous sauvegardez un objet, par défaut ces 2 seuls droits sont restaurés
depuis la version 7.1 vous pouvez sauvegarder aussi les droits privés
en ajoutant le paramètre PVTAUT(*YES) dans vos commandes de SAV.

Pour des questions de performance vous pouvez ajouter un groupe principal et
lui attribuer un droit sur l’objet.
Dans ce cas le contrôle des droits ne nécessite pas d’accéder au profil.

Et il sera également sauvegardé, pour être cohérent, on doit mettre le groupe le plus utilisé

Voici les principales manipulations

Sur un Objet

CHGOBJPGP OBJ(PLBTSTSEC/TSTFIC) OBJTYPE(*FILE) NEWPGP(PLBgrp)

Sur l’IFS

CHGPGP OBJ(‘/gsec/test.txt’) NEWPGP(PLBGRP) DTAAUT(*RWX) OBJAUT(*ALL)

une seule commande pour la gestion pour Objets et IFS

WRKOBJPGP PGP(PLBGRP)

Groupe principal . . . . . : PLBGRP

Indiquez vos options, puis appuyez sur ENTREE.
2=Réviser les droits 4=Supprimer 5=Afficher les droits 7=Rebaptiser
8=Afficher la description 9=Changer de groupe principal

Unité
Opt Objet Bibliothèque Type Attribut ASP
/gsec/test.txt *STMF *SYSBAS
TSTFIC PLBTSTSEC *FILE PF *SYSBAS

SQL as a service

C’est la vue QSYS2.OBJECT_PRIVILEGES qui contient la zone PRIMARY_GROUP

Attention requête très longue les indexs n’existent pas ??
prévoir des informations complémentaires

SELECT *
FROM QSYS2.OBJECT_PRIVILEGES
WHERE PRIMARY_GROUP = ‘PLBGRP’
and AUTHORIZATION_NAME = ‘PLBGRP’

résultat de la requête

PLBTSTSEC TSTFIC PLBTSTSEC TSTFIC *FILE PLBGRP *ALL QSECOFR PLBGRP

Ne donne pas l’IFS

Remarques :

Votre profil PGP doit avoir un GUID (notion fortement Unix)

Le nouveau groupe principal PLBGRP n’a pas de numéro d’ID groupe.
L’opération a échoué pour le fichier TSTFIC de la bibliothèque PLBTSTSEC.
Fonction non exécutée pour le profil utilisateur PLBGRP.

CHGUSRPRF USRPRF(PLBGRP) GID(132)

Sur une restauration, si le groupe principal n’existe pas il indique un avertissement et il génère l’objet avec PGP = *NONE

Conclusion :

l’intérêt du PGP est qu’il est dans l’objet, donc plus rapide pour contrôler et qu’il est sauvegardé dans un SAVOBJ par défaut