You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
La documentation indique que les "schémas système" - en pratique les schémas pg_catalog, pg_temp(...), pg_toast(...), public, information_schema et topology - ne peuvent pas être référencés par Asgard. C'est un principe important pour Asgard, car il assure que son système de gestion des droits n'interfèrera pas avec les mécanismes mis en place automatiquement par PostgreSQL et la plupart des extensions (sauf celles qui créent des schémas spécifiques non inclus dans la liste).
NOTICE: [table de gestion] Le nom du schéma public ne respecte pas la nomenclature.
NOTICE: (schéma public pré-existant)
NOTICE: attribution de la propriété du schéma et des objets au rôle producteur du schéma public :
NOTICE: > ALTER SCHEMA public OWNER TO g_admin
INSERT 0 1
Il serait souhaitable d'interdire strictement cette opération :
En ajoutant une contrainte sur z_asgard_admin.gestion_schema.
En faisant en sorte que z_asgard_admin.asgard_on_modify_gestion_schema_before() émette une erreur lorsque cette contrainte n'est pas respectée, comme elle le fait déjà pour les autres contraintes.
The text was updated successfully, but these errors were encountered:
Pour mémoire, le problème a été identifié parce qu'un service utilisateur qui se trouvait avoir référencé le schéma public de sa base dans la table de gestion d'Asgard a pour cette raison constaté des erreurs (heureusement bénignes) à la restauration de sa base, et AsgardManager ne fonctionnait plus non plus sur cette base.
Script de déploiement d'Asgard v1.4.1 et mise à jour depuis la v1.4.0 :
- amendement de asgard_on_modify_gestion_schema_before pour
éviter l'échec de la restauration de la table de gestion lorsque des
extensions qui créent des schémas sont actives sur la base.
- changement du mot de passe initial de consult.defaut.
- ajout d'une contrainte sur gestion_schema et d'un contrôle dans
asgard_on_modify_gestion_schema_before pour assurer que les
schémas système ne puissent pas être référencés.
- ajout des fonctions utilitaires asgard_nettoyage_oids,
asgard_cherche_lecteur, asgard_cherche_editeur et
asgard_restaure_editeurs_lecteurs.
Mise à jour du README et des métadonnées du paquet Debian.
Refs: #13#14#15#17
La contrainte sur gestion_schema et le contrôle dans z_asgard_admin.asgard_on_modify_gestion_schema_before() ont tous deux été implémentés dans la v1.4.1.
La documentation indique que les "schémas système" - en pratique les schémas
pg_catalog
,pg_temp(...)
,pg_toast(...)
,public
,information_schema
ettopology
- ne peuvent pas être référencés par Asgard. C'est un principe important pour Asgard, car il assure que son système de gestion des droits n'interfèrera pas avec les mécanismes mis en place automatiquement par PostgreSQL et la plupart des extensions (sauf celles qui créent des schémas spécifiques non inclus dans la liste).En pratique, cela se manifeste par le fait que :
z_asgard_admin.asgard_initialisation_gestion_schema
ne considère pas ces schémas lorsqu'elle boucle sur tous les schémas de la base pour les référencer.z_asgard.asgard_initialise_schema
émet une erreur si l'utilisateur tente de l'appliquer sur un de ces schémas.z_asgard.asgard_initialise_obj
etz_asgard.asgard_deplace_obj
émettent une erreur lorsqu'on les applique à un objet appartenant à l'un de ces schémas.Autrement dit, toutes les fonctions utilitaires s'assurent de ne pas référencer ou interférer avec les schémas système.
Par contre, il reste aujourd'hui possible de forcer manuellement le référencement d'un de ces schémas :
Messages renvoyés :
Il serait souhaitable d'interdire strictement cette opération :
z_asgard_admin.gestion_schema
.z_asgard_admin.asgard_on_modify_gestion_schema_before()
émette une erreur lorsque cette contrainte n'est pas respectée, comme elle le fait déjà pour les autres contraintes.The text was updated successfully, but these errors were encountered: