将IIS 7 AppPool标识添加为SQL Server登录

我使用集成管道模式的AppPool运行IIS 7网站。 AppPools不会在NetworkService等下运行,但是使用它自己的AppPool Identitiy(IIS AppPool MyAppPool)。

这是一个所谓的服务帐户或虚拟帐户。 (一个用户帐户,这不是一个完整的帐户...)

我想给这个服务帐户(IIS AppPool MyAppPool)权限连接到我的SQL Server 2008 Express(以混合身份验证模式运行)。

虽然SQL Server可以添加任何普通用户帐户,但IIS AppPool MyAppPool虚拟帐户无法添加到有效登录(SQL Server说,无法找到该帐户)。

有没有什么窍门,我需要启用什么才能让虚拟帐户起作用? (根据taskmgr,w3wp.exe进程在此标识下运行,但我无法在NTFS安全中使用该帐户...)

谢谢你的帮助!


“IIS APPPOOL AppPoolName”可以正常工作,但如前所述,它看起来不是一个有效的AD名称,因此当您在“选择用户或组”对话框中搜索它时,它不会显示出来(实际上,它会发现它,但它会认为它是一个实际的系统帐户,并且会尝试将其作为一个实际的系统帐户,这将无法正常工作,并且会给出关于它未找到的错误消息)。

我如何使它工作是:

  • 在SQL Server Management Studio中,查找安全性文件夹(与数据库,服务器对象等文件夹相同级别的安全性文件夹...而不是每个单独数据库中的安全性文件夹)
  • 右键单击登录并选择“新登录”
  • 在登录名字段中,输入IIS APPPOOL YourAppPoolName - 不要单击搜索
  • 填写你喜欢的任何其他值(即认证类型,默认数据库等)
  • 点击确定
  • 只要AppPool名称确实存在,现在就应该创建登录名。


    CREATE LOGIN [IIS APPPOOLMyAppPool] FROM WINDOWS;
    CREATE USER MyAppPoolUser FOR LOGIN [IIS APPPOOLMyAppPool];
    

    作为附注,使用虚拟帐户的进程(NT Service MyService和IIS AppPool MyAppPool)仍在“NETWORK SERVICE”帐户下运行,因为此帖建议http://www.adopenstatic.com/cs/blogs/ken/存档/ 2008/01 /第29 / 15759.aspx。 唯一的区别是,这些过程是“NT服务为MyService”或“IIS程序池 MyAppPool”组的成员 (如这些实际上组和用户)。 这也是网络服务帐户所使用的网络身份验证方式与网络身份验证方式相同的原因。

    保护访问的方式不是依赖于此帐户没有NETWORK SERVICE权限,而是要为“NT Service MyService”或“IIS AppPool MyAppPool”授予更多权限,并在必要时删除“用户”的权限。

    如果有人有更准确或矛盾的信息,请发布。

    链接地址: http://www.djcxy.com/p/7725.html

    上一篇: Add IIS 7 AppPool Identities as SQL Server Logons

    下一篇: SQL Server LDAP authentication