Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
На процедуру можно назначить одну-единственную привилегию 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 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!