Разрешения IIS AppPool для SQL Server (добавление NT AUTHORITY\IUSR)
У меня новая сборка сервера под управлением Windows Server 2012 R2, IIS 8.5 (включая функцию ClassicASP) и SQL Server 2014 Express. Я хочу использовать Application Pool Identity для подключения к базе данных. База данных установлена в "Режим аутентификации Windows".
Моя идентификация пула приложений называется activbase.net
, Я установил логин безопасности в SQL Server под названием IIS AppPool\activbase.net
и пользователь сопоставил его с моей базой данных db_datareader
а также db_datawriter
доступ.
Однако, когда я пытаюсь получить доступ к базе данных с веб-сайта, я получаю:
Не удается открыть базу данных "ActivbaseLive", запрошенную при входе в систему. Ошибка входа.
Я думал, что этого было достаточно, чтобы установить соединение. Журнал приложения (Просмотр событий) показывает:
Ошибка входа для пользователя 'NT AUTHORITY\IUSR'. Причина: не удалось открыть явно указанную базу данных "ActivbaseLive". [КЛИЕНТ: ]
Итак, я добавил NT AUTHORITY\IUSR
аналогично SQL Server> Безопасность> Логины и базы данных>[ActivbaseLive]> Безопасность> Пользователи, и это решает проблему.
Мои вопросы следующие:
- Должен ли я добавить
NT AUTHORITY\IUSR
логин / пользователь в дополнение кIIS AppPool\activbase.net
логин / пользователь для моего экземпляра SQL Server и базы данных? - Есть ли проблема безопасности с этим? (ПРИМЕЧАНИЕ: это будет производственная среда)
Спасибо Крис
0 ответов
Нет. Вам не нужно добавлять имя входа SQL Server для NT AUTHORITY\IUSR
идентичность в дополнение к IIS AppPool\activbase.net
личность. Логин дляIIS AppPool\activbase.net
Для подключения к SQL Server с использованием проверки подлинности Windows достаточно только удостоверения пула приложений.
NT AUTHORITY\IUSR
- это встроенная учетная запись Windows, которая является удостоверением по умолчанию, используемым при включенной анонимной проверке подлинности для вашего приложения. На этой странице приводится описание учетной записи.
Чтобы подключиться к вашей базе данных с помощью IIS AppPool\activbase.net
identity, вам необходимо изменить учетную запись для анонимных пользователей с NT AUTHORITY\IUSR
на ваш IIS AppPool\activbase.net
удостоверение пула приложений. Чтобы внести это изменение, выполните следующие действия:
- Откройте диспетчер информационных служб Интернета (IIS).
- На панели " Подключения" найдите и щелкните, чтобы выбрать веб-сайт, на котором размещено ваше приложение, например Веб-сайт по умолчанию. (Если вы хотите настроить конкретное приложение на своем веб-сайте, вы можете выбрать это приложение.)
- В представлении функций на центральной панели дважды щелкните Проверка подлинности.
- Анонимная аутентификация, скорее всего, будет включена в вашей настройке. Щелкните правой кнопкой мыши Анонимная проверка подлинности и выберите Изменить.
- В диалоговом окне " Изменить учетные данные для анонимной проверки подлинности " выберите параметр " Удостоверение пула приложений" и нажмите кнопку " ОК".
Вопрос в приведенной ниже ссылке (и ответ на него) касается той же проблемы:
Ошибка входа для пользователя NT AUTHORITY\IUSR
Что касается вашего второго вопроса "Есть ли при этом проблема безопасности?", То ответ - "Да". Вы предпочтительно не хотитеNT AUTHORITY\IUSR
встроенная учетная запись, имеющая доступ к вашей базе данных SQL Server, поскольку она используется как анонимная учетная запись по умолчанию на любых других веб-сайтах (и их приложениях), размещенных на вашем веб-сервере IIS. Это означает, что другие веб-сайты и приложения смогут подключаться к вашей базе данных. Если они будут скомпрометированы в результате атаки, они потенциально могут быть использованы для доступа к вашим данным. Поэтому лучше не иметь входа в SQL Server дляNT AUTHORITY\IUSR
. Вместо этого ограничьте доступ к базе данных идентификатором пула приложений вашего веб-сайта (или приложения).