Управление доступом к данным
Управление доступом При решение вопроса о разворачивании сервера БД MS SQL Server 2000 необходимо решить вопросы защиты данных и установить определенную политику безопасности доступа к объектам базы данных для пользователей и администраторов системы.SQL Server 2000 позволяет обеспечить защиту информации в БД и разграничить доступ на основе ролевой политики безопасности.
Проверка подлинности Для того, чтобы пользователь мог работать с БД или выполнять задания на уровне сервера, СУБД первоначально проверяет его подлинность (выполняется аутентификация пользователя).SQL Server 2000 поддерживает два режима проверки подлинности:Проверка подлинности средствами Windows;Проверка подлинности средствами SQL Server.
Проверка подлинности средствами Windows Если пользователь прошел проверку подлинности в домене и является зарегистрированным пользователем, то операционная система предлагаем экземпляру SQL Server 2000 доверять результатам этой проверки и предоставлять доступ на основании и указанных имени и пароля.Для подтверждения подлинности в Windows 2000/2003 передается билет Kerberos. SQL Server проверяет полученный билет и предоставляет или отказывает в доступе.
Проверка подлинности средствами SQL Server 2000 При использовании проверки подлинности средствами SQL Server 2000 пользователь передает серверу свои имя и пароль. При проверке имени SQL Server сравнивает переданное имя со списком зарегистрированных пользователей (хранятся в системной таблице sysxlogins), далее зашифровывает пароль и сравнивает с зашифрованным паролем в таблице.
Возможности защиты при проверке различными методами подлинности
Клиентские сетевые библиотеки и проверка подлинности Для работы с удаленным сервером необходимо, чтобы на клиентском компьютере были установлены необходимые сетевые библиотеки. По умолчанию на SQL Server устанавливаются следующие библиотеки TCP/IP Sockets и Named Pipes.При использовании библиотек Multiprotocol и Named Pipes подключение с компьютера не имеющего доверенных отношений с доменом к SQL Server невозможно.
Выбор режима проверки подлинности Выбор проверки подлинности выбирается, как правило, при установки SQL Server 2000.Смена режима проверки подлинности после установки может быть выполнена с помощью SQL Server Enterprise Manager.Для этого необходимо выбрать нужный экземпляр SQL Server 2000 и в контекстном меню открыть закладку Security
Авторизация пользователей После завершения проверки подлинности пользователь может выполнять операции с данными или административные задачи только с теми БД, для которых ему предоставлены соответствующие разрешения доступа.SQL Server имеет несколько предопределенных ролей уровня сервера, обладающих правами администрирования. Данные роли не могут быть удалены или изменены их права.Чтобы предоставить данные права пользователю, необходимо добивать его учетную запись в состав роли сервера.
Роли сервера SQL Server 2000
Роли сервера SQL Server 2000
Разрешение уровня базы данных При подключении к SQL Server автоматически не предоставляется право доступа к БД. Кроме участников роли sysadmin никто не имеет прав на уровне БД. Для работы с БД необходимо предоставление прав на уровне БД.Разрешение можно предоставлять (grant), блокировать (deny) и отзывать (revoke).К разрешениям уровня БД относятся: разрешение на создание объектов, администрирование БД, выполнение операторов T-SQL, вставка данных в таблицы, просмотр данных.
Разрешения, назначаемые на уровне БД
Разрешения, назначаемые на уровне БД
Фиксированные роли базы данных
Фиксированные роли базы данных
Создание и управление учетными записями SQL Server Enterprise Manager позволяет в интерактивном режиме сопоставить учетную запись пользователя с регистрационной записью сервера, создавать регистрационную запись.Для создания учетной записью можно воспользоваться мастером Create Login Wizard или собственными средствами Enterprise Manager
Мастер Create Login Wizard Мастер может быть вызван из меню Tools в Enterprise ManagerДалее необходимо выбрать соответствующий мастер в группе Database
Работа мастера Create Login Wizard
Создание учетной записи средствами Enterprise Manager Для управления учетными записями в Enterprise Manager используется контейнер Security.Для создания новой записи необходимо выбрать объект Logins и используя контекстное меню выбрать команду New Login.
Создание учетной записи средствами Enterprise Manager
Выбор ролей сервера для учетной записи
Предоставление доступа к БД
Создание пользовательской роли БД Для создания пользовательской роли базы данных, выберите необходимую базу данных. Раскройте список объектов и выберите объект Roles.С помощью контекстного меню вызывается команда New Database Role.
Создание пользовательской роли БД После создания роли, установка разрешений выполняется с помощью команды Permissions в свойствах роли.
Системные процедуры администрирования учетных записей Windows Данные системные процедуры могут выполняться только участниками ролей sysadmin и securityadmin
Системные процедуры администрирования учетных записей SQL Server Данные системные процедуры могут выполняться только участниками ролей sysadmin и securityadmin
Роли сервера Системные хранимые процедуры, используемые для добавления и удаления участника роли сервера. Только участники роли sysadmin могут добавлять учетные записи к любой роли.
Доступ к базе данных Системные хранимые процедуры для добавления и удаления учетных записей для доступа к БД. Могут выполняться только участниками роли db_accessadmin и db_owner
Роли базы данных Системные хранимые процедуры для изменения владельца БД, добавления и удаления регистрационных записей.
Просмотр информации о правах доступа Системные хранимые процедуры, возвращающие информацию о правах доступа