- •Лекція№ Тема: Спеціальні аспекти роботи з базами даних.
- •1. Безпека і цілісність баз даних
- •2. Контроль цілісності даних з використанням тригерів
- •Лекція№ Тема: Функції захисту бази даних
- •1.Транзакції і паралелізм
- •2.. Засоби обробки транзакцій
- •3. Методи блокування
- •Лекція№
- •Представлення
- •2. Створення, видалення і оновлення уявлень
- •Лекція№ Тема: Методи захисту інформації
- •1. Безпека баз даних і привілею
- •2. Види привілей.
- •3.Створення, видалення і оновлення привілей
- •4. Системні привілеї
- •Лекція№ Тема: Використовування системного каталога
- •1.Використовування системного каталогу
Лекція№ Тема: Методи захисту інформації
ПЛАН
Безпека баз даних і привілею
Види привілей.
.Створення, видалення і оновлення привілей
Системні привілеї
1. Безпека баз даних і привілею
При зберіганні інформації в СУБД однією з основних задач залишається забезпечення безпеки даних. В мові SQL використовуються наступні основні принципи захисту даних:
• в БД дійовими особами є користувачі. Якщо з даними відбувається яка-небудь маніпуляція, то вона відбувається від імені конкретного користувача. СУБД може відмовитися виконати запрошувані дії залежно від того, який користувач запрошує цю дію.
• об'єкти БД є тими елементами, чий захист може здійснюватися за допомогою SQL. Звичайно забезпечується не тільки захист таблиць і уявлень, але і інших об'єктів БД. Система дозволяє одним користувачам здійснювати дії над одними об'єктами і забороняє це над іншими.
• в SQL використовується система привілеїв, тобто прав користувача на проведення тих або інших дій над певним об'єктом бази даних.
Взагалі кажучи, адміністратор БД сам створює користувачів і дає їм привілеї, але. з другого боку, користувачі, які створюють таблиці, самі мають права на управління цими таблицями. Існує декілька типів привілеїв, відповідних цілому ряду типів операцій. В SQL привілеї даються і відміняються двома командами SQL - GRANT (допуск) і REVOKE (відміна).
Кожний користувач в середовищі SQL має спеціальне ідентифікаційне ім'я або номер (ID) доступу. Команда, послана в БД, асоціюється з визначеним користувачем, тобто спеціальним ідентифікатором доступу. Оскільки це відноситься до SQL БД. .ID дозволи - це ім'я користувача, і SQL може використати спеціальне ключове слово USER, яке посилається до ідентифікатора доступу, пов'язаного з поточною командою. Команда інтерпретується і дозволяється (або забороняється) на основі інформації, пов'язаної з ідентифікатором доступу користувача, що подав команду.
В системах з великою кількістю користувачів, існує спеціальна процедура входу в систему, яку користувач повинен обов'язково виконати для отримання доступу. Ця процедура визначає, який саме ID доступу буде пов'язаний з поточним користувачем. Звичайно кожна людина, що використовує БД. має свій власний ID доступу і при реєстрації перетворюється на дійсного користувача. Проте достатньо часте користувачі, що мають багато задач, можуть реєструватися під різними ID доступу, або навпаки - один ID доступу може використовуватися декількома користувачами. З погляду SQL немає ніякої різниці між цими двома випадками - він сприймає користувача просто як його ID доступу.
SQL БД може використати власну процедуру входу в систему або може дозволити іншій програмі (наприклад, операційній системі комп'ютера) обробляти файл реєстрації одержувати ID доступу. Проте, яким би способом СУБД не скористалася, в жодному разі SQL буде мати ГО доступу для того, щоб зв'язати його з діями користувача, для якого буде мати значення ключове слово USER
2. Види привілей.
Кожний користувач в SQL БД має набір привілеїв. Ці привілеї можуть змінюватися з часом - нові додаватися, старі віддалятися. Стандартні SQL привілеї, визначені ANSI, - це привілеї об'єкту. Це означає, що користувач має привілей для виконання даної команди тільки на певному об'єкті в БД. Привілеї об'єкту зв'язані одночасно і з користувачами і з таблицями, тобто привілей дається певному користувачу у вказаній базовій таблиці або уявленні. При цьому не варто забувати, що користувач, що створив таблицю будь-якого вигляду, є її власником. Це у свою чергу означає, що такий користувач має всі привілеї в цій таблиці і може передавати привілеї іншим користувачам для цієї таблиці.
Привілеї, які можна призначити користувачу, наступні:
• SELECT - користувач з цим привілеєм може виконувати запити до таблиці:
• INSERT - користувач з цим привілеєм може виконувати вставку записів, тобто команду INSERT, в таблиці:
• UPDATE - користувач з цим привілеєм може виконувати коректування даних, тобто команду UPDATE, до даної таблиці.
• DELETE - користувач з цим привілеєм може виконувати команду DELETE в таблиці:
• REFERENCES - з цим привілеєм користувач має можливість визначити зовнішній ключ, який використовує один або більш стовпців даної таблиці, як батьківський ключ:
• INDEX - дає право користувачу створювати індекс в таблиці:
• SYNONYM - користувач, володіючим цим привілеєм, має право створювати синонім для об'єкту:
• ALTER - дає право користувачу виконувати команду ALTER TABLE в даній таблиці
