Структурная схема терминов
Понятие привилегии, привилегии по умолчанию
Привилегия представляет собой право доступа к БД. Управление привилегиями заключается в их установке или удалении. После создания объекта БД доступ к ней разрешен только создателю или системному администратору, имеющему имя SYSDBA. Для доступа к БД остальным пользователям им нужно назначать соответствующие привилегии.
Заведение нового пользователя производится в утилите InterBase Server Manager. Для доступа к определенной БД ему нужно назначить соответствующие привилегии в утилите WISQL. Сразу после создания этот пользователь имеет минимальные права доступа: ему разрешено только войти в БД (соединиться с ней).
Состав параметров при установлении привилегий
Чтобы обеспечить возможность активной работы с БД, нужно переопределить привилегии с помощью оператора:
GRANT<Список описателей доступа>ON [TABLE] {<Имя таблицы>|<Имя просмотра>} TO {<Пользователь>|<Список пользователей>}EXECUTE ON PROCEDURE <Имя процедуры> TO {< Пользователь>|<Список пользователей>};<Пользователь> =PROCEDURE <Имя процедуры>| TRIGGER <Имя триггера>|VIEW <Имя просмотра>| [USER] <Имя пользователя>| PUBLIC<Список пользователей>|[USER] <Имя пользователя>...[, [USER] <Имя пользователя>][WITH GRANT OPTION]
Назначение привилегий пользователю и группам пользователей
Привилегии позволяют разграничить доступ к таблицам и просмотрам со стороны пользователей. При этом под пользователем понимается любой объект, обращающийся к данным. Кроме приложения (пользователя), такими объектами могут быть таблицы, просмотры, хранимые процедуры и триггеры. Если привилегия предоставляется одновременно нескольким пользователям, то их имена перечисляются через запятую. Описатель PUBLIC означает, что привилегия устанавливается для всех пользователей. Описатель WITH GRANT OPTION означает, что пользователь может устанавливать предоставленную ему привилегию другим пользователям.
Используют следующие описатели вида доступа:
· ALL – все права доступа;
· SELECT – только чтение;
· DELETE – удаление;
· INSERT – вставка;
· UPDATE – модификация.
После описателя UPDATE можно указать в круглых скобках список редактируемых столбцов таблицы или просмотра. Если требуется определить несколько прав, то соответствующие описатели перечисляются через запятую.
Для установки привилегий, кроме вида доступа, нужно указать еще имя таблицы или просмотра, а также имя пользователя. Остальная информация является необязательной.
Пример 1
GRANT ALL ON Personnel TO Chief;GRANT SELECT ON Personnel TO Manager;GRANT SELECT, UPDATE (Name, BirthDay) ON Personnel TO TopManager;Пример 2
GRANT ALL ON Store TO Chief, Manager, TopManager;GRANT SELECT ON List TO PUBLIC;Для управления доступом пользователей из Delphi используется компонент TIBSecurityService. Он выполняет все необходимые действия через свои свойства и методы.
Отмена привилегий
Удаление привилегий заключается в отмене ранее заданного права доступа. Отмена привилегии выполняется оператором REVOKE, формат которого аналогичен формату оператора установки привилегии GRANT. Оператор REVOKE дополнительно имеет необязательный описатель GRANT OPTION FOR, который удаляет не саму привилегию, а право ее выдачи другим пользователям. Удалить привилегию может только тот, кто ее установил.
Пример 3
REVOKE ALL ON Personnel TO Chief;Пользователь с именем Chief лишается права доступа к таблице Personnel.
Создание новых пользователей и назначение им прав, а также изменение и удаление может быть выполнено и визуально с помощью утилиты InterBase Server Manager.
Тема 3.2.Компоненты доступа к данным. Запросы на выборку данных
Дата добавления: 2021-09-25; просмотров: 309;