繁体   English   中英

为IIS APPPOOL创建SQL Server登录 - 在不同的计算机上创建IIS和SQL Server

[英]Create SQL Server Login for IIS APPPOOL - IIS and SQL Server on different machines

如果我错过了一个明显的答案,我会提前彻底搜索道歉。 遵循以下链接中的建议,解决方案无效。 该解决方案也不表示它是否适用于在不同计算机上运行IIS和SQL Server的生产Web服务器。 将IIS 7 AppPool标识添加为SQL Server登录

下面的Microsoft链接未提供用于创建SQL Server Windows登录的特定语法: http//www.iis.net/learn/manage/configuring-security/application-pool-identities

我们的目标是在生产环境中运行IIS 7.5的Server 2008 R2计算机上公开部署ASP.NET 4.0 Web应用程序。 根据最佳实践,我们在同一域中的单独计算机上运行SQL Server 2008。 我们希望在没有模拟的情况下使用SQL Sever Windows身份验证,以允许IIS框和SQL Server上的ASP.NET应用程序进行通信。 目前,SQL Server登录连接字符串允许.NET应用程序连接到SQL Server,但我们希望将连接字符串升级为Windows SQL Server登录以更安全。

在IIS 7.5上,我们为网站配置了一个应用程序池。 在“应用程序池高级”设置下,“内置帐户”已尝试同时使用ApplicationPoolIdentity和网络服务。 据说最佳做法是使用ApplicationPoolIdentity来实现更严格的安全性。

失败的步骤是创建SQL Server Windows登录。

我们按照第一个链接执行了以下步骤:

  1. 在SQL Server Management Studio中,查找Security文件夹(与数据库,服务器对象等文件夹处于同一级别的安全性文件夹...而不是每个单独数据库中的安全性文件夹)

  2. 右键单击登录并选择“新登录”

  3. 在“登录名”字段中,键入IIS APPPOOL\\YourAppPoolName - 不要单击“搜索”

  4. 填写您喜欢的任何其他值(即身份验证类型,默认数据库等)

  5. 单击确定

你能告诉我IIS 7.5和SQL Server在不同的盒子上,我需要用什么语法来创建SQL Server窗口登录?

我试过:“ mydomain\\machine1$\\IIS APPPOOL\\MyAppPoolName ”多次没有成功。
错误消息是:“ Windows NT User or group IIS APPPOOL\\MyAppPoolName can not be found

我使用了网络服务器的网络名称来代替machine1(以及实际的应用程序池名称和域名)。

在此先感谢您的帮助。

PS如果微软提供了一个关于如何完成这个常见以及应该是简单任务的分步教程,那将是很好的。 你在StackOverFlow上的答案将帮助很多人:)

您的问题的一个解决方案是为应用程序池设置一个单独的(非内置)帐户。 您可以为该帐户授予最小权限,并授予对SQL Server的访问权限。

这样您就可以使用易于设置但仍能严格控制安全性的域帐户。

我知道这个问题已经过时了,但是直到我开始工作,我才愿意分享我的经验来回答这个问题。

您遵循的步骤与我合作,除了:

3-需要添加到sql server登录的帐户是mydomain\\machine1$ not mydomain\\machine1$\\IIS APPPOOL\\MyAppPoolName

4-将常规设置页面中的所有内容保留为默认值(实际上,您需要确保使用Windows身份验证)。

然后转到User Mappings | 选择您希望应用程序访问的数据库 授予它你想要的任何权限。 例如,给它db_datareader和db_datawriter权限。

5-单击“确定”保存。

但是要知道使用来自同一台机器的虚拟帐户的所有应用程序都能够访问该数据库。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM