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

16.3. Управління користувачами.

Будь-який користувач для отримання доступу до бази даних має бути зареєстрований у системі під певним ім'ям і паролем. Реєстрація необхідна для того, щоб знати, з ким має справу система у кожний момент часу. Зазначимо, що під користувачем розуміється не лише фізична особа, але й будь-яке джерело, що в змозі звернутися до бази даних (прикладна програма, операційна система, інтернет-додаток тощо).

Спрощений вигляд конструкції, що застосовується для означення користувача, є таким:

CREATE USER <користувач> IDENTIFIED <пароль>.

Тут <користувач> — ім'я користувача, а <пароль> — пароль.

Спочатку користувач не має жодних повноважень. Щоб користувач міг виконувати ті чи інші операції над базою даних, йому необхідно передати відповідні повноваження.

Передавання повноважень користувачам або ролям

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

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

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

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

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

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

Тут <роль> — ім'я ролі.

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

Привілеї Керування правами доступу

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

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

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

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

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

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

Схематично аспекти керування правами доступу зображені на рис. 16.1.

16.2. Управління доступом. Засоби підтримки безпеки в sql.

Команда GRANT дає змогу передати повноваження користувачам або ролям. Спрощений синтаксис команди є таким:

GRANT { <операція> | ALL} [(<список стовпців>)] ON <список об'єктів> ТО {<користувач> | <роль> | PUBLIC} WITH GRANT OPTION

Специфікатор <операція> вказує, щодо яких операцій описується повноваження. Такими операціями можуть бути: SELECT, INSERT, UPDATE, DELETE та інші. Фраза ALL вказує, що повноваження передаються щодо всіх операцій. У списку об'єктів зазначаються всі об'єкти бази даних, щодо яких специфікуються повноваження. Цей список містить посилання на таблиці й віртуальні таблиці. За допомогою параметра <список стовпців> можна додатково вказати стовпці таблиць. Повноваження може бути передане користувачу, ролі або всім, хто вказується у фразі ТО. Якщо повноваження передається користувачу, він одержує право виконувати операції згідно з цим повноваженням. Коли повноваження передається ролі, вона ним поповнюється. Фраза WITH GRANT OPTION означає, що одержувач повноваження отримує також право передавати це повноваження іншому користувачу або ролі.

Розглянемо кілька прикладів надання й передавання прав доступу:

1. Надати користувачу на ім'я Коваленко права на виконання будь-яких операцій над таблицею JOBS і дозвіл на передавання цих прав іншим користувачам:

GRANT ALL ON JOBS TO Коваленко WITH GRANT OPTION

2. Надати всім користувачам право переглядати дані з таблиці Employees:

GRANT SELECT ON Employees ТО PUBLIC

3. Надати користувачу на ім'я Коломієць право змінювати стовпець Department_name у таблиці Departments:

GRANT UPDATE (Department_name) ON Departments ТО Коломієць

Лекція 17. Пост реляційні БД.

Постреляційні, об’єктно орієнтовані та XML БД. Технології інтелектуальної обробки даних. Методи та засоби багатовимірного статистичного аналізу даних

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