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

5.2 Защита данных

Важными факторами, влияющими на работу в сети БД, хранящей большой объем совместно используемых данных, являются её целостность, стабильность и надежность. Обобщение всех вопросов, связанных с этими тремя факторами называется защитой данных. Обеспечение защиты данных – одна из основных задач при проектировании и эксплуатации АИС. Способы обеспечения защиты данных при выполнении операций над данными имеют общее название управление данными. Обеспечение защиты данных является прямой функцией администратора БД

Защита данных рассматривается в 2—х аспектах.

1 Управление доступом – защита данных от несанкционированного (преднамеренного, незаконного) доступа, поддержка функции секретности БД.

2 Управление целостностью – защита данных в БД от неверных, непреднамеренных изменений и разрушений – поддержка функции безопасности БД. Обеспечение целостности данных и целостности всей БД — часть решения этой проблемы

Поддержание целостности состоит в обеспечении правильности БД в любой момент времени и рассматривается, в свою очередь, в следующих аспектах.

1 Обеспечение достоверности. Состоит в предотвращении возможности появления недопустимых значений данных из—за ошибки в нарушении ограничений целостности БД. Задача решается как средствами СУБД, так и приложений.

2 Управление параллелизмом. Управление данными должно осуществляться таким образом, чтобы при одновременном выполнении нескольких операций целостность БД не нарушалась.

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

Вопросы и управления доступом и управления целостностью тесно соприкасаются между собой, и во многих случаях для их решения могут быть использованы одни и те же механизмы. Различие между этими понятиями: управление доступом – это защита БД от преднамеренного (поддержка функции секретность) разрушения; управление целостностью — это защита БД от непреднамеренного (поддержка функции безопасности) разрушения. В целом, система безопасности, как и цепь, сильна ровно настолько, насколько сильно ее слабейшее звено.

Существуют компьютерные и некомпьютерные методы и приемы защиты данных. Вначале рассмотрим компьютерные средства контроля.

5.2.1 Авторизация пользователей

Авторизация – предоставление прав (или привилегий), позволяющих владельцу иметь законный доступ к системе или к её объектам. Механизм авторизации часто называют подсистемой управления доступом, которая также требует проектирования. Процесс авторизации включает в себя идентификацию и аутентификацию пользователей.

Идентификация — это точное установление личности пользователя на основании различных признаков. Использование пароля – идентификация пользователя по одному признаку. Идентификация позволяет системе установить имя пользователя.

Аутентификация — процедура проверки прав пользователя на доступ к данным и прав выполнения определенных действий с этими данными. Аутентификация не может определить личность пользователя, зато может точно указать, какими правами он обладает

Администратор БД каждому созданному в БД пользователю присваивает уникальный идентификатор (логин), с каждым идентификатором связывается пароль, известный только пользователю. СУБД проверяет идентификатор и пароль пользователя при соединении пользователя с БД посредством утилит СУБД или приложения, которое настроено на соединение с БД.

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

Более тонкая настройка уровней доступа пользователей возможна средствами языка SQL. Для этого можно использовать такие объекты БД как представления (просмотры, view).

Представление – это динамический результат одной или нескольких реляционных операций с базовыми (хранимыми в БД) отношениями с целью создания некоторого иного отношения (виртуального), которое реально в БД не существует, но создается по требованию отдельных пользователей. Представление может быть определено на базе нескольких таблиц, после чего пользователю будут предоставлены необходимые привилегии доступа к этому представлению. Это жесткий механизм контроля доступа – пользователь не будет иметь никаких сведений о строках и столбцах таблиц, не включенных в представление.

Привилегия доступа – возможность определенного пользователя (группы пользователей) выполнять определенный вид действия над определенными объектами БД. Привилегии определяется АД и реализуется АБД или другим пользователем, которому АБД предоставил такое право.

SQL команда установки привилегий выглядит следующим образом: Grant <вид привилегии> On <имя таблицы/имя представления> To <объект/список пользователей>.

Существуют следующие виды привилегий: — All – возможность выполнения всех операций (Select, Delete, Insert, Update, Execute); Select – только чтение данных; Delete – только удаление; Inser t – только добавление; Update – только обновление; Execute – возможность выполнения хранимых процедур.

Объект это: процедура; триггер; представление (просмотр); пользователь и др.

По умолчанию доступ к таблицам и хранимым процедурам имеет только тот пользователь, который их создал. Естественно, АБД имеет доступ ко всем объектам БД. Для предоставления пользователю привилегии доступа к таблице в операторе Grant необходимо указать, как минимум, следующие параметры: ключевое слово, обозначающее вид привилегии доступа; имя таблицы; имя пользователя.

Пример 1. Предоставление пользователю IvanovVV права на выполнение поиска данных в таблице c названием Adres: Grant Select On Adres To IvanovVV. Пример команды создания пользователя: Create User IvanovVV Identified By <пароль>.

Пример 2. Дать право выполнять все операции всем пользователям в таблице Adres: Grant Select, Insert, Update On Adres To Public.

Пример 3. Предоставить пользователям IvanovVV и PetrovKL добавлять и менять значения столбцов А1 и А2 в таблице Adres: Grant Update (А1,A2) On Adres To IvanovVV, PetrovKL.

Команда создания представления выглядит следующим образом: Create View <имя таблицы [(список столбцов)]> As (<Select >). Например, команда Create View «Представление1» («Название») As Select «Название» From «Должность» Where «Код категории» = 5, создает динамическую таблицу с именем «Представление1», в которой будет формироваться столбец с названием должностей из таблицы «Должность», поле «Код категории» которых равен 5.

Пример использования представления в команде назначения прав: Grant Select On «Представление1» To «Пользователь1», «Пользователь2». После выполнения команды пользователям «Пользователь1» и «Пользователь2» будут даны права на чтение названий должностей, относящихся к 5 категории.

Данные представления можно обновлять, т.е. применять к этому объекту БД операции добавления, изменения, вставки и удаления записей. Тогда пользователь, имеющий права на работу с этим представлением, сможет вследствие получить права и на операции, определенные для этого представления. При этом некоторые СУБД требуют выполнения трех условий: представление должно формироваться из записей только одной таблицы; в представление каждый столбец должен иметь опциональность Not Null; оператор Select представления не должен использовать агрегирующих функций, режима Distinct, предложения Having, операций соединения таблиц, хранимых процедур и функций, определенных пользователем.