所有,我在一所大学工作,并与我们的第三方ERP供应商进行讨论,我们发现供应商的履历信息表存储了来自不同成员的所有数据。同一表存储了有关候选人、学生、教员、教职员工、校友等的信息。
这对我们来说是一个挑战,因为我们必须创建视图来实现最终用户的行级安全,并根据他们的需要将访问权限委托给部门。例如,招生办公室的员工不应该能够查询其他员工的履历信息,等等。
即使在供应商的应用程序中,招生办公室的用户也可以访问其他员工的履历信息,因为该软件在同一张表上运行查询。在我看来,这似乎是一个巨大的安全问题。该软件是在十多年前开发的,在修复该软件方面进展甚微。
作为一般的经验法则,设计传记表的最佳实践是什么?每个成员(候选人、员工、教员)是否应该有不同的表格,或者每个人都有一个表格?
谢谢。
发布于 2018-03-13 17:02:39
“最佳实践”是使用支持行级安全性的RDBMS,以便您只需要一个表。
示例:用户将使用虚拟专用数据库VPD功能来执行行级安全性。
在中,可以使用带有WHERE子句的视图来模拟VPD,该视图引用通过SYS_CONTEXT()函数检索的数据库会话变量。但是,它不会像VPD那样安全。
我不知道如何在其他RDBMS系统中这样做。
https://dba.stackexchange.com/questions/200093
复制相似问题