収集プラグインをパッケージ化するために必要なステップについて学習します。
前の章では、収集プラグインをパッケージ化できる点まで説明しました。
「開発環境の設定」では、ステージング領域のディレクトリ構造、JDBCドライバ(必要な場合)、マッパー・ファイル、実行可能ファイル、Oracle提供パッチなどのすべてのOracle提供オブジェクトについて説明しました。
Javaコレクタについては、コンパイル済コードおよびJava JARファイル用の適切な場所も含まれます。
「監査収集プラグイン」ではマッパー・ファイルについて説明しています。
「Javaベースの監査証跡収集プラグイン」では、Javaベースの収集プラグインの作成方法を説明しています。
Javaコレクタについては、Javaコードも含まれます
これで、すべてが格納される場所とAudit Vault and Database Firewallによるその処理内容を指定するplugin-manifest.xmlファイルを作成して、後ですべてを.zipファイルにパッケージ化してAudit Vault and Database Firewall管理者に送信できます。
収集プラグイン・プログラムのパッケージ化の準備が整ったら、ディレクトリ構造を作成します。
Javaベースのプラグインは、他の収集プラグインとはディレクトリ構造が若干異なることに注意してください。
plugin-manifest.xmlファイルを作成します。このファイルでは、収集プラグインおよびAudit Vault収集フレームワークの必要な情報を指定して収集プラグインをインスタンス化および実行する関連パラメータを説明します。
収集プラグイン・ファイル、plugin-manifest.xmlファイルおよび収集プラグインが実行時に依存する追加のjarをパッケージ化します。
avpackツールを実行します。avpackツールは、収集プラグイン・パッケージを表す.zipパッケージを検証および生成します。
avpackツールは、多数の妥当性チェック(ディレクトリ構造が正しく移入されているか、マニフェスト・ファイルが正しい形式か、エラーがないかなど)を実行し、デプロイ用にzipファイルの形式で収集プラグイン・パッケージを生成します。
関連項目:
収集プラグインのタイプに固有のplugin-manifest.xmlファイルの例は、「サンプル・コード」を参照してください。
親トピック: 監査収集プラグインのパッケージ化
このパッケージ化プロセスで外部依存とは、実行時に必要ですが、収集プラグインをパッケージ化する際に使用できない可能性があるファイルのことです。たとえば、収集プラグインが、エンドユーザーがライセンスを付与するサード・パーティ・コンポーネント、またはライセンスまたは著作権に関連する問題を持つコンポーネントに依存する場合、そのコンポーネントをパッケージ化できない可能性があり、エンドユーザーは収集プラグインのデプロイ中に提供する必要があります。
これらのシナリオでは、plugin-manifest.xmlにunresolved-external要素を公開します。avpackはこの要素下のファイルをチェックしませんが、デプロイ時に$OH/av/dropinsフォルダにこれらのファイルが含まれない場合、avpackが収集プラグインのデプロイに失敗します。
次の例では、foo.jarは外部依存です。
<unresolved-external> <file>foo.jar</file> </unresolved-external>
デプロイ中に、avpackは、ファイルfoo.jarがAudit Vault Serverの$OH/av/dropinsフォルダに存在するかどうかを確認します。ファイルがない場合、avpackは収集プラグインのデプロイに失敗し、外部依存が満たされていないことを示します。
この問題を解決するには、ユーザーはファイルを取得して、$OH/av/dropinsフォルダで使用可能にする必要があります。これで、avpackは、収集プラグインを正常にデプロイできます。
親トピック: 監査収集プラグインのパッケージ化
収集プラグインの新しいバージョンを作成する場合、簡単にプラグインして、既存のバージョンを容易に置き換えることができます。
avcliコマンドライン・ツールを使用して、既存の収集プラグインを新しいバージョンに更新するためのDEPLOY PLUGINコマンドを使用できます。
収集プラグインは、累積する性質を持ちます。すべての必要なファイルが作成および更新されます。
収集プラグインは、avcliツールおよびUNDEPLOY PLUGINコマンドを使用して、削除またはアンデプロイできます。これらのコマンドはアトミック、つまりすべてまたはゼロのトランザクションであるため、高度なシステムの安定性を維持できます。
関連項目:
『Oracle Audit Vault and Database Firewall管理者ガイド』
『Oracle Audit Vault and Database Firewall管理者ガイド』
親トピック: 監査収集プラグインのパッケージ化
plugin-manifest.xmlファイルは、収集プラグインを説明して次の要素および属性を定義するコアXMLファイルです。
plugin要素は、次の属性を持つプラグイン・オブジェクトを表します。
Name: 収集プラグインの記述名。
version: 収集プラグインの更新ごとにバージョンを更新し、順序付けスキームに基づいて単調に増加します。たとえば、AVDFは、ピリオドで区切られた5つの数値で構成されるバージョニング・スキームを使用します: majr.minr.minr.patch.hotfix。
provider: 通常企業または組織のプロバイダの名前。
copyright: 収集プラグインの著作権表示。
TargetVersion: 収集プラグインと互換性があるOracle Audit Vault and Database Firewallバージョン。min属性は、ターゲットの最低バージョンを表します。
extensionSet: 一連のextensionPoint。
ExtensionPoint: 各extensionPointは、収集プラグインによって拡張されるAVDFの領域を一意に識別します。現在、AVDFは、type属性で指定されている1つの拡張ポイントsecuredTargetTypeをサポートします。
fileList: 収集プラグインとともに提供されるすべてのファイルのリスト。
jars: 要素fileで拡張子.jarを持つJavaファイルを含むディレクトリ。
templates: 要素fileで収集プラグインのマッパー・ファイルを含むディレクトリ。
bin: 要素fileで通常.exeが末尾に付く実行可能ファイルを含むディレクトリ。
config: 要素fileでプラグイン固有の構成ファイルを含むディレクトリ。
shell: 要素fileでシェルまたはバッチ・コマンド・ファイルを含むディレクトリ。
patch: 要素fileで収集プラグインのイベント・パッチを含むディレクトリ。
unresolved-external: なんらかの理由で収集プラグインとともにパッケージ化できないが実行時に必要なファイルを含むディレクトリ。パッケージ化には成功しますが、これらのファイルがOracle Audit Vault Serverの$OH/av/dropinsフォルダで使用可能になるまでプラグインのデプロイに失敗します。これらのファイルは要素fileにあります。
securedTargetTypeInfo: これは、この収集プラグインがサポートするソース・タイプを示す必須フィールドです。この要素の名前属性を入力して、ソース・タイプを指定します。
trailInfo: 収集プラグインがサポートするこのソース・タイプの監査証跡のタイプを示す必須フィールド。
trailType: このエントリで記述される証跡のタイプを示す必須フィールド。Oracle Audit Vault and Database Firewall 12.1.1は、TABLE、DIRECTORY、TRANSACTIONLOG、SYSLOGおよびEVENTLOGの証跡のタイプをサポートします。
trailTypeは任意の文字列も指定でき、その場合はカスタム証跡タイプとして処理されます。
trailLocation: 証跡の場所を指定します。TABLEおよびCUSTOMタイプの証跡にのみ適用可能です。このフィールドは他の証跡タイプに対して設定を禁止され、設定すると無視されます。
className: この証跡から監査データを取得するタスクを処理するJavaクラスを指定します。次の要素を使用します。
- データベース表の収集プラグインのoracle.av.platform.agent.collfwk.ezcollector.table.DatabaseTableCollector。
- XMLファイルの収集プラグインのoracle.av.platform.agent.collfwk.ezcollector.xml.XMLFileCollector。
同じソース・タイプの異なるソース・バージョンの監査証跡を処理するには、srcVersion属性をオプションで設定できます。
eventPatch: これは、収集プラグインのデプロイの一部として適用する必要があるイベント・パッチを含むオプション・フィールドです。これらのパッチは、eventPatch要素内で、ファイル名としてname属性と、パッチを適用する順序を示すorder属性を指定しています。
追加するイベント属性は、Oracle Audit Vault and Database Firewallの開発で生成されるパッチを通じて拡張されます。パートナ開発者は、Oracle Audit Vaultイベント・ディクショナリに追加する特定のイベントおよび属性または両方をリクエストできます。リクエストは正当であるとコア開発チームが判断した場合、パッチを発行する可能性があります。プラグインのデプロイ中にアプリケーションの収集プラグインを使用して、これらのパッチをバンドルできます。
avpackツールは、コード・ファイル、構成ファイルなどの様々な収集プラグイン・オブジェクトをパッケージ化するJavaで記述されたコマンドライン・ベース・ツールです。
使用しているプラットフォームによっては、エージェントを実行するプラットフォーム上にavpackプラグイン・ツールをインストールしてパッケージ化(実行)する必要があります。パッケージ化されたLinux用avpackプラグインはすべてのプラットフォームに使用できますが、パッケージ化されたWindows用avpackプラグインはWindowsプラットフォームにのみ使用できます。
推奨されているディレクトリ構造に従って、収集プラグイン・アーティファクトを配置する必要があります。次に、avpackを使用して、収集プラグイン・パッケージを生成できます。
avpackツールがアクセスできるディレクトリに収集プラグイン・ファイルをステージングできます。avpackツールはディレクトリ構造を検証し、plugin-manifest.xmlファイルを解析および検証します。plugin-manifest.xmlで指定されたすべてのファイルが対応するディレクトリにステージングされることの検証など、基本的な健全性チェックも実行できます。
plugin-manifest.xmlファイルを使用して、収集プラグインが実行する必要があるキー・ファイルを指定します。avpackユーティリティはこれらのファイルの存在をチェックしますが、stagedirに含まれるすべてを圧縮するため、avpackで検証する必要がないかぎり、各ファイルをリストする必要はありません。
検証が完了すると、ツールは、ファイルをOracle Audit Vault and Database Firewallのデプロイに適した.zipプラグイン・パッケージにパッケージ化します。
使用方法
avpack -stagedir <directory name> -o <archive filename> [-l <loglevel> ]
説明:
directory: 収集プラグイン・アーティファクトがステージングされるディレクトリ。このディレクトリのコンテンツは、生成されたプラグイン・アーカイブにアーカイブされます。
archive filename: 生成されたプラグイン・アーカイブ・ファイルの名前。.zip拡張子を持つ必要があります(たとえば、myplugin.zipなど)。
log level: オプション: ログ・レベルを指定されたレベルに設定します。サポートされているログ・レベルは、INFO、WARNING、ERRORおよびDEBUGです。デフォルトのログ・レベルはINFOです。
詳細なヘルプは、avpack -hを入力して、出力を確認してください。
関連項目:
親トピック: 監査収集プラグインのパッケージ化