Практическое руководство. Доступ к серверу SQL Server с помощью учетной записи пользователя сопоставленного домена Windows
Обновлен: Ноябрь 2007
По умолчанию в Microsoft Windows 2000 и Microsoft Windows XP приложения ASP.NET выполняются в контексте учетной записи локального пользователя с именем ASPNET и в Windows Server 2003 — в контексте учетной записи локального пользователя с именем NETWORK SERVICE. Эти учетные записи пользователя имеют ограниченные права доступа. Тем не менее учетная запись ASPNET является локальной на веб-сервере. Поскольку учетная запись ASPNET является локальной для веб-сервера, она не распознается в качестве пользователя на удаленных компьютерах. Чтобы обойти это ограничение, можно запустить приложение в контексте пользователя домена Windows, который распознается и на веб-сервере, и на компьютере, работающем под управлением SQL Server.
Сопоставление процесса приложения учетной записи пользователя домена Windows требует следующей настройки:
Веб-сервер.
Необходимо убедиться, что указанная учетная запись пользователя домена Windows обладает достаточными (но не больше) правами пользователя для запуска веб-приложения.
Приложение.
Необходимо настроить файл Web.config для ASP.NET для распознавания имени учетной записи пользователя домена.
Примечание.
Сведения о файлах Machine.config и Web.config см. в разделе Общие сведения о конфигурационном ASP.NET.
Строка подключения.
При создании строк подключения для объектов подключения в приложении необходимо указать, что строки подключения будут использовать встроенную систему безопасности Windows.
SQL Server.
Необходимо добавить указанную учетную запись пользователя домена в качестве пользователя сервера SQL Server.
Настройка учетной записи пользователя на компьютере веб-сервера
Установка прав для учетной записи пользователя домена Windows
На компьютере веб-сервера с помощью средств администрирования Windows необходимо убедиться, что сопоставленная учетная запись пользователя домена Windows обладает необходимыми правами пользователя.
Подробные сведения см. в разделе Обязательные списки управления доступом (ACL) ASP.NET.
Запустите файл aspnet_regiis.exe с ключом -ga, чтобы предоставить общие права пользователей, необходимые для удостоверения, которое будет использоваться для олицетворения приложения.
Сопоставление с учетной записью пользователя Windows и разрешение олицетворения
После установки правильных прав пользователя для учетной записи пользователя в домене настройте удостоверение приложения для олицетворения.
![]() |
---|
При помещении учетных данных пользователя в файл Web.config возникает потенциальная угроза безопасности. Пользователи с правами доступа к каталогу, содержащему файл Web.config, могут читать файл, и, таким образом, видеть учетные данные. Сведения о защите против этой угрозы, см. в Шифрование сведений о конфигурации с помощью функции защищенной конфигурации. |
Настройка веб-приложения для олицетворения
Откройте файл Web.config приложения и затем добавьте следующий код удостоверения для олицетворения:
<identity impersonate="true" userName="domain\username" password="********"/>
Подставьте правильный пароль для значения, указанного в предыдущем примере.
Примечание.
Элементы в файле Web.config чувствительны к регистру.
Использование безопасности Windows в строке подключения
Наконец, после создания строк подключения для доступа к базе данных, настройте их для использования встроенной безопасности Windows.
Использование встроенной безопасности Windows в строке подключения
При создании строки подключения для приложения не включайте в нее имя пользователя и пароль. Вместо этого для строки подключения установите для атрибута Integrated Security значение SSPI.
В следующем примере показана строка подключения, включающая необходимые атрибуты:
data source=myserver;initial catalog=northwind;Integrated Security=SSPI
Настройка сервера SQL Server для встроенной безопасности
В Windows выберите Пуск, Microsoft SQL Server и затем — Enterprise Manager.
Откройте узел сервера и разверните его для базы данных, для которой нужно предоставить права пользователя.
Щелкните правой кнопкой мыши значок Пользователи и выберите пункт Новый пользователь базы данных.
В диалоговом окне Database User Properties в поле Login name введите домен\имя_пользователя и нажмите кнопку ОК.