ヘッダーをスキップ
Oracle Database Vault管理者ガイド
11gリリース1(11.1)
E05797-05
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

11 DVSYS.DBMS_MACADMパッケージの使用方法

この章の内容は次のとおりです。

DVSYS.DBMS_MACADMパッケージの概要

DVSYS.DBMS_MACADMパッケージのプロシージャおよびファンクションを使用すると、一般にOracle Database Vault Administratorで構成されるレルム、ファクタ、ルール・セット、コマンド・ルール、セキュア・アプリケーション・ロールおよびOracle Label Securityポリシーを構成するアプリケーションを作成できます。

DVSYS.DBMS_MACADMパッケージは、DV_ADMINロールまたはDV_OWNERロールを持つユーザーのみが使用できます。

DVSYS.DBMS_MACADMパッケージのプロシージャおよびファンクションで使用されるパラメータの多くでは、DVSYS.DBMS_MACUTLパッケージで使用可能な定数を使用できます。詳細は、「DVSYS.DBMS_MACUTLの定数」を参照してください。

DVSYS.DBMS_MACADMのレルム・プロシージャ

表11-1に、レルムの構成に使用できるDVSYS.DBMS_MACADMパッケージのプロシージャを示します。これらのプロシージャで使用できる定数の詳細は、表13-1を参照してください。

レルムの詳細は、第4章「レルムの構成」を参照してください。また、レルム・プロシージャとともに使用できる一連の汎用ユーティリティ・プロシージャは、第13章「DVSYS.DBMS_MACUTLパッケージの使用方法」を参照してください。

表11-1 DVSYS.DBMS_MACADMのレルム構成プロシージャ

プロシージャ 説明

ADD_AUTH_TO_REALMプロシージャ


参加者としてレルムにアクセスする権限をユーザーまたはロールに付与します。

ADD_AUTH_TO_REALMプロシージャ


所有者または参加者としてレルムにアクセスする権限をユーザーまたはロールに付与します(ルール・セットなし)。

ADD_AUTH_TO_REALMプロシージャ


参加者としてレルムにアクセスする権限をユーザーまたはロールに付与します。オプションで、認可のルール・セットを指定できます。

ADD_AUTH_TO_REALMプロシージャ


参加者または所有者としてレルムにアクセスする権限をユーザーまたはロールに付与します。オプションで、認可のルール・セットを指定できます。

ADD_OBJECT_TO_REALMプロシージャ


レルム保護に一連のオブジェクトを登録します。

CREATE_REALMプロシージャ


レルムを作成します。

DELETE_AUTH_FROM_REALMプロシージャ


レルムにアクセスするためのユーザーまたはロールの認可を削除します。

DELETE_OBJECT_FROM_REALMプロシージャ


レルム保護から一連のオブジェクトを削除します。

DELETE_REALMプロシージャ


レルムを削除します。

DELETE_REALM_CASCADEプロシージャ


関連するDatabase Vault構成情報を含め、レルムを削除します。

RENAME_REALMプロシージャ


レルムの名前を変更します。名前の変更は、そのレルムが使用されているすべての箇所に反映されます。

UPDATE_REALMプロシージャ


レルムを更新します。

UPDATE_REALM_AUTHプロシージャ


レルムにアクセスするためのユーザーまたはロールの認可を更新します。


ADD_AUTH_TO_REALMプロシージャ

このプロシージャは、参加者としてレルムにアクセスする権限をユーザーまたはロールに付与します。このプロシージャの実行者は、自身をレルム参加者としてレルムに追加できません。レルム認可の詳細は、「レルム認可の定義」を参照してください。

構文

DVSYS.DBMS_MACADM.ADD_AUTH_TO_REALM(
  realm_name  VARCHAR2,
  grantee     VARCHAR2);

パラメータ

表11-2 ADD_AUTH_TO_REALMのパラメータ

パラメータ 説明

realm_name

レルム名。

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

grantee

参加者として認可するユーザーまたはロール名。ユーザー自身(つまり、ログインしたユーザー)を選択することや、DV_OWNERDV_ADMINまたはDV_SECANALYSTのロールを付与されているユーザーを選択することはできません。

現行のデータベース・インスタンスで既存のユーザーおよびロールを検索するには、『Oracle Databaseリファレンス』で説明されているDBA_USERSビューおよびDBA_ROLESビューに問い合せます。

特定のユーザーまたはロールの認可を検索するには、「DBA_DV_REALM_AUTHビュー」で説明されているDVA_DV_REALM_AUTHビューに問い合せます。

権限管理で使用されている既存のセキュア・アプリケーション・ロールを検索するには、DVSYS.DBA_DV_ROLEビューに問い合せます。どちらも「Oracle Database Vaultのデータ・ディクショナリ・ビュー」で説明されています。


BEGIN
 DVSYS.DBMS_MACADM.ADD_AUTH_TO_REALM(
  realm_name  => 'Performance Statistics Realm',
  grantee     => 'SYSADM');
END;

ADD_AUTH_TO_REALMプロシージャ

このプロシージャは、所有者または参加者としてレルムにアクセスする権限をユーザーまたはロールに付与します。このプロシージャの実行者は、自身をレルムの所有者または参加者としてレルムに追加できません。

構文

DVSYS.DBMS_MACADM.ADD_AUTH_TO_REALM(
  realm_name   VARCHAR2,
  grantee      VARCHAR2,
  auth_options NUMBER);

パラメータ

表11-3 ADD_AUTH_TO_REALMのパラメータ

パラメータ 説明

realm_name

レルム名。

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

grantee

所有者または参加者として認可するユーザーまたはロール名。

現行のデータベース・インスタンスで既存のユーザーおよびロールを検索するには、『Oracle Databaseリファレンス』で説明されているDBA_USERSビューおよびDBA_ROLESビューに問い合せます。

特定のユーザーまたはロールの認可を検索するには、「DBA_DV_REALM_AUTHビュー」で説明されているDVA_DV_REALM_AUTHビューに問い合せます。

権限管理で使用されている既存のセキュア・アプリケーション・ロールを検索するには、「DBA_DV_ROLEビュー」で説明されているDVSYS.DBA_DV_ROLEビューに問い合せます。

auth_options

レルムを認可する次のオプションのうち、1つを指定します。

  • 0: 参加者。

  • 1: 所有者

次のDVSYS.DBMS_MACUTLの定数も使用できます。

  • G_REALM_AUTH_PARTICIPANT

  • G_REALM_AUTH_OWNER

参加者および所有者の詳細は、「レルム認可の定義」を参照してください。


BEGIN
 DVSYS.DBMS_MACADM.ADD_AUTH_TO_REALM(
  realm_name   => 'Performance Statistics Realm',
  grantee      => 'SYSADM',
  auth_options => 1);
END;

ADD_AUTH_TO_REALMプロシージャ

このプロシージャは、参加者としてレルムにアクセスする権限をユーザーまたはロールに付与します。このプロシージャの実行者は、自身をレルム参加者としてレルムに追加できません。オプションで、認可に進む前にチェックするルール・セットを指定できます。

構文

DVSYS.DBMS_MACADM.ADD_AUTH_TO_REALM(
  realm_name    VARCHAR2,
  grantee       VARCHAR2,
  rule_set_name VARCHAR2);

パラメータ

表11-4 ADD_AUTH_TO_REALMのパラメータ

パラメータ 説明

realm_name

レルム名。

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

grantee

参加者として認可するユーザーまたはロール名。

現行のデータベース・インスタンスで既存のユーザーおよびロールを検索するには、『Oracle Databaseリファレンス』で説明されているDBA_USERSビューおよびDBA_ROLESビューに問い合せます。

特定のユーザーまたはロールの認可を検索するには、「DBA_DV_REALM_AUTHビュー」で説明されているDVA_DV_REALM_AUTHビューに問い合せます。

権限管理で使用されている既存のセキュア・アプリケーション・ロールを検索するには、「DBA_DV_ROLEビュー」で説明されているDVSYS.DBA_DV_ROLEビューに問い合せます。

rule_set_name

認可の前にチェックするルール・セット(オプション)。ルール・セットの評価がTrueの場合は、認可が許可されます。

使用可能なルール・セットを検索するには、「DBA_DV_RULE_SETビュー」で説明されているDVSYS.DBA_DV_RULE_SETビューに問い合せます。

ルール・セットに関連付けられているルールを検索するには、「DBA_DV_RULE_SET_RULEビュー」で説明されているDVSYS.DBA_DV_RULE_SET_RULEビューに問い合せます。


BEGIN
 DVSYS.DBMS_MACADM.ADD_AUTH_TO_REALM(
  realm_name    => 'Performance Statistics Realm',
  grantee       => 'SYSADM',
  rule_set_name => 'Check Conf Access');
END;

ADD_AUTH_TO_REALMプロシージャ

このプロシージャは、参加者または所有者としてレルムにアクセスする権限をユーザーまたはロールに付与します。このプロシージャの実行者は、自身をレルムの所有者または参加者としてレルムに追加できません。オプションで、認可の前にチェックするルール・セットを指定できます。

構文

DVSYS.DBMS_MACADM.ADD_AUTH_TO_REALM(
  realm_name    VARCHAR2,
  grantee       VARCHAR2,
  rule_set_name VARCHAR2,
  auth_options  NUMBER);

パラメータ

表11-5 ADD_AUTH_TO_REALMのパラメータ

パラメータ 説明

realm_name

レルム名。

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

grantee

所有者または参加者として認可するユーザーまたはロール名。

使用可能なユーザーおよびロールを検索するには、『Oracle Databaseリファレンス』で説明されているDBA_USERSビューおよびDBA_ROLESビューに問い合せます。

特定のユーザーまたはロールの認可を検索するには、「DBA_DV_REALM_AUTHビュー」で説明されているDVA_DV_REALM_AUTHビューに問い合せます。

rule_set_name

認可の前にチェックするルール・セット(オプション)。ルール・セットの評価がTrueの場合は、認可が許可されます。

使用可能なルール・セットを検索するには、「DBA_DV_RULE_SETビュー」で説明されているDVSYS.DBA_DV_RULE_SETビューに問い合せます。

auth_options

レルムを認可する次のオプションのうち、1つを指定します。

  • 0: 参加者

  • 1: 所有者

次のDVSYS.DBMS_MACUTLの定数も使用できます。

  • G_REALM_AUTH_PARTICIPANT

  • G_REALM_AUTH_OWNER

参加者および所有者の詳細は、「レルム認可の定義」を参照してください。


BEGIN
 DVSYS.DBMS_MACADM.ADD_AUTH_TO_REALM(
  realm_name    => 'Performance Statistics Realm',
  grantee       => 'SYSADM',
  rule_set_name => 'Check Conf Access',
  auth_options  => 1);
END;

ADD_OBJECT_TO_REALMプロシージャ

このプロシージャは、レルム保護に一連のオブジェクトを登録します。

構文

DVSYS.DBMS_MACADM.ADD_OBJECT_TO_REALM(
  realm_name   VARCHAR2,
  object_owner VARCHAR2,
  object_name  VARCHAR2,
  object_type  VARCHAR2);

パラメータ

表11-6 ADD_OBJECT_TO_REALMのパラメータ

パラメータ 説明

realm_name

レルム名。

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

object_owner

このレルムを所有するオブジェクト所有者。

使用可能なユーザーを検索するには、『Oracle Databaseリファレンス』で説明されているDBA_USERSビューに問い合せます。

特定のユーザーまたはロールの認可を検索するには、「DBA_DV_REALM_AUTHビュー」で説明されているDVA_DV_REALM_AUTHビューに問い合せます。

object_name

オブジェクト名。(ワイルドカード%を使用できます。ワイルドカード%の例外は、「レルム・セキュア・オブジェクトの作成」の「オブジェクト名」を参照してください。)DVSYS.DBMS_MACUTL G_ALL_OBJECT定数も使用できます。

使用可能なオブジェクトを検索するには、『Oracle Databaseリファレンス』で説明されているALL_OBJECTSビューに問い合せます。

既存のレルムによって保護されているオブジェクトを検索するには、「DBA_DV_REALM_OBJECTビュー」で説明されているDVSYS.DBA_DV_REALM_OBJECTビューに問い合せます。

object_type

TABLEINDEXROLEなどのオブジェクト・タイプ。(ワイルドカード%を使用できます。ワイルドカード%の例外は、「レルム・セキュア・オブジェクトの作成」の「オブジェクト・タイプ」を参照してください。)

DVSYS.DBMS_MACUTL G_ALL_OBJECT定数も使用できます。


BEGIN
 DVSYS.DBMS_MACACDM.ADD_OBJECT_TO_REALM(
  realm_name   => 'Performance Statistics Realm',
  object_owner => 'SYS',
  object_name  => 'GATHER_SYSTEM_STATISTICS',
  object_type  => 'ROLE');
END;

CREATE_REALMプロシージャ

このプロシージャはレルムを作成します。レルムを作成した後で、次のプロシージャを使用してレルム定義を完了します。

  • ADD_OBJECT_TO_REALMプロシージャは、レルムに1つ以上のオブジェクトを登録します。

  • ADD_AUTH_TO_REALMプロシージャは、レルムに対してユーザーまたはロールを認可します。

構文

DVSYS.DBMS_MACADM.CREATE_REALM(
  realm_name    VARCHAR2,
  description   VARCHAR2,
  enabled       VARCHAR2,
  audit_options NUMBER);

パラメータ

表11-7 CREATE_REALMのパラメータ

パラメータ 説明

realm_name

レルム名(大/小文字混在で最大90文字)。

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

description

レルムの目的の説明(大/小文字混在で最大1024文字)。

enabled

Y(YES)を指定するとレルム・チェックが有効になり、N(NO)を指定するとレルム・チェックが無効になります。デフォルトはYです。

次のDVSYS.DBMS_MACUTLの定数も使用できます。

  • G_YES

  • G_NO

audit_options

レルムを監査する次のオプションのうち、1つを指定します。

  • 0: レルムの監査を無効にします。

  • 1: 認可されていないユーザーがレルムによって保護されているオブジェクトの変更を試行するというようなレルム違反が発生した場合に、監査レコードが作成されます。

  • 2: レルムで保護されているオブジェクトに対する認可されたアクティビティに関する監査レコードが作成されます。

  • 3: レルムで保護されているオブジェクトに対する認可および無認可の両方のアクティビティに関する監査レコードが作成されます。

次のDVSYS.DBMS_MACUTLの定数も使用できます。

  • G_REALM_AUDIT_OFF

  • G_REALM_AUDIT_SUCCESS

  • G_REALM_AUDIT_FAIL


BEGIN
 DVSYS.DBMS_MACADM.CREATE_REALM(
  realm_name    => 'Performance Statistics Realm',
  description   => 'Realm to measure performance',
  enabled       => 'Y',
  audit_options => 1);
END;

DELETE_AUTH_FROM_REALMプロシージャ

このプロシージャは、レルムにアクセスするためのユーザーまたはロールの認可を削除します。

構文

DVSYS.DBMS_MACADM.DELETE_AUTH_FROM_REALM(
  realm_name VARCHAR2,
  grantee    VARCHAR2);

パラメータ

表11-8 DELETE_AUTH_FROM_REALMのパラメータ

パラメータ 説明

realm_name

レルム名。

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

grantee

ユーザーまたはロール名。

特定のユーザーまたはロールの認可を検索するには、「DBA_DV_REALM_AUTHビュー」で説明されているDVA_DV_REALM_AUTHビューに問い合せます。


BEGIN
 DVSYS.DBMS_MACADM.DELETE_AUTH_FROM_REALM(
  realm_name => 'Performance Statistics Realm',
  grantee    => 'SYS');
END;

DELETE_OBJECT_FROM_REALMプロシージャ

このプロシージャは、レルム保護から一連のオブジェクトを削除します。

構文

DVSYS.DBMS_MACADM.DELETE_OBJECT_FROM_REALM(
  realm_name   VARCHAR2,
  object_owner VARCHAR2,
  object_name  VARCHAR2,
  object_type  VARCHAR2);

パラメータ

表11-9 DELETE_OBJECT_FROM_REALMのパラメータ

パラメータ 説明

realm_name

レルム名。

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

object_owner

データベース・スキーマ所有者。

使用可能なユーザーを検索するには、『Oracle Databaseリファレンス』で説明されているDBA_USERSビューに問い合せます。

特定のユーザーの認可を検索するには、「Oracle Database Vaultのデータ・ディクショナリ・ビュー」で説明されているDVA_DV_REALM_AUTHビューに問い合せます。

object_name

オブジェクト名。(ワイルドカード%を使用できます。ワイルドカード%の例外は、「レルム・セキュア・オブジェクトの作成」の「オブジェクト名」を参照してください。)DVSYS.DBMS_MACUTL G_ALL_OBJECT定数も使用できます。

既存のレルムによって保護されているオブジェクトを検索するには、「DBA_DV_REALM_OBJECTビュー」で説明されているDVSYS.DBA_DV_REALM_OBJECTビューに問い合せます。

object_type

TABLEINDEXROLEなどのオブジェクト・タイプ。(ワイルドカード%を使用できます。ワイルドカード%の例外は、「レルム・セキュア・オブジェクトの作成」の「オブジェクト・タイプ」を参照してください。)

DVSYS.DBMS_MACUTL G_ALL_OBJECT定数も使用できます。


BEGIN
 DVSYS.DBMS_MACADM.DELETE_OBJECT_FROM_REALM(
  realm_name   => 'Performance Statistics Realm',
  object_owner => 'SYS',
  object_name  => 'GATHER_SYSTEM_STATISTICS',
  object_type  => 'ROLE');
END;

DELETE_REALMプロシージャ

このプロシージャは、レルムを削除しますが、関連付けられているオブジェクトおよび認可は削除しません。レルムを削除する前に、「Oracle Database Vaultのデータ・ディクショナリ・ビュー」で説明されているDVSYS.DBA_DV_REALM_OBJECTビューに問い合せることで、関連付けられているオブジェクトを特定できます。

関連付けられているオブジェクトおよび認可に加えてレルムを削除する場合は、「DELETE_REALM_CASCADEプロシージャ」を参照してください。

構文

DVSYS.DBMS_MACADM.DELETE_REALM(
  realm_name VARCHAR2);

パラメータ

表11-10 DELETE_REALMのパラメータ

パラメータ 説明

realm_name

レルム名。

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


EXEC DVSYS.DBMS_MACADM.DELETE_REALM('Performance Statistics Realm');

DELETE_REALM_CASCADEプロシージャ

このプロシージャは、誰が認可され(DVSYS.DBA_DV_REALM_AUTHビュー)、どのオブジェクトが保護されているか(DVSYS.DBA_DV_REALM_OBJECTビュー)を指定する関連Database Vault構成情報を含め、レルムを削除します。実際のデータベース・オブジェクトまたはユーザーは削除されません。レルム関連オブジェクトのリストを検索するには、DVSYS.DBA_DV_REALMビューに問い合せます。その認可を検索するには、DVSYS.DBA_DV_REALM_AUTHに問い合せます。どちらも「Oracle Database Vaultのデータ・ディクショナリ・ビュー」で説明されています。

構文

DVSYS.DBMS_MACADM.DELETE_REALM_CASCADE(
  realm_name VARCHAR2);

パラメータ

表11-11 DELETE_REALM_CASCADEのパラメータ

パラメータ 説明

realm_name

レルム名。

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


EXEC DVSYS.DBMS_MACADM.DELETE_REALM_CASCADE('Performance Statistics Realm');

RENAME_REALMプロシージャ

このプロシージャは、レルムの名前を変更します。名前の変更は、そのレルムが使用されているすべての箇所に反映されます。

構文

DVSYS.DBMS_MACADM.RENAME_REALM(
  realm_name VARCHAR2,
  new_name   VARCHAR2);

パラメータ

表11-12 RENAME_REALMのパラメータ

パラメータ 説明

realm_name

現在のレルム名。

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

new_name

新しいレルム名(大/小文字混在で最大90文字)。


BEGIN
 DVSYS.DBMS_MACADM.RENAME_REALM(
  realm_name => 'Performance Statistics Realm',
  new_name   => 'Sector 2 Performance Statistics Realm');
END;

UPDATE_REALMプロシージャ

このプロシージャはレルムを更新します。

構文

DVSYS.DBMS_MACADM.UPDATE_REALM(
  realm_name    VARCHAR2,
  description   VARCHAR2,
  enabled       VARCHAR2,
  audit_options NUMBER);

パラメータ

表11-13 UPDATE_REALMのパラメータ

パラメータ 説明

realm_name

レルム名。

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

description

レルムの目的の説明(大/小文字混在で最大1024文字)。

enabled

Y(YES)を指定するとレルム・チェックが有効になり、N(NO)を指定するとレルム・チェックが無効になります。デフォルトはYです。

次のDVSYS.DBMS_MACUTLの定数も使用できます。

  • G_YES

  • G_NO

audit_options

レルムを監査する次のオプションのうち、1つを指定します。

  • 0: レルムの監査を無効にします。

  • 1: 認可されていないユーザーがレルムによって保護されているオブジェクトの変更を試行するというようなレルム違反が発生した場合に、監査レコードが作成されます。

  • 2: レルムで保護されているオブジェクトに対する認可されたアクティビティに関する監査レコードが作成されます。

  • 3: レルムで保護されているオブジェクトに対する認可および無認可の両方のアクティビティに関する監査レコードが作成されます。

次のDVSYS.DBMS_MACUTLの定数も使用できます。

  • G_REALM_AUDIT_OFF

  • G_REALM_AUDIT_SUCCESS

  • G_REALM_AUDIT_FAIL


BEGIN
 DVSYS.DBMS_MACADM.UPDATE_REALM(
  realm_name    => 'Sector 2 Performance Statistics Realm',
  description   => 'Realm to measure performance for Sector 2 applications',
  enabled       => 'Y',
  audit_options => 2);
END;

UPDATE_REALM_AUTHプロシージャ

レルムにアクセスするためのユーザーまたはロールの認可を更新します。

構文

DVSYS.DBMS_MACADM.UPDATE_REALM_AUTH(
  realm_name    VARCHAR2,
  grantee       VARCHAR2,
  rule_set_name VARCHAR2,
  auth_options  NUMBER);

パラメータ

表11-14 UPDATE_REALM_AUTHのパラメータ

パラメータ 説明

realm_name

レルム名。

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

grantee

ユーザーまたはロール名。

使用可能なユーザーおよびロールを検索するには、『Oracle Databaseリファレンス』で説明されているDBA_USERSビューおよびDBA_ROLESビューに問い合せます。

特定のユーザーまたはロールの認可を検索するには、「DBA_DV_REALM_AUTHビュー」で説明されているDVA_DV_REALM_AUTHビューに問い合せます。

権限管理で使用されている既存のセキュア・アプリケーション・ロールを検索するには、「DBA_DV_ROLEビュー」で説明されているDVSYS.DBA_DV_ROLEビューに問い合せます。

rule_set_name

認可の前にチェックするルール・セット(オプション)。ルール・セットの評価がTrueの場合は、認可が許可されます。

使用可能なルール・セットを検索するには、DVSYS.DBA_DV_RULE_SETビューに問い合せます。ルール・セットに関連付けられているルールを検索するには、DBA_DB_RULE_SET_RULEビューに問い合せます。どちらも「Oracle Database Vaultのデータ・ディクショナリ・ビュー」で説明されています。

auth_options

レルムを認可する次のオプションのうち、1つを指定します。

  • 0: 参加者。権限が標準のOracle Database権限付与プロセスを使用して付与されている場合、このアカウントまたはロールは、レルムで保護されているオブジェクトに対するアクセス、操作および作成を行うためのシステム権限または直接権限を付与できます。

  • 1: 所有者。このアカウントまたはロールには、レルムの参加者と同じ権限と、レルム・セキュア・データベース・ロールを付与または取り消す認可があります。1つのレルムに複数の所有者を設定できます。

次のDVSYS.DBMS_MACUTLの定数も使用できます。

  • G_REALM_AUTH_PARTICIPANT

  • G_REALM_AUTH_OWNER


BEGIN
 DVSYS.DBMS_MACADM.UPDATE_REALM_AUTH(
  realm_name    => 'Sector 2 Performance Statistics Realm',
  grantee       => 'SYSADM',
  rule_set_name => 'Check Conf Access',,
  auth_options  => 1,);
END;

DVSYS.DBMS_MACADMのルール・セット・プロシージャ

表11-15に、ルール・セットの構成に使用できるDVSYS.DBMS_MACADMパッケージのプロシージャを示します。

ルール・セットの詳細は、第5章「ルール・セットの構成」で説明しています。また、ルール・セット・プロシージャとともに使用できる一連の汎用ユーティリティ・プロシージャは、第13章「DVSYS.DBMS_MACUTLパッケージの使用方法」を参照してください。

表11-15 DVSYS.DBMS_MACADMのルール・セット構成プロシージャ

プロシージャ 説明

ADD_RULE_TO_RULE_SETプロシージャ


有効または無効なルールをルール・セットの最後に追加します。

ADD_RULE_TO_RULE_SETプロシージャ


ルールをルール・セットに追加し、ルール・セット内のルールの順序を指定できるようにします。

ADD_RULE_TO_RULE_SETプロシージャ


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

CREATE_RULEプロシージャ


ルールを作成します。

CREATE_RULE_SETプロシージャ


ルール・セットを作成します。

DELETE_RULEプロシージャ


ルールを削除します。

DELETE_RULE_FROM_RULE_SETプロシージャ


ルールをルール・セットから削除します。

DELETE_RULE_SETプロシージャ


ルール・セットを削除します。

RENAME_RULEプロシージャ


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

RENAME_RULE_SETプロシージャ


ルール・セットの名前を変更します。名前の変更は、そのルール・セットが使用されているすべての箇所に反映されます。

SYNC_RULESプロシージャ


Oracle Database Vaultルールとアドバンスト・キューイング・ルール・エンジンの同期をとります。追加削除変更のルール操作のロールバック後には、この操作を即時実行する必要があります。

UPDATE_RULEプロシージャ


ルールを更新します。

UPDATE_RULE_SETプロシージャ


ルール・セットを更新します。


ADD_RULE_TO_RULE_SETプロシージャ

このプロシージャは、有効または無効なルールをルール・セットに追加し、ルール・セット内のルールの順序を指定できるようにします。

構文

DVSYS.DBMS_MACADM.ADD_RULE_TO_RULE_SET(
  rule_set_name  VARCHAR2,
  rule_name      VARCHAR2,
  rule_order     NUMBER,
  enabled        VARCHAR2);

パラメータ

表11-16 ADD_RULE_TO_RULE_SETのパラメータ

パラメータ 説明

rule_set_name

ルール・セット名。

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

rule_name

ルール・セットに追加するルール。

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

ルール・セットに関連付けられているルールを検索するには、「DBA_DV_RULEビュー」で説明されているDVSYS.DBA_DV_RULE_SET_RULEを使用します。

rule_order

このリリースには適用されませんが、ADD_RULE_TO_RULE_SETプロシージャを機能させるには値を指定する必要があります。1を入力してください。

ルールの表示順序はパフォーマンスに影響を与えます。詳細は、「ルール・セットでのルールの表示順序の設定によるパフォーマンスの向上」を参照してください。

enabled

Y(YES)を指定するとルール・チェックが有効になり、N(NO)を指定するとルール・チェックが無効になります。デフォルトはYです。

次のDVSYS.DBMS_MACUTLの定数も入力できます。

  • G_YES

  • G_NO

詳細は、表13-1を参照してください。


BEGIN
 DVSYS.DBMS_MACADM.ADD_RULE_TO_RULE_SET(
  rule_set_name => 'Limit_DBA_Access',
  rule_name     => 'Check UPDATE operations',
  rule_order    => 1,
  enabled       => 'DBMS_MACUTL.G_YES');
END;

ADD_RULE_TO_RULE_SETプロシージャ

このプロシージャは、ルールをルール・セットに追加し、ルール・セット内のルールの順序を指定できるようにします。

構文

DVSYS.DBMS_MACADM.ADD_RULE_TO_RULE_SET(
  rule_set_name  VARCHAR2,
  rule_name      VARCHAR2,
  rule_order     NUMBER);

パラメータ

表11-17 ADD_RULE_TO_RULE_SETのパラメータ

パラメータ 説明

rule_set_name

ルール・セット名。

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

rule_name

ルール・セットに追加するルール。

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

ルール・セットに関連付けられているルールを検索するには、「DBA_DV_RULE_SETビュー」で説明されているDVSYS.DBA_DV_RULE_SET_RULEを使用します。

rule_order

このリリースには適用されませんが、ADD_RULE_TO_RULE_SETプロシージャを機能させるには値を指定する必要があります。1を入力してください。

ルールの表示順序はパフォーマンスに影響を与えます。詳細は、「ルール・セットでのルールの表示順序の設定によるパフォーマンスの向上」を参照してください。


BEGIN
 ADD_RULE_TO_RULE_SET(
  rule_set_name => 'Limit_DBA_Access',
  rule_name     => 'Restrict DROP TABLE operations'),
  rule_order    => 1);
END;

ADD_RULE_TO_RULE_SETプロシージャ

このプロシージャはルールをルール・セットに追加します。

構文

DVSYS.DBMS_MACADM.ADD_RULE_TO_RULE_SET(
  rule_set_name VARCHAR2,
  rule_name     VARCHAR2);

パラメータ

表11-18 ADD_RULE_TO_RULE_SETのパラメータ

パラメータ 説明

rule_set_name

ルール・セット名。

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

rule_name

ルール・セットに追加するルール。

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

ルール・セットに関連付けられているルールを検索するには、「DBA_DV_RULE_SET_RULEビュー」で説明されているDVSYS.DBA_DV_RULE_SET_RULEに問い合せます。


BEGIN
 DVSYS.DBMS_MACADM.ADD_RULE_TO_RULE_SET(
  rule_set_name => 'Limit_DBA_Access',
  rule_name     => 'Check UPDATE operations');
END;

CREATE_RULEプロシージャ

このプロシージャはルールを作成します。

構文

DVSYS.DBMS_MACADM.CREATE_RULE(
  rule_name  VARCHAR2,
  rule_expr  VARCHAR2);

パラメータ

表11-19 CREATE_RULEのパラメータ

パラメータ 説明

rule_name

ルール名(大/小文字混在で最大90文字)。空白を使用できます。

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

ルール・セットに関連付けられているルールを検索するには、「DBA_DV_RULE_SET_RULEビュー」で説明されているDVSYS.DBA_DV_RULE_SET_RULEに問い合せます。

rule_expr

PL/SQL BOOLEAN式。

式に引用符が含まれる場合、二重引用符は使用しないでください。その場合は、2つの一重引用符を使用します。式全体を一重引用符で囲んでください。たとえば、次のようになります。

'TO_CHAR(SYSDATE,''HH24'') = ''12'''

ルール式の詳細は、「新規ルールの作成」を参照してください。


BEGIN
 DVSYS.DBMS_MACADM.CREATE_RULE(
  rule_name  => 'Check UPDATE operations',
  rule_expr  =>'SYS_CONTEXT(''USERENV'',''SESSION_USER'') = ''SYSADM''');
END;

CREATE_RULE_SETプロシージャ

このプロシージャはルール・セットを作成します。ルール・セットを作成した後で、CREATE_RULEおよびADD_RULE_TO_RULE_SETプロシージャを使用してルールを作成し、ルール・セットに追加します。

構文

DVSYS.DBMS_MACADM.CREATE_RULE_SET(
  rule_set_name    VARCHAR2,
  description      VARCHAR2,
  enabled          VARCHAR2,
  eval_options     NUMBER,
  audit_options    NUMBER,
  fail_options     NUMBER,
  fail_message     VARCHAR2,
  fail_code        NUMBER,
  handler_options  NUMBER,
  handler          VARCHAR2);

パラメータ

表11-20 CREATE_RULE_SETのパラメータ

パラメータ 説明

rule_set_name

ルール・セット名(大/小文字混在で最大90文字)。空白を使用できます。

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

description

ルール・セットの目的の説明(大/小文字混在で最大1024文字)。

enabled

Y(YES)の場合、ルール・セットは有効になり、N(NO)の場合、ルール・セットは無効になります。デフォルトはYです。

次のDVSYS.DBMS_MACUTLの定数も使用できます。

  • G_YES

  • G_NO

eval_options

ルール・セットに複数のルールを割り当てる場合は、次の設定のいずれかを入力します。

  • 1: ルール・セット自体がTrueと評価されるためには、ルール・セットのルールがすべてTrueと評価される必要があります。

  • 2: ルール・セット自体がTrueと評価されるためには、ルール・セットの少なくとも1つのルールがTrueと評価される必要があります。

次のDVSYS.DBMS_MACUTLの定数も使用できます。

  • G_RULESET_EVAL_ALL

  • G_RULESET_EVAL_ANY

audit_options

次の設定のいずれかを選択します。

  • 0: 監査を無効にします。

  • POWER(2,0): ルール・セットがfalse(失敗)と評価される場合に監査します。

  • POWER(2,1): ルール・セットが使用されている場合は常に監査します。

次のDVSYS.DBMS_MACUTLの定数も使用できます。

  • G_RULESET_AUDIT_OFF

  • G_RULESET_AUDIT_FAIL

  • G_RULESET_AUDIT_SUCCESS

詳細は、「監査オプション」を参照してください。

fail_options

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

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

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

次のDVSYS.DBMS_MACUTLの定数も使用できます。

  • G_RULESET_FAIL_SHOW

  • G_RULESET_FAIL_SILENT

詳細は、「エラー処理オプション」を参照してください。

fail_message

失敗を示すエラー・メッセージ。大/小文字混在の最大80文字で、fail_codeで指定した失敗コードに関連付けます。

fail_code

-20000〜-20999の範囲の負の数値を入力し、fail_messageに関連付けます。

handler_options

次の設定のいずれかを選択します。

  • 0: エラー処理を無効にします。

  • POWER(2,0): ルール・セット失敗時にハンドラをコールします。

  • POWER(2,1): ルール・セット成功時にハンドラをコールします。

次のDVSYS.DBMS_MACUTLの定数も使用できます。

  • G_RULESET_HANDLER_OFF

  • G_RULESET_HANDLER_FAIL

  • G_RULESET_HANDLER_SUCCESS

詳細は、「エラー処理オプション」を参照してください。

handler

カスタム・イベント・ハンドラ・ロジックを定義するPL/SQLファンクションまたはプロシージャの名前。

詳細は、「エラー処理オプション」を参照してください。


BEGIN
 DVSYS.DBMS_MACADM.CREATE_RULE_SET(
  rule_set_name    => 'Limit_DBA_Access',
  description      => 'DBA access through predefined processes',
  enabled          => 'Y',
  eval_options     => 2,
  audit_options    => POWER(2,0),
  fail_options     => 2,
  fail_message     => '',
  fail_code        => NULL,
  handler_options  => POWER(2,0),
  handler          => 'dbavowner.email_alert');
END;

DELETE_RULEプロシージャ

このプロシージャはルールを削除します。

構文

DVSYS.DBMS_MACADM.DELETE_RULE(
  rule_name VARCHAR2);

パラメータ

表11-21 DELETE_RULEのパラメータ

パラメータ 説明

rule_name

ルール名。

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

ルール・セットに関連付けられているルールを検索するには、「DBA_DV_RULE_SET_RULEビュー」で説明されているDVSYS.DBA_DV_RULE_SET_RULEに問い合せます。


EXEC DVSYS.DBMS_MACADM.DELETE_RULE('Check UPDATE operations');

DELETE_RULE_FROM_RULE_SETプロシージャ

このプロシージャは、ルールをルール・セットから削除します。

構文

DVSYS.DBMS_MACADM.DELETE_RULE_FROM_RULE_SET(
  rule_set_name VARCHAR2,
  rule_name     VARCHAR2);

パラメータ

表11-22 DELETE_RULE_FROM_RULE_SETのパラメータ

パラメータ 説明

rule_set_name

ルール・セット名。

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

rule_name

ルール・セットから削除するルール。

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

ルール・セットに関連付けられているルールを検索するには、「DBA_DV_RULE_SET_RULEビュー」で説明されているDVSYS.DBA_DV_RULE_SET_RULEに問い合せます。


BEGIN
 DVSYS.DBMS_MACADM.DELETE_RULE_FROM_RULE_SET(
  rule_set_name => 'Limit DBA Access',
  rule_name     => 'Check UPDATE operations');
END;

DELETE_RULE_SETプロシージャ

このプロシージャはルール・セットを削除します。

構文

