如何在Sql Server中保护数据库免受Server Administrator的影响

jul*_*o.g 9 sql-server security

我们要求客户保护我们的应用程序使用的数据库,即使是他们的本地管理员(审计员只是给了他们这个要求).

在他们的要求中,保护数据意味着Sql Server管理员无法读取,也无法修改存储在表中的敏感数据.

我们可以在Sql Server 2005中使用Encryption来做到这一点,但这会干扰我们的第三方ORM,并且还有其他缺点,比如索引等.

在Sql Server 2008中,我们可以使用TDE,但我知道此解决方案不能防止具有Sql Server管理员权限的用户查询数据库.

这个问题有最佳实践或已知解决方案吗?

此问题可能类似于由主机提供商托管的应用程序,并且您希望保护数据免受主机管理员的影响.

我们可以使用Sql Server 2005或2008.

Vin*_*vic 6

这已经被问过很多在过去的几个 星期.答案通常归结为:

(

a)如果你不控制应用程序,你注定要信任DBA

要么

b)如果您确实控制了应用程序,您可以使用应用程序只知道的密钥加密所有内容,并在出路时解密.然而,它会损害性能(或者说很多),这就是TDE存在的原因.防止篡改的变体是使用列中值的加密哈希,在应用程序访问时检查它们.

)

c)进行广泛的审核,以便您可以控制管理员的工作.