Система безопасности сервера баз данных

Контрольная работа - Компьютеры, программирование

Другие контрольные работы по предмету Компьютеры, программирование

Министерство образования и науки Российской Федерации

Федеральное государственное бюджетное

образовательное учреждение

высшего профессионального образования

Владимирский государственный университет

имени Александра Григорьевича и Николая Григорьевича Столетовых

(ВлГУ)

Кафедра Вычислительная техника

 

 

 

 

 

Лабораторная работа № 3

по дисциплине

Управление базами данных

Система безопасности сервера баз данных

 

 

Выполнил:

ст. гр. ВТ-109

Герасимов А. В.

Принял:

Гладьо С.С.

 

 

 

 

 

Владимир 2012

Вариант №8

 

Цель работы: получить навыки в обеспечении безопасности сервера баз данных.

Задание: Имеются следующие реальные пользователи: Петров1, Петров2, Петров3, Петров4, Петров5. Обеспечить следующие возможности для работы с данными:

Петров1: Может создавать новые учетные записи. Не имеет доступ к базе данных.

Петров2: Не может выполнять действий по конфигурированию сервера. Может читать данные из Таблица1 и Таблица2, но не может читать данные из Таблица3 и Таблица4. Может создавать новые таблицы.

Петров3: Может только выполнять не системные хранимые процедуры.

Петров4: Может только добавлять данные в Таблица3.

Петров1 и Петров2 работают в одном отделе, работникам которого предоставлено разрешение на чтение, изменение и добавление данных в Таблица1 и Таблица2.

Петров3 и Петров4 не имеют доступа к Таблица1 и Таблица2.

Разработать хранимую процедуру, которая добавляет данные в Таблица1, Таблица2, Таблица3, Таблица4. Сделать так, чтобы добавление с помощью этой хранимой процедуры мог выполнить любой пользователь базы данных (воспользоваться ролью приложения).

Ход работы.

ФИО=

Должность=

Часы=

Проекты =

Создание БД и таблиц

DATABASE lab3DB;lab3DB;TABLE FIO ( id int,varchar(20) )TABLE POST ( id int,varchar(20) )TABLE PROJECT ( id int,varchar(20) )TABLE HR ( id int,int )

 

Создание пользователей БД

LOGIN petrov1 WITH PASSWORD = 100;LOGIN petrov2 WITH PASSWORD = 200;LOGIN petrov3 WITH PASSWORD = 300;LOGIN petrov4 WITH PASSWORD = 400;LOGIN petrov5 WITH PASSWORD = 500;USER Petrov1 FOR LOGIN petrov1;USER Petrov2 FOR LOGIN petrov2;USER Petrov3 FOR LOGIN petrov3;USER Petrov4 FOR LOGIN petrov4;USER Petrov5 FOR LOGIN petrov5;

 

Ограничение доступа для пользователей

база данное пользователь безопасность сервер

Петров1 может создавать новые учетные записи. Не имеет доступ к базе данных:

EXEC sp_addsrvrolemember petrov1, securityadmin;

Петров2 не может выполнять действий по конфигурированию сервера. Может читать данные из Таблица1 и Таблица2, но не может читать данные из Таблица3 и Таблица4. Может создавать новые таблицы.

GRANT SELECT ON FIO TO petrov2SELECT ON POST TO petrov2SELECT ON PROJECT TO petrov2SELECT ON HR TO petrov2CREATE TABLE TO petrov2

Петров3 может выполнять только не системные хранимые процедуры:PROCEDURE counter@num int@num = count(id) from FIO;@numEXEC ON counter TO petrov3

Петров4 может только добавлять данные в Таблица3:

GRANT INSERT ON PROJECT TO petrov4

Петров1 и Петров2 работают в одном отделе, работникам которого предоставлено разрешение на чтение, изменение и добавление данных в Таблица1 и Таблица2:

CREATE ROLE otd1SELECT, UPDATE, INSERT ON FIO TO otd1SELECT, UPDATE, INSERT ON POST TO otd1sp_addrolemember otd1, petrov1sp_addrolemember otd1, petrov2

Петров3 и Петров4 не имеют доступа к Таблица1 и Таблица2:

CREATE ROLE otd2SELECT, UPDATE, INSERT ON FIO TO otd2SELECT, UPDATE, INSERT ON POST TO otd2sp_addrolemember otd2, petrov3sp_addrolemember otd2, petrov4

 

Хранимая процедура, доступная всем пользователям

PROCEDURE insertion@num int@num = count(id) from FIO;@num=@num+1;INTO FIO VALUES (@num+1, Петров)INTO POST VALUES (@num+1, Руководитель)INTO PROJECT VALUES (@num+1, Контроль)INTO HR VALUES (@num+1, 8)APPLICATION ROLE APPLROLE WITH PASSWORD = pass;EXEC ON insertion to APPLROLE

 

Скрипты для проверки ограничений:

lab3DBLOGIN petrov6 WITH PASSWORD = 600;* FROM FIO* FROM POST* FROM PROJECT* FROM HRINTO FIO VALUES (100, Иванов)INTO PROJECT VALUES (100, Руководство)INTO POST VALUES (100, Консультант)INTO HR VALUES (100, 8)TABLE TASK ( id int,varchar(20) )counter

sp_setapprole APPLROLE, passinsertion

 

Петров1:

 

 

 

 

 

Петров2:

 

 

 

 

 

 

Петров3:

 

 

 

 

Петров4:

 

 

 

 

 

Петров5:

 

 

 

Выводы

 

в ходе выполнения лабораторной работы были изучены методы обеспечения безопасности сервера базы данных. Также были созданы пользователи с ограниченным доступом и написаны скрипты для проверки безопасности БД.