- •Комментарии к вопросам по дисциплине «Разработка и эксплуатация удаленных баз данных»
- •Требования, предъявляемые к базе данных:
- •Удовлетворять требованиям заказчика и содержать сведения только о
- •Структурированный язык запросов sql. Место языка sql в разработке информационных систем, организованных на основе технологии клиент-сервер. Основные достоинства языка sql.
- •Классификация команд языка sql: определение структуры базы данных, манипулирование данными, выборка данных, управление данными, команды администрирования данных и управления транзакциями.
- •Нормализация отношений. Условия первой, второй и третьей нормальной формы. Приведите пример нормализации сущности.
- •Основные характеристики систем управления базами данных.
- •Защита информации в базах данных. Основные методы и средства защиты данных в базах данных.
- •Способы контроля доступа к данным и управление привилегиями.
Защита информации в базах данных. Основные методы и средства защиты данных в базах данных.
Защита информации — комплекс мероприятий, направленных на обеспечение важнейших аспектов информационной безопасности (целостности, доступности и, если нужно, конфиденциальности информации и ресурсов, используемых для ввода, хранения, обработки и передачи данных).
Система называется безопасной, если она, используя соответствующие аппаратные и программные средства, управляет доступом к информации так, что только должным образом авторизованные лица или же действующие от их имени процессы получают право читать, писать, создавать и удалять информацию.
Обеспечение защиты информации включает в себя:
разработку показателей, характеризующих технологическую безопасность информационных систем;
разработку требований к архитектуре баз данных;
наличие трудовых и материальных ресурсов;
разработку организационных мероприятий для исключения влияния внутренних и внешних дестабилизирующих факторов;
разработку методов и средств, предотвращающих влияние дефектов программ и данных, в том числе разработку компьютерных экспертных систем оценки качества программных продуктов.
База данных представляет собой важнейший корпоративный ресурс, который должен быть надлежащим образом защищен с помощью соответствующих средств контроля.
Защита баз данных предполагается против любых предумышленных или непредумышленных угроз и заключает в себе различные организационные меры, программные и технические средства.
В современных СУБД поддерживается один из двух наиболее общих подходов к вопросу обеспечения безопасности данных: избирательный подход и обязательный подход. В обоих подходах единицей данных или «объектом данных», для которых должна быть создана система безопасности, может быть как вся база данных целиком, так и любой объект внутри базы данных.
Эти два подхода отличаются следующими свойствами:
В случае избирательного управления некоторый пользователь обладает различными правами (привилегиями или полномочиями) при работе с данными объектами. Разные пользователи могут обладать разными правами доступа к одному и тому же объекту. Избирательные права характеризуются значительной гибкостью.
В случае обязательного управления, наоборот, каждому объекту данных присваивается некоторый классификационный уровень, а каждый пользователь обладает некоторым уровнем допуска. При таком подходе доступом к определенному объекту данных обладают только пользователи с соответствующим уровнем доступа.
К программно-аппаратным методам защиты информации в базах данных относятся авторизация пользователей, применение представлений, резервное копирование и восстановление, шифрование и создание массивов независимых дисковых накопителей.
Способы контроля доступа к данным и управление привилегиями.
Авторизация пользователей — это представление прав (привилегий), позволяющих их владельцу иметь законный доступ к информации в базах данных или к системе управления базами данных, или к отдельным ее объектам.
В данном определении термин владелец означает физическое лицо или программу, а термин объект — любой компонент СУБД, который может быть создан в рамках конкретной системы (таблица базы данных, представление, приложение, триггер и т.п.).
Программы, обеспечивающие авторизацию пользователей, называют средствами управления доступом. Процесс авторизации подразумевает необходимость аутентификации пользователя и предоставления ему привилегий и прав владения.
Способ определения того, что пользователь является тем, за кого себя выдает, называется аутентификацией.
За предоставление доступа к компьютерной системе обычно отвечает системный администратор, в обязанности которого входит создание учетных записей пользователей.
Каждому пользователю присваивается уникальный идентификатор, используемый операционной системой для определения «кто есть кто». С каждым идентификатором связан определенный пароль, выбираемый пользователем и известный операционной системе.
При регистрации пользователь должен предоставлять системе свой пароль для выполнения аутентификации, т. е. определения, является ли он тем, за кого себя выдает.
Подобная процедура позволяет организовать контролируемый доступ к компьютерной системе, но не обязательно предоставляет право доступа к СУБД или какой-либо прикладной программе.
Для получения пользователем права доступа к СУБД может применяться отдельная процедура.
Ответственность за предоставление прав доступа к СУБД обычно несет администратор базы данных, в обязанности которого входит создание отдельных идентификаторов пользователей для работы с конкретной базой данных.
В одних СУБД ведется список идентификаторов пользователей и связанных с ними паролей, отличающийся от аналогичного списка, поддерживаемого операционной системой, а в других — ведется список, записи которого сверяются с записями списка пользователей операционной системы с учетом текущего регистрационного идентификатора пользователя. Это предотвращает возможность регистрации пользователя в среде СУБД под идентификатором, отличным от того, который он использовал при регистрации в системе.
Привилегии
Как только пользователь получает право доступа к СУБД, ему автоматически предоставляются различные привилегии, связанные с его идентификатором. В частности, привилегии могут включать в себя разрешение на доступ к определенным базам данных, таблицам, представлениям и индексам, а также разрешение на создание этих объектов или же право вызывать на выполнение различные утилиты СУБД.
Привилегии предоставляются пользователям лишь для того, чтобы они могли выполнять задачи, которые входят в круг их непосредственных должностных обязанностей. Предоставление излишних привилегий может привести к нарушению защищенности баз данных.
Некоторые типы СУБД функционируют как закрытые системы, и их пользователям помимо разрешения на доступ к самой СУБД требуется иметь отдельные разрешения на доступ к конкретным ее объектам. Эти разрешения выдаются администратором базы данных с разрешения владельцев соответствующих объектов системы.
В отличие от закрытых открытые системы по умолчанию предоставляют пользователям, прошедшим аутентификацию, полный доступ ко всем объектам базы данных.
Стандарт ISO/EC9075:2003 определяет следующий набор привилегий языка SQL:
SELECT — право выбирать данные из таблицы;
INSERT — право вставлять в таблицу новые строки;
UPDATE — право изменять данные в таблице;
DELETE — право удалять строки из таблицы;
REFERENCES — право ссылаться на столбцы указанной таблицы в описании требований поддержки целостности данных.
Остальные же пользователи сначала не имеют никаких привилегий в отношении вновь созданной таблицы и для обеспечения им доступа к этой таблице используется оператор GRANT.
Если пользователь создает представление с помощью оператора CREATE VIEW, он автоматически становится владельцем этого представления, однако совсем необязательно, что получает по отношению к нему полный набор прав.
При создании представления пользователю достаточно иметь привилегию SELECT для всех входящих в данное представление таблиц и привилегию REFERENCES для всех столбцов, упоминаемых в определении этого представления.
Привилегии INSERT, UPDATE, DELETE в отношении созданного представления пользователь получит только в том случае, если он имеет соответствующие привилегии в отношении всех используемых в представлении таблиц.