【问题标题】:restricting data access限制数据访问
【发布时间】:2013-03-25 09:28:28
【问题描述】:

我有一个由 30 名开发人员组成的小组,他们可以访问高度敏感的数据库以进行调试。数据库中的所有数据均未加密。如果我们担心保护某些列,例如表中的薪水,最好的方法是什么?

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

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

有什么建议吗?

【问题讨论】:

    标签: encryption data-protection


    【解决方案1】:

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

    对于最终的生产数据测试(也需要完成),您不需要所有 30 名开发人员都拥有访问权限,因此请分配一些人来进行测试,并让他们访问产品数据。

    您还可以通过将用户分配给角色来考虑基于行的安全性,并且只有 TRUSTED_DEV 可以查看所有记录,但这通常很麻烦(角色管理、测试需要更长的时间,因为他们不确定这是错误还是他们没有正确的访问权限)

    【讨论】:

    • 感谢您的回复。这 30 名开发人员之所以需要生产访问权限,是因为他们需要支持 Payroll 表之外的其他表。我们是否允许向所有 30 人授予生产数据库访问权限,但将工资表限制为仅限少数人?
    • @belinq 如果只有少数用户需要访问表,请使用答案第三段中建议的角色解决方案
    • 感谢您的回答。我在想 SQL 服务器有没有办法读取谁在任何重要表中执行了 READ/Select 语句?我相信这将是追踪谁滥用读取其他员工数据的最佳和最简单的方法。从那里我们可以按月生成报告..
    • @acutesoftware 嗨,你有机会查看我的最后回复吗?谢谢:)
    • 在跟踪谁访问了一个表方面,是的,有一种方法——这对数据库管理员来说更像是一个问题,但是您可以使用审计表来跟踪谁访问了哪个表。查看此审计表并过滤秘密表,您将能够看到谁访问了它。虽然真的,那是在马跑了之后关上马厩的门——最好首先限制进入桌子,而不是追赶进入桌子的人。干杯
    猜你喜欢
    • 2010-09-13
    • 2011-01-14
    • 2015-12-30
    • 1970-01-01
    • 1970-01-01
    • 2011-07-24
    • 2013-11-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多