Cas de rôles pré-existants

Si l’un des rôles susmentionnés existait préalablement à l’installation de l’extension (par exemple parce qu’ASGARD est déjà installé sur une autre base du serveur), ASGARD lui octroie les droits prévus pour le rôle sur les objets de l’extension, ainsi que (s’il n’en disposait pas déjà) le minimum de permissions génériques nécessaires au bon fonctionnement de l’extension :

  • pour g_admin : attribut CREATEROLE et privilège CREATE sur la base courante WITH ADMIN OPTION, permission sur g_admin_ext ;
  • pour consult.defaut : permission sur g_consult.
  • pour g_admin_ext et g_consult : néant.

Attention

Il est important pour le bon fonctionnement d'ASGARD – et absolument essentiel dans le cas de g_admin – que les rôles de groupe d'ASGARD (g_admin, g_admin_ext et g_consult) soient bien des rôles de groupe[1] et pas des rôles de connexion[2]. Si l'un de ces rôles pré-existait en tant que rôle de connexion, il sera nécessaire de lui retirer l'attribut LOGIN, de préférence avant d'installer l'extension ASGARD.

1
2
ALTER ROLE g_admin NOLOGIN ;
3
ALTER ROLE g_admin_ext NOLOGIN ;
4
ALTER ROLE g_consult NOLOGIN ;

Si l'installation est réalisée dans pgAdmin, l'administrateur verrait apparaître l'avertissement suivant à l'exécution de sa commande CREATE EXTENSION asgard ;

1
2
ATTENTION:  Pour le bon fonctionnement d'ASGARD, le rôle g_admin ne doit en aucun cas être un rôle de connexion.
3
HINT:  Pour lui retirer l'attribut LOGIN, vous pouvez exécuter la requête suivante : ALTER ROLE g_admin NOLOGIN ;