DVSYS.DBMS_MACADM.DELETE_RULE_SET(
  rule_set_name VARCHAR2);

パラメータ

表11-23 DELETE_RULE_SETのパラメータ

パラメータ 説明

rule_set_name

ルール・セット名。

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


EXEC DVSYS.DBMS_MACADM.DELETE_RULE_SET('Limit DBA Access');

RENAME_RULEプロシージャ

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

構文

DVSYS.DBMS_MACADM.RENAME_RULE(
  rule_name  VARCHAR2,
  new_name   VARCHAR2);

パラメータ

表11-24 RENAME_RULEのパラメータ

パラメータ 説明

rule_name

ルール名。

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

ルール・セットに関連付けられているルールを検索するには、「DBA_DV_RULE_SET_RULEビュー」で説明されているDVSYS.DBA_DV_RULE_SET_RULEに問い合せます。

new_name

新しいルール名(大/小文字混在で最大90文字)。


BEGIN
 DVSYS.DBMS_MACADM.RENAME_RULE(
  rule_name  => 'Check UPDATE operations',
  new_name   => 'Check Sector 2 Processes');
END;

RENAME_RULE_SETプロシージャ

このプロシージャは、ルール・セットの名前を変更します。名前の変更は、そのルール・セットが使用されているすべての箇所に反映されます。

構文

DVSYS.DBMS_MACADM.RENAME_RULE_SET(
  rule_set_name VARCHAR2,
  new_name      VARCHAR2);

パラメータ

表11-25 RENAME_RULE_SETのパラメータ

パラメータ 説明

rule_set_name

現在のルール・セット名。

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

new_name

新しいルール・セット名(大/小文字混在で最大90文字)。空白を使用できます。


BEGIN
 DVSYS.DBMS_MACADM.RENAME_RULE_SET(
  rule_set_name => 'Limit DBA Access',
  new_name      => 'Limit Sector 2 Access');
END;

SYNC_RULESプロシージャ

このプロシージャは、Oracle Database Vaultルールとアドバンスト・キューイング・ルール・エンジンの同期をとります。追加削除変更のルール操作のロールバック後には、この操作を即時実行する必要があります。

構文

DVSYS.DBMS_MACADM.SYNC_RULES();

パラメータ

なし。

EXEC DVSYS.DBMS_MACADM.SYNC_RULES();

UPDATE_RULEプロシージャ

このプロシージャはルールを更新します。

構文

DVSYS.DBMS_MACADM.UPDATE_RULE(
  rule_name  VARCHAR2,
  rule_expr  VARCHAR2);

パラメータ

表11-26 UPDATE_RULEのパラメータ

パラメータ 説明

rule_name

ルール名。

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

ルール・セットに関連付けられているルールを検索するには、「DBA_DV_RULE_SET_RULEビュー」で説明されているDVSYS.DBA_DV_RULE_SET_RULEに問い合せます。

rule_expr

PL/SQL BOOLEAN式。

式に引用符が含まれる場合、二重引用符は使用しないでください。その場合は、2つの一重引用符を使用します。式全体を一重引用符で囲んでください。たとえば、次のようになります。

'TO_CHAR(SYSDATE,''HH24'') = ''12'''

ルール式の詳細は、「新規ルールの作成」を参照してください。

既存のルール式を検索するには、DVSYS.DBA_DV_RULEビューに問い合せます。


BEGIN
 DVSYS.DBMS_MACADM.UPDATE_RULE(
  rule_name  => 'Check UPDATE operations',
  rule_expr  =>'SYS_CONTEXT(''USERENV'',''SESSION_USER'') = ''SYSADM'' AND
               (
                 UPPER(SYS_CONTEXT(''USERENV'',''MODULE'')) LIKE ''APPSRVR%'' OR
                 UPPER(SYS_CONTEXT(''USERENV'',''MODULE'')) LIKE ''DBAPP%'' )'
               );
END;

UPDATE_RULE_SETプロシージャ

このプロシージャはルール・セットを更新します。

構文

DVSYS.DBMS_MACADM.UPDATE_RULE_SET(
  rule_set_name    VARCHAR2,
  description      VARCHAR2,
  enabled          VARCHAR2,
  eval_options     NUMBER,
  audit_options    NUMBER,
  fail_options     NUMBER,
  fail_message     VARCHAR2,
  fail_code        NUMBER,
  handler_options  NUMBER,
  handler          VARCHAR2);

パラメータ

表11-27 UPDATE_RULE_SETのパラメータ

パラメータ 説明

rule_set_name

ルール・セット名。

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

description

ルール・セットの目的の説明(大/小文字混在で最大1024文字)。

enabled

Y(YES)を指定するとルール・セット・チェックが有効になり、N(NO)を指定するとルール・セット・チェックが無効になります。デフォルトはYです。

次のDVSYS.DBMS_MACUTLの定数も使用できます。

  • G_YES

  • G_NO

eval_options

ルール・セットに複数のルールを割り当てる場合は、次の設定のいずれかを入力します。

  • 1: ルール・セット自体がTrueと評価されるためには、ルール・セットのルールがすべてTrueと評価される必要があります。

  • 2: ルール・セット自体がTrueと評価されるためには、ルール・セットの少なくとも1つのルールがTrueと評価される必要があります。

次のDVSYS.DBMS_MACUTLの定数も使用できます。

  • G_RULESET_EVAL_ALL

  • G_RULESET_EVAL_ANY

audit_options

次の設定のいずれかを選択します。

  • 0: 監査を無効にします。

  • POWER(2,0): ルール・セットがfalse(失敗)と評価される場合に監査します。

  • POWER(2,1): ルール・セットが使用されている場合は常に監査します。

次のDVSYS.DBMS_MACUTLの定数も使用できます。

  • G_RULESET_AUDIT_OFF

  • G_RULESET_AUDIT_FAIL

  • G_RULESET_AUDIT_SUCCESS

詳細は、「監査オプション」を参照してください。

fail_options

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

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

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

次のDVSYS.DBMS_MACUTLの定数も使用できます。

  • G_RULESET_FAIL_SHOW

  • G_RULESET_FAIL_SILENT

詳細は、「エラー処理オプション」を参照してください。

fail_message

失敗を示すエラー・メッセージ。大/小文字混在の最大80文字で、fail_codeで指定した失敗コードに関連付けます。

fail_code

-20000〜-20999の範囲の負の数値を入力し、fail_messageに関連付けます。

handler_options

次の設定のいずれかを選択します。

  • 0: エラー処理を無効にします。

  • POWER(2,0): ルール・セット失敗時にハンドラをコールします。

  • POWER(2,1): ルール・セット成功時にハンドラをコールします。

次のDVSYS.DBMS_MACUTLの定数も使用できます。

  • G_RULESET_HANDLER_OFF

  • G_RULESET_HANDLER_FAIL

  • G_RULESET_HANDLER_SUCCESS

詳細は、「エラー処理オプション」を参照してください。

handler

カスタム・イベント・ハンドラ・ロジックを定義するPL/SQLファンクションまたはプロシージャの名前。

詳細は、「エラー処理オプション」を参照してください。


BEGIN
 DVSYS.DBMS_MACADM.UPDATE_RULE_SET(
  rule_set_name    => 'Limit DBA Access',
  description      => 'DBA access through predefined processes',
  enabled          => 'Y'
  eval_options     => 2,
  audit_options    => POWER(2,0),
  fail_options     => 1,
  fail_message     => 'Access denied!',
  fail_code        => -20900,
  handler_options  => 0,
  handler          => '');
END;

DVSYS.DBMS_MACADMのコマンド・ルール・プロシージャ

表11-28に、コマンド・ルールの構成に使用できるDVSYS.DBMS_MACADMパッケージのプロシージャを示します。

コマンド・ルールの詳細は、第6章「コマンド・ルールの構成」を参照してください。また、コマンド・ルール・プロシージャとともに使用できる一連の汎用ユーティリティ・プロシージャは、第13章「DVSYS.DBMS_MACUTLパッケージの使用方法」を参照してください。

表11-28 DVSYS.DBMS_MACADMのコマンド・ルール構成プロシージャ

プロシージャ 説明

CREATE_COMMAND_RULEプロシージャ


コマンド・ルールを作成し、ルール・セットに関連付けます。

DELETE_COMMAND_RULEプロシージャ


コマンド・ルールの宣言を削除します。

UPDATE_COMMAND_RULEプロシージャ


コマンド・ルールの宣言を更新します。


CREATE_COMMAND_RULEプロシージャ

このプロシージャは、コマンド・ルールを作成し、ルール・セットに関連付けます。

構文

DVSYS.DBMS_MACADM.CREATE_COMMAND_RULE(
  command         VARCHAR2,
  rule_set_name   VARCHAR2,
  object_owner    VARCHAR2,
  object_name     VARCHAR2,
  enabled         VARCHAR2);

パラメータ

表11-29 CREATE_COMMAND_RULEのパラメータ

パラメータ 説明

command

保護するSQL文。

次の項を参照してください。

rule_set_name

このコマンド・ルールに関連付けるルール・セットの名前。

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

object_owner

このコマンド・ルールのデータベース・スキーマ所有者。ワイルドカード%を使用できます。

使用可能なユーザーを検索するには、『Oracle Databaseリファレンス』で説明されているDBA_USERSビューに問い合せます。

コマンド・ルール所有者の詳細は、「コマンド・ルールの作成および編集」の「オブジェクト所有者」を参照してください。

object_name

オブジェクト名。(ワイルドカード%を使用できます。コマンド・ルールで保護されるオブジェクトの詳細は、「コマンド・ルールの作成および編集」の「オブジェクト名」を参照してください。)

使用可能なオブジェクトを検索するには、『Oracle Databaseリファレンス』で説明されているALL_OBJECTSビューに問い合せます。

enabled

Y(YES)を指定するとコマンド・ルール・チェックが有効になり、N(NO)を指定するとコマンド・ルール・チェックが無効になります。デフォルトはYです。

次のDVSYS.DBMS_MACUTLの定数も使用できます。

  • G_YES

  • G_NO


BEGIN
 DVSYS.DBMS_MACADM.CREATE_COMMAND_RULE(
  command         => 'SELECT',
  rule_set_name   => 'Limit Sector 2 Access',
  object_owner    => 'SYSADM',
  object_name     => 'EMP_DATA',
  enabled         => 'Y');
END;

DELETE_COMMAND_RULEプロシージャ

このプロシージャは、コマンド・ルールの宣言を削除します。

構文

DVSYS.DBMS_MACADM.DELETE_COMMAND_RULE(
  command      VARCHAR2,
  object_owner VARCHAR2,
  object_name  VARCHAR2);

パラメータ

表11-30 DELETE_COMMAND_RULEのパラメータ

パラメータ 説明

command

コマンド・ルールで保護されるSQL文。

使用可能なコマンド・ルールを検索するには、「DBA_DV_COMMAND_RULEビュー」で説明されているDVSYS.DBA_DV_COMMAND_RULEビューに問い合せます。

object_owner

このコマンド・ルールのデータベース・スキーマ所有者。

現行のデータベース・インスタンスで使用可能なユーザーを検索するには、『Oracle Databaseリファレンス』で説明されているDBA_USERSビューに問い合せます。

コマンド・ルール所有者の詳細は、「コマンド・ルールの作成および編集」の「オブジェクト所有者」を参照してください。

object_name

オブジェクト名。(ワイルドカード%を使用できます。コマンド・ルールで保護されるオブジェクトの詳細は、「コマンド・ルールの作成および編集」の「オブジェクト名」を参照してください。)

使用可能なオブジェクトを検索するには、『Oracle Databaseリファレンス』で説明されているALL_OBJECTSビューに問い合せます。


BEGIN
 DVSYS.DBMS_MACADM.DELETE_COMMAND_RULE(
  command      => 'SELECT',
  object_owner => 'SYSADM',
  object_name  => 'EMP_DATA');
END;

UPDATE_COMMAND_RULEプロシージャ

このプロシージャは、コマンド・ルールの宣言を更新します。

構文

DVSYS.DBMS_MACADM.UPDATE_COMMAND_RULE(
  command        VARCHAR2,
  rule_set_name  VARCHAR2,
  object_owner   VARCHAR2,
  object_name    VARCHAR2,
  enabled        VARCHAR2);

パラメータ

表11-31 UPDATE_COMMAND_RULEのパラメータ

パラメータ 説明

command

保護するSQL文。

次の項を参照してください。

rule_set_name

このコマンド・ルールに関連付けるルール・セットの名前。

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

object_owner

このコマンド・ルールのデータベース・スキーマ所有者。

使用可能なユーザーを検索するには、『Oracle Databaseリファレンス』で説明されているDBA_USERSビューに問い合せます。コマンド・ルール所有者の詳細は、「コマンド・ルールの作成および編集」の「オブジェクト所有者」を参照してください。

object_name

オブジェクト名。(ワイルドカード%を使用できます。コマンド・ルールで保護されるオブジェクトの詳細は、「コマンド・ルールの作成および編集」の「オブジェクト名」を参照してください。)

使用可能なオブジェクトを検索するには、『Oracle Databaseリファレンス』で説明されているALL_OBJECTSビューに問い合せます。

enabled

Y(YES)を指定するとコマンド・ルール・チェックが有効になり、N(NO)を指定するとコマンド・ルール・チェックが無効になります。デフォルトはYです。

次のDVSYS.DBMS_MACUTLの定数も使用できます。

  • G_YES

  • G_NO


BEGIN
 DVSYS.DBMS_MACADM.UPDATE_COMMAND_RULE(
  command         => 'SELECT',
  rule_set_name   => 'Limit Sector 2 Access',
  object_owner    => 'SYSADM',
  object_name     => '%',
  enabled         => 'Y');
END;

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

表11-32に、ファクタの構成に使用できるDVSYS.DBMS_MACADMパッケージのプロシージャおよびファンクションを示します。

ファクタの詳細は、第7章「ファクタの構成」を参照してください。また、ファクタ・プロシージャとともに使用できる一連の汎用ユーティリティ・プロシージャは、第13章「DVSYS.DBMS_MACUTLパッケージの使用方法」を参照してください。

表11-32 DVSYS.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(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 Real Application Clusters(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プロシージャ

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

構文

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

パラメータ

表11-33 ADD_FACTOR_LINKのパラメータ

パラメータ 説明

parent_factor_name

親ファクタ名。

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

child_factor_name

子ファクタ名。

label_indicator

親ファクタにリンクされる子ファクタを、Oracle Label Security統合での親ファクタのラベルに含めることを示します。Y(YES)またはN(NO)を指定します。

次のDVSYS.DBMS_MACUTLの定数も使用できます。

  • G_YES

  • G_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
 DVSYS.DBMS_MACADM.ADD_FACTOR_LINK(
  parent_factor_name => 'HQ_ClientID',
  child_factor_name  => 'Div1_ClientID',
  label_indicator    => 'Y');
END;

ADD_POLICY_FACTORプロシージャ

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

構文

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

パラメータ

表11-34 ADD_POLICY_FACTORのパラメータ

パラメータ 説明

policy_name

Oracle Label Securityポリシー名。

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

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

factor_name

ファクタ名。

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


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

CHANGE_IDENTITY_FACTORプロシージャ

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

構文

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

パラメータ

表11-35 CHANGE_IDENTITY_FACTORのパラメータ

パラメータ 説明

factor_name

現在のファクタ名。

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

value

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

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

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

new_factor_name

アイデンティティと関連付けるファクタの名前。


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

CHANGE_IDENTITY_VALUEプロシージャ

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

構文

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

パラメータ

表11-36 CHANGE_IDENTITY_VALUEのパラメータ

パラメータ 説明

factor_name

ファクタ名。

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

value

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

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

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

new_value

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


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

CREATE_DOMAIN_IDENTITYプロシージャ

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

構文

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

パラメータ

表11-37 CREATE_DOMAIN_IDENTITYのパラメータ

パラメータ 説明

domain_name

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

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

domain_host

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

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

policy_name

Oracle Label Securityポリシー名。

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

domain_label

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


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

CREATE_FACTORプロシージャ

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

構文

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

パラメータ

表11-38 CREATE_FACTORのパラメータ

パラメータ 説明

factor_name

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

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

factor_type_name

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

既存のファクタ・タイプを検索するには、「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パラメータの式セットに基づいてファクタのアイデンティティを決定するオプション。

  • 0: 定数

  • 1: メソッド

  • 2: ファクタ

  • 3: コンテキスト

次のDVSYS.DBMS_MACUTLの定数も使用できます。

  • G_IDENTIFY_BY_CONSTANT

  • G_IDENTIFY_BY_METHOD

  • G_IDENTIFY_BY_FACTOR

  • G_IDENTIFY_BY_CONTEXT

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

labeled_by

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

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

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

次のDVSYS.DBMS_MACUTLの定数も使用できます。

  • G_LABELED_BY_SELF

  • G_LABELED_BY_FACTORS

詳細は、「ファクタ・ラベリング」を参照してください。

eval_options

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

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

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

  • 2: 起動時

次のDVSYS.DBMS_MACUTLの定数も使用できます。

  • G_EVAL_ON_SESSION

  • G_EVAL_ON_ACCESS

詳細は、「評価」を参照してください。

audit_options

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

  • 0: 監査を無効にします。

  • POWER(2,0): 常に監査します。

  • POWER(2,1): get_exprがエラーを返した場合に監査します。

  • POWER(2,2): get_exprがnullの場合に監査します。

  • POWER(2,3): 検証プロシージャがエラーを返した場合に監査します。

  • POWER(2,4): 検証プロシージャがfalseの場合に監査します。

  • POWER(2,5): 信頼レベルが設定されていない場合に監査します。

  • POWER(2,6): 信頼レベルが負の場合に監査します。

次のDVSYS.DBMS_MACUTLの定数も使用できます。

  • G_AUDIT_OFF

  • G_AUDIT_ALWAYS

  • G_AUDIT_ON_GET_ERROR

  • G_AUDIT_ON_GET_NULL

  • G_AUDIT_ON_VALIDATE_ERROR

  • G_AUDIT_ON_VALIDATE_FALSE

  • G_AUDIT_ON_TRUST_LEVEL_NULL

  • G_AUDIT_ON_TRUST_LEVEL_NEG

詳細は、「監査オプション」を参照してください。

fail_options

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

  • POWER(2,0): エラー・メッセージを表示します。

  • POWER(2,1): エラー・メッセージを表示しません。

次のDVSYS.DBMS_MACUTLの定数も使用できます。

  • G_FAIL_WITH_MESSAGE

  • G_FAIL_SILENTLY

詳細は、「エラー・オプション」を参照してください。


BEGIN
 DVSYS.DBMS_MACADM.CREATE_FACTOR(
  factor_name       => 'Sector2_DB',
  factor_type_name  => 'Instance',
  description       => ' ',
  rule_set_name     => 'DB_access',
  get_expr          => 'UPPER(SYS_CONTEXT('USERENV','DB_NAME'))',
  validate_expr     => 'dbavowner.check_db_access',
  identify_by       => 2,
  labeled_by        => 0,
  eval_options      => 0,
  audit_options     => 0,
  fail_options      => POWER(2,1));
END;

CREATE_FACTOR_TYPEプロシージャ

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

構文

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

パラメータ

表11-39 CREATE_FACTOR_TYPEのパラメータ

パラメータ 説明

name

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

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

description

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


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

CREATE_IDENTITYプロシージャ

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

構文

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

パラメータ

表11-40 CREATE_IDENTITYのパラメータ

パラメータ 説明

factor_name

ファクタ名。

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

value

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

trust_level

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

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


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

CREATE_IDENTITY_MAPプロシージャ

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

構文

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

パラメータ

表11-41 CREATE_IDENTITY_MAPのパラメータ

パラメータ 説明

identity_factor_name

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

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

identity_factor_value

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

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

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

parent_factor_name

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

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

child_factor_name

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

operation

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

operand1

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

operand2

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


BEGIN
 DVSYS.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              => '123.45.78.890',
  operand2              => '988.77.56.123');
END;

DELETE_FACTORプロシージャ

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

構文

DVSYS.DBMS_MACADM.DELETE_FACTOR(
  factor_name VARCHAR2);

パラメータ

表11-42 DELETE_FACTORのパラメータ

パラメータ 説明

factor_name

ファクタ名。

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


EXEC DVSYS.DBMS_MACADM.DELETE_FACTOR('Sector2_ClientID');

DELETE_FACTOR_LINKプロシージャ

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

構文

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

パラメータ

表11-43 DELETE_FACTOR_LINKのパラメータ

パラメータ 説明

parent_factor_name

ファクタ名。

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

child_factor_name

ファクタ名。


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

DELETE_FACTOR_TYPEプロシージャ

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

構文

DVSYS.DBMS_MACADM.DELETE_FACTOR_TYPE(
  name VARCHAR2);

パラメータ

表11-44 DELETE_FACTOR_TYPEのパラメータ

パラメータ 説明

name

ファクタ・タイプ名。

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


EXEC DVSYS.DBMS_MACADM.DELETE_FACTOR_TYPE('Sector2Instance');

DELETE_IDENTITYプロシージャ

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

構文

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

パラメータ

表11-45 DELETE_IDENTITYのパラメータ

パラメータ 説明

factor_name

ファクタ名。

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

value

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

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


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

DELETE_IDENTITY_MAPプロシージャ

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

構文

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

パラメータ

表11-46 DELETE_IDENTITY_MAPのパラメータ

パラメータ 説明

identity_factor_name

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

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

identity_factor_value

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

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

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

parent_factor_name

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

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

child_factor_name

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

operation

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

operand1

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

operand2

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


BEGIN
 DVSYS.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プロシージャ

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

構文

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

パラメータ

表11-47 DROP_DOMAIN_IDENTITYのパラメータ

パラメータ 説明

domain_name

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

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

domain_host

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

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


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

GET_INSTANCE_INFOファンクション

このファンクションは、SYS.V_$INSTANCEビューの情報を返します。VARCHAR2値を返します。SYS.V_$INSTANCEの詳細は、『Oracle Databaseリファレンス』を参照してください。

構文

DVSYS.DBMS_MACADM.GET_INSTANCE_INFO(
  p_parameter VARCHAR2)
RETURNS VARCHAR2;

パラメータ

表11-48 GET_INSTANCE_INFOのパラメータ

パラメータ 説明

p_parameter

SYS.V_$INSTANCEビューの列名。SYS.V_$INSTANCE列のリストは、『Oracle Databaseリファレンス』を参照してください。


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

GET_SESSION_INFOファンクション

このファンクションは、現行セッションについてSYS.V_$SESSIONビューの情報を返します。VARCHAR2値を返します。SYS.V_$SESSIONの詳細は、『Oracle Databaseリファレンス』を参照してください。

構文

DVSYS.DBMS_MACADM.GET_SESSION_INFO(
  p_parameter VARCHAR2)
RETURNS VARCHAR2;

パラメータ

表11-49 GET_SESSION_INFOのパラメータ

パラメータ 説明

p_parameter

SYS.V_$SESSIONビューの列名。SYS.V_$SESSION列のリストは、『Oracle Databaseリファレンス』を参照してください。


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

RENAME_FACTORプロシージャ

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

構文

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

パラメータ

表11-50 RENAME_FACTORのパラメータ

パラメータ 説明

factor_name

ファクタ名。

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

new_factor_name

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


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

RENAME_FACTOR_TYPEプロシージャ

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

構文

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

パラメータ

表11-51 RENAME_FACTOR_TYPEのパラメータ

パラメータ 説明

old_name

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

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

new_name

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


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

UPDATE_FACTORプロシージャ

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

構文

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

パラメータ

表11-52 UPDATE_FACTOR

パラメータ 説明

factor_name

ファクタ名。

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

factor_type_name

ファクタ・タイプ名。

既存のファクタ・タイプを検索するには、「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パラメータの式セットに基づいてファクタのアイデンティティを決定するオプション。

  • 0: 定数

  • 1: メソッド

  • 2: ファクタ

  • 3: コンテキスト

次のDVSYS.DBMS_MACUTLの定数も使用できます。

  • G_IDENTIFY_BY_CONSTANT

  • G_IDENTIFY_BY_METHOD

  • G_IDENTIFY_BY_FACTOR

  • G_IDENTIFY_BY_CONTEXT

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

labeled_by

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

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

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

次のDVSYS.DBMS_MACUTLの定数も使用できます。

  • G_LABELED_BY_SELF

  • G_LABELED_BY_FACTORS

詳細は、「ファクタ・ラベリング」を参照してください。

eval_options

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

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

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

  • 2: 起動時

次のDVSYS.DBMS_MACUTLの定数も使用できます。

  • G_EVAL_ON_SESSION

  • G_EVAL_ON_ACCESS

詳細は、「評価」を参照してください。

audit_options

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

  • 0: 監査を無効にします。

  • POWER(2,0): 常に監査します。

  • POWER(2,1): get_exprがエラーを返した場合に監査します。

  • POWER(2,2): get_exprがnullの場合に監査します。

  • POWER(2,3): 検証プロシージャがエラーを返した場合に監査します。

  • POWER(2,4): 検証プロシージャがfalseの場合に監査します。

  • POWER(2,5): 信頼レベルが設定されていない場合に監査します。

  • POWER(2,6): 信頼レベルが負の場合に監査します。

次のDVSYS.DBMS_MACUTLの定数も使用できます。

  • G_AUDIT_OFF

  • G_AUDIT_ALWAYS

  • G_AUDIT_ON_GET_ERROR

  • G_AUDIT_ON_GET_NULL

  • G_AUDIT_ON_VALIDATE_ERROR

  • G_AUDIT_ON_VALIDATE_FALSE

  • G_AUDIT_ON_TRUST_LEVEL_NULL

  • G_AUDIT_ON_TRUST_LEVEL_NEG

詳細は、「監査オプション」を参照してください。

fail_options

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

  • POWER(2,0): エラー・メッセージを表示します。

  • POWER(2,1): エラー・メッセージを表示しません。

次のDVSYS.DBMS_MACUTLの定数も使用できます。

  • G_FAIL_WITH_MESSAGE

  • G_FAIL_SILENTLY

詳細は、「エラー・オプション」を参照してください。


BEGIN
 DVSYS.DBMS_MACADM.UPDATE_FACTOR(
  factor_name       => 'Sector2_DB',
  factor_type_name  => 'Instance',
  description       => ' ',
  rule_set_name     => 'DB_access',
  get_expr          => 'UPPER(SYS_CONTEXT('USERENV','DB_NAME'))',
  validate_expr     => 'dbavowner.check_db_access',
  identify_by       => 2,
  labeled_by        => 0,
  eval_options      => 0,
  audit_options     => POWER(2,0),
  fail_options      => POWER(2,0));
END;

UPDATE_FACTOR_TYPEプロシージャ

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

構文

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

パラメータ

表11-53 UPDATE_FACTOR_TYPEのパラメータ

パラメータ 説明

name

ファクタ・タイプ名。

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

description

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


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

UPDATE_IDENTITYプロシージャ

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

構文

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

パラメータ

表11-54 UPDATE_IDENTITYのパラメータ

パラメータ 説明

factor_name

ファクタ名。

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

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

value

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

trust_level

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

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


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

DVSYS.DBMS_MACADMのセキュア・アプリケーション・ロール・プロシージャ

表11-55に、Oracle Database Vaultセキュア・アプリケーション・ロールの構成に使用できるDVSYS.DBMS_MACADMパッケージのプロシージャを示します。

セキュア・アプリケーション・ロールの詳細は、第8章「Oracle Database Vaultのセキュア・アプリケーション・ロールの構成」を参照してください。また、セキュア・アプリケーション・ロール・プロシージャとともに使用できる一連の汎用ユーティリティ・プロシージャは、第13章「DVSYS.DBMS_MACUTLパッケージの使用方法」を参照してください。

表11-55 DVSYS.DBMS_MACADMのセキュア・アプリケーション・ロール構成プロシージャ

プロシージャ 説明

CREATE_ROLEプロシージャ


Oracle Database Vaultセキュア・アプリケーション・ロールを作成します。

DELETE_ROLEプロシージャ


Oracle Database Vaultセキュア・アプリケーション・ロールを削除します。

RENAME_ROLEプロシージャ


Oracle Database Vaultセキュア・アプリケーション・ロールの名前を変更します。名前の変更は、そのロールが使用されているすべての箇所に反映されます。

UPDATE_ROLEプロシージャ


Oracle Database Vaultセキュア・アプリケーション・ロールを更新します。


CREATE_ROLEプロシージャ

このプロシージャは、Oracle Database Vaultセキュア・アプリケーション・ロールを作成します。

構文

DVSYS.DBMS_MACADM.CREATE_ROLE(
  role_name      VARCHAR2,
  enabled        VARCHAR2,
  rule_set_name  VARCHAR2);

パラメータ

表11-56 CREATE_ROLEのパラメータ

パラメータ 説明

role_name

ロール名(空白を使用せず、最大30文字)。必須ではありませんが、ロール名は大文字で入力することをお薦めします。この名前が、『Oracle Database SQL言語リファレンス』で説明されている、ロール作成の標準のOracleネーミング規則に準拠していることを確認してください。

現行のデータベース・インスタンスで既存のセキュア・アプリケーション・ロールを検索するには、「DBA_DV_ROLEビュー」で説明されているDVSYS.DBA_DV_ROLEビューに問い合せます。

enabled

Y(YESの場合)を指定するとロール・チェックが有効になり、N(NOの場合)を指定するとロール・チェックが無効になります。デフォルトはYです。

次のDVSYS.DBMS_MACUTLの定数も使用できます。

  • G_YES

  • G_NO

rule_set_name

ユーザーがこのセキュア・アプリケーション・ロールを設定できるかどうかを判断するためのルール・セットの名前。

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


BEGIN
 DVSYS.DBMS_MACADM.CREATE_ROLE(
  role_name      => 'Sector2_APP_MGR>,
  enabled        => 'Y',
  rule_set_name  => 'Check App2 Access');
END;

DELETE_ROLEプロシージャ

このプロシージャは、Oracle Database Vaultセキュア・アプリケーション・ロールを削除します。

構文

DVSYS.DBMS_MACADM.DELETE_ROLE(
  role_name VARCHAR2);

パラメータ

表11-57 DELETE_ROLEのパラメータ

パラメータ 説明

role_name

ロール名。

現行のデータベース・インスタンスで既存のセキュア・アプリケーション・ロールを検索するには、「DBA_DV_ROLEビュー」で説明されているDVSYS.DBA_DV_ROLEビューに問い合せます。


EXEC DVSYS.DBMS_MACADM.DELETE_ROLE('SECT2_APP_MGR');

RENAME_ROLEプロシージャ

このプロシージャは、Oracle Database Vaultセキュア・アプリケーション・ロールの名前を変更します。名前の変更は、そのロールが使用されているすべての箇所に反映されます。

構文

DVSYS.DBMS_MACADM.RENAME_ROLE(
  role_name      VARCHAR2,
  new_role_name  VARCHAR2);

パラメータ

表11-58 RENAME_ROLEのパラメータ

パラメータ 説明

role_name

ロール名。

現行のデータベース・インスタンスで既存のセキュア・アプリケーション・ロールを検索するには、「DBA_DV_ROLEビュー」で説明されているDVSYS.DBA_DV_ROLEビューに問い合せます。

new_role_name

ロール名(空白を使用せず、大文字で最大30文字)。この名前が、『Oracle Database SQL言語リファレンス』で説明されている、ロール作成の標準のOracleネーミング規則に準拠していることを確認してください。


BEGIN
 DVSYS.DBMS_MACADM.RENAME_ROLE(
  role_name      => 'SECT2_APP_MGR',
  new_role_name  => 'SECT2_SYSADMIN', );
END;

UPDATE_ROLEプロシージャ

このプロシージャは、Oracle Database Vaultセキュア・アプリケーション・ロールを更新します。

構文

DVSYS.DBMS_MACADM.UPDATE_ROLE(
  role_name      VARCHAR2,
  enabled        VARCHAR2,
  rule_set_name  VARCHAR2);

パラメータ

表11-59 UPDATE_ROLEのパラメータ

パラメータ 説明

role_name

ロール名。

現行のデータベース・インスタンスで既存のセキュア・アプリケーション・ロールを検索するには、「DBA_DV_ROLEビュー」で説明されているDVSYS.DBA_DV_ROLEビューに問い合せます。

enabled

Y(YES)の場合、ロールは有効になり、N(NO)の場合、ロールは無効になります。デフォルトはYです。

次のDVSYS.DBMS_MACUTLの定数も使用できます。

  • G_YES

  • G_NO

rule_set_name

ユーザーがこのセキュア・アプリケーション・ロールを設定できるかどうかを判断するためのルール・セットの名前。

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


BEGIN
 DVSYS.DBMS_MACADM.UPDATE_ROLE(
  role_name      => 'SECT2_SYSADMIN',
  enabled        => 'Y',
  rule_set_name  => 'System Access Controls');
END;

DVSYS.DBMS_MACADMのOracle Label Securityポリシー・プロシージャ

表11-60に、Oracle Label Securityポリシーの構成に使用できるDVSYS.DBMS_MACADMパッケージのプロシージャを示します。

Oracle Label Securityポリシーの詳細は、第9章「Oracle Database Vaultとその他のOracle製品の統合」を参照してください。また、Oracle Label Securityポリシー・プロシージャとともに使用できる一連の汎用ユーティリティ・プロシージャは、第13章「DVSYS.DBMS_MACUTLパッケージの使用方法」を参照してください。

表11-60 DVSYS.DBMS_MACADMのOracle Label Security構成プロシージャ

プロシージャ 説明

CREATE_MAC_POLICYプロシージャ


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

CREATE_POLICY_LABELプロシージャ


Oracle Label Securityポリシー内のアイデンティティにラベルを付けます。

DELETE_MAC_POLICY_CASCADEプロシージャ


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

DELETE_POLICY_FACTORプロシージャ


Oracle Label Securityラベルの構成からファクタを削除します。

DELETE_POLICY_LABELプロシージャ


Oracle Label Securityポリシーのアイデンティティからラベルを削除します。

UPDATE_MAC_POLICYプロシージャ


ファクタのラベルまたはOracle Label Securityセッション・ラベルを算出する際にラベルのマージに使用されるアルゴリズムを更新します。


CREATE_MAC_POLICYプロシージャ

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

構文

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

パラメータ

表11-61 CREATE_MAC_POLICYのパラメータ

パラメータ 説明

policy_name

既存のポリシーの名前。

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

algorithm

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

ラベルマージ・アルゴリズムの詳細は、『Oracle Label Security管理者ガイド』を参照してください。


表11-62 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
 DVSYS.DBMS_MACADM.CREATE_MAC_POLICY(
  policy_name  => 'Access Locations',
  algorithm    => 'HUU');
END;

CREATE_POLICY_LABELプロシージャ

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

構文

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

パラメータ

表11-63 CREATE_POLICY_LABELのパラメータ

パラメータ 説明

identity_factor_name

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

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

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

詳細は、「Label Securityポリシー・ファクタ」を参照してください。

identity_factor_value

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

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

policy_name

既存のポリシーの名前。

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

label

Oracle Label Securityラベル名。

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


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

DELETE_MAC_POLICY_CASCADEプロシージャ

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

構文

DVSYS.DBMS_MACADM.DELETE_MAC_POLICY_CASCADE(
  policy_name  VARCHAR2);

パラメータ

表11-64 DELETE_MAC_POLICY_CASCADEのパラメータ

パラメータ 説明

policy_name

既存のポリシーの名前。

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


EXEC DVSYS.DBMS_MACADM.DELETE_MAC_POLICY_CASCADE('Access Locations');

DELETE_POLICY_FACTORプロシージャ

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

構文

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

パラメータ

表11-65 DELETE_POLICY_FACTORのパラメータ

パラメータ 説明

policy_name

既存のポリシーの名前。

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

factor_name

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

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


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

DELETE_POLICY_LABELプロシージャ

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

構文

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

パラメータ

表11-66 DELETE_POLICY_LABELのパラメータ

パラメータ 説明

identity_factor_name

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

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

詳細は、「Label Securityポリシー・ファクタ」を参照してください。

identity_factor_value

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

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

policy_name

既存のポリシーの名前。

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

label

Oracle Label Securityラベル名。

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


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

UPDATE_MAC_POLICYプロシージャ

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

構文

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

パラメータ

表11-67 UPDATE_MAC_POLICY

パラメータ 説明

policy_name

既存のポリシーの名前。

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

algorithm

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

ラベルマージ・アルゴリズムの詳細は、『Oracle Label Security管理者ガイド』を参照してください。


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