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

前
次

13 Oracle Database VaultレルムのAPI

DBMS_MACADM PL/SQLパッケージでは、Oracle Database Vaultレルムを構成できます。

表13-1に、レルムの構成に使用できるDBMS_MACADMパッケージのプロシージャを示します。

DV_OWNERロールまたはDV_ADMINロールを付与されているユーザーのみがこれらのプロシージャを使用できます。これらのプロシージャで使用できる定数の詳細は、表19-1を参照してください。

関連項目:

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

プロシージャ 説明

ADD_AUTH_TO_REALMプロシージャ

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

ADD_OBJECT_TO_REALMプロシージャ

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

CREATE_REALMプロシージャ

レルムを作成します。

DELETE_AUTH_FROM_REALMプロシージャ

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

DELETE_OBJECT_FROM_REALMプロシージャ

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

DELETE_REALMプロシージャ

レルム(認可されるユーザーと保護対象オブジェクトを指定するレルム関連Database Vault構成情報を含む)を削除します。

DELETE_REALM_CASCADEプロシージャ

レルムおよび関連するDatabase Vault構成情報を削除します。

RENAME_REALMプロシージャ

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

UPDATE_REALMプロシージャ

レルムを更新します。

UPDATE_REALM_AUTHプロシージャ

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

ADD_AUTH_TO_REALMプロシージャ

ADD_AUTH_TO_REALMプロシージャは、所有者または参加者としてレルムにアクセスする権限をユーザーまたはロールに付与します。

レルム認可の詳細は、「レルム認可について」を参照してください。

オプションで、認可を有効にする前に確認する必要のあるルール・セットを指定できます。

構文

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

パラメータ

表13-2 ADD_AUTH_TO_REALMパラメータ

パラメータ 説明

realm_name

レルム名。

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

grantee

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

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

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

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

rule_set_name

オプションです。ランタイムでチェックするルール・セット。レルム認可は、ルール・セットの評価がTRUEの場合のみ有効です。

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

auth_options

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

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

  • DBMS_MACUTL.G_REALM_AUTH_OWNER: 所有者。このアカウントまたはロールには、レルムの参加者と同じ認可に加えて、レルム保護オブジェクトに対するレルム・セキュア・ロールおよび権限を付与または取り消す認可があります。

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

次の例では、ユーザーSYSADMをパフォーマンス統計レルムの参加者として認可します。デフォルトは参加者としてユーザーを認可することであるため、auth_optionsパラメータを省略できます。

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

次の例では、ユーザーSYSADMをパフォーマンス統計レルムの所有者として設定します。

BEGIN
 DBMS_MACADM.ADD_AUTH_TO_REALM(
  realm_name   => 'Performance Statistics Realm', 
  grantee      => 'SYSADM', 
  auth_options => DBMS_MACUTL.G_REALM_AUTH_OWNER);
END;
/

次の例では、ユーザーSYSADMがパフォーマンス統計レルムの所有者としての役割を果す前に、Check Conf Accessルール・セットをトリガーします。

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

ADD_OBJECT_TO_REALMプロシージャ

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

構文

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

パラメータ

表13-3 ADD_OBJECT_TO_REALMのパラメータ

パラメータ 説明

realm_name

レルム名。

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

object_owner

レルムに追加するオブジェクトの所有者。ロールをレルムに追加する場合、ロールに所有者はいないため、ロールのオブジェクト所有者は%(すべて)として表示されます。

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

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

object_name

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

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

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

object_type

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

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

BEGIN
 DBMS_MACADM.ADD_OBJECT_TO_REALM(
  realm_name   => 'Performance Statistics Realm', 
  object_owner => '%', 
  object_name  => 'GATHER_SYSTEM_STATISTICS', 
  object_type  => 'ROLE'); 
END;
/

CREATE_REALMプロシージャ

CREATE_REALMプロシージャはレルムを作成します。

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

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

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

構文

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

パラメータ

表13-4 CREATE_REALMのパラメータ

パラメータ 説明

realm_name

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

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

description

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

enabled

DBMS_MACUTL.G_YES(Yes)では、レルム・チェックが有効になり、DBMS_MACUTL.G_NO(No)ではレルム・チェックが無効になります。デフォルト値はDBMS_MACUTL.G_YESです。

audit_options

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

  • DBMS_MACUTL.G_REALM_AUDIT_OFF: レルムの監査を無効にします(デフォルト)。

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

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

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

realm_type

次のいずれかのオプションを指定します。

  • 0: 必須レルムのチェックを無効にします。

  • 1: レルムのオブジェクトに対する必須レルムのチェックを有効にします。レルム所有者またはレルム参加者のみが、レルム内のオブジェクトにアクセスできます。レルム所有者や参加者ではないオブジェクト所有者およびオブジェクト権限ユーザーはアクセスできません。

必須レルムの詳細は、「必須レルムによるレルム内のオブジェクトへのユーザー・アクセスの制限」も参照してください。

BEGIN
 DBMS_MACADM.CREATE_REALM(
  realm_name    => 'Performance Statistics Realm', 
  description   => 'Realm to measure performance', 
  enabled       => DBMS_MACUTL.G_YES, 
  audit_options => DBMS_MACUTL.G_REALM_AUDIT_FAIL + DBMS_MACUTL.G_REALM_AUDIT_SUCCESS,
  realm_type    => 1);
END; 
/

関連項目:

例19-1

DELETE_AUTH_FROM_REALMプロシージャ

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

