При решение вопроса о разворачивании сервера БД необходимо решить вопросы защиты данных и установить определенную политику безопасности доступа к объектам базы данных для пользователей и администраторов системы. При решение вопроса о разворачивании сервера БД необходимо решить вопросы защиты данных и установить определенную политику безопасности доступа к объектам базы данных для пользователей и администраторов системы. MS SQL Server 2005 позволяет обеспечить защиту информации в БД и разграничить доступ на основе ролевой политики безопасности.
Для того, чтобы пользователь мог работать с БД или выполнять задания на уровне сервера, СУБД первоначально проверяет его подлинность (выполняется аутентификация пользователя). Для того, чтобы пользователь мог работать с БД или выполнять задания на уровне сервера, СУБД первоначально проверяет его подлинность (выполняется аутентификация пользователя). SQL Server 2005 поддерживает два режима проверки подлинности: Проверка подлинности средствами Windows; Проверка подлинности средствами SQL Server.
Если пользователь прошел проверку подлинности в домене и является зарегистрированным пользователем, то операционная система предлагаем экземпляру SQL Server 2005 доверять результатам этой проверки и предоставлять доступ на основании и указанных имени и пароля. Если пользователь прошел проверку подлинности в домене и является зарегистрированным пользователем, то операционная система предлагаем экземпляру SQL Server 2005 доверять результатам этой проверки и предоставлять доступ на основании и указанных имени и пароля. Для подтверждения подлинности в Windows 2000/2003 передается билет Kerberos. SQL Server проверяет полученный билет и предоставляет или отказывает в доступе.
При использовании проверки подлинности средствами SQL Server 2005 пользователь передает серверу свои имя и пароль. При использовании проверки подлинности средствами SQL Server 2005 пользователь передает серверу свои имя и пароль. При проверке имени SQL Server сравнивает переданное имя со списком зарегистрированных пользователей, далее зашифровывает пароль и сравнивает с зашифрованным паролем в таблице.
Выбор проверки подлинности выбирается, как правило, при установки SQL Server 2005. Выбор проверки подлинности выбирается, как правило, при установки SQL Server 2005. Смена режима проверки подлинности после установки может быть выполнена с помощью SQL Server Management Studio. Для этого необходимо выбрать нужный экземпляр SQL Server 2005 и в контекстном меню открыть раздел Security в свойствах экземпляра SQL Server.
После завершения проверки подлинности пользователь может выполнять операции с данными или административные задачи только с теми БД, для которых ему предоставлены соответствующие разрешения доступа. После завершения проверки подлинности пользователь может выполнять операции с данными или административные задачи только с теми БД, для которых ему предоставлены соответствующие разрешения доступа. SQL Server имеет несколько предопределенных ролей уровня сервера, обладающих правами администрирования. Данные роли не могут быть удалены или изменены их права. Чтобы предоставить данные права пользователю, необходимо добивать его учетную запись в состав роли сервера.
Для получения сведений об участниках серверной роли используется системное представление: Для получения сведений об участниках серверной роли используется системное представление: sys.server_role_members Для добавления существующего логина в число участников роли используется системная хранимая процедура: EXECUTE sp_addsrvrolemember login, fix_server_role Для удаления пользователя из числа участников роли: EXECUTE sp_dropsrvrolemember login, fix_server_role
При подключении к SQL Server автоматически не предоставляется право доступа к БД. При подключении к SQL Server автоматически не предоставляется право доступа к БД. Кроме участников роли sysadmin никто не имеет прав на уровне БД. Для работы с БД необходимо предоставление специальных прав (разрешений) на уровне БД. Разрешение можно предоставлять (grant), блокировать (deny) и отзывать (revoke). К разрешениям уровня БД относятся: разрешение на создание объектов, администрирование БД, выполнение операторов T-SQL, вставка и изменение данных в таблицы, просмотр данных.
Для предоставления доступа к БД необходимо создать учетную запись пользователя БД и связать с логином на уровне сервера БД: Для предоставления доступа к БД необходимо создать учетную запись пользователя БД и связать с логином на уровне сервера БД: CREATE USER user_name FOR LOGIN login_name Для изменения свойств учетной записи: ALTER USER Для удаления учетной записи пользователя БД: DROP USER
SQL Server Management Studio позволяет в интерактивном режиме сопоставить учетную запись пользователя с регистрационной записью сервера, создавать регистрационную запись. SQL Server Management Studio позволяет в интерактивном режиме сопоставить учетную запись пользователя с регистрационной записью сервера, создавать регистрационную запись. Для создания учетной записью можно воспользоваться мастером средствами Management Studio или операторами T-SQL
Для создания пользовательской роли базы данных, выберите необходимую базу данных. Для создания пользовательской роли базы данных, выберите необходимую базу данных. Раскройте список объектов и выберите объект Roles. С помощью контекстного меню вызывается команда New Database Role.
Для создания пользовательской роли базы данных, укажите необходимую базу данных и используемую схему. Для создания пользовательской роли базы данных, укажите необходимую базу данных и используемую схему. USE TSQLDB; CREATE USER NewUser FOR LOGIN NewLogin WITH DEFAULT_SCHEMA=db_datawriter; GO
Данные системные процедуры могут выполняться только участниками ролей sysadmin и securityadmin Данные системные процедуры могут выполняться только участниками ролей sysadmin и securityadmin
Данные системные процедуры могут выполняться только участниками ролей sysadmin и securityadmin Данные системные процедуры могут выполняться только участниками ролей sysadmin и securityadmin
Системные хранимые процедуры, используемые для добавления и удаления участника роли сервера. Только участники роли sysadmin могут добавлять учетные записи к любой роли. Системные хранимые процедуры, используемые для добавления и удаления участника роли сервера. Только участники роли sysadmin могут добавлять учетные записи к любой роли.
Системные хранимые процедуры для добавления и удаления учетных записей для доступа к БД. Могут выполняться только участниками роли db_accessadmin и db_owner Системные хранимые процедуры для добавления и удаления учетных записей для доступа к БД. Могут выполняться только участниками роли db_accessadmin и db_owner
Системные хранимые процедуры для изменения владельца БД, добавления и удаления регистрационных записей. Системные хранимые процедуры для изменения владельца БД, добавления и удаления регистрационных записей.
Системные хранимые процедуры, возвращающие информацию о правах доступа Системные хранимые процедуры, возвращающие информацию о правах доступа
Для установки разрешений можно воспользоваться оператором T-SQL Для установки разрешений можно воспользоваться оператором T-SQL Пример устанавливает разрешение выборки (SELECT) для таблицы CustomerAddress пользователю NewUser: GRANT SELECT ON OBJECT::dbo.CustomerAddress TO NewUser;