【发布时间】:2014-11-25 23:06:46
【问题描述】:
我正在考虑使用 SQL LocalDB 作为客户端数据库,它将替换 .net 4 开发的内部应用程序中的当前 SQL CE 3.5 数据库。
我遇到了一个不知道如何解决的问题,这与 LocalDB 实例的安全设置有关。
如果我在 .net 中设置一个脚本来创建一个私有 LocalDB 实例,例如(localdb)\T1,然后在该实例中创建一个新数据库并添加一个 SQL 用户帐户 + 密码(非域帐户),如何阻止具有管理员级别权限的本地 Windows 用户(如我自己的 AD 帐户)访问'T1' 实例 + 使用 SSMS 的数据库?
我可以看到我们部署应用程序的场景,然后我们有一些精通 IT 的用户四处窥探并决定安装 SSMS 并使用他们的 Windows 帐户连接到 (localdb)\T1,这会给他/她对数据库的完全访问权限,这正是我试图阻止发生的事情。
我们的一些员工在没有连接到域的情况下远程工作,因此我们为他们提供了对其 PC 的本地管理员权限,以便他们可以安装软件,因此即使我可以阻止他们分配的 Windows 登录名,也没有什么可以阻止他们设置一个新的本地管理员帐户并使用该帐户登录,打开 SSMS 然后访问数据库。
任何关于此的指针将不胜感激!
【问题讨论】:
-
简而言之,你不能 - 如果他们有管理员级别的权限,那么他们可以做任何事情:blogs.msdn.com/b/oldnewthing/archive/2006/05/08/592350.aspx