
- •Курсовой проект на тему «Комплексное обеспечение безопасности хранения данных»
- •Самара 2011 реферат
- •Содержание
- •Введение
- •1Создание базы данных
- •1.1Концептуальная модель базы данных «Салон красоты»
- •1.2Создание базы данных в ms sql Server
- •1.3Создание таблиц
- •1.4Заполнение базы данных информацией
- •1.5Выбор значений полей из таблиц бд для получения списка заказов салона красоты
- •1.6Разграничение прав доступа
- •2Резервное копирование и восстановление
- •2.1Использование команд backup и restore
- •Заключение
- •Список использованных источников
1.5Выбор значений полей из таблиц бд для получения списка заказов салона красоты
Для вывода на экран списка заказов используется оператор SELECT. Так как выборка осуществляется из нескольких связанных таблиц, нужно также применить оператор INNER JOIN, предназначенный для объединения таблиц по ключевым полям, значения которых совпадают. Поставленная задача решается с помощью следующего запроса:
SELECT Z.Nomer_Zakaza,Z.Data_Zakaza,C.FIO_Clienta,C.Pol_Clienta,C.Telefon_Clienta,M.FIO_Mastera,M.Kvalifikacia_Mastera,K.Kosm_Sredstvo,K.Firma,Mes.Adres,U.Usluga,U.Prodolzhitelnost,U.Stoimost_rub
FROM Zakazy as Z
INNER JOIN Clienty as C
ON Z.Client_Salona_ID=C.Client_Salona_ID
INNER JOIN Mastera as M
ON Z.Master_Salona_ID=M.Master_Salona_ID
INNER JOIN Kosm_Sredstva as K
ON Z.Kosm_Sredstvo_ID=K.Kosm_Sredstvo_ID
INNER JOIN Mesta as Mes
ON Z.Mesto_ID=Mes.Mesto_ID
INNER JOIN Uslugi as U
ON Z.Usluga_ID=U.Usluga_ID
Результатом является выборка, представленная на рисунке 3 и содержащая информацию о:
номере заказа и дате оказания услуги;
клиенте – его пол и номер телефона;
мастере, оказывающем услугу, и его квалификации;
косметическом средстве, используемом для оказания услуги;
адресе места, где оказывается услуга салона красоты;
непосредственно самой услуге – её стоимости и продолжительности.
Рисунок 3 – Список заказов салона красоты
1.6Разграничение прав доступа
Некоторые пользователи, исходя из соображений безопасности и сохранения конфиденциальности, должны иметь ограниченный доступ к определенным таблицам. В связи с этим определяем следующие роли, которые могут иметь ограниченные права на создание, удаление или просмотр некоторых таблиц:
Директор салона красоты (Director) – имеет полный доступ ко всем таблицам и права на обновление, добавление, удаление и чтение записей в них.
Логист (Logist) – в салоне красоты имеется логист, который отвечает за закупку необходимых косметических средств. Он имеет право для чтения всех таблиц, кроме таблицы «Косметические средства», в которой также может добавлять, обновлять и удалять записи.
Старший мастер (St_Master) – несет ответственность за пополнение списка услуг и имеет право добавлять, обновлять, удалять и читать записи в таблице «Услуги», во всех остальных – только чтение.
По умолчанию при создании ролей запрещены все действия. Поэтому для каждой роли назначаем возможность проводить некоторые манипуляции с таблицами с помощью оператора GRANT, согласно вышеперечисленным правилам.
Необходимо создать логин, пароль и пользователя, которому назначается определенная роль с помощью хранимой процедуры SP_addrolemember.
Создание роли директора салона красоты и назначение её пользователю Калымову В.В., имеющему логин Kalymov, осуществляется с помощью следующего запроса:
CREATE ROLE Director
GRANT INSERT,UPDATE,DELETE,SELECT ON Mesta
TO Director
GRANT INSERT,UPDATE,DELETE,SELECT ON Clienty
TO Director
GRANT INSERT,UPDATE,DELETE,SELECT ON Mastera
TO Director
GRANT INSERT,UPDATE,DELETE,SELECT ON Uslugi
TO Director
GRANT INSERT,UPDATE,DELETE,SELECT ON Kosm_Sredstva
TO Director
GRANT INSERT,UPDATE,DELETE,SELECT ON Zakazy
TO Director
CREATE LOGIN Kalymov
WITH PASSWORD='directorrr'
CREATE USER Kalymov_VV
FOR LOGIN Kalymov
EXEC SP_addrolemember
@rolename=Director,
@membername=Kalymov_VV
Логист имеют полный доступ только к таблице «Косметические средства», в остальных – только чтение. Запрос для создания роли Logist и назначения её пользователю Каримову А.К., осуществляется с помощью следующего запроса:
CREATE ROLE Logist
GRANT SELECT ON Mesta
TO Logist
GRANT SELECT ON Clienty
TO Logist
GRANT SELECT ON Mastera
TO Logist
GRANT SELECT ON Uslugi
TO Logist
GRANT INSERT,UPDATE,DELETE,SELECT ON Kosm_Sredstva
TO Logist
GRANT SELECT ON Zakazy
TO Logist
CREATE LOGIN Karimov
WITH PASSWORD='KarAK'
CREATE USER Karimov_AK
FOR LOGIN Karimov
EXEC SP_addrolemember
@rolename=Logist,
@membername=Karimov_AK
Старший мастер может просматривать все таблицы базы данных в режиме «только чтение», кроме таблицы «Услуги», где он также имеет право удалять, добавлять и обновлять записи. С помощью представленного ниже запроса создается пользователь Ватрушкина А.П. с ролью St_Master:
CREATE ROLE St_Master
GRANT SELECT ON Mesta
TO St_Master
GRANT SELECT ON Clienty
TO St_Master
GRANT SELECT ON Mastera
TO St_Master
GRANT INSERT,UPDATE,DELETE,SELECT ON Uslugi
TO St_Master
GRANT SELECT ON Kosm_Sredstva
TO St_Master
GRANT SELECT ON Zakazy
TO St_Master
CREATE LOGIN Vatrushkina
WITH PASSWORD='Vatr'
CREATE USER Vatrushkiba_AP
FOR LOGIN Vatrushkina
EXEC SP_addrolemember
@rolename=St_Master,
@membername=Vatrushkiba_AP
Разграничение прав для всех пользователей, имеющих доступ к БД, сделано. Теперь, при попытке изменить данные таблицы, сотрудники, не имеющие на это разрешения, получат сообщение об ошибке. Подобный подход позволяет защитить данные от несанкционированного доступа, создать определенную политику безопасности, где сотрудники обладают набором прав работы с БД в соответствии с занимаемой ими должностью.