Previous Topic: Restricting Access to RowsNext Topic: Assigning Row-level Security


Assigning Row-level Security to Data Tables

Row-level security is provided through system tables that keep track of the relationship between each security name, table, and user.

Three Tables Maintain Security

┌-----------┬-------┬--------┬----------------┬---------┬----------------┐
│ GROUP    │ USER│ OWNER  │ SECURITY-NAME  │ STATUS  │ WHERE-CLAUSE   │
├-----------┼-------┼--------┼----------------┼---------┼----------------┤
│ DBA GROUP │ MON   │ IIZ    │ SECNAME        │ (V)     │ DEPTID EQ 'SLS'│
├-----------┼-------┼--------┼----------------┼---------┼----------------┤
│ SYS GROUP │ BRM   │ LPN    │ DOC            │ (V)     │ TECH EQ 'PUBS' │
├-----------┼-------┼--------┼----------------┼---------┼----------------┤
│ SYSTECH   │ DPW   │ JJM    │ AUD            │ (V)     │ TAX EQ 'IRS'   │
├-----------┼-------┼--------┼----------------┼---------┼----------------┤
│ TECHREV   │ LLM   │ BDR    │ RULE           │ (V)     │ ACT EQ 'AUD'   │
└-----------┴-------┴--------┴----------------┴---------┴----------------┘

When you assign row-level security to a table, the information is stored in these tables. When a user tries to access a table protected by row-level security, ASF checks these tables to see if that user is allowed to access the table.

Assigning Security

The steps to assigning row-level security are:

With row-level security, you can also:

Regenerate the Table(s)

Assigning row-level security to a table changes the definition of that table. In order to access the stored data after applying row-level security, you must regenerate the table. You should, however, wait until you are finished assigning row-level security to the table; including assigning WHERE criteria and generic column names as described later in this section.

Note: This regeneration does not cause data conversion.