Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Oracle - MS Server / OracleМП / лекции оракл / lect2_m1_ipovs_ipovs_SUBDOracle_231000.62.doc
Скачиваний:
38
Добавлен:
17.04.2018
Размер:
96.77 Кб
Скачать

Объектные привилегии

Объектная привилегия (object privilege) предоставляет пользователю возможность выполнять операцию определенного вида с конкретным объектом базы данных, например с таблицей, с представлением или с хранимой процедурой. Например:

·       С помощью объектной привилегии SELECT (выбрать) для представления CUST пользователь может обращаться с запросами к этому представлению и считывать необходимую информацию.

·       С помощью объектной привилегии INSERT (ввести) для таблицы CUSTOMERS пользователь может вводить в нее новые строки.

·       С помощью привилегии EXECUTE (выполнить) для объектного типа PART_TYPE пользователь может применять этот тип при создании других объектов базы данных и выполнять методы этого типа.

В этих примерах приведены лишь, немногие из объектных привилегий для таблиц, представлений, последовательностей, процедур, функций, модулей, объектных типов и каталогов файлов сервера. В зависимости от способа разработки приложения, пользователям могут потребоваться различные объектные привилегии для базовых объектов, с которыми работает данное приложение. Например, для работы с обычным приложением по вводу заказов пользователям могут быть необходимы привилегии SELECT, INSERT, UPDATE и DELETE для таблиц CUSTOMERS, ORDERS и ITEMS, а также привилегии SELECT и UPDATE для таблицы PARTS. Каждая объектная привилегия разрешает выполнение только конкретной операции, поэтому с помощью привилегий можно установить полный контроль за доступом к базам данных.

Предоставление и отмена привилегий

Дать пользователю системную или объектную привилегию можно с помощью SQL-команды GRANT (предоставить), а лишить привилегий можно с помощью SQL-команды REVOKE (отменить). Предоставлять и отменять привилегии пользователей могут только конкретные лица. Управляя какой-либо системой и привилегиями пользователей необходимо помнить, что:

·       Предоставить системную привилегию может лишь пользователь, имеющий системную привилегию с правами администратора на предоставление привилегий другим пользователям.

·       Предоставить привилегию на объект базы данных может лишь пользователь, владеющий этим объектом или имеющий объектную привилегию с правами администратора на предоставление привилегий другим пользователям.

Примечание. Чтобы быстро предоставить какую-либо системную или объектную привилегию всем пользователям, предоставьте ее PUBLIC - специальной группе в базе данных Oracle.

Работа с привилегиями при помощи ролей

Вполне возможно, что для использования обычного приложения баз данных придется назначить множество системных и объектных привилегий. Когда с приложением работает множество пользователей, управление привилегиями может быстро превратиться в достаточно трудную задачу, так как нужно будет предоставлять привилегии каждому пользователю. Чтобы упростить процесс обеспечения безопасности системы, можно воспользоваться ролями. Роль (role) — это совокупность системных и объектных привилегии, предоставляемых пользователям и другим ролям. Например, при создании нового приложения можно создать новую роль с привилегиями, необходимыми для выполнения данной программы. После того как пользователю приложения предоставляется эта роль, он может запускать приложение, соединяться с базой данных и выполнять свою работу. Если привилегии, необходимые для выполнения приложения, изменяются, то нужно только быстро модифицировать набор привилегий, заданных в роли. Все пользователи, которым предоставлена эта роль, автоматически отслеживают происшедшие изменения и продолжают работу с приложением, имея на то необходимые привилегии.

Соседние файлы в папке лекции оракл