Назад | Перейти на главную страницу

Аутентификация между IIS и SQL Server для приложения с балансировкой нагрузки

Я хочу использовать эту строку подключения, но не уверен, как ее настроить:

Provider=SQLNCLI10;Server=myServerAddress;Database=myDataBase; Trusted_Connection=yes;

Ранее наша строка подключения SQLNCLI10 использовала Uid и Pwd. Мы переместили серверы и настроили Active Directory, ища некоторую помощь в настройке безопасности между IIS и MSSQL.

В IIS 7.5 есть возможность указать учетную запись пользователя в основных параметрах веб-сайта или просто использовать сквозную аутентификацию. Я полагаю, если установлен сквозной пропуск, он использует учетную запись, настроенную для пула приложений?

По умолчанию пул приложений работает как ApplicationPoolIdentity. Только веб-сайты в этом пуле приложений должны иметь доступ к этой базе данных. Также есть несколько веб-серверов, использующих общую конфигурацию, каждый из которых подключается к одному серверу базы данных. (или серверы, поскольку они зеркалируются с помощью MSSQL Database Mirroring)

В настоящий момент при запуске скрипта появляется сообщение об ошибке (MSSQL находится на другом сервере в том же домене): Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'

Какое удостоверение мне следует создать в пуле приложений и как настроить эту учетную запись в MSSQL?

Я надеюсь, что все имеет смысл, и еще раз спасибо!

У меня есть ощущение, что эта страница актуальна, хотя я ее не совсем понимаю: http://learn.iis.net/page.aspx/624/application-pool-identities/

Создайте учетную запись для использования sql, учетную запись Windows или sql, и укажите это в строке подключения. В целях безопасности вам также следует зашифровать файл web.config после этого с помощью команды:

%SYSTEMROOT%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -prov "RsaProtectedConfigurationProvider" -pef connectionStrings "[PathToWeb.Config]"  

У этой учетной записи должны быть необходимые разрешения для базы данных, такие как db_DataReader и db_DataWriter.

Решением было создать нового пользователя домена с ограниченными правами доступа. Добавьте этого нового пользователя в качестве входа в MSSQL только для конкретной базы данных и только с необходимыми разрешениями (например, только чтение и запись).

Затем настройте веб-сайт IIS для подключения под этим новым пользователем домена. Вы могли подумать, что установка этого идентификатора пула приложений будет работать, но это не так! Чтобы это работало, вы также должны назначить компьютеру права делегирования в AD (доверять этому пользователю для делегирования любой службе (только Kerberos)).

Вместо этого вы можете просто открыть основные настройки веб-сайта и нажать на Connect As... вариант и введите здесь данные для входа.

Этот метод вообще не требует указания имени пользователя и / или пароля в строке подключения, все это управляется в IIS.