IIS 7.5应用程序池用户(域用户,而不是AppPoolIdentity)所需的用户权限

Arj*_*jen 6 configuration application-pool windowsdomainaccount iis-7.5

我们有一个活动目录域(让我们称之为foodomain)和一个foodomain\fooAppPoolUser用于IIS应用程序池标识的域用户帐户().

我们希望在此用户帐户下运行应用程序池,而不是在Network Service新用户帐户下,AppPoolIdentity因为我们必须访问SQL服务器并且在IIS(具有自己的应用程序池)上有多个应用程序访问不同的数据库.

问题是我无法找到明确的HOW-TO解释,必须为此用户帐户设置哪些用户权限以及如何设置IIS以使其正常工作.

首先我得到错误(不幸的是我记不起哪些错误),然后我添加fooAppPoolUser到本地管理员组(Administrators我知道,只是为了测试),然后它工作了.现在我再次删除了用户,重新启动了IIS,它仍然有效.

所以我有点困惑,想知道配置/设置如何让它工作.

我读到的Somwhere,该帐户需要具有" 身份验证后模拟客户端 "用户权限.这就是我将帐户添加到Admin组的原因(用户权限分配是通过组策略阻止的,但如果确实需要,这肯定可以更改.

我希望我很清楚问题是什么,并希望有人得到答案.

Ror*_*ory 6

令人沮丧的是,这些信息很难找到,因为一些安全管理员似乎喜欢更改默认策略设置以阻止在IIS中安装应用程序的残酷和不寻常的惩罚.

以下是我认为您应该做的事情,以使帐户能够作为ApplicationPool标识工作:

  • 运行aspnet_regiis -ga DOMAIN\USER以添加访问IIS元数据库的权限.(究竟是什么意思,谁知道?)aspnet_regiis参考
  • 将用户添加到IIS_IUSRS组.这可以根据IIS配置设置processmodel.manualGroupMembership自动完成,但最容易自己添加.
  • 如果安全策略使用的是与之相关的Windows默认值.如果安全策略被锁定,您可能需要为该帐户启用特定用户权限.您默认使用ApplicationPoolIdentities的那些(这似乎是一个好的起点,但不一定都是必需的):
    • 从网络访问此计算机
    • 调整进程的内存配额
    • 允许本地登录
    • 绕过遍历检查
    • 生成安全审核详细信息
    • 在身份验证后模拟客户端 - (通常在锁定环境中不可用)
    • 以批处理作业登录 - (在锁定环境中通常不可用)
    • 作为服务登录 - (我不确定这是否需要)
    • 替换进程级令牌
  • 如果您正在使用Windows auth和Kerberos(provider = Negotiate),那么根据URL以及是否启用了内核模式身份验证,您可能需要设置SPN.我建议尽可能切换到NTLM.否则,请参阅以下有关SPN的文章,并找到一个友好的域管理员为您添加它们.

有趣的阅​​读: