日本語PDF

14 Oracle Database VaultレルムのAPI

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

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

14.1 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
 auth_scope    IN NUMBER DEFAULT); 

パラメータ

表14-1 ADD_AUTH_TO_REALMのパラメータ

パラメータ 説明

realm_name

レルム名。

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

grantee

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

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

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

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

rule_set_name

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

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

auth_options

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

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

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

audit_optionsパラメータは、従来の監査にのみ適用されます。統合監査を有効にした場合は、audit_optionsを使用するかわりに統合監査ポリシーを作成します。

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

auth_scope

マルチテナント環境の場合は、このプロシージャの実行方法を決定します。デフォルトはローカルです。オプションは次のとおりです。

  • 現在のPDBでローカルでレルムを認可するには、DBMS_MACUTL.G_SCOPE_LOCAL (または1)

  • アプリケーション・ルートでレルムを認可するには、DBMS_MACUTL.G_SCOPE_COMMON (または2)

次の例では、ユーザー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;
/

この例では、共通ユーザーC##HR_ADMINに共通レルムHR Statistics Realmへのアクセス権を共通で付与する方法を示します。このプロシージャを実行するユーザーはCDBルートにいる必要があり、ルール・セットはアプリケーション・ルートに存在する共通ルール・セットである必要があります。

BEGIN
 DBMS_MACADM.ADD_AUTH_TO_REALM(
  realm_name    => 'HR Statistics Realm', 
  grantee       => 'C##HR_ADMIN', 
  rule_set_name => 'Check Access',
  auth_options  => DBMS_MACUTL.G_REALM_AUTH_OWNER,
 auth_scope    => DBMS_MACUTL.G_SCOPE_COMMON);
END;
/

この例では、共通ユーザーC##HR_CLERKに共通レルムHR Statistics Realmへのアクセス権をローカルで付与する方法を示します。このプロシージャを実行するユーザーは、認可を適用するのと同じPDBにいる必要があります。既存のPDBを確認するには、DBA_PDBSデータ・ディクショナリ・ビューを問い合せます。ルール・セットはローカル・ルール・セットである必要があります。

BEGIN
 DBMS_MACADM.ADD_AUTH_TO_REALM(
  realm_name    => 'HR Statistics Realm', 
  grantee       => 'C##HR_CLERK', 
  rule_set_name => 'Check Access',
  auth_options  => DBMS_MACUTL.G_REALM_AUTH_OWNER,
  auth_scope    => DBMS_MACUTL.G_SCOPE_LOCAL);
END;
/

14.2 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); 

パラメータ

表14-2 ADD_OBJECT_TO_REALMのパラメータ

パラメータ 説明

realm_name

レルム名。

現在のデータベース・インスタンスで既存のレルムを検索するには、DBA_DV_REALMビューを問い合せます。

object_owner

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

使用可能なユーザーを検索するには、DBA_USERSビューを問い合せます。

特定のユーザーまたはロールの認可を検索するには、DVA_DV_REALM_AUTHビューを問い合せます。

object_name

オブジェクト名。(ワイルドカード%を使用できます)。DBMS_MACUTL.G_ALL_OBJECT定数も使用できます。

使用可能なオブジェクトを検索するには、ALL_OBJECTSビューを問い合せます。

既存のレルムで保護されるオブジェクトを検索するには、DBA_DV_REALM_OBJECTビューを問い合せます。

object_type

TABLEINDEXROLEなどのオブジェクト・タイプ。(ワイルドカード%を使用できます)。

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

BEGIN
 DBMS_MACADM.ADD_OBJECT_TO_REALM(
  realm_name    => 'HR Apps',
  object_owner  => '%',
  object_name   => 'HR_SELECT_ROLE',
  object_type   => 'ROLE');
END;
/

14.3 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 DEFAULT,
 realm_scope   IN NUMBER DEFAULT
 pl_sql_stack  IN BOOLEAN DEFAULT); 

パラメータ

表14-3 CREATE_REALMのパラメータ

パラメータ 説明

realm_name

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

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

description

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

enabled

次のいずれかのオプションを指定してレルムのステータスを設定します。

  • レルム・チェックを有効にするには(デフォルト)、DBMS_MACUTL.G_YESまたはy

  • シミュレーション・ログでの違反の取得など、すべてのレルム・チェックを無効にするには、DBMS_MACUTL.G_NOまたはn

  • SQL文の実行を可能にするがシミュレーション・ログで違反を捕捉するには、DBMS_MACUTL.G_SIMULATIONまたはs

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パラメータは、従来の監査にのみ適用されます。統合監査を有効にした場合は、audit_optionsを使用するかわりに統合監査ポリシーを作成します。

realm_type

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

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

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

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

realm_scope

マルチテナント環境の場合は、このプロシージャの実行方法を決定します。デフォルトはローカルです。オプションは次のとおりです。

  • レルムが現在のPDBでローカルである必要がある場合は、DBMS_MACUTL.G_SCOPE_LOCAL (または1)。

  • レルムがアプリケーション・ルート内にある必要がある場合は、DBMS_MACUTL.G_SCOPE_COMMON (または2)。この設定では、関連付けられたすべてのPDB内のレルムが複製されます。

アプリケーション・ルートで共通レルムを作成し、関連付けられたPDBにそれを表示できるようにする場合は、アプリケーションを同期させる必要があります。たとえば:

ALTER PLUGGABLE DATABASE APPLICATION saas_sales_app SYNC;

pl_sql_stack

シミュレーション・モードが有効な場合に、失敗した操作のPL/SQLスタックを記録するかどうかを指定します。PL/SQLスタックを記録する場合はTRUEと入力し、記録しない場合はFALSEと入力します。デフォルトはFALSEです。

次の例では、失敗したアクセスと成功したアクセスの両方を追跡するよう監査を設定し、必須レルム・チェックを使用し、PL/SQLスタックを記録する、有効化されたレルムの作成方法を示します。

BEGIN
 DBMS_MACADM.CREATE_REALM(
  realm_name     => 'HR Apps',
  description    => 'Realm to protect the HR schema',
  enabled        => DBMS_MACUTL.G_YES,
  audit_options  => DBMS_MACUTL.G_REALM_AUDIT_OFF,
  realm_type     => 1,
  pl_sql_stack   => TRUE);
END;
/

この例では、前の例を少し変更したものを作成する方法を示しますが、アプリケーション・ルートにある共通レルムとして作成する方法となります。このレルムを作成するユーザーは、共通ユーザーである必要があり、アプリケーション・ルートでプロシージャを実行する必要があります。

BEGIN
 DBMS_MACADM.CREATE_REALM(
  realm_name     => 'HR Apps',
  description    => 'Realm to protect the HR schema',
  enabled        => DBMS_MACUTL.G_YES,
  audit_options  => DBMS_MACUTL.G_REALM_AUDIT_OFF,
  realm_type     => 1,
  realm_scope    => DBMS_MACUTL.G_SCOPE_COMMON);
END;
/

この例では、前の例のローカル・バージョンを作成する方法を示します。このレルムを作成するユーザーは、レルムがあるPDBにいる必要があります。既存のPDBを確認するには、DBA_PDBSデータ・ディクショナリ・ビューを問い合せます。

BEGIN
 DBMS_MACADM.CREATE_REALM(
  realm_name     => 'HR Apps',
  description    => 'Realm to protect the HR schema',
  enabled        => DBMS_MACUTL.G_YES,
  audit_options  => DBMS_MACUTL.G_REALM_AUDIT_OFF,
  realm_type     => 1,
  realm_scope    => DBMS_MACUTL.G_SCOPE_LOCAL);
END;
/

関連項目:

例20-1

14.4 DELETE_AUTH_FROM_REALMプロシージャ

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

構文

DBMS_MACADM.DELETE_AUTH_FROM_REALM(
 realm_name    IN VARCHAR2,
 grantee       IN VARCHAR2,
 auth_scope    IN NUMBER DEFAULT);  

パラメータ

表14-4 DELETE_AUTH_FROM_REALMのパラメータ

パラメータ 説明

realm_name

レルム名。

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

grantee

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

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

auth_scope

マルチテナント環境の場合は、このプロシージャの実行方法を決定します。デフォルトはローカルです。オプションは次のとおりです。

  • レルムが現在のPDBのローカルで認可されている場合は、DBMS_MACUTL.G_SCOPE_LOCAL (または1)

  • レルムがアプリケーション・ルートで認可されている場合は、DBMS_MACUTL.G_SCOPE_COMMON (または2

BEGIN
DBMS_MACADM.DELETE_AUTH_FROM_REALM(
 realm_name     => 'HR Apps',
 grantee        => 'PSMITH',
 auth_scope     => DBMS_MACUTL.G_SCOPE_LOCAL);
END;
/

14.5 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);

パラメータ

表14-5 DELETE_OBJECT_FROM_REALMのパラメータ

パラメータ 説明

realm_name

レルム名。

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

object_owner

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

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

object_name

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

既存のレルムに保護されているオブジェクトを確認するには、「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;
/

14.6 DELETE_REALMプロシージャ

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

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

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

構文

DBMS_MACADM.DELETE_REALM(
  realm_name IN VARCHAR2); 

パラメータ

表14-6 DELETE_REALMのパラメータ

パラメータ 説明

realm_name

レルム名。

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

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

14.7 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); 

パラメータ

表14-7 DELETE_REALM_CASCADEのパラメータ

パラメータ 説明

realm_name

レルム名。

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

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

14.8 RENAME_REALMプロシージャ

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

構文

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

パラメータ

表14-8 RENAME_REALMのパラメータ

パラメータ 説明

realm_name

現在のレルム名。

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

new_name

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

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

14.9 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
 pl_sql_stack  IN BOOLEAN DEFAULT NULL); 

パラメータ

表14-9 UPDATE_REALMのパラメータ

パラメータ 説明

realm_name

レルム名。

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

description

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

enabled

次のいずれかのオプションを指定してレルムのステータスを設定します。
  • レルム・チェックを有効にするには、DBMS_MACUTL.G_YESまたはy

  • シミュレーション・ログでの違反の取得など、すべてのレルム・チェックを無効にするには、DBMS_MACUTL.G_NOまたはn

  • SQL文の実行を可能にするがシミュレーション・ログで違反を捕捉するには、DBMS_MACUTL.G_SIMULATIONまたはs

enabledのデフォルトは設定済の値であり、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のデフォルトは設定済の値であり、DBA_DV_REALMデータ・ディクショナリ・ビューに問い合せることで確認できます。

audit_optionsパラメータは、従来の監査にのみ適用されます。統合監査を有効にした場合は、audit_optionsを使用するかわりに統合監査ポリシーを作成します。

realm_type

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

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

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

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

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

pl_sql_stack

シミュレーション・モードが有効な場合に、失敗した操作のPL/SQLスタックが記録されているかどうかを示します。TRUEはPL/SQLスタックが記録されていることを示し、FALSEはPL/SQLスタックが記録されていないことを示します。

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 + DBMS_MACUTL.G_REALM_AUDIT_SUCCESS), 
  realm_type    => 1);
END;
/

14.10 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,
 auth_scope    IN NUMBER DEFAULT); 

パラメータ

表14-10 UPDATE_REALM_AUTHのパラメータ

パラメータ 説明

realm_name

レルム名。

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

grantee

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

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

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

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

rule_set_name

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

使用可能なルール・セットを確認するには、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値のデフォルトは設定済の値であり、DBA_DV_REALM_AUTHデータ・ディクショナリ・ビューに問い合せることで確認できます。

audit_optionsパラメータは、従来の監査にのみ適用されます。統合監査を有効にした場合は、audit_optionsを使用するかわりに統合監査ポリシーを作成します。

realm_auth

マルチテナント環境の場合は、このプロシージャの実行方法を決定します。デフォルトはローカルです。オプションは次のとおりです。

  • レルムが現在のPDBのローカルで認可されている場合は、DBMS_MACUTL.G_SCOPE_LOCAL (または1)

  • レルムがアプリケーション・ルートで認可されている場合は、DBMS_MACUTL.G_SCOPE_COMMON (または2)

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; 
/