Virtual Private Database in Oracle Enterprise 11g

Oracle Enterprise Database11g has the Virtual Privatesensitive columns. However, with column masking the
Database feature to provide security features to yourdata of all such rows is displayed where the sensitive
database. Virtual Private Database or VPD is verycolumns have null value. This way more information is
useful in situations when associated database rolesavailable for the authorized users and only the
and standard object privileges cannot providesensitive information is hidden.
application security requirements. You can set theVirtual Private Database can be made more secure
Virtual Private Database policies to be simple orby providing security at the column or row level by
complex depending upon the amount of security youcombining VPD with application context feature.
need to provide to the database.Providing security at such deep levels was termed as
You can create a secure virtual private database tofine-grained access control or FGAC where you can
keep it safe from unauthorized access. Virtual privatesecure a row or column separately also. Whenever a
database is used in environment where multiple usersDML or DDL query is initiated by the user Oracle
access the same database and only specificDatabase dynamically modifies the query before data
information should be available to each group.  Theretrieval or data manipulation. However, the user is
best way to secure your virtual private database is tounaware of the security procedures followed at back
implement security features during its creation orend, as it is transparent for users and whenever he or
designing. The level of security is very high as youshe access the data only the authorized information is
secure your database instead of controlling it withshown. Moreover, you need not to modify your
some other application.application code whenever you want to change any
Best way is to associate security policies with theof the security policies. Just change the Virtual Private
views and tables of the database. It is designed inDatabase policies to grant or deny access to any part
such a way that security policy is implementedof database. Irrelevant of the fact that you use any
whether you access the data directly or indirectly.source to connect to the database, that is, whether
What is more? You can also define security policiesyou use an application, SQL or web interface, there is
for a set of statements that eliminates the need tono way by which your application security can be
develop security policies individually for all statements. Itinfected.
is also possible to apply multiple policies for a group ofVarious other types of VPD policy types such as
views, synonym or tables. Static, Shared and Context-Sensitive are also used to
A new feature known as Column Masking is also usedprovide a better level of security. You may use
with Virtual Private Database which overcomes thecontext-sensitive and static policies to secure multiple
drawbacks of Column relevance. Main problem withdatabase objects. Shared policies would save your
column level Virtual Private Database security wasoverheads on re-executing policy functions repetitively
that it restricted the rows that contains data forfor every query.