Iis apppool defaultapppool что это
Перейти к содержимому

Iis apppool defaultapppool что это

  • автор:

Iis apppool defaultapppool что это

можно ли что-н предпринять что бы коннектиться к MS SQL под другим пользователем при, забыл как называется, вроде Windows или Integrated аутенфикации. Что это за пользователь такой и почему его нигде не видно еще где-то?

Re: IIS APPPOOL\DefaultAppPool пользователь при Windows аутенфикации

От: -rsdn- http://dsalodki.wix.com/resume
Дата: 28.05.12 11:20
Оценка:

Здравствуйте, -rsdn-, Вы писали:

R>можно ли что-н предпринять что бы коннектиться к MS SQL под другим пользователем при, забыл как называется, вроде Windows или Integrated аутенфикации. Что это за пользователь такой и почему его нигде не видно еще где-то?

Извиняюсь за глупый вопрос — это просто один из вариантов выбора пула Application pool : like 4.0, 2.0 & so on

Re: IIS APPPOOL\DefaultAppPool пользователь при Windows аутенфикации

От: hardcase http://nemerle.org
Дата: 30.05.12 09:21
Оценка:

Здравствуйте, -rsdn-, Вы писали:

R>можно ли что-н предпринять что бы коннектиться к MS SQL под другим пользователем

Строка подключения позволяет указать логин и пароль для подключения.

/* иЗвиНите зА неРовнЫй поЧерК */
Re[2]: IIS APPPOOL\DefaultAppPool пользователь при Windows аутенфикации

От: Neco
Дата: 30.05.12 09:51
Оценка:

Здравствуйте, -rsdn-, Вы писали:

R>Извиняюсь за глупый вопрос — это просто один из вариантов выбора пула Application pool : like 4.0, 2.0 & so on
да, можно указать в application pool, а есть ещё вариант через impersonation в веб-конфиге. У нас один из вендоров так сделал — минусов замечено не было, поэтому переняли на своих проектах. Позволяет регать SPN на машинный аккаунт (что легче менеджится, имхо) в IIS6 или в IIS7 с выключенным kernel-mode authentication плюс держать разные приложения на одном пуле.

Управление веб-сайтом

После развертывания сайтом можно управлять с применением средств IIS. Ниже рассматриваются наиболее полезные опции конфигурирования и способы их использования.

Создание нового сайта

IIS 8 может поддерживать множество сайтов на одном сервере. В рассмотренных примерах развертывания содержимое добавлялось к сайту по умолчанию, а в этом разделе будет показано, как создать совершенно новый сайт. Разверните древовидное представление в IIS Manager, щелкните правой кнопкой мыши на узле Sites (Сайты) и в контекстном меню выберите пункт Add Web Site. (Добавить веб-сайт. ). Откроется диалоговое окно Add Web Site, показанное на рисунке ниже:

Диалоговое окно Add Web Site

Поле Site name (Имя сайта) должно содержать что-нибудь значащее. Оно используется для идентификации сайта в среде IIS Manager, но не влияет на содержимое сайта. В этом примере пул приложений был оставлен без изменений (пулы приложений рассматриваются далее). Поле Physical path (Физический путь) определяет местоположение, в котором IIS 8 будет искать содержимое для запросов на обслуживание, адресованных новому сайту. В этом примере на сервере был создан новый каталог D:\WebSites. Кнопки Connect as. (Подкл. как. ) и Test Settings. (Тест настроек. ) позволяют указать другие учетные данные пользователя для доступа к содержимому сайта.

Раздел Bindings (Привязка) позволяет указать, как IIS 8 будет прослушивать запросы, поступающие от клиентов. IIS 8 поддерживает множество протоколов, но мы сосредоточим внимание на HTTP, поскольку он используется наиболее широко. Для этого в списке Type (Тип) выберем опцию http.

Меню IP address (IP-адрес) позволяет выбрать сетевой интерфейс, который сервер будет прослушивать на предмет запросов. Для этого параметра было оставлено значение All Unassigned (Все неназначенные) — т.е. IIS будет прослушивать все интерфейсы за исключением тех, где другой сайт должен обслуживаться через этот же порт TCP. Значение Port (Порт) позволяет указать порт TCP, на котором IIS 8 будет прослушивать запросы клиентов. В общем случае каждый сайт должен обслуживаться через уникальный порт, поэтому, во избежание конфликтов с подключенным к порту 80 веб-сайтом по умолчанию, мы выбрали порт 8091.

Кроме того, отмечен флажок Start Web site immediately (Запустить веб-сайт сейчас) — т.е. сразу после щелчка на кнопке ОК сервер IIS создаст веб-сайт и начнет прослушивать запросы. Больше конфигурировать нечего, поэтому щелкните на кнопке OK, чтобы создать и запустить веб-сайт. Каждый из рассмотренных в предыдущей статье вариантов развертывания позволяет указывать сайт для развертывания — помните, что при развертывании сайты различаются по именам и используют указанные номера портов.

Создание виртуальных каталогов

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

D:\Projects\WebSites\TestAspNet

Чтобы связать новый каталог с IIS, откройте IIS Manager, разверните древовидное представление, щелкните правой кнопкой мыши на элементе Default Web Site и в контекстном меню выберите пункт Add Virtual Directory (Добавить виртуальный каталог). В результате откроется диалоговое окно Add Virtual Directory (Добавление виртуального каталога), показанное на рисунке ниже:

Диалоговое окно Add Virtual Directory

В поле Alias (Псевдоним) введите virtual. Для пути был выбран корневой каталог веб-сайта по умолчанию — т.е. любое имя, введенное в поле Alias (Псевдоним), будет добавляться в URL-адрес непосредственно после имени сервера. В поле Physical path (Физический путь) введите путь к одному из созданных ранее каталогов развертывания. Щелкните на кнопке OK, чтобы создать виртуальный каталог.

Чтобы протестировать его, откройте браузер на сервере и направьте его на URL-адрес http://localhost/virtual. Как и ранее, откроется созданный нами простой веб-сайт, но на этот раз содержимое будет извлекаться из нового каталога, а доступ к нему будет осуществляться с помощью указанного специального URL-адреса.

Использование пулов приложений

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

Не существует никаких жестких и кратких правил назначения приложений в пулы. Приложения можно группировать по принципу схожести профилей рабочих характеристик, принадлежности одному подразделению или по любому другому принципу, оправданному в конкретной среде. Как будет показано, одним из наиболее полезных средств является возможность наличия различных пулов приложений, которые используют различные версии .NET Framework. В этом разделе мы рассмотрим, как создавать, конфигурировать и назначать приложения в пулы приложений.

IIS 8 автоматически создает набор пулов приложений, в том числе пул, используемый по умолчанию при создании нового приложения. Просматривать и управлять пулами приложений можно с помощью IIS Manager — для этого достаточно развернуть элемент сервера в древовидном представлении и щелкнуть на элементе Application Pools (Пулы приложений). В результате отобразятся пулы, определенные на сервере. Пулы, определенные на нашем компьютере показаны на рисунке ниже:

Стандартные пулы приложений

Пулы приложений перечислены в таблице в середине экрана. Столбцы этой таблицы содержат наиболее важные характеристики пулов, описанные в таблице ниже. При развертывании приложения оно назначается в пул приложений, используемый по умолчанию. При развертывании приложения в предшествующих примерах настройки пула приложений по умолчанию были изменены так, чтобы он использовал .NET 4.

Определяет имя пула приложений. После того как пул создан, его имя изменить нельзя

Этот столбец показывает, выполняется ли пул приложений — т.е. будет ли генерироваться ответ на запросы к приложениям, назначенным в пул. Подробнее это описано в разделе «Запуск и останов пула приложений»

Версия .NET Framework, которая будет использоваться для выполнения управляемого кода — в примерах развертывания эта настройка пула приложений по умолчанию была изменена. Более подробно указание версий платформы описано в разделе «Использование параллельного выполнения»

IIS 8 поддерживает два режима конвейера для обработки запросов — Integrated (Встроенный) и Classic (Классический). Расширение конвейера подробнее рассматривается в следующей статье

Учетная запись Windows, используемая для запуска приложений пула

Количество приложений, назначенных в пул; на рисунке выше видно, что пул DefaultAppPool содержит три приложения

Создание нового пула приложений

Нестандартный пул приложений можно создать, щелкнув на действии Add Application Pool (Добавить пул приложений) в правой части экрана IIS Manager. Откроется диалоговое окно Add Application Pool (Добавление пула приложений), показанное на рисунке ниже:

Диалоговое окно Add Application Pool

Введите имя нового пула (в примере использовано имя CustomAppPool), выберите версию .NET Framework, которая будет применяться для запуска приложений, назначенных в пул, и требуемый режим управляемого конвейера (режим Classic (Классический) предназначен для унаследованных приложений; если уверенности нет, выберите режим Integrated (Встроенный)).

Щелкните на кнопке OK, и новый пул будет создан и добавлен в список IIS Manager. Щелчок на действии Advanced Settings. (Дополнительные параметры) позволит сконфигурировать детали, связанные с пулом.

Назначение приложения в пул приложений

Чтобы назначить приложение в пул приложений, выберите приложение в окне IIS Manager и щелкните на действии Basic Settings (Основные настройки) в правой части экрана. Откроется диалоговое окно Edit Application (Изменение приложения). Щелкните на кнопке Select (Выбрать) и выберите пул приложений из раскрывающегося списка, как показано на рисунке ниже. Мы выбрали специальный пул приложений, созданный в предыдущем разделе:

Диалоговое окно Select Application Poo!

Щелкните на кнопке OK. Щелкните на элементе Application Pools в IIS Manager — количество приложений пула CustomAppPool в столбце Applications станет равным 1, а количество приложений пула DefaultAppPool уменьшится на единицу.

Запуск и останов пула приложений

После щелчка на пуле приложений в правой части окна IIS Manager в разделе Application Pool Tasks (Задачи пула приложений) отобразятся три действия. Действия Start (Начало) и Stop (Остановить) определяют то, обслуживаются ли запросы, адресованные назначенным в пул приложениям. Если пул остановлен, клиенты будут получать сообщение об ошибке. Действие Recycle (Перезапуск) переустанавливает пул приложений. Это полезно для устранения постепенно накапливающихся и трудных для диагностирования проблем.

Использование параллельного выполнения

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

В примерах развертывания сайтов отображалась версия .NET Framework, применяемая для обработки запросов — как раз на такой случай. Если изменить версию платформы, предназначенную для пула, на ту, что назначена одному из примеров развертывания, выходные сведения изменятся, указывая, какая платформа используется пулом.

Если хотите изменить версию .NET, применяемую для сайта, который был создан с помощью проекта Visual Studio, придется изменить настройки проекта, чтобы он использовал эту версию, и снова выполнить развертывание. В противном случае при выполнении запросов к сайту будет отображаться сообщение об ошибке.

Загадочный пользователь «IIS APPPOOL\DefaultAppPool»

Именно в контексте пользователя “IIS APPPOOL\DefaultAppPool” исполняется пул приложений по умолчанию в IIS7. Выглядит достаточно странно, как будто есть новый домен “IIS APPPOOL” (ну и название, клавиши залипали что ли) и в нём создан пользователь DefaultAppPool.

Идея, в принципе, хорошая, – разделить недоверенные приложения IIS и все остальные сетевые приложения, исполняющиеся в контексте NETWORK SERVICE. А вот реализация, как это нередко бывает, так себе. В частности через графический интерфейс для пользователя “IIS APPPOOL\DefaultAppPool” нельзя установить права доступа на файлы. Ответ старый – командная строка. Простая команда

icacls D:\path\to\folder /grant "IIS APPPOOL\DefaultAppPool":(OI)(CI)(RX)

Создаст некоторые начальные права. А вот редактировать их уже можно через графический интерфейс.

Application Pool Identities в IIS

Каждый пул приложений в IIS использует свой собственный рабочий процесс (IIS Worker Process). Удостоверение пула приложений (Application Pool Identities) представляет из себя имя учетной записи, под которой выполняется рабочий процесс этого пула.

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

Начиная с Windows Server 2008 SP2 для того, чтобы изолировать рабочие процессы IIS от других системных служб, можно использовать виртуальные учетные записи (Virtual Accounts). Они позволяют запускать рабочий процесс для каждого пула приложений под собственной уникальной учетной записью ApplicationPoolIdentity. Эта учетная запись не требует управления и создается автоматически при создании каждого нового пула. Также она не имеет практически никаких привилегий в системе и не использует профиль пользователя, что повышает безопасность веб-сервера.

Для примера возьмем Application Pool с именем PubSite1. Открываем Task Manager и находим рабочий процесс IIS (w3wp.exe), выполняющийся от имени PubSite1. Как видите, имя учетной записи совпадает с именем пула приложений. Дело в том, что начиная с IIS 7.5 для каждого вновь созданного пула приложений по умолчанию создается виртуальная учетная запись с именем этого пула, и его рабочий процесс запускается из под этой записи.

Application pool в диспетчере процессов

Настройка типа удостоверения пула приложений

При необходимости тип идентификации пула приложений можно изменить. Для этого запускаем IIS Manager, переходим в раздел Application Pools, выбираем нужный пул и открываем его свойства (Advanced Settings).

пулы приложений в IIS Manager

В свойствах выбираем пункт Identity.

настройки пула приложений

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

• ApplicationPoolIdentity — учетная запись удостоверения пула приложений. Создается автоматически при запуске пула приложений и имеет самые минимальные права на локальном компьютере. Это наиболее безопасный вариант, начиная с IIS 7.5 используется по умолчанию;
• LocalService – встроенная учетная запись, которая имеет ограниченные права на локальном компьютере. Примерно то же самое, что и NetworkService, но ограничена только локальным компьютером;
• LocalSystem – системная учетная запись, имеющая неограниченные права на локальном компьютере. Наименее безопасный вариант, по возможности не рекомендуется ее использовать;
• NetworkService — учетная запись, которая имеет ограниченные права на локальном компьютере, а также может использоваться для доступа к ресурсам в сети Active Directory на основании учетной записи компьютера.

выбор типа удостоверения для пула приложений

Кроме того, в качестве удостоверения можно использовать и обычную учетную запись пользователя. Для этого надо выбрать Custom Account, нажать кнопку Set и ввести имя пользователя и пароль. Можно указать любого доменного или локального пользователя.

указываем пользователя для пула приложений

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

То же самое можно сделать с помощью утилиты командной строки appcmd. Чтобы указать учетную запись, которая будет использоваться для пула приложений, используется следующий синтаксис:

appcmd set config /section:applicationpools /[name=″имя пула приложений″].processModel.identityType:SpecificUser|NetworkService|LocalService|LocalSystem

Для примера изменим тип удостоверения для пула приложений PubSite1 на NetworkService:

appcmd set config /section:applicationpools
/[name=″PubSite1″].processModel.identityType:NetworkService

Профиль пользователя

По умолчанию IIS не использует профиль пользователя, но некоторые приложения могут потребовать использование профиля, например для хранения временных файлов. Профиль для учетной записи NetworkService создается системой и всегда доступен. Стандартные пулы приложений (DefaultAppPool, Classic .NET AppPool и т.п.) также имеют профиль пользователя на диске, однако при использовании ApplicationPoolIdentity профиль не создается автоматически.

Если вы хотите настроить ApplicationPoolIdentity на использование пользовательского профиля, то надо зайти в расширенные свойства пула и перевести параметр Load User Profile в состояние True.

разрешение на использование профиля пользователя в IIS

Настройка доступа к ресурсам

Иногда веб-приложению может потребоваться доступ к определенной папке или файлу на диске. Чтобы добавить ApplicationPoolIdentity в Access Control List (ACL):

• Запускаем Windows Explorer;
• Выбираем нужный файл или директорию, кликаем по ней правой клавишей мыши и выбираем пункт Свойства (Properties);
• Переходим на вкладку Безопасность (Security),
• Кликаем по кнопке Изменить (Edit), затем Добавить (Add);
• В поле Размещение (Locations) выбираем локальную машину;
• Вводим имя пользователя в виде ″IIS AppPool\имя пула приложений″. Так для пула приложений PubSite1 имя пользователя будет выглядеть ″IIS AppPool\PubSite1″;
• Проверяем имя клавишей Проверить имена (Check Names) и жмем ОК.

настройка разрешений NTFS

Также при желании можно воспользоваться утилитой командной строки ICACLS. Для примера дадим права на изменение для PubSite1:

ICACLS C:\Web\Pubsite1 /grant ″IIS AppPool\PubSite1″:M

Список разрешений выглядит следующим образом:

D – удаление;
F – полный доступ;
M – изменение;
RX – чтение и выполнение;
R – чтение;
W – запись.

Если ресурс находится в сети, то для доступа к нему лучше всего использовать учетную запись NetworkService. Рабочий процесс, запущенный под этим аккаунтом, для доступа к ресурсам использует учетные данные компьютера, сгенерированные при добавлении компьютера в домен. Для того, чтобы дать процессу доступ к сетевому ресурсу, в качестве пользователя указываем компьютер:

• Выбираем тип объекта (Object Type) Computers;
• В поле Размещение (Locations) выбираем домен;
• Вводим имя пользователя в виде domainname\machinename$, например contoso\SRV12$;
• Проверяем имя и жмем ОК.

доступ к сетевым ресурсам

Очень удобный способ предоставлять доступ к сетевым ресурсам типа файловых шар или баз данных SQL Server. Однако работает он только при наличии домена AD.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *