В больших системах Oracle, в которых работает множество пользователей, управление привилегиями — сложная задача. Для ее упрощения можно использовать такое функциональное средство Oracle, как роли. (role) является, по существу, совокупностью привилегий, как объектных, так и системных. Рассмотрим следующую группу операторов:
□ CREATE ROLE table_query;
GRANT SELECT ON students TO table_query; GRANT SELECT ON classes TO table_query; GRANT SELECT ON rooms TO table_query;
Роль tablequery имеет привилегии SELECT на три различные таблицы. Теперь можно предоставить эту роль другим пользователям:
GRANT TO userA;
GRANT table_query ТО userB;
Теперь привилегии SELECT на три таблицы имеют пользователи
и Это упрощает администрирование: ведь без применения роли при-
и Это упрощает администрирование: ведь без применения роли при-
шлось бы шесть раз предоставлять привилегии пользователям.
В Oracle имеется предопределенная роль PUBLIC (общая), которая автоматически предоставляется каждому пользователю. Поэтому выполнение оператора
одновременно предоставляет указанную привилегию всем пользователям Oracle.
В Oracle предварительно определен и ряд других ролей, в которые включены часто применяемые системные привилегии. Список этих ролей для OracleQi приведен в таблице 4.3. Предопределенный пользователь Oracle с именем SYSTEM автоматически получает все эти роли.
Обычно роли CONNECT (соединение) и RESOURCE (ресурс) предоставляются тем пользователям базы данных, которые будут создавать объекты, а тем пользователям, которые будут обращаться к объектам с запросами, дается только роль CONNECT. Этим пользователям потребуются дополнительные привилегии на объекты, к которым они будут обращаться.
< Предыдущая | Следующая > |
---|