КаталогИндекс раздела
НазадОглавлениеВперед


6.3 Роли и группы

Для сокращения объема информации по управлению доступом и для обеспечения более гибких возможностей управления обе СУБД применяют группирование привилегий - возможность одним действием администратора предоставить разным пользователям одинаковый набор привилегий. Однако представления концепций группирования различны в наших двух СУБД.

Oracle использует для этих целей роли. Роль - это объект базы данных, представляющий собой именованный набор привилегий, который может предоставляться пользователю или другой роли. Администратор может создавать новые роли и изменять состав ролей. Как объект базы данных, роль может управляться средствами языка SQL (CREATE ROLE, ALTER ROLE, DROP ROLE). Минимальный синтаксис оператора CREATE ROLE показан на рис. 6.4.


Рисунок 6.4 - Создание роли (Oracle)

Применение роли может быть защищено паролем и требовать аутентификации - такой же, как и аутентификация пользователя.

Роли могут применяться динамически в течение сеанса связи с базой данных. Установка/отмена ролей производится оператором SET ROLE, синтаксис которого показан на рис.6.5.


Рисунок 6.5 - Установка роли (Oracle)

В Oracle есть несколько предустановленных ролей:

Для тех же целей в DB2 применяются группы пользователей. Группа - набор пользователей, которым даются совместные привилегии. Группе могут даваться/отбираться привилегии. Как и в случае с пользователями, объектами базы данных являются гранты, даваемые группе. Создание же групп, равно как и включение в них пользователей выполняется внешними средствами.

Несмотря на столь очевидные различия, роли и группы обеспечивают одинаковую функциональность. Так, если в Oracle роль R составляет некоторый набор привилегий P, связанных с выполнением некоторой производственной функции F, и мы можем назначить пользователя U на роль R, то в DB2 можно создать группу пользователей G, выполняющую ту же функцию F, назначить для группы тот же набор привилегий P и включить пользователя U в группу G.

Однако в отличие от ролей, группы не являются объектами базы данных и не могут создаваться средствами SQL.


НазадОглавлениеВперед
КаталогИндекс раздела