2 семестр / БСБД2
.docxМинистерство науки и высшего образования Российской Федерации
Федеральное государственное бюджетное образовательное учреждение высшего образования
«ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ» (ТУСУР)
Кафедра комплексной информационной безопасности электронно-вычислительных систем (КИБЭВС)
Разделение прав доступа
Отчет по лабораторной работе №2
по дисциплине «Безопасность систем баз данных»
Вариант 5
Студент гр. 739-1
Климанов М. Д.
8.10.2021
Руководитель
Преподаватель кафедры
КИБЭВС
__________ Слезкин А.О.
__.__.2021
Томск 2021
Введение
Целью работы является изучение принципов работы разделения прав доступа в базах данных на примере СУБД Microsoft SQL Server.
2 Ход работы
2.1 Прозрачное шифрование данных
На уровне базы данных создадим новую роль (рисунок 2.1.1).
Рисунок 2.1.1 – Создание новой роли
С учетом необходимых прав, определенных на первом шаге, консультанту нужны будут следующие таблицы со следующими правами, которые указаны на рисунке 2.1.2.
Рисунок 2.1.2 – Права доступа
Зададим параметры доступа для таблицы Production.Document (рисунок 2.1.3).
Рисунок 2.1.3 – Права доступа для таблицы ProductDocument
Зададим параметры доступа для таблицы Production.Product (рисунок 2.1.4).
Рисунок 2.1.4 – Права доступа для таблицы Product
Зададим параметры доступа для таблицы Production.ProductCategory (рисунок 2.1.5).
Рисунок 2.1.5 – Права доступа для таблицы ProductCategory
Зададим параметры доступа для таблицы Production.ProductDescription (рисунок 2.1.6).
Рисунок 2.1.6 – Права доступа для таблицы ProductDecription
Зададим параметры доступа для таблицы Production.ProductPhoto (рисунок 2.1.7).
Рисунок 2.1.7 – Права доступа для таблицы ProductPhoto
Зададим параметры доступа для таблицы Production.ProductReview (рисунок 2.1.8).
Рисунок 2.1.8 – Права доступа для таблицы ProductReview
Создадим имя входа с аутентификацией SQL Server (рисунок 2.1.9).
Рисунок 2.1.9 – Создание имени входа с помощью SQL-запроса
Далее необходимо создать имя пользователя в рамках базы данных AdventureWorks2017, как это представлено на рисунке 2.1.10.
Рисунок 2.1.10 – Создание имени пользователя
Создав пользователя, добавим его в созданную роль и войдем от его имени в базу данных (рисунок 2.1.11).
Рисунок 2.1.11 – Успешно выданные права
В процессе работы консультантам не требуется иметь доступ к документации к продукту. Удалим у роли это право, как это сделано на рисунке 2.1.12.
Рисунок 2.1.12 – Отмена роли
Также конкретный созданный пользователь не работает в процессе своей рабочей деятельности с отзывами. Удалим доступ этому пользователю (рисунок 2.1.13).
Рисунок 2.1.13 – Запрет доступа к данным
2.2 Индивидуальное задание
Задание№1:
Согласно варианту, требуется создать имя входа и присвоить ему предопределенную роль сервера согласно указанным в варианте правам. Создать другое имя входа и имя пользователя в рамках базы данных AdventureWorks2017, сопоставить их и присвоить имени пользователя предопределенную роль согласно указанным в варианте правам (рисунок 2.2.1).
Рисунок 2.2.1 - Создание имени входа
Роль sysadmin выдает полный доступ. Присвоение роли сервера sysadmin представлено на рисунке 2.2.2.
Рисунок 2.2.2 – Присвоение роли сервера sysadmin
Было создано другое имя входа и имя пользователя в рамках базы данных, и была присвоена пользователю предопределённая роль согласно сказанным в варианте правам (рисунок 2.2.3 и 2.2.4).
Рисунок 2.2.3 – Создание имени входа
Рисунок 2.2.4 – Создание пользователя
Разграничение доступа представлена ролью db_denydatawriter. Добавим созданного пользователя к этой роли, как это представлено на рисунке 2.2.5.
Рисунок 2.2.5 – Присвоение роли сервера
Задание №2:
Cоздайте роль уровня базы данных и пару имя входа/имя пользователя, определите круг данных, к которым должен выделяться доступ, опишите этот круг, и на основании этого круга выберите минимум 5 таблиц (рассмотрите только 4 права: SELECT, INSERT, UPDATE, DELETE) к ним и выдайте определенные права доступа созданной роли.
Были созданы имя входа и имя пользователя, как это представлено на рисунках 2.2.6 и 2.2.7.
Рисунок 2.2.6 - Создание имени входа
Рисунок 2.2.7 - Создание пользователя
Далее создадим роль buyer1 и присвоим ее пользователю buyer, как это представлено на рисунке 2.2.8.
Рисунок 2.2.8 – Успешно созданная роль
В первую очередь, незарегистрированный покупатель должен иметь доступ к просмотру товаров. Таблица - Production. Product. Выдача прав проиллюстрирована на рисунке 2.2.9
Рисунок 2.2.9 - Выдача прав доступа к Production. Product
Далее незарегистрированный покупатель должен иметь возможность просматривать категории товара. Таблица Production.ProductCategory. Выдача прав проиллюстрирована на рисунке 2.2.10
Рисунок 2.2.10 - Выдача прав доступа к Production.ProductCategory
У пользователя также должна быть возможность просматривать фотографии товаров. Таблица Production.ProductPhoto. Выдача прав показана на рисунке 2.2.11.
Рисунок 2.2.11 - Выдача прав доступа к Production.ProductPhoto
Покупатель должен видеть специальные предложения на данный товар. Таблица Sales.SpecialOfferProduct. Выдача прав показана на рисунке 2.2.12.
Рисунок 2.2.12 - Выдача прав доступа к Sales.SpecialOfferProduct
Также у покупателя есть возможность посмотреть распродажи. Таблица Sales. Store. Выдача прав показана на рисунке 2.2.13.
Рисунок 2.2.13 - Выдача прав доступа к Sales. Store
Таблица с правами доступа представлена ниже:
Таблица 1 – Права доступа к каждой таблице
Права/таблица |
Production. Product |
Production.Pro ductCategory |
Production.P roductPhoto |
Sales.SpecialOfferProduct |
Sales. Store |
INSERT |
+ |
+ |
+ |
+ |
+ |
SELECT |
- |
- |
- |
- |
- |
UPDATE |
- |
- |
- |
- |
- |
DELETE |
- |
- |
- |
- |
- |
3 Заключение
В результате выполнения лабораторной работы были изучены основные принципы работы разделения прав доступа в базах данных на примере СУБД Microsoft SQL Server. Было выполнено индивидуальное задание.