可能重复:
Is it possible to password protect an SQL server database even from administrators of the server?
我在Windows 7机器上的SQL Server 2008上托管我的数据库。 Windows 7计算机和SQL Server 2008由第三方管理员控制和管理。
我的数据库中有敏感信息。
如何保护我的数据库,以便第三方管理员不查看敏感数据?
是否有任何方法可以限制第三方管理员复制存储过程,表格设计等。
答案 0 :(得分:1)
仅限于某种程度。
如果他们正在管理实际的SQL Server实例,那么他们拥有“王国的钥匙”。他们可以查看每个对象的定义,更改定义或数据,并执行其他任何操作。即使他们只拥有机器上的管理员权限而不是服务器,他们也可以通过某些techniques获得管理员权限,这些权限通常被认为是有效的,而不是错误或漏洞。毕竟他们的服务器和服务器都会遵守它们。
在这种情况下,您需要至少在一定程度上信任这些管理员。如果您不能信任它们,理想情况下您应该完全不与它们一起托管,如果您不能信任它们并且必须与它们一起托管,请尝试使用您自己的VM,至少可以应用一些额外的安全性和审核。 / p>
你可以做一些事情,但没有一件事是完全有效的。
首先是加密。如果您满足所有要求并正确设置,SQL的transparant数据加密可以防止没有密钥的管理员在数据库中读取数据(但他们仍然可以看到结构!)。这样可以有效地保护实际数据(但不是结构),但很难正确设置。
您可以使用“with encryption”选项来保护存储过程。这是非常弱的保护,很容易解决这个问题。但它至少会向好奇的人传达一个强烈的信息,即你不希望他们看起来并让他们跳过一些箍。
跟踪和审核还可以帮助您确定发生了什么,看看他们是否做了什么,但这些都是以性价格出现的。
答案 1 :(得分:0)
嗨,对于这个问题没有完美的防御,你必须遵循一些步骤来保护,如
如果您不希望服务器上管理组中的任何人能够访问数据库,请删除服务器上的“BUILTIN \ Administrators”用户。
启用审核
启用加密
使用io级别的第三方工具阻止crud到数据库,除非提供密码