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

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

Пользователи системы баз данных Oracle не могут соединяться с сервером баз данных или выполнять какие-либо существенные действия, если они не имеют привилегий (privileges) на проведение определенных операций с базами данных. Например, пользователь базы данных не может:

·       Соединяться с базой данных Oracle, не имея системной привилегии CREATE SESSION (установить сеанс)

·       Создавать таблицы в соответствующей схеме, не имея системной привилегии CREATE TABLE (создать таблицу)

·       Удалять строки из какой-либо таблицы другой схемы, не имея объектной привилегии DELETE (удалить) для этой таблицы

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

Типы привилегий

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

Системные привилегии

Системная привилегия (system privilege) - это мощная привилегия, которая предоставляет пользователю возможность выполнять системную операцию определенного вида. Для примера ниже приведены некоторые из почти ста системных привилегий, существующих в Oracle8:

·       С помощью системной привилегии CREATE SESSION (установить сеанс) пользователь может соединяться с сервером баз данных и устанавливать сеанс связи с базой данных.

·       С помощью системной привилегии CREATE TABLE (создать таблицу) пользователь может создавать таблицы в своей собственной схеме.

·       С помощью системной привилегии CREATE ANY TABLE (создать любую таблицу) пользователь может создавать таблицы в любой схеме базы данных.

·       С помощью системной привилегии CREATE ANY TYPE (создать любой тип) пользователь может создавать типы и тела соответствующих типов в любой схеме базы данных.

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

·       С помощью системной привилегии EXECUTE ANY PROCEDURE (выполнить любую процедуру) пользователь может выполнять любую хранимую процедуру, хранимую функцию или модульный компонент базы данных.

·       С помощью системной привилегии EXECUTE ANY TYPE (выполнить любой тип) пользователь может ссылаться на методы любого типа базы данных, а также выполнять их.

Системные привилегии могут влиять на безопасность всей системы баз данных, поэтому внимательно подходите к вопросу предоставления системных привилегий. В частности, учтите, что:

·       Администратор базы данных является единственным пользователем, который должен иметь мощную системную привилегию ALTER DATABASE (изменить базу данных), позволяющую изменять физическую структуру и доступность системы баз данных.

·       Разработчикам, как правило, необходимо несколько системных привилегий для построения схем баз данных, обеспечивающих работу приложений клиентов. В числе этих системных привилегий CREATE TABLE (создать таблицу), CREATE VIEW (создать представление) и CREATE TYPE (создать тип).

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

На первый взгляд может показаться, что огромным числом системных привилегий управлять крайне трудно. Однако каждая системная привиле­гия предоставляет право на выполнение только конкретной операции с базой данных, поэтому достаточно просто назначить каждому пользователю привилегии, необходимые ему для выполнения своих функций, - не больше и не меньше.

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