Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лекции / Л-7 - Защита данных в СУБД

.pdf
Скачиваний:
17
Добавлен:
28.06.2021
Размер:
425.61 Кб
Скачать

Предоставление объектных привилегий (1)

Предоставление одной или нескольких привилегий пользователю (группе пользователей):

GRANT { <список привилегий> | ALL PRIVILEGES }

ON <имя объекта>

ТО { <список пользователей> | PUBLIC }

[ WITH GRANT OPTION ] ;

<список привилегий> – набор предоставляемых прав, ALL PRIVILEGES – все права на объект;

<имя объекта> – имя объекта БД, к которому представляется доступ;

Предоставление объектных привилегий (2)

<список пользователей> – перечень пользователей (ролей), которым будут предоставлены указанные права;

PUBLIC – предопределенный пользователь, привилегии которого доступны всем пользователям БД;

WITH GRANT OPTION – ключевые слова, дающие возможность пользователям из списка пользователей передавать назначенные права другим пользователям.

Права, подразумеваемые словами ALL PRIVILEGES, зависят от типа объекта. Примерный перечень прав в зависимости от типа объекта БД приведен в таблице.

Использование объектных привилегий

Отмена привилегий (1)

REVOKE [ GRANT OPTION FOR ]

{<список привилегий> | ALL PRIVILEGES } ON <имя объекта>

FROM {<список пользователей> | PUBLIC)

{RESTRICT | CASCADE } ;

[GRANT OPTION FOR] – отмена права передачи привилегий;

Отмена привилегий (2)

CASCADE – при отмене привилегий у пользователя отменяются все привилегии, которые он передавал другим пользователям;

RESTRICT – если при отмене привилегий у пользователя необходимо отменить переданные другим пользователям привилегии, то операция завершается с ошибкой.

Другие ключевые слова имеют то же значение, что и в команде GRANT.

Роли

Для того чтобы упростить процесс управления доступом, некоторые СУБД предоставляют возможность объединять пользователей в группы или определять

роли.

Роль – это совокупность привилегий, предоставляемых пользователю и / или другим ролям.

Такой подход позволяет предоставить конкретному пользователю определенную роль или отнести его к определенной группе пользователей, обладающей набором прав в соответствии с решаемыми задачами.

Системные привилегии (1)

Кроме объектных привилегий СУБД еще может поддерживать системные привилегии – права пользователя на создание / изменение /удаление (CREATE / ALTER / DROP) объектов различных типов.

В некоторых системах такими привилегиями обладают только пользователи, включенные в группу АБД.

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

Системные привилегии (2)

В СУБД Oracle права на создание таблиц и представлений, а также право на удаление любых представлений пользователю manager можно предоставить с помощью той же команды GRANT, только без указания объекта:

GRANT create table, create view, drop any view

TO manager;

Шифрование данных (1)

Управление доступом к данным осуществляется через СУБД, которая обеспечивает защиту данных. Но такие данные вне СУБД становятся общедоступными.

Если известен формат БД, то можно осуществить к ней доступ с помощью другой СУБД, и никакие ограничения не помешают. В этом случае для защиты используют

шифрование данных.

Шифрование защищает данные от неавторизирован-

ного просмотра.

С помощью шифрования обеспечивается самый низкий уровень защиты на уровне данных

Шифрование данных (2)

Используются различные методы шифрования: перекомпоновка символов в кортеже, замена одних символов (групп символов) другими (или группами символов) и пр.

Шифрование может быть применено только к ключевым полям кортежа. Декодирование производится в процессе обработки, что увеличивает время доступа к данным.

Поэтому шифрование используют только при высоких требованиях к конфиденциальности данных.

Даже имея доступ к БД, пользователь не сможет просмотреть данные в понятном виде без помощи специального клиентского ПО или пароля.