日本語PDF

23 Oracle Database VaultのAPIリファレンス

Oracle Database Vaultには、PL/SQLパッケージとスタンドアロン・プロシージャの両方に豊富なAPIセットが用意されています。

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のレルム・プロシージャ

プロシージャ 説明

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

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

DBMS_MACADMのルール・セット・プロシージャとルール・プロシージャ

表23-2に、DBMS_MACADMパッケージ内のルール・セット・プロシージャおよびルール・プロシージャを示します。

表23-2 DBMS_MACADMのルール・セット・プロシージャとルール・プロシージャ

プロシージャ 説明

CREATE_RULE_SETプロシージャ

ルール・セットを作成します。

RENAME_RULE_SETプロシージャ

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

DELETE_RULE_FROM_RULE_SETプロシージャ

ルールをルール・セットから削除します。

DELETE_RULE_SETプロシージャ

ルール・セットを削除します。

UPDATE_RULE_SETプロシージャ

ルール・セットを更新します。

CREATE_RULEプロシージャ

ルールを作成します。

ADD_RULE_TO_RULE_SETプロシージャ

ルールをルール・セットに追加します。

DELETE_RULEプロシージャ

ルールを削除します。

RENAME_RULEプロシージャ

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

UPDATE_RULEプロシージャ

ルールを更新します。

DBMS_MACADMのコマンド・ルール・プロシージャ

表23-3に、DBMS_MACADMパッケージ内のコマンド・ルール・プロシージャを示します。

表23-3 DBMS_MACADMのコマンド・ルール・プロシージャ

プロシージャ 説明

CREATE_COMMAND_RULEプロシージャ

コマンド・ルールを作成し、ルール・セットに関連付けて、ルール・セットによるコマンド・ルールのルール・チェックが有効化されるようにします。

CREATE_CONNECT_COMMAND_RULEプロシージャ

CONNECTコマンド・ルールを作成します。

CREATE_SESSION_EVENT_CMD_RULEプロシージャ

ALTER SESSION SQL文を使用して、セッション・イベント・コマンド・ルールを作成します。

CREATE_SYSTEM_EVENT_CMD_RULEプロシージャ

ALTER SYSTEM SQL文を使用して、システム・イベント・コマンド・ルールを作成します。

DELETE_COMMAND_RULEプロシージャ

コマンド・ルールの宣言を削除します。

DELETE_CONNECT_COMMAND_RULEプロシージャ

CONNECTコマンド・ルールの宣言を削除します。

DELETE_SESSION_EVENT_CMD_RULEプロシージャ

SESSION_EVENT_CMDコマンド・ルールの宣言を削除します。

DELETE_SYSTEM_EVENT_CMD_RULEプロシージャ

SYSTEM_EVENT_CMDコマンド・ルールの宣言を削除します。

UPDATE_COMMAND_RULEプロシージャ

コマンド・ルールの宣言を更新します。

UPDATE_CONNECT_COMMAND_RULEプロシージャ

CONNECTコマンド・ルールの宣言を更新します。

UPDATE_SESSION_EVENT_CMD_RULEプロシージャ

SESSION_EVENT_CMDコマンド・ルールの宣言を更新します。

UPDATE_SYSTEM_EVENT_CMD_RULEプロシージャ

SYSTEM_EVENT_CMDコマンド・ルールの宣言を更新します。

DBMS_MACADMファクタのプロシージャおよびファンクション

DBMS_MACADMパッケージ内のファクタ・プロシージャおよびファンクションを示します。

表23-4 DBMS_MACADMファクタのプロシージャおよびファンクション

プロシージャまたはファンクション 説明

ADD_FACTOR_LINKプロシージャ

2つのファクタの親子関係を指定します。

ADD_POLICY_FACTORプロシージャ

ファクタのラベルをポリシーのOracle Label Securityラベルに含めることを指定します。

CHANGE_IDENTITY_FACTORプロシージャ

アイデンティティを別ファクタと関連付けます。

CHANGE_IDENTITY_VALUEプロシージャ

アイデンティティの値を更新します。

CREATE_DOMAIN_IDENTITYプロシージャ

Oracle Real Application Clusters(Oracle RAC)データベース・ノードをドメイン・ファクタ・アイデンティティに追加し、Oracle Label Securityポリシーに従ってラベルを付けます。

CREATE_FACTORプロシージャ

ファクタを作成します。

CREATE_FACTOR_TYPEプロシージャ

ファクタ・タイプを作成します。

CREATE_IDENTITYプロシージャ

アイデンティティを作成します。

