场景 :Oracle 11g 数据库包含一些敏感的用户数据,如果泄露给错误的一方可能会导致法律责任。
想要的效果 : 只有某个用户,从某个 IP 连接,才能看到包含此敏感用户数据的列
我不确定隐藏列或虚拟列是否是正确的方法。细粒度访问控制似乎可以提供帮助。我不确定什么是最好的解决方案。 IP 的限制大概是在监听级别做的吧?
问题 :
我们如何限制列的可见性,使其仅对特定用户可用?所有其他用户永远不会看到该列,即使在执行“DESC TABLE_WITH_SENSITIVE_DATA”时也不会
感谢您提供任何提示。
最佳答案
最简单的方法是在不包含所有列的表上创建一个 View 。不要在表上授予选择权,而只能在 View 上授予选择权。
关于Oracle 对某些用户隐藏列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14853667/