Разработка распределенной БД в Access. ПРАВА ДОСТУПА ACCESS. Курсовая работа по дисциплине Безопасность систем баз данных Вариант 2 Защита бд торговой организации
Скачать 1.26 Mb.
|
1 2 Программная реализация Для реализации информационной системы используется СУБД MS Access 2010. Выбор СУБД обусловлен тем, что данная информационная система не требует повышенного уровня надежности, Access способен обеспечить достаточный уровень защищенности (в противном случае рациональнее было бы использовать другую СУБД, например SQL Server). К основным возможностям СУБД Microsoft Access можно отнести следующие: Проектирование базовых объектов - двумерные таблицы с полями разных типов данных; Создание связей между таблицами, с поддержкой целостности данных, каскадного обновления полей и каскадного удаления записей; Ввод, хранение, просмотр, сортировка, изменение и выборка данных из таблиц с использованием различных средств контроля данных, индексирование таблиц и аппарата алгебры логики; Создание, модификация и использование производных объектов (запросов, форм и отчетов). Созданная информационная система рассчитана на работу десяти зарегистрированных пользователей (при необходимости администратор может добавлять и удалять пользователей), относящихся к четырем группам доступа:
Для работы в информационной системе сотруднику необходимо запустить свою пользовательскую БД в режиме чтения. При запуске всех пользовательских БД происходит автоматическое открытие формы, выбранной в качестве формы просмотра (Файл>Параметры>Текущая база данных>Форма просмотра). Таким образом, работа пользователя БД осуществляется в специально созданной форме. Формы просмотры для всех пользователей основаны на едином шаблоне и представляют собой форму навигации с горизонтальными и вертикальными вкладками, с помощью которых осуществляется переключение между подчиненными формами. Рассмотрим реализацию БД пользователей каждой группы на примере одного пользователя из каждой группы. Администратор (БД «Админ», группа «Администраторы») Рис.30. Запуск БД «Админ» в режиме чтения. Рис.31-34. Объекты БД «Админ». Администратор имеет неограниченные полномочия и доступ ко всем данным, хранящимся в информационной системе. Соответственно, при создании БД не было предпринято никаких мер для ограничения полномочий пользователя. Вкладки формы навигации: Пользователи (форма «Пользователи») – отображает данные таблицы «Пользователи»; Базы (форма «Базы») – отображает данные таблицы «Базы»; Персональные данные сотрудников (форма «ПД») – отображает данные таблицы «ПД»; Данные о торговых точках (форма «Данные») – отображает данные таблицы «ДанныеТТ»; Перечень товаров (форма «Перечень товаров») – отображает данные таблицы «Перечень товаров»; Данные о складах – отображает информацию о номенклатуре и складах всех ТТ. Вкладка содержит вложенные вкладки Киоск (форма «НоменклатураК», таблица «НоменклатураК»), Лоток (форма «НоменклатураЛ», таблица «НоменклатураЛ»), Магазин (форма «НоменклатураМ», таблица «НоменклатураМ»), Универмаг (форма «НоменклатураУ»), которая также содержит набор вкладок с вкладками Секция №1 (таблица «НоменклатураУС1») и Секция №2 (таблица «НоменклатураУС2»); Рис.35. Вкладка «Данные о складах»>«Универмаг»>«Секция №1» Учет проданных товаров – отображает информацию об учете проданных товаров продавцами всех ТТ. Вкладка содержит вложенные вкладки Киоск (форма «УПТК», таблица «УПТК»), Лоток (форма «УПТЛ», таблица «УПТЛ»), Магазин (форма «УПТМ»), которая содержит набор вкладок с вкладками Зал №1 (таблица «УПТМ1») и Зал №2 (таблица «УПТМ2»), Универмаг (форма «УПТУ»), которая содержит два набора с вкладками Зал №1 (таблица «УПТУС1П1») в первом наборе, Зал №1 (таблица «УПТУС2П1») и Зал №2 (таблица «УПТУС2П2») во втором наборе; Управление поставками. Содержит вложенные вкладки: Составление заказов (форма «Составление заказов) – предназначена для составления списка товаров, которые необходимо заказать у поставщиков, на основе заявок, поступающих из торговых точек. Заявки представлены в виде связанных таблиц, источником данных которых являются БД Управляющих и Управляющих + Продавцов. Заявки отображаются во вкладках из набора вкладок (вкладки Киоск (таблица «ЗаявкиК»); Лоток (таблица «ЗаявкиЛ»); Магазин (таблица «ЗаявкиМ»); Универмаг, секция №1 (таблица «ЗаявкиУС1»); Универмаг, секция №2 (таблица «ЗаявкиУС2»)). Ниже набора вкладок отображается таблица «ЗаказыВсе», куда заносятся данные о количестве товара, который необходимо приобрести у поставщиков. Данные в таблицы «ЗаказыВсе» могут расходиться с данными заявок; Рис.36. Вкладка «Управление поставками»>«Составление заказов» Отправка заказов (форма «Отправка заказов) – предназначена для составления заказов поставщикам. Заказы отображаются во вкладках из набора вкладок (вкладки Cagney Carnation (таблица «Cagney Carnation»), Firefly (таблица «Firefly»), Planet Express (таблица «Planet Express»)), ниже отображаются таблицы «ЗаказыВсе» и «РасценкиПоставщиков», на основании данных которых и формируются заказы. Также в форме располагаются четыре кнопки, предназначенные для обновления данных таблиц заказов. При нажатии на кнопку запускается соответствующий макрос («ОбновЗаказCC», «ОбновЗаказFF», «ОбновЗаказPE» либо «ОбновЗаказы», затем происходит обновление соответствующей таблицы (c. 15)); Рис.37. Вкладка «Управление поставками»>«Отправка заказов». Рис.38. Каталог макрокоманд кнопки «Обновить все формы заполнения». Распределение товара (форма «Распределение товара») – предназначена для распределения поставленного товара между ТТ. Распределение осуществляется путем занесения соответствующей информации в таблицы, отображаемые во вкладках набора вкладок (вкладки Киоск (таблица «ЗаказыК»); Лоток (таблица «ЗаказыЛ»); Магазин (таблица «ЗаказыМ»); Универмаг, секция №1 (таблица «ЗаказыУС1»); Универмаг, секция №2 (таблица «ЗаказыУС2»)), ниже отображается таблица «ЗаказыВсе» куда предварительно заносится информация о поставленных товарах; Рис.39. Вкладка «Управление поставками»>«Распределение товара». Запросы (форма «Запросы») – предназначена для активации дополнительных запросов и макросов, составленных в соответствии с заданием. Форма содержит три кнопки: «Вывод поставщиков» (активирует запрос «ВывдПоставщиков»), «Вывод покупок» (активирует макрос «ВыводПокупок») и «Вывод сотрудников» (активирует запрос «ВыводСотрПоЗП») (c. 16). Также форма поля для ввода параметров запросов. Запросы и макросы: Все запросы, представленные в БД, могут быть активированы через подчиненные формы либо путем запуска содержащих их макросов (которые также могут быть запущены в подчиненных формах). Макрос «ОбновЗаказCC» запускается путем нажатия кнопки «Обновить 1-ю форму» в форме «Отправка заказов». Макрос открывает последовательно два запроса: «ОчисткаЗаказCC» запрос на удаление, удаляет все записи из таблицы «Cagney Carnation»; «ОбновЗаказCC» запрос на добавление, добавляет в поле «Код | Название товара» таблицы «Cagney Carnation» коды и названия всех товаров, которые предоставляет данный поставщик, основываясь на данных таблицы «РасценкиПоставщиков»; Рис.40. Реализация запроса «ОбновЗаказCC». Макросы «ОбновЗаказFF» и «ОбновЗаказPE», а также соответствующие запросы реализуются аналогично; Макрос «ОбновЗаказы» последовательно запускает все запросы на очитску и обновление таблиц заказов поставщикам; Рис.41-42. Макрокоманды макроса «ОбновЗаказы». Запрос «ВыводПоставщиков» запрос на выборку, открывается с помощью кнопки «Вывод поставщиков» формы «Запросы». Запрос выводит всех поставщиков, поставляющих товар, выбранный пользователем в поле со списком (источником строк является поле «Код | Название товара» таблицы «Перечень товаров»), а также цены поставщиков на выбранный товар. Выборка записей осуществляется из таблицы «РасценкиПоставщиков»; Рис.43-45. Реализация и открытие запроса «ВыводПоставщиков». Запрос «ВыводСотрПоЗП» запрос на выборку, открывается с помощью кнопки «Вывод сотрудников» формы «Запросы». Запрос выводит всех сотрудников, зарплата в рублях которых не меньше введенного в поле числа. Выборка записей осуществляется из таблицы «ПД»; Рис.46-48. Реализация и открытие запроса «ВыводСотрПоЗП». Макрос «ВыводПокупок» запускается путем нажатия кнопки «Вывод покупок» в форме «Запросы». Макрос заносит в таблицу «ВыводПокупок» данные обо всех покупках, совершенных покупателем, имя которого введено в поле. Макрос последовательно открывает следующие запросы: «ОчисткаВыводПокупок» запрос на удаление, удаляет все записи из таблицы «ВыводПокупок»; «ВыводПокМ1», «ВыводПокМ2», «ВыводПокУС1П1», «ВыводПокУС2П1», «ВыводУС2П2» запросы на добавление, добавляют в таблицу «ВыводПокупок» все записи таблиц «УПТМ1», «УПТМ2», «УПТУС1П1», «УПТУС2П1», «УПТУС2П2», в которых значение в поле «Имя клиента» совпадает со значением, введенным пользователем в соответствующем поле; Рис.49. Реализация запроса «ВыводПокМ1». После выполнения всех запросов макрос открывает таблицу «ВыводПокупок». Рис.50-51. Запуск макроса «ВыводПокупок». Модули: Модуль «Админ» позволяет администратору создавать новые файлы рабочих групп и связывать базы с существующими группами. Рис.52-53. Реализация и запуск модуля «Админ». Управляющий магазином (БД «УправМ», группа «Управляющие») Рис.54. Запуск БД «УправМ» в режиме чтения. Рис.55-56. Объекты БД «УправМ». Управляющие не имеют возможности изменять персональные данные (свои и подчиненных сотрудников) и данные о ТТ. Лишение пользователя такой возможности осуществляется путем задания нужных свойств соответствующей формы. Рис.57. Запрет на добавление, удаление и изменение данных, содержащихся в форме. Вкладки формы навигации: Персональные данные (форма «ПД») – отображает данные, выбранные запросом «ВыборкаПД» без возможности изменения; Данные о ТТ (форма «Данные о ТТ») – отображает данные, выбранные запросом «ВыборкаДТТ» без возможности изменения; ПД сотрудников (форма «ПД сотрудников») – отображает данные, выбранные запросом «ВыборкаПДС» без возможности изменения; Заявки (форма «Заявки») – предназначена для составления и отправления администратору заявок на поставку товара. Форма содержит таблицу «Заявки», куда пользователь вносит необходимые данные, а также кнопку «Очистить заявку», запускающую макрос «ОбновЗаявки» (с. 21); Прием товара и контроль склада (форма «Прием товара и контроль склада») – предназначена для изменения номенклатуры, контроля склада и переноса на склад поставленного товара. В форме отображаются таблица «НоменклатураМ», содержащая данные о номенклатуре и складе, и таблица «Заказы», содержащая данные о поставленном товаре. Рис.58. Вкладка «Прием товара и контроль склада». Запросы и макросы: Макрос «ОбновЗаявки» запускается путем нажатия кнопки «Очистить заявку» в форме «Заявки». Макрос открывает последовательно два запроса: «ОчисткаЗаявки» запрос на удаление, удаляет все записи из таблицы «Заявки»; «ОбновЗаявки» запрос на добавление, добавляет в поле «Код | Название товара» таблицы «Заявкм» коды и названия всех товаров, занесенных в таблицу «НоменклатураМ»; Рис.59. Реализация запроса «ОбновЗаявки». Запрос «ВыборкаПД» запрос на выборку. Выводит ПД управляющего. Выборка записей осуществляется из таблицы «ПД»; Рис.60. Реализация запроса «ВыборкаПД». Запрос «ВыборкаПДС» запрос на выборку. Выводит ПД подчиненных управляющему сотрудников. Выборка записей осуществляется из таблицы «ПД»; Рис.61. Реализация запроса «ВыборкаПДС». Запрос «ВыборкаДТТ» запрос на выборку. Выводит данные о ТТ, на которой работает управляющий. Выборка записей осуществляется из таблицы «Данные о ТТ»; Рис.62. Реализация запроса «ВыборкаДТТ». Продавец магазина (БД «МП2», группа «Продавцы») Рис.63. Запуск БД «МП2» в режиме чтения. Рис.64-65. Объекты БД «МП2». Продавцы не имеют возможности изменять персональные данные и данные о ТТ. Лишение пользователя такой возможности осуществляется также, как и в случае с управляющим (с. ). Вкладки формы навигации: Персональные данные (форма «ПД») – отображает данные, выбранные запросом «ВыборкаПД» без возможности изменения; Данные о ТТ (форма «Данные о ТТ») – отображает данные, выбранные запросом «ВыборкаДТТ» без возможности изменения; Учет проданных товаров (форма «УПТ») – предназначена для ведения учета проданных товаров. В форме отображается таблица «УПТ» без возможности ввода данных, но с возможностью удаления записей (осуществляется путем включения блокировки в свойствах таблицы). Рис.66. Включение блокировки. Для добавления записи в таблицу учета необходимо ввести нужные данные в соответствующие поля и нажать кнопку «Добавить запись», которая запускает соответствующий макрос. В поле «Дата» по умолчанию вводится текущая системная дата. Рис.67. Установка значения по умолчанию. В БД нет формы, в которой бы отображались данные по номенклатуре магазина, однако пользователь всё равно имеет доступ к этой информации, т.к. источником строк для поля со списком, в котором следует выбирать название товара, является таблица «Номенклатурам». Запросы и макросы: Запрос «ВыборкаПД» запрос на выборку. Выводит ПД продавца. Выборка записей осуществляется из таблицы «ПД»; Запрос «ВыборкаДТТ» запрос на выборку. Выводит данные о ТТ, на которой работает управляющий. Выборка записей осуществляется из таблицы «Данные о ТТ»; Макрос «УПТ : Кнопка18 : Нажатие кнопки» запускается нажатием кнопки «Добавит запись» в форме «УПТ». В случае, если какое-либо поле в форме не заполнено, макрос останавливается (т.к. условие стоит в начале макроса, то он, по сути, не выполняется). Макрос добавляет запись в таблицу «Добавление», которая играет роль буфера обмена, затем последовательно открывает два запроса: «ДобавлениеВУПТ» запрос на добавление, добавляет в таблицу «УПТ» записи их таблицы «Добавление»; «ОчисткаДобавление» запрос на удаление, удаляет все записи из таблицы «Добавление»; Рис.68-70. Макрокоманды макроса «УПТ : Кнопка18 : Нажатие кнопки». Управляющий/продавец киоска (БД «УправК», группа «Управляющие + Продавцы») Рис.71. Запуск БД «УправК» в режиме чтения. Рис.72-73. Объекты БД «УправК». Управляющие/продавцы не имеют возможности изменять персональные данные и данные о ТТ. Лишение пользователя такой возможности осуществляется также, как и в случае с управляющим (с. 19). Вкладки формы навигации: Персональные данные (форма «ПД») – отображает данные, выбранные запросом «ВыборкаПД» без возможности изменения; Данные о ТТ (форма «Данные о ТТ») – отображает данные, выбранные запросом «ВыборкаДТТ» без возможности изменения; Учет проданных товаров (форма «УПТ») – предназначена для ведения учета проданных товаров. Реализована также, как и для продавца (с. 23); Заявки (форма «Заявки») – предназначена для составления и отправления администратору заявок на поставку товара. Реализована также, как и для управляющего (с. 20); Прием товара и контроль склада (форма «Прием товара и контроль склада») – предназначена для изменения номенклатуры, контроля склада и переноса на склад поставленного товара. Реализована также, как и для управляющего (с. 20); Запросы и макросы: Запросы «ВыборкаПД», «ВыборкаДТТ», «ДобавлениеВУПТК», «ОчитскаДобавление» реализованы также, как и для продавца (с. 24); Запросы «ОбновЗаявки», «ОчисткаЗаявки», а также макрос «ОбновЗаявки» реализованы также, как и для управляющего (с. 21). Шифрование баз данных Для обеспечения защиты информации от посторонних лиц, а также от пользователей, не обладающих полномочиями для просмотра определенной информации, базы данных необходимо зашифровать, задав для каждой базы свой уникальный ключ шифрования (пароль). Каждому пользователю (кроме администраторов) выдается пароль лишь для его БД (например, управляющий магазином имеет пароль лишь от БД «УправМ»). Задание и раздача паролей являются обязанностями администратора, все заданные пароли заносятся в таблицу «Базы» БД «Админ», соответственно администратор может просматривать и изменять пароли в любой момент. Для задания пароля необходимо открыть БД в монопольном режиме, затем в пункте «Сведения» вкладки «Файл» выбрать пункт «Зашифровать паролем» и во всплывшем окне задать пароль БД. Рис.74. Задание пароля БД. Пароль БД запрашивается при попытке открыть БД, а также связать содержащиеся в ней таблицы с другой БД. Рис.75. окно ввода пароля БД. Создание учетных записей пользователей Для обеспечения лучшей безопасности информационной системы и разграничения доступа необходимо ввести обязательную авторизацию для всех пользователей. Сделать это можно при помощи файлов рабочих групп (файлов с расширением .mdw). Для каждого пользователя создается свой MDW-файл, в котором создается две учетные записи – администратора (данная учетная запись создается по умолчанию в каждом MDW-файле, однако для него нужно задать пароль. Пароль администратора в каждом файле следует задавать один и тот же) в группе Admins и самого пользователя в группе Users. Лишь MDW-файл для БД администратора будет содержать единственную учетную запись – запись администратора. Для каждой учетной записи задается логин и пароль (для админа логин по умолчанию – Admin), которые необходимо вводить при авторизации пользователя. Рис.76. Файлы рабочих групп. Рис.77. Создание нового пользователя. Рис.78. Вход в БД под учетной записью пользователя. Т.к. при попытке связать одну БД с MDW-файлом все БД, хранящиеся на компьютере, также связываются с данным файлом, для разграничения доступа необходимо запускать БД пользователей через специальный ярлык с параметрами командной строки. Для этого следует создать ярлык необходимой БД, открыть свойства ярлыка и в поле «Объект» прописать следующее: "D:\Program Files (x86)\Microsoft Office\Office14\MSACCESS.EXE" "Полный путь к защищенной БД"/WRKGRP "Полный путь к MDW-файлу" Для открытия БД в режиме чтения в конце строки необходимо добавить /runtime. Рис.79-83. Ссылки на БД в папке «Приложеня». Данные (логины, пароли, MDW-файлы) всех учетных записей заносятся в таблицу «Пользователи» БД «Админ». В качестве связанного MDW-файла для всех БД задается файл, содержащий лишь учетную запись администратора. Таким образом, открыть БД пользователя в режиме чтения может сам пользователь и администратор. Открывать БД, содержащие данные, не относящиеся к конкретному пользователю, а также открывать все БД в стандартном и монопольном режимах, позволяющим структурно изменять БД, может только администратор. Вывод Созданная информационная система отвечает всем заданным требованиям. Пользователи, относящиеся к разным группам доступа, имеют разные границы доступа. Каждый пользователь имеет доступ только к нужной ему информации. Все пользователи, не относящиеся к группе «Администраторы», могут открывать БД лишь в режиме чтения. По этой причине изменять структуру БД может только администратор, который имеет доступ к данным обо всех учетных данных и паролях для БД. Для того чтобы открыть пользовательскую БД, необходимо знание пароля БД, а также логина и пароля пользователя. Таким образом, БД защищены от несанкционированного доступа не только со стороны сотрудников, но и со стороны потенциальных злоумышленников, не являющихся сотрудниками организации. Однако созданная информационная в том виде, в котором она существует в настоящее время, имеет ряд очевидных уязвимостей в связи с тем, что любой пользователь, даже если он не в состоянии открыть файл БД, может перемещать, копировать и удалять файлы. Так злоумышленник может нарушить систему защиты путем: Удаления, перемещения либо переименования файлов рабочих групп; Удаления, перемещения либо переименования файлов БД; Связывания всех БД со стандартным MDW-файлом System; Изменения поля «Объект» в свойствах ярлыка для файла БД. При создании информационной системы предполагалось, что все пользователи работают на отдельных компьютерах, объединенных в корпоративную сеть, а файлы БД и рабочих групп хранятся на сервере, к которому имеет доступ лишь администратор. Таким образом, для обеспечения полноценных защиты и разграничения доступа необходимо использование дополнительных средств защиты, ограничивающих доступ клиентов и физических лиц к ресурсам сервера в корпоративной сети. Список использованной литературы Microsoft Access 2010 Руководство по продукту; Interface.ru [Электронный ресурс] URL: http://www.interface.ru/home.asp?artId=7705; Конспекты лекций по дисциплине «Безопасность систем баз данных». 1 2 |