Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

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



На процедуру можно назначить одну-единственную привилегию 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 позволяет выполнять восстановление БД





Дата публикования: 2015-02-18; Прочитано: 179 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...