CREATE_IDENTITY_MAPプロシージャ

リンクされた子ファクタ(サブファクタ)の値からファクタのアイデンティティを導出するために使用される一連のテストを定義します。

DELETE_FACTORプロシージャ

ファクタを削除します。

DELETE_FACTOR_LINKプロシージャ

2つのファクタの親子関係を削除します。

DELETE_FACTOR_TYPEプロシージャ

ファクタ・タイプを削除します。

DELETE_IDENTITYプロシージャ

アイデンティティを削除します。

DELETE_IDENTITY_MAPプロシージャ

ファクタからアイデンティティ・マップを削除します。

DROP_DOMAIN_IDENTITYプロシージャ

Oracle RACデータベース・ノードをドメインから削除します。

GET_INSTANCE_INFOファンクション

現行データベース・インスタンスについてSYS.V_$INSTANCEシステム表の情報を返します。VARCHAR2値を返します。

GET_SESSION_INFOファンクション

現行セッションについてSYS.V_$SESSIONシステム表の情報を返します。VARCHAR2値を返します。

RENAME_FACTORプロシージャ

ファクタの名前を変更します。名前の変更は、そのファクタが使用されているすべての箇所に反映されます。

RENAME_FACTOR_TYPEプロシージャ

ファクタ・タイプの名前を変更します。名前の変更は、そのファクタ・タイプが使用されているすべての箇所に反映されます。

UPDATE_FACTORプロシージャ

ファクタを更新します。

UPDATE_FACTOR_TYPEプロシージャ

ファクタ・タイプの説明を更新します。

UPDATE_IDENTITYプロシージャ

ファクタ・アイデンティティの信頼レベルを更新します。

DBMS_MACADMセキュア・アプリケーション・ロールのプロシージャ

表23-5に、DBMS_MACADMパッケージ内のセキュア・アプリケーション・ロール・プロシージャを示します。

表23-5 DBMS_MACADMセキュア・アプリケーション・ロールのプロシージャ

プロシージャ 説明

CREATE_ROLEプロシージャ

Oracle Database Vaultセキュア・アプリケーション・ロールを作成します。

DELETE_ROLEプロシージャ

Oracle Database Vaultセキュア・アプリケーション・ロールを削除します。

RENAME_ROLEプロシージャ

Oracle Database Vaultセキュア・アプリケーション・ロールの名前を変更します。名前の変更は、そのロールが使用されているすべての箇所に反映されます。

UNASSIGN_ROLEプロシージャ

ユーザーからOracle Database Vaultセキュア・アプリケーション・ロールを割当て解除します。

UPDATE_ROLEプロシージャ

Oracle Database Vaultセキュア・アプリケーション・ロールを更新します。

DBMS_MACADMのOracle Label Securityプロシージャ

表23-6に、DBMS_MACADMパッケージ内のOracle Label Securityプロシージャを示します。

表23-6 DBMS_MACADMのOracle Label Securityプロシージャ

プロシージャ 説明

CREATE_MAC_POLICYプロシージャ

ファクタのラベルまたはOracle Label Securityセッション・ラベルを算出する際にラベルのマージに使用されるアルゴリズムを指定します。

CREATE_POLICY_LABELプロシージャ

Oracle Label Securityポリシー内のアイデンティティにラベルを付けます。

DELETE_MAC_POLICY_CASCADEプロシージャ

Oracle Label Securityポリシーに関連するすべてのOracle Database Vaultオブジェクトを削除します。

DELETE_POLICY_FACTORプロシージャ

Oracle Label Securityラベルの構成からファクタを削除します。

DELETE_POLICY_LABELプロシージャ

Oracle Label Securityポリシーのアイデンティティからラベルを削除します。

UPDATE_MAC_POLICYプロシージャ

ファクタのラベルまたはOracle Label Securityセッション・ラベルを算出する際にラベルのマージに使用されるアルゴリズムを指定します。

DBMS_MACADMのDatabase Vaultポリシー・プロシージャ

表23-7に、DBMS_MACADMパッケージ内のDatabase Vaultポリシー・プロシージャを示します。

表23-7 DBMS_MACADMのDatabase Vaultポリシー・プロシージャ

プロシージャ 説明

ADD_CMD_RULE_TO_POLICYプロシージャ

Database Vaultポリシーにコマンド・ルールを追加します。

ADD_OWNER_TO_POLICYプロシージャ

Database Vaultポリシーに所有者を追加します。

ADD_REALM_TO_POLICYプロシージャ

Database Vaultポリシーにレルムを追加します。

CREATE_POLICYプロシージャ

Creates a Database Vaultポリシーを作成します。

DELETE_CMD_RULE_FROM_POLICYプロシージャ

Database Vaultポリシーからコマンド・ルールを削除します。

DELETE_OWNER_FROM_POLICYプロシージャ

Database Vaultポリシーから所有者を削除します。

DELETE_REALM_FROM_POLICYプロシージャ

Database Vaultポリシーからレルムを削除します。

DROP_POLICYプロシージャ

Database Vaultポリシーを削除します。

RENAME_POLICYプロシージャ

Database Vaultポリシーの名前を変更します。

UPDATE_POLICY_DESCRIPTIONプロシージャ

Database Vaultポリシーの説明を更新します。

UPDATE_POLICY_STATEプロシージャ

Database Vaultポリシーの有効化ステータスを更新します。

DBMS_MACADMの一般管理プロシージャ

表23-8に、DBMS_MACADMパッケージ内の一般管理プロシージャを示します。

表23-8 DBMS_MACADMの一般管理プロシージャ

プロシージャ 説明

ADD_NLS_DATAプロシージャ

Oracle Database Vaultに新しい言語を追加します。

ADD_APP_EXCEPTIONプロシージャ

共通スキーマまたはパッケージがローカル・スキーマにアクセスできるようにします

AUTHORIZE_DATAPUMP_USERプロシージャ

Oracle Database Vaultが有効な場合に、Oracle Data Pump操作を実行する権限をユーザーに付与します。

AUTHORIZE_DDLプロシージャ

データ定義言語(DDL)文を実行する認可をユーザーに付与します。

AUTHORIZE_MAINTENANCE_USERプロシージャ

情報ライフサイクル管理(ILM)操作を実行するためのユーザー認可を付与します。

AUTHORIZE_PROXY_USERプロシージャ

他のユーザー・アカウントをプロキシする認可をプロキシ・ユーザーに付与します。

AUTHORIZE_SCHEDULER_USERプロシージャ

Oracle Database Vaultが有効な場合に、データベース・ジョブをスケジュールする権限をユーザーに付与します。

AUTHORIZE_TTS_USERプロシージャ

Oracle Database Vaultが有効な場合に、表領域に対してOracle Data Pumpトランスポータブル表領域操作を実行するようにユーザーを認可します。

DELETE_APP_EXCEPTIONプロシージャ

ローカル・スキーマにアクセスするための共通ユーザーまたはパッケージの例外を削除します

DISABLE_DV_DICTIONARY_ACCTSプロシージャ

ユーザーがDVSYSDFVスキーマ・アカウントにログインできないようにします。

DISABLE_DV_PATCH_ADMIN

DV_PATCH_ADMINユーザーの監査を無効にします。

DISABLE_DVプロシージャ

Oracle Database Vaultを無効にします。

DISABLE_APP_PROTECTIONプロシージャ

Database Vault操作の制御を無効にします

DISABLE_ORADEBUGプロシージャ

Oracle Database Vault環境でORADEBUGユーティリティの使用を無効にします。

ENABLE_DV_DICTIONARY_ACCTSプロシージャ

ユーザーがDVSYSDFVスキーマ・アカウントにログインできるようにします。

ENABLE_DV_PATCH_ADMIN

DV_PATCH_ADMINユーザーの監査を有効にします。

ENABLE_DVプロシージャ

Oracle Database Vaultを有効にします。

ENABLE_APP_PROTECTIONプロシージャ

Database Vault操作の制御を有効にします

ENABLE_ORADEBUGプロシージャ

Oracle Database Vault環境でORADEBUGユーティリティの使用を有効にします。

UNAUTHORIZE_DATAPUMP_USERプロシージャ

DBMS_MACADM.AUTHORIZE_DATAPUMP_USERプロシージャによって付与された権限を取り消します。

UNAUTHORIZE_DDLプロシージャ

DBMS_MACDM.AUTHORIZE_DDLプロシージャを使用してDDL文を実行する認可を付与されたユーザーから認可を取り消します。

UNAUTHORIZE_MAINTENANCE_USERプロシージャ

ILM操作を実行するための認可を取り消します。

UNAUTHORIZE_PROXY_USERプロシージャ

DBMS_MACADM.AUTHORIZE_PROXY_USERプロシージャによってプロキシの認可を付与されたユーザーから認可を取り消します。

UNAUTHORIZE_SCHEDULER_USERプロシージャ

DBMS_MACADM.AUTHORIZE_SCHEDULER_USERプロシージャによって付与された権限を取り消します。

UNAUTHORIZE_TTS_USERプロシージャ

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パッケージの内容

