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