Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СУБД Oracle / Лекции / Лек_ORAC / LCD / Управление доступом к Базам Данных.doc
Скачиваний:
70
Добавлен:
16.04.2013
Размер:
93.18 Кб
Скачать

Роли, определяемые пользователями

Для базы данных Oracleможно создавать любое требуемое количество ролей. После создания роли нужно построить для нее набор привилегий, предоставив ей привилегии и другие роли. Затем надо предоставить эту роль пользователям, чтобы они имели привилегии, необходимые им для работы. Ниже приведен пример создания новой роли для типичного приложения по вводу заказов, а также предоставления роли ряду пользователей базы данных.

CREATE ROLE order_entry;

-- Предоставляем этой роли привилегии

GRANT SELECT, INSERT, UPDATE, DELETE

ON sales.customers TO order_entry;

GRANT SELECT, INSERT, UPDATE, DELETE

ON sales.orders TO order_entry;

GRANT SELECT, INSERT, UPDATE, DELETE

ON sales.items TO order_entry;

GRANT SELECT, UPDATE,

ON sales.parts TO order_entry;

-- Предоставляем роль пользователям

GRANT order_entry TO ssmith, thrown, ptate;

Разрешение и запрещение ролей

Пользователь, которому предоставлена роль, не всегда имеет доступ к ее привилегиям. В Oracleприложения могут разрешать и запрещать роли для любого пользователя. После того как приложение разрешает (enables) роль для пользователя, ему становятся доступны ее привилегии. И, соответственно, когда приложение запрещает (disables) роль для пользователя, он более не имеет доступа к ее привилегиям. Возможность динамически управлять набором привилегий позволяет приложениям обеспечивать постоянную корректность наборов привилегий пользователей во время работы с данным приложением. Например, когда пользователь запускает приложение по вводу заказов, с помощью SQL-командыSETROLEэто приложение разрешает ему применять для работы рольORDER_ENTRY. Когда пользователь завершает свою работу, приложение запрещает для него рольORDER_ENTRY, и он не может применять привилегии приложения по вводу заказов во время работы с другим приложением.

Роли по умолчанию

Каждый пользователь имеет перечень ролей по умолчанию (defaultroles). ИхOracleсоздает автоматически при установлении пользователем нового сеанса связи с базой данных. Они удобны, когда нужно разрешить роли, необходимые пользователю во время работы сOracle, независимо от того, какое приложение он применяет.

Аутентификация ролей

Для того чтобы предотвратить несанкционированное использование роли, можно защитить ее при помощи аутентификации. Опознавать использование роли Oracleможет теми же тремя способами, которые применяются для аутентификации пользователей баз данных: по паролю, по операционной системе и по глобальному имени пользователя. Более подробно об этих способах рассказано в предыдущем разделе "Аутентификация пользователей".Oracleопознает обращение к роли, когда её пытаются разрешить пользователь или приложение.

Ограничение использования ресурсов

В многопользовательских системах баз данных рекомендуется ограни­чивать доступ пользователей к системным ресурсам. В противном случае возможны ситуации, когда один из пользователей будет потреблять чрезмерный объем ресурсов базы данных за счет других пользователей. Например, когда Oracleавтоматически завершает все сеансы связи с базой данных, которые длительное время бездействуют, сервер может не расходовать ресурсы понапрасну и предоставить больший объем памяти, циклов центрального процессора и других ресурсов системы тем сеансам, которые выполняют реальную работу. Далее рассказано о средствахOracle, позволяющих ограничивать доступ к различным системным ресурсам.