23 Oracle Database VaultのAPIリファレンス
Oracle Database Vaultには、PL/SQLパッケージとスタンドアロン・プロシージャの両方に豊富なAPIセットが用意されています。
- DBMS_MACADM PL/SQLパッケージの内容
 DBMS_MACADMパッケージを使用すると、レルム、ファクタ、ルール・セット、コマンド・ルール、セキュア・アプリケーション・ロールおよびOracle Label Securityポリシーを構成できます。
- DBMS_MACSEC_ROLES PL/SQLパッケージの内容
 DBMS_MACSEC_ROLESパッケージを使用すると、Oracle Database Vaultセキュア・アプリケーション・ロールを確認し設定できます。
- DBMS_MACUTL PL/SQLパッケージの内容
 DBMS_MACUTLPL/SQLパッケージは、エラー処理など、他のOracle Database Vaultのパッケージで共通に使用される定数およびユーティリティ・メソッドを定義します。
- CONFIGURE_DV PL/SQLプロシージャCONFIGURE_DVは、最初の2つのOracle Databaseユーザー・アカウントを構成します。このアカウントには、DV_OWNERロールとDV_ACCTMGRロールがそれぞれ付与されます。
- DVF PL/SQLインタフェースの内容
 DVFスキーマにより、一連のファクタ関連PL/SQLファンクションが提供されます。
23.1 DBMS_MACADM PL/SQLパッケージの内容
DBMS_MACADMパッケージを使用すると、レルム、ファクタ、ルール・セット、コマンド・ルール、セキュア・アプリケーション・ロールおよびOracle Label Securityポリシーを構成できます。 
                  
DBMS_MACADMパッケージは、DV_ADMINロールまたはDV_OWNERロールを付与されているユーザーのみが使用できます。 
                     
DBMS_MACADMのレルム・プロシージャ
表23-1に、DBMS_MACADMパッケージ内のレルム・プロシージャを示します。
                     
表23-1 DBMS_MACADMのレルム・プロシージャ
| プロシージャ | 説明 | 
|---|---|
| 
 | 所有者または参加者としてレルムにアクセスする権限をユーザーまたはロールに付与します。 | 
| 
 | レルム保護に一連のオブジェクトを登録します。 | 
| 
 | レルムを作成します。 | 
| 
 | レルムにアクセスするためのユーザーまたはロールの認可を削除します。 | 
| 
 | レルム保護から一連のオブジェクトを削除します。 | 
| 
 | レルム(認可されるユーザーと保護対象オブジェクトを指定するレルム関連Database Vault構成情報を含む)を削除します。 | 
| 
 | レルム(認可されるユーザーと保護対象オブジェクトを指定するレルム関連Database Vault構成情報を含む)を削除します。 | 
| 
 | レルムの名前を変更します。名前の変更は、そのレルムが使用されているすべての箇所に反映されます。 | 
| 
 | レルムを更新します。 | 
| 
 | レルムにアクセスするためのユーザーまたはロールの認可を更新します。 | 
DBMS_MACADMのルール・セット・プロシージャとルール・プロシージャ
表23-2に、DBMS_MACADMパッケージ内のルール・セット・プロシージャおよびルール・プロシージャを示します。
                     
表23-2 DBMS_MACADMのルール・セット・プロシージャとルール・プロシージャ
| プロシージャ | 説明 | 
|---|---|
| 
 | ルール・セットを作成します。 | 
| 
 | ルール・セットの名前を変更します。名前の変更は、そのルール・セットが使用されているすべての箇所に反映されます。 | 
| 
 | ルールをルール・セットから削除します。 | 
| 
 | ルール・セットを削除します。 | 
| 
 | ルール・セットを更新します。 | 
| 
 | ルールを作成します。 | 
| 
 | ルールをルール・セットに追加します。 | 
| 
 | ルールを削除します。 | 
| 
 | ルールの名前を変更します。名前の変更は、そのルールが使用されているすべての箇所に反映されます。 | 
| 
 | ルールを更新します。 | 
DBMS_MACADMのコマンド・ルール・プロシージャ
表23-3に、DBMS_MACADMパッケージ内のコマンド・ルール・プロシージャを示します。
                     
表23-3 DBMS_MACADMのコマンド・ルール・プロシージャ
| プロシージャ | 説明 | 
|---|---|
| 
 | コマンド・ルールを作成し、ルール・セットに関連付けて、ルール・セットによるコマンド・ルールのルール・チェックが有効化されるようにします。 | 
| 
 | CONNECTコマンド・ルールを作成します。 | 
| 
 | ALTER SESSION SQL文を使用して、セッション・イベント・コマンド・ルールを作成します。 | 
| 
 | ALTER SYSTEM SQL文を使用して、システム・イベント・コマンド・ルールを作成します。 | 
| 
 | コマンド・ルールの宣言を削除します。 | 
| 
 | CONNECTコマンド・ルールの宣言を削除します。 | 
| 
 | SESSION_EVENT_CMDコマンド・ルールの宣言を削除します。 | 
| 
 | SYSTEM_EVENT_CMDコマンド・ルールの宣言を削除します。 | 
| 
 | コマンド・ルールの宣言を更新します。 | 
| 
 | CONNECTコマンド・ルールの宣言を更新します。 | 
| 
 | SESSION_EVENT_CMDコマンド・ルールの宣言を更新します。 | 
| 
 | SYSTEM_EVENT_CMDコマンド・ルールの宣言を更新します。 | 
DBMS_MACADMファクタのプロシージャおよびファンクション
 DBMS_MACADMパッケージ内のファクタ・プロシージャおよびファンクションを示します。
                     
表23-4 DBMS_MACADMファクタのプロシージャおよびファンクション
| プロシージャまたはファンクション | 説明 | 
|---|---|
| 
 | 2つのファクタの親子関係を指定します。 | 
| 
 | ファクタのラベルをポリシーのOracle Label Securityラベルに含めることを指定します。 | 
| 
 | アイデンティティを別ファクタと関連付けます。 | 
| 
 | アイデンティティの値を更新します。 | 
| 
 | Oracle Real Application Clusters(Oracle RAC)データベース・ノードをドメイン・ファクタ・アイデンティティに追加し、Oracle Label Securityポリシーに従ってラベルを付けます。 | 
| 
 | ファクタを作成します。 | 
| 
 | ファクタ・タイプを作成します。 | 
| 
 | アイデンティティを作成します。 | 
| 
 | リンクされた子ファクタ(サブファクタ)の値からファクタのアイデンティティを導出するために使用される一連のテストを定義します。 | 
| 
 | ファクタを削除します。 | 
| 
 | 2つのファクタの親子関係を削除します。 | 
| 
 | ファクタ・タイプを削除します。 | 
| 
 | アイデンティティを削除します。 | 
| 
 | ファクタからアイデンティティ・マップを削除します。 | 
| 
 | Oracle RACデータベース・ノードをドメインから削除します。 | 
| 
 | 現行データベース・インスタンスについて | 
| 
 | 現行セッションについて | 
| 
 | ファクタの名前を変更します。名前の変更は、そのファクタが使用されているすべての箇所に反映されます。 | 
| 
 | ファクタ・タイプの名前を変更します。名前の変更は、そのファクタ・タイプが使用されているすべての箇所に反映されます。 | 
| 
 | ファクタを更新します。 | 
| 
 | ファクタ・タイプの説明を更新します。 | 
| 
 | ファクタ・アイデンティティの信頼レベルを更新します。 | 
DBMS_MACADMセキュア・アプリケーション・ロールのプロシージャ
表23-5に、DBMS_MACADMパッケージ内のセキュア・アプリケーション・ロール・プロシージャを示します。
                     
表23-5 DBMS_MACADMセキュア・アプリケーション・ロールのプロシージャ
| プロシージャ | 説明 | 
|---|---|
| 
 | Oracle Database Vaultセキュア・アプリケーション・ロールを作成します。 | 
| 
 | Oracle Database Vaultセキュア・アプリケーション・ロールを削除します。 | 
| 
 | Oracle Database Vaultセキュア・アプリケーション・ロールの名前を変更します。名前の変更は、そのロールが使用されているすべての箇所に反映されます。 | 
| 
 | ユーザーからOracle Database Vaultセキュア・アプリケーション・ロールを割当て解除します。 | 
| 
 | Oracle Database Vaultセキュア・アプリケーション・ロールを更新します。 | 
DBMS_MACADMのOracle Label Securityプロシージャ
表23-6に、DBMS_MACADMパッケージ内のOracle Label Securityプロシージャを示します。
                     
表23-6 DBMS_MACADMのOracle Label Securityプロシージャ
| プロシージャ | 説明 | 
|---|---|
| 
 | ファクタのラベルまたはOracle Label Securityセッション・ラベルを算出する際にラベルのマージに使用されるアルゴリズムを指定します。 | 
| 
 | Oracle Label Securityポリシー内のアイデンティティにラベルを付けます。 | 
| 
 | Oracle Label Securityポリシーに関連するすべてのOracle Database Vaultオブジェクトを削除します。 | 
| 
 | Oracle Label Securityラベルの構成からファクタを削除します。 | 
| 
 | Oracle Label Securityポリシーのアイデンティティからラベルを削除します。 | 
| 
 | ファクタのラベルまたはOracle Label Securityセッション・ラベルを算出する際にラベルのマージに使用されるアルゴリズムを指定します。 | 
DBMS_MACADMのDatabase Vaultポリシー・プロシージャ
表23-7に、DBMS_MACADMパッケージ内のDatabase Vaultポリシー・プロシージャを示します。
                     
表23-7 DBMS_MACADMのDatabase Vaultポリシー・プロシージャ
| プロシージャ | 説明 | 
|---|---|
| 
 | Database Vaultポリシーにコマンド・ルールを追加します。 | 
| 
 | Database Vaultポリシーに所有者を追加します。 | 
| 
 | Database Vaultポリシーにレルムを追加します。 | 
| 
 | Creates a Database Vaultポリシーを作成します。 | 
| 
 | Database Vaultポリシーからコマンド・ルールを削除します。 | 
| 
 | Database Vaultポリシーから所有者を削除します。 | 
| 
 | Database Vaultポリシーからレルムを削除します。 | 
| 
 | Database Vaultポリシーを削除します。 | 
| 
 | Database Vaultポリシーの名前を変更します。 | 
| 
 | Database Vaultポリシーの説明を更新します。 | 
| 
 | Database Vaultポリシーの有効化ステータスを更新します。 | 
DBMS_MACADMの一般管理プロシージャ
表23-8に、DBMS_MACADMパッケージ内の一般管理プロシージャを示します。
                     
表23-8 DBMS_MACADMの一般管理プロシージャ
| プロシージャ | 説明 | 
|---|---|
| 
 | Oracle Database Vaultに新しい言語を追加します。 | 
| 
 | 共通スキーマまたはパッケージがローカル・スキーマにアクセスできるようにします | 
| 
 | Oracle Database Vaultが有効な場合に、Oracle Data Pump操作を実行する権限をユーザーに付与します。 | 
| 
 | データ定義言語(DDL)文を実行する認可をユーザーに付与します。 | 
| 
 | 情報ライフサイクル管理(ILM)操作を実行するためのユーザー認可を付与します。 | 
| 
 | 他のユーザー・アカウントをプロキシする認可をプロキシ・ユーザーに付与します。 | 
| 
 | Oracle Database Vaultが有効な場合に、データベース・ジョブをスケジュールする権限をユーザーに付与します。 | 
| 
 | Oracle Database Vaultが有効な場合に、表領域に対してOracle Data Pumpトランスポータブル表領域操作を実行するようにユーザーを認可します。 | 
| 
 | ローカル・スキーマにアクセスするための共通ユーザーまたはパッケージの例外を削除します | 
| 
 | ユーザーが | 
| 
 | 
 | 
| 
 | Oracle Database Vaultを無効にします。 | 
| 
 | Database Vault操作の制御を無効にします | 
| 
 | Oracle Database Vault環境で | 
| 
 | ユーザーが | 
| 
 | 
 | 
| 
 | Oracle Database Vaultを有効にします。 | 
| 
 | Database Vault操作の制御を有効にします | 
| 
 | Oracle Database Vault環境で | 
| 
 | 
 | 
| 
 | 
 | 
| 
 | ILM操作を実行するための認可を取り消します。 | 
| 
 | 
 | 
| 
 | 
 | 
| 
 | Oracle Database Vaultが有効な場合に、表領域に対してOracle Data Pumpトランスポータブル表領域操作を実行する認可を付与されたユーザーから認可を取り消します。 | 
23.2 DBMS_MACSEC_ROLES PL/SQLパッケージの内容
DBMS_MACSEC_ROLESパッケージでは、Oracle Database Vaultセキュア・アプリケーション・ロールを確認および設定できます。 
                  
このパッケージは、一般のデータベース・アカウント群で使用できます。
表23-9に、DBMS_MACSEC_ROLESパッケージの内容を示します。
                     
表23-9 DBMS_MACSEC_ROLES PL/SQLパッケージの内容
| プロシージャまたはファンクション | 説明 | 
|---|---|
| 
 | メソッドを起動するユーザーに、指定されたOracle Database Vaultセキュア・アプリケーション・ロールを使用する権限が付与されているかどうかをチェックします。 | 
| 
 | Oracle Database Vaultセキュア・アプリケーション・ロールに対して | 
23.3 DBMS_MACUTL PL/SQLパッケージの内容
DBMS_MACUTL PL/SQLパッケージは、エラー処理など、他のOracle Database Vaultのパッケージで共通に使用される定数およびユーティリティ・メソッドを定義します。 
                  
このパッケージは、一般のデータベース・アカウント群で実行できます。このパッケージを使用すると、セキュリティ開発者は、スクリプト化された構成ファイルで定数を利用できます。また、USER_HAS_ROLEなどのユーティリティ・メソッドは、Oracle Database Vaultルールで使用することも可能です。 
                     
表23-10に、DBMS_MACUTLパッケージの内容を示します。
                     
表23-10 DBMS_MACUTL PL/SQLパッケージの内容
| プロシージャまたはファンクション | 説明 | 
|---|---|
| 
 | Oracle Database Vault構成を更新するユーザーによってパブリック・パッケージが無視されていないことを検証します。 | 
| 
 | コード・グループ内でコードの値を検索します。 | 
| 
 | Oracle SS形式(00から59)で秒を返します。時間データに基づいたルール式に有用です。 | 
| 
 | Oracle MI形式(00から59)で分を返します。時間データに基づいたルール式に有用です。 | 
| 
 | Oracle HH24形式(00から23)で月を返します。時間データに基づいたルール式に有用です。 | 
| 
 | Oracle DD形式(01から31)で日を返します。時間データに基づいたルール式に有用です。 | 
| 
 | Oracle MM形式(01から12)で月を返します。時間データに基づいたルール式に有用です。 | 
| 
 | Oracle YYYY形式(0001から9999)で年を返します。時間データに基づいたルール式に有用です。 | 
| 
 | 文字がアルファベットかどうかをチェックします。 | 
| 
 | 文字が数値かどうかをチェックします。 | 
| 
 | Oracle Database Vault構成を管理する権限がユーザーに付与されているかどうかを判断します。 | 
| 
 | Oracle Label Securityがインストールされているかどうかについてインジケータを返します。 | 
| 
 | Oracle Label Securityがインストールされているかどうかについてインジケータを返します。 | 
| 
 | ユーザーがロール権限を直接保持するのか間接的に(他のロールを介して)保持するのかをチェックします。 | 
| 
 | ユーザーがロール権限を直接保持するのか間接的に(他のロールを介して)保持するのかをチェックします。 | 
| 
 | ユーザーがシステム権限を直接保持するのか間接的に(ロールを介して)保持するのかをチェックします。 | 
23.4 CONFIGURE_DV PL/SQLプロシージャ
CONFIGURE_DVは、最初の2つのOracle Databaseユーザー・アカウントを構成します。このアカウントには、DV_OWNERロールとDV_ACCTMGRロールがそれぞれ付与されます。 
                  
このプロシージャは、Oracle Database VaultのOracle Databaseへの登録プロセスの一部として使用されます。これはデータベース・インスタンスに対して1回のみ実行する必要があります。
23.5 DVF PL/SQLインタフェースの内容
DVFスキーマにより、一連のファクタ関連PL/SQLファンクションが提供されます。 
                  
その後、ファンクションは一般のデータベース・アカウント群でPL/SQLファンクションおよび標準SQLを介して使用できます。
表23-11に、DVFファクタのファンクションを示します。
                  
表23-11 DVF PL/SQLインタフェースの内容
| ファンクション | 説明 | 
|---|---|
| 
 | クライアントが接続されているコンピュータのIPアドレスを返します。 | 
| 
 | 
 | 
| 
 | データベース・インスタンスが実行されているコンピュータのホスト名を返します。 | 
| 
 | 現在のデータベース・インスタンスのデータベース・インスタンス識別番号を返します。 | 
| 
 | データベース・インスタンスが実行されているコンピュータのIPアドレスを返します。 | 
| 
 | 
 | 
| 
 | ランタイム環境(ネットワークIT環境やそのサブセットなど)内の、特定の機密レベルで動作する物理的な構成または実装固有のファクタの名前付きコレクションを返します。 | 
| 
 | ユーザーのエンタープライズ全体のアイデンティティを返します。 | 
| 
 | データベースでのユーザーのスキーマの作成方法を返します。具体的には、 | 
| 
 | 既存の | 
| 
 | セッションで現在使用中の言語と地域、およびデータベース文字セットを | 
| 
 | データベース・セッションを確立したデータベース・クライアントのコンピュータ(ホスト)名を返します。 | 
| 
 | 接続文字列の | 
| 
 | プロキシ・ユーザーがエンタープライズ・ユーザーである場合、Oracle Internet Directoryの識別名(DN)を返します。 | 
| 
 | 現行ユーザーが認証されたデータベース・ユーザー名を返します。 |