- •Управление доступом к базам данных
- •Управление работой пользователей
- •Аутентификация пользователей
- •Аутентификация по паролю
- •Аутентификация операционной системы
- •Аутентификация глобального имени пользователя
- •Табличная область по умолчанию для пользователя.
- •Временная табличная область пользователя
- •Блокированные и разблокированные учетные сведения пользователей
- •Работа с привилегиями
- •Типы привилегий
- •Системные привилегии
- •Объектные привилегии
- •Предоставление и отмена привилегий
- •Работа с привилегиями при помощи ролей
- •Предварительно установленные роли базы данных
- •Роли, определяемые пользователями
- •Разрешение и запрещение ролей
- •Роли по умолчанию
- •Аутентификация ролей
- •Ограничение использования ресурсов
- •Квоты для табличных областей
- •Наборы параметров для ограничения ресурсов
- •Работа с учетными сведениями пользователей
- •Набор параметров для ограничения ресурсов по умолчанию
- •Аудит баз данных
- •Избирательный аудит
- •Записи аудита и журнал аудита
- •Установка опций аудита
Предоставление и отмена привилегий
Дать пользователю системную или объектную привилегию можно с помощью SQL-команды GRANT(предоставить), а лишить привилегий можно с помощью SQL-командыREVOKE(отменить). Предоставлять и отменять привилегии пользователей могут только конкретные лица. Управляя какой-либо системой и привилегиями пользователей необходимо помнить, что:
Предоставить системную привилегию может лишь пользователь, имеющий системную привилегию с правами администратора на предоставление привилегий другим пользователям.
Предоставить привилегию на объект базы данных может лишь пользователь, владеющий этим объектом или имеющий объектную привилегию с правами администратора на предоставление привилегий другим пользователям.
Примечание. Чтобы быстро предоставить какую-либо системную или объектную привилегию всем пользователям, предоставьте ееPUBLIC- специальной группе в базе данныхOracle.
Работа с привилегиями при помощи ролей
Вполне возможно, что для использования обычного приложения баз данных придется назначить множество системных и объектных привилегий. Когда с приложением работает множество пользователей, управление привилегиями может быстро превратиться в достаточно трудную задачу, так как нужно будет предоставлять привилегии каждому пользователю. Чтобы упростить процесс обеспечения безопасности системы, можно воспользоваться ролями. Роль (role) — это совокупность системных и объектных привилегии, предоставляемых пользователям и другим ролям. Например, при создании нового приложения можно создать новую роль с привилегиями, необходимыми для выполнения данной программы. После того как пользователю приложения предоставляется эта роль, он может запускать приложение, соединяться с базой данных и выполнять свою работу. Если привилегии, необходимые для выполнения приложения, изменяются, то нужно только быстро модифицировать набор привилегий, заданных в роли. Все пользователи, которым предоставлена эта роль, автоматически отслеживают происшедшие изменения и продолжают работу с приложением, имея на то необходимые привилегии.
Предварительно установленные роли базы данных
Oracleопределяет несколько предварительно установленных ролей, которые можно применять для предоставления привилегий пользователям баз данных:
CONNECT Основная роль пользователей, которая позволяет соединяться с базой данных, а затем создавать таблицы, представления, синонимы, последовательности, связи баз данных и кластеры данных в соответствующей схеме.
RESOURCE Предназначена для разработчиков приложений; позволяет создавать таблицы, последовательности, кластеры данных, процедуры, функции, модули, триггеры и объектные типы в соответствующей схеме.
DBA Предназначена для администраторов; позволяет выполнять любые операции с базой данных, так как включает все системные привилегии. Кроме того, пользователь, которому предоставлена рольDBA,может предоставлять любые системные привилегии любому другому пользователю базы данных и любой роли.
SELECT_CATALOG_ROLE Позволяет обращаться с запросами к представлениям словаря данных, созданным администратором.
DELETE_CATALOG_ROLE Позволяет удалять записи из журнала аудита базы данных (подробная информация об аудите приведена в разделе "Аудит баз данных" этой главы).
EXECUTE_CATALOG_ROLE Позволяет выполнять модули утилитыDBMS.
EXP_FULL_DATABASE, IMP_FULL_DATABASE Позволяет экспортировать и импортировать информацию, содержащуюся в базе данных, при помощи утилит экспорта и импорта.
Хотя в Oracleимеются заранее созданные роли, упрощающие процесс предоставления привилегии пользователям баз данных, приложения, работающие с этими ролями, не всегда будут функционировать корректно. Поэтому можно изменять наборы привилегии таких ролей или даже удалять эти роли.