Практическое руководство. Доступ к серверу SQL Server с помощью учетной записи пользователя сопоставленного домена Windows

Visual Studio 2010

Обновлен: Ноябрь 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 для распознавания имени учетной записи пользователя домена.

    2xzyzb0f.alert_note(ru-ru,VS.100).gifПримечание.

    Сведения о файлах Machine.config и Web.config см. в разделе Общие сведения о конфигурационном ASP.NET.

  • Строка подключения.

    При создании строк подключения для объектов подключения в приложении необходимо указать, что строки подключения будут использовать встроенную систему безопасности Windows.

  • SQL Server.   

    Необходимо добавить указанную учетную запись пользователя домена в качестве пользователя сервера SQL Server.

Установка прав для учетной записи пользователя домена Windows

  1. На компьютере веб-сервера с помощью средств администрирования Windows необходимо убедиться, что сопоставленная учетная запись пользователя домена Windows обладает необходимыми правами пользователя.

    Подробные сведения см. в разделе Обязательные списки управления доступом (ACL) ASP.NET.

  2. Запустите файл aspnet_regiis.exe с ключом -ga, чтобы предоставить общие права пользователей, необходимые для удостоверения, которое будет использоваться для олицетворения приложения.

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

2xzyzb0f.alert_security(ru-ru,VS.100).gifПримечание о безопасности.

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

Настройка веб-приложения для олицетворения

  • Откройте файл Web.config приложения и затем добавьте следующий код удостоверения для олицетворения:

    <identity impersonate="true" userName="domain\username" password="********"/>
    

    Подставьте правильный пароль для значения, указанного в предыдущем примере.

    2xzyzb0f.alert_note(ru-ru,VS.100).gifПримечание.

    Элементы в файле Web.config чувствительны к регистру.

Наконец, после создания строк подключения для доступа к базе данных, настройте их для использования встроенной безопасности Windows.

Использование встроенной безопасности Windows в строке подключения

  • При создании строки подключения для приложения не включайте в нее имя пользователя и пароль. Вместо этого для строки подключения установите для атрибута Integrated Security значение SSPI.

    В следующем примере показана строка подключения, включающая необходимые атрибуты:

    data source=myserver;initial catalog=northwind;Integrated Security=SSPI
    

Настройка сервера SQL Server для встроенной безопасности

  1. В Windows выберите Пуск, Microsoft SQL Server и затем — Enterprise Manager.

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

  3. Щелкните правой кнопкой мыши значок Пользователи и выберите пункт Новый пользователь базы данных.

  4. В диалоговом окне Database User Properties в поле Login name введите домен\имя_пользователя и нажмите кнопку ОК.

Показ: