Каковы все учетные записи пользователей для IIS / ASP.NET и чем они отличаются?
под Windows Server 2008 с ASP.NET 4.0 установлен целый ряд связанных учетных записей пользователей, и я не могу понять, какой из них, как они отличаются, и какой из них действительно тот, под которым работает мое приложение. Вот список:
- группу iis_iusrs
- запись iusr
- DefaultAppPool
- ASP.NET v4.0
- NETWORK_SERVICE
- МЕСТНАЯ СЛУЖБА.
Что это?
1 ответов
это очень хороший вопрос, и, к сожалению, многие разработчики не задают достаточно вопросов о IIS / ASP.NET security в контексте веб-разработчика и настройки IIS. Вот так....
чтобы покрыть перечисленные идентификаторы:
IIS_IUSRS:
это аналогично старому IIS6 IIS_WPG
группы. Это встроенная группа безопасности настроена таким образом, что любой член этой группы может выступать в качестве пула приложений тождественность.
IUSR:
этот счет аналогичен старому IUSR_<MACHINE_NAME>
локальная учетная запись, которая была анонимным пользователем по умолчанию для веб-сайтов IIS5 и IIS6 (т. е. настроенная на вкладке Безопасность каталога свойств сайта).
подробнее о IIS_IUSRS
и IUSR
посмотреть:
понимание встроенных учетных записей пользователей и групп в IIS 7
DefaultAppPool:
если пул приложений настроен для запуска с помощью функции идентификации пула приложений, то "синтезированная" учетная запись называется IIS AppPool\<pool name>
будет создан на лету, чтобы использовать в качестве удостоверения пула. В этом случае будет синтезированная учетная запись под названием IIS AppPool\DefaultAppPool
создано на время жизни бассейна. Если вы удалите пул, эта учетная запись больше не будет существовать. При применении разрешений к файлам и папкам необходимо добавить с помощью IIS AppPool\<pool name>
. Вы также не увидите эти учетные записи пула в Диспетчере пользователей компьютеров. Дополнительные сведения см. В следующем разделе:
ASP.NET v4.0:
-
это будет идентификатор пула приложений для ASP.NET v4.0 Пул Приложений. См.DefaultAppPool
выше.
NETWORK SERVICE:
-
на NETWORK SERVICE
учетная запись-это встроенный идентификатор представлен в Windows 2003. NETWORK SERVICE
- это низко привилегированная учетная запись, под которой вы можете запускать пулы приложений и веб-сайты. Веб-сайт, работающий в пуле Windows 2003, все еще может олицетворять анонимную учетную запись сайта (IUSR_ или что бы вы ни настроили как анонимное удостоверение).
In ASP.NET до Windows 2008 вы могли бы иметь ASP.NET выполнение запросов под учетной записью пула приложений (обычно NETWORK SERVICE
). В качестве альтернативы вы можете настроить ASP.NET к олицетворение анонимной учетной записи сайта через <identity impersonate="true" />
настройка в web.config
файл локально (если этот параметр заблокирован, то это должно быть сделано администратором в ).
задание <identity impersonate="true">
распространен в средах общего хостинга, где используются общие пулы приложений (в сочетании с параметрами частичного доверия для предотвращения расплетения олицетворенной учетной записи).
в IIS7.x / ASP.Управление net impersonation теперь настроено через аутентификацию функция конфигурации сайта. Таким образом, вы можете настроить запуск в качестве идентификатора пула,IUSR
или специального анонимного аккаунта.
LOCAL SERVICE:
на LOCAL SERVICE
учетная запись-это встроенная учетная запись, используемая диспетчером управления службами. Она имеет минимальный набор привилегий на локальном компьютере. Он имеет довольно ограниченный объем использования:
LOCAL SYSTEM:
вы не спрашивали об этом, но я добавляю для полноты. Это локальная встроенная учетная запись. У него достаточно обширные привилегии и доверие. Никогда не следует настраивать веб-сайт или пул приложений для работы под этим удостоверением.
На Практике:
на практике предпочтительным подход к обеспечению безопасности веб-сайта (если сайт получает собственный пул приложений - что является значением по умолчанию для нового сайта в MMC IIS7) должен выполняться под Application Pool Identity
. Это означает установку идентификатора сайта в расширенных настройках пула приложений в Application Pool Identity
:
на веб-сайте вы должны затем настроить функцию аутентификации:
щелкните правой кнопкой мыши и отредактируйте анонимную аутентификацию запись:
обеспечить "удостоверение пула приложений" выбран:
когда вы приходите, чтобы применить права доступа к файлам и папкам, вы предоставляете удостоверение пула приложений, какие права требуются. Например, если вы предоставляете удостоверение пула приложений для ASP.NET v4.0
разрешения пула, то вы можете сделать это через Explorer:
нажмите Кнопка "Проверить имена":
или вы можете сделать это с помощью ICACLS.EXE
утилиты:
icacls c:\wwwroot\mysite /grant "IIS AppPool\ASP.NET v4.0":(CI)(OI)(M)
...или...если пул приложений сайта называется BobsCatPicBlog
затем:
icacls c:\wwwroot\mysite /grant "IIS AppPool\BobsCatPicBlog":(CI)(OI)(M)
я надеюсь, это поможет прояснить ситуацию.
обновление:
я просто наткнулся на этот отличный ответ от 2009 года, который содержит кучу полезной информации, стоит прочитать:
разница между учетной записью "локальная система" и учетной записью "сетевая служба"?