向我们的SQL Server添加安全层(目前可从远程sql管理工作室访问)

时间:2016-08-29 13:45:00

标签: sql-server security sql-server-2005 windows-server-2003

我们有一个运行着大量用户的大型系统(一些来自Android应用程序,另一些来自Web应用程序等)。

系统已分发,数据库位于两个位置(在同一国家/地区内)。在一个位置,同一网络中有5台服务器,每台服务器都有一个数据库副本(通过复制)。

在软件开发人员中,有少数人可以直接访问生产数据库。有时由于用户要求的技术支持来修改系统本身无法完成的某些操作,开发人员/支持团队必须直接访问数据库并修改一些记录。

我们知道这不是理想的工作方式。但多年以来就是这样。

最近我们发现了一些问题。有一天,一个人错误地更新了表中的数百条记录。

从那时起,我们正在分析如何改善此访问。

我们正在寻找一些提高安全性的方法。我们希望有一个两阶段认证系统。从Sql Server Management Studio访问时要求用户输入两个密码...

这可能吗?或者我们可以使用任何其他方法来提高安全性,但仍然允许开发人员/支持团队在必要时访问生产数据库?

用户(currenty)也可以通过远程桌面访问所有服务器。

至少我们想知道何时进行此访问。

2 个答案:

答案 0 :(得分:1)

Make access to PROD read only for those users. Allow them to write their scripts and then submit them for review at a minimum and testing if possible like any other deployable. Then follow standard deployment processes with someone who has access.

答案 1 :(得分:0)

If my other answer isn't workable and these updates are always the same kind of fixes...you could create support stored procs maybe to do the fixes and only give permission on the procs...but this is highly dependent on the commonality of fixes being made and less preferable to my other answer.

I haven't used it myself but EXECUTE AS might let you give the users read-only permission while the procs would execute under credentials with higher access.