Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 8. Защита БД (1).doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
482.82 Кб
Скачать

Роли сервера

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

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

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

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

Встроенная роль сервера

Назначение

Sysadmin

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

Serveradmin

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

Setupadmin

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

Securityadmin

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

Processadmin

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

Dbcreator

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

Diskadmin

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

Bulkadmin

Члены роли Bulkadmin могут вставлять данные с использованием средств массивного копирования, не имея непосредственного доступа к таблицам

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

Роли базы данных (database role) позволяют объединять пользователей в одну административную единицу и работать с ней как с обычным пользователем.

Можно назначить права доступа к объектам базы данных для конкретной роли, при этом вы автоматически наделяете всех членов этой роли одинаковыми правами. Вместо того чтобы предоставлять доступ каждому конкретному пользователю, а впоследствии постоянно следить за изменениями, можно просто включить пользователя в нужную роль. Если сотрудник переходит в другой отдел, нужно просто удалить его из одной роли и добавить в другую.

Создайте необходимое количество ролей, которые охватывали бы все многообразие действий с базой данных. Позже, при изменении функций членов одной из ролей, достаточно изменить права доступа для этой роли, а не устанавливать новые права для каждого пользователя.

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

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

  • роли SQL Server;

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

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

При создании базы данных для нее определяются стандартные роли базы данных, которые, так же как и стандартные роли сервера, не могут быть изменены или удалены. Стандартные роли баз данных (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, то установленный для publiс доступ будут иметь все пользователи, получившие доступ к SQL Server. Роль public имеется во всех базах данных, включая системные базы данных master, tempdb, msdb, model, И не может быть удалена.

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

Выбор метода администрирования зависит от вас.