Права пользователя, необходимые для пользователя пула приложений IIS 7.5 (пользователь домена, а не AppPoolIdentity)


У нас есть домен active directory (назовем его foodomain) и учетная запись пользователя домена (foodomainfooAppPoolUser), используемая для идентификации пула приложений IIS.

Мы хотим запустить пул приложений под этой учетной записью пользователя, а не под Network Service или новым AppPoolIdentity, поскольку мы должны получить доступ к SQL server и иметь несколько приложений на IIS (с собственными пулами приложений), обращающихся к различным базам данных.

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

Сначала я получил ошибки (к сожалению, я не помню, какие именно), затем я добавил fooAppPoolUser в локальную группу администраторов (Administrators, я знаю, было только для тестирования), затем это сработало. Теперь я снова удалил пользователя, перезапустил IIS, и он все еще работает.

Так что я немного запутался и хотел бы знать, как должна быть конфигурация / настройка, чтобы она работала.

Где-то я читал, что учетная запись должна иметь " олицетворять клиента после аутентификации " права пользователя. Именно поэтому я добавил учетную запись в группу администраторов (назначение прав пользователя блокируется с помощью групповой политики, но это может быть изменено, если это действительно необходимо.

Я надеюсь, что мне было достаточно ясно, что это за вопрос, и надеюсь, что у кого-то есть ответ.
4 6

4 ответа:

Это расстраивает, что эту информацию так трудно найти, поскольку некоторые администраторы безопасности, похоже, наслаждаются жестоким и необычным наказанием изменения параметров политики по умолчанию, чтобы помешать установке приложений в IIS.

Вот что, по моему мнению, вы должны сделать, чтобы позволить учетной записи работать в качестве идентификатора ApplicationPool:

  • выполните команду aspnet_regiis -ga DOMAIN\USER, чтобы добавить разрешения на доступ к Метабазе IIS. (точно что это значит, кто знает?) ссылка aspnet_regiis
  • Добавить пользователь в группе IIS_IUSRS. Это может быть сделано автоматически в зависимости от параметра конфигурации IIS processmodel.manualGroupMembership, но проще всего добавить его самостоятельно.
  • Если политика безопасности использует Windows defaults, вот и все. Если политика безопасности заблокирована, возможно, потребуется включить определенные права пользователя для учетной записи. Те, которые у вас есть по умолчанию для ApplicationPoolIdentities (который кажется хорошим местом для начала, но не обязательно все необходимые):
    • доступ к этому компьютер из сети
    • настройка квот памяти для процесса
    • разрешить локальный вход
    • проверка обхода обхода
    • Создание сведений аудита безопасности
    • олицетворение клиента после аутентификации - (часто недоступно по умолчанию в заблокированных средах)
    • войдите в систему как пакетное задание - (часто недоступно по умолчанию в заблокированных средах)
    • войдите в систему как сервис - (я не уверен это необходимо)
    • замените маркер уровня процесса
  • Если вы используете Windows auth и Kerberos (provider=Negotiate), то в зависимости от URL-адреса и если включена функция auth в режиме ядра, возможно, потребуется настроить SPN. Я предлагаю перейти на NTLM, если это возможно. В противном случае смотрите статьи ниже о SPNs и найдите дружественного администратора домена, чтобы добавить их для вас.

Веселое чтение:

Причина, по которой ваше приложение работало после удаления прав администратора, заключается в том, что ваше приложение было скомпилировано во временную папку Framework с использованием прав администратора - ваше приложение работало после удаления прав администратора, потому что приложение было скомпилировано. Если вы обновите приложение и оно потребует повторной компиляции, учетная запись пула приложений снова будет нуждаться в доверии.

Сначала я получил ошибки (к сожалению, я не могу вспомнить, какие именно), затем Я добавил: fooAppPoolUser в локальную группу администраторов (администраторы, I знаете, было только проверить), то это сработало. Теперь я снова удалил пользователя, перезапустил IIS, и он все еще работает.

Арьен,

Для шагов настройки в IIS я бы посмотрел на указание идентификатора для пула приложений (IIS 7) в TechNet.

Я нашел следующую ссылку, ответившую на аналогичный вопрос, который у меня был: http://www.iis.net/learn/manage/configuring-security/application-pool-identities

В основном, ApplicationPoolIdentity -это виртуальная учетная запись пользователя, которая по-прежнему ведет себя как сетевая служба, но без некоторых недостатков; каждый пул приложений имеет свою собственную учетную запись ApplicationPoolIdenity, созданную с ее помощью.

Можно также найти более подробную информацию, которая также относится к IIS 7.5 Идентификаторы Пула Приложений .