【发布时间】:2016-08-29 13:45:00
【问题描述】:
我们有一个运行着数千名用户的大型系统(一些来自 Android 应用,其他来自网络应用等)。
系统是分布式的,数据库位于两个位置(在同一国家/地区)。在一个位置,同一网络中有 5 台服务器,每台服务器都有一份数据库副本(通过复制)。
在软件开发人员中,少数可以直接访问生产数据库。有时由于用户要求技术支持修改一些系统本身无法进行的操作,开发人员/支持团队不得不直接访问数据库并修改一些记录。
我们知道这不是理想的工作方式。但多年来一直如此。
最近我们发现了一些问题。有一天,一个人错误地更新了一张表中的数百条记录。
从那时起,我们正在分析如何改进这种访问。
我们正在寻找一些提高安全性的方法。我们希望有一个两阶段的身份验证系统。从 Sql Server Management Studio 访问时要求用户输入两个密码的东西...
这可能吗?或者我们可以使用其他方法来提高安全性,但仍然允许开发人员/支持团队在必要时访问生产数据库?
用户也(当前)可以通过远程桌面访问所有服务器。
至少我们想知道何时完成此访问。
【问题讨论】:
-
您当前使用的是 Windows 身份验证还是混合模式身份验证?您如何处理来自应用程序的用户权限?
-
你认为两次输入密码会阻止
One day one person updated hundreds of records from a table by mistake. -
@ArthurD 是的,它启用了混合模式。
-
@TheGameiswar 的想法是第一个密码仅供 2 人使用。所以他们会在场并在开发人员的肩膀上监视。
标签: sql-server security sql-server-2005 windows-server-2003