構文

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

パラメータ

表13-5 DELETE_AUTH_FROM_REALMのパラメータ

パラメータ 説明

realm_name

レルム名。

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

grantee

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

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

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

DELETE_OBJECT_FROM_REALMプロシージャ

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

構文

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

パラメータ

表13-6 DELETE_OBJECT_FROM_REALMのパラメータ

パラメータ 説明

realm_name

レルム名。

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

object_owner

レルムに追加されたオブジェクトの所有者。

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

object_name

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

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

object_type

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

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

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

DELETE_REALMプロシージャは、レルム(認可されたユーザーと保護対象オブジェクトを指定するレルム関連の構成情報を含む)を削除します。

このプロシージャは、実際のデータベース・オブジェクトやユーザーを削除しません。

レルムに対して認可されているユーザーを確認するには、DBA_DV_REALM_AUTHビューに問い合せます。レルムで保護されるオブジェクトを確認するには、DBA_DV_REALM_OBJECTビューに問い合せます。これらのビューについては、「Oracle Database Vaultのデータ・ディクショナリ・ビュー」で説明します。

構文

DBMS_MACADM.DELETE_REALM(
  realm_name IN VARCHAR2); 

パラメータ

表13-7 DELETE_REALMのパラメータ

パラメータ 説明

realm_name

レルム名。

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

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

DELETE_REALM_CASCADEプロシージャ

DELETE_REALM_CASCADEプロシージャは、レルム(認可されたユーザーと保護対象オブジェクトを指定するレルム関連Database Vault構成情報を含む)を削除します。

DBA_DV_REALM_AUTHビューにはそのレルム内で認可されているユーザーが表示され、DBA_DV_REALM_OBJECTビューには保護されたオブジェクトが表示されます。

このプロシージャは、実際のデータベース・オブジェクトやユーザーを削除しません。これは、DELETE_REALMプロシージャと同様に動作します。(以前のリリースでは同じではありませんでしたが、現在は同じです。どちらも下位互換性のために保持されています。)レルム関連のオブジェクトのリストを確認するには、DBA_DV_REALMビューに問い合せます。その認可を確認するには、DBA_DV_REALM_AUTHに問い合せます。どちらも「Oracle Database Vaultのデータ・ディクショナリ・ビュー」で説明されています。

構文

DBMS_MACADM.DELETE_REALM_CASCADE(
  realm_name IN VARCHAR2); 

パラメータ

表13-8 DELETE_REALM_CASCADEのパラメータ

パラメータ 説明

realm_name

レルム名。

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

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

RENAME_REALMプロシージャ

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

構文

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

パラメータ

表13-9 RENAME_REALMのパラメータ

パラメータ 説明

realm_name

現在のレルム名。

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

new_name

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

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

UPDATE_REALMプロシージャ

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

レルムの現在の設定について情報を確認するには、「DVSYS.DV$REALMビュー」で説明されているDVSYS.DV$REALMビューに問い合せます。

構文

DBMS_MACADM.UPDATE_REALM(
  realm_name    IN VARCHAR2, 
  description   IN VARCHAR2, 
  enabled       IN VARCHAR2, 
  audit_options IN NUMBER DEFAULT NULL,
  realm_type    IN NUMBER DEFAULT NULL); 

パラメータ

表13-10 UPDATE_REALMのパラメータ

パラメータ 説明

realm_name

レルム名。

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

description

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

enabled

DBMS_MACUTL.G_YES(Yes)では、レルム・チェックが有効になり、DBMS_MACUTL.G_NO(No)ではレルム・チェックが無効になります。

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

audit_options

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

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

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

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

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

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

realm_type

realm_typeパラメータを指定しない場合、Oracle Database Vaultは現在のrealm_type設定を更新しません。

次のいずれかのオプションを指定します。

  • 0: 必須レルムのチェックのない通常のレルムになるようにレルムを設定します。

  • 1: レルムのオブジェクトに対する必須レルムのチェックを有効にします。レルム所有者またはレルム参加者のみが、レルム内のオブジェクトにアクセスできます。レルム所有者や参加者ではないオブジェクト所有者およびオブジェクト権限ユーザーはアクセスできません。

必須レルムの詳細は、「必須レルムによるレルム内のオブジェクトへのユーザー・アクセスの制限」も参照してください。

BEGIN
 DBMS_MACADM.UPDATE_REALM(
  realm_name    => 'Sector 2 Performance Statistics Realm', 
  description   => 'Realm to measure performance for Sector 2 applications', 
  enabled       => DBMS_MACUTL.G_YES, 
  audit_options => DBMS_MACUTL.G_REALM_AUDIT_FAIL + G_REALM_AUDIT_SUCCESS); 
END,
  realm_type    => 1);
/

UPDATE_REALM_AUTHプロシージャ

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

構文

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

パラメータ

表13-11 UPDATE_REALM_AUTHのパラメータ

パラメータ 説明

realm_name

レルム名。

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

grantee

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

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

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

権限管理で使用されている既存のセキュア・アプリケーション・ロールを検索するには、「DVSYS.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つを指定します。

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

  • DBMS_MACUTL.G_REALM_AUTH_OWNER: 所有者。このアカウントまたはロールには、レルムの参加者と同じ認可に加えて、レルム保護オブジェクトに対するレルム・セキュア・ロールおよび権限を付与または取り消す認可があります。1つのレルムに複数の所有者を設定できます。

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

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