20 Oracle Database Vault Oracle Label SecurityのAPI

DBMS_MACADM PL/SQLパッケージを使用すると、Oracle Database VaultでOracle Label Securityラベルおよびポリシーを管理できます。

20.1 CREATE_MAC_POLICYプロシージャ

CREATE_MAC_POLICYプロシージャは、ファクタのラベルまたはOracle Label Securityセッション・ラベルを算出する際にラベルをマージするアルゴリズムを指定します。

構文

DBMS_MACADM.CREATE_MAC_POLICY(
  policy_name  IN VARCHAR2,
  algorithm    IN VARCHAR2);

パラメータ

表20-1 CREATE_MAC_POLICYのパラメータ

パラメータ 説明

policy_name

既存のポリシーの名前。

現行のデータベース・インスタンスで既存のポリシーを確認するには、「DBA_DV_MAC_POLICYビュー」で説明されているDBA_DV_MAC_POLICYビューに問い合せます。

algorithm

Oracle Label Securityで2つのラベルをマージしている場合のマージ・アルゴリズム。表20-2に示されている、目的のマージ・アルゴリズムに対応するコードを入力します。たとえば、「最大レベル/論理和/論理和」マージ・アルゴリズムを選択する場合は、HUUと入力します。

表20-2 Oracle Label Securityマージ・アルゴリズム・コード

コード

HUU

最大レベル/論理和/論理和

HIU

最大レベル/論理積/論理和

HMU

最大レベル/減算/論理和

HNU

最大レベル/NULL/論理和

HUI

最大レベル/論理和/論理積

HII

最大レベル/論理積/論理積

HMI

最大レベル/減算/論理積

HNI

最大レベル/NULL/論理積

HUM

最大レベル/論理和/減算

HIM

最大レベル/論理積/減算

HMM

最大レベル/減算/減算

HNM

最大レベル/NULL/減算

HUN

最大レベル/論理和/NULL

HIN

最大レベル/論理積/NULL

HMN

最大レベル/減算/NULL

HNN

最大レベル/NULL/NULL

LUU

最小レベル/論理和/論理和

LIU

最小レベル/論理積/論理和

LMU

最小レベル/減算/論理和

LNU

最小レベル/NULL/論理和

LUI

最小レベル/論理和/論理積

LII

最小レベル/論理積/論理積

LMI

最小レベル/減算/論理積

LNI

最小レベル/NULL/論理積

LUM

最小レベル/論理和/減算

LIM

最小レベル/論理積/減算

LMM

最小レベル/減算/減算

LNM

最小レベル/NULL/減算

LUN

最小レベル/論理和/NULL

LIN

最小レベル/論理積/NULL

LMN

最小レベル/減算/NULL

LNN

最小レベル/NULL/NULL

BEGIN
 DBMS_MACADM.CREATE_MAC_POLICY(
  policy_name  => 'Access Locations',
  algorithm    => 'HUU');
END;
/

20.2 CREATE_POLICY_LABELプロシージャ

CREATE_POLICY_LABELプロシージャは、Oracle Label Securityポリシーのアイデンティティにラベルを付けます。

構文

DBMS_MACADM.CREATE_POLICY_LABEL(
  identity_factor_name   IN VARCHAR2, 
  identity_factor_value  IN VARCHAR2, 
  policy_name            IN VARCHAR2, 
  label                  IN VARCHAR2); 

パラメータ

表20-3 CREATE_POLICY_LABELのパラメータ

パラメータ 説明

identity_factor_name

ラベルを付けるファクタの名前。

現行のデータベース・インスタンスで既存のファクタを確認するには、「DBA_DV_FACTORビュー」で説明されているDBA_DV_FACTORビューに問い合せます。

Oracle Label Securityポリシーに関連付けられているファクタを確認するには、「DBA_DV_MAC_POLICY_FACTORビュー」で説明されているDBA_DV_MAC_POLICY_FACTORを使用します。

identity_factor_value

ラベルを付けるファクタのアイデンティティの値。

現行のデータベース・インスタンスで既存のファクタのアイデンティティを確認するには、「DBA_DV_IDENTITYビュー」で説明されているDBA_DV_IDENTITYビューに問い合せます。

policy_name

既存のポリシーの名前。

現行のデータベース・インスタンスで既存のポリシーを確認するには、「DBA_DV_MAC_POLICYビュー」で説明されているDBA_DV_MAC_POLICYビューに問い合せます。

label

Oracle Label Securityラベル名。

ファクタ・アイデンティティの既存のポリシー・ラベルを確認するには、「DBA_DV_POLICY_LABELビュー」で説明されているDBA_DV_POLICY_LABELビューに問い合せます。

BEGIN
 DBMS_MACADM.CREATE_POLICY_LABEL(
  identity_factor_name   => 'App_Host_Name', 
  identity_factor_value  => 'Sect2_Fin_Apps', 
  policy_name            => 'Access Locations', 
  label                  => 'Sensitive'); 
END;
/

