В разделе «Основные параметры» веб-сайта в IIS 7.5 есть возможность указать учетную запись пользователя через Connect As...
. Если это отключено, используется сквозная аутентификация.
Я предполагал, что будет использовать идентификатор пула приложений, однако это не так. Чтобы мой веб-сайт подключился к MSSQL под правильной учетной записью, мне пришлось указать пользователя под Connect As...
экран.
Так в чем разница между Connect As...
и удостоверение пула приложений?
Я обнаружил причину, по которой вы можете столкнуться со следующей ошибкой при использовании встроенной безопасности для строки подключения к серверу MSSSQL, несмотря на то, что в качестве идентификатора пула приложений задана учетная запись пользователя, которая может войти в систему и включить сквозную аутентификацию в основных настройках. веб-сайта:
Ошибка собственного клиента Microsoft SQL Server 10.0 '80040e4d'
Ошибка входа для пользователя NT AUTHORITY \ ANONYMOUS LOGON.
Перейдите в раздел «Аутентификация» и отредактируйте анонимного пользователя - измените использование учетной записи IUSR по умолчанию на использование идентификатора пула приложений.
я буду размышлять это может быть связано со способностью компьютера олицетворять удостоверение пула приложений по сети. В «Подключиться как» учетные данные сохранены (и зашифрованы), поэтому он может создать полный первичный токен и получить доступ к ресурсам как этот идентификатор пользователя. При использовании «Пользователь приложения (пройти через аутентификацию)» это будет существующий токен, который пытается использовать этот токен для олицетворения. В этом случае, если компьютер, выполняющий олицетворение, не является доверенным для делегирования, это не удастся.
Это должно быть достаточно легко проверить и проверить.
Доверен ли компьютер для делегирования? В Active Directory - пользователи и компьютеры> Компьютер> Свойства> вкладка Делегирование. Выберите «Доверять этому компьютеру для делегирования любой службе (только Kerberos)».
Вам также может потребоваться установить параметр конфигурации IIS7 «useAppPoolCredentials». Это можно установить с помощью следующей команды:
appcmd.exe set config -section:system.webServer/security/authentication/windowsAuthentication -useAppPoolCredentials:true
useAppPoolCredentials = True с делегированием Kerberos в 2008 г.
https://blogs.technet.com/b/proclarity/archive/2011/03/08/useapppoolcredentials-true-with-kerberos-delegation-on-2008.aspx
Возможно связанные:
https://stackoverflow.com/questions/3775569/help-with-kerberos-authentication-in-iis-7