Modification des privilèges d’exécution par défaut
Depuis Firebird 4.0, il est maintenant possible de spécifier les objets de métadonnées avec quels privilèges ils seront exécutés : appelant ou utilisateur définissant.Ceci est fait en utilisant l’option SQL SECURITY
, qui peut être spécifiée pour une table, un trigger, une procédure, une fonction ou un package.Si l’option INVOKER
est sélectionnée, l’objet de métadonnées sera exécuté avec les privilèges de l’utilisateur appelant.Si l’option DEFINER
est sélectionnée, l’objet de métadonnées sera exécuté avec les privilèges de l’utilisateur qui le définit (propriétaire). Si la clause SQL SECURITY
n’est pas spécifiée lors de la création d’un module ou d’une table PSQL, l’option INVOKER est utilisée par défaut.
La clause SET DEFAULT SQL SECURITY
modifie les privilèges d’exécution avec lesquels les modules PSQL (procédures stockées, fonctions et packages) sont exécutés par défaut.
Après avoir exécuté cette déclaration, les modules PSQL seront exécutés par défaut avec l’option `SQL SECURITY DEFINER'.
ALTER DATABASE SET DEFAULT SQL SECURITY DEFINER;