Как изменить учетную запись под которой работает пул приложения
у нас есть домен active directory (назовем его foodomain ) и учетная запись пользователя домена ( foodomainfooAppPoolUser ) используется для удостоверения пула приложений IIS.
мы хотим запустить пул приложений под этой учетной записью пользователя, а не под Network Service или новый AppPoolIdentity поскольку мы должны получить доступ к SQL server и иметь несколько приложений на IIS (с собственными пулами приложений), обращающихся к различным базам данных.
проблема в том, что я не могу найти четкое объяснение, какие права пользователя должны быть установите для этой учетной записи пользователя и как должен быть настроен IIS, чтобы это работало.
сначала я получил ошибки (к сожалению, я не могу вспомнить, какие из них), затем я добавил fooAppPoolUser в группу администрирования ( Administrators , Я знаю, было только проверить), тогда это сработало. Теперь я снова удалил пользователя, перезапустил IIS, и он все еще работает.
поэтому я немного запутался и хотел бы знать, как должна работать конфигурация/настройка.
где-то я читал, что учетная запись должна иметь "олицетворение клиента после аутентификации" право пользователя. Вот почему я добавил учетную запись в группу Admin (назначение прав пользователя блокируется с помощью групповой политики, но это может быть изменено, если это действительно необходимо.
надеюсь, я был достаточно ясен, в чем вопрос, и надеюсь, что у кого-то есть ответ.
это расстраивает, что эту информацию так трудно найти, так как некоторые администраторы безопасности, похоже, пользуются жестоким и необычным наказанием изменения параметров политики по умолчанию, чтобы помешать установке приложений в IIS.
вот что я считаю, что вы должны сделать, чтобы учетная запись работала как идентификатор ApplicationPool:
- Run aspnet_regiis -ga DOMAIN\USER для добавления разрешений на доступ к Метабазе IIS. (ровно что это значит, кто знает?) команду aspnet_regiis ссылка
- Добавить пользователя IIS_IUSRS группы. Это может быть сделано автоматически в зависимости от параметра конфигурации IIS processmodel.manualGroupMembership но проще всего добавить его самостоятельно.
- если политика безопасности использует Windows по умолчанию, это все. Если политика безопасности заблокирована, может потребоваться включить определенные права пользователя для учетной записи. Те, которые у вас есть по умолчанию для ApplicationPoolIdentities (что кажется хорошим местом для начала, но не обязательно все необходимое):
- доступ к компьютеру из сети
- настройка квот памяти для процесса
- локальный вход в систему
- обход перекрестной проверки
- создание сведений аудита безопасности
- олицетворение клиента после аутентификации - (часто недоступно по умолчанию в заблокированных средах)
- войдите в систему как пакетное задание - (часто недоступно по умолчанию в заблокированных средах)
- войдите в систему как сервис -(Я не уверен, что это необходимо)
- замена маркера уровня процесса
причина, по которой приложение работало после удаления прав администратора, заключается в том, что ваше приложение было скомпилировано во временную папку Framework с использованием прав администратора - ваше приложение работало после удаления прав администратора, потому что приложение было скомпилировано. Если вы обновите приложение и для этого потребуется перекомпиляция, учетной записи пула приложений снова потребуется доверие.
сначала я получил ошибки (к сожалению я не помню какие), потом Я добавлен fooAppPoolUser в локальную группу администраторов (администраторы, I знаете, было только проверить), тогда это сработало. Теперь я снова удалил пользователя, перезапустить IIS и он все еще работает.
Используйте диалоговое окно Удостоверение пула приложений, чтобы настроить учетную запись, от имени которой запущен рабочий процесс пула приложений. При этом может быть выбрана одна из предварительно определенных безопасных учетных записей или же настроена особая учетная запись.
Чтобы гарантировать достаточные права доступа к ресурсам, убедитесь, что указанная учетная запись пользователя входит в группу IIS_IUSRS на веб-сервере. Кроме того, при использовании проверки подлинности Windows и Kerberos в данной среде, может потребоваться зарегистрировать имя участника службы (SPN) на контроллере домена.
На странице компонента Пулы приложений выберите пул приложений из списка.
На панели Действия выберите Дополнительные параметры.
В разделе Модель процесса найдите поле Удостоверение и щелкните … (кнопку "Свойства"), чтобы открыть диалоговое окно Удостоверение пула приложений.
Выберите параметр удостоверения:
-
Выберите Встроенная учетная запись, чтобы использовать заранее определенную безопасную учетная запись, а затем выберите в списке одну из учетных записей.
Список элементов пользовательского интерфейса
Встроенная учетная запись
Выберите этот параметр, чтобы использовать одну из заранее определенных безопасных учетных записей. Затем выберите одну из следующих учетных записей:
-
ApplicationPoolIdentity — по умолчанию выбирается учетная запись удостоверения пула приложений. Учетная запись Application Pool Identity динамически создается при запуске пула приложений, поэтому эта учетная запись обеспечивает наибольшую безопасность приложений.
Особая учетная запись
Выберите этот параметр, чтобы настроить особую учетную запись. Затем нажмите соответствующую кнопку Установить, чтобы настроить имя пользователя и пароль для учетной записи.
Открывает диалоговое окно Задание учетных данных, в котором можно задать учетные данные для особой учетной записи.
Имя пользователя
Введите псевдоним учетной записи пользователя, от имени которой следует запускать рабочий процесс.
Введите пароль для учетной записи пользователя, указанной в поле Имя пользователя.
Подтверждение пароля
Повторно введите пароль для учетной записи пользователя, указанной в поле Имя пользователя.
В этой статье приводится справочная информация о удостоверениях в службы IIS (IIS).
Оригинальная версия продукта: службы IIS
Исходный номер КБ: 4466942Идентификаторы пула приложений
Чтобы понять идентификаторы пула приложений, необходимо понять, что такое удостоверение. Проще говоря, удостоверение — это Windows учетная запись. Каждый процесс, который Windows выполняется в соответствии с удостоверением. Приложения запускаются рабочим процессом с помощью Windows удостоверений. Используемый Windows зависит от удостоверения пула приложений, которое может быть любой из следующих учетных записей:
- Локализованная система: Доверяемая учетная запись с высокими привилегиями и доступом к сетевым ресурсам.
- Служба сети: Ограниченная или ограниченная учетная запись службы, используемая для запуска стандартных, наименее привилегированных служб. Эта учетная запись имеет меньше привилегий, чем учетная запись Локальной системы. Эта учетная запись имеет доступ к сетевым ресурсам.
- Локализованная служба: Ограниченная или ограниченная учетная запись службы, аналогичная сетевой службе и предназначенная для запуска стандартных, наименее привилегированных служб. Эта учетная запись не имеет доступа к сетевым ресурсам.
- ApplicationPoolIdentity: При создании нового пула приложений IIS создает виртуальную учетную запись, которая имеет имя нового пула приложений и запускает процесс работы пула приложений под этой учетной записью. Это также наименее привилегированная учетная запись.
- Настраиваемая учетная запись: Помимо встроенных учетных записей, можно также использовать настраиваемую учетную запись, указав имя пользователя и пароль.
Различия между удостоверениями пула приложений
Сценарий 1. Доступ к журналу событий
Например, если вы запустите приложение в сетевой службе, вы получите следующее исключение для безопасности:
При одновременном запуске трассировки ProcMon часто бывает так, что NT AUTHORITY\NETWORK SERVICE не имеет необходимых привилегий для чтения и записи доступа к следующему подкою реестра:
Это расположение в реестре, где хранятся все параметры журнала событий.
Сценарий 2. Доступ к реестру
Кроме локальной системы, никакие другие удостоверения пула приложений не имеют доступа к реестру Записи. В этом сценарии вы разработали простое веб-приложение, которое может изменять и отображать имя сервера времени в Интернете, с Windows автоматически синхронизируется. Если вы запустите это приложение в локальной службе, вы получите исключение. Если вы проверяете трассировку ProcMon, вы найдете, что идентификатор пула приложений "NT AUTHORITY\LOCAL SERVICE" не имеет доступа к приложению Read and Write в следующем подкоге реестра:
Сценарий 3. Настраиваемая учетная запись в среде проверки подлинности Kerberos и сбалансированной нагрузкой
Вы уже видели в сценариях 1 и 2 некоторые различия между встроенными учетной записью. Теперь давайте обсудим, что такое настраиваемая учетная запись и как она имеет преимущества перед встроенными учетными записями при работе с проверкой подлинности Kerberos в сбалансированной среде нагрузки.
С помощью этого подхода вы запустите свое приложение в пуле приложений, который настроен для запуска с помощью определенного Windows удостоверения. Рассмотрим следующую схему, на которой приложение находится в сбалансированной нагрузкой среде, которая включает два сервера и использует проверку подлинности Kerberos для идентификации клиента.
Для работы проверки подлинности Kerberos необходимо настроить SPN для обоих серверов с помощью учетной записи машины. Если пул приложений работает под встроенной учетной записью, он представляет учетные данные компьютера в сети. Например, если имя компьютера — Server1, оно представляет себя как 'Server1$'. Эта учетная запись компьютера автоматически создается, когда компьютер присоединяется к домену. Поэтому, если есть N-серверы, необходимо установить N-число spNs, соответствующих учетной записи соответствующего компьютера.
Чтобы преодолеть этот недостаток, можно запустить приложение в настраиваемом удостоверении Windows домена, а затем установить spN только для конкретной учетной записи домена в контроллере домена.
Разрешения и права пользователей по умолчанию в wwwroot
IiS 7.0 и более поздние версии также упрощают настройку удостоверения пула приложений и внесение всех необходимых изменений. Когда IIS запускает рабочий процесс, он должен создать маркер, который будет использовать этот процесс. Когда этот маркер создается, IIS автоматически добавляет членство в маркер рабочих IIS_IUSRS процессов во время запуска. Учетные записи, которые работают в качестве удостоверений пула приложений, больше не должны быть явной частью IIS_IUSRS группы. Если вы создаете веб-сайт, а затем указывают физическое расположение следующим пользователям и группам, автоматически добавляются в списки управления C:\inetpub\wwwroot доступом на сайте.
Пользователи / группы Разрешенные разрешения СОЗДАТЕЛЬ-ВЛАДЕЛЕЦ Специальные разрешения SYSTEM Полный доступ Администраторы Полный доступ Пользователи Чтение &, содержимое папки List, Чтение IIS_USRS Чтение & выполнения TrustedInstaller Полный доступ Если вы хотите отключить эту функцию и вручную добавить учетные записи в группу, установите значение IIS_IUSRS manualGroupMembership в файлеApplicationHost.config. В следующем примере показано, как это можно сделать для пула приложений по умолчанию:
Понимание изоляции конфигурации
Рабочие процессы IIS не имеют доступа кApplicationHost.configфайлу. Таким образом, вы можете задаться вопросом, как они могут читать любые наборы конфигураций в этом файле.
Ответ заключается в использовании функции изоляции конфигурации в iiS 7.0 и более поздних версиях. Вместо того чтобы дать рабочим IIS возможность читатьApplicationHost.configнепосредственно при прочтение иерархии файлов конфигурации, служба активации Windows процесса (WAS) создает отфильтрованные копии этого файла. Каждый рабочий процесс IIS использует эти копии в качестве заменыApplicationHost.configпри считывке конфигурации внутри рабочего процесса IIS. Эти файлы создаются по умолчанию в %SystemDrive%\inetpub\Temp\appPools каталоге и называются .config. Эти файлы настроены, чтобы разрешить доступ только к рабочим процессам IIS в соответствующем пуле приложений с помощью идентификатора безопасности пула IIS APPPOOL\AppPoolName приложений (SID).
Дополнительные информацию о SID см. в разделе Идентификаторы безопасности на веб-сайте Microsoft Docs.
Это делается для того, чтобы рабочие процессы IIS из пула приложений A не могли читать сведения о конфигурации в файлеApplicationHost.config, предназначенного для пула приложений B.
ApplicationHost.config могут содержать конфиденциальные персональные данные, такие как имя пользователя и пароль для пользовательских удостоверений пула приложений или имя пользователя и пароль для виртуальных каталогов. Таким образом, разрешение доступа ко всем пулам приложенийApplicationHost.config может нарушить изоляцию пула приложений. Если каждому пулу приложений был предоставлен прямой доступ к файлуApplicationHost.config, эти пулы могли легко взломать конфиденциальные сведения из других пулов приложений, выдав следующую команду:
IUSR — анонимная проверка подлинности
Анонимные проверки подлинности позволяют пользователям получать доступ к общедоступным областям веб-сайта без запроса имени пользователя или пароля. В IIS 7.0 и более поздних версиях встроенная учетная запись используется для IUSR предоставления анонимного доступа. Эта встроенная учетная запись не требует пароля. Это будет идентификатор по умолчанию, который используется при включенной анонимной проверке подлинности. В файлеApplicationHost.config вы можете увидеть следующее определение:
Это указывает IIS на использование новой встроенной учетной записи для всех анонимных запросов на проверку подлинности. Самыми большими преимуществами для этого являются следующие:
- Вам больше не нужно беспокоиться об истечении срока действия паролей для этой учетной записи.
- Вы можете использовать xcopy /o для копирования файлов вместе с их собственностью и сведениями ACL на различных компьютерах без проблем.
Кроме того, вы можете предоставить анонимное удостоверение подлинности на веб-сайте с помощью определенной Windows учетной записи или удостоверения пула приложений вместо IUSR учетной записи.
IUSR и Подключение как
Подключение как вариант в IIS, который позволяет определить, какие учетные данные вы хотите использовать для доступа к веб-сайту. Вы можете использовать либо проверку подлинности учетных данных пользователей, либо конкретные учетные данные пользователей. Чтобы понять разницу, рассмотрим следующий сценарий:
У вас есть веб-сайт по умолчанию, настроенный для использования анонимной проверки подлинности. Однако содержимое веб-сайта на другом сервере, и вы используете Подключение в качестве раздела для доступа к этому ресурсу через Test пользователя домена. При входе пользователя он получает проверку подлинности с помощью учетной записи IUSR. Однако к контенту веб-сайта можно получить доступ через учетные данные пользователей, указанные в Подключение в разделе.
Проще говоря, анонимная проверка подлинности — это механизм, используемый веб-сайтом для идентификации пользователя. Но при использовании этой функции пользователю не нужно предоставлять учетные данные. Однако может быть похожий сценарий, в котором содержимое на сетевой совместной основе. В таких случаях для доступа к сетевой сети нельзя использовать встроенные учетные записи. Вместо этого для этого необходимо использовать определенную учетную запись (домен).
- В IMPERSONATION случае отключения идентификатор пула приложений используется для запуска кода приложения.
- Если IMPERSONATION включен, NT AUTHORITY\IUSR используется для запуска кода приложения.
При включении с помощью IIS в файле Web.config приложения добавляется следующий тег, чтобы выдать себя за учетную запись IIS с проверкой подлинности impersonation или пользователя: <identity impersonate="true" />
Откройте рабочий процесс IIS тестового веб-сайта, который является локальным пользователем, и проверьте, можно ли найти учетную запись для обезличения, под которой работает код Test приложения.
После развертывания сайтом можно управлять с применением средств IIS. Ниже рассматриваются наиболее полезные опции конфигурирования и способы их использования.
Создание нового сайта
IIS 8 может поддерживать множество сайтов на одном сервере. В рассмотренных примерах развертывания содержимое добавлялось к сайту по умолчанию, а в этом разделе будет показано, как создать совершенно новый сайт. Разверните древовидное представление в IIS Manager, щелкните правой кнопкой мыши на узле Sites (Сайты) и в контекстном меню выберите пункт Add Web Site. (Добавить веб-сайт. ). Откроется диалоговое окно Add Web Site, показанное на рисунке ниже:
Поле Site name (Имя сайта) должно содержать что-нибудь значащее. Оно используется для идентификации сайта в среде IIS Manager, но не влияет на содержимое сайта. В этом примере пул приложений был оставлен без изменений (пулы приложений рассматриваются далее). Поле Physical path (Физический путь) определяет местоположение, в котором IIS 8 будет искать содержимое для запросов на обслуживание, адресованных новому сайту. В этом примере на сервере был создан новый каталог D:\WebSites. Кнопки Connect as. (Подкл. как. ) и Test Settings. (Тест настроек. ) позволяют указать другие учетные данные пользователя для доступа к содержимому сайта.
Меню IP address (IP-адрес) позволяет выбрать сетевой интерфейс, который сервер будет прослушивать на предмет запросов. Для этого параметра было оставлено значение All Unassigned (Все неназначенные) - т.е. IIS будет прослушивать все интерфейсы за исключением тех, где другой сайт должен обслуживаться через этот же порт TCP. Значение Port (Порт) позволяет указать порт TCP, на котором IIS 8 будет прослушивать запросы клиентов. В общем случае каждый сайт должен обслуживаться через уникальный порт, поэтому, во избежание конфликтов с подключенным к порту 80 веб-сайтом по умолчанию, мы выбрали порт 8091.
Кроме того, отмечен флажок Start Web site immediately (Запустить веб-сайт сейчас) - т.е. сразу после щелчка на кнопке ОК сервер IIS создаст веб-сайт и начнет прослушивать запросы. Больше конфигурировать нечего, поэтому щелкните на кнопке OK, чтобы создать и запустить веб-сайт. Каждый из рассмотренных в предыдущей статье вариантов развертывания позволяет указывать сайт для развертывания - помните, что при развертывании сайты различаются по именам и используют указанные номера портов.
Создание виртуальных каталогов
При установке места назначения для примеров веб-сайтов содержимое помещается в каталог, в котором IIS 8 ищет содержимое по умолчанию. Но содержимое можно было бы разместить где-то в другом месте, а затем использовать виртуальный каталог для ссылок на него. Чтобы продемонстрировать этот подход, создадим на сервере новый каталог и скопируем в него содержимое сайта. Путь к новому каталогу выглядит следующим образом:
Чтобы связать новый каталог с IIS, откройте IIS Manager, разверните древовидное представление, щелкните правой кнопкой мыши на элементе Default Web Site и в контекстном меню выберите пункт Add Virtual Directory (Добавить виртуальный каталог). В результате откроется диалоговое окно Add Virtual Directory (Добавление виртуального каталога), показанное на рисунке ниже:
В поле Alias (Псевдоним) введите virtual. Для пути был выбран корневой каталог веб-сайта по умолчанию - т.е. любое имя, введенное в поле Alias (Псевдоним), будет добавляться в URL-адрес непосредственно после имени сервера. В поле Physical path (Физический путь) введите путь к одному из созданных ранее каталогов развертывания. Щелкните на кнопке OK, чтобы создать виртуальный каталог.
Использование пулов приложений
Пулы приложений позволяют для упрощения конфигурирования и управления группировать вместе аналогичные или связанные приложения. При этом приложения, которые включены в пулы приложений, изолируются, в результате чего проблемы, возникающие в одном пуле, не оказывают влияния на приложения из других пулов.
IIS 8 автоматически создает набор пулов приложений, в том числе пул, используемый по умолчанию при создании нового приложения. Просматривать и управлять пулами приложений можно с помощью IIS Manager - для этого достаточно развернуть элемент сервера в древовидном представлении и щелкнуть на элементе Application Pools (Пулы приложений). В результате отобразятся пулы, определенные на сервере. Пулы, определенные на нашем компьютере показаны на рисунке ниже:
Определяет имя пула приложений. После того как пул создан, его имя изменить нельзя
Этот столбец показывает, выполняется ли пул приложений - т.е. будет ли генерироваться ответ на запросы к приложениям, назначенным в пул. Подробнее это описано в разделе "Запуск и останов пула приложений"
Версия .NET Framework, которая будет использоваться для выполнения управляемого кода - в примерах развертывания эта настройка пула приложений по умолчанию была изменена. Более подробно указание версий платформы описано в разделе "Использование параллельного выполнения"
IIS 8 поддерживает два режима конвейера для обработки запросов - Integrated (Встроенный) и Classic (Классический). Расширение конвейера подробнее рассматривается в следующей статье
Учетная запись Windows, используемая для запуска приложений пула
Количество приложений, назначенных в пул; на рисунке выше видно, что пул DefaultAppPool содержит три приложения
Создание нового пула приложений
Нестандартный пул приложений можно создать, щелкнув на действии Add Application Pool (Добавить пул приложений) в правой части экрана IIS Manager. Откроется диалоговое окно Add Application Pool (Добавление пула приложений), показанное на рисунке ниже:
Щелкните на кнопке OK, и новый пул будет создан и добавлен в список IIS Manager. Щелчок на действии Advanced Settings. (Дополнительные параметры) позволит сконфигурировать детали, связанные с пулом.
Назначение приложения в пул приложений
Чтобы назначить приложение в пул приложений, выберите приложение в окне IIS Manager и щелкните на действии Basic Settings (Основные настройки) в правой части экрана. Откроется диалоговое окно Edit Application (Изменение приложения). Щелкните на кнопке Select (Выбрать) и выберите пул приложений из раскрывающегося списка, как показано на рисунке ниже. Мы выбрали специальный пул приложений, созданный в предыдущем разделе:
Щелкните на кнопке OK. Щелкните на элементе Application Pools в IIS Manager - количество приложений пула CustomAppPool в столбце Applications станет равным 1, а количество приложений пула DefaultAppPool уменьшится на единицу.
Запуск и останов пула приложений
Использование параллельного выполнения
Читайте также: