Информационная система автопредприятия Access. Галабурда ДС КР. Курсовая работа по дисциплине Безопасность систем баз данных Информационная система автопредприятия Вариант 3 Группа аб621 Студент Галабурда Д. С. Преподаватель Котов Ю. А. Новосибирск
Скачать 1.02 Mb.
|
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ Кафедра Защиты информации Курсовая работа по дисциплине «Безопасность систем баз данных» «Информационная система автопредприятия» Вариант 3 Группа: АБ-621 Студент: Галабурда Д.С. Преподаватель: Котов Ю.А. Новосибирск 2018 Содержание Введение……………………………………………………………..………3 Цель работы……………………………………………………….…………3 Задание к курсовой работе………………………………………………….3 Описание концептуальной модели БД автопредприятия......………..…..4 Разрешение доступа………………………………………………..……...14 Переход к СУБД…………………………………………………...……....15 Вывод……………………………………………………………..………..29 Список литературы………………………………………………………..30 Введение В настоящее время жизнь человека настолько сильно насыщена различного рода информацией, что для ее обработки требуется создание огромного количества хранилищ и банков данных различного назначения. Сейчас практически любая задача связана с манипулированием информацией и данными. По этой причине в последние годы появилось множество различных компьютерных систем, называемых системами управления базами данных(СУБД), которые предназначены именно для этих целей. Во многих реальных системах, требуется не только реализовать сбор и хранение информации, но также правильно организовать доступ к этой информации различных лиц, задействованных в этой системе. Цель работы Разработать базу данных автопредприятия о организовать ее защиту. Задание к курсовой работе В рамках заданной вариантом предметной области определить две внешние модели данных, различающиеся возможностью доступа к персональной, коммерческой информации или иной информации (например, и студенты и преподаватели имеют возможность получать списки студентов и преподавателей в разрезе групп и кафедр, но не имеют доступа к персональной информации; доступ к персональной информации имеют только сотрудники деканата, которые могут ее читать и изменять; в торговой организации – цена поставки товаров известна только отделу поставки, цена продажи – коммерческому отделу и т.д.). Определить и поименовать сущности, атрибуты и отношения и их связи, а также реализовать 2-4 запроса в обеих моделях, наполнить и организовать защиту БД в СУБД Access или другой СУБД. Описание концептуальной модели БД автопредприятия Водители, работающие в автопредприятии, могут работать как на пассажирском, так и на грузовом транспорте. Водители, как и весь остальной персонал автопредприятия, входят в состав бригад. В общем, на автопредприятии можно выделить три группы пользователей: водители, обслуживающий персонал и руководители. Водители составляют первую группу пользователей. Водителей, основываясь на условиях выше, можно разделить по виду транспорта, на котором они работают, на три обобщенных группы: «Пассажирский общественный транспорт» - те, кто управляет автобусами и маршрутными такси, «Грузовой транспорт» - соответственно, те, кто управляет грузовиками и «Пассажирский личный транспорт» - те, кто управляет такси. У каждого водителя есть атрибут «Вид транспорта», отражающий его род деятельности. Всего на предприятии существует три бригады, которые сформированы исходя из рода деятельности и , в соответствии с этим, размещены по гаражному хозяйству автопредприятия. В состав каждой бригады входят люди, принадлежащие к различным группам пользователей. То есть в каждой бригаде можно выделить водителей, обслуживающий персонал и руководителей. Например руководство, в зависимости от бригады, может представляться бригадиром, мастером и начальником участка или цеха. Вторую группу пользователей - обслуживающий персонал, составляют грузчики, механики, слесари и техники. Их состав также может варьироваться в зависимости от бригады. Например, в бригаде, обслуживающей грузовики, есть необходимость в грузчиках, которые могли бы выезжать вместе с водителями на место и осуществлять там погрузку/разгрузку различных грузов заказчика. Обслуживающий персонал имеет доступ к данным, необходимым для поддержания хорошего технического состояния автопарка предприятия, то есть сведения о ремонте и о транспорте в целом. Руководители автопредприятия отвечают за персональные данные всех работников. Они могут просматривать и изменять данные всех водителей и всего обслуживающего персонала. Также они могут вносить изменения в состав бригад, повышать или понижать конкретных работников, переводить персонал из одной бригады в другую, закреплять водителей за другим транспортом и т.д. Подразумевается, что новый человек, устраивающийся на автопредприятие, проходит условное собеседование с кем-либо из руководящего состава предприятия, в результате которой его добавляют в состав подходящей бригады и назначают ему подходящую должность. Руководители составляют третью группу пользователей. И четвёртую группу пользователей составляет один пользователь – админ БД. Ему допускается изменять любые данные, находящиеся в базе данных автопредприятия. В том числе добавлять руководителей и изменять их персональные данные. Все атрибуты, доступные для просмотра пользователям БД: Водители: Вид транспорта; Фамилия; Имя; Гос. номер; Номер бригады; Должность; Расположение; Марка; Модель; Объем доставленных грузов; Номер маршрута; Начальная точка маршрута; Конечная точка маршрута; Число автобусов, закрепленных за маршрутом; Тариф; Среднее число пассажиров в день; Суммарный пробег автомобиля; Год выпуска автомобиля; Грузоподъемность; Вместимость; Класс; Данные о пробеге за конкретный период времени. Обслуживающий персонал: Фамилия; Номер бригады; Должность; Расположение; Гос. номер; Общее число замененных деталей; Последний выполненный ремонт; Суммарная стоимость ремонта по автомобилю; Вид транспорта; Марка; Модель; Суммарный пробег автомобиля; Год выпуска; Грузоподъемность; Вместимость; Класс; Данные о пробеге за конкретный период времени. Руководители: Фамилия; Имя; Контактный телефон; Должность; Расположение; Тип помещения; Вместимость; Штат персонала; Вид транспорта; Гос. номер; Марка; Модель; Объем доставленных грузов; Номер маршрута; Начальная точка маршрута; Конечная точка маршрута; Число автобусов, закрепленных за маршрутом; Тариф; Среднее число пассажиров в день; Общее число замененных деталей; Последний выполненный ремонт; Суммарная стоимость ремонта по автомобилю; Номер бригады; Суммарный пробег автомобиля; Год выпуска; Грузоподъемность; Вместимость; Класс; Данные о пробеге за конкретный период времени; Год закупки. Подробное описание групп атрибутов: Общие атрибуты: Каждая группа пользователей имеет доступ к группам атрибутов, хранящимся в базах «Бригады» , «Транспорт» и «Характеристики». К таким атрибутам относятся: «Номер бригады», «Фамилия», «Должность», «Расположение», «Вид транспорта», «Гос номер», «Марка», «Модель», «Суммарный пробег», «Год выпуска», «Грузоподъемность», «Вместимость», «Класс», «Пробег за конкретный период» и «Год закупки». Данные, которые отражают эти атрибуты, тем или иным образом необходимы для работы каждой из групп пользователей. Например, водитель при просмотре базы «Бригады» получает информацию о номере бригады, за которой он закреплен, и ее расположении в пределах гаражного хозяйства автопредприятия. Рис. 1 Группа атрибутов, доступная в базе «Бригады» При просмотре базы «Транспорт» водитель получает общую информацию об автопарке предприятия, такую как марка, модель, пробег и т.д. Рис. 2 Группа атрибутов, доступная в базе «Транспорт» При просмотре базы «Характеристики» водитель может получить информацию об основных эксплуатационных характеристиках того или иного транспорта, таких как грузоподъемность (для грузовых автомобилей), вместимость (для пассажирского общественного транспорта), класс (для такси), а также данные о пробеге транспорта за конкретные периоды времени. Рис. 3 Группа атрибутов, доступная в базе «Характеристики» Обслуживающий персонал, в свою очередь, при просмотре данных баз также получает общую информацию о транспорте, составе бригада, за которой он закреплен, и ее расположении в пределах гаражного хозяйства автопредприятия, наряду с общей информацией об обслуживаемом им транспорте. Руководители также получают из этих баз общедоступную в пределах данного предприятия информацию о составе бригад и состоянии транспорта. Атрибуты, являющиеся эксклюзивными для группы «Водители» по отношению к группе «Обслуживающий персонал» : Водители, в отличие от обслуживающего персонала, имеют доступ к базе «Водители», из которой они могут получить информацию о закрепленном за ними виде транспорта и его гос. номере. Рис. 4 Группа атрибутов, доступная в базе «Водители» Атрибут «Вид транспорта» показывает, на каком виде транспорта будет работать данный водитель. Возможные варианты: «Автобус», «Грузовик», «Маршрутное такси» и «Такси». Менять этот атрибут могут «Руководители». Рис. 5 Атрибут «Вид транспорта» Также водители имеют доступ к базе «Маршруты», из которой они получают информацию о маршрутах, обслуживаемых данным предприятием. Таким образом водитель, закрепленный за общественным транспортом, может посмотреть номер маршрута, начальную и конечную точки, тариф и среднее число пассажиров в день. Рис. 6 Группа атрибутов, доступная в базе «Маршруты» Также водители имеют доступ к базе «Грузоперевозки», из которой водителям, закрепленным за грузовым транспортом, доступна информация об объеме грузоперевозок за конкретные периоды времени. Рис. 7 Группа атрибутов, доступная в базе «Грузоперевозки» Атрибуты, являющиеся эксклюзивными для группы «Обслуживающий персонал» по отношению к группе «Водители» : Обслуживающий персонал, в отличие от водителей, имеет доступ к базе «Ремонт», из которой они могут получать информацию об общем числе замененных деталей, последней замененной детали, суммарной стоимости ремонта и номере бригады, закрепленной для обслуживания, для каждого автомобиля автопредприятия. Рис. 8 Группа атрибутов, доступная в базе «Ремонт» Из данной базы они получают общую информацию по ремонту конкретных автомобилей, а атрибут «Последний ремонт» может быть полезен при дальнейшей диагностике неисправностей. Рис. 9 Атрибут «Последний ремонт» Атрибуты, являющиеся эксклюзивными для группы «Руководители» по отношению к группам «Водители» и «Обслуживающий персонал» : Руководители, в отличие от водителей и обслуживающего персонала , также имеют доступ к базам «Гаражное хозяйство» и «Персонал». При просмотре базы «Гаражное хозяйство», руководящий состав получает информацию о списке помещений автопредприятия, их типе, количеству автомест, штату персонала, закрепленного за данным помещением, а также о виде транспорта, для которого предназначено данное помещение. Рис. 10 Группа атрибутов, доступная в базе «Гаражное хозяйство» Атрибут «Тип помещения» дает общее представление о помещении, принадлежащем автопредприятию. Возможные варианты: «Гараж», «Бокс» и «Цех». В гаражах расположены малогабаритные транспортные средства, такие как такси и маршрутное такси. Бокс используется для обслуживания автобусов, а цех для грузовых автомобилей. Рис. 11 Атрибут «Тип помещения» Значение «Номер бригады», общедоступное при просмотре базы «Бригады», зависит от атрибута «Расположение». Всего имеется три бригады, персонал предприятия разделен на бригады в зависимости от их расположения и вида обслуживаемого транспорта. Рис. 12 Атрибут «Номер бригады» За каждой бригадой закреплен собственный руководящий состав. В каждой бригаде, помимо водителей и представителей обслуживающего персонала, таких как техники, слесари, механики и т.д; должен быть бригадир, мастер и начальник участка/цеха. В такой иерархии абсолютно все члены бригады подчинены начальнику учасика/цеха, мастеру подчинены все, кроме самого начальника участка/цеха, а бригадиру, в свою очередь подчинены все водители и весь обслуживающий персонал данной бригады. Рис. 13 Атрибуты «Фамилия», «Номер бригады», «Должность» Также на формирование бригад влияет и вид обслуживаемого данной бригадой транспорта, таким образом для обслуживания грузового транспорта составлена самая многочисленная бригада, в состав которой, в отличие от других бригад, входят также и грузчики. Это обуславлиется более высокой общей сложностью ремонтных работ, необходимых для нормального функционирования грузового транспорта в сравнении с автобусами и легковыми автомобилями. Рис. 14 Атрибут «Штат персонала» Также стоит обратить внимание на тот факт, что для обслуживания всех четырех гаражей, находящихся в собственности автопредприятия, используется одна бригада под номером 3, когда для обслуживания бокса и цеха выделены отдельных бригады. При просмотре базы «Персонал», руководители получают доступ к персональным данным всех работников автопредприятия. В данном случае эти данные представляют собой фамилию, имя, контактный телефон и должность. Рис. 15 Группа атрибутов, доступная в базе «Персонал» Атрибут «Должность» определяется при устройстве человека на работу руководящим составом после личного собеседования. Возможные варианты: «Бригадир» , «Водитель», «Грузчик», «Мастер», «Начальник цеха/участка», «Слесарь», «Техник». Рис. 16 Атрибут «Должность» Разрешение доступа Следующие разрешения доступа показывают определённые права групп пользователей на изменение, чтение, удаление. Представитель группы «Водители» может: Просматривать фамилию, номер бригады и должность других водителей, обслуживающего персонала и руководителей, а также их расположение в пределах гаражного хозяйства автопредприятия. Просматривать фамилию, имя, вид транспорта и гос номер других водителей. Представитель группы «Обслуживающий персонал» может: Просматривать фамилию, номер бригады и должность другого обслуживающего персонала, водителей и руководителей, а также их расположение в пределах гаражного хозяйства автопредприятия. Просматривать и изменять данные о ремонте, а именно: общее число замененных деталей, последний ремонт, суммарная стоимость ремонта. Представитель группы «Руководители» может: Просматривать и изменять, фамилию, имя, вид транспорта, гос. номер у водителей. Просматривать и изменять состав бригад. Просматривать и изменять персональные данные всего персонала автопредприятия (например при приеме на работу). Просматривать и изменять все данные об автотранспорте. Просматривать и изменять данные о маршрутах, грузоперевозках и ремонте, а также о гаражном хозяйстве предприятия. Админ БД может: Производить любые действия с БД. Переход к СУБД Система управления базой данных это комплекс программных средств, который предназначен для создания структуры новой базы, редактирования содержимого и визуализации информации, т.е. отбор отображаемых данных в соответствии с заданным критерием, их упорядочение, оформление и последующая выдача на устройство вывода или передача по каналам связи. Инструментальной средой разработки выбрана СУБД MicrosoftAccess. Access – это реляционная СУБД, входящая в пакет MS Office. Выбрана именно эта СУБД потому что в ней есть возможность реализовать защиту БД с помощью ограничения доступа разным группам субъектов с помощью встроенной механики Форм, Макросов и Запросов. Также в СУБД Microsoft Access можно зашифровать документы с, непосредственно, базами данных, поставив пароль на вход в каждый документ. Таким образом, каждый пользователь будет заходить только в свою входную форму, откуда он сможет сделать только те действия, которые будут санкционированы политикой безопасности. Структурное представление БД Имеется всего 2 основных каталога. Это каталог «Базы» и каталог «Пользователи» В «Базах» находятся таблицы, разделённые на группы доступа. Для пользователей эти таблицы не имеют полезности, т.к. непосредственно с ними из этого каталога не происходит работы. В «Пользователях» есть подкаталоги, соответствующие группам доступа, уже в которых находятся приложения для каждого пользователя. В этом месте проявляется главный принцип защиты БД: У каждого пользователя есть пароль от своего приложения. Из этого следует, что пользователь не может вносить изменения в другие приложения или в каталог «Базы», так как пользователь имеет пароль только от своего приложения. Внутри своего приложения методами Access будет реализован доступ только к «нужной» конкретному пользователю информации с определёнными для каждого пользователя правами доступа. Рис. 17 Структура БД в Проводнике Содержание таблиц в каталоге «Базы» Рис. 18 Таблица «Бригады» Рис. 19 Таблица «Водители» Рис. 20 Таблица «Гаражное хозяйство» Рис. 21 Таблица «Грузоперевозки» Рис. 22 Таблица «Маршруты» Рис. 23 Таблица «Персонал» Рис. 24 Таблица «Ремонт» Рис. 25 Таблица «Транспорт» Рис. 26 Таблица «Характеристики» Реализация защиты БД с помощью Access Для начала, для каждой из БД пользователей происходит связывание таблиц, нужных для данной группы пользователей. Рис. 27 Пример связанных таблиц для пользователя группы «Водители» Рис. 28 Пример связанных таблиц для пользователя группы «Обслуживающий персонал» Рис. 29 Пример связанных таблиц для пользователя группы «Руководители» Таким образом обеспечивается сохранность таблиц, которые могут находиться в совершенно другом каталоге, т.к. никто из групп пользователей не должен ничего в них менять напрямую. После этого, в каждом пользователе создаётся форма, которая будет являться входной формой для приложения в дальнейшем Рис. 30 Создание формы И сразу же, в каждом пользователе необходимо указать эту форму, как форму при открытии. Делается это в «Файл» - «Параметры» - «Текущая база данных» - «Форма просмотра» - установить «Входная форма». Это требуется для того, чтобы в приложении открывалась только эта форма, в которой будет т.н. «дружелюбный интерфейс» для каждого пользователя. Рис. 31 Указание формы просмотра После этого создаются запросы, требуемые для каждой группы пользователей. Для группы «Водители» реализовано 3 запроса: Вывод сведений о грузовом транспорте Вывод сведений о пассажирском транспорте Вывод списка маршрутов Рис. 32 Запрос на вывод сведений о пассажирском транспорте Далее создаем формы по каждому из запросов, созданных нами ранее. Имена запросов будут совпадать с именами форм. Использована заготовка, встроенная в Access. Рис. 33 Форма «Сведения о пассажирском транспорте» Свяжем кнопки с формами, созданными от запросов. Связь производится через одноимённые макросы, которые открывают форму с параметром «Для чтения». Пользователь группы «Водители» не сможет ничего изменять в формах, т.к. все они открываются в режиме «Только чтение», что и требовалось по концептуальной модели. Рис. 34 Пример работы приложения. Для группы «Обслуживающий персонал» реализованно 2 запроса: Сведения о транспорте Сведения о ремонте Запрос сведений о ремонте позволяет проверяет общее состояние автомобиля и позволяет редактировать данные по ремонту транспорта. Рис. 35 Запрос сведений о ремонте. Так как в данном случае обслуживающему персоналу нужно будет редактировать поля «Общее число заменненных деталей», «Последний ремонт» и «Суммарная стоимость ремонта», а также просматривать и другие поля, например «Марка», «Модель», то реализация через Шаблоны с режимом «Только чтение» не получится. Используются свойства Форм. Рис. 36 Доступное для редактирования поле Рис. 37 Недоступное для редактирования поле Таким образом мы можем установить допуск на нужные поля, а остальные оставить заблокированными, что и требовалось по концептуальной модели БД. Для группы «Руководители» реализовано 4 запроса: Получить/изменить перечень водителей и автомобилей Получить/изменить сведения о маршрутах Получить/изменить сведения о пробеге Получить/изменить сведения о ремонте Рис. 38 Доступное для редактирования поле В данных запросах также реализована частичная блокировка, т.к. Руководители не могут менять общее число замененных деталей, последний ремонт и суммарную стоимость ремонта. Этим, по модели, занимается обслуживающий персонал. Последним шагом в создании защищённой БД будет шифрование каждого файла, который лежит в «Базах» и в «Пользователях», для последующей выдачи индивидуального пароля каждому пользователю Админом БД. Производится это отдельно для каждого документа открытием его монопольно и дальнейшего шифрования паролем Рис. 39 Монопольное открытие Рис. 40 Шифрование паролем Создание пользователей Для обеспечения лучшей безопасности информационной системы и разграничения доступа необходимо ввести обязательную авторизацию для всех пользователей. Сделать это можно при помощи файлов рабочих групп (файлов с расширением *.mdw). Для каждого пользователя создается свой MDW-файл, в котором генерируются две учетные записи – администратора (данная учетная запись создается по умолчанию в каждом MDW-файле, однако для него нужно задать пароль. Рис 41-44 Создание логинов Вывод Созданная информационная система отвечает всем заданным требованиям. В её рамках была реализована достаточно простая модель БД для демонстрации возможностей защиты БД. Концептуальная модель, созданная в рамках курсовой, содержала несколько групп пользователей, права доступа между которыми, были неоднозначно установлены этой моделью. Пользователи, относящиеся к разным группам доступа, имеют разные границы доступа. Каждый пользователь имеет доступ только к нужной ему информации. Часть пользователей должны были иметь возможность лишь просматривать определённые данные другой группы, а часть – иметь возможность изменять и сохранять изменения этих данных. При такой модели необходима реализация разграничения между этими группами пользователей. Похожие модели нередко встречаются и в реальных БД, используемых на различных предприятиях. Для реализации разграничения между группами пользователей была использована СУБД Access, возможности которой позволяют нам совместить удобный пользовательский интерфейс и разграничение прав доступа для исключения возможности получения информации, не требуемой данному пользователю. Для открытия пользовательской БД необходимо знание пароля логина и пароля пользователя, что препятствует несанкционированному доступу как со стороны сотрудников автопредприятия, так и со стороны возможных потенциальных злоумышленников, которые не являются сотрудниками предприятия. Также, пользователь не сможет выйти за границы своего приложения, т.к. на каждом приложении установлен пароль, который выдает администратор БД.А на сами таблицы-исходники или так называемые «Базы» также установлены пароли, доступ к которым имеет только администратор БД. Список литературы 1. Мейер М. Теория реляционных баз данных. - М.: Мир, 1987. - 608 с. 2. Гринь А.М. Логическое проектирование и реализация баз данных: Учеб.пособие. - Новосибирск: Изд-во НГТУ, 1994. 3. Конспект лекций |