2013-03-25 53 views
1

我有一组30名开发人员可以访问高敏感度的数据库进行调试。数据库中的所有数据都未加密。如果我们担心要保护某些列,例如在一张桌子上工资,最好的办法是什么?限制数据访问

1)确保开发人员无法查看其他人的工资的最佳方法是什么?但授权&只在需要时才指定开发者。

我在想加密工资栏的数据加密。但是,如果我们遇到工资问题,我该如何以最快的方式授予开发人员访问权限?将解密代码授予开发人员将再次允许他检查其他工资。

有没有建议吗?

回答

2

无论如何,你应该有一个独立的开发环境用于开发,所以你可以简单地将那里的工资列NULL(或给它随机值)。

对于最终生产数据测试(也需要完成),您不需要所有30位开发人员都有权访问,因此可以分配一些数据来执行此操作并为他们提供对产品数据的访问权限。

您也可以考虑基于行的安全性,方法是将用户分配给角色,只有TRUSTED_DEV才能看到所有记录,但这通常很痛苦(角色管理,测试需要更长的时间,因为他们不确定它是否是bug或者他们没有正确的访问权限)

+0

感谢您的回复。这30位开发人员需要生产访问权的原因是他们需要支持“工资单”表旁边的其他表。我们是否允许将生产数据库访问权限授予所有30个,但将薪资表限制为只有几个人? – VeecoTech 2013-03-25 14:49:13

+0

@belinq使用答案第三段中建议的角色解决方案,如果只有少数用户需要访问表 – 2013-03-25 21:22:30

+0

感谢您的答案。我在想有没有办法让SQL服务器读取谁在重要表中执行了READ/Select语句?我相信这将是追踪谁滥用访问权限来读取其他员工数据的最好和最简单的方式。从那里我们可以生成一个月的报告.. – VeecoTech 2013-04-01 07:52:54