日期:2014-05-16  浏览次数:20309 次

如何阻止DBA看到你的数据?

在论坛看到这样一个帖子,针对这个问题很多人都有不同的看法。比如既然你已经给予了DBA Sysadmin的权限,那么你就要去相信他,否则重新找一个DBA。这话是没错,作为公司的DBA是管理公司的核心数据的,我们一定要相信他。

 

但是从业务的角度来看,因为有很多机密的信息,DBA是不能够接触的,但是如何保证他们没有看过这些数据呢?

 

解决此类的问题我觉得需要:

 

1. 使用加密,这样DBA即使有权限看到表也无法看到里边的数据,但是会有性能损失。

 

2.对DBA的账户进行Audit(server audit,database audit,trace),但是这些是后续的,不能提前判断。

 

3.权限分离审批。很多大公司对权限分的很细,不同角色有不同的账户权限,使用高级权限需要审批,这样就可以实现对DBA行为的规范。

 

其实敏感数据只是一小部分的比如HR,Finance等等,对于这部分可以做加密(数据不会很大),再配合Audit就可以追踪DBA的操作,达到对DBA的限制。

 

针对权限分离,Lara Rubbelke在2010 PASS上面,提供了一个新的工具SQL Server Separation of Duty:

 

The SQL Server Separation of Duties Framework is designed to ease the process of setting up a restrictive environment while providing a predefined set of processes a DBA may use to manage restricted and sensitive databases.

 

Refer to :http://sqlserversod.codeplex.com/releases/view/55355

 

 

欢迎大家发表自己的看法。