ЛАБОРАТОРНАЯ РАБОТА №5
«УПРАВЛЕНИЕ ПРИВИЛЕГИЯМИ И РОЛЯМИ»
На этом занятии обсуждается управление привилегиями базы данных.
• Определение привилегий базы данных.
• Предоставление системных привилегий и управление ими.
• Предоставление объектных привилегий и управление ими.
Вы можете предоставлять пользователям привилегии для доступа к базе данных и объектам базы данных, а также для выполнения ими конкретных системных действий.
Административное управление привилегиями включает:
• Предоставление пользователям права выполнения операций определенного типа.
• Разрешение и ограничение доступа к данным и их изменения.
• Разрешение и ограничение возможности выполнения системных функций и изменения структуры базы данных.
• Предоставление привилегий конкретным пользователями ролям,
• Предоставление привилегий всем пользователям (PUBLIC).
Тип привилегии |
Описание |
Системная |
Каждая системная привилегия разрешает пользователю выполнять конкретную операцию или класс операций базы данных. |
Объектная |
Каждая объектная привилегия разрешает пользователю выполнять конкретное действие над заданной таблицей, представлением, последовательностью, процедурой, функцией или пакетом. |
Управлять привилегиями можно посредством создания ролей, которые состоят из именованных групп взаимосвязанных привилегий.
Свойства ролей:
Сокращение количества команд явного предоставлений привилегий
Разрешайте пользователям выполнять конкретные операции базы данных или классы операций, предоставляя пользователям системные привилегии. Системная привилегия - это право выполнять команды определенного типа.
Типы системных привилегий
• В своей собственной схеме.
• Привилегия создавать таблицу в своей собственной схеме
• Привилегия создавать последовательность в своей собственной схеме
• Для всех объектов конкретного типа.
• Привилегия создавать таблицы в любой схеме.
• Привилегия обновлять строки любой таблицы в любой схеме
• На уровне системы или пользователя.
• Привилегия создавать пользователя.
• Привилегия создавать сеанс (соединяться с базой данных)
Системные привилегии не назначаются для именованных объектов схемы или структур. Они задаются для конкретных операций или классов операций над типами объектов или структур.
Например, системная привилегия SELECT ANY TABLE дает пользователю право запрашивать любую таблицу базы данных. Объектная привилегия дает пользователю право запрашивать конкретную таблицу, такую, как SCOTT.EMP
Существует более 80 видов различных системных привилегий. Каждая системная привилегия разрешает пользователю выполнять конкретную операцию базы_данных или класс операций базы данных.
Предоставляйте системные привилегии пользователям и ролям с помощью диалога Privileges в Security Manager.
Роль - этоименованная группа взаимосвязанных привилегий, которые предоставляются пользователям или другим ролям..
В качестве альтернативы, системные привилегии можно предоставлять пользователям и ролям используя команду SQL GRANT.
Чтобы предоставить кому-либо системные привилегии требуется привилегия WITH ADMIN OPTION
• Получатсль этой привилегии может предоставлять другим привилегию WITH ADMIN OPTION
• Отмена привилегии, полученной с параметром WITH ADMIN OPTION, не вызовет каскадной отмены этой привилегии.
Специальные системные привилегии. SYSDBA и SYSOPER, используемые с файлом паролей для незащищенных соединений, нельзя предоставлять с параметром WITH ADMIN OPTION и нельзя предоставлять ролям
Выдайте список предоставленных системных привилегий, запросив для этого представление DBA_SYS_PRIVS.
Отменяйте системные привилегии с помощью кнопки Delete в папке Privilege в Security Manager.
Системные привилегии можно отменить командой SQL REVOKE.
При отмене привилегий пользователя не нужно указывать параметр WITH ADMIN OPTION. Если привилегия была предоставлена с этим параметром, то при отмене привилегии этот параметр будет автоматически учтен.
Пример
Отмена у пользователя scottпривилегии для изменения характеристик и удаления пользователей базы данных.
SVFMGR> REVOKE ALTER USER, DROP USER FROM scott;
Statement processed.
Разрешайте пользователям выполнять конкретные действия над конкретными таблицами, представлениями, последовательностями и хранимыми процедурами, предоставляя им соответствующие объектные привилегии. Тип предоставляемой объектной привилегии зависит от объекта.
С конкретными операторами SQL разрешено использовать различные объектные привилегии
Операторы SQL, разрешаемые объектными привилегиями
Объектная привилегия |
Разрешенные операторы SQL |
SELECT |
SELECT FROM объект (таблица, представление или моментальная копия), операторы SQL, использующие последовательность |
UPDATE |
UPDATE объект (таблица или представление) |
INSERT |
INSERT INTO объект (таблица или представление) |
ALTER |
ALTER объект (таблица или последовательность), CREATE TRIGGER ON объект (только таблицы) |
DELETE |
DELETE FROM объект (таблица или представление), TRUNCATE объект (только таблицы) |
EXECUTE |
EXECUTE объект (процедура или функция). Ссылки на общие переменные пакетов |
INDEX |
CREATE INDEX ON объект (только таблицы) |
REFERENCES |
Операторы CREATE или ALTER TABLE, в которых определены ограничения целостности FOREIGN KEY для объекта (только таблицы) |
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.