プロシージャまたはファンクション 説明

CAN_SET_ROLEファンクション

メソッドを起動するユーザーに、指定されたOracle Database Vaultセキュア・アプリケーション・ロールを使用する権限が付与されているかどうかをチェックします。BOOLEAN値を返します。

SET_ROLEプロシージャ

Oracle Database Vaultセキュア・アプリケーション・ロールに対してSET ROLE文を発行します。

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パッケージの内容

プロシージャまたはファンクション 説明

CHECK_DVSYS_DML_ALLOWEDプロシージャ

Oracle Database Vault構成を更新するユーザーによってパブリック・パッケージが無視されていないことを検証します。

GET_CODE_VALUEファンクション

コード・グループ内でコードの値を検索します。

GET_SECONDファンクション

Oracle SS形式(00から59)で秒を返します。時間データに基づいたルール式に有用です。

GET_MINUTEファンクション

Oracle MI形式(00から59)で分を返します。時間データに基づいたルール式に有用です。

GET_HOURファンクション

Oracle HH24形式(00から23)で月を返します。時間データに基づいたルール式に有用です。

GET_DAYファンクション

Oracle DD形式(01から31)で日を返します。時間データに基づいたルール式に有用です。

GET_MONTHファンクション

Oracle MM形式(01から12)で月を返します。時間データに基づいたルール式に有用です。

GET_YEARファンクション

Oracle YYYY形式(0001から9999)で年を返します。時間データに基づいたルール式に有用です。

IS_ALPHAファンクション

文字がアルファベットかどうかをチェックします。

IS_DIGITファンクション

文字が数値かどうかをチェックします。

IS_DVSYS_OWNERファンクション

Oracle Database Vault構成を管理する権限がユーザーに付与されているかどうかを判断します。

IS_OLS_INSTALLEDファンクション

Oracle Label Securityがインストールされているかどうかについてインジケータを返します。

IS_OLS_INSTALLED_VARCHARファンクション

Oracle Label Securityがインストールされているかどうかについてインジケータを返します。

USER_HAS_ROLEファンクション

ユーザーがロール権限を直接保持するのか間接的に(他のロールを介して)保持するのかをチェックします。

USER_HAS_ROLE_VARCHARファンクション

ユーザーがロール権限を直接保持するのか間接的に(他のロールを介して)保持するのかをチェックします。

USER_HAS_SYSTEM_PRIVILEGEファンクション

ユーザーがシステム権限を直接保持するのか間接的に(ロールを介して)保持するのかをチェックします。

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インタフェースの内容

ファンクション 説明

F$CLIENT_IP

クライアントが接続されているコンピュータのIPアドレスを返します。

F$DATABASE_DOMAIN

DB_DOMAIN初期化パラメータに指定されているようにデータベースのドメインを返します。

F$DATABASE_HOSTNAME

データベース・インスタンスが実行されているコンピュータのホスト名を返します。

F$DATABASE_INSTANCE

現在のデータベース・インスタンスのデータベース・インスタンス識別番号を返します。

F$DATABASE_IP

データベース・インスタンスが実行されているコンピュータのIPアドレスを返します。

F$DATABASE_NAME

DB_NAME初期化パラメータに指定されているようにデータベースの名前を返します。

F$DOMAIN

ランタイム環境(ネットワークIT環境やそのサブセットなど)内の、特定の機密レベルで動作する物理的な構成または実装固有のファクタの名前付きコレクションを返します。

F$ENTERPRISE_IDENTITY

ユーザーのエンタープライズ全体のアイデンティティを返します。

F$IDENTIFICATION_TYPE

データベースでのユーザーのスキーマの作成方法を返します。具体的には、CREATE USERまたはALTER USER構文のIDENTIFIED句が反映されます。

F$LANG

既存のLANGUAGEパラメータより短い形式の、言語名のISO略称を返します。

F$LANGUAGE

セッションで現在使用中の言語と地域、およびデータベース文字セットをVARCHAR2データ型で返します。

F$MACHINE

データベース・セッションを確立したデータベース・クライアントのコンピュータ(ホスト)名を返します。

F$NETWORK_PROTOCOL

接続文字列のPROTOCOL=protocol部分に指定されている、通信に使用されるネットワーク・プロトコルを返します。

F$PROXY_ENTERPRISE_IDENTITY

プロキシ・ユーザーがエンタープライズ・ユーザーである場合、Oracle Internet Directoryの識別名(DN)を返します。

F$SESSION_USER

現行ユーザーが認証されたデータベース・ユーザー名を返します。