我一直想知道有哪些安全机制可以阻止员工(dba,开发人员,经理等)修改用户的数据。假设用户拥有Facebook帐户。知道谁是数据库工作,我知道该公司中至少有两名员工具有root权限。所以我的问题是,如果这样的员工决定改变某人的个人资料,插入不良或误导性的评论等,该怎么办?
任何输入都表示赞赏。感谢。
答案 0 :(得分:3)
如果某人拥有对数据库的完全写入权限,则无法阻止他们写入该数据库。对Facebook的数据库引擎具有不受限制访问权限的用户除了公司政策外,其他任何事情都无法阻止他们更改数据。
公司政策和个人荣誉通常都足够好。但最终,总会存在风险; a Google employee was fired in July for reading users' private account data。简而言之,为系统编写软件的人可以使该系统做任何他们喜欢的事情,并且绝对没有办法阻止这种情况;能够读取数据源的人可以读取该数据源,可以编辑数据的人可以编辑它。没有理论上的方法可以防止这种情况发生。
简而言之,所有可以做的就是让不止一个人观看数据库,并解雇那些试图破坏数据库的人。作为用户,您所能做的就是信任控制数据的公司。
答案 1 :(得分:2)
这是用户访问控制问题。您应该限制谁拥有DBA访问权限。您应该限制开发人员可以访问的代码,例如仅限他们完成工作所需的项目。
后来的想法是保留备份和日志。如果有人确实更改了数据库中的记录,则应该有一个系统来识别和修复问题。