Dans IIS 7.0, quelle est la différence entre l'identité du pool d'applications et l'identité du site web ?

Dans IIS 5.0, par défaut l’identité du compte d’un pool d’applications est ASPNET, et le site web, sauf si l’usurpation d’identité est activée, s’exécute sous le compte de l’identité de son pool d’applications.

Mais dans IIS 7.0, il y a deux endroits où je peux configurer le compte que mon site web utilisera. Au niveau du pool d’applications et au niveau du site web.

Je m’attendais à ce que l’identité du site web remplace l’identité du pool d’applications, mais j’ai constaté que ce n’est pas le cas.

Alors, quelle est la différence ?


Source : Server Fault

Les deux comptes sont des choses différentes. Considérez l’identité du site web comme représentant l’utilisateur du site. Si vous créez un nouveau site web, ce compte est le compte IIS anonyme. Si vous désactivez l’« Authentification anonyme », vos utilisateurs devront s’authentifier auprès du site web (dans un site intranet/domaine Windows, cela pourrait être implicite en utilisant les identifiants réseau).

L’identité du pool d’applications est le compte Windows nécessaire pour exécuter vos assemblys. Normalement c’est le compte « Network Service » qui est un compte à privilèges minimaux avec des droits et permissions utilisateur limités. Il dispose cependant d’identifiants réseau. Cela signifie que vous pouvez l’utiliser pour vous authentifier auprès de ressources réseau dans un domaine. Vous pouvez également l’utiliser pour accéder à une base de données SQL Server avec la sécurité intégrée.

Par exemple, si votre application ASP.NET doit écrire dans un dossier, vous devez accorder la permission au compte du pool d’applications, pas au compte du site web. Pour plus d’informations sur les identités de pool d’applications, consultez cette page.

Remarque : Dans IIS 7, il existe un moyen d’utiliser le même compte que l’identité du pool d’applications pour le compte anonyme du site web :