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

5 семестр / 5 лаба

.docx
Скачиваний:
7
Добавлен:
03.11.2023
Размер:
2.16 Mб
Скачать

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

Федеральное государственное бюджетное образовательное учреждение высшего образования

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

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

МАСКИРОВАНИЕ

Отчет по лабораторной работе №5

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

Студент гр. ***-*

_______

__.__.2023

Руководитель

младший преподаватель каф. КИБЭВС

_______ Р.Д. Сахарбеков

__.__.2023

Томск 2023

Введение

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

Необходимо выполнить задание согласно варианту 2: Данные о сотрудниках нужны практически всему начальственному составу организации и практически всему отделу кадров. Если многие данные о сотрудниках действительно нужны для работы, то номер паспорта в бизнес-процессе нужен далеко не всем. Правда, в рамках компании, поскольку она расположена в Америке, используется несколько другой номер – social security number, который является частным случаем более общего понятия – national identification number.

1 ХОД РАБОТЫ

1.1 Маскирование

Сначала необходимо применить функцию маскирования для столбца «NationalIDNumber» в таблице «HumanResources.Employee». На рисунке 1.1 представлена данная таблица без маскирования.

Рисунок 1.1 – Необходимая таблица

После нужно создать запрос для того, чтобы включить маскирование. Сначала нужно использовать функция «partial», то есть открытыми будут только первые три символа national identification number, а остальные будут замаскированы символом «*» (рисунок 1.2).

Рисунок 1.2 - Маскирование необходимого столбца

На рисунке 1.3 представлены значения тысячи строк для отображения незамаскированных данных.

Рисунок 1.3 - Незамаскированные данные для тысячи строк

У текущей учетной записи есть полные права на просмотр данных, включая право на просмотр немаскированных данных. Далее необходимо создать нового пользователя, выдать ему право «SELECT» на рассматриваемую таблицу и просмотреть данную таблицу. При попытке маскировки данных с динамическими данными база данных выдает ошибку, и не даёт маскировать данные (рисунок 1.4).

Рисунок 1.4 – Ошибка маскировки данных

Не все пользователи должны видеть замаскированное значение. Право на просмотр немаскированных значений выдается пользователю или роли и распространяется на всю базу данных целиком, без спецификации конкретных столбцов и таблиц. Для этого необходимо дать новому пользователю разрешение на просмотр незамаскированных данных, то есть нужно сделать запрос с правом «UNMASK» (рисунок 1.5).

Рисунок 1.5 - Выдача права «UNMASK» для нового пользователя

После выдачи прав нужно просмотреть данные от имени недавно созданного пользователя (рисунок 1.6).

Рисунок 1.6 – Незамаскированные данные

Аналогичным образом, с помощью команды REVOKE, разрешение отменяется, то есть новый пользователь снова будет видеть замаскированные данные (рисунок 1.7). На рисунке 1.8 представлен результат нового запроса.

Рисунок 1.8 – Отмена права «UNMASK»

Рисунок 1.8 - Результат запроса для нового пользователя

Маскирование можно удалить при помощи запроса (рисунок 1.9). На рисунке 1.10 представлены данные таблицы после удаления маскирования, данные всегда являются немаскированными, так как нет прав доступа для обращения к данному столбцу.

Рисунок 1.9 – Запрос на удаление маскирования

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

Чтобы изменить функции маскирования необходимо воспользоваться командой изменения столбца с ключевым словом MASKED и указанием функции маскирования такой, как «’email()’» (рисунок 1.11). Функция «Email» – это маскирование для адреса электронной почты (остаются открытыми первая буква электронного адреса, @ и постоянный суффикс .com, остальные символы заменяются на Х). На рисунке 1.12 представлен результат применения функции, на nwarchar данных, функция не должна маскировать символы.

Рисунок 1.12 - Применение функции email()

Рисунок 1.13 – Результат применения функции

Заключение

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

Отчет составлен согласно ОС ТУСУР 2021.

Соседние файлы в папке 5 семестр