プライマリ・コンテンツに移動
Oracle® Database Vault管理者ガイド
12cリリース1 (12.1)
B71286-08
目次へ移動
目次
索引へ移動
索引

前
次

16 Oracle Database VaultファクタのAPI

DBMS_MACADM PL/SQLパッケージには、ファクタに関連するOracle Database Vaultルール・プロシージャとファンクションが含まれており、DVFにはファクタを管理するファンクションが含まれています。

内容は次のとおりです。

DBMS_MACADMファクタのプロシージャおよびファンクション

DBMS_MACADM PL/SQLパッケージは、ファクタを設定するためのプロシージャとファンクションを提供します。

表16-1に、これらのプロシージャとファンクションを示します。DV_OWNERロールまたはDV_ADMINロールを付与されているユーザーのみがこれらのプロシージャとファンクションを使用できます。

表16-1 DBMS_MACADMのファクタ構成プロシージャ

プロシージャ 説明

ADD_FACTOR_LINKプロシージャ

2つのファクタの親子関係を指定します。

ADD_POLICY_FACTORプロシージャ

ファクタのラベルをポリシーのOracle Label Securityラベルに含めることを指定します。

CHANGE_IDENTITY_FACTORプロシージャ

アイデンティティを別ファクタと関連付けます。

CHANGE_IDENTITY_VALUEプロシージャ

アイデンティティの値を更新します。

CREATE_DOMAIN_IDENTITYプロシージャ

Oracle Real Application Clusters(Oracle RAC)データベース・ノードをドメイン・ファクタ・アイデンティティに追加し、Oracle Label Securityポリシーに従ってラベルを付けます。

CREATE_FACTORプロシージャ

ファクタを作成します。

CREATE_FACTOR_TYPEプロシージャ

ファクタ・タイプを作成します。

CREATE_IDENTITYプロシージャ

アイデンティティを作成します。

CREATE_IDENTITY_MAPプロシージャ

リンクされた子ファクタ(サブファクタ)の値からファクタのアイデンティティを導出するために使用される一連のテストを定義します。

DELETE_FACTORプロシージャ

ファクタを削除します。

DELETE_FACTOR_LINKプロシージャ

2つのファクタの親子関係を削除します。

DELETE_FACTOR_TYPEプロシージャ

ファクタ・タイプを削除します。

DELETE_IDENTITYプロシージャ

アイデンティティを削除します。

DELETE_IDENTITY_MAPプロシージャ

ファクタからアイデンティティ・マップを削除します。

DROP_DOMAIN_IDENTITYプロシージャ

Oracle RACデータベース・ノードをドメインから削除します。

GET_INSTANCE_INFOファンクション

現行データベース・インスタンスについてSYS.V_$INSTANCEシステム表の情報を返します。VARCHAR2値を返します。

GET_SESSION_INFOファンクション

現行セッションについてSYS.V_$SESSIONシステム表の情報を返します。VARCHAR2値を返します。

RENAME_FACTORプロシージャ

ファクタの名前を変更します。名前の変更は、そのファクタが使用されているすべての箇所に反映されます。

RENAME_FACTOR_TYPEプロシージャ

ファクタ・タイプの名前を変更します。名前の変更は、そのファクタ・タイプが使用されているすべての箇所に反映されます。

UPDATE_FACTORプロシージャ

ファクタを更新します。

UPDATE_FACTOR_TYPEプロシージャ

ファクタ・タイプの説明を更新します。

UPDATE_IDENTITYプロシージャ

ファクタ・アイデンティティの信頼レベルを更新します。

関連項目:

ADD_FACTOR_LINKプロシージャ

ADD_FACTOR_LINKプロシージャは、2つのファクタの親子関係を指定します。

構文

DBMS_MACADM.ADD_FACTOR_LINK(
  parent_factor_name IN VARCHAR2, 
  child_factor_name  IN VARCHAR2, 
  label_indicator    IN VARCHAR2);

パラメータ

表16-2 ADD_FACTOR_LINKのパラメータ

パラメータ 説明

parent_factor_name

親ファクタ名。

現行のデータベース・インスタンスで既存の親子ファクタを検索するには、「DVSYS.DBA_DV_FACTOR_LINKビュー」で説明されているDVSYS.DBA_DV_FACTOR_LINKビューに問い合せます。

child_factor_name

子ファクタ名。

label_indicator

親ファクタにリンクされる子ファクタを、Oracle Label Security統合での親ファクタのラベルに含めることを示します。DBMS_MACUTL.G_YES(Yesの場合)またはDBMS_MACUTL.G_NO(Noの場合)のいずれかを指定します。

ファクタに関連付けられているOracle Label Securityポリシーおよびラベルを確認するには、「Oracle Database Vaultのデータ・ディクショナリ・ビュー」で説明されている次のビューを問い合せます。

  • DVSYS.DBA_DV_MAC_POLICY: 現行のデータベース・インスタンスに定義されているOracle Label Securityポリシーが表示されます。

  • DVSYS.DBA_DV_MAC_POLICY_FACTOR: 現行のデータベース・インスタンスのOracle Label Securityポリシーに関連付けられているファクタが表示されます。

  • DVSYS.DBA_DV_POLICY_LABEL: 各ポリシーのDVSYS.DBA_DV_IDENTITYビューの各ファクタ識別子に対するOracle Label Securityラベルが表示されます。

BEGIN
 DBMS_MACADM.ADD_FACTOR_LINK(
  parent_factor_name => 'HQ_ClientID', 
  child_factor_name  => 'Div1_ClientID', 
  label_indicator    => DBMS_MACUTL.G_YES);
END;
/

ADD_POLICY_FACTORプロシージャ

ADD_POLICY_FACTORプロシージャは、ファクタのラベルをポリシーのOracle Label Securityラベルに含めることを指定します。

構文

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

パラメータ

表16-3 ADD_POLICY_FACTORのパラメータ

パラメータ 説明

policy_name

Oracle Label Securityポリシー名。

現行のデータベース・インスタンスに定義されているポリシーを検索するには、「DVSYS.DBA_DV_MAC_POLICYビュー」で説明されている DVSYS.DBA_DV_MAC_POLICYビューに問い合せます。

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

factor_name

ファクタ名。

既存のファクタを検索するには、「DVSYS.DBA_DV_FACTORビュー」で説明されているDVSYS.DBA_DV_FACTORビューに問い合せます。

BEGIN
 DBMS_MACADM.ADD_POLICY_FACTOR(
  policy_name  => 'AccessData', 
  factor_name  => 'Sector2_ClientID'); 
END;
/

CHANGE_IDENTITY_FACTORプロシージャ

CHANGE_IDENTITY_FACTORプロシージャは、アイデンティティを別ファクタと関連付けます。

構文

DBMS_MACADM.CHANGE_IDENTITY_FACTOR(
  factor_name     IN VARCHAR2, 
  value           IN VARCHAR2, 
  new_factor_name IN VARCHAR2); 

パラメータ

表16-4 CHANGE_IDENTITY_FACTORのパラメータ

パラメータ 説明

factor_name

現在のファクタ名。

既存のファクタを検索するには、「DVSYS.DBA_DV_FACTORビュー」で説明されているDVSYS.DBA_DV_FACTORビューに問い合せます。

value

更新するアイデンティティの値。

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

現行のアイデンティティ・マップを検索するには、「DVSYS.DBA_DV_IDENTITY_MAPビュー」で説明されているDVSYS.DBA_DV_IDENTITY_MAPビューに問い合せます。

new_factor_name

アイデンティティと関連付けるファクタの名前。「DVSYS.DBA_DV_FACTORビュー」で説明されているDVSYS.DBA_DV_FACTORビューに問い合せることで検索できます。

BEGIN
 DBMS_MACADM.CHANGE_IDENTITY_FACTOR(
  factor_name     => 'Sector2_ClientID', 
  value           => 'intranet', 
  new_factor_name => 'Sector4_ClientID'); 
END;
/

CHANGE_IDENTITY_VALUEプロシージャ

CHANGE_IDENTITY_FACTORプロシージャは、アイデンティティの値を更新します。

構文

DBMS_MACADM.CHANGE_IDENTITY_VALUE(
  factor_name  IN VARCHAR2, 
  value        IN VARCHAR2, 
  new_value    IN VARCHAR2); 

パラメータ

表16-5 CHANGE_IDENTITY_VALUEパラメータ

パラメータ 説明

factor_name

ファクタ名。

既存のファクタを検索するには、「DVSYS.DBA_DV_FACTORビュー」で説明されているDVSYS.DBA_DV_FACTORビューに問い合せます。

value

アイデンティティに関連付けられている現在の値。

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

現行のアイデンティティ・マップを検索するには、「DVSYS.DBA_DV_IDENTITY_MAPビュー」で説明されているDVSYS.DBA_DV_IDENTITY_MAPビューに問い合せます。

new_value

新しいアイデンティティ値(大/小文字混在で最大1024文字)。

BEGIN
 DBMS_MACADM.CHANGE_IDENTITY_VALUE(
  factor_name  => 'Sector2_ClientID', 
  value        => 'remote', 
  new_value    => 'intranet');
END; 
/

CREATE_DOMAIN_IDENTITYプロシージャ

