Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лб1_Oracle_Ukr_020804.doc
Скачиваний:
7
Добавлен:
10.02.2016
Размер:
222.21 Кб
Скачать

2.6 Надання і відміна об'єктних привілеїв

На виконання кожної дозволеної в Oracle дії існує спеціальний привілей. У Oracle привілеї бувають двох типів: системні привілеї (system privileges) – для виконання адміністративних задач, наприклад для створення більшості об'єктів, і об'єктні привілеї (object privileges) – для звернення до цих об'єктів із запитами, для введення в них даних, для зміни і видалення даних у них. Всі привілеї надаються командою GRANT. Щоб надати об'єктний привілей, потрібно самому мати привілей, наданий з параметром with grant option, або володіти об'єктом. Той, хто надає об'єктний привілей повинен визначити рівень доступу до об'єкту, необхідний користувачу. Після цього можна надати привілей.

Доступні об'єктні привілеї

Після створення об'єкту в базі даних Oracle його привілеями розпоряджається його власник. Суть управління цим об'єктом полягає в наданні привілеїв, які дають користувачу можливість маніпулювати об'єктом: додавати в нього дані, змінювати, видаляти і проглядати їх. До об'єктних привілеїв відносяться:

  • SELECT Дозволяє звертатися до даних таблиці, послідовності, уявлення або моментального знімка.

  • INSERT Дозволяє вводити дані в таблицю, а іноді і в уявлення.

  • UPDATE Дозволяє оновлювати дані в таблиці або в уявленні.

  • DELITE Дозволяє видаляти дані з таблиці або уявлення.

  • ALTER Дозволяє змінювати опис тільки таблиці або послідовності; привілеї alter на всі інші об'єкти бази данихвважаються системними.

  • INDEX Дозволяє створювати індекс для раніше описаної таблиці.

  • REFERENSES Дозволяє створювати і змінювати таблицю, встановлюючи обмеження зовнішнього ключа для даних таблиці, на яку виконується посилання.

  • EXECUTE Дозволяє виконувати процедуру, що зберігається, або функцію.

Об'єктні привілеї на будь-який об'єкт бази даних належать користувачу, що створив об'єкт. Їх можна надавати іншим користувачам, щоб дозволити їм звертатися до об'єкту і маніпулювати їм або управляти привілеями для інших користувачів. Можливість виконувати деякі адміністративні функції над об'єктними привілеями надається вказівкою спеціального параметра WITH GRANT OPTION.

Надання об'єктних привілеїв в Oracle

Привілей, наданий користувачу, дає йому можливість розпоряджатися ним, якщо вказаний параметр with grant option. До адміністративних функцій, виконуваних над об'єктним привілеєм, відносяться надання привілею або його відміна, а також надання об'єктного привілею іншому користувачу з можливістю виконання ним адміністративних функцій над цим привілеєм.

GRANT select, update, insert ON employee TO leader14_01;

GRANT select, update, insert ON employee TO leader14_02 WITH GRANT OPTION;

Об'єктні привілеї відміняються командою revoke. Якщо користувачу надано привілей з параметром with grant option, то команда revoke позбавляє його можливості виконувати дії, що контролюються цим привілеєм, і можливості розпоряджатися ним. Але, крім позбавлення користувача можливості застосовувати привілей, з відміною об'єктних привілеїв пов'язаний цілий ряд питань, що стосуються каскадування. Припустимо, що користувач leader14_01 створює таблицю EMPLOYEE і вводить в неї декілька рядків. Потім він надає привілей select з параметром with grant option на таблицю EMPLOYEE користувачу leader14_02. Після цього користувач leader14_02 надає те ж саме користувачу leader14_03. Якщо потім користувач leader14_01 відмінить привілей користувача leader14_02, то відміниться і привілей користувача leader14_03. Крім того, при видаленні таблиці будуть видалені і всі об'єктні привілеї, надані користувачам на цю таблицю.

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