- •Содержание
- •Лабораторная №1 Проектирование структуры базы данных. Нормализация таблиц.
- •Лабораторная №2 Создание серверной части приложения: алиас, файл базы данных, таблицы.
- •Лабораторная работа №3 Визуальное проектирование структуры базы данных.
- •Лабораторная работа № 4 Отображение данных на клиенте.
- •Лабораторная №5 Добавление/редактирование/удаление данных.
- •Лабораторная работа №6 Создание генераторов и триггеров. Каскадные воздействия.
- •Лабораторная №7 Создание и использование хранимых процедур в ibExpert.
- •Лабораторная №8 Сортировка данных. Поиск. Фильтрация.
- •Лабораторная №9 Работа с транзакциями. Кэширование изменений.
- •Лабораторная №10 Обеспечение достоверности данных, исключительные ситуации.
- •Лабораторная №11 Работа с отчетами.
- •Лабораторная №12 Установление привилегий доступа.
Лабораторная №12 Установление привилегий доступа.
Цель работы: научится устанавливать привилегии на доступ к таблице, полю таблицы, к хранимой процедуре.
Привилегии представляют собой права доступа к БД. Управление привилегиями заключается в их установке и удалении. Установку привилегий выполняет инструкция:
GRANT <Список описателей вида доступа> ON [TABLE] {<Имя таблицы> | <Имя просмотра>}ТО {<Пользователь> | <Список пользователей;}
EXECUTE ON PROCEDURE <Имя процедуры> ТО {<Пользователь> | <Список пользователей;}
<Пользователь> = PROCEDURE <Имя процедуры>/ TRIGGER <Имя триггера>/ VIEW <Имя просмотра>/ [USER] <Имя пользователя>/ PUBLIC
<Список пользователей> = [USER] <Имя пользователя1>...[USER] <Имя пользователяN] [WITH GRANT OPTION]
Описатель WITH GRANT OPTION означает, что пользователь может устанавливать предоставленные ему привилегии другим пользователям. В качестве описателей, определяющих вид доступа, указываются следующие:
ALL (все права доступа);
INSERT (вставка);
SELECT (просмотр);
UPDATE (модификация);
DELETE (удаление).
Создание ролей
Роли создаются командой Database->New Role. В появившемся окне указывается имя роли:
Затем окно с редактированием ролей:
В котором в виде матрицы устанавливаются права доступа для каждой роли. Для изменения значения ячейки следует производить двойное нажатие левой кнопки мыши. Для быстрого изменения столбцов/строк/всех ячеек используются кнопки, расположенные над матрицей ячеек. Кнопки с горизонтальным рядом кружков изменяют выделенную строку ячеек, с вертикальным рядом – выделенный столбец, кнопки с девятью кружками изменяют всю матрицу.
Также ограничить права можно, создав нового пользователя. Командой Tools->User Manager, которая откроет окно редактирования пользователей. Изменить права пользователя можно в окне (на рисунке выше) Grant Manager, выбрав слева из всплывающего списка в Privileges for элемент Users. И при подключении к БД заходить под этим пользователем.