Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб_админ_инф_сист2.doc
Скачиваний:
21
Добавлен:
26.03.2015
Размер:
1.98 Mб
Скачать

Управление правами доступа

В предыдущих разделах мы рассмотрели, какие классы прав доступа существуют в базах данных SQL Server 2000. В этом разделе описывается предоставление и запрещение пользователям доступа к объектам базы данных. Когда в базе данных создается новый пользователь, то для него не установлены явно никакие права доступа. Но поскольку новый пользователь автоматически является членом фиксированной роли базы данных public, то он автоматически получает набор прав, выданный для этой роли. Если же такого набора прав не достаточно, то необходимо явно предоставить доступ(allow access) к тому или иному объекту базы данных. До тех пор пока администратор не предоставит пользователю необходимые права доступа, тот не сможет выполнять никаких действий с объектами базы данных. Права доступа могут быть выданы пользователю непосредственно или как член роли базы данных. Необходимо быть внимательным, планируй права доступа пользователей к объектам базы данных и выдавая им разрешения на выполнение команд Тгansact SQL. Включив по неосторожности пользователя в ту или иную группу Windows NT или роль базы данных, можно предоставить ему лишние права. При управлении правами доступа нужно помнить, что аутентификация Windows NT имеет приоритет над аутентификацией SQL Server. Рассмотрим следующую ситуацию. Администратор планирует доступ пользователю Reader базы данных, в которого отображается учетная запись (login) SQL Server с именем Liliya. Но пользователь домена, регистрирующийся на сервере поя учетной записью Liliya, состоит в груше Windows NT для которой сконфигурирована учетная запись NTGroup3. Эта учетная запись отображается в пользователя Editor, которому предоставлены права доступа, существенно отличающиеся от прав доступа пользователя Reader. В итоге пользователь домена получит набор прав, который ему не положен.

Для более гибкого управления правами доступа пользователей к данным, хранящимся в таблицах базы данных, можно устанавливать эти права на уровне отдельного столбца. Также необходимо грамотно предоставлять пользователям права на выполнение команд Transact-SQL Тщательное планирование прав доступа позволит в будущем избежать многих проблем.

Управление правами доступа пользователей с помощью Enterprise Manager возможно двумя способами:

Со стороны объекта. В панели Enterprise Manager необходимо выбрать объект, разрешениями к которому предполагается управлять, и открыть окно его свойств, для чего можно дважды щелкнуть левой кнопкой мыши на объекте или в его контекстном меню выбрать команду Properties. Для управления собственно разрешениями в появившемся диалоговом окне необходимо нажать кнопку Permissions, что приведет к открытию окна Object Properties (рис. 3.5). Центральную часть окна занимает список, в котором перечисляются все имеющиеся в базе данных пользователи (за исключением пользователя dbо), роли приложения, пользовательские роли базы данных, а также фиксированная роль базы данных public. Имена пользователей приводятся в самом левом столбце. Следующие столбцы содержат флажки, в которых указывается выданное разрешение для каждой из возможных категорий доступа. Пустой флажок соответствует неявному отклонению доступа, с галочкой - предоставлению доступа, а перечеркнутый крест-накрест - запрещению доступа. Раскрывающийся список Object содержит набор всех объектов, имеющихся в базе данных Для просмотра и управления правами другого объекта достаточно выбрать его в списке Object.

Co стороны пользователя. В панели Enterprise Manager нужно выбрать пользователя, правами которою предполагается управлять. Список пользователей можно найти в папке Users, имеющейся в каждой базе данных. Управление разрешениями пользователя осуществляется с помощью окна Database User Properties (рис. 3.6), открыть которое можно с помощью кнопки Permissions к окне свойств пользователя. Окно содержит список всех объектов, имеющихся в базе данных, включая и системные. Управление типом разрешения для каждой из категорий доступа осуществляется с помощью флажков. Раскрывающийся список Database user содержит перечень всех пользователей, созданных в базе данных. Для конфигурирования прав доступа другого пользователя достаточно выбрать его имя в списке Database user. Данный список содержит также и пользователя dbo. Если выбрать его в списке, можно увидеть, что ему предоставлены возможные категории доступа ко всем объектам базы данных. Однако изменять права доступа пользователя dbo нельзя. Управление разрешениями со стороны пользователя также включает предоставление прав на уровне пользовательских ролей базы данных. Конфигурирование прав доступа ролей выполняется аналогично управлению правами доступа пользователей. Единственно, необходимо нажать кнопку Permissions не в окне свойств пользователя, а в окне свойств роли. Список ролей с указанием их типа (фиксированная или пользовательская) можно найти в папке Roles, имеющейся в каждой базе данных. Допускается управление разрешениями для любой из пользовательских баз данных и фиксированной роли public. Управление правами доступа других фиксированных ролей не разрешено. Отметим, что при работе с Enterprise Manager, поставляемым в составе SQL Server 2000, существует возможность управлять правами доступа не только к таблице целиком, но и к конкретному столбцу в отдельности. Для этого достаточно выбрать в окне Database User Properties нужную таблицу или представление и нажать кнопку Columns. В ответ откроется окно Colums Permissions (рис. 3.7.), с помощью которого и выполняется управление правами доступа к столбцу.

Рис. 3.6. Окно Database User Properties базы данных pubs.

Рис. 3.7. Окно Column Permissions

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]