Страница 1 из 1

Аннулирование прав при изменении ХП

Добавлено: 30 окт 2007, 15:36
Naidenov
System Info: FB CS 1.5.2
Вопррос:
1. Почему после (alter) procedure/trigger имеющиеся права сбрасываются?
2. Можно ли автоматически их восстанавливать?
3. При модификации таблиц/просмотров ситуация аналогичная?

Добавлено: 31 окт 2007, 13:43
Naidenov
Мисье, же не ма шпа си жур! Не проходите мимо! Помогите страждущему!!!
На мудрость и милосердие вашу уповаю! :lol:

Добавлено: 31 окт 2007, 13:48
Attid
а почему 1.5.2 а не 1.5.4 ?
там ошибочки были . . .

Re: Аннулирование прав при изменении ХП

Добавлено: 31 окт 2007, 15:42
dimitr
Naidenov писал(а):Почему после (alter) procedure/trigger имеющиеся права сбрасываются?
на этот вопрос затруднительно ответить, т.к. права не сбрасываются

Re: Аннулирование прав при изменении ХП

Добавлено: 31 окт 2007, 16:18
WildSery
Naidenov писал(а):1. Почему после (alter) procedure/trigger имеющиеся права сбрасываются?
Возможно, drop / create?
Naidenov писал(а):3. При модификации таблиц/просмотров ситуация аналогичная?
ALTER VIEW пока не бывает. Только пересоздание.

Re: Аннулирование прав при изменении ХП

Добавлено: 31 окт 2007, 16:38
Naidenov
dimitr писал(а):на этот вопрос затруднительно ответить, т.к. права не сбрасываются
Честно признаться, самолично не проверял... :roll: Поверил на слово kdv (вот здесь http://www.ibase.ru/devinfo/sqlroles.htm его примечание именно об этом и повествует. см главу "Назначение привилегий на выполнение хранимых процедур" 2-ое примечание по счету)

Re: Аннулирование прав при изменении ХП

Добавлено: 31 окт 2007, 16:42
Naidenov
WildSery писал(а):Возможно, drop / create?
Нет.
WildSery писал(а):ALTER VIEW пока не бывает. Только пересоздание.
:oops: Пардон. Упустил этот ньюанс

Re: Аннулирование прав при изменении ХП

Добавлено: 01 ноя 2007, 12:12
dimitr
Naidenov писал(а):Честно признаться, самолично не проверял... :roll: Поверил на слово kdv
неправ он там

Добавлено: 01 ноя 2007, 12:22
kdv
смотря в чем я неправ.
по идее, при изменении процедуры (например процедуры A), должны оставаться права выданные на нее, но сбрасываться права выданные ей.

Почему логично убивать права, выданные процедурЕ, при ее alter:
1. в процедуре может быть удалено использование объектов, на которые ей выданы права.
2. в процедуре могут появиться объекты, на которые у нее нет прав
3. в процедуре может измениться доступ к объектам, которые использовались ранее.

Поскольку процедуры в среднем состоят не из 5-7 строк, а больше, то оставлять права при alter - это значит оставлять тонны лишних прав, особенно во время разработки, т.е. частой переделки процедур.

Логика моих рассуждений понятна?

Возможно, когда я переводил статью, с текущей версией ib/fb так и происходило, т.е. права сбрасывались.

Добавлено: 01 ноя 2007, 15:25
Dimitry Sibiryakov
С точностью до наоборот: права, выданные процедурам, триггерам и прочему барахлу только недавно начали удаляться при их дропе. В полуторке, ЕМНИП, а то и позже.

Добавлено: 02 ноя 2007, 18:05
Naidenov
kdv писал(а):Логика моих рассуждений понятна?
Понятна. Спасибо. :wink: