Chapter 7. Setting Up A Veil2 Virtual Private Database - Overview

Setting up your database to use Veil2 is a fairly straightforward process, and can be done in the following steps:

  1. install the Veil2 extension;
  2. identify and define your scope types;
  3. choose and implement your authentication and session management mechanisms;
  4. create foreign key links for veil2.accessors;
  5. link your scopes and security contexts;
  6. define your scope hierarchy;
  7. create an initial set of privileges;
  8. integrate and/or create roles;
  9. secure your tables;
  10. secure your views;
  11. assign initial roles to users;
  12. set up housekeeping tasks;
  13. test

7.1. Checking The State of Your Implementation

There are a significant number of steps needed to complete your implementation. To help you track your progress, and determine which steps have still to be taken, you can call the function veil2.implementation_status(). This function returns records for each step that is still to be performed. Note that it cannot tell you anything about the correctness of your implementation; it just helps you to identify what steps you have not yet begun.

Here is an example of its output, from the demo before step 7 is performed:

	                  implementation_status                  
---------------------------------------------------------
 You need to create user scopes (step 7)
 You need to redefine the superior_scopes view (step 8)
 The following tables have no security policies:
     - demo.projects
     - demo.project_assignments
     - demo.party_types
     - demo.parties_tbl
(8 rows)