15 Oracle Database VaultレルムのAPI
DBMS_MACADM
PL/SQLパッケージでは、Oracle Database Vaultレルムを構成できます。
DV_OWNER
ロールまたはDV_ADMIN
ロールを付与されているユーザーのみがこれらのプロシージャを使用できます。これらのプロシージャで使用できる定数の詳細は、表21-1を参照してください。
- ADD_AUTH_TO_REALMプロシージャ
ADD_AUTH_TO_REALM
プロシージャは、所有者または参加者としてレルムにアクセスする権限をユーザーまたはロールに付与します。マルチテナント環境では、共通およびローカルの両方のレルムを認証できます。 - ADD_OBJECT_TO_REALMプロシージャ
ADD_OBJECT_TO_REALM
プロシージャは、レルム保護のために一連のオブジェクトを登録します。 - CREATE_REALMプロシージャ
CREATE_REALM
プロシージャはレルムを作成します。マルチテナント環境では、共通およびローカルの両方のレルムを作成できます。 - DELETE_AUTH_FROM_REALMプロシージャ
DELETE_AUTH_FROM_REALM
プロシージャは、レルムにアクセスするためのユーザーまたはロールの認可を削除します。 - DELETE_OBJECT_FROM_REALMプロシージャ
DELETE_OBJECT_FROM_REALM
プロシージャは、レルム保護から一連のオブジェクトを削除します。 - DELETE_REALMプロシージャ
DELETE_REALM
プロシージャは、レルム(認可されるユーザーと保護対象オブジェクトを指定するその関連構成情報を含む)を削除します。 - DELETE_REALM_CASCADEプロシージャ
DELETE_REALM_CASCADE
プロシージャは、レルム(認可されるユーザーと保護対象オブジェクトを指定するレルム関連Database Vault構成情報を含む)を削除します。 - RENAME_REALMプロシージャ
RENAME_REALM
プロシージャは、レルムの名前を変更します。名前の変更は、そのレルムが使用されているすべての箇所に反映されます。 - UPDATE_REALMプロシージャ
UPDATE_REALM
プロシージャはレルムを更新します。 - UPDATE_REALM_AUTHプロシージャ
UPDATE_REALM_AUTH
プロシージャは、レルムにアクセスするためのユーザーまたはロールの認可を更新します。
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のパラメータ
パラメータ | 説明 |
---|---|
|
レルム名。 現行のデータベース・インスタンスで既存のレルムを確認するには、「DBA_DV_REALMビュー」で説明されている |
|
所有者または参加者として認可するユーザーまたはロール名。 現行のデータベース・インスタンスで既存のユーザーおよびロールを確認するには、『Oracle Databaseリファレンス』で説明されている 特定のユーザーまたはロールの認可を検索するには、「DBA_DV_REALM_AUTHビュー」で説明されている 権限管理で使用されている既存のセキュア・アプリケーション・ロールを確認するには、 |
|
オプション。ランタイムでチェックするルール・セット。レルム認可は、ルール・セットの評価が 使用可能なルール・セットを確認するには、 |
|
オプション。レルムを認可する次のオプションのうち、1つを指定します。
参加者および所有者の詳細は、「レルム認可について」を参照してください。 |
|
マルチテナント環境の場合は、このプロシージャの実行方法を決定します。デフォルトはローカルです。オプションは次のとおりです。
|
例
次の例では、ユーザー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; /
親トピック: Oracle Database VaultレルムのAPI
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のパラメータ
パラメータ | 説明 |
---|---|
|
レルム名。 現在のデータベース・インスタンスで既存のレルムを検索するには、 |
|
レルムに追加するオブジェクトの所有者。ロールをレルムに追加する場合、ロールに所有者はいないため、ロールのオブジェクト所有者は 使用可能なユーザーを検索するには、 特定のユーザーまたはロールの認可を検索するには、 |
|
オブジェクト名。(ワイルドカード%を使用できます)。 使用可能なオブジェクトを検索するには、 既存のレルムで保護されるオブジェクトを検索するには、 |
|
|
例
BEGIN DBMS_MACADM.ADD_OBJECT_TO_REALM( realm_name => 'HR Apps', object_owner => '%', object_name => 'HR_SELECT_ROLE', object_type => 'ROLE'); END; /
関連トピック
親トピック: Oracle Database VaultレルムのAPI
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, enabled IN VARCHAR2, audit_options IN NUMBER, realm_type IN NUMBER DEFAULT, realm_scope IN NUMBER DEFAULT pl_sql_stack IN BOOLEAN DEFAULT);
パラメータ
表15-3 CREATE_REALMのパラメータ
パラメータ | 説明 |
---|---|
|
レルム名(大/小文字混在で最大128文字)。 現行のデータベース・インスタンスで既存のレルムを確認するには、「DBA_DV_REALMビュー」で説明されている |
|
レルムの目的の説明(大/小文字混在で最大1024文字)。 |
|
次のいずれかのオプションを指定してレルムのステータスを設定します。
|
|
レルムを監査する次のオプションのうち、1つを指定します。
|
|
次のオプションのいずれかを指定します。
必須レルムの詳細は、「必須レルムによるレルム内のオブジェクトへのユーザー・アクセスの制限」も参照してください。 |
|
マルチテナント環境の場合は、このプロシージャの実行方法を決定します。デフォルトはローカルです。オプションは次のとおりです。
アプリケーション・ルートで共通レルムを作成し、関連付けられたPDBにそれを表示できるようにする場合は、アプリケーションを同期させる必要があります。たとえば: ALTER PLUGGABLE DATABASE APPLICATION saas_sales_app SYNC; |
|
シミュレーション・モードが有効な場合に、失敗した操作のPL/SQLスタックを記録するかどうかを指定します。PL/SQLスタックを記録する場合は |
例
次の例では、失敗したアクセスと成功したアクセスの両方を追跡するよう監査を設定し、必須レルム・チェックを使用し、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; /
関連項目:
親トピック: Oracle Database VaultレルムのAPI
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のパラメータ
パラメータ | 説明 |
---|---|
|
レルム名。 現行のデータベース・インスタンスで既存のレルムを確認するには、「DBA_DV_REALMビュー」で説明されている |
|
ユーザーまたはロール名。 特定のユーザーまたはロールの認可を検索するには、「DBA_DV_REALM_AUTHビュー」で説明されている |
|
マルチテナント環境の場合は、このプロシージャの実行方法を決定します。デフォルトはローカルです。オプションは次のとおりです。
|
例
BEGIN DBMS_MACADM.DELETE_AUTH_FROM_REALM( realm_name => 'HR Apps', grantee => 'PSMITH', auth_scope => DBMS_MACUTL.G_SCOPE_LOCAL); END; /
親トピック: Oracle Database VaultレルムのAPI
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のパラメータ
パラメータ | 説明 |
---|---|
|
レルム名。 現行のデータベース・インスタンスで既存のレルムを確認するには、「DBA_DV_REALMビュー」で説明されている |
|
レルムに追加されたオブジェクトの所有者。 使用可能なユーザーを確認するには、『Oracle Databaseリファレンス』で説明されている |
|
オブジェクト名。(ワイルドカード%を使用できます。ワイルドカード%の例外については、「レルム・セキュア・オブジェクトについて」の「オブジェクト名」を参照)。 既存のレルムに保護されているオブジェクトを確認するには、「DBA_DV_REALM_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; /
親トピック: Oracle Database VaultレルムのAPI
15.6 DELETE_REALMプロシージャ
DELETE_REALM
プロシージャは、レルム(認可されるユーザーと保護対象オブジェクトを指定するその関連構成情報を含む)を削除します。
このプロシージャでは、実際のデータベース・オブジェクトまたはユーザーは削除されません。
レルムに対して認可されているユーザーを確認するには、DBA_DV_REALM_AUTH
ビューに問い合せます。レルムで保護されるオブジェクトを確認するには、DBA_DV_REALM_OBJECT
ビューに問い合せます。これらのビューについては、「Oracle Database Vaultのデータ・ディクショナリ・ビュー」で説明します。
構文
DBMS_MACADM.DELETE_REALM( realm_name IN VARCHAR2);
パラメータ
表15-6 DELETE_REALMのパラメータ
パラメータ | 説明 |
---|---|
|
レルム名。 現行のデータベース・インスタンスで既存のレルムを確認するには、「DBA_DV_REALMビュー」で説明されている |
例
EXEC DBMS_MACADM.DELETE_REALM('Performance Statistics Realm');
親トピック: Oracle Database VaultレルムのAPI
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
に問い合せます。どちらも「Oracle Database Vaultのデータ・ディクショナリ・ビュー」で説明されています。
構文
DBMS_MACADM.DELETE_REALM_CASCADE( realm_name IN VARCHAR2);
パラメータ
表15-7 DELETE_REALM_CASCADEのパラメータ
パラメータ | 説明 |
---|---|
|
レルム名。 現行のデータベース・インスタンスで既存のレルムを確認するには、「DBA_DV_REALMビュー」で説明されている |
例
EXEC DBMS_MACADM.DELETE_REALM_CASCADE('Performance Statistics Realm');
親トピック: Oracle Database VaultレルムのAPI
15.8 RENAME_REALMプロシージャ
RENAME_REALM
プロシージャは、レルムの名前を変更します。名前の変更は、そのレルムが使用されているすべての箇所に反映されます。
構文
DBMS_MACADM.RENAME_REALM( realm_name IN VARCHAR2, new_name IN VARCHAR2);
パラメータ
表15-8 RENAME_REALMのパラメータ
パラメータ | 説明 |
---|---|
|
現在のレルム名。 現行のデータベース・インスタンスで既存のレルムを確認するには、「DBA_DV_REALMビュー」で説明されている |
|
新しいレルム名(大/小文字混在で最大128文字)。 |
例
BEGIN DBMS_MACADM.RENAME_REALM( realm_name => 'Performance Statistics Realm', new_name => 'Sector 2 Performance Statistics Realm'); END; /
親トピック: Oracle Database VaultレルムのAPI
15.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);
パラメータ
表15-9 UPDATE_REALMのパラメータ
パラメータ | 説明 |
---|---|
|
レルム名。 現行のデータベース・インスタンスで既存のレルムを確認するには、「DBA_DV_REALMビュー」で説明されている |
|
レルムの目的の説明(大/小文字混在で最大1024文字)。 |
|
次のいずれかのオプションを指定してレルムのステータスを設定します。
|
|
レルムを監査する次のオプションのうち、1つを指定します。
|
|
次のオプションのいずれかを指定します。
必須レルムの詳細は、「必須レルムによるレルム内のオブジェクトへのユーザー・アクセスの制限」も参照してください。 |
|
シミュレーション・モードが有効な場合に、失敗した操作の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; /
親トピック: Oracle Database VaultレルムのAPI
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のパラメータ
パラメータ | 説明 |
---|---|
|
レルム名。 現行のデータベース・インスタンスで既存のレルムを確認するには、「DBA_DV_REALMビュー」で説明されている |
|
ユーザーまたはロール名。 現行のデータベース・インスタンス内の使用可能なユーザーおよびロールを確認するには、『Oracle Databaseリファレンス』で説明されている 特定のユーザーまたはロールの認可を検索するには、「DBA_DV_REALM_AUTHビュー」で説明されている 権限管理で使用されている既存のセキュア・アプリケーション・ロールを確認するには、「DBA_DV_ROLEビュー」で説明されている |
|
オプション。ランタイムでチェックするルール・セット。レルム認可は、ルール・セットの評価が 使用可能なルール・セットを確認するには、 |
|
オプション。レルムを認可する次のオプションのうち、1つを指定します。
|
|
マルチテナント環境の場合は、このプロシージャの実行方法を決定します。デフォルトはローカルです。オプションは次のとおりです。
|
例
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; /
親トピック: Oracle Database VaultレルムのAPI