
5 семестр / Болтушкин Л.С., группа 712-2, лабораторная 3
.docxМинистерство науки и высшего образования Российской Федерации
Федеральное государственное автономное образовательное учреждение высшего образования
ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОННИКИ (ТУСУР)
Кафедра комплексной информационной безопасности электронно-вычислительных систем (КИБЭВС)
ЗАЩИТА НА УРОВНЕ СТРОК
Отчет по лабораторной работе №3
по дисциплине «Безопасность систем баз данных»
Студент гр. 712-2 ___________ Л.С. Болтушкин __________
Руководитель Старший преподаватель кафедры КИБЭВС
_______ __________ Н.А. Новгородова
__________
Томск 2024
Введение
Целью данной лабораторной работы является изучение принципов работы защиты на уровне строк (Row-Level Security) на примере СУБД Microsoft SQL Server.
Задачи:
1) Создать пользователя со своим ФИО_номер группы, аналогично действиям по созданию пользователя во второй лабораторной работе;
2) Выдать пользователю все стандартные права доступа (Выборка, Вставка, Обновление, Удаление, которые соответствуют правам на выполнение запросов SELECT, INSERT, UPDATE, DELETE соответственно);
3) Выбрать любую таблицу из БД, найти в ней столбцы, содержащие цифру (от 1 до 9) и разграничить доступ в соответствии с этим.
Задание согласно варианту №3 – Работа в рамках своего отдела (параметр: название отдела).
1 ХОД РАБОТЫ
1.1 Общее задание лабораторной работы
Для начала следует открыть базу данных AdventureWorks2017 и найти в ней таблицу Sales.SalesOrderHeader (рисунок 1.1).
Рисунок 1.1 – Таблица «Sales.SalesOrderHeader»
Следует создать имя входа в СУБД (рисунок 1.2), затем создать пользователя в базе данных AdventureWorks2017 (рисунок 1.3). После этого пользователю выдаются стандартные права доступа (рисунок 1.4).
Рисунок 1.2 – Создание имени входа
Рисунок 1.3 – Создание пользователя
Рисунок 1.4 – Выдача прав пользователю
1.2 Индивидуальное задание
Необходимо выполнить индивидуальное задание согласно варианту №3: работа в рамках своего отдела (параметр: название отдела). Затем выбрать таблицу HumanResources.EmployeeDepartamentHistory, так как в этой таблице находятся нужные данные для поиска отделов и создать функцию, которая сможет просматривать информацию со столбца BusinessEntity. Имя пользователя сравнивалось с ID в таблице.
Таблица HumanResources.EmployeeDepartamentHistory с подробными строками и столбцами представлена на рисунке 1.5.
Рисунок 1.5 – Таблица «HumanResources.EmployeeDepartamentHistory»
Создание нового пользователя и функции согласно варианту №3 показана на рисунке 1.6.
Рисунок 1.6 – Создание нового пользователя и функции
На основе уже созданной функции была создана политика безопасности, которая фильтровала и блокировала неудовлетворяющую информацию (рисунок 1.7).
Рисунок 1.7 – Политика безопасности
Для работы политики безопасности новоиспеченному пользователю были выданы права (рисунок 1.8).
Рисунок 1.8 – Выдача прав пользователю
Далее с помощью команды была выведена таблица, которая была бы видна при входе пользователя и его запросе информации из таблицы (рисунок 1.9).
Рисунок 1.9 – Подтверждение работы
Заключение
В ходе выполнения данной лабораторной работы были закреплены навыки работы создания новых ролей для базы данных, а также изучены принципы работы защиты на уровне строк на примере СУБД Microsoft SQL Server.
Отчет составлен согласно ОС ТУСУР 01-2021.