【发布时间】:2012-04-04 22:50:55
【问题描述】:
我想将我的应用程序设置为使用服务帐户连接到 SQL Server,而不是通过域用户凭据。通过传递,必须授予特定用户对数据库的读/写访问权限,我认为这是一个安全漏洞。
我的问题是,如果我使用服务帐户凭据建立与 SQL 服务器的连接,是否仍然可以识别发起请求的实际用户? 例如,域用户 John Smith 访问网站并执行一些操作。使用某些服务帐户的安全凭据建立与数据库的连接,但 johh smith 的名称仍会传递到 SQL 服务器。 SQL 会以某种方式使用这个人的名字——例如将其存储在审计表等中。
这可以吗?考虑到我需要以某种方式将原始用户名输入 SQL 服务器,这是最佳做法吗?
【问题讨论】:
-
对安全组使用 Windows 身份验证有什么问题?也就是说,授予组而不是个人用户的访问权限。
-
因为这允许他们直接对数据库执行查询,绕过应用程序规则。您可能想要阻止这种情况的原因与您保护应用程序免受 SQL 注入攻击的原因相同。
标签: sql-server sql-server-2008 sql-server-2005 dns