Data Security
Data security associates ACLs with a logical group of rows, known as a data realm.
This enables applications to define and enforce application-specific privileges at the database layer, through policies that define data realms and their access. These data realms include both a SQL predicate that identifies a set of rows and an ACL that protects the identified rows. The ACL evaluation is based on the application user, not the schema owner.
This section includes the following topics:
Data Realms
Real Application Security’s Data Security policy data realms associate ACLs with rows in a table. A data realm has two parts:
-
A rule expressed as a SQL predicate, which selects a set of rows.
-
A set of ACLs, which specify access policies on the rows.
Data Security manages DML Real Application Security application privileges granted by the associated ACLs. The DataSecurity module does not inherently enforce other (non-DML) Real Application Security application privileges. Such application privilege may be enforced programmatically as part of a DML operation, when invoking the CHECK_PRIVILEGE operator inside either the SQL operator or data realm predicate.
Parameterized ACL
Because each data realm defines a rule that uses a set of parameters, different values for these parameters select different rows. These sets of rows may require different ACLs. Therefore, association between an ACL and a set of rows depends on the data realm rule and its parameter names and values.