15 Oracle Database VaultレルムのAPI

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

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

15.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); 

パラメータ

表15-1 ADD_AUTH_TO_REALMのパラメータ

パラメータ 説明

realm_name

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

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

grantee

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

現在のデータベース・インスタンスで既存のユーザーとロールを検索するには、DBA_USERSおよびDBA_ROLESビューを問い合せます。

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

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

rule_set_name

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

使用可能なルール・セットを確認するには、DBA_DV_RULE_SETビューに問い合せます。

auth_options

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

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

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

1つのレルムには複数の所有者または参加者を設定できます。

参加者と所有者の詳細は、「関連トピック」を参照してください。

auth_scope

このプロシージャの実行方法を決定します。デフォルトはDBMS_MACUTL.G_SCOPE_LOCALです。

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

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

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

BEGIN
 DBMS_MACADM.ADD_AUTH_TO_REALM(
  realm_name  => 'HR Apps', 
  grantee     => 'PSMITH'); 
END;
/

次の例では、ユーザーPSMITHHR Appsレルムの所有者として設定します。

BEGIN
 DBMS_MACADM.ADD_AUTH_TO_REALM(
  realm_name   => 'HR Apps', 
  grantee      => 'PSMITH', 
  auth_options => DBMS_MACUTL.G_REALM_AUTH_OWNER);
END;
/

次の例では、ユーザーPSMITHHR Appsレルムの所有者としての役割を果たす前に、Check Conf Accessルール・セットをトリガーします。

BEGIN
 DBMS_MACADM.ADD_AUTH_TO_REALM(
  realm_name    => 'HR Apps', 
  grantee       => 'PSMITH', 
  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;
/

関連トピック

15.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); 

パラメータ

表15-2 ADD_OBJECT_TO_REALMのパラメータ

パラメータ 説明

realm_name

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

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

object_owner

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

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

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

object_name

オブジェクト名。指定したオブジェクト所有者のすべてのオブジェクト(ロールを除く)を指定するために、ワイルドカード%を使用できます。%を入力する場合、%object_typeパラメータに対しても使用されていると、それにスキーマ内のすべてのオブジェクトを含めることができます。ただし、object_typeTABLEに設定されている場合、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;
/

15.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 DEFAULT, 
 enabled       IN VARCHAR2 DEFAULT, 
 audit_options IN NUMBER DEFAULT,
 realm_type    IN NUMBER DEFAULT,
 realm_scope   IN NUMBER DEFAULT,
 pl_sql_stack  IN BOOLEAN DEFAULT); 

パラメータ

表15-3 CREATE_REALMのパラメータ

パラメータ 説明

realm_name

レルム名(大/小文字混在で最大128文字)。保護されているアプリケーションの名前をレルム名として使用することをお薦めします(人事アプリケーションにはhr_appなど)。このパラメータは必須です。

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

description

レルムの目的の説明(大/小文字混在で最大1024文字)。この設定を省略した場合、空の文字列にデフォルト設定されます。

説明には、指定されたアプリケーション保護のビジネス目標や、レルムによる保護の重要性を示すその他のすべてのセキュリティ・ポリシーを含めることができます。また、レルムに対して認可されているユーザーとその目的、および緊急時の認可についても説明できます。

enabled

レルム・チェックおよびSQL文によるシミュレーション・ログ違反の取得機能を制御します。この設定を省略した場合、DBMS_MACUTL.G_YESにデフォルト設定されます。

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

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

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

audit_options

DBMS_MACUTL.G_REALM_AUDIT_OFF (またはNULL)を指定します。(デフォルト)

Oracle Databaseリリース23ai以降、従来の監査はサポートされなくなりました。DBMS_MACUTL.G_REALM_AUDIT_OFF設定のみがaudit_optionsパラメータに使用できます。レルムを監査するには、統合監査を使用する必要があります。レルムの統合監査ポリシーを作成する方法の例は、『Oracle Databaseセキュリティ・ガイド』を参照してください。

realm_type

レルムが通常と必須のどちらであるかを制御します。この設定を省略した場合、DBMS_MACADM.REGULAR_REALMにデフォルト設定されます。

  • DBMS_MACADM.REGULAR_REALM (または0)は、必須レルム・チェックを無効にします。(デフォルト)

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

realm_scope

このプロシージャの実行方法を決定します。デフォルトはDBMS_MACUTL.G_SCOPE_LOCALです。

  • DBMS_MACUTL.G_SCOPE_LOCAL (または1)は、レルムが現在のPDBのローカルであることを意味します。(デフォルト)

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

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

ALTER PLUGGABLE DATABASE APPLICATION saas_sales_app SYNC;

pl_sql_stack

シミュレーション・モードが有効な場合に、失敗した操作のPL/SQLスタックを記録するかどうかを指定します。この設定を省略した場合、FALSEにデフォルト設定されます。

  • TRUEの場合、PL/SQLスタックを記録します。
  • FALSEの場合、PL/SQLスタックを記録しません。(デフォルト)

次の例では、必須レルム・チェックを有効にして使用するレルムを作成し、PL/SQLスタックを記録する方法を示します。NULLDBMS_MACUTL.G_REALM_AUDIT_OFFにデフォルト設定されるため、監査は無効です。

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

この例では、前の例を少し変更したものを作成する方法を示しますが、アプリケーション・ルートにある共通レルムとして作成する方法となります。このレルムを作成するユーザーは、共通ユーザーである必要があり、アプリケーション・ルートでプロシージャを実行する必要があります。enabled設定は省略されるため、DBMS_MACUTL.G_YESにデフォルト設定されます。

BEGIN
 DBMS_MACADM.CREATE_REALM(
  realm_name     => 'HR Apps',
  description    => 'Realm to protect the HR schema',
  audit_options  => NULL,
  realm_type     => DBMS_MACADM.MANDATORY_REALM,
  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',
  audit_options  => DBMS_MACUTL.G_REALM_AUDIT_OFF,
  realm_type     => DBMS_MACADM.MANDATORY_REALM,
  realm_scope    => DBMS_MACUTL.G_SCOPE_LOCAL);
END;
/

15.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);  

パラメータ

表15-4 DELETE_AUTH_FROM_REALMのパラメータ

パラメータ 説明

realm_name

レルム名。

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

grantee

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

特定のユーザーまたはロールの認可を検索するには、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;
/

15.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);

パラメータ

表15-5 DELETE_OBJECT_FROM_REALMのパラメータ

パラメータ 説明

realm_name

レルム名。

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

object_owner

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

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

object_name

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

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

関連トピックも参照してください。

object_type

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

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

関連トピックも参照してください。

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

15.6 DELETE_REALMプロシージャ

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

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

レルムに対して認可されているユーザーを確認するには、DBA_DV_REALM_AUTHビューに問い合せます。レルムで保護されるオブジェクトを確認するには、DBA_DV_REALM_OBJECTビューに問い合せます。

構文

DBMS_MACADM.DELETE_REALM(
  realm_name IN VARCHAR2); 

パラメータ

表15-6 DELETE_REALMのパラメータ

パラメータ 説明

realm_name

レルム名。

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

EXEC DBMS_MACADM.DELETE_REALM ('HR Apps');

15.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に問い合せます。

構文

DBMS_MACADM.DELETE_REALM_CASCADE(
  realm_name IN VARCHAR2); 

パラメータ

表15-7 DELETE_REALM_CASCADEのパラメータ

パラメータ 説明

realm_name

レルム名。

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

BEGIN
 DBMS_MACADM.RENAME_REALM(
  realm_name  => 'HR Apps',
  new_name    => 'HR and HCM Apps');
END;
/

15.8 RENAME_REALMプロシージャ

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

構文

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

パラメータ

表15-8 RENAME_REALMのパラメータ

パラメータ 説明

realm_name

現在のレルム名。

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

new_name

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

BEGIN
 DBMS_MACADM.RENAME_REALM(
  realm_name => 'HR Apps', 
  new_name   => 'HR and FIN Apps');
END; 
/

15.9 UPDATE_REALMプロシージャ

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

レルムの現在の設定に関する情報を確認するには、DVSYS.DV$REALMまたはDBA_DV_REALMビューに問い合せます。

レルムの監査オプションを更新すると、既存の従来の監査レコードは無効になります。新しい監査レコードを取得するには、統合監査ポリシーを作成する必要があります。

構文

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

パラメータ

表15-9 UPDATE_REALMのパラメータ

パラメータ 説明

realm_name

レルム名。

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

description

レルムの目的の説明(大/小文字混在で最大1024文字)。この設定を変更しない場合は、省略するか、NULLに設定します。

enabled

レルムの有効化を制御します。この設定を変更しない場合は、省略するか、NULLに設定します。
  • DBMS_MACUTL.G_YES(またはy)の場合、レルム・チェックを有効にします。

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

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

  • NULLの場合、現在の設定を変更しません。(デフォルト)

audit_options

次のアクションのいずれかを実行します。

  • このレルム・ポリシーに対して従来の監査を無効にするには、DBMS_MACUTL.G_REALM_AUDIT_OFFを設定します。(デフォルト)
  • この従来の監査設定を引き続き使用する場合は、現在のaudit_options設定をそのままにします。これを行うには、このレルムに対して現在の既存のaudit_optionsと同じ設定を指定するか、audit_optionsを指定しません(NULL)。

Oracle Database 23ai以降、従来の監査はサポートされなくなりました。レルムを監査するには、統合監査を使用する必要があります。レルムの統合監査ポリシーを作成する方法の例は、『Oracle Databaseセキュリティ・ガイド』を参照してください。

realm_type

レルムが通常であるか必須であるかを決定します。この設定を変更しない場合は、省略するか、NULLに設定します。

  • DBMS_MACADM.REGULAR_REALM (または0): 必須レルム・チェックを無効にします。

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

  • NULLの場合、現在の設定を変更しません。(デフォルト)

pl_sql_stack

シミュレーション・モードが有効な場合に、失敗した操作のPL/SQLスタックを記録するかどうかを指定します。この設定を変更しない場合は、省略するか、NULLに設定します。

  • TRUEの場合、PL/SQLスタックを記録します。
  • FALSEの場合、PL/SQLスタックを記録しません。
  • NULLの場合、現在の設定を変更しません。(デフォルト)

次の例では、descriptionenabledおよびaudit_optionsの設定は、値を変更する必要がないため、省略されています。
BEGIN
 DBMS_MACADM.UPDATE_REALM(
  realm_name      => 'HR Apps',
  realm_type      => DBMS_MACADM.MANDATORY_REALM);
END;
/

レルムのaudit_optionsパラメータを変更しなかった場合は、既存の従来の監査ポリシーが引き続き有効になります。レルムのaudit_optionsパラメータを更新した場合は、リリース23ai以降で従来の監査がサポートされなくなるため、この監査が無効になります。新しい統合監査ポリシーを作成して有効にするには、ユーザーにAUDIT_ADMIN Oracle DatabaseロールおよびAUDIT_ADMIN Oracle Database Vault認可が付与されている必要があります。新しい統合監査ポリシーの作成については、次の例を参照してください:

CREATE AUDIT POLICY hr_app_aud_pol
 ACTIONS COMPONENT=DV Realm Violation ON "HR Apps";

AUDIT POLICY hr_app_aud_pol;

UNIFIED_AUDIT_TRAILデータ・ディクショナリ・ビューを問い合せることで、監査レコードを確認できます。これがどのように機能するかについては、Oracle Oracle Databaseセキュリティ・ガイドを参照してください。

15.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); 

パラメータ

表15-10 UPDATE_REALM_AUTHのパラメータ

パラメータ 説明

realm_name

レルム名。

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

grantee

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

現在のデータベース・インスタンスで使用可能なユーザーとロールを検索するには、DBA_USERSおよびDBA_ROLESデータ・ディクショナリ・ビューを問い合せます。

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

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

rule_set_name

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

使用可能なルール・セットを確認するには、DBA_DV_RULE_SETビューに問い合せます。ルール・セットに関連付けられているルールを検索するには、DBA_DB_RULE_SET_RULEビューに問い合せます。

auth_options

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

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

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

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

realm_auth

このプロシージャの実行方法を決定します。デフォルトはローカルです。オプションは次のとおりです。

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

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

BEGIN
 DBMS_MACADM.UPDATE_REALM_AUTH(
  realm_name    => 'HR Apps',
  grantee       => 'HR_SELECT_ROLE',
  rule_set_name => 'Check Conf Access',
  auth_options  => DBMS_MACUTL.G_REALM_AUTH_OWNER);
END;
/