Система безопасности сервера баз данных
Создание баз данных и таблиц. Ограничение доступа для пользователей. Хранимая процедура, доступная всем пользователям. Скрипты для проверки ограничений. Методы обеспечения безопасности сервера базы данных. Чтение, изменение и добавление данных.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | лабораторная работа |
Язык | русский |
Дата добавления | 23.07.2012 |
Размер файла | 1,4 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Министерство образования и науки Российской Федерации
Федеральное государственное бюджетное
образовательное учреждение
высшего профессионального образования
«Владимирский государственный университет
имени Александра Григорьевича и Николая Григорьевича Столетовых»
(ВлГУ)
Кафедра «Вычислительная техника»
Лабораторная работа № 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:
Выводы
в ходе выполнения лабораторной работы были изучены методы обеспечения безопасности сервера базы данных. Также были созданы пользователи с ограниченным доступом и написаны скрипты для проверки безопасности БД.
Размещено на Allbest.ru
Подобные документы
Представление данных в памяти компьютера. Обобщенные структуры и модели данных. Методы доступа к информации. Физическая организация системы управления базами данных, структура сервера. Архитектура "клиент-сервер". Создание базы данных с помощью "Денвер".
курсовая работа [770,3 K], добавлен 17.11.2014Виды доступа к записям базы данных. Поиск, фильтрация, добавление, удаление и изменение записей. Визуальные компоненты доступа к ним. Изменение данных средствами сервера, параметризованные запросы. Связывание элементов пользовательского интерфейса.
презентация [7,6 K], добавлен 19.08.2013Система управления базой данных (СУБД), централизованное обеспечение безопасности и целостности данных, защита от несанкционированного доступа. Построение концептуальной и реляционной моделей. Процесс нормализации. Проектирование базы данных в ACCESS.
курсовая работа [1,8 M], добавлен 29.10.2008Особенности модификации таблиц базы данных средствами СУБД Access. Описание свойств полей, задания ограничений, масок ввода данных. Создание и модификации таблиц, установка их свойств. Схема связи таблиц. Представление результатов задания в виде таблицы.
лабораторная работа [243,5 K], добавлен 13.06.2014Создание таблиц базы данных с помощью MS Access "Страны Азии". Форма базы данных и запросы к выборкам данных. Модификация структуры таблиц, создания связей между главными таблицами, редактирование данных и проектирование форм для реальной базы данных.
контрольная работа [723,9 K], добавлен 25.11.2012Проектирование информационной системы. Построение диаграммы потоков данных. Описание порядка построения DFD-диаграммы. Создание базы данных с помощью SQL сервера. Описание основных бизнес-правил и их физической реализации. Заполнение таблиц данными.
курсовая работа [1,5 M], добавлен 13.12.2011Основные виды баз данных. Система управления базами данных. Анализ деятельности и информации, обрабатываемой в поликлинике. Состав таблиц в базе данных и их взаимосвязи. Методика наполнения базы данных информацией. Алгоритм создания базы данных.
курсовая работа [3,1 M], добавлен 17.12.2014Типы ограничений, поддерживающие целостность в реляционной модели данных. Определение значения поля первичного ключа с помощью генератора. Добавление, изменение и удаление записей в таблицу базы данных "Библиотека" на языке программирования SQL.
лабораторная работа [30,5 K], добавлен 10.10.2012Этапы проектирования базы данных, определение целей и содержание таблиц. Добавление данных и создание других объектов базы данных. Даталогическая модель: структуризация, нормализация, схемы данных. Порядок, принципы создания пользовательского интерфейса.
курсовая работа [1,3 M], добавлен 26.03.2013Характеристика Microsoft Access. Создание структуры базы данных. Определение основных тем таблиц базы данных и информации, которую будут содержать поля таблиц. Создание таблиц, запросов, форм и отчетов. Страницы доступа к данным. Макросы и модули.
курсовая работа [1,1 M], добавлен 09.12.2012