【问题标题】:User rights needed for IIS 7.5 application pool user (domain user, not the AppPoolIdentity)IIS 7.5 应用程序池用户(域用户,而不是 AppPoolIdentity)所需的用户权限
【发布时间】:2011-09-26 15:33:46
【问题描述】:

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

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

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

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

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

在某处我读到,该帐户需要具有“身份验证后模拟客户”用户权限。这就是我将帐户添加到 Admin 组的原因(用户权限分配被组策略阻止,但如果确实需要,这肯定可以更改。

我希望我足够清楚问题是什么,并希望有人能回答。

【问题讨论】:

    标签: configuration iis-7.5 application-pool windowsdomainaccount


    【解决方案1】:

    阿杰,

    关于 IIS 中的配置步骤,我会在 TechNet 上查看 Specify an Identity for an Application Pool (IIS 7)

    【讨论】:

      【解决方案2】:

      我发现以下链接回答了我遇到的类似问题:http://www.iis.net/learn/manage/configuring-security/application-pool-identities

      基本上,ApplicationPoolIdentity 是一个虚拟用户帐户,其行为仍然类似于 NETWORK SERVICE,但没有一些缺点;每个应用程序池都有自己创建的 ApplicationPoolIdenity 帐户。

      还可以找到更多详细信息,这些信息也特定于IIS 7.5 Application Pool Identities

      【讨论】:

        【解决方案3】:

        您的应用程序在删除管理员权限后工作的原因是您的应用程序是使用管理员权限编译到框架临时文件夹的 - 您的应用程序在删除管理员权限后工作,因为应用程序已编译。如果您更新应用程序并需要重新编译,则应用程序池帐户将再次需要信任。

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

        【讨论】:

          【解决方案4】:

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

          以下是我认为您应该执行的操作,以使帐户能够作为 ApplicationPool 身份工作:

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

          有趣的阅读:

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2013-12-21
            • 1970-01-01
            • 2012-08-22
            • 1970-01-01
            • 2010-11-30
            • 1970-01-01
            • 2014-10-01
            • 2011-02-19
            相关资源
            最近更新 更多