Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
RBD_END.DOC
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
548.35 Кб
Скачать

Защита таблиц.

Объектные привилегии для таблиц позволяют реализовать защиту на двух уровнях:

  1. На уровне языка манипулирования данными (это привилегии Select, Delete, Insert, Update; привилегии Insert и Update можно назначать на конкретные столбцы таблицы; при добавлении записи ячейки столбцов, запрещенных для изменения, будут заполняться автоматически значениями по умолчанию или значением NULL).

  2. На уровне Data Definition Language, что позволяет редактировать характеристики таблицы alter, references, index (references реализует контроль зависимости внешних ключей других таблиц от первичного ключа данной таблицы; index позволяет создавать индексы таблиц; alter позволяет изменять поля таблицы).

Защита обзоров:

  1. привилегия для создания видов в своей схеме create view и в другой – create any view;

  2. вам должны быть явно назначены объектные привилегии Insert, Select, Update, Delete на все базовые объекты обзора либо привилегии Insert any table, Select any table, Delete any table, Update any table;

  3. дополнительно для передачи доступа другим пользователям вы должны обладать или объектными привилегиями на все базовые объекты обзора, или системные привилегии с опцией admin option.

Усиление защиты таблиц через обзоры:

  • обзор может предоставить доступ лишь к части столбцов базовой таблицы в случае, если обзор использует не все поля этой таблицы, поэтому пользователю достаточно предоставить привилегию Select View, а не Select Table;

  • вы можете обеспечить защиту информации через значения данных (при создании обзора задать с помощью опции WHERE критерий выборки; критерий можно задать со значением псевдостолбца user, который содержит иена пользователей, т.е. можно сделать обзор, вид которого различен и зависит от имени пользователя )

Защита процедур.

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

Для создания процедуры пользователь должен иметь привилегию Create Procedure. В том случае, если пользователь не является владельцем процедуры, то он к тому же еще должен обладать привилегией Alter Procedure.

Процедура обращается к таблицам, поэтому пользователь должен иметь права на работу с ними, причем эти привилегии должны быть предоставлены явно.

Перед выполнением процедуры всегда проверяются текущие привилегии владельца процедуры.

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

Роли.

Роли – это именованные группы объектов, которые назначаются пользователям или другим ролям.

Достоинства ролей:

  • сокращение времени на администрирование привилегий

  • динамическое управление привилегиями

  • выборочная доступность привилегий (роли, назначаемые пользователю, могут вклюачться и выключаться)

  • открытость для приложений (приложение можно спроектировать таким образом, чтобы оно само включало или выключало роль в зависимости от имени, под которым пользователь зарегистрировался)

  • защита, выбираемая приложением (в Oracle существует возможность назначения роли пароля)

Области применения роли:

  1. управление привилегиями в приложении БД;

  2. управление привилегиями в группе пользователей.

Роли приложений – это роль, которой назначены все привилегии, необходимые для выполнения данного приложения. Эту роль можно назначить другим ролям или конкретным пользователям.

Роли пользователей – это роль, созданная для группы пользователей БД, имеющих одинаковое требование к привилегиям (например, роль connect).

Особенности работы с ролями:

  1. роли могут быть назначены объектные или системные привилегии;

  2. роль может быть назначена другим ролям, но не может быть назначена самой себе; при назначении роли другой роли необходимо следить за тем, чтобы назначение не было цикличным;

  3. любая роль может быть назначена любому пользователю БД;

  4. каждая роль может быть в состоянии ON или OFF; домен защиты пользователя (совокупность всех привилегий пользователя) включает те привилегии, которые в данный момент включены для данного пользователя;

  5. косвенно назначенную роль (роль, назначенную через другую роль) можно явно включать или выключать, но , если включить роль, содержащую другие роли, все косвенно назначенные роли неявно также включаться.

Отзывать и назначать роли могут:

  • те пользователи, которые имеют системную привилегию GRANT ANY ROLY (в его силах назначать и отзывать любую роль любому пользователю)

  • те пользователи, которые имеют роль с опцией Admin Option (в его силах назначать и отзывать эту роль другому пользователю или другой роли)

Замечание: все системные и объектные привилегии, позволяющие пользователю выполнять операции Data Manipulation Language, необходимые для выполнения предложения Data Definition language, считаются неприменимыми, если они получены через роль.

Предопределенные роли, которые определены в любой БД автоматически:

  • connect позволяет создавать и закрывать сеанс

  • resource позволяет создавать объекты в вашей схеме

  • dba привилегия администратора БД

  • export full database позволяет выполнять резервное копирование БД

  • import full database позволяет выполнять восстановление БД

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]