Oracle hides columns from specific users

Scenario : An Oracle 11g database containing some sensitive user data that could lead to legal obligations if they are disclosed to the wrong side.

Desired effect : only a specific user connecting to a specific IP address can see a column containing this sensitive user data

I'm not sure if hidden columns or virtual columns are the right ways to do this. Fine-Grained Access Control seems to help. I am not sure if this is the best solution. Is the IP restriction probably performed at the listener level?

Question : How can we limit the visibility of a column so that it is accessible only to a specific user? All other users have never seen the column, even when you do "DESC TABLE_WITH_SENSITIVE_DATA"

Thanks for any advice.

+5
source share
3 answers

The easiest way to do this is to create a view in a table that does not contain all columns. Do not suggest highlighting in a table, but only in a view.

+6
source

The “right” way to do this is with Fine-Grained Access Control (Virtual Private Database), which can replace the contents of NULL columns if certain conditions are not met.

. : http://docs.oracle.com/cd/B28359_01/network.111/b28531/vpd.htm#autoId17

, , ​​ , .

+3

? , . , , "" , "" . .

It is important to note that there are restrictions on updating the underlying data associated with a view. As explained here , views containing dialing operators, aggregates, and GROUP BY DISTINCT are both merged and not modified.

+1
source

All Articles