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
但这有问题,因为只能将一个托管服务帐户分配给一个具有应用程序池身份的 Server.Even,它将使用 $machineaccount 访问网络资源。
如果您必须为每个 website/application 隔离网络资源,那么您唯一的方法就是为每个网站创建单独的用户帐户并进行管理。
希望对您有所帮助!
目前我们所有的网络应用程序都将其应用程序池标识设置为 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
但这有问题,因为只能将一个托管服务帐户分配给一个具有应用程序池身份的 Server.Even,它将使用 $machineaccount 访问网络资源。
如果您必须为每个 website/application 隔离网络资源,那么您唯一的方法就是为每个网站创建单独的用户帐户并进行管理。
希望对您有所帮助!