Изменение привилегий выполнения по умолчанию
Начиная с Firebird 4.0 появилась возможность указывать объектам метаданных с какими привилегиями они будут выполняться: вызывающего или определяющего пользователя.Для этого используется предложение SQL SECURITY
, которое можно указать для таблицы, триггера, процедуры, функции или пакета.Если выбрана опция INVOKER
, то объект метаданных будет выполняться с привилегиями вызывающего пользователя.Если выбрана опция DEFINER
, то объект метаданных будет выполняться с привилегиями определяющего пользователя (владельца). Если при создании PSQL модуля или таблицы предложение SQL SECURITY
не задано, то по умолчанию используется опция INVOKER.
Предложение SET DEFAULT SQL SECURITY
изменяет привилегии выполнения с которым по умолчанию выполняются PSQL модули (хранимые процедуры, функции и пакеты).
После выполнения данного оператора PSQL модули по умолчанию будут выполняться с опцией SQL SECURITY DEFINER
ALTER DATABASE SET DEFAULT SQL SECURITY DEFINER;