Основные понятия
Обычно в СУБД применяется произвольное управление доступом, когда владелец объекта
передает права доступа к нему (чаще говорят - привилегии) по своему усмотрению. Привилегии
могут передаваться субъектам (отдельным пользователям), группам, ролям или всем
пользователям.
Группа - это именованная совокупность пользователей. Объединение субъектов в группы
облегчает администрирование баз данных и, как правило, строится на основе формальной или
фактической структуры организации. Каждый пользователь может входить в несколько групп.
Когда пользователь тем или иным способом инициирует сеанс работы с базой данных, он может
указать, от имени какой из своих групп он выступает. Кроме того, для пользователя обычно
определяют подразумеваемую группу.
Роль - это еще один возможный именованный носитель привилегий. С ролью не ассоциируют
перечень допустимых пользователей - вместо этого роли защищают паролями. В момент начала
сеанса с базой данных можно специфицировать используемую роль (обычно с помощью флагов
или эквивалентного механизма) и ее пароль, если таковой имеется.
Привилегии роли имеют приоритет над привилегиями пользователей и групп. Иными словами,
пользователю как субъекту не обязательно иметь права доступа к объектам, обрабатываемым
приложениям с определенной ролью.
Отметим, что в СУБД Oracle под ролью понимается набор привилегий. Такие роли служат
средством структуризации привилегий и облегчают их модификацию.
Совокупность всех пользователей именуется как PUBLIC. Придание привилегий PUBLIC -
удобный способ задать подразумеваемые права доступа.