20.3 DELETE_MAC_POLICY_CASCADEプロシージャ

DELETE_MAC_POLICY_CASCADEプロシージャは、Oracle Label Securityポリシーに関連するすべてのOracle Database Vaultオブジェクトを削除します。

構文

DBMS_MACADM.DELETE_MAC_POLICY_CASCADE(
  policy_name  IN VARCHAR2); 

パラメータ

表20-4 DELETE_MAC_POLICY_CASCADEのパラメータ

パラメータ 説明

policy_name

既存のポリシーの名前。

現行のデータベース・インスタンスで既存のポリシーを確認するには、「DBA_DV_MAC_POLICYビュー」で説明されているDBA_DV_MAC_POLICYビューに問い合せます。

EXEC DBMS_MACADM.DELETE_MAC_POLICY_CASCADE('Access Locations'); 

20.4 DELETE_POLICY_FACTORプロシージャ

DELETE_POLICY_FACTORプロシージャは、Oracle Label Securityラベルの構成からファクタを削除します。

構文

DBMS_MACADM.DELETE_POLICY_FACTOR(
  policy_name  IN VARCHAR2, 
  factor_name  IN VARCHAR2); 

パラメータ

表20-5 DELETE_POLICY_FACTORのパラメータ

パラメータ 説明

policy_name

既存のポリシーの名前。

現行のデータベース・インスタンスで既存のポリシーを確認するには、「DBA_DV_MAC_POLICYビュー」で説明されているDBA_DV_MAC_POLICYビューに問い合せます。

factor_name

Oracle Label Securityラベルに関連付けられているファクタの名前。

Oracle Label Securityポリシーに関連付けられているファクタを確認するには、「DBA_DV_MAC_POLICY_FACTORビュー」で説明されているDBA_DV_MAC_POLICY_FACTORに問い合せます。

BEGIN
 DBMS_MACADM.DELETE_POLICY_FACTOR(
  policy_name  => 'Access Locations', 
  factor_name  => 'App_Host_Name'); 
END;
/

20.5 DELETE_POLICY_LABELプロシージャ

DELETE_POLICY_LABELプロシージャは、Oracle Label Securityポリシーのアイデンティティからラベルを削除します。

構文

DBMS_MACADM.DELETE_POLICY_LABEL(
  identity_factor_name   IN VARCHAR2, 
  identity_factor_value  IN VARCHAR2, 
  policy_name            IN VARCHAR2, 
  label                  IN VARCHAR2); 

パラメータ

表20-6 DELETE_POLICY_LABELのパラメータ

パラメータ 説明

identity_factor_name

ラベルを付けたファクタの名前。

現行のデータベース・インスタンスでOracle Label Securityポリシーに関連付けられている既存のファクタを確認するには、「DBA_DV_MAC_POLICY_FACTORビュー」で説明されているDBA_DV_MAC_POLICY_FACTORに問い合せます。

identity_factor_value

ラベルを付けたファクタのアイデンティティの値。

現行のデータベース・インスタンスで既存のファクタのアイデンティティを確認するには、「DBA_DV_IDENTITYビュー」で説明されているDBA_DV_IDENTITYビューに問い合せます。

policy_name

既存のポリシーの名前。

現行のデータベース・インスタンスで既存のポリシーを確認するには、「DBA_DV_MAC_POLICYビュー」で説明されているDBA_DV_MAC_POLICYビューに問い合せます。

label

Oracle Label Securityラベル名。

ファクタ・アイデンティティの既存のポリシー・ラベルを確認するには、「DBA_DV_POLICY_LABELビュー」で説明されているDBA_DV_POLICY_LABELビューに問い合せます。

BEGIN
 DBMS_MACADM.DELETE_POLICY_LABEL(
  identity_factor_name   => 'App_Host_Name', 
  identity_factor_value  => 'Sect2_Fin_Apps', 
  policy_name            => 'Access Locations', 
  label                  => 'Sensitive'); 
END;
/

20.6 UPDATE_MAC_POLICYプロシージャ

UPDATE_MAC_POLICYプロシージャは、ファクタのラベルまたはOracle Label Securityセッション・ラベルを算出する際にラベルをマージするアルゴリズムを指定します。

構文

DBMS_MACADM.UPDATE_MAC_POLICY(
  policy_name  IN VARCHAR2, 
  algorithm    IN VARCHAR2); 

パラメータ

表20-7 UPDATE_MAC_POLICY

パラメータ 説明

policy_name

既存のポリシーの名前。

現行のデータベース・インスタンスで既存のポリシーを確認するには、「DBA_DV_MAC_POLICYビュー」で説明されているDBA_DV_MAC_POLICYビューに問い合せます。

algorithm

Oracle Label Securityで2つのラベルをマージしている場合のマージ・アルゴリズム。使用可能なアルゴリズムのリストは、表20-2を参照してください。

BEGIN
 DBMS_MACADM.UPDATE_MAC_POLICY(
  policy_name  => 'Access Locations',
  algorithm    => 'LUI');
END;
/