Команда revoke

Ликвидация ранее выданных прав осуществляется командой REVOKE. Ее формат:

REVOKE <права> ON [TABLE] {имяТаблицы | имяПросмотра}

FROM {<объект> | <списокПользователей>}

Пример, лишить пользователя Petrov права вставки данных в таблицу Owner:

REVOKE INSERT ON Owner FROM Petrov

Назначение прав исполнения хранимых процедур

Система безопасности InterBase-сервера позволяет решать проблему разрешения манипуляции данными не только на уровне прав пользователей, но и на уровне прав вызова хранимой процедуры. Другими словами, если пользователь не имеет прав, например, на вставку данных в таблицу, то такая операция все же будет произведена, если этим правом обладает исполняемая в данный момент хранимая процедура.

Синтаксис команды предоставления прав на уровне хранимой процедуры:

GRANT EXECUTE ON PROCRDURE ИмяПроцедуры TO

{<объект> | <списокПользователей>}

Здесь под <объект> понимают:

PROCEDURE имяПроцедуры |

TRIGGER имяТриггера |

VIEW имяПросмотра |

PUBLIC

[, <объект>... ]

а <списокПользователей> – это

{[USER] имяПользователя | имяРоли}

[, <списокПользователей>...] [их права]

Например, следующая команда предоставляет право вызова процедуры MAX_VALUE пользователю Petrov и процедуре CALC_BALANCE:

GRANT EXECUTE ON PROCRDURE MAX_VALUE TO Petrov,

PROCRDURE CALC_BALANCE

Создание группы управления правами – роли

Прежде всего, разберемся с понятием роли. Рассмотрим некоторое множество команд предоставления прав (GRANT) и дадим ему имя. В этом случае вместо перечисления команд GRANT можно, указав имя, сослаться на это множество. Такой подход позволяет одной командой передать пользователю права сразу на несколько объектов. Если пользователей много, то действия по отслеживанию их прав становятся достаточно громоздкими и работа с такими множествами существенно ее облегчает. Особенно удобно то, что вместо предоставления прав на какой-либо новый объект или ограничения ранее предоставленных прав каждому из пользователей, можно провести такое изменение в нашем поименованном множестве, которым и является роль.

Процедура работы с ролями включает несколько этапов:

– создание роли, т. е. объявление ее в базе (создание имени и пустого множества);

– формирование списка прав, связанных с ролью (включение элементов прав в множество);

– формирование прав пользователей на основе ролей;

– связывание пользователей с ролями, т. е. передача им множества прав, описанных в роли.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: