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