Securing the Security Information

The row‑level security feature is implemented by means of database tables. The servers read this data and never update it. it is recommended that these tables actually be defined somewhere other than the repository schema, and that read-only access be granted to only the select few that should be able to update the security information.

As additional protection, the actual tables can be hidden via a view, and a WHERE clause can be added to each view definition so that only the server’s user identification, by which it connects to the database to read the row‑level security tables, can read the content, if the database supports it. Table 247 shows examples of Where clauses if the repository connection is made as user brioserver.

Table 247. Repository Connection Made as brioserver

Database

Sample Where Clause on CREATE VIEW

DB2

WHERE USER = ‘BRIOSERVER’

Oracle

WHERE USER = ‘BRIOSERVER’

SQL Server

WHERE USER = ‘brioserver’

Note:

Be aware of case sensitivity with the user name and allow that, for SQL Server, the user might be ‘dbo’.

Each view has the same name as its underlying table, and all available columns from that table would be selected.