sql-server – 如何从Sql Server中的Server Administrator保护数据库

我们有一个客户要求保护我们的应用程序所使用的数据库,甚至来自他们的本地管理员(审计人员只是给他们这个要求).

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

我们可以使用sql Server 2005中的加密功能,但这会干扰我们的第三方ORM,并且还有其他缺点,如索引等.

sql Server 2008中,我们可以使用TDE,但是我明白这个解决方案不能保护用户使用sql Server管理员查询数据库的权限.

这个问题有什么最佳做法或已知的解决方案吗?

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

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

解决方法

这在上个 few weeks中已经被问到了很多.答案通常归结为:

(

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

要么

b)如果您控制应用程序,您可以使用应用程序已知的密钥对所有内容进行加密,并在出路上解密.不过,这样做会伤害表现(也是很多),所以TDE存在.防止篡改的一个变体是使用列中的值的加密散列,在应用程序访问时对其进行检查.

)

c)做广泛的审计,所以你可以控制你的管理员在做什么.

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...