CREATE_DOMAIN_IDENTITYプロシージャは、Oracle Real Application Clusters (Oracle RAC)とOracle Label Securityに使われます。

これは、ドメイン・ファクタ・アイデンティティにOracle RACデータベース・ノードを追加し、Oracle Label Securityポリシーに従ってラベルを付けます

構文

DBMS_MACADM.CREATE_DOMAIN_IDENTITY(
  domain_name  IN VARCHAR2, 
  domain_host  IN VARCHAR2, 
  policy_name  IN VARCHAR2 DEFAULT NULL, 
  domain_label IN VARCHAR2 DEFAULT NULL); 

パラメータ

表16-6 CREATE_DOMAIN_IDENTITYのパラメータ

パラメータ 説明

domain_name

ホストを追加するドメインの名前。

分散データベース・システムのネットワーク構造内でデータベースの論理的な場所を確認するには、「Oracle Database VaultのDVF PL/SQLファクタ・ファンクション」で説明されているDVF.F$DATABASE_DOMAINファンクションを実行します。

domain_host

ドメインに追加されるOracle Real Application Clustersホスト名。

データベースのホスト名を確認するには、「Oracle Database VaultのDVF PL/SQLファクタ・ファンクション」で説明されているDVF.F$DATABASE_HOSTNAMEファンクションを実行します。

policy_name

Oracle Label Securityポリシー名。ポリシー名を省略すると、ドメインはどのポリシーにも関連付けられません。

使用可能なポリシーを検索するには、「DVSYS.DBA_DV_MAC_POLICYビュー」で説明されているDVSYS.DBA_DV_MAC_POLICYビューに問い合せます。

domain_label

Oracle Label Securityポリシーを追加するドメインの名前。

BEGIN
 DBMS_MACADM.CREATE_DOMAIN_IDENTITY(
  domain_name  => 'example', 
  domain_host  => 'mydom_host', 
  policy_name  => 'AccessData', 
  domain_label => 'sensitive'); 
END;
/

CREATE_FACTORプロシージャ

CREATE_FACTORプロシージャはファクタを作成します。

ファクタを作成した後で、CREATE_IDENTITYプロシージャで説明されているCREATE_IDENTITYプロシージャを使用して、アイデンティティを付与できます。

構文

DBMS_MACADM.CREATE_FACTOR(
  factor_name       IN VARCHAR2, 
  factor_type_name  IN VARCHAR2, 
  description       IN VARCHAR2, 
  rule_set_name     IN VARCHAR2, 
  get_expr          IN VARCHAR2, 
  validate_expr     IN VARCHAR2, 
  identify_by       IN NUMBER, 
  labeled_by        IN NUMBER, 
  eval_options      IN NUMBER, 
  audit_options     IN NUMBER, 
  fail_options      IN NUMBER); 

パラメータ

表16-7 CREATE_FACTORのパラメータ

パラメータ 説明

factor_name

ファクタ名(空白を使用せず、大/小文字混在で最大128文字)。

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

factor_type_name

ファクタのタイプ(空白を使用せず、大/小文字混在で最大128文字)。

既存のファクタ・タイプを検索するには、「DVSYS.DBA_DV_FACTOR_TYPEビュー」で説明されているDBA_DV_FACTOR_TYPEビューに問い合せます。

description

ファクタの目的の説明(大/小文字混在で最大1024文字)。

rule_set_name

ファクタ・アイデンティティを設定する時期および方法の制御にルール・セットを使用する場合のルール・セット名。

既存のルール・セットを検索するには、「Oracle Database Vaultのデータ・ディクショナリ・ビュー」で説明されているDVSYS.DBA_DV_RULE_SETビューに問い合せます。ファクタへのルール・セットの割当ての詳細は、「ファクタへのルール・セットの割当て」も参照してください。

get_expr

ファクタのアイデンティティを取得する有効なPL/SQL式。大/小文字混在で最大255文字まで使用できます。詳細は、「ファクタの取得メソッドの設定」を参照してください。audit_optionsパラメータも参照してください。

validate_expr

ファクタを検証するプロシージャの名前。これは、ブール値(TRUEまたはFALSE)を返してファクタのアイデンティティを検証する有効なPL/SQL式です。詳細は、「ファクタの検証メソッドの設定」を参照してください。

identify_by

get_exprパラメータの式セットに基づいてファクタのアイデンティティを決定するオプション。

  • DBMS_MACUTL.G_IDENTIFY_BY_CONSTANT: 定数

  • DBMS_MACUTL.G_IDENTIFY_BY_METHOD: メソッド

  • DBMS_MACUTL.G_IDENTIFY_BY_FACTOR: ファクタ

  • DBMS_MACUTL.G_IDENTIFY_BY_CONTEXT: コンテキスト

詳細は、「ファクタの識別情報の設定」を参照してください。

labeled_by

ファクタのラベル付けのオプション。

  • DBMS_MACUTL.G_LABELED_BY_SELF: Oracle Label Securityポリシー(デフォルト)に関連付けられているラベルから直接ファクタのアイデンティティをラベル付けします。

  • DBMS_MACUTL.G_LABELED_BY_FACTORS: 子ファクタ・アイデンティティのラベルからファクタ・アイデンティティ・ラベルを導出します。

詳細は、「ファクタのOracle Label Securityラベル付け情報の設定」を参照してください。

eval_options

ユーザーがログインするときにファクタを評価するオプション。

  • DBMS_MACUTL.G_EVAL_ON_SESSION: データベース・セッションの作成時(デフォルト)

  • DBMS_MACUTL.G_EVAL_ON_ACCESS: ファクタがアクセスされる際に毎回

  • DBMS_MACUTL.G_EVAL_ON_STARTUP: 起動時

詳細は、「ファクタの評価情報の設定」を参照してください。

audit_options

カスタムのOracle Database Vault監査レコードから生成する場合にファクタを監査するオプション。

  • DBMS_MACUTL.G_AUDIT_OFF: 監査を無効にします。

  • DBMS_MACUTL.G_AUDIT_ALWAYS: 常に監査します。

  • DBMS_MACUTL.G_AUDIT_ON_GET_ERROR: get_exprがエラーを戻した場合に監査します。

  • DBMS_MACUTL.G_AUDIT_ON_GET_NULL: get_exprがnullの場合に監査します。

  • DBMS_MACUTL.G_AUDIT_ON_VALIDATE_ERROR: 検証プロシージャがエラーを戻した場合に監査します。

  • DBMS_MACUTL.G_AUDIT_ON_VALIDATE_FALSE: 検証プロシージャがfalseの場合に監査します。

  • DBMS_MACUTL.G_AUDIT_ON_TRUST_LEVEL_NULL: 信頼レベルが設定されていない場合に監査します。

  • DBMS_MACUTL.G_AUDIT_ON_TRUST_LEVEL_NEG: 信頼レベルが負の場合に監査します。

詳細は、「ファクタの監査オプションの設定」を参照してください。

fail_options

ファクタ・エラーをレポートするオプション。

  • DBMS_MACUTL.G_FAIL_WITH_MESSAGE: エラー・メッセージを表示します(デフォルト)。

  • DBMS_MACUTL.G_FAIL_SILENTLY: エラー・メッセージを表示しません。

詳細は、「ファクタのエラー・オプションの設定」を参照してください。

BEGIN
 DBMS_MACADM.CREATE_FACTOR(
  factor_name       => 'Sector2_DB', 
  factor_type_name  => 'Instance', 
  description       => ' ', 
  rule_set_name     => 'Limit_DBA_Access', 
  get_expr          => 'UPPER(SYS_CONTEXT(''USERENV'',''DB_NAME''))', 
  validate_expr     => 'dbavowner.check_db_access', 
  identify_by       => DBMS_MACUTL.G_IDENTIFY_BY_METHOD, 
  labeled_by        => DBMS_MACUTL.G_LABELED_BY_SELF, 
  eval_options      => DBMS_MACUTL.G_EVAL_ON_SESSION, 
  audit_options     => DBMS_MACUTL.G_AUDIT_OFF, 
  fail_options      => DBMS_MACUTL.G_FAIL_SILENTLY); 
END;
/

CREATE_FACTOR_TYPEプロシージャ

CREATE_FACTOR_TYPEプロシージャは、ユーザー定義のファクタ・タイプを作成します。

構文

DBMS_MACADM.CREATE_FACTOR_TYPE(
  name        IN VARCHAR2, 
  description IN VARCHAR2);

パラメータ

表16-8 CREATE_FACTOR_TYPEのパラメータ

パラメータ 説明

name

ファクタ・タイプ名(空白を使用せず、大/小文字混在で最大128文字)。

既存のファクタ・タイプを検索するには、「DVSYS.DBA_DV_FACTOR_TYPEビュー」で説明されているDVSYS.DBA_DV_FACTOR_TYPEビューに問い合せます。

description

ファクタ・タイプの目的の説明(大/小文字混在で最大1024文字)。

BEGIN
 DBMS_MACADM.CREATE_FACTOR_TYPE(
  name        => 'Sector2Instance', 
  description => 'Checks DB instances used in Sector 2');
END;
/

CREATE_IDENTITYプロシージャ

CREATE_IDENTITYプロシージャは、指定されたファクタに対してアイデンティティおよび関連付けられた信頼レベルを割り当てます。

ファクタの作成後には、アイデンティティを割り当てる必要があります。

構文

DBMS_MACADM.CREATE_IDENTITY(
  factor_name  IN VARCHAR2, 
  value        IN VARCHAR2, 
  trust_level  IN NUMBER); 

パラメータ

表16-9 CREATE_IDENTITYのパラメータ

パラメータ 説明

factor_name

ファクタ名。

既存のファクタを検索するには、「DVSYS.DBA_DV_FACTORビュー」で説明されているDVSYS.DBA_DV_FACTORビューに問い合せます。

value

ファクタの実際の値(大/小文字混在で最大1024文字)。たとえば、IP_Addressファクタのアイデンティティは、192.0.2.12というIPアドレスになります。

trust_level

同じファクタの別のアイデンティティと比較した信頼の度合いを示す数値。一般に、信頼レベルの数値が高く設定されているほど信頼の度合いも高くなります。信頼レベル10は、非常に信頼度が高いことを表します。信頼レベルの数値が負の場合は信頼できません。

信頼レベルおよびラベル・セキュリティの詳細は、「ファクタ・アイデンティティの作成および構成」を参照してください。

BEGIN
 DBMS_MACADM.CREATE_IDENTITY(
  factor_name  => 'Sector2_ClientID', 
  value        => 'intranet', 
  trust_level  => 5); 
END;
/

CREATE_IDENTITY_MAPプロシージャ

CREATE_IDENTITY_MAPプロシージャは、リンクされた子ファクタ(サブファクタ)の値からファクタのアイデンティティを導出できるテストを定義します。

構文

DBMS_MACADM.CREATE_IDENTITY_MAP(
  identity_factor_name  IN VARCHAR2,
  identity_factor_value IN VARCHAR2, 
  parent_factor_name    IN VARCHAR2, 
  child_factor_name     IN VARCHAR2, 
  operation             IN VARCHAR2, 
  operand1              IN VARCHAR2, 
  operand2              IN VARCHAR2);

パラメータ

表16-10 CREATE_IDENTITY_MAPのパラメータ

パラメータ 説明

identity_factor_name

アイデンティティ・マップの対象のファクタ。

現行のデータベース・インスタンスで既存のファクタを検索するには、「Oracle Database Vaultのデータ・ディクショナリ・ビュー」で説明されているDVSYS.DBA_DV_FACTORビューに問い合せます。

identity_factor_value

アイデンティティ・マップの評価がTRUEの場合は、ファクタで想定される値。

既存のファクタ・アイデンティティを検索するには、「DVSYS.DBA_DV_IDENTITYビュー」で説明されているDVSYS.DBA_DV_IDENTITYビューに問い合せます。

現行のファクタ・アイデンティティ・マップを検索するには、「DVSYS.DBA_DV_IDENTITY_MAPビュー」で説明されているDVSYS.DBA_DV_IDENTITY_MAPを使用します。

parent_factor_name

マップが関連する親ファクタ・リンク。

既存の親子ファクタ・マップを検索するには、「DVSYS.DBA_DV_IDENTITY_MAPビュー」で説明されているDVSYS.DBA_DV_IDENTITY_MAPビューに問い合せます。

child_factor_name

マップが関連する子ファクタ・リンク。

operation

アイデンティティ・マップの関係演算子(たとえば、<、>、=など)。

operand1

関係演算子の左オペランド。入力する下限値を表します。

operand2

関係演算子の右オペランド。入力する上限値を表します。

BEGIN
 DBMS_MACADM.CREATE_IDENTITY_MAP(
  identity_factor_name  => 'Sector2_ClientID',
  identity_factor_value => 'intranet', 
  parent_factor_name    => 'HQ_ClientID', 
  child_factor_name     => 'Div1_ClientID', 
  operation             => '<', 
  operand1              => '192.0.2.50', 
  operand2              => '192.0.2.100');
END;
/

DELETE_FACTORプロシージャ

DELETE_FACTORプロシージャはファクタを削除します。

構文

DBMS_MACADM.DELETE_FACTOR(
  factor_name IN VARCHAR2);

パラメータ

表16-11 DELETE_FACTORのパラメータ

パラメータ 説明

factor_name

ファクタ名。

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

EXEC DBMS_MACADM.DELETE_FACTOR('Sector2_ClientID');

DELETE_FACTOR_LINKプロシージャ

DELETE_FACTOR_LINKプロシージャは、2つのファクタの親子関係を削除します。

構文

DBMS_MACADM.DELETE_FACTOR_LINK(
  parent_factor_name IN VARCHAR2, 
  child_factor_name  IN VARCHAR2); 

パラメータ

表16-12 DELETE_FACTOR_LINKのパラメータ

パラメータ 説明

parent_factor_name

ファクタ名。

現行のデータベース・インスタンスで親子マッピングに使用されているファクタを検索するには、「DVSYS.DBA_DV_FACTOR_LINKビュー」で説明されているDVSYS.DBA_DV_FACTOR_LINKビューに問い合せます。

child_factor_name

ファクタ名。

BEGIN
 DBMS_MACADM.DELETE_FACTOR_LINK(
  parent_factor_name => 'HQ_ClientID', 
  child_factor_name  => 'Div1_ClientID'); 
END;
/

DELETE_FACTOR_TYPEプロシージャ

DELETE_FACTOR_TYPEプロシージャはファクタ・タイプを削除します。

構文

DBMS_MACADM.DELETE_FACTOR_TYPE(
  name IN VARCHAR2);

パラメータ

表16-13 DELETE_FACTOR_TYPEのパラメータ

パラメータ 説明

name

ファクタ・タイプ名。

既存のファクタ・タイプを検索するには、「DVSYS.DBA_DV_FACTOR_TYPEビュー」で説明されているDVSYS.DBA_DV_FACTOR_TYPEビューに問い合せます。

EXEC DBMS_MACADM.DELETE_FACTOR_TYPE('Sector2Instance');

DELETE_IDENTITYプロシージャ

DELETE_IDENTITYプロシージャは、既存のファクタからアイデンティティを削除します。

構文

DBMS_MACADM.DELETE_IDENTITY(
  factor_name IN VARCHAR2, 
  value       IN VARCHAR2); 

パラメータ

表16-14 DELETE_IDENTITYのパラメータ

パラメータ 説明

factor_name

ファクタ名。

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

value

ファクタに関連付けられているアイデンティティ値。

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

BEGIN
 DBMS_MACADM.DELETE_IDENTITY(
  factor_name => 'Sector2_ClientID', 
  value       => 'intranet'); 
END;
/

DELETE_IDENTITY_MAPプロシージャ

DELETE_IDENTITY_MAPプロシージャは、ファクタのアイデンティティ・マップを削除します。

構文

DBMS_MACADM.DELETE_IDENTITY_MAP(
  identity_factor_name  IN VARCHAR2, 
  identity_factor_value IN VARCHAR2,
  parent_factor_name    IN VARCHAR2, 
  child_factor_name     IN VARCHAR2, 
  operation             IN VARCHAR2, 
  operand1              IN VARCHAR2, 
  operand2              IN VARCHAR2); 

パラメータ

表16-15 DELETE_IDENTITY_MAPパラメータ

パラメータ 説明

identity_factor_name

アイデンティティ・マップの対象のファクタ。

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

identity_factor_value

アイデンティティ・マップの評価がTRUEの場合は、ファクタで想定される値。

既存のファクタ・アイデンティティを検索するには、「DVSYS.DBA_DV_IDENTITYビュー」で説明されているDVSYS.DBA_DV_IDENTITYビューに問い合せます。

現行のファクタ・アイデンティティ・マップを検索するには、「DVSYS.DBA_DV_IDENTITY_MAPビュー」で説明されているDVSYS.DBA_DV_IDENTITY_MAPに問い合せます。

parent_factor_name

マップが関連する親ファクタ・リンク。

既存の親子ファクタを検索するには、「DVSYS.DBA_DV_FACTOR_LINKビュー」で説明されているDVSYS.DBA_DV_FACTORビューに問い合せます。

child_factor_name

マップが関連する子ファクタ。

operation

アイデンティティ・マップの関係演算子(たとえば、<、>、=など)。

operand1

関係演算子の左(下限値)オペランド。

operand2

関係演算子の右(上限値)オペランド。

BEGIN
 DBMS_MACADM.DELETE_IDENTITY_MAP(
  identity_factor_name  => 'Sector2_ClientID',
  identity_factor_value => 'intranet', 
  parent_factor_name    => 'HQ_ClientID', 
  child_factor_name     => 'Div1_ClientID', 
  operation             => '<', 
  operand1              => '192.0.2.10', 
  operand2              => '192.0.2.15');
END;
/

DROP_DOMAIN_IDENTITYプロシージャ

DROP_DOMAIN_IDENTITYプロシージャは、Oracle Real Application Clustersデータベース・ノードをドメインから削除します。

構文

DBMS_MACADM.DROP_DOMAIN_IDENTITY(
  domain_name  IN VARCHAR2, 
  domain_host  IN VARCHAR2); 

パラメータ

表16-16 DROP_DOMAIN_IDENTITYパラメータ

パラメータ 説明

domain_name

ホストが追加されたドメインの名前。

DB_DOMAIN初期化パラメータで指定されたデータベースのドメインを確認するには、「F$DATABASE_DOMAINファンクション」で説明されているDVF.F$DATABASE_DOMAINファンクションを実行します。

domain_host

ドメインに追加されたOracle Real Application Clustersホスト名。

指定されたデータベースのホスト名を確認するには、「F$DATABASE_NAMEファンクション」で説明されているDVF.F$DATABASE_HOSTNAMEファンクションを実行します。

BEGIN
 DBMS_MACADM.DROP_DOMAIN_IDENTITY(
  domain_name  => 'example', 
  domain_host  => 'mydom_host'); 
END;
/

GET_INSTANCE_INFOファンクション

GET_INSTANCE_INFOファンクションは、現行のデータベース・インスタンスについてSYS.V_$INSTANCEシステム表の情報を返します。

V$INSTANCEデータ・ディクショナリ・ビューにも、この表のデータベース・インスタンス情報が含まれます。詳細は、『Oracle Databaseリファレンス』を参照してください。

構文

DBMS_MACADM.GET_INSTANCE_INFO(
  p_parameter IN VARCHAR2)
RETURN VARCHAR2; 

パラメータ

表16-17 GET_INSTANCE_INFOのパラメータ

パラメータ 説明

p_parameter

SYS.V_$INSTANCEシステム表の列名。

DECLARE
 instance_var varchar2 := null;
BEGIN 
 instance_var = DBMS_MACADM.GET_INSTANCE_INFO('INSTANCE_NAME'); 
END;
/

GET_SESSION_INFOファンクション

GET_SESSION_INFOファンクションは、現行セッションについてSYS.V_$SESSIONシステム表の情報を返します。

V$SESSIONデータ・ディクショナリ・ビューにも、この表のセッション情報が含まれます。詳細は、『Oracle Databaseリファレンス』を参照してください。

構文

DBMS_MACADM.GET_SESSION_INFO(
  p_parameter IN VARCHAR2)
RETURN VARCHAR2;

パラメータ

表16-18 GET_SESSION_INFOのパラメータ

パラメータ 説明

p_parameter

SYS.V_$SESSIONシステム表の列名。

DECLARE
 session_var varchar2 := null;
BEGIN 
 session_var = DBMS_MACADM.GET_SESSION_INFO('PROCESS'); 
END;
/

RENAME_FACTORプロシージャ

RENAME_FACTORプロシージャは、ファクタの名前を変更します。名前の変更は、そのファクタが使用されているすべての箇所に反映されます。

構文

DBMS_MACADM.RENAME_FACTOR(
  factor_name     IN VARCHAR2, 
  new_factor_name IN VARCHAR2);

パラメータ

表16-19 RENAME_FACTORのパラメータ

パラメータ 説明

factor_name

現在のファクタ名。

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

new_factor_name

新しいファクタ名(空白を使用せず、大/小文字混在で最大128文字)。

BEGIN
 DBMS_MACADM.RENAME_FACTOR(
  factor_name     => 'Sector2_ClientID', 
  new_factor_name => 'Sector2_Clients');
END;
/

RENAME_FACTOR_TYPEプロシージャ

RENAME_FACTORプロシージャは、ファクタ・タイプの名前を変更します。名前の変更は、そのファクタ・タイプが使用されているすべての箇所に反映されます。

構文

DBMS_MACADM.RENAME_FACTOR_TYPE(
  old_name  IN VARCHAR2, 
  new_name  IN VARCHAR2); 

パラメータ

表16-20 RENAME_FACTOR_TYPEのパラメータ

パラメータ 説明

old_name

現在のファクタ・タイプ名。

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

new_name

新しいファクタ・タイプ名(空白を使用せず、大/小文字混在で最大128文字)。

BEGIN
 DBMS_MACADM.RENAME_FACTOR_TYPE(
  old_name  => 'Sector2Instance', 
  new_name  => 'Sector2DBInstance'); 
END;
/

UPDATE_FACTORプロシージャ

UPDATE_FACTORプロシージャは、ファクタ・タイプの説明を更新します。

構文

DBMS_MACADM.UPDATE_FACTOR(
  factor_name       IN VARCHAR2, 
  factor_type_name  IN VARCHAR2, 
  description       IN VARCHAR2, 
  rule_set_name     IN VARCHAR2, 
  get_expr          IN VARCHAR2, 
  validate_expr     IN VARCHAR2, 
  identify_by       IN NUMBER, 
  labeled_by        IN NUMBER, 
  eval_options      IN NUMBER, 
  audit_options     IN NUMBER, 
  fail_options      IN NUMBER); 

パラメータ

表16-21 UPDATE_FACTOR

パラメータ 説明

factor_name

ファクタ名。

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

factor_type_name

ファクタ・タイプ名。

既存のファクタ・タイプを検索するには、「DVSYS.DBA_DV_FACTOR_TYPEビュー」で説明されているDVSYS.DBA_DV_FACTOR_TYPEビューに問い合せます。

description

ファクタの目的の説明(大/小文字混在で最大1024文字)。

rule_set_name

ファクタ・アイデンティティを設定する時期および方法の制御に使用されるルール・セットの名前。

既存のルール・セットを検索するには、「Oracle Database Vaultのデータ・ディクショナリ・ビュー」で説明されているDVSYS.DBA_DV_RULE_SETビューに問い合せます。

ファクタへのルール・セットの割当ての詳細は、「ファクタへのルール・セットの割当て」も参照してください。

get_expr

ファクタのアイデンティティを取得する有効なPL/SQL式。大/小文字混在で最大255文字まで使用できます。詳細は、「ファクタの取得メソッドの設定」を参照してください。audit_optionsパラメータも参照してください。

validate_expr

ファクタを検証するプロシージャの名前。これは、ブール値(TRUEまたはFALSE)を返してファクタのアイデンティティを検証する有効なPL/SQL式です。詳細は、「ファクタの検証メソッドの設定」を参照してください。

identify_by

get_exprパラメータの式セットに基づいてファクタのアイデンティティを決定するオプション。

  • DBMS_MACUTL.G_IDENTIFY_BY_CONSTANT: 定数

  • DBMS_MACUTL.G_IDENTIFY_BY_METHOD: メソッド

  • DBMS_MACUTL.G_IDENTIFY_BY_FACTOR: ファクタ

  • DBMS_MACUTL.G_IDENTIFY_BY_CONTEXT: コンテキスト

詳細は、「ファクタの識別情報の設定」を参照してください。

labeled_by

ファクタのラベル付けのオプション。

  • DBMS_MACUTL.G_LABELED_BY_SELF: Oracle Label Securityポリシーに関連付けられているラベルから直接ファクタのアイデンティティをラベル付けします。

  • DBMS_MACUTL.G_LABELED_BY_FACTORS: 子ファクタ・アイデンティティのラベルからファクタ・アイデンティティ・ラベルを導出します。

labeled_byのデフォルトは設定済の値で、DVSYS.DBA_DV_FACTORデータ・ディクショナリ・ビューに問い合せることで確認できます。

詳細は、「ファクタのOracle Label Securityラベル付け情報の設定」を参照してください。

eval_options

ユーザーがログインするときにファクタを評価するオプション。

  • DBMS_MACUTL.G_EVAL_ON_SESSION: データベース・セッションの作成時

  • DBMS_MACUTL.G_EVAL_ON_ACCESS: ファクタがアクセスされる際に毎回

  • DBMS_MACUTL.G_EVAL_ON_STARTUP: 起動時

eval_optionsのデフォルトは設定済の値で、DVSYS.DBA_DV_FACTORデータ・ディクショナリ・ビューに問い合せることで確認できます。

詳細は、「ファクタの評価情報の設定」を参照してください。

audit_options

カスタムのOracle Database Vault監査レコードから生成する場合にファクタを監査するオプション。

  • DBMS_MACUTL.G_AUDIT_OFF: 監査を無効にします。

  • DBMS_MACUTL.G_AUDIT_ALWAYS: 常に監査します。

  • DBMS_MACUTL.G_AUDIT_ON_GET_ERROR: get_exprがエラーを戻した場合に監査します。

  • DBMS_MACUTL.G_AUDIT_ON_GET_NULL: get_exprがnullの場合に監査します。

  • DBMS_MACUTL.G_AUDIT_ON_VALIDATE_ERROR: 検証プロシージャがエラーを戻した場合に監査します。

  • DBMS_MACUTL.G_AUDIT_ON_VALIDATE_FALSE: 検証プロシージャがfalseの場合に監査します。

  • DBMS_MACUTL.G_AUDIT_ON_TRUST_LEVEL_NULL: 信頼レベルが設定されていない場合に監査します。

  • DBMS_MACUTL.G_AUDIT_ON_TRUST_LEVEL_NEG: 信頼レベルが負の場合に監査します。

audit_optionsのデフォルトは設定済の値で、DVSYS.DBA_DV_FACTORデータ・ディクショナリ・ビューに問い合せることで確認できます。

詳細は、「ファクタの監査オプションの設定」を参照してください。

fail_options

ファクタ・エラーをレポートするオプション。

  • DBMS_MACUTL.G_FAIL_WITH_MESSAGE: エラー・メッセージを表示します。

  • DBMS_MACUTL.G_FAIL_SILENTLY: エラー・メッセージを表示しません。

fail_optionsのデフォルトは設定済の値で、DVSYS.DBA_DV_FACTORデータ・ディクショナリ・ビューに問い合せることで確認できます。

詳細は、「ファクタのエラー・オプションの設定」を参照してください。

BEGIN
 DBMS_MACADM.UPDATE_FACTOR(
  factor_name       => 'Sector2_DB', 
  factor_type_name  => 'Instance', 
  description       => ' ', 
  rule_set_name     => 'Limit_DBA_Access', 
  get_expr          => 'UPPER(SYS_CONTEXT(''USERENV'',''DB_NAME''))', 
  validate_expr     => 'dbavowner.check_db_access', 
  identify_by       => DBMS_MACUTL.G_IDENTIFY_BY_METHOD, 
  labeled_by        => DBMS_MACUTL.G_LABELED_BY_SELF, 
  eval_options      => DBMS_MACUTL.G_EVAL_ON_ACCESS, 
  audit_options     => DBMS_MACUTL.G_AUDIT_ALWAYS, 
  fail_options      => DBMS_MACUTL.G_FAIL_WITH_MESSAGE); 
END;
/

UPDATE_FACTOR_TYPEプロシージャ

UPDATE_FACTOR_TYPEプロシージャはファクタ・タイプを更新します。

構文

DBMS_MACADM.UPDATE_FACTOR_TYPE(
  name         IN VARCHAR2, 
  description  IN VARCHAR2);

パラメータ

表16-22 UPDATE_FACTOR_TYPEのパラメータ

パラメータ 説明

name

ファクタ・タイプ名。

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

description

ファクタ・タイプの目的の説明(大/小文字混在で最大1024文字)。

BEGIN
 DBMS_MACADM.UPDATE_FACTOR_TYPE(
  name        => 'Sector2DBInstance', 
  description => 'Checks DB instances used in Sector 2');
END;
/

UPDATE_IDENTITYプロシージャ

UPDATE_IDENTITYプロシージャは、ファクタ・アイデンティティの信頼レベルを更新します。

構文

DBMS_MACADM.UPDATE_IDENTITY(
  factor_name  IN VARCHAR2, 
  value        IN VARCHAR2, 
  trust_level  IN NUMBER); 

パラメータ

表16-23 UPDATE_IDENTITYのパラメータ

パラメータ 説明

factor_name

ファクタ名。

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

アイデンティティを持つファクタを検索するには、「DVSYS.DBA_DV_IDENTITYビュー」で説明されているDVSYS.DBA_DV_IDENTITYに問い合せます。

value

新しいファクタ・アイデンティティ(大/小文字混在で最大1024文字)。たとえば、IP_Addressファクタのアイデンティティは、192.0.2.12というIPアドレスになります。

trust_level

同じファクタの別のアイデンティティと比較した信頼の度合いを示す数値。一般に、信頼レベルの数値が高く設定されているほど信頼の度合いも高くなります。信頼レベル10は、非常に信頼度が高いことを表します。信頼レベルの数値が負の場合は信頼できません。

信頼レベルおよびラベル・セキュリティの詳細は、「ファクタ・アイデンティティの作成および構成」を参照してください。

BEGIN
 DBMS_MACADM.UPDATE_IDENTITY(
  factor_name  => 'Sector2_ClientID', 
  value        => 'intranet', 
  trust_level  => 10); 
END;
/

Oracle Database VaultランタイムのPL/SQLプロシージャおよびファンクション

Oracle Database Vaultには一連の手続き型インタフェースが用意されており、様々なDatabase Vaultセキュリティ・オプションの管理およびDatabase Vaultセキュリティの実施の管理に使用できます。

また、レルム違反およびコマンド認可のDDLコマンドを検証するためのロジックを公開するプロシージャおよびファンクションもあります。その他に、ファクタの値をたとえばWebアプリケーションなどから設定する(関連付けられたルール・セットがTrueに評価される場合)、セッションまたは特定のファクタ・アイデンティティに対する信頼レベルを取得する、あるいはファクタ・アイデンティティのラベルを取得するためのプロシージャおよびファンクションが用意されています。これらのプロシージャおよびファンクションは、データベース管理者がすべてのDVSYSパッケージ・プロシージャに対するEXECUTE権限を一般のデータベース・アカウント群に付与しないように提供されています。プロシージャおよびファンクションは、必要な最小限のメソッドのみを公開します。これらのファンクションおよびプロシージャはすべて、必要とするアプリケーションでパブリックに使用できます。

Oracle Database Vault ランタイムPL/SQLプロシージャおよびファンクションに、ファクタのデフォルトのランタイムPL/SQLプロシージャおよびファンクションを示します。

表16-24 ランタイムのPL/SQLプロシージャおよびファンクション

プロシージャまたはファンクション パラメータ

DVSYS.SET_FACTORプロシージャ

ファクタを設定します。

DVSYS.GET_FACTORファンクション

ファクタを取得します。

DVSYS.GET_TRUST_LEVELファンクション

ファクタに割り当てられた信頼レベルを取得します。

DVSYS.GET_TRUST_LEVEL_FOR_IDENTITYファンクション

指定されたファクタおよびアイデンティティの信頼レベルを取得します。

DVSYS.ROLE_IS_ENABLEDファンクション

指定されたデータベース・ロールが有効になっているかどうかを確認します。

DVSYS.GET_FACTOR_LABELファンクション

ファクタにラベルが割り当てられている場合、指定されたOracle Label Securityポリシーのために、指定されたファクタのラベルを取得します。

Oracle Database VaultランタイムのPL/SQLプロシージャおよびファンクション

Oracle Database Vaultには一連の手続き型インタフェースが用意されており、様々なDatabase Vaultセキュリティ・オプションの管理およびDatabase Vaultセキュリティの実施の管理に使用できます。

また、レルム違反およびコマンド認可のDDLコマンドを検証するためのロジックを公開するプロシージャおよびファンクションもあります。その他に、ファクタの値をたとえばWebアプリケーションなどから設定する(関連付けられたルール・セットがTrueに評価される場合)、セッションまたは特定のファクタ・アイデンティティに対する信頼レベルを取得する、あるいはファクタ・アイデンティティのラベルを取得するためのプロシージャおよびファンクションが用意されています。これらのプロシージャおよびファンクションは、データベース管理者がすべてのDVSYSパッケージ・プロシージャに対するEXECUTE権限を一般のデータベース・アカウント群に付与しないように提供されています。プロシージャおよびファンクションは、必要な最小限のメソッドのみを公開します。これらのファンクションおよびプロシージャはすべて、必要とするアプリケーションでパブリックに使用できます。

表16-25に、ファクタのデフォルトのランタイムのPL/SQLプロシージャおよびファンクションを示します。

表16-25 ランタイムのPL/SQLプロシージャおよびファンクション

プロシージャまたはファンクション パラメータ

SET_FACTORプロシージャ

ファクタを設定します。

GET_FACTORファンクション

ファクタを取得します。

GET_TRUST_LEVELファンクション

ファクタに割り当てられた信頼レベルを取得します。

GET_TRUST_LEVEL_FOR_IDENTITYファンクション

指定されたファクタおよびアイデンティティの信頼レベルを取得します。

ROLE_IS_ENABLEDファンクション

指定されたデータベース・ロールが有効になっているかどうかを確認します。

GET_FACTOR_LABELファンクション

ファクタにラベルが割り当てられている場合、指定されたOracle Label Securityポリシーのために、指定されたファクタのラベルを取得します。

DVSYS.SET_FACTORプロシージャ

DVSYS.SET_FACTORプロシージャは、ファクタ・アイデンティティを動的に設定する必要があるアプリケーションに公開できます。

パッケージ・プロシージャDBMS_MACADM.SET_FACTORをラップします。割当て用のルール・セットがファクタに関連付けられていて、ルール・セットがtrueを返した場合に、値が設定されます。通常のルール・セット処理が行われ、ファクタ値(アイデンティティ)の検証メソッドがコールされます。このプロシージャは、一般のデータベース・アカウント群で使用(実行)できます。

構文

DVSYS.SET_FACTOR(
  p_factor IN VARCHAR2, 
  p_value  IN VARCHAR2);

パラメータ

表16-26 SET_FACTORのパラメータ

パラメータ 説明

p_factor

ファクタ名。

現行のデータベース・インスタンスで既存のファクタを検索するには、DVSYS.DBA_DV_FACTORビューで説明されているDVSYS.DBA_DV_FACTORデータ・ディクショナリ・ビューに問い合せます。

p_value

アイデンティティ値。大/小文字混在で最大で1024文字まで入力できます。

現行のデータベース・インスタンスの各ファクタのアイデンティティを検索するには、DVSYS.DBA_DV_IDENTITYビューで説明されているDVSYS.DBA_DV_IDENTITYデータ・ディクショナリ・ビューに問い合せます。

EXECUTE DVSYS.SET_FACTOR(''Sector2_ClientID'', ''identity'');

DVSYS.GET_FACTORファンクション

DVSYS.GET_FACTORファンクションは、パブリック・ファクタ・ファンクションによるファクタのアイデンティティの解決を可能にするために、DVFスキーマに公開できます。戻り型はVARCHAR2です。

