русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2015-07-09; просмотров: 831; Нарушение авторских прав


Предоставление привилегии выполняется SQL-оператором GRANT, который имеет в стандарте SQL-92 следующее формальное описание:

GRANT privilege .,…
ON { [TABLE] table_name
| DOMAIN domain_name
| COLLATION collation_name
| CHARACTER SET set_name
| TRANSLATION translation_name }
TO { user_name .,… } | PUBLIC
[ WITH GRANT OPTION ]

где privilege определяется как

{ ALL PRIVELEGES }
| SELECT
| DELETE
| INSERT [(field .,…)]
| UPDATE [(field .,…)]
| REFERENCES [(field .,…)]
| USAGE

После фразы GRANT через запятую можно перечислить список всех назначаемых привилегий.

Фраза ON определяет объект, для которого устанавливается привилегия.

Фраза TO указывает пользователя или пользователей, для которых устанавливается привилегия.

Так, оператор GRANT SELECT ON tbl1 TO PUBLIC; предоставляет доступ к выполнению оператора SELECT для таблицы tbl1 не только всем существующим пользователям, но и тем, которые позднее будут добавлены в базу данных.

Оператор GRANT UPDATE ON tbl1 TO user1; предоставляет пользователю user1 привилегию UPDATE на всю таблицу, а оператор GRANT UPDATE (f1,f2) ON tbl1 TO user1; предоставляет привилегию UPDATE для изменения только столбцов f1 и f2.

Фраза WITH GRANT OPTION предоставляет получающему привилегию пользователю дополнительную привилегию GRANT OPTION, позволяющую выполнять передачу полученных привилегий.

Отмена привилегии выполняется SQL-оператором REVOKE, который имеет в стандарте SQL-92 следующее формальное описание:

REVOKE [ GRANT OPTION FOR ]
{ ALL PRIVILEGES } | privilege
ON { [TABLE] table_name
| DOMAIN domain_name
| COLLATION collation_name
| CHARACTER SET set_name
| TRANSLATION translation_name }
FROM { PUBLIC | user_name .,… }
[ CASCADE | RESTRICT ]

После фразы REVOKE через запятую можно перечислить список всех отменяемых привилегий.



Фраза ON определяет объект, для которого отменяется привилегия.

Фраза FROM указывает пользователя или пользователей, для которых отменяется привилегия.

Фраза GRANT OPTION FOR определяет отмену не самих привилегий, а только права их передачи другим пользователям.

Если одна привилегия вместе с опцией WITH GRANT OPTION была последовательно передана от одного пользователя другому несколько раз, то образуется цепочка зависимых привилегий. Фразы CASCADE и RESTRICT определяют, что будет происходить с этими привилегиями при отмене одного из звеньев этой цепочки.

Если при отмене зависимой привилегии для объекта не остается ни одной существующей привилегии, то такой объект называется несостоявшимся.

Например, подобное может произойти с представлением, созданным как запрос к таблице, привилегия на которую была утрачена. Эта ситуация показана на рисунке 8.1.


Рис. 8.1. Появление несостоявшегося объекта

Если при отмене привилегии появляется несостоявшийся объект, то фраза RESTRICT предотвратит выполнение оператора REVOKE, и никакие привилегии отменены не будут.

Если указана фраза CASCADE и при отмене привилегии появляется несостоявшийся объект, то все несостоявшиеся объекты (представления) удаляются, а при наличии несостоявшихся ограничений в таблицах они отменяются автоматически выполнением оператора ALTER TABLE; несостоявшиеся ограничения в доменах отменяются автоматически выполнением оператора ALTER DOMAIN.

Роли

Ролью называется именованный набор привилегий. Объединение привилегий в роли значительно упрощает процесс назначения и снятия привилегий. Если СУБД поддерживает управление ролями, то в SQL-операторах GRANT и REVOKE вместо имени пользователя можно указывать имя роли.

 



<== предыдущая лекция | следующая лекция ==>
Привилегии | Многоуровневый контроль доступа в БД Oracle


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.038 сек.