MTES-MCT / asgard-postgresql

ASGARD. Système de gestion des droits pour PostgreSQL.
https://snum.scenari-community.org/Asgard/Documentation/co/SiteReference.html
Other
2 stars 3 forks source link

Utilitaire pour retrouver les informations perdues #15

Closed alhyss closed 6 days ago

alhyss commented 5 months ago

Pour diverses raisons, notamment une sauvegarde/restauration qui ne se passe pas comme prévu, un administrateur peut perdre le contenu de sa table de gestion.

En re-référençant les schémas, il retrouvera leur producteur. Il pourra aussi restaurer les champs de classification pour les schémas de la nomenclature nationale. Par contre, rien n'est proposé pour retrouver les éditeurs et lecteurs des schémas.

Principe : mettre à disposition une fonction capable de retrouver le lecteur et l'éditeur d'un schéma en examinant les permissions des rôles sur les objets du schéma, puis de les renseigner dans la table de gestion. La fonction devrait pouvoir considérer un ensemble de schémas.

alhyss commented 6 days ago

La version 1.4.1 propose deux fonctions z_asgard.asgard_cherche_lecteur(text, boolean, boolean, boolean) et z_asgard.asgard_cherche_editeur(text, boolean, boolean, boolean) capables de déduire les potentiels rôles lecteur et éditeur d'un schéma à partir de leurs droits. Il est ensuite possible d'utiliser ces noms pour (re-)désigner formellement les lecteurs et éditeurs des schémas.

La fonction z_asgard_admin.asgard_restaure_editeurs_lecteurs(text, boolean, boolean, boolean, boolean) s'appuie sur les deux précédentes pour proposer une restauration des champs lecteur et editeur de la table de gestion qui préserve la personnalisation des droits.

L'usage de ces fonctions est documenté dans le contexte d'une première activation d'Asgard sur une base et d'une perte accidentelle du contenu de la table de gestion.