Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lectures_Module_3.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
1 Мб
Скачать
☆
    1. Керування правами доступу

Визначити права доступу користувачів — це означає зафіксувати інформацію стосовно:

  • осіб, яким надаються права доступу;

  • умов надання прав доступу;

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

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

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

Розглянемо коротко всі ці аспекти.

      1. Кому надаються права доступу

Права доступу надаються всім, хто звертається до бази даних. Це можуть користувачі, прикладні програми, операційні системи тощо. Кожен, хто звертається до бази даних, має насамперед вказати своє ім’я і пароль. Для СКБД неважливо хто саме звертається до бази даних, головне, щоб усі, хто хоче отримати можливість працювати з нею, були заздалегідь зареєстровані в системі.

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

Роль — це сукупність повноважень, які можуть передаватися користувачам або іншим ролям. Можна присвоїти повноваження ролям, а згодом приписувати ролі користувачам або іншим ролям. Можна присвоїти повноваження ролям, а згодом приписувати ролі користувачам. Коли користувачу присвоєна роль, він має ті повноваження, які приписані ролі.

Роль має всі повноваження, які присвоєні їй явно, й усі повноваження, які пе­редані їй іншими ролями.

Спрощений синтаксис означення ролі є таким:

CREATE ROLE <роль> IDENTIFIED <пароль>

Тут <роль> - ім’я ролі.

Спочатку роль є порожнею, тобто не має жодного повноваженя.

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

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

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

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

  • .

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

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

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

Зазвичай у контексті прав доступу розрізняють об’єкти двох класів: системні і об’єкти бази даних. До системних об’єктів належать: база даних, кластери, три­гери, транзакції тощо. До об’єктів бази даних належать таблиці, віртуальні табли­ці та процедури. Крім того, в таблицях і віртуальних таблицях можуть додатково вказуватися стовпці, щодо яких специфікуються права доступу.

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

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

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

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

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