Virtual Private Database
I am providing the following reference in order for students to gain enough understanding to implement Project 8. Please read carefully and follow the code example so that we can gain the detailed insight. In this way, you will be able to troubleshoot for some problems you encounter during implementation. Good luck and have fun. You will see Fine Grained Access Control referred to with various names in different publications. The following are synonymous terms for this feature:
Fine Grained Access Control and Application ContextsIn a nutshell, the Fine Grained Access Control in Oracle is the ability for you to dynamically attach, at runtime, a predicate (where clause) to any and all queries issued against a database table or view. You now have the ability to procedurally modify the query at runtime. You may evaluate who is running the query, where they are running the query from, when they are running the query and develop a predicate given those circumstances. With the use of Application Contexts, your may securely add additional information to the environment (such as an application role the user may have) and access this in your procedure or predicate as well. As an example of Fine Grained Access Control, you might have a security policy that determines what rows different groups of people may see. Your security policy will develop a predicate based on who is logged in and what group they are in. Fine Grained Access Control allows the query "select * from emp" when submitted by different users to be evaluated as:
The content in the parenthesis "()" is the predicate that you want to apply automatically by your system. This will be implemented through a policy function. Why use this feature?There are many reasons to use this feature. Some of the most prevalent ones are:
How to use this featurePlease refer your textbook for more detailed description. The following is an example that you could follow in order to work at Project 8 Virtual Private Database (VPD) by Context . The code will be presented in the format and syntax that work for a typical SQL script. Your textbook used more interactive SQL command, which is not necessarily the most efficient practice.
Note: The above was based upon an article published at: http://asktom.oracle.com/~tkyte/article2/index.html.
|