このファンクションにより、DVFスキーマのF$ファンクションが有効になります。このファンクションは、一般のデータベース・アカウント群で使用(実行)できます。

構文

DVSYS.GET_FACTOR(
  p_factor IN VARCHAR2)
RETURN VARCHAR2;

パラメータ

表16-27 GET_FACTORのパラメータ

パラメータ 説明

p_factor

ファクタ名。

現行のデータベース・インスタンスで既存のファクタを検索するには、DVSYS.DBA_DV_FACTORビューで説明されているDVSYS.DBA_DV_FACTORデータ・ディクショナリ・ビューに問い合せます。

BEGIN 
 DBMS_MACADM.CREATE_RULE(
  rule_name => 'Get Client ID Factor Identity',
  rule_expr => 'DVSYS.GET_FACTOR(''Sector2_ClientID'')');
END;
/

DVSYS.GET_TRUST_LEVELファンクション

DVSYS.GET_TRUST_LEVELファンクションは、リクエストされたファクタの現行セッションのアイデンティティの信頼レベルを返します。戻り型はVARCHAR2です。

このファンクションは、一般のデータベース・アカウント群で使用(実行)できます。使用可能な信頼レベルのリストは、ファクタ・アイデンティティの作成および構成を参照してください。

構文

DVSYS.GET_TRUST_LEVEL(
  p_factor IN VARCHAR2)
RETURN VARCHAR2;

パラメータ

表16-28 GET_TRUST_LEVELのパラメータ

パラメータ 説明

p_factor

ファクタ名。

現行のデータベース・インスタンスで既存のファクタを検索するには、DVSYS.DBA_DV_FACTORビューで説明されているDVSYS.DBA_DV_FACTORデータ・ディクショナリ・ビューに問い合せます。

BEGIN 
 DBMS_MACADM.CREATE_RULE(
  rule_name => 'Get Client ID Trust Level',
  rule_expr => 'DVSYS.GET_TRUST_LEVEL(''Sector2_ClientID'')');
END;
/

DVSYS.GET_TRUST_LEVEL_FOR_IDENTITYファンクション

DVSYS.GET_TRUST_LEVEL_FOR_IDENTITYファンクションは、リクエストされたファクタおよびアイデンティティの信頼レベルを返します。戻り型はVARCHAR2です。

このファンクションは、一般のデータベース・アカウント群で使用(実行)できます。使用可能な信頼レベルのリストは、ファクタ・アイデンティティの作成および構成を参照してください。

構文

DVSYS.GET_TRUST_LEVEL_FOR_IDENTITY(
  p_factor   IN VARCHAR2, 
  p_identity IN VARCHAR2)
RETURN VARCHAR2;

パラメータ

表16-29 GET_TRUST_LEVEL_FOR_IDENTITYのパラメータ

パラメータ 説明

p_factor

ファクタ名。

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

p_identity

アイデンティティ値。

現行のデータベース・インスタンスの各ファクタのアイデンティティを検索するには、DVSYS.DBA_DV_IDENTITYビューで説明されているDVSYS.DBA_DV_IDENTITYデータ・ディクショナリ・ビューを使用します。

BEGIN 
 DBMS_MACADM.CREATE_RULE(
  rule_name => 'Get Client ID Identity Trust Level',
  rule_expr => 'DVSYS.GET_TRUST_LEVEL_FOR_IDENTITY(''Sector2_ClientID'', ''identity'')');
END;
/

DVSYS.ROLE_IS_ENABLEDファンクション

DVSYS.ROLE_IS_ENABLEDファンクションは、データベース・ロールが有効であるかどうかを示すブール値を返します。戻り型はBOOLEANです。

このファンクションは、一般のデータベース・アカウント群で使用(実行)できます。

構文

DVSYS.ROLE_IS_ENABLED(
  p_role IN VARCHAR2)
RETURN BOOLEAN;

パラメータ

表16-30 ROLE_IS_ENABLEDのパラメータ

パラメータ 説明

p_role

確認するデータベース・ロール名。

既存のロールを検索する場合は、次のデータ・ディクショナリ・ビューを使用します。

  • DBA_ROLES: 現行のデータベース・インスタンスで使用可能なロールを検索します。『Oracle Databaseリファレンス』を参照してください。

  • DVSYS.DBA_DV_REALM_AUTH: 特定のロールの認可を検索します。DVSYS.DBA_DV_REALMビューを参照してください。

  • DVSYS.DBA_DV_ROLE: 権限管理で使用されている既存のセキュア・アプリケーション・ロールを検索します。DVSYS.DBA_DV_ROLEビューを参照してください。

BEGIN 
 DBMS_MACADM.CREATE_RULE(
  rule_name => 'Check if SYSADM Role Is Enabled',
  rule_expr => 'DVSYS.ROLE_IS_ENABLED(''SYSADM'')');
END;
/

DVSYS.GET_FACTOR_LABELファンクション

DVSYS.GET_FACTOR_LABELファンクションは、指定されたファクタに指定されたOracle Label Securityポリシー用のラベルが割り当てられている場合に、そのラベルを返します。戻り型はVARCHAR2です。

ポリシーがOracle Label Securityを使用して構成されている場合は、ポリシーの最大セッション・ラベルとマージされるラベルを返します。このファンクションは、一般のデータベース・アカウント群で使用(実行)できます。

構文

DVSYS.GET_FACTOR_LABEL(
  p_factor      IN VARCHAR2, 
  p_policy_name IN VARCHAR2)
RETURN VARCHAR2;

パラメータ

表16-31 GET_FACTOR_LABELのパラメータ

パラメータ 説明

p_factor

ファクタ名。

現行のデータベース・インスタンスで使用可能なファクタを検索するには、DVSYS.DBA_DV_FACTORデータ・ディクショナリ・ビューに問い合せます。Oracle Label Securityポリシーに関連付けられているファクタを検索するには、DVSYS.DBA_DV_MAC_POLICY_FACTORを使用します。

DVSYS.DBA_DV_FACTORビューおよびDVSYS.DBA_DV_MAC_POLICY_FACTORビューを参照してください。

p_policy_name

Oracle Label Securityポリシー名。

現行のデータベース・インスタンスのポリシーおよびファクタに関する情報を検索する場合は、次のデータ・ディクショナリ・ビューを使用します。

  • DVSYS.DBA_DV_MAC_POLICY: 現行のデータベース・インスタンスに定義されているOracle Label Securityポリシーが表示されます。DVSYS.DBA_DV_MAC_POLICYビューを参照してください。

  • DVSYS.DBA_DV_MAC_POLICY_FACTOR: 現行のデータベース・インスタンスのOracle Label Securityポリシーに関連付けられているファクタが表示されます。DVSYS.DBA_DV_MAC_POLICY_FACTORビューを参照してください。

  • DVSYS.DBA_DV_POLICY_LABEL: 各ポリシーのDVSYS.DBA_DV_IDENTITYビューの各ファクタ識別子に対するOracle Label Securityラベルが表示されます。DVSYS.DBA_DV_POLICY_LABELビューを参照してください。

BEGIN 
 DBMS_MACADM.CREATE_RULE(
  rule_name => 'Get the ClientID Factor Label',
  rule_expr => 'DVSYS.GET_FACTOR_LABEL(''Sector2_ClientID'', ''Access Locations'')');
END;
/

Oracle Database VaultのDVF PL/SQLファクタ・ファンクション

DBMS_MACADM PL/SQLパッケージを使用して様々なファクタを管理する際、Oracle Database VaultによってDVFスキーマ・ファンクションが維持されます。

DVSYSスキーマから提供されるファンクションおよびプロシージャに加え、DVFスキーマにはシステムに定義されているファクタごとに1つのファンクションが含まれます。

その後、ファンクションは一般のデータベース・アカウント群でPL/SQLファンクションおよび標準SQLを介して使用できます。これにより、ファクタはOracle Label Security、Oracle Virtual Private Database(VPD)などで使用できるようになります。

通常、これらのファンクションをルール式に組み込むことができます。次に例を示します。

その後、ファンクションは一般のデータベース・アカウント群でPL/SQLファンクションおよび標準SQLを介して使用できます。これにより、ファクタはOracle Label Security、Oracle Virtual Private Database(VPD)などで使用できるようになります。

通常、これらのファンクションをルール式に組み込むことができます。次に例を示します。

BEGIN
 DBMS_MACADM.CREATE_RULE(
 rule_name => 'Not Internal DBA',
 rule_expr => 'DVF.F$SESSION_USER NOT IN (''JSMTIH'', ''TBROWN'')');
END;
/

ファクタ・ファンクションの値を検索するには、DUALシステム表から選択します。次に例を示します。

SELECT DVF.F$SESSION_USER FROM DUAL;

F$SESSION_USER
------------------------------------------------
LEO_DVOWNER

ファクタ自体の名前は、大/小文字を区別しません。たとえば、次の文は同じ結果を返します。

select dvf.f$session_user from dual;

SELECT DVF.F$SESSION_USER FROM DUAL;

Oracle Database VaultのDVF PL/SQLファクタ・ファンクションに、デフォルト・ファクタ・ファンクションがリストされています。

表16-32 インストールされるOracle Database Vaultファクタ・ファンクション

DVFファクタ・ファンクション 説明

F$AUTHENTICATION_METHODファンクション

認証の方式をVARCHAR2データ型で返します。次に、ユーザー・タイプの後に返される方式を続けて示します。

F$CLIENT_IPファンクション

クライアントが接続されているコンピュータのIPアドレスを返します。

F$DATABASE_DOMAINファンクション

DB_DOMAIN初期化パラメータに指定されているようにデータベースのドメインを返します。

F$DATABASE_HOSTNAMEファンクション

データベース・インスタンスが実行されているコンピュータのホスト名を返します。

F$DATABASE_INSTANCEファンクション

現在のデータベース・インスタンスのデータベース・インスタンス識別番号を返します。

F$DATABASE_IPファンクション

データベース・インスタンスが実行されているコンピュータのIPアドレスを返します。

F$DATABASE_NAMEファンクション

DB_NAME初期化パラメータに指定されているようにデータベースの名前を返します。

F$DOMAINファンクション

ランタイム環境(ネットワークIT環境やそのサブセットなど)内の、特定の機密レベルで動作する物理的な構成または実装固有のファクタの名前付きコレクションを返します。

F$ENTERPRISE_IDENTITYファンクション

ユーザーのエンタープライズ全体のアイデンティティを返します。

F$IDENTIFICATION_TYPEファンクション

データベースでのユーザーのスキーマの作成方法を返します。具体的には、CREATE USERまたはALTER USER構文のIDENTIFIED句が反映されます。

F$LANGファンクション

既存のLANGUAGEパラメータより短い形式の、言語名のISO略称を返します。

F$LANGUAGEファンクション

セッションで現在使用中の言語と地域、およびデータベース・キャラクタ・セットをVARCHAR2データ型で返します。

F$MACHINEファンクション

データベース・セッションを確立したデータベース・クライアントのコンピュータ(ホスト)名を返します。

F$NETWORK_PROTOCOLファンクション

接続文字列のPROTOCOL=protocol部分に指定されている、通信に使用されるネットワーク・プロトコルを返します。

F$PROXY_ENTERPRISE_IDENTITYファンクション

プロキシ・ユーザーがエンタープライズ・ユーザーである場合、Oracle Internet Directoryの識別名(DN)を返します。

F$SESSION_USERファンクション

現行ユーザーが認証されたデータベース・ユーザー名を返します。

Oracle Database VaultのDVF PL/SQLファクタ・ファンクションについて

DBMS_MACADM PL/SQLパッケージを使用して様々なファクタを管理する際、Oracle Database VaultによってDVFスキーマ・ファンクションが維持されます。

その後、ファンクションは一般のデータベース・アカウント群でPL/SQLファンクションおよび標準SQLを介して使用できます。これにより、ファクタはOracle Label Security、Oracle Virtual Private Database(VPD)などで使用できるようになります。

通常、これらのファンクションをルール式に組み込むことができます。次に例を示します。

BEGIN
 DBMS_MACADM.CREATE_RULE(
 rule_name => 'Not Internal DBA',
 rule_expr => 'DVF.F$SESSION_USER NOT IN (''JSMTIH'', ''TBROWN'')');
END;
/

ファクタ・ファンクションの値を検索するには、DUALシステム表から選択します。次に例を示します。

SELECT DVF.F$SESSION_USER FROM DUAL;

F$SESSION_USER
------------------------------------------------
LEO_DVOWNER

ファクタ自体の名前は、大/小文字を区別しません。たとえば、次の文は同じ結果を返します。

select dvf.f$session_user from dual;

SELECT DVF.F$SESSION_USER FROM DUAL;

表16-33にデフォルトのファクタ・ファンクションを示します。

表16-33 インストールされるOracle Database Vaultファクタ・ファンクション

DVFファクタ・ファンクション 説明

F$AUTHENTICATION_METHODファンクション

認証の方式をVARCHAR2データ型で返します。次に、ユーザー・タイプの後に返される方式を続けて示します。

F$CLIENT_IPファンクション

クライアントが接続されているコンピュータのIPアドレスを返します。

F$DATABASE_DOMAINファンクション

DB_DOMAIN初期化パラメータに指定されているようにデータベースのドメインを返します。

F$DATABASE_HOSTNAMEファンクション

データベース・インスタンスが実行されているコンピュータのホスト名を返します。

F$DATABASE_INSTANCEファンクション

現在のデータベース・インスタンスのデータベース・インスタンス識別番号を返します。

F$DATABASE_IPファンクション

データベース・インスタンスが実行されているコンピュータのIPアドレスを返します。

F$DATABASE_NAMEファンクション

DB_NAME初期化パラメータに指定されているようにデータベースの名前を返します。

F$DOMAINファンクション

ランタイム環境(ネットワークIT環境やそのサブセットなど)内の、特定の機密レベルで動作する物理的な構成または実装固有のファクタの名前付きコレクションを返します。

F$ENTERPRISE_IDENTITYファンクション

ユーザーのエンタープライズ全体のアイデンティティを返します。

F$IDENTIFICATION_TYPEファンクション

データベースでのユーザーのスキーマの作成方法を返します。具体的には、CREATE USERまたはALTER USER構文のIDENTIFIED句が反映されます。

F$LANGファンクション

既存のLANGUAGEパラメータより短い形式の、言語名のISO略称を返します。

F$LANGUAGEファンクション

セッションで現在使用中の言語と地域、およびデータベース・キャラクタ・セットをVARCHAR2データ型で返します。

F$MACHINEファンクション

データベース・セッションを確立したデータベース・クライアントのコンピュータ(ホスト)名を返します。

F$NETWORK_PROTOCOLファンクション

接続文字列のPROTOCOL=protocol部分に指定されている、通信に使用されるネットワーク・プロトコルを返します。

F$PROXY_ENTERPRISE_IDENTITYファンクション

プロキシ・ユーザーがエンタープライズ・ユーザーである場合、Oracle Internet Directoryの識別名(DN)を返します。

F$SESSION_USERファンクション

現行ユーザーが認証されたデータベース・ユーザー名を返します。

F$AUTHENTICATION_METHODファンクション

F$AUTHENTICATION_METHODファンクションは認証の方式をVARCHAR2データ型で返します。

次に、ユーザー・タイプの後に返される方式を続けて示します。:

  • パスワードで認証されるエンタープライズ・ユーザー、ローカル・データベース・ユーザー、またはパスワード・ファイルを使用するSYSDBA/SYSOPER(パスワードを使用するユーザー名によるプロキシ): PASSWORD

  • Kerberosで認証されるエンタープライズ・ユーザーまたは外部ユーザー: KERBEROS

  • SSLで認証されるエンタープライズ・ユーザーまたは外部ユーザー: SSL

  • RADIUSで認証される外部ユーザー: RADIUS

  • オペレーティング・システムで認証される外部ユーザーまたはSYSDBA/SYSOPER: OS

  • DCEで認証される外部ユーザー: DCE

  • 証明書、識別名(DN)またはパスワードを使用しないユーザー名によるプロキシ: NONE

認証方式がパスワード、KerberosまたはSSLの場合、IDENTIFICATION_TYPEを使用して外部ユーザーとエンタープライズ・ユーザーを区別できます。

構文

DVF.F$AUTHENTICATION_METHOD () 
RETURN VARCHAR2;

パラメータ

ありません

BEGIN 
 DBMS_MACADM.CREATE_RULE(
  rule_name => 'Check SSL Authentication Method',
  rule_expr => 'DVF.F$AUTHENTICATION_METHOD = ''SSL''');
END;
/

F$CLIENT_IPファンクション

F$CLIENT_IPファンクションは、クライアントが接続されているコンピュータのIPアドレスをVARCHAR2データ型で返します。

構文

DVF.F$CLIENT_IP ()
RETURN VARCHAR2;

パラメータ

ありません

次の例では、ルール作成文でDVF.F$CLIENT_IPを使用する方法を示します。入力できるのは、IPアドレスの範囲ではなく、1つのIPアドレスのみであることに注意してください。

BEGIN 
 DBMS_MACADM.CREATE_RULE(
  rule_name => 'Check Client IP Address',
  rule_expr => 'DVF.F$CLIENT_IP = ''192.0.2.10''');
END;
/

F$DATABASE_DOMAINファンクション

F$DATABASE_DOMAINファンクションは、DB_DOMAIN初期化パラメータに指定されているデータベースのドメインをVARCHAR2データ型で返します。

構文

DVF.F$DATABASE_DOMAIN ()
RETURN VARCHAR2;

パラメータ

ありません

BEGIN 
 DBMS_MACADM.CREATE_RULE(
  rule_name => 'Check Client Database Domain',
  rule_expr => 'DVF.F$DATABASE_DOMAIN NOT IN (''EXAMPLE'', ''YOURDOMAIN'')');
END;
/

F$DATABASE_HOSTNAMEファンクション

F$DATABASE_HOSTNAMEファンクションは、インスタンスが実行されているコンピュータのホスト名をVARCHAR2データ型で返します。

構文

DVF.F$DATABASE_HOSTNAME ()
RETURN VARCHAR2;

パラメータ

ありません

BEGIN 
 DBMS_MACADM.CREATE_RULE(
  rule_name => 'Check Host Name',
  rule_expr => 'DVF.F$DATABASE_HOSTNAME IN (''SHOBEEN'', ''MAU'')');
END;
/

F$DATABASE_INSTANCEファンクション

F$DATABASE_INSTANCEファンクションは、現在のデータベース・インスタンスのインスタンス識別番号をVARCHAR2データ型で返します。

構文

DVF.F$DATABASE_INSTANCE ()
RETURN VARCHAR2;

パラメータ

ありません

BEGIN 
 DBMS_MACADM.CREATE_RULE(
  rule_name => 'Check Database Instance ID',
  rule_expr => 'DVF.F$DATABASE_INSTANCE = ''SALES_DB''');
END;
/

F$DATABASE_IPファンクション

F$DATABASE_IPファンクションは、データベース・インスタンスが実行されているコンピュータのIPアドレスをVARCHAR2データ型で返します。

構文

DVF.F$DATABASE_IP ()
RETURN VARCHAR2;

パラメータ

ありません

BEGIN 
 DBMS_MACADM.CREATE_RULE(
  rule_name => 'Check Database IP address',
  rule_expr => 'DVF.F$DATABASE_IP = ''192.0.2.5''');
END;
/

F$DATABASE_NAMEファンクション

F$DATABASE_NAMEファンクションは、DB_NAME初期化パラメータに指定されているデータベースの名前をVARCHAR2データ型で返します。

構文

DVF.F$DATABASE_NAME ()
RETURN VARCHAR2;

パラメータ

ありません

BEGIN 
 DBMS_MACADM.CREATE_RULE(
  rule_name => 'Check Database DB_NAME Name',
  rule_expr => 'DVF.F$DATABASE_NAME = ''ORCL''');
END;
/

F$DOMAINファンクション

F$DOMAINファンクションは、ランタイム環境(ネットワークIT環境やそのサブセットなど)内の、特定の機密レベルで動作する物理的な構成または実装固有のファクタの名前付きコレクションを返します。戻り型はVARCHAR2です。

データベースへのセキュア・アクセス・パス内にあるOracle Database Vaultノードのホスト名、IPアドレスおよびデータベース・インスタンス名などのファクタを使用してドメインを識別できます。ドメインを識別するファクタ識別子の組合せを使用して、各ドメインを一意に特定できます。これらの識別ファクタやその他のファクタを使用して、ドメイン内に最大セキュリティ・ラベルを定義できます。これにより、Oracle Database Vaultセッションに関する物理ファクタに応じて、データ・アクセスおよびコマンドが制限されます。必要なドメインの例として、企業機密、内部パブリック、パートナ、顧客があります。

構文

DVF.F$DOMAIN ()
RETURN VARCHAR2;

パラメータ

ありません

BEGIN 
 DBMS_MACADM.CREATE_RULE(
  rule_name => 'Check Domain',
  rule_expr => 'DVF.F$DOMAIN = ''EXAMPLE.COM''');
END;
/

F$ENTERPRISE_IDENTITYファンクション

F$ENTERPRISE_IDENTITYファンクションは、ユーザーのエンタープライズ全体のアイデンティティをVARCHAR2データ型で返します。

  • エンタープライズ・ユーザーの場合: Oracle Internet Directory DN。

  • 外部ユーザーの場合: 外部アイデンティティ(Kerberosプリンシパル名、RADIUSおよびDCEスキーマ名、オペレーティング・システム・ユーザー名、証明書DN)。

  • ローカル・ユーザーおよびSYSDBA/SYSOPERログインの場合: NULL。

属性の値はプロキシ方法によって異なります。

  • DNによるプロキシの場合: クライアントのOracle Internet Directory DN。

  • 証明書によるプロキシの場合: 外部ユーザーではクライアントの証明書DN、グローバル・ユーザーではOracle Internet Directory DN。

  • ユーザー名によるプロキシの場合: エンタープライズ・ユーザーであるクライアントではOracle Internet Directory DN、ローカル・データベース・ユーザーであるクライアントではNULL。

構文

DVF.F$ENTERPRISE_IDENTITY ()
RETURN VARCHAR2;

パラメータ

ありません

BEGIN 
 DBMS_MACADM.CREATE_RULE(
  rule_name => 'Check User Enterprise Identity',
  rule_expr => 'DVF.F$ENTERPRISE_IDENTITY NOT IN (''JSMITH'', ''TSMITH'')');
END;
/

F$IDENTIFICATION_TYPEファンクション

F$IDENTIFICATION_TYPEファンクションは、データベースでのユーザーのスキーマの作成方法を返します。具体的には、CREATE/ALTER USER構文のIDENTIFIED句が反映されます。戻り型はVARCHAR2です。

次に示すリストでは、スキーマ作成時に使用された構文に、返される識別タイプが続きます。

  • IDENTIFIED BY password: LOCAL

  • IDENTIFIED EXTERNALLY: EXTERNAL

  • IDENTIFIED GLOBALLY: GLOBAL SHARED

  • IDENTIFIED GLOBALLY AS DN: GLOBAL PRIVATE

構文

DVF.F$IDENTIFICATION_TYPE ()
RETURN VARCHAR2;

パラメータ

ありません

BEGIN 
 DBMS_MACADM.CREATE_RULE(
  rule_name => 'Check User Schema Creation Type',
  rule_expr => 'DVF.F$IDENTIFICATION_TYPE = ''GLOBAL SHARED''');
END;
/

F$LANGファンクション

F$LANGファンクションは、既存のLANGUAGEパラメータより短い形式の言語名のISO略称を、ユーザーのセッションに対して返します。戻り型はVARCHAR2です。

Oracle Databaseでサポートされている言語の一覧については、『Oracle Databaseグローバリゼーション・サポート・ガイド』を参照してください。

構文

DVF.F$LANG ()
RETURN VARCHAR2;

パラメータ

ありません

BEGIN 
 DBMS_MACADM.CREATE_RULE(
  rule_name => 'Check ISO Abbreviated Language Name',
  rule_expr => 'DVF.F$LANG IN (''EN'', ''DE'', ''FR'')');
END;
/

F$LANGUAGEファンクション

F$LANGUAGEファンクションは、ユーザーのセッションで現在使用中の言語と地域、およびデータベース・キャラクタ・セットを返します。戻り型はVARCHAR2です。

戻り型は次の形式です。

language_territory.characterset

Oracle Databaseでサポートされている言語と地域の一覧については、『Oracle Databaseグローバリゼーション・サポート・ガイド』を参照してください。

構文

DVF.F$LANGUAGE ()
RETURN VARCHAR2;

パラメータ

ありません

BEGIN 
 DBMS_MACADM.CREATE_RULE(
  rule_name => 'Check Session Language and Territory',
  rule_expr => 'DVF.F$LANGUAGE = ''AMERICAN_AMERICA.WE8ISO8859P1''');
END;
/

F$MACHINEファンクション

F$MACHINEファンクションは、データベース・セッションを確立したデータベース・クライアントのコンピュータ(ホスト)名を返します。戻り型はVARCHAR2です。

構文

DVF.F$MACHINE ()
RETURN VARCHAR2;

パラメータ

ありません

BEGIN 
 DBMS_MACADM.CREATE_RULE(
  rule_name => 'Check Client Computer Host Name',
  rule_expr => 'DVF.F$MACHINE NOT IN (''SHOBEEN'', ''SEBASTIAN'')');
END;
/

F$NETWORK_PROTOCOLファンクション

F$NETWORK_PROTOCOLファンクションは、接続文字列のPROTOCOL=protocol部分に指定されている、通信に使用されるネットワーク・プロトコルを返します。戻り型はVARCHAR2です。

構文

DVF.F$NETWORK_PROTOCOL ()
RETURN VARCHAR2;

パラメータ

ありません

BEGIN 
 DBMS_MACADM.CREATE_RULE(
  rule_name => 'Check Network Protocol',
  rule_expr => 'DVF.F$NETWORK_PROTOCOL = ''TCP''');
END;
/

F$PROXY_ENTERPRISE_IDENTITYファンクション

F$PROXY_ENTERPRISE_IDENTITYファンクションは、プロキシ・ユーザーがエンタープライズ・ユーザーである場合、Oracle Internet Directoryの識別名(DN)を返します。戻り型はVARCHAR2です。

構文

DVF.F$PROXY_ENTERPRISE_IDENTITY ()
RETURN VARCHAR2;

パラメータ

ありません

BEGIN 
 DBMS_MACADM.CREATE_RULE(
  rule_name => 'Get OID DN of Enterprise User',
  rule_expr => 'DVF.F$PROXY_ENTERPRISE_IDENTITY = ''cn=Provisioning Admins''');
END;
/

F$SESSION_USERファンクション

F$SESSION_USERファンクションは、現行ユーザーが認証されたデータベース・ユーザー名を返します。この値は、セッションを通して同じです。戻り型はVARCHAR2です。

構文

DVF.F$SESSION_USER ()
RETURN VARCHAR2;

パラメータ

ありません

BEGIN 
 DBMS_MACADM.CREATE_RULE(
  rule_name => 'Check Database User Name',
  rule_expr => 'DVF.F$SESSION_USER IN (''JSMITH'', ''TSMITH'')');
END;
/