277 votes

Comment attribuer des autorisations au compte ApplicationPoolIdentity

Dans IIS 7 sur Windows Server 2008, les pools d'applications peuvent être exécutés sous le compte "ApplicationPoolIdentity" au lieu du compte NetworkService.

Comment puis-je attribuer des autorisations à ce compte "ApplicationPoolIdentity". Il n'apparaît pas comme un utilisateur local sur la machine. Il n'apparaît pas comme un groupe nulle part. Rien de semblable n'apparaît nulle part. Lorsque je recherche des utilisateurs locaux, des groupes et des comptes intégrés, il n'apparaît pas dans la liste, ni rien de similaire n'apparaît dans la liste. Que se passe-t-il?

Je ne suis pas le seul avec ce problème : voir Problème avec ApplicationPoolIdentity dans IIS 7.5 + Windows 7 pour un exemple.


"C'est malheureusement une limitation du sélecteur d'objets sur Windows Server 2008/Windows Vista - comme plusieurs personnes l'ont déjà découvert, vous pouvez toujours manipuler le contrôle d'accès pour l'identité de l'application-pool en utilisant des outils en ligne de commande comme icacls."

306voto

rmukhopadhyay Points 243

Mise à jour: La question initiale concernait Windows Server 2008, mais la solution est plus facile pour Windows Server 2008 R2 et Windows Server 2012 (et Windows 7 et 8). Vous pouvez ajouter l'utilisateur via l'interface NTFS en le tapant directement. Le nom est dans le format IIS APPPOOL\{nom du pool d'applications}. Par exemple: IIS APPPOOL\DefaultAppPool.

IIS APPPOOL\{nom du pool d'applications}

Remarque: Selon les commentaires ci-dessous, il y a deux choses à prendre en compte:

  • Entrez la chaîne directement dans "Sélectionner un utilisateur ou un groupe" et non dans le champ de recherche.
  • Dans un environnement de domaine, vous devez d'abord définir l'emplacement sur votre ordinateur local.

Référence à l'article de Microsoft Docs : Identités de pool d'applications > Sécurisation des ressources

Réponse originale: (pour Windows Server 2008) Il s'agit d'une fonctionnalité intéressante, mais comme vous l'avez mentionné, elle n'est pas encore entièrement mise en œuvre. Vous pouvez ajouter l'identité du pool d'applications depuis l'invite de commandes avec quelque chose comme icacls, puis vous pouvez la gérer depuis l'interface graphique. Par exemple, exécutez quelque chose comme ceci depuis l'invite de commandes:

icacls c:\inetpub\wwwroot /grant "IIS APPPOOL\DefaultAppPool":(OI)(CI)(RX)

Ensuite, dans l'Explorateur Windows, accédez au dossier wwwroot et modifiez les autorisations de sécurité. Vous verrez ce qui ressemble à un groupe (l'icône de groupe) appelé DefaultAppPool. Vous pouvez maintenant modifier les autorisations.

Cependant, vous n'avez pas du tout besoin d'utiliser cela. C'est un bonus que vous pouvez utiliser si vous le souhaitez. Vous pouvez utiliser l'ancienne méthode de création d'un utilisateur personnalisé par pool d'applications et attribuer l'utilisateur personnalisé au disque. Cela bénéficie d'un support complet de l'interface utilisateur.

Cette méthode d'injection de SID est intéressante car elle vous permet d'utiliser un seul utilisateur mais d'isoler complètement chaque site les uns des autres sans avoir à créer des utilisateurs uniques pour chaque pool d'applications. Plutôt impressionnant, et ce sera encore mieux avec le support de l'interface utilisateur.

Remarque: Si vous ne parvenez pas à trouver l'utilisateur du pool d'applications, vérifiez si le service Windows appelé Service d'aide de l'hôte d'application est en cours d'exécution. C'est le service qui mappe les utilisateurs de pool d'applications vers les comptes Windows.

0 votes

Merci pour l'explication. Les demi-implementations déclarées comme telles sont bien moins irritantes, car leur comportement étrange est explicable. Il est clair qu'il existe un compte distinct avec un SID unique pour chaque pool d'applications, et qu'ils semblent être gérés par le système, mais je ne sais pas comment. Je me demande si le NTFS va se retrouver encombré à mesure que des pools d'applications sont ajoutés, des autorisations attribuées, puis supprimées ultérieurement en utilisant ce type de comptes gérés par le système. Cela semble trop instable.

1 votes

Il s'agit en quelque sorte d'une bête étrange car ce n'est pas comme un groupe où l'utilisateur vit dans un groupe, et ce n'est pas comme un compte d'ordinateur par rapport à un compte d'utilisateur qui sont complètement différents l'un de l'autre. Le compte de pool d'application 'chevauche' l'utilisateur d'identité de pool d'application. Par exemple, vous pouvez avoir 5 pools d'applications utilisant Network Service et 5 autres utilisant des comptes personnalisés, mais ce sont 10 comptes de pools d'applications gérés par le système. Les avantages sont remarqués avec le dossier c:\inetpub\temp\appPools où il est géré automatiquement et verrouille proprement le système. IIS les utilise bien. Notre utilisation sur les dossiers est facultative.

30 votes

Notez que si vous entrez "IIS APPPOOL\DefaultAppPool" directement dans le champ "Sélectionner un utilisateur ou un groupe" (au lieu de le rechercher) lors de la modification des autorisations, il sera reconnu sans problème (testé sur Win7 x64 et Win2k8 R2 x64).

25voto

Alan Points 241

Vous devez vous assurer que le champ De cet emplacement est réglé sur la machine locale et non sur le domaine.

J'ai eu le même problème et une fois que j'ai changé cela, tout fonctionnait bien.

5voto

Jimbo Points 41

Vous devriez vraiment créer des groupes par "rôle" et assigner à ce groupe des accès sur le système de fichiers. Ensuite, ajoutez le pool d'applications aux groupes spécifiques au rôle si nécessaire. De cette façon, même si vous supprimez le pool d'applications plus tard (et que l'utilisateur virtuel disparaît comme par magie), vous n'aurez pas à vous soucier de refaire toutes les autorisations, il suffit d'ajouter le nouveau pool d'applications au groupe existant.

3voto

Roger Points 151

Après avoir lu la réponse de @Scott Forsyth - MVP, j'ai essayé de redémarrer le service Application Host Helper. Cela a résolu le problème pour moi.

0voto

Joshua Barker Points 169

J'exécutais WS8 R2 et je ne pouvais pas ajouter IIS APPPOOL\DefaultAppPool via l'explorateur Windows. La seule façon de le faire fonctionner était via la ligne de commande :

cacls [CHEMIN DU FICHIER] /T /E /G "IIS APPPOOL\DefaultAppPool":C

2 votes

Étrangement, j'ai dû faire "IIS AppPool\DefaultAppPool" pour qu'il soit accepté. Remarquez la casse mixte - tout en majuscules, comme je l'ai fait la première fois, n'a pas été acceptée depuis l'interface graphique.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X