我想将应用程序设置为使用服务帐户连接到SQL Server,而不是通过域用户凭据。通过后,有必要授予特定用户对数据库的读/写访问权限,我认为这是一个安全漏洞。
我的问题是,如果我使用服务帐户凭据建立与SQL Server的连接,是否仍然可以识别发起请求的实际用户? 例如,域用户John Smith访问网站并执行某些操作。使用某个服务帐户的安全凭证建立与数据库的连接,但是johh smith的名称仍然传递给SQL服务器。 SQL会以某种方式使用此人的姓名 - 例如将其存储在审计表等中
可以这样做吗?考虑到我需要以某种方式将原始用户的名称输入SQL服务器,这是最佳实践吗?
答案 0 :(得分:1)
如果用户使用SQL Server登录到SQL Server登录,则无法通过SQL登录知道他(在域级别)的身份。
however johh smith's name is still passed through to SQL server
是的,您可以做的是以某种方式使用User.Identity.Name捕获AD用户名,然后将其发送到您自己手动创建的审计表上的SQL Server