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.

Example 1. Modification des privilèges d'exécution 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;