C.1 Oracle Label Security Data Dictionary Tables and Views
C.1.1 Oracle Database Data Dictionary Tables
Oracle Label Security does not in any way label the Oracle data dictionary tables. Access is controlled by standard Oracle Database system and object privileges. For a description of all data dictionary tables and views, refe to the Oracle Database Reference.
C.1.2 Oracle Label Security Data Dictionary Views
Oracle Label Security maintains an independent set of data dictionary tables. These tables are exempt from any policy enforcement. This section lists the views that can display information related to Oracle Label Security.
Note that access to the DBA views is granted by default to the SELECT_CATALOG_ROLE, a standard Oracle Database role that lets you examine the Oracle Database data dictionary.
C.1.2.1 ALL_SA_AUDIT_OPTIONS
C.1.2.2 ALL_SA_COMPARTMENTS
C.1.2.3 ALL_SA_DATA_LABELS
C.1.2.5 ALL_SA_LABELS
Access to ALL_SA_LABELS is PUBLIC. However only the labels authorized for read access by the session are visible.
C.1.2.8 ALL_SA_PROG_PRIVS
C.1.2.9 ALL_SA_SCHEMA_POLICIES
C.1.2.10 ALL_SA_TABLE_POLICIES
C.1.2.12 ALL_SA_USER_LABELS
Note:
The field USER_LABELS in ALL_SA_USERS and the field LABELS in ALL_SA_USER_LABELS are retained solely for backward compatibility and will be removed in the next release. |
C.1.2.13 ALL_SA_USER_LEVELS
C.1.2.14 ALL_SA_USER_PRIVS
C.1.2.15 DBA_SA_AUDIT_OPTIONS
C.1.2.16 DBA_SA_COMPARTMENTS
C.1.2.17 DBA_SA_DATA_LABELS
C.1.2.19 DBA_SA_GROUP_HIERARCHY
C.1.2.23 DBA_SA_PROG_PRIVS
C.1.2.24 DBA_SA_SCHEMA_POLICIES
C.1.2.25 DBA_SA_TABLE_POLICIES
C.1.2.26 DBA_SA_USERS
Note:
The field USER_LABELS in DBA_SA_USERS is retained solely for backward compatibility and will be removed in the next release. |
C.1.2.27 DBA_SA_USER_COMPARTMENTS
C.1.2.28 DBA_SA_USER_GROUPS
C.1.2.29 DBA_SA_USER_LABELS
Note:
The field LABELS in DBA_SA_USER_LABELS is retained solely for backward compatibility and will be removed in the next release. |
C.1.2.30 DBA_SA_USER_LEVELS
C.1.2.31 DBA_SA_USER_PRIVS
C.1.3 Oracle Label Security Auditing Views
Using the SA_AUDIT_ADMIN.CREATE_VIEW procedure, you can create an audit trail view for a specific policy. By default, this view is named DBA_policyname_AUDIT_TRAIL.
The DBA_SA_AUDIT_OPTIONS view contains the columns POLICY_NAME, USER_NAME, APY, SET_, and PRV.
C.2 Restrictions in Oracle Label Security
The following restrictions exist in this Oracle Label Security release:
C.2.1 CREATE TABLE AS SELECT Restriction in Oracle Label Security
If you attempt to perform CREATE TABLE AS SELECT in a schema that is protected by an Oracle Label Security policy, then the statement will fail.
C.2.2 Label Tag Restriction
Label tags must be unique across the policies in the database. When you use multiple policies in a database, you cannot use the same numeric label tag in different policies.
C.2.3 Export Restriction in Oracle Label Security
The LBACSYS schema cannot be exported due to the use of opaque types in Oracle Label Security. An export of the entire database (parameter FULL=Y) with Oracle Label Security installed can be done, except that the LBACSYS schema would not be exported.
C.2.4 Oracle Label Security Removal Restriction
Do not perform a DROP USER CASCADE on the LBACSYS account.
Connect to the database as user SYS, using the AS SYSDBA syntax, and run the file $ORACLE_HOME/rdbms/admin/catnools.sql
to remove Oracle Label Security.
See Also:
Your platform-specific Oracle installation documentation |
C.2.5 Shared Schema Support
User accounts defined in the Oracle Internet Directory cannot be given individual Oracle Label Security authorizations. However, authorizations can be given to the shared schema to which the directory users are mapped.
The Oracle Label Security function SET_ACCESS_PROFILE can be used programmatically to set the label authorization profile to use after a user has been authenticated and mapped to a shared schema. Oracle Label Security does not enforce a mapping between users who are given label authorizations in Oracle Label Security and actual database users.
C.2.6 Hidden Columns Restriction
PL/SQL does not recognize references to hidden columns in tables. A compiler error will be generated.
C.3 Installing Oracle Label Security
The person intending to install Oracle Label Security first selects the Custom installation choice. Oracle Label Security is listed as one of the options in the custom installation screen. After copying the Oracle Label Security files and relinking Oracle, the installer software automatically launches the Database Configuration Assistant (DBCA) during the database registration process, to configure options for the database to be created.
In DBCA, if Oracle Internet Directory is to be enabled for Oracle Label Security use, an additional option enables the installer users to configure the password for the Oracle Directory Integration and Provisioning (DIP) user. A DIP user with default password DIP has been created by catproc.sql. If the password is set during this configuration step, then the DIP provisioning profile will be created with the new DIP password.
Behind the scenes, DBCA does the following:
-
Runs catolsd.sql (as supposed to running catols.sql for a standalone Oracle Label Security configuration)
-
Creates the DIP provisioning profile with the given database DN for this database
-
Runs the bootstrap utility to refresh the database with policy information from Oracle Internet Directory
-
adds database DN to the cn=DBServers group
Note:
If this password is ever changed, Oracle Internet Directory must be updated with this information, using the provisioning tool oidprovtool. |
C.3.1 Oracle Label Security and the SYS.AUD$ Table
Installing Oracle Label Security automatically moves the AUD$ table out of SYS and into SYSTEM, and into a different tablespace.
Having the AUD$ table in the SYSTEM schema is supported when Oracle Label Security is being used.
When Oracle Label Security is not installed, moving the SYS.AUD$ table out of the SYSTEM tablespace is not supported because the Oracle code makes implicit assumptions about the data dictionary tables, such as SYS.AUD$, in support of upgrades and backup/recovery scenarios. Moving SYS.AUD$ is not supported unless done by Oracle when Oracle Label Security is installed.