Задавайте вопросы, мы ответим
Вы не зашли.
Для ведения различных статистических данных было решено использовать триггеры для их обновлений, чтобы не нагружать базу толстыми селектами. Но сами данные критичны для произвольного изменения. Можно ли сделать как-нибудь так, чтобы юзер БД не имел доступа на обновление столбца, а процедура, которую юзер может вызывать (и возможно изменять), могла апдейтить данные в столбце? Хотя в данном случае речь о триггерах, но по процедурам вопрос тоже актуален. Если только вызывать, то ответ вроде очевиден, а если изменять код процедуры/триггера тем же юзером?
Неактивен
Кажется, тут несколько независимых вопросов. Да, можно выдать права
независимо на хранимые процедуры и функции. На триггеры права выдать
нельзя, т.к. они будут эквивалентны соответствующим правам на таблицы.
Если разрешить пользователю изменять код процедуры, а потом разрешать
ему выполнять этот код, то тогда пользователь сам себе может повысить
права. Поэтому такого делать нельзя
Неактивен
paulus написал:
Если разрешить пользователю изменять код процедуры, а потом разрешать
ему выполнять этот код, то тогда пользователь сам себе может повысить
права. Поэтому такого делать нельзя
Действительно, забавно получается)))
Хорошо, пойдём конём: можно ли запретить юзеру изменение некоторых данных, которые изменяются триггером, при этом, когда юзер может редактировать этот триггер? То, что юзер может написать запросы в триггеры/процедуры - это опускаем, юзер как бы главный на серве, но вот обезопасить нуна данные от случайных апдейтов. Возможно ли?
Неактивен
Нет, запретить пользователю стрелять себе в ногу, если у него есть возможность
снимать пистолет с предохранителя, нельзя
Неактивен