Дипломы, курсовые, рефераты, контрольные...
Срочная помощь в учёбе

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

Лабораторная работаПомощь в написанииУзнать стоимостьмоей работы

Петров3: Может только выполнять не системные хранимые процедуры. Петров3 может выполнять только не системные хранимые процедуры: Петров3 и Петров4 не имеют доступа к Таблица1 и Таблица2: Петров3 и Петров4 не имеют доступа к Таблица1 и Таблица2. Хранимая процедура, доступная всем пользователям. Петров4: Может только добавлять данные в Таблица3. Петров4 может только добавлять данные в Таблица3… Читать ещё >

Система безопасности сервера баз данных (реферат, курсовая, диплом, контрольная)

Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования

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

(ВлГУ) Кафедра «Вычислительная техника»

Лабораторная работа № 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. Сделать так, чтобы добавление с помощью этой хранимой процедуры мог выполнить любой пользователь базы данных (воспользоваться ролью приложения).

Ход работы.

ФИО=<[id], [ФИО]>

Должность=<[id], [Должность]>

Часы=<[id], [Часы]>

Проекты =<[id], [Проект]>

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

CREATE DATABASE lab3DB;

USE lab3DB;

CREATE TABLE FIO (id int,

fio varchar (20))

CREATE TABLE POST (id int,

post varchar (20))

CREATE TABLE PROJECT (id int,

project varchar (20))

CREATE TABLE HR (id int,

hr int)

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

CREATE LOGIN petrov1 WITH PASSWORD = '100';

CREATE LOGIN petrov2 WITH PASSWORD = '200';

CREATE LOGIN petrov3 WITH PASSWORD = '300';

CREATE LOGIN petrov4 WITH PASSWORD = '400';

CREATE LOGIN petrov5 WITH PASSWORD = '500';

CREATE USER Petrov1 FOR LOGIN petrov1;

CREATE USER Petrov2 FOR LOGIN petrov2;

CREATE USER Petrov3 FOR LOGIN petrov3;

CREATE USER Petrov4 FOR LOGIN petrov4;

CREATE USER Petrov5 FOR LOGIN petrov5;

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

EXEC sp_addsrvrolemember 'petrov1', 'securityadmin';

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

GRANT SELECT ON FIO TO petrov2

GRANT SELECT ON POST TO petrov2

DENY SELECT ON PROJECT TO petrov2

DENY SELECT ON HR TO petrov2

GRANT CREATE TABLE TO petrov2

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

CREATE PROCEDURE counter

AS

BEGIN

DECLARE @num int

SELECT @num = count (id) from FIO;

PRINT @num

END

GRANT EXEC ON counter TO petrov3

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

GRANT INSERT ON PROJECT TO petrov4

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

CREATE ROLE otd1

GRANT SELECT, UPDATE, INSERT ON FIO TO otd1

GRANT SELECT, UPDATE, INSERT ON POST TO otd1

EXEC sp_addrolemember 'otd1', 'petrov1'

EXEC sp_addrolemember 'otd1', 'petrov2'

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

CREATE ROLE otd2

DENY SELECT, UPDATE, INSERT ON FIO TO otd2

DENY SELECT, UPDATE, INSERT ON POST TO otd2

EXEC sp_addrolemember 'otd2', 'petrov3'

EXEC sp_addrolemember 'otd2', 'petrov4'

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

CREATE PROCEDURE insertion

AS

BEGIN

DECLARE @num int

SELECT @num = count (id) from FIO;

SELECT @num=@num+1;

INSERT INTO FIO VALUES (@num+1, 'Петров')

INSERT INTO POST VALUES (@num+1, 'Руководитель')

INSERT INTO PROJECT VALUES (@num+1, 'Контроль')

INSERT INTO HR VALUES (@num+1, '8')

END

CREATE APPLICATION ROLE APPLROLE WITH PASSWORD = 'pass';

GRANT EXEC ON insertion to APPLROLE

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

USE lab3DB

CREATE LOGIN petrov6 WITH PASSWORD = '600';

SELECT * FROM FIO

SELECT * FROM POST

SELECT * FROM PROJECT

SELECT * FROM HR

INSERT INTO FIO VALUES (100, 'Иванов')

INSERT INTO PROJECT VALUES (100, 'Руководство')

INSERT INTO POST VALUES (100, 'Консультант')

INSERT INTO HR VALUES (100, 8)

CREATE TABLE TASK (id int,

task varchar (20))

EXEC counter

sp_setapprole 'APPLROLE', 'pass'

EXEC insertion

Петров1:

Петров2:

Петров3:

Петров4:

Петров5:

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

Показать весь текст
Заполнить форму текущей работой