如何控制在NETWORK SERVICE下运行的网站的数据库权限?

时间:2013-06-24 10:36:14

标签: asp.net iis-7 sql-server-2008-r2 network-service

我有一个在NT AUTHORITY\NETWORK SERVICE帐户下的IIS AppPool中运行的网络应用程序。 WebApp使用SQL Server 2008 R2

连接到Integrated Security = True;数据库

当我运行SQL Profiler时,在运行网站时,我可以看到它使用NT AUTHORITY\NETWORK SERVICE登录。

但我没有在Security>下看到相应的登录信息。登录。

我的问题是:

  • 映射到NT AUTHORITY\NETWORK SERVICE的SQL Server登录 到?
  • 如何控制NETWORK SERVICE的权限?
  • 在SQL SERVER中降低NETWORK SERVICE帐户的权限是不错的做法?

1 个答案:

答案 0 :(得分:1)

NT AUTHORITY \ NETWORK SERVICE未在Sql Server中映射。你必须自己做。尝试连接到远程资源时,网络服务模拟计算机帐户。授予DOMAIN \ Servername $权限通常有效。

创建Sql Server映射后,您可以控制每个其他帐户的权限。它完全一样。

Personnaly,我认为将集成安全性和安全性混合起来并不是一个好习惯。网络服务,因为它是一个内置帐户。它可能适用于很多环境但你没有很高的安全性。例如,如果访问数据库的许多网站都部署在Web场中,您将完全失去对权限的控制权。管理也很痛苦。

您有两种方法可以避免这种情况:

  • 使用sql身份验证

这是相对不安全的。心怀不满的前雇员可能会恶意使用这些信息,访问者可能会在某个屏幕上看到代码,或者源代码可能会意外地泄露出来。

  • 更改应用程序池标识。

只需创建/重用单独的Windows帐户,为其授予SQL Server所需的最低访问权限,然后将应用程序更改为在此新帐户的上下文中运行。 阅读更多here