Информационная безопасность в современных системах управления базами данных

СУБД. Ролі зручно використовувати, коли той або інший набір привілеїв необхідно видати (або відібрати) групі користувачів. З одного боку, це полегшує адміністраторові управління привілеями, з іншої — вносить певний порядок у разі потреби змінити набір привілеїв для групи користувачів відразу. Потрібно особливо відзначити, що при виконанні процедур, що зберігаються, і інтерактивних запитів може існувати залежність набору привілеїв користувача від того, як вони були отримані: явно або через роль. Мають місце і реалізації, наприклад в Oracle, де в процедурах, що зберігаються, використовуються привілеї, отримані користувачем явно. Якщо використовувана вами реалізація володіє подібною властивістю, то зміна привілеїв у групи користувачів слід реалізувати як набір команд або як адміністративну процедуру (залежно від переваг адміністратора).

Пропозиції управління привілеями:

• призначення привілею:

GRANT привілей [ON об'єкт] TO суб'єкт [WITH GRANT OPTION]

• відміна привілею:

REVOKE привілей [ON об'єкт] FROM суб'єкт

Якщо субъект=пользователь, то привілей призначається йому явно. Якщо субъект=роль, то для управління привілеями використовуються відповідно:

GRANT ROLE имя_роли [ON об'єкт] TO суб'єкт [WITH GRANT OPTION]

REVOKE ROLE имя_роли [ON об'єкт] FROM суб'єкт

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

GRANT привілей [ON об'єкт] TO PUBLIC

В цьому випадку кожен новий створений користувач автоматично отримає такий привілей

Відміна привілею здійснюється так:

REVOKE привілей [ON об'єкт] FROM PUBLIC

Необхідно мати на увазі, що деякі реалізації, наприклад IBM DB2, використовують групи користувачів, визначені в операційній системі. Тому слід звертати увагу на особливості реалізації аналогів ролей в СУБД. Потрібно з'ясувати, чи містить реалізація SQL-предложения вигляду:

CREATE ROLE имя_роли

DROP ROLE имя_роли

При управлінні доступом до таблиць і уявлень набір привілеїв в реалізації СУБД визначається виробником.

Привілеї вибірки і модифікації даних:

SELECT — привілей на вибірку даних;

INSERT — привілей на додавання даних;

DELETE — привілей на видалення даних;

UPDATE — привілей на оновлення даних (можна вказати певні стовпці, дозволені для оновлення).

Привілеї зміни структури таблиць:

ALTER — зміна физической/логической структури базової таблиці (зміна розмірів і числа файлів таблиці, введення додаткового стовпця і тому подібне);

INDEX — створення/видалення індексів на стовпці базової таблиці;

ALL — всі можливі дії над таблицею.

У реалізаціях можуть бути присутніми інші різновиди привілеїв, наприклад:

CONTROL (IBM DB2) — комплексний привілей управління структурою таблиці,

REFERENCES — привілей створення зовнішніх ключів,

RUNSTAT — виконання збору статистичної інформації по таблиці та інші.

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

1 2 3 4 5 6 7 8 9