| Каталог | Индекс раздела |
| Назад | Оглавление | Вперед |
Для сокращения объема информации по управлению доступом и для обеспечения более гибких возможностей управления обе СУБД применяют группирование привилегий - возможность одним действием администратора предоставить разным пользователям одинаковый набор привилегий. Однако представления концепций группирования различны в наших двух СУБД.
Oracle использует для этих целей роли. Роль - это объект базы данных, представляющий собой именованный набор привилегий, который может предоставляться пользователю или другой роли. Администратор может создавать новые роли и изменять состав ролей. Как объект базы данных, роль может управляться средствами языка SQL (CREATE ROLE, ALTER ROLE, DROP ROLE). Минимальный синтаксис оператора CREATE ROLE показан на рис. 6.4.

Рисунок 6.4 - Создание роли (Oracle)
Применение роли может быть защищено паролем и требовать аутентификации - такой же, как и аутентификация пользователя.
Роли могут применяться динамически в течение сеанса связи с базой данных. Установка/отмена ролей производится оператором SET ROLE, синтаксис которого показан на рис.6.5.

Рисунок 6.5 - Установка роли (Oracle)
В Oracle есть несколько предустановленных ролей:
CONNECT, RESOURCE и DBA обеспечиваются для совместимости с предыдущими версиями;
SELECT_CATALOG_ROLE, EXECUTE_CATALOG_ROLE, DELETE_CATALOG_ROLE разрешают доступ к представлениям словаря данных;
EXP_FULL_DATABASE и IMP_FULL_DATABASE разрешают использование утилит импорта и экспорта.
Для тех же целей в DB2 применяются группы пользователей. Группа - набор пользователей, которым даются совместные привилегии. Группе могут даваться/отбираться привилегии. Как и в случае с пользователями, объектами базы данных являются гранты, даваемые группе. Создание же групп, равно как и включение в них пользователей выполняется внешними средствами.
Несмотря на столь очевидные различия, роли и группы обеспечивают одинаковую функциональность. Так, если в Oracle роль R составляет некоторый набор привилегий P, связанных с выполнением некоторой производственной функции F, и мы можем назначить пользователя U на роль R, то в DB2 можно создать группу пользователей G, выполняющую ту же функцию F, назначить для группы тот же набор привилегий P и включить пользователя U в группу G.
Однако в отличие от ролей, группы не являются объектами базы данных и не могут создаваться средствами SQL.
| Назад | Оглавление | Вперед |
| Каталог | Индекс раздела |