Для доступа приложений к базам данных им также понадобятся права. Чаще всего приложениям выдаются те же права, которые предоставлены пользователям, запускающим эти приложения. Однако для работы некоторых приложений необходимо иметь фиксированный набор прав доступа, не зависящих от прав доступа пользователя. SQL Server 2000 позволяет предоставить такие с применением специальных ролей приложения.
Итак, на уровне сервера система безопасности оперирует следующими понятиями:
О аутентификация (authentication);
О учетная запись (login);
О встроенные роли сервера (fixed server roles).
На уровне базы данных используются следующие понятия: О пользователь базы данных (database user); О фиксированная роль базы данных (fixed database role); О пользовательская роль базы данных (users database role); О роль приложения (application role).
Режимы аутентификации
SQL Server 2000 может использовать два режима аутентификации пользователей: О режим аутентификации средствами Windows NT/2000 (Windows NT Authentication);
О смешанный режим аутентификации (Windows NT Authentication and SQL
Server Authentication).
Смешанный режим позволяет пользователям регистрироваться как средствами Windows NT, так и средствами SQL Server. Кроме того, этот режим предлагает некоторые удобства по сравнению с первым. В частности, при аутентификации только средствами домена Windows NT, если пользователь не имеет учетной записи в домене Windows NT, то он не сможет получить доступа к серверу баз данных. Смешанный режим аутентификации позволяет избежать этой проблемы.
При выборе режима аутентификации следует исходить как из требований обеспечения наибольшей безопасности, так и из соображений простоты администрирования. Если ваша организация небольшая и должности администратора сети и администратора баз данных совмещает один человек, то удобнее использовать аутентификацию Windows NT. Если же в организации сотни пользователей и функции системного администратора и администратора баз данных выполняют различные люди, то может оказаться, что аутентификация средствами SQL Server удобнее. В противном случае человеку, занимающемуся администрированием сервера баз данных, придется постоянно обращаться к системному администратору для создания нового пользователя, смены пароля или для перевода пользователя из одной группы в другую. К тому же системный администратор будет иметь возможность назначать права доступа по своему усмотрению, а это совсем ни к чему.
С другой стороны, каждый пользователь организации, скорее всего, имеет в домене учетную запись, администрированием которой занимается системный администратор. Благодаря аутентификации Windows NT администратор баз данных может использовать уже готовые учетные записи, а не отвлекаться на создание новых.
Обратите внимание, что речь идет только о праве подключения пользователя к серверу баз данных. После регистрации пользователя в SQL Server способ проверки прав доступа к конкретной базе данных одинаков для обоих режимов аутентификации.
Режим аутентификации SQL Server
Для установки соединения с сервером SQL Server 2000, находящемся в домене, с которым не установлены доверительные отношения, можно использовать аутентификацию SQL Server. Аутентификация SQL Server также используется, когда вообще нет возможности зарегистрироваться в домене. Например, при подключении к SQL Server 2000 по Интернету.
При работе с аутентификацией SQL Server доступ также предоставляется на основе учетных записей. Но в этом случае используются учетные записи SQL Server, а не Windows NT.
Для аутентификации средствами SQL Server Server член стандартной роли сервера sysadmin или securityadmin должен создать и сконфигурировать для пользователя учетную запись, в которую входит имя учетной записи, уникальный идентификатор SQL Server и пароль. Вся эта информация будет храниться в системной базе master. Создаваемая учетная запись не имеет отношения к учетным записям Windows NT.