Лабораторная работа № 9 - Безопасность в MS SQL Server
Цель работы: Познакомиться с политикой безопасности MS SQL Server, с возможностями Transact – SQL по созданию схем, логинов, пользователей и определения прав пользователей. Научиться организовывать со стороны клиентского приложения удаленное управление правами доступа к данным БД. Задание №1: Создание логинов, пользователей и предоставление прав пользователям средствами transact-sql. Указание: Перед выполнением работы ознакомьтесь с теоретическим материалом в презентации к лекции Введение в SQL Server, тема Безопасность. Ход работы: 1. Запустите MS SQL Server Management Studio, подключитесь к серверу, используя технологию 1 2. Выберите контекстом свою базу данных свою БД, используя технологию 6 3. Найдите на панели инструментов среды кнопку «Создать запрос» и нажмите ее. 4. С помощью команд Transact – SQL создадим новый логин для вашей базы данных с именем «qwerty» и паролем «123456». Для создания логинов используется запрос CREATE LOGIN. Ознакомьтесь с синтаксисом запроса, представленным на рисунке 20. Рисунок 20 – Синтаксис запроса Create Login 5. Для создания нашего логина необходимо набрать и выполнить следующий запрос: CREATE LOGIN qwerty WITH PASSWORD='123456' 6. После создания логина, можно приступить к созданию пользователя для этого логина. Создадим одноименного пользователя «qwerty». Для создания пользователей используется запрос CREATE USER. Ознакомьтесь с синтаксисом запроса, представленным на рисунке 21. Рисунок 21 – Синтаксис запроса Create User 7. Для создания нашего пользователя необходимо набрать и выполнить следующий запрос: CREATE USER qwerty FOR LOGIN qwerty 8. После добавления логина и пользователя отключитесь от сервера, нажав в обозревателе объектов кнопку «Отключить», изображение которой представлено на рисунке 22. Рисунок 22 – Отключение от сервера 9. Подключитесь к серверу с помощью нажатия на кнопку «Подключение» под именем qwerty с паролем 123456 10. Разверните в обозревателе объектов свою БД, разверните узел «Таблицы» и убедитесь, что данный пользователь не имеет доступа ни к каким таблицам БД. 11. Отключитесь и подключитесь заново к серверу с правами администратора (то есть пользователь sa). 12. Добавим для пользователя qwerty возможность просмотра таблицы Модель и добавления записей в таблицу Модель. Для передачи прав пользователю используется SQL запрос GRANT. Ознакомьтесь с синтаксисом запроса, представленным на рисунке 23. Рисунок 23 – Синтаксис запроса GRANT 13. Для передачи прав пользователю qwerty на просмотр и добавления записей в таблице Модель необходимо набрать и выполнить следующие два запроса: Grant Select On модель to qwerty; Grant Insert On модель to qwerty; 14. После успешного выполнения предыдущих запросов, отключитесь и подключитесь заново к серверу как пользователь qwerty. 15. Разверните в обозревателе объектов свою БД, разверните узел «Таблицы»à таблица Модель, просмотрите записи, добавьте новую и убедитесь, что данный пользователь имеет права просмотра и добавления для таблицы.
Задание №2: В среде MS Visual Studio необходимо создать Windows-приложение, которое позволит добавлять новых пользователей для вашей БД вида, представленного на рисунке 24. Рисунок 24 – Форма для добавления пользователя Ход работы: 1. Добавьте в проект новую форму. Добавьте на форму следующие компоненты: 2 Label, 2 textBox, 1 Button и измените их свойства в соответствии с рисунком 24. 2. Добавьте обработчик для открытия только что добавленной формы при выборе в главном меню проекта пункта Администрированиеà Добавить пользователя. 3. Добавьте в код формы ссылку на пространства имен для работы с объектами ADO: Imports System.Data Imports System.Data.SqlClient 4. В коде формы «Добавить пользователя», в процедуре-обработчике кнопки «Добавить» опишите переменную и создайте экземпляр объекта Connection и задайте ей параметры подключения, используя технологии 9, 10. 5. Опишите переменную и создайте экземпляр объекта Cоmmand, используя технологию 11. Создаваемый вами объект Command должен быть подключен к ранее (в четвертом пункте) созданному объекту Connection. 6. Задайте для только что созданного объекта Command текст запроса на добавление логина (CREATE LOGIN) с использованием информации из текстовых полей на форме, используя технологию 12 ИЛИ технологию 13. 7. Откройте подключение к БД, используя технологию 15. 8. Выполните одним из методов объект Command, используя ОДНУ из следующих технологий 16, 17, 18. 9. Закройте подключение к БД, используя технологию 15. 10. Запустите проект, добавьте нового пользователя к вашей БД. 11. Подключитесь к базе данных МММ в среде MS SSMS, используя технологию 1 под именем только что добавленного пользователя. Убедитесь что это возможно.
Задание №3. В среде MS Visual Studio необходимо создать Windows-приложение, которое позволит добавлять новых пользователей для вашей БД вида, изображенного на рисунке 25. Рисунок 25 – Форма для добавления привилегий пользователя Ход работы: 1. Добавьте в проект новую форму. Добавьте на форму следующие компоненты: 3 Label, 2 ComboBox, 1 textBox, 1 Button и измените их свойства в соответствии с рисунком 25. В список ComboBox1 занести перечень значений: · INSERT; · UPDATE; · DELETE. В список ComboBox2 занести перечень значений = название таблиц Вашей БД, например: · Модель; · Готовый_продукт; · Заказ; · Состав_заказа; · Магазин. 2. Добавьте обработчик для открытия только что добавленной формы при выборе в главном меню проекта пункта Администрированиеà Добавить права для пользователя 3. Добавьте в код формы ссылку на пространства имен для работы с объектами ADO: Imports System.Data Imports System.Data.SqlClient 4. В коде формы «Добавить права для пользователя», в процедуре-обработчике кнопки «Назначить привилегию» опишите переменную и создайте экземпляр объекта Connection и задайте ей параметры подключения, используя технологии 9, 10. 5. Опишите переменную и создайте экземпляр объекта Cоmmand, используя технологию 11. Cоздаваемый вами объект Command должен быть подключен к ранее созданному объекту Connection. 6. Задайте для только что созданного объекта Command текст запроса на добавление Прав пользователю (GRANT) с использованием информации из полей со списком и текстовых полей на форме, используя технологию 12 ИЛИ технологию 13. 7. Откройте подключение к БД, используя технологию 15. 8. Выполните одним из методов объект Command, используя ОДНУ из следующих технологий 16, 17, 18. 9. Закройте подключение к БД, используя технологию 15. 10. Запустите проект, добавьте для какого-либо пользователя права на просмотр таблицы Модели вашей БД. 11. Подключитесь к базе данных МММ в среде MS SSMS под именем только что добавленного пользователя. Убедитесь что возможно просматривать записи из таблицы Модели.
|