Раздел II. Управление пользователями и правами доступа к данным 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Раздел II. Управление пользователями и правами доступа к данным



 

1. При помощи пользовательского меню Windows запустите утилиту SQL Server Management Studio. На панели Object Explorer в дереве структуры раскройте папку Databases.

2. Присоедините базу данных СкладХХХ, для чего выберите в контекстном меню папки Databases команду Atach Database, затем в появившемся окне нажмите кнопку Append и далее укажите местоположение первичного файла данных (т.е. файла данных с расширением.mdf). Убедитесь, что база данных СкладХХХ появилась в папке Databases.

3. На панели Object Explorer откройте папку Security и выберите в ней строку Logins. При этом справа на панели Summary будет представлен список так называемых регистрационных записей SQL Server (в которые отображаются, в частности, те учетные записи домена Windows, которым разрешен доступ к серверу Имя_компьютера\sqlexpress). Если среди регистрационных записей присутствуют регистрационные записи ИмяДомена\sql1, ИмяДомена\sql2, ИмяДомена\sql3, ИмяДомена\sql4, то выделите их и затем удалите, выбирая в контекстном меню команду Удалить.

Создайте для SQL Server новую регистрационную запись ИмяДомена\sql1 следующим образом. Выберите в контекстном меню строки Logins команду New Login и откройте окно Login - New. На странице General нажмите кнопку Search (справа от поля ввода Login name), затем выберите из списка учетную запись Windows с именем ИмяДомена\sql1 и вставьте ее в поле ввода Login name. В качестве базы данных по умолчанию выберите СкладХХХ.

На странице Server Roles установите флажок dbcreator, предоставляя тем самым пользователю с учетной записью ИмяДомена\sql1 право создавать новые базы данных и их объекты (другими словами, включите данную учетную запись в фиксированную роль сервера dbcreator).

На странице Database Access установите в верхнем списке флажок СкладХХХ, а в нижнем списке - флажок db_accessadmin, разрешив тем самым пользователю с данной учетной записью управлять добавлением или удалением пользователей в базе данных СкладХХХ (другими словами, включите данную учетную запись в фиксированную роль db_accessadmin базы данных СкладХХХ).

Завершите создание регистрационной записи ИмяДомена\sql1 щелчком на кнопке «OK ».

Аналогичным образом создайте для SQL Server регистрационные записи ИмяДомена\sql2, ИмяДомена\sql3, ИмяДомена\sql4, при этом, однако, не включайте соответствующие им учетные записи Windows ни в одну из фиксированных ролей сервера и ни в одну из фиксированных ролей базы данных СкладХХХ (однако на странице Database Access флажок СкладХХХ в верхнем списке должен быть установлен).

Примечание. Регистрационные записи SQL Server определяют перечень тех пользователей и групп пользователей операционной системы, которые будут иметь доступ к данному SQL Server.

4. На панели Object Explorer раскройте элемент СкладХХХ и далее подчиненную ему папку Security. Затем выберите появившуюся папку Users и убедитесь, что сервер создал новых пользователей ИмяДомена\sql1, ИмяДомена\sql2, ИмяДомена\sql3, ИмяДомена\sql4 (другими словами, отобразил учетные записи Windows ИмяДомена\sql1, ИмяДомена\sql2, ИмяДомена\sql3, ИмяДомена\sql4 в пользователей базы данных СкладХХХ с такими же именами).

5. Для базы данных СкладХХХ создайте три пользовательские роли ( на уровне роли можно легко менять привилегии пользователей-членов роли). Для этого в контекстном меню папки Roles базы данных СкладХХХ, выберите команду New►New Database Role и откройте окно Database Role - New. Затем введите в поле Role name имя новой роли как Гл.бухгалтер, а в поле Owner (владелец) – значение dbo. Далее нажмите кнопку Add, затем Browse и установите флажок в строке ИмяДомена\sql1, завершая выбор двумя нажатиями кнопки ОК. После этого закройте окно Database Role - New также с помощью кнопки ОК.

Аналогичным образом создайте пользовательскую роль с именем Бухгалтера, проставляя флажки в строках ИмяДомена\sql2, ИмяДомена\sql3 и Гл.бухгалтер.

Далее создайте пользовательскую роль с именем Экономисты, проставляя флажки в строках ИмяДомена\sql4 и Гл.бухгалтер.

Примечание1. В SQL Server любой отдельный пользователь (представляющий, в свою очередь, одного или группу пользователей Windows), а также любая отдельная роль может входить в состав нескольких ролей. В свою очередь каждая роль может включать в качестве своих членов несколько пользователей и ролей. В результате пользователи наследуют привилегии, установленные во всех ролях, в которые они входят (прямо, либо косвенно через другие роли).

В нашем случае пользователь ИмяДомена\sql1, помимо привилегий роли Гл.бухгалтер, будет обладать также привилегиями ролей Бухгалтера и Экономисты, в то время как пользователи ИмяДомена\sql2 и ИмяДомена\sql3 будут обладать только привилегиями роли Бухгалтера, а пользователь ИмяДомена\sql4 – только привилегиями роли Экономисты.

Примечание2. В любой базе данных автоматически создается пользователь с именем dbo (d ata b ase o wner), являющийся ее владельцем, также как и все члены фиксированной роли базы данных db_owner. Пользователь dbo имеет абсолютные права по управлению базой данных и его нельзя удалить. Кроме того, пользователь dbo включен в роль db_owner и не может быть удален из нее.

Примечание3. Имеется фиксированная роль базы данных public со специальными функциями. В эту роль нельзя включать пользователей, т.к. любой пользователь, созданный в базе данных, автоматически включается в роль public, и нет никакой возможности исключить его из этой роли. Роль public предназначена для предоставления привилегий по умолчанию всем пользователям, имеющим доступ к данной базе данных.

6. Задайте привилегии для пользовательских ролей базы данных СкладХХХ. Для этого в контекстном меню роли Гл.бухгалтер выберите команду Properties (Свойства) и откройте окно Database Role Properties – Гл.бухгалтер, в котором перейдите на страницу Permissions (Привилегии). Затем с помощью кнопки Add Objects выберите схему dbo (при помощи выпадающего списка), заполнив тем самым таблицу Objects, расположенную в верхней части окна.

В таблице, расположенной в нижней части окна, выполните следующие установки.

Для таблицы Валюта установите привилегии Select (просмотр), Insert (вставка), Update (обновление), Delete (удаление). Для таблицы Заказ установите привилегию Update, а для представления Запрос1 - привилегию Select. Для каждой из таблиц Клиент, Поставщик, Товар установите привилегии Update и Delete. Далее, выбрав таблицу Заказ, нажмите кнопку Column Permissions и в появившемся окне запретите привилегию Update для столбцов ДатаЗаказа и СрокПоставки.

По аналогии задайте привилегии для других пользовательских ролей.

Для роли Бухгалтера каждая из таблиц Заказ, Клиент должна иметь привилегии Select и Insert.

Для роли Экономисты каждая из таблиц Поставщик, Товар должна иметь привилегии Select и Insert.

Кроме того, для роли public таблица Регион должна иметь привилегии Select, Insert, Update, Delete.

Примечание. Запрещение привилегии имеет более высокий приоритет, чем предоставление привилегии. Если пользователю запрещена привилегия на доступ к тому или иному объекту, то система безопасности SQL Server гарантирует, что пользователь не будет иметь ее, даже если она была предоставлена ему через членство в любой другой роли базы данных или группе пользователей Windows.

7. Завершите сеанс работы с операционной системой Windows под учетной записью stud223 и стартуйте сеанс под учетной записью sql1 (пароль sql1).

При помощи пользовательского меню Windows запустите утилиту SQL Server Management Studio.



Поделиться:


Последнее изменение этой страницы: 2017-01-25; просмотров: 207; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.223.171.12 (0.007 с.)