Question 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 attribuer des autorisations à ce compte "ApplicationPoolIdentity". Il n'apparaît pas en tant qu'utilisateur local sur la machine. Il n'apparaît nulle part en tant que groupe. Rien à distance comme il apparaît n'importe où. Lorsque je recherche des utilisateurs locaux, des groupes et des comptes intégrés, il n'apparaît pas dans la liste et rien de similaire n'apparaît dans la liste. Que se passe-t-il?

Je ne suis pas le seul à avoir ce problème: voir Problème avec ApplicationPoolIdentity dans IIS 7.5 + Windows 7 à titre d'exemple.


"Il s'agit malheureusement d'une limitation du sélecteur d'objet sous Windows Server 2008 / Windows Vista. Plusieurs personnes l'ayant déjà découvert, vous pouvez toujours manipuler la liste de contrôle d'accès pour l'identité du pool d'applications à l'aide d'outils de ligne de commande tels que glaces. "


252
2017-11-03 21:52


origine




Réponses:


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

IIS APPPOOL\{app pool name}

Note: Selon les commentaires ci-dessous, il y a deux choses à savoir:

  • Entrez la chaîne directement dans la zone "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 Microsoft Docs: Identités du pool d'applications> Sécurisation des ressources

Réponse originale: (pour Windows Server 2008) C'est une fonctionnalité intéressante, mais comme vous l'avez mentionné, elle n'est pas encore complètement implémentée. Vous pouvez ajouter l'identité du pool d'applications à partir de l'invite de commande avec un nom similaire à icacls, puis la gérer à partir de l'interface graphique. Par exemple, exécutez quelque chose comme ceci à partir de l'invite de commande:

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 à quoi ressemble un groupe (l’icône du groupe) appelé DefaultAppPool. Vous pouvez maintenant modifier les autorisations.

Cependant, vous n'avez pas besoin de l'utiliser du tout. 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 d'affecter l'utilisateur personnalisé à un disque. Cela a 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 tout en isolant complètement chaque site l’un de l’autre sans avoir à créer des utilisateurs uniques pour chaque pool d’applications. Assez 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é Application Helper Application Helper est en cours d'exécution. C'est le service qui mappe les utilisateurs du pool d'applications vers les comptes Windows.


281
2017-11-04 03:07



C'est une sorte de 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 contre un compte d'utilisateur qui sont complètement différents les uns des autres. Le compte de pool d'applications "chevauche" l'utilisateur d'identité du pool d'applications. Par exemple, vous pouvez avoir 5 pools d'applications utilisant le service réseau et 5 autres utilisant des comptes personnalisés, mais il s'agit de 10 comptes de pool d'applications gérés différents du système. Les avantages sont remarqués avec le dossier c: \ inetpub \ temp \ appPools où il est géré automatiquement et verrouille le système proprement. IIS les exploite bien. Notre utilisation sur les dossiers est facultative. - Scott Forsyth - MVP
Notez que si vous entrez "IIS APPPOOL \ DefaultAppPool" directement dans "Sélectionner un utilisateur ou un groupe" (au lieu de le rechercher) lors de la modification des autorisations, il sera correctement reconnu (testé sur Win7 x64 et Win2k8 R2 x64). - Milan Gardian
Vous avez raison pour Win7 et Win2k8 R2. Cela n'a pas été implémenté dans Win2k8 RTM, mais dans R2. - Scott Forsyth - MVP
Enfin obtenu ceci - si vous tapez le nom de la piscine de l'application directement comme @Milan Gardian dit ci-dessus et changer le champ d'emplacement sur la machine locale alors ça marche - Ciaran Bruen
Merci beaucoup pour les "deux choses à prendre en compte". Je suis tombé sur l'une et l'autre, et c'était une explication claire et simple des problèmes et de la manière de réaliser ce que je devais réaliser. C'est dommage, aucune documentation de MSDN n'était aussi claire. - Ian Grainger


Vous devez vous assurer que le champ "De cet emplacement" est défini 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 a bien fonctionné.


21
2017-08-01 13:29





Vous devriez vraiment créer des groupes par "rôle" et attribuer à ce groupe les accès au système de fichiers. Ajoutez ensuite le pool d'applications aux groupes spécifiques à un rôle, si nécessaire. De cette façon, même si vous supprimez le pool d'applications ultérieurement (et que l'utilisateur virtuel pouf), vous n'avez pas à vous soucier de rétablir toutes les autorisations, vous ajoutez simplement le pool d'applications de remplacement au groupe existant.


4
2018-06-14 17:42





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


3
2017-12-04 11:05





Je courais WS8 R2 et je ne pouvais pas ajouter IIS APPPOOL\DefaultAppPool via l'explorateur Windows. La seule façon dont cela fonctionnait était via la ligne de commande

cacls [CHEMIN DE FICHIER] / T / E / G "APPUI IIS \ DefaultAppPool": C


0
2018-03-19 14:46



Étrangement, je devais faire "IIS AppPool \ DefaultAppPool" pour que cela soit accepté. Remarquez le cas mélangé - toutes les majuscules, comme je l'ai fait la première fois, n'ont pas été acceptées par l'interface graphique. - Jeff McJunkin


Si cette question concerne la procédure à suivre pour exécuter _sp_send_dbmail dans la base de données msdb (à l'aide de la procédure stockée SQL send stockée Mail dans msdb), voici quelques solutions. Ajoutez le nom d'utilisateur de l'application .net de votre base de données (défini dans la chaîne de connexion de votre application .net) à l'utilisateur msdb avec l'appartenance au rôle "DatabaseMailUserRole".


0
2017-07-25 00:50