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

У нас есть домен Active Directory (назовем его foodomain) и учетная запись пользователя домена (foodomain\fooAppPoolUser), используемая для удостоверения пула приложений IIS.

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

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

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

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

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

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


person Arjen    schedule 01.07.2011    source источник


Ответы (4)


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

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

  • Запустите aspnet_regiis -ga DOMAIN\USER, чтобы добавить права доступа к метабазе IIS. (Именно что это значит, кто знает?) справочник aspnet_regiis
  • Добавьте пользователя в группу IIS_IUSRS. Это может быть сделано автоматически в зависимости от параметра конфигурации IIS processmodel.manualGroupMembership, но проще всего добавить его самостоятельно.
  • If security policy is using windows defaults that's about it. If the security policy is locked down you may need to enable specific user rights for the account. The ones you have by default for ApplicationPoolIdentities (which seems a good place to start but not necessarily all required):
    • Access this computer from the network
    • Настройка квот памяти для процесса
    • Разрешить локальный вход
    • Обходная проверка хода
    • Генерировать детали аудита безопасности
    • Выдавать себя за клиента после аутентификации – (часто недоступно по умолчанию в заблокированных средах)
    • Вход в качестве пакетного задания – (часто недоступно по умолчанию в заблокированных средах)
    • Войти как служба - (я не уверен, что это нужно)
    • Заменить токен уровня процесса
  • Если вы используете проверку подлинности Windows и Kerberos (поставщик = Negotiate), то в зависимости от URL-адреса и от того, включена ли проверка подлинности в режиме ядра, вам может потребоваться настроить SPN. Я предлагаю перейти на NTLM, если это возможно. В противном случае см. приведенные ниже статьи об именах участников-служб и найдите дружелюбного администратора домена, который добавит их для вас.

Увлекательное чтение:

person Rory    schedule 06.01.2016

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

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

person I.T. Action    schedule 17.02.2013

Арьен,

Чтобы узнать об этапах настройки в IIS, я бы посмотрел Укажите идентификатор для пула приложений (IIS 7) на TechNet.

person timamm    schedule 15.02.2012

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

По сути, ApplicationPoolIdentity — это виртуальная учетная запись пользователя, которая по-прежнему ведет себя как СЕТЕВАЯ СЛУЖБА, но без некоторых недостатков; каждый пул приложений имеет свою собственную учетную запись ApplicationPoolIdenity, созданную с ним.

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

person Ryan Riehle    schedule 04.01.2013