Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
102
Добавлен:
17.02.2016
Размер:
1.44 Mб
Скачать

Роли сервера

Роль — это мощный инструмент, добавленный в SQL Server 7.0, чтобы заменить группы, которые использовались в предыдущих версиях. Роль позволяет объединять пользователей, выполняющих одинаковые функции, для упрощения администрирования системы безопасности MS SQL Server 2000.

В MS SQL Server 2000 реализовано два вида стандартных ролей: на уровне сервера и на уровне баз данных. При установке MS SQL Server 2000 создается 9 фиксированных ролей сервера и 9 фиксированных ролей базы данных. Эти роли вы не сможете удалить, кроме того, нельзя модифицировать права их доступа. Вы не сможете предоставить пользователю права, которые имеют фиксированные роли сервера, другим способом, кроме как включением его в нужную роль.

В предыдущих версиях MS SQL Server 2000 для администрирования сервера можно было использовать только учетную запись sa или ее аналог. Иначе говоря, вы могли дать либо все права, либо никаких. Теперь в MS SQL Server 2000 эта проблема решена путем добавления ролей сервера (server rolе), которые позволяют предоставить операторам сервера только те права, которые администратор посчитает возможным предоставить. Роли сервера не имеют отношения к администрированию баз данных. Можно включить любую учетную запись MS SQL Server 2000 и учетную запись Windows NT в любую роль сервера.

Стандартные роли сервера (fixed server role) и их права приведены в табл. 1.

Табл. 1 Фиксированные роли сервера

РОЛЬ СЕРВЕРА

НАЗНАЧЕНИЕ

sysadmin

Может выполнять любые действия в MS SQL Server 2000

serveradmin

Выполняет конфигурирование и выключение сервера

setupadmin

Управляет связанными серверами и процедурами, автоматически запускающимися при старте MS SQL Server 2000

securityadmin

Управляет учетными записями и правами на создание базы данных, также может читать журнал ошибок

processadmin

Управляет процессами, запущенными в MS SQL Server 2000

dbcreator

Может создавать и модифицировать базы данных

diskadmin

Управляет файлами MS SQL Server 2000

bulkadmin

Эта роль не существовала в MS SQL Server 7.0. Члены роли bulkadmin могут вставлять данные с использованием средств массивного копирования, не имея непосредственного доступа к таблицам

Роли баз данных

Роли базы данных (database role) позволяют объединять пользователей в одну административную единицу и работать с ней как с обычным пользователем. Можно назначить права доступа к объектам базы данных для конкретной роли, при этом вы автоматически наделяете всех членов этой роли одинаковыми правами. Вместо того чтобы предоставлять доступ каждому конкретному пользователю, а впоследствии постоянно следить за изменениями, можно просто включим, пользователя в нужную роль. Если сотрудник переходит в другой отдел, нужно просто удалить его из одной роли и добавить в другую. Создайте необходимое количество ролей, которые охватывали бы все многообразие действий с базой данных. Позже, при изменении функций членов одной из ролей, достаточно изменить права доступа для этой роли, а не устанавливать новые права для каждого пользователя.

В роль базы данных можно включать:

  • пользователей MS SQL Server 2000;

  • роли MS SQL Server 2000;

  • пользователей Windows NT;

  • группы Windows NT, которым предварительно предоставлен доступ к нужной базе данных.

Средства Enterprise Manager позволяют добавлять в роль базы данных только пользователей базы данных (user). Используйте хранимую процедуру sp_addrolemember, чтобы задействовать все возможности MS SQL Server 2000:

  • sp_addrolemember [@rolename =] 'role', [@membername =] 'security_account'

  • Здесь параметры означают следующее:

  • role — название роли SQL Server в текущей базе данных;

  • security_account — имя того объекта системы безопасности, который необходимо включить в роль. В качестве такого объекта могут выступать как учетные записи MS SQL Server 2000, так и пользователи и группы Windows NT, которым предоставлен доступ к серверу баз данных.

При создании базы данных для нее определяются стандартные роли баяы данных, которые, так же как и стандартные роли сервера, не могут быть изменены или удалены. Стандартные роли баз данных (fixed database role) и их права приведены в табл. 2.

Табл. 2 Фиксированные роли баз данных

РОЛЬ БАЗ ДАННЫХ

НАЗНАЧЕНИЕ

db_owner

Имеет все права в базе данных

db_accessadmin

Может добавлять или удалять пользователей

db_securityadmin

Управляет всеми разрешениями, объектами, ролями и членами ролей

db_ddladmin

Может выполнять любые команды DDL, кроме GRANT, DENY и REVOKE

db_backupoperator

Может выполнять команды DBCC, CHECKPOINT и BACKUP

db_datareader

Может просматривать любые данные в любой таблице БД

db_datawriter

Может модифицировать любые данные в любой таблице БД

db_denydatareader

Запрещается просматривать данные в любой таблице

db_denydatawriter

Запрещается модифицировать данные в любой таблице

Кроме указанных выше ролей существует еще одна — public. Эта роль имеет специальное назначение, поскольку ее членами являются все пользователи, имеющие доступ к базе данных. Нельзя явно установить членов этой роли, потому что все пользователи и так автоматически являются ее членами. Используйте эту роль для предоставления минимального доступа пользователям, для которых права доступа к объектам не определены явно. Если в базе данных разрешен пользователь guest, то установленный для public доступ будут иметь все пользователи, получившие доступ к MS SQL Server 2000. Роль public имеется во всех базах данных, включая системные базы данных master, tempdb, msdb, model, и не может быть удалена.

Соседние файлы в папке Методички ИСИС 230401