IIS 应用程序池中的哪个身份选项被认为是最好的

Which Identity option in IIS' Application Pool is considered best

目前我们所有的网络应用程序都将其应用程序池标识设置为 ApplicationPoolIdentity。现在,当一个应用程序需要访问某个服务器上的某些资源时,比如 add/read 某个文件,该应用程序会在代码中向有权执行此操作的用户执行模拟。但是现在,我们正在考虑为每个应用程序创建一个特定的用户,并将其应用程序池标识设置为其特定的新用户。但是我注意到在Advanced Settings对话框中微软推荐使用应用程序池标识,如下图所示:


为什么 Microsoft 建议使用此身份,使用特定用户不是最佳做法还是错误的做法?

谢谢,
阿希隆

ApplicationPoolIdentity uses a concept called Virtual Accounts and is implemented to have App Pool isolation.This blog explains in detail about that .

ApplicationPoolIdentity 是在 IIS7+ 中的每个 website/application 池之间进行适当隔离的推荐方法 onwards.So 您可以拥有一个网站或应用程序无法访问的代码或文件 运行没有其他人。

但是对于您需要访问另一台服务器上的资源的场景,当您使用 ApplicationPoolIdentity 时它仅使用机器身份 always.So 最好的方法是使用托管服务帐户

Managed Service Accounts are a great way to manage Services that need network access. Let Windows take care of passwords and SPNs for you

请查找更多信息here ,here

但这有问题,因为只能将一个托管服务帐户分配给一个具有应用程序池身份的 Server.Even,它将使用 $machineaccount 访问网络资源。

如果您必须为每个 website/application 隔离网络资源,那么您唯一的方法就是为每个网站创建单独的用户帐户并进行管理。

希望对您有所帮助!