Oracle
Label Security

Oracle Database VaultのファクタとしてのOracle Label Securityのユーザー認可

Oracle Database Vaultを開始し、LBACSYS(OLSスキーマのオーナー)としてログインして、ユーザーの認可ラベルを格納するLabel Securityポリシーを作成します。これは後で、Oracle Database Vaultのファクタとして使用されます。
 

$ sqlplus LBACSYS/password
SQL> execute sa_sysdba.create_policy('PRIVACY','PRIVACY_COLUMN','NO_CONTROL');

以下のコマンドにより、OLSポリシーで使用される2つのレベルが作成されます。

SQL> execute sa_components.create_level('PRIVACY',1000,'C','CONFIDENTIAL');
SQL> execute sa_components.create_level('PRIVACY',2000,'S','SENSITIVE');


次のコマンドで'PII'コンパートメントを作成します。

SQL> execute sa_components.create_compartment('PRIVACY',100,'PII','PERS_INFO');


ユーザーJSmithには、機密度の低いラベルが付与されます。

SQL> execute sa_user_admin.set_user_labels('PRIVACY','JSmith','C');


ユーザーMDaleには、機密度の高いラべルが付与されます。PIIコンパートメントも含まれています。

SQL> execute sa_user_admin.set_user_labels('PRIVACY','MDale','S:PII');


Database VaultのファクタとしてOLSラベルを使用するには、まず'ルール・セット'を作成する必要があります。

SQL> connect dbv_owner/password;
SQL> execute dvsys.dbms_macadm.create_rule_set('PII Rule Set','Protect PII
         data from privileged users','Y',1,0,2,NULL,NULL,0,NULL);


ルール・セットには1つまたは複数のルールが含まれ、このルールには、OLSラベルを評価する構文が含まれます。

SQL> execute dvsys.dbms_macadm.create_rule('Check OLS Factor',
         'dominates(sa_utl.numeric_label(''PRIVACY''),
         char_to_label(''PRIVACY'',''S:PII'')) = ''1''');
SQL> execute dvsys.dbms_macadm.sync_rules;
SQL> commit;


ルールをルール・セットに追加します。

SQL> execute dvsys.dbms_macadm.add_rule_to_rule_set
         ('PII Rule Set','Check OLS Factor');
SQL> commit;