Oracle Virtual Private Database (VPD) implements fine-grained, database-level access control by dynamically restricting rows returned to a user. A VPD policy associates a policy function with a protected table, view, or synonym. When a SQL statement references that object, Oracle Database automatically applies the policy-generated predicate to the statement.
For example, a query that conceptually requests every row from a sales table can transparently become a query restricted to the current user's authorized sales region. This makes VPD particularly suitable for reporting environments where multiple users execute similar reports but must see different subsets of the underlying data.
Oracle Analytics Publisher can preserve user identity through proxy-authenticated connections, while the database's VPD policy performs the row-level enforcement. This is fundamentally stronger than filtering sensitive rows only after they have already been returned to Publisher.
Catalog permissions solve a different security problem: they determine who can access or modify report objects. Bursting creates personalized documents but doesn't constitute database row-level security.
Therefore, VPD's defining role in this scenario is database-enforced row-level security , making A correct.
Reference Topic: Managing and Securing Oracle Analytics Publisher — VPD and Row-Level Data Security
===============
Submit