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.
|
Copyright © 2014 CA.
All rights reserved.
|
|