Oracle 是否支持表级和列级权限?

4 oracle permissions vpd

如果有一个客户表,并且有一些额外的私人/安全信息,如 SSN,我是否应该创建另一个表来存储此类信息并锁定该表,以便即使严格一对一,也只有某些人可以查看它?或者也可以根据权限锁定列以防止未经授权的查看?

即使两种类型的安全机制都存在,一种是否比另一种更受欢迎?我可能说了一些非常含糊的话,但我更频繁地使用 SQL Server。

mrd*_*nny 6

创建一个视图,该视图仅从相关表中选择所有其他列,不包括您不希望人们访问的列。授予他们查询视图而不是表的权限。


Lei*_*fel 6

您可以为 INSERT、REFERENCES 和 UPDATE授予列级权限,但标准授予不能用于限制对特定列的 SELECT 权限。

您可以通过使用 sec_relevant_cols 参数限制列的虚拟专用数据库(VPD) 策略进行列级屏蔽。该功能需要企业版。

mrdenny 是对的,另一种方法是创建一个视图,它不选择列或选择列,而是屏蔽它。