Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Проблеми захисту.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆

Умови надання прав доступу

Іноді доцільно специфікувати додаткові умови, за дотримання яких користувачам надаються певні права доступу. Йдеться про умови, які не визначаються іншими складовими прав доступу (кому надається доступ, до яких даних, які операції дозволяються).

Приклади додаткових умов:

  • часові характеристики (наприклад, «права доступу діють лише між 13 і 14 годинами другого вівторка кожного місяця»);

  • локалізація комп'ютерів у локальній мережі (наприклад, «права доступу діють лише для комп'ютерів, установлених у плановому відділі»).

У більшості СУБД немає засобів явного опису додаткових умов, що обмежують права доступу. За необхідності такі умови можуть бути специфіковані у прикладних системах.

Об'єкти, на які поширюються права доступу

Зазвичай у контексті прав доступу розрізняють об'єкти двох класів: системні й об'єкти бази даних.

До системних належать: база даних, кластери, тригери, транзакції тощо.

До об'єктів бази даних належать: таблиці, віртуальні таблиці та процедури.

Крім того, в таблицях і віртуальних таблицях можуть додатково вказуватися стовпці, щодо яких специфікуються права доступу.

У деяких випадках виникає необхідність специфікувати рядки певної таблиці, що стосуються особи, для якої визначаються права доступу. Наприклад:

  • будь-який користувач може змінювати у таблиці СЛУЖБОВЕЦЬ значення полів лише того рядка, який стосується його самого (тобто він може змінювати лише свої особисті дані), за винятком величини його зарплати;

  • у таблиці СЛУЖБОВЕЦЬ змінювати зарплату може лише той користувач, який є начальником відділу даного службовця.

У розглянутій ситуації виникає необхідність посилатися на поточного користувача в умові вибирання записів із віртуальної таблиці. Для цього в деяких СУБД надається можливість використовувати спеціальну константу, яка ідентифікує поточного користувача (тобто користувача, який ініціює виконання відповідного запиту на вибирання або оновлення даних).

Операції, щодо яких специфікуються права доступу

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

  • означення, перевизначення й видалення таблиці або віртуальної таблиці;

  • вибирання, додавання, видалення, оновлення рядків у таблиці або віртуальній таблиці;

  • виконання збережених процедур.

У кожній конкретній СУБД наведений список операцій над об'єктами бази даних може розширюватися.

Можливість передавання прав доступу іншим особам

Інколи користувачу надаються не лише права на маніпулювання тими чи іншими об'єктами бази даних, але й можливість передавати ці права іншим. Наприклад, користувачу передається право створити таблицю, вводити в неї дані, змінювати і видаляти їх, навіть видалити всю таблицю. Він стає повноправним власником таблиці і може з нею робити що завгодно. Тому не дивно, що йому надають дозвіл на передавання будь-яких прав на цю таблицю іншим користувачам.

Специфікація повноважень в MySql

Розглянемо, як означуються права доступу до даних в СУБД MySQL. Інструкція, що дозволяє означити користувача, була описана в попередніх сторінках. Щойно створений користувач не має жодних повноважень. Надання повноважень користувачу здійснюється командою GRANT. Віднімання прав виконується командою REVOKE.