使用IIS应用程序池标识配置集成安全帐户为SQL Server 2008(Configuring I

2019-08-02 07:51发布

我有一个网站如下配置:

  • 两个Web前端(如机器名称:WFE1&WFE2)1个SQ
  • 一个SQL Server数据库集群(如机器名称:DBCluster)

所有机器都在同一个域(例如MYDOMAIN)运行Windows 2008 R2企业版和SQL Server 2008 R2。

我在部署使用的应用程序池标识的web应用程序的过程。 我有一个名为池MyWebApp,转化为名称,[IIS APPPOOL \ MyWebApp。 当我尝试添加该用户到SQL Server我得到一个错误:

Windows NT用户或组 'IIS APPPOOL \ MyWebApp' 未找到。 再次检查该名称。

我已经习惯了创建该帐户在SQL Server中的脚本:

CREATE LOGIN [IIS APPPOOL \ MyWebApp] FROM WINDOWS WITH DEFAULT_DATABASE = [MyDatabase的],DEFAULT_LANGUAGE = [美国英语] GO

我想这个问题正在发生,因为IIS帐户是本地帐户,这是不是SQL Server框中可见。

是否有人可以阐明这个问题如何解决一些轻? 使用域帐户我唯一的选择或者我还可以让应用程序池帐户的工作?

Answer 1:

我想这个问题正在发生,因为IIS帐户是本地帐户,这是不是SQL Server框中可见。

这正是问题。 在IIS应用程序池帐户只存在于Web服务器上。 如果能将此帐户添加到SQL Server,您将得到授权即在同一台计算机的SQL Server 运行的IIS应用程序池。 (我怀疑它可能仍然会失败。)

最安全的解决方案可能会做,因为你说的 - 在该站点创建一个帐户,给该帐户在数据库上适当的权限,并使用该帐户的凭据运行程序池。

但是,如果你还是想做到这一点,你需要授权的应用程序池正在运行的电脑 -即DOMAINNAME\ComputerName$ (注意$末)。

看看这篇文章的详细信息(具体而言,标题为访问网络 )。

我认为这是一个坏主意 ,但是,因为它授权运行的网络服务来访问数据库的任何程序 -不只是你的Web应用程序。



文章来源: Configuring Integrated Security using IIS Application Pool Identity accounts for SQL Server 2008