Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

3 курс / БСБД2 Лабораторная работа 2

.pdf
Скачиваний:
0
Добавлен:
13.07.2026
Размер:
388.44 Кб
Скачать

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

ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)

Кафедра комплексной информационной безопасности электронновычислительных систем (КИБЭВС)

РАЗДЕЛЕНИЕ ПРАВ ДОСТУПА Отчет по лабораторной работе №2

по дисциплине «Безопасность систем баз данных»

Студент гр. 7x3-x

_______ xxxxxxxxxxx

_______

Приняла: Преподаватель кафедры КИБЭВС

_______ Романова Е.С.

_______

Томск 2025

Введение

Целью работы является изучение принципов работы разделения прав доступа в базах данных на примере СУБД Microsoft SQL Server.

Постановка задачи:

1.Составить матрицу доступа согласно роли по варианту №2.

2.На основании заданной в варианте профессии создать роль уровня базы данных и пару имя входа/имя пользователя, определить круг данных, к которым должен выделяться доступ, и на основании этого круга выбрать минимум 5 таблиц и права доступа к ним и выдать определённые права доступа созданной роли.

2

1 ХОД РАБОТЫ

1.1 Составление матрицы доступа

Согласно варианту №2 главной ролью является работник, ведущий собеседование по найму на работу.

Матрица доступа представлена в таблице 1.1. Все таблицы в матрице взяты из базы данных AdventureWorks2017.

Таблица 1.1 — Матрица доступа

Пользователь

Работник, ведущий собеседование

Таблицы

 

 

 

HumanResources.Employee

SELECT

 

 

HumanResources.EmployeeDepartmentHistory

SELECT

 

 

HumanResources.JobCandidate

SELECT

 

UPDATE

 

DELETE

 

 

HumanResources.Department

SELECT

 

 

HumanResources.Shift

SELECT

 

 

HumanResources.EmployeePayHistory

-

 

 

На основе данной матрицы доступа были созданы роли и имена входа на уровнях сервера и базы данных.

3

1.2 Создание роли и имени входа

Была создана роль работника, ведущего собеседование по найму на работу, в базе данных AdventureWorks2017 (рисунок 1.1).

Рисунок 1.1 – Создание роли работника

Был разграничен доступ для роли «recruiter» командами согласно таблице

1.1 (рисунок 1.2).

Рисунок 1.2 – Разграничение доступа

Были созданы имена для входа на уровне сервера (рисунок 1.3).

4

Рисунок 1.3 – Создание имен для входа на уровне сервера

Были созданы имена пользователей для входа на уровне БД, используя зарегистрированные логины (рисунок 1.4).

Рисунок 1.4 – Создание имен для входа на уровне БД

Каждый созданный пользователь был наделен ролью, созданной ранее (рисунок 1.5).

Рисунок 1.5 – Наделение ролью

Чтобы была возможность подключаться к СУБД, имея логин и пароль, были выставлены соответствующие разрешения (рисунок 1.6, рисунок 1.7).

5

Рисунок 1.6 – Свойства сервера

Рисунок 1.7 – Выбор проверки подлинности

6

Было выставлено разрешение на подключение к SQL Server с помощью протокола TCP/IP в диспетчере конфигурации SQL Server (рисунок 1.8).

Рисунок 1.8 – Разрешение на подключения по протоколу TCP/IP

Был выполнен перезапуск служб SQL. Было выполнено подключение к СУБД, используя данные, позволяющие войти с ролью «recruiter» (рисунок 1.9).

Рисунок 1.9 – Подключение к СУБД

7

Таблицы, которые теперь доступны для пользователя с данной ролью представлены на рисунке 1.10.

Рисунок 1.10 – Доступные таблицы

Был проверен функционал роли (рисунок 1.11).

Рисунок 1.11 – Проверка команды SELECT для роли «recruiter»

8

Рисунок 1.12 – Проверка команды UPDATE для роли «recruiter»

Рисунок 1.13 – Проверка команды INSERT для роли «recruiter»

Рисунок 1.14 – Проверка команды DELETE для роли «recruiter»

9

Заключение

В ходе выполнения данной работы были изучены принципы работы разделения прав доступа в базах данных на примере СУБД MS SQL Server.

10