Создание входа SQL Server для IIS APPPOOL - IIS и SQL Server на разных машинах
Я искал предварительные извинения заранее, если у меня отсутствует очевидный ответ.
Далее следуют рекомендации по ссылке ниже, и решение не работает. Решение также не указывает, относится ли оно к веб-серверу, работающему с IIS и SQL Server, на отдельных компьютерах.
Добавить идентификаторы AppPool IIS 7 в качестве входа в систему SQL Server
Нижеприведенный ниже ссылка Microsoft не дает конкретного синтаксиса для создания входа в SQL Server Windows:
http://www.iis.net/learn/manage/configuring-security/application-pool-identities
Наша цель - безопасное развертывание веб-приложения ASP.NET 4.0 для общественности на компьютере Server 2008 R2 с IIS 7.5 в нашей производственной среде. В соответствии с передовыми методами у нас есть SQL Server 2008, работающий на отдельном компьютере в том же домене. Мы хотим использовать аутентификацию SQL Sever Windows без олицетворения, чтобы разрешить взаимодействие приложения ASP.NET в ящике IIS и SQL Server. В настоящее время строка подключения к серверу SQL Server позволяет подключаться к SQL-серверу .NET-приложениям, но мы хотим, чтобы строка подключения была более надежной для входа в Windows SQL Server.
В IIS 7.5 мы настроили пул приложений для веб-сайта.
В расширенном режиме Application Pool встроенная учетная запись попыталась использовать службу ApplicationPoolIdentity и Network без успеха. Лучшая практика, как говорят, заключается в использовании ApplicationPoolIdentity для более надежной защиты.
Неудавшийся шаг - это создание входа в систему Windows Server Windows.
Мы выполнили следующие шаги для первой ссылки:
-
В SQL Server Management Studio найдите папку безопасности (папка безопасности на том же уровне, что и базы данных, серверные объекты и т.д. папки... не папка безопасности в каждой отдельной базе данных)
-
Щелкните правой кнопкой мыши и выберите "Новый вход"
-
В поле Имя входа введите IIS APPPOOL\YourAppPoolName
- не нажимайте Поиск
-
Заполните все другие значения, которые вам нравятся (например, тип аутентификации, база данных по умолчанию и т.д.).
-
Нажмите OK
Не могли бы вы рассказать мне, что IIS 7.5 и SQL Server находятся в отдельных блоках, какой синтаксис мне нужно использовать для создания окна входа в SQL Server?
Я пробовал: "mydomain\machine1$\IIS APPPOOL\MyAppPoolName
" много раз без успеха.
Сообщение об ошибке: "Windows NT User or group IIS APPPOOL\MyAppPoolName can not be found
"
Я использовал сетевое имя веб-сервера вместо machine1 (наряду с фактическим именем пула приложений и именем домена).
Заранее благодарим за помощь.
PS Было бы здорово, если бы Microsoft предоставила пошаговое руководство о том, как выполнить эту общую задачу и что должно быть легкой задачей. Ваши ответы здесь на StackOverFlow помогут многим людям:)
Ответы
Ответ 1
Одним из решений вашей проблемы было бы создание отдельной (не встроенной) учетной записи для пула приложений. Вы можете предоставить минимальные права учетной записи и предоставить доступ к SQL Server.
Таким образом, вы можете использовать учетную запись домена, которая легко настраивается, но все же строго контролирует безопасность.
Ответ 2
Я знаю, что этот вопрос старый, но поскольку я страдал, пока не получил его работу, я хотел бы поделиться своим опытом, чтобы ответить на этот вопрос.
Действия, которые вы следовали, работали со мной, кроме:
3- Учетная запись, которую нужно добавить для входа в сервер sql, mydomain\machine1$
not mydomain\machine1$\IIS APPPOOL\MyAppPoolName
4 оставляйте каждую вещь на странице общих настроек по умолчанию (на самом деле вам нужно убедиться, что вы используете проверку подлинности Windows).
Затем перейдите к пользовательским сопоставлениям | выберите базу данных, к которой вы хотите получить доступ к вашему приложению | предоставить ему любые разрешения, которые вы хотите. Например, дайте ему разрешения db_datareader и db_datawriter.
5 Нажмите OK для сохранения.
Но будьте уверены, что все приложения, использующие виртуальные учетные записи с одного компьютера, смогут получить доступ к этой базе данных.