監査レコードの照会
監査レコードの作業方法
以下のトピックでは、監査レコードに対するクエリの実行に関連するタスクについて説明します。これらのタスクに着手する前に、
Audit for Zen Control Center の使用に記述されている、Audit for Zen インターフェイスについて理解しておいてください。
監査レコードの表示
Audit for Zen は、Btrieve ファイルへの操作がないかどうか Zen データベース エンジンを監視し、それらの操作イベントをログに記録して、関連するレコードからデータをキャプチャします。Audit for Zen は、大量の情報を格納できるように設計されたログ ファイルに、それらの操作やデータをすべて格納します。ログ ファイルの内容にアクセスできるように、ログ ファイルのデータがビュー ファイルにコピーされることでクエリの実行対象として準備されます。ビュー ファイルが大きくなると、それに対するクエリのパフォーマンスが低下する可能性があります。パフォーマンス低下を改善するには、ビュー ファイルのコンテンツをアーカイブに移動します。
監査データを表示するには、クエリを実行します。AZCC には、一般的なクエリと詳細なクエリの 2 種類のクエリが用意されています。一般的なクエリは、監査レコードの属性を使用して、結果から成るテーブルを返します。詳細なクエリは、監査レコードからだけでなく、キャプチャされたデータベース レコードからも、値を照会することができます。
以下のトピックは、監査レコードの操作方法のクイック ガイドです。
ビュー ファイルへのクエリの実行
これは、監査レコードの簡単な表示方法を示した基本的な例です。
►現在のビュー ファイルを更新するには
ビュー ファイルを照会する前に、まず、ログ ファイルから新しい監査レコードを取得するためにビュー ファイルを更新します。
1 データ ツリーで現在のビュー ファイルを右クリックして[
現在のビュー ファイルの更新]を選択するか、またはツール バーの
アイコンをクリックします。
これで、ビュー ファイルで監査レコードを照会できるようになりました。
2 ビュー ファイル内の監査レコード数と、監査レコードの最初のキャプチャ日と最後のキャプチャ日を確認したい場合は、現在のビュー ファイルを右クリックし、[プロパティ]を選択します。
►デフォルトである一般的なクエリを実行するには
1 データ ツリーで現在のビュー ファイルをクリックします。
2 以下のいずれかを実行して[Query Builder]ウィンドウを開きます。
•ビュー ファイルをダブルクリックします。
•ファイルを右クリックし、[クエリ]を選択します。
•ファイルを選択して、[ファイル]>[クエリ]コマンドを選択します。
•ファイルを選択し、ツールバーで新しいクエリ(Query Builder)アイコン
をクリックします。
•Alt+Q キーを押します。
[Query Builder]ウィンドウが開き、クエリを絞り込むのに使用できる 6 つの検索条件グループのうち、最初のグループが表示されます。表示されるオプションは、照会対象である現在のビュー ファイルまたはアーカイブ ファイルで検出された値によって異なります。
検索条件グループごとに、デフォルトではすべてのオプションが選択されますが、次のような例外があります。
•[対象]:Zen データベース操作と選択した Zen ステータス コードのメッセージのみが、クエリ対象として選択されます。Audit for Zen の内部メッセージとデバッグ メッセージは選択されません。
•[ファイル]:選択されるファイルは、[Query Builder]ウィンドウが開く前に選択されていたファイルです。クエリに必要なファイルが他にもある場合は、手動で追加する必要があります。
すべてのオプションを選択した場合は、クエリにより、ビュー ファイル内のすべてのレコードが[監査レコード]タブに表示されます。検索条件を使用したクエリ対象の絞り込みの詳細については、
クエリの実行を参照してください。
3 [実行]ボタンをクリックします。
クエリ結果が[監査レコード]タブに表示されます。[Query Builder]ウィンドウは開いたままになるので、結果が表示されるように移動させることもできます。
4 ここで、以下を行うことができます。
•クエリを修正して再度実行する。
クエリの実行を参照してください。
•照会が終了したら、[Query Builder]ウィンドウの[閉じる]ボタンを押す。
[監査レコード]タブでの作業
[監査レコード]タブにはクエリの結果が表示されます。このタブの列には、キャプチャした日付と時刻、テーブル名、操作、ユーザー名などの監査情報が示されます。表示をカスタマイズしたり、操作したりするためのオプションを次の表に示します。
オプション | 手順 |
---|
表示する列の設定 | 監査データ列の確認を参照してください。列の内容についても記載されています。 |
列幅の調整 | 列の端をクリックして、希望の幅までドラッグします。 |
列の順序の変更 | 各列を希望の位置までドラッグします。 |
レコードの並べ替え | 列の見出しをクリックして、列の値の昇順または降順に行を並べ替えます。元の並べ替え順に戻すには、このタブを閉じてクエリを再実行します。 |
これらの列設定の保存 | [表示]>[環境設定]>[テーブル レイアウト]を選択し、各設定のチェック ボックスをオンにします。 |
監査レコードの検索 | |
監査レコードのエクスポート | |
監査データ列の確認
選択可能なすべての監査データ列を次の表に示します。表示する監査データ列を選択するには、タブの上にある[表示する列の選択]アイコン
をクリックします。列の順序を変更するには、マウスで列をドラッグします。この設定を保存して再利用したい場合は、[
表示]>[
環境設定]>[
テーブル レイアウト]を選択します。
列名 | 内容 |
---|
レコード番号 | 1 ずつ増える一意の監査レコード番号 |
依存するレコード | 以前の関連レコードのレコード番号: •変更後のレコードに対する変更前のレコード •トランザクションを終了/中止したレコードに対する、トランザクションを開始したレコード |
日付 | 監査レコードのキャプチャ日付 |
時刻 | 監査レコードのキャプチャ時刻 |
マシン名 | イベントが発生したマシン名または IP アドレス |
ユーザー名 | イベントが発生したログイン ID。 Zen セキュリティの下での監査レコードの表示を参照してください。 |
データベース名 | イベントが発生したデータベース。 Zen セキュリティの下での監査レコードの表示を参照してください。 |
テーブル名 | イベントが発生したテーブルまたはデータ ファイル。このテーブルまたはファイルは、監査の設定で監視対象としてリストされている必要があります。監視対象ファイルの一覧は、Query Builder の[対象]タブの[テーブル]リストに表示されます。 |
操作 | データベース イベント。イベントには、Query Builder の[対象]タブの[操作]リストにある任意の項目が含まれます。SQL ログインは、この列に表示されます。また、[サーバーの設定]ウィンドウの[監査するエラー]セクションで Zen ステータス コードを最初に選択した場合は、その選択したステータス コードもここに表示されます。詳細については、 サーバー設定の管理を参照してください。 |
操作コンテキスト | BTRIEVE は、あらゆるデータ ファイル操作のコンテキストです。 |
データベース エンジン | AM Message API(Audit for Zen 内部で使用)または Zen |
データベース バージョン | サーバー上で実行されている Zen のバージョン |
製品 | 監視対象ファイルの監査の設定に記載されている値 |
製品バージョン | 監視対象ファイルの監査の設定に記載されている値 |
グループ名 | 監査の設定における監視対象ファイルのグループ |
コンポーネント | 監視対象ファイルの監査の設定に記載されている値 |
コンポーネント バージョン | 監視対象ファイルの監査の設定に記載されている値 |
プロセス名 | 操作の実行元となったプロセス。通常、実行元プロセスのほとんどは Zen Engine です。Audit for Zen によって行われるアクションは少数であり、Zen Monitor としてリストされます。 |
OS バージョン | Audit for Zen サーバーが実行されているシステムのオペレーティング システムの名前とバージョン |
ビュー ファイル | 監査レコードの場所。amview(現在のビュー ファイル)またはアーカイブ ファイル名のいずれか |
監査レコードの詳細の表示
個々の監査レコードの詳細を見るには、[監査レコード]タブ内の当該レコードをクリックします。詳細が、[AZCC]ウィンドウの下方部分に表示されます。監査レコードにアプリケーション データ レコードの変更がキャプチャされている場合、変更前の値と変更後の値が赤色で強調した状態で表示されます。
データベース スキーマをインポート済みの場合には、次の Demodata の例のように変更がわかりやすくなります。データベース スキーマを使用していない場合には、変更は 16 進数で表示されます。
クエリの実行
現在のビュー ファイルまたはアーカイブ ファイルに含まれている監査レコードを表示するには、クエリを実行する必要があります。デフォルトでは、クエリは、監査の設定で監視対象としたテーブルまたはデータ ファイルに関連する利用可能なすべての監査レコードを返します。クエリを絞り込むには、[
ユーザー]、[
対象]、[
場所]、[
日時]、[
方法]、[
ファイル]に検索条件を指定します。たとえば、特定の日付の監査イベント、選択したテーブルのイベント、または 1 人のユーザーが行った変更を検索することができます。
このトピックでは、以下のタスクについて説明します。
すべての監査レコードを表示する
[Query Builder]ウィンドウで最も簡単なクエリはデフォルトのクエリであり、これは現在のビュー ファイルにあるすべての監査レコードを表示します。
►利用可能なすべての監査レコードを表示するには
1 ビュー ファイルを右クリックし、[現在のビュー ファイルの更新]を選択します。
2 ビュー ファイルを選択し、[ファイル]>[クエリ]を選択するか、または右クリックして[クエリ]を選択します。
3 [Query Builder]ウィンドウでは、各検索条件のすべてのオプションがデフォルトで選択されています。このファイルのすべての Audit for Zen データを表示するには、単に[実行]をクリックします。
監査レコードが、AZCC の右上ペインのグリッドに表示されます。
ビュー ファイルを選択する代わりに、アーカイブ ファイルを選択または右クリックすることもできます。複数のアーカイブ ファイルを選択したい場合、またはビュー ファイルと複数のアーカイブ ファイルを選択したい場合は、
ファイルを参照してください。
クエリを制限する
Query Builder にはクエリを制限するための一連の検索条件が用意されており、検索するユーザー、対象(操作など)、場所、日時、方法、および監査レコード ファイルを指定することができます。
►クエリを制限するには
1 Query Builder では、クエリ結果をさらに絞り込めるオプションを選択できます。これらの検索条件を次の表で左側に示すと共に、その説明も示します。
探す情報 | 使用するオプション | 実行する手順 |
---|
ユーザー [ユーザー名]列に示される特定の Zen ユーザー、Windows ユーザー、または Audit for Zen ユーザーが関与するイベント用 | ユーザー | 1. 特定のユーザーが関与する監査レコードを検索するには、[すべてのユーザー]チェック ボックスをオフにします。 2. ユーザーの一覧で、名前の横にあるボックスをオンにすることにより、ユーザーを選択します。表示されているユーザーは、照会対象であるビュー ファイルまたはアーカイブ ファイルから見つかったユーザーです。 ユーザーを追加するには、ログイン名を入力して[追加]をクリックします。 |
操作、グループ、およびテーブル [操作]、[グループ名]、[テーブル名]の各列に示される選択した操作、グループ、テーブルに関する監査レコード | 対象 | 1. 挿入や削除など特定の種類の操作を見つけるには、[すべての操作]チェック ボックスをオフにします。また、[すべてのグループ]や[すべてのテーブル]をオフにすると、それぞれのリストが利用可能になります。 2. 操作と、それによって影響を受けた項目を選択します。必要に応じてリストを展開し、適切なオプションを選択します。Shift キーまたは Ctrl キーを使用して選択範囲を拡張します。テーブルやファイルは、監査の設定やグループを問わず、選択できます。また、スキーマのあるファイルとスキーマのないファイルを同じクエリ内に指定することもできます。 メモ:[すべて]チェック ボックスをオフにした後でノードを展開しても、すべての項目が引き続き選択された状態で表示される場合があります。選択を解除するには、リストで 1 つ 1 つの項目をクリックします。 |
マシン [マシン名]列に示される選択したマシンでキャプチャされた監査レコード | 場所 | 1. マシンを検索するには、[すべてのマシン]チェック ボックスをオフにします。これにより、マシン名とネットワーク アドレスのリストが利用可能になります。 2. チェック ボックスをクリックすることにより、1 つまたは複数のマシンを選択します。名前またはネットワーク アドレスを追加する必要がある場合は、それを入力して[追加]をクリックします。 |
特定の日付 日付範囲および時刻範囲に示される特定の日付や、選択した各日の時刻範囲内にキャプチャされた監査レコード | 日時 | 1. 特定の開始日付と終了日付の範囲で検索を行う場合は、[すべての日付範囲]チェック ボックスをオフにします。開始日付と終了日付のカレンダーが利用可能になります。 2. カレンダーから年月日を選択するか、または日付を入力して[設定]をクリックします。 3. 日付範囲における各日の特定の時刻範囲内で検索を行う場合は、[すべての時間範囲]オプションをオフにします。[開始時間]および[終了時間]フィールドから時刻を選択します。時刻は直接入力することもできます。 メモ:時刻範囲は、日付範囲内の個々の日に適用されます。たとえば、各日の午前 8 時から午後 5 時までとなります。[すべての時間範囲]を再度オンにすると、デフォルトの 24 時間に戻りますが、手動で入力した時刻はそのまま残ります。そのため、[すべての時間範囲]を再度オフにすれば入力した時刻を復活させることができます。これは、日付範囲を設定した後で[すべての日付範囲]を再度オンにした場合でも同じです。 |
プロセスまたはプログラム [プロセス名]列の特定のプロセスまたはプログラムについてログに記録された監査レコード | 方法 | 1. 特定のプロセスまたはプログラムを検索する場合は、[すべてのプロセス]オプションをオフにします。プロセスのリストが利用可能になります。 2. オプションの横にあるボックスをオンにすることにより、プログラムまたはプロセスを選択します。プロセス名が表示されない場合は、ペインの下部にある[追加]フィールドを使用して、プロセス名をリストに含めます。 |
監査レコードのファイル [ビュー ファイル]列に示される、選択したビュー ファイルまたはアーカイブ ファイルから返された監査レコード | ファイル | 1. デフォルトでは現在のビュー ファイルが選択されます。現在のビュー ファイルを選択されたままにすることも、選択解除してクエリ対象から除外することもできます。 2. アーカイブ ファイルを選択するには、アーカイブ ファイルのチェック ボックスをクリックします。 メモ:アーカイブ ファイルが表示されていない場合は、圧縮されている可能性があります。Query Builder を閉じ、アーカイブ ファイルを圧縮解除してからクエリを作成します。 |
2 選択中いつでも[実行]をクリックして、現在のクエリを実行することができます。
3 [監査レコード]タブで結果を確認します。結果が求めるものではなかった場合は、Query Builder に戻り、調整を行ってから、クエリを再度実行します。
4 このクエリに満足し、後で再利用したい場合は、[保存]をクリックします。
[クエリの保存]ダイアログ ボックスで、わかりやすいクエリ名を入力します。スペースも含め、最長 60 バイトまで指定できます。次に[
OK]をクリックします。名前は必要に応じて後でも変更できます。保存したクエリの使用の詳細については、
保存されたクエリまたは最後に実行したクエリを実行するを参照してください。
詳細なクエリを構築する
Advanced Query Builder では、Query Builder を使用した場合よりも複雑なクエリを作成できます。式を使用して、監査レコード内で特定のイベントを検索します。スキーマをインポート済みの場合は、Advanced Query Builder は監査データからだけでなく、キャプチャされたデータ レコードからも、フィールド値を照会することができます。
[タイプの選択]列と[演算子]列は、クエリ式を作成するための以下の要素を提供します。入力されたすべてのテキスト値は大文字と小文字が区別されます。表中の「~と同じ」という語句が指している比較対象は、一般的なクエリ用の[Query Builder]ウィンドウの検索オプションです。
属性 | 説明 |
---|
( | 式ブロックを構築するための開きかっこ |
データ フィールド | [対象]でテーブルを選択するのとほぼ同じです。ただし、さらに列レベルでクエリを絞り込み、検索または比較する値を入力することができます。 |
日付 | [日時]タブの[日付範囲]と同じです |
グループ | [対象]タブの[グループ]属性と同じです |
データベース名 | データベース自体の名前ではなく、スキーマがインポートされた監査設定の名前。Btrieve ファイルの場合、スキーマがないため、Zen の内部データベース DefaultDB が使用されます |
テーブル | [対象]タブの[テーブル]属性と同じです |
操作 | [対象]タブの[操作]属性と同じです |
プロセス | [方法]タブの[プロセス]属性と同じです |
レコード番号 | クエリ結果の[監査レコード]タブのレコード番号 |
時刻 | [日時]タブの[時間範囲]と同じです |
マシン名 | [場所]タブの[マシン名]属性と同じです |
ユーザー | [ユーザー]タブの[ユーザー]属性と同じです |
and、or | [タイプ]列で使用される論理演算子 |
=、>、>=、<=、<、in | [演算子]列で使用される比較演算子と、要素リストの集合演算子としての「in」 |
) | 式ブロックを構築するための閉じかっこ |
詳細なクエリの例
このトピックでは、複雑なクエリを作成する方法を示す以下の 2 つのチュートリアルを掲載します。
最初のクエリでは、学生の成績ポイントの累加平均(cumulative GPA。略称 GPA)が 3.0 以上となっているすべての監査レコードを検索します。2 番目のクエリは、最初のクエリを修正したものであり、特定の学生が挿入されたときの日付と時刻を検索しています。
これらのチュートリアルを実行するには、まず次の 3 つのことを行う必要があります。
•AZCC に組み込まれている Zen Demo 監査設定で、Demo という名前のグループを作成し、Demodata の全テーブルの監査を開始するためにこのグループにそれらのテーブルを追加して、Zen エンジン サービスを再起動します。
•監視対象テーブルの 1 つに変更を加えるために、Demodata データベース コンテキストに設定された SQL ドキュメントを ZenCC で開き、次の SQL スクリプトを実行します。
INSERT INTO Student(ID, Cumulative_GPA, Tuition_ID, Transfer_Credits, Major, Minor, Scholarship_Amount, Cumulative_Hours) VALUES (213725554, 3.6, 6, 30, 'Biology', 'Technical Writing', 2600.00, 24);
UPDATE Student SET Cumulative_GPA = 3.1 WHERE ID = 189602671;
UPDATE Student SET Cumulative_GPA = 3.5 WHERE ID = 189152021;
•AZCC のデータ ツリーで現在のビュー ファイルを右クリックし、[現在のビュー ファイルの更新]を選択します。Audit for Zen が照会できるのはビュー ファイルとアーカイブ ファイルの内容のみであるため、この手順は不可欠です。
►GPA が 3.0 以上である学生の監査レコードを照会するには
1 以下のいずれかを実行して[Advanced Query Builder]ウィンドウを開きます。
•ビュー ファイルを右クリックして[詳細なクエリ]を選択します。
•ファイルを選択して、[ファイル]>[詳細なクエリ]を選択します。
•ファイルを選択して、Ctrl+Alt+Q キーを押します。
このウィンドウでは、[詳細]グループのクエリ オプションがデフォルトで選択されています。ここではこのグループを使用します。[ファイル]グループについては、
クエリで[ファイル]グループを使用するを参照してください。
2 [タイプ]列で "<タイプの選択>" をクリックします。
3 クエリ属性タイプのリストで "データ フィールド" を選択します。
4 [データ フィールドの選択]で、Zen Demo > User Tables > Student と展開し、"Cumulative_GPA" を選択します。
5 下部の値フィールドに「3.0」を入力し、[OK]をクリックします。
6 データ フィールドに対する演算子には、3.0 以上を指定する ">=" を選択します。
これで、[Advanced Query Builder]ウィンドウは次のようになります。
Student テーブル内の変更のうち、GPA が 3.0 以上の学生に対する変更についてすべての監査レコードを検索するよう、クエリが設定されました。
7 [実行]をクリックします。ウィンドウは開いたままにし、[AZCC]ウィンドウを確認するために必要であれば移動させます。
クエリ結果は[監査レコード]タブに表示され、結果には新しく挿入された行や変更された行が含まれます。
次の点に注意してください。
•クエリがこれらの監査レコードを返したのは、Student テーブルの監査を開始した以降に Demodata のレコードで変更が行われ、監査レコードが Audit for Zen によってキャプチャされて、現在のビュー ファイルに含まれていたためです。
•Demodata には GPA 3.0 以上の他の学生に関する既存のレコードも含まれていますが、それらのレコードは変更されていないため、Audit for Zen にそれらの監査レコードはありません。したがって、AZ クエリはそれらのレコードに対する結果を返しません。
►特定の学生の挿入日時を検索するには
最初のチュートリアルにおける最後の手順で、[Advanced Query Builder]ウィンドウを開いたままにしました。そのウィンドウを使用して、この 2 番目のチュートリアルを始めます。
1 クエリ ウィンドウで、データ フィールドの値をクリックします。値は現在、"Zen Demo (9)\<User Tables>\Student\Cumulative_GPA=3.0" になっています。
2 このエントリの右側に表示されている省略記号のボタン([...])をクリックします。
3 [データ フィールドの選択]ウィンドウで、Zen Demo > User Tables > Student と展開し、"ID" を選択して Cumulative_GPA を置き換えることで、選択したデータ フィールドを変更します。
4 [ID]の値として、先に挿入されたレコード内の学生番号「213725554」を入力し、[OK]をクリックします。
5 データ フィールドに対する演算子には、学生の ID 番号に一致することを指定する "=" を選択します。
6 この例では、当該の学生が当月に追加された可能性があるが、いつ追加されたかを正確に知る必要が生じたものと仮定します。"<タイプの選択>" をクリックし、"and" を選択してクエリを拡張します。
7 "<タイプの選択>" をクリックし、"操作" を選択します。
8 [操作の選択]で、"ACTIAN ZEN" を展開して "挿入" を選択します。
9 "<タイプの選択>" をクリックし、"and" を選択してクエリを拡張します。
10 "<タイプの選択>" をクリックし、"日付" を選択します。
11 当月の最初の日を選択し、[OK]をクリックします。
12 いま作成した行のデータ フィールドに対する演算子には、最初に選択した日付以降であることを指定する ">=" を選択します。
13 "<タイプの選択>" をクリックし、"and" を選択して日付範囲を延長します。
14 "<タイプの選択>" をクリックして "日付" を選択し、当月の最後の日を選択して[OK]をクリックします。
15 この新しい行のデータ フィールドに対する演算子には、2 番目に選択した日付以前であることを指定する "<=" を選択します。
これで、[Advanced Query Builder]ウィンドウは次のようになります。
16 [実行]をクリックしてクエリを実行します。
クエリ結果は次のように[監査レコード]タブに表示されます。
クエリで[ファイル]グループを使用する
[Advanced Query Builder]ウィンドウの[ファイル]グループを使用すると、クエリ対象にしたい現在のビュー ファイルと圧縮されていないすべてのアーカイブ ファイルを選択できます。アーカイブ ファイルだけを選択することもできます。
このチュートリアルを実行するには、以下の手順を行っておく必要があります。
•AZCC の[監査サーバー]で[現在のビュー ファイル]を右クリックし、[アーカイブ]を選択します。
•データ ツリーで[アーカイブ ファイル]ノードを展開して、新しいファイルの名前を確認します。次のようにアーカイブ日に基づいて命名されます。
►クエリに含めるファイルを選択するには
1 [Advanced Query Builder]ウィンドウで[
ファイル]をクリックします。デフォルトでは[Current View File](現在のビュー ファイル)オプションが選択されます。
デフォルトのビュー ファイルのみを選択したままにして、Advanced Query Builder に関する先の 2 つのチュートリアル内のクエリのいずれかを実行した場合は、何の結果も返されません。ビュー ファイルをアーカイブした場合、その監査レコードはすべて新しいアーカイブ ファイルに移動されています。
2 アーカイブ ファイルに対してもクエリを実行するには、現在のビュー ファイルの代わりにアーカイブ ファイルを選択します。または、ビュー ファイルとアーカイブ ファイルを両方とも選択します。
圧縮されていない監査レコードのみを照会できるため、圧縮されているアーカイブ ファイルは[ファイル]グループに表示されません。リストに挙がっていないファイルを表示するには、その圧縮を解除する必要があります。詳細については、
アーカイブされた監査レコードでの作業を参照してください。
保存されたクエリまたは最後に実行したクエリを実行する
Audit for Zen サーバーごとに、以前に保存されたクエリはデータ ツリーの[保存されたクエリ]の下に保存されます。さらに、最後に実行したクエリは常に保存され、再送信することができます。ここでは、以下の項目について説明します。
►クエリを保存するには
1 Query Builder または Advanced Query Builder でクエリを作成した後、[保存]ボタンをクリックして、そのクエリに名前を付けます。
2 わかりやすいクエリ名を入力して、[OK]をクリックします。クエリ ビルダーのウィンドウは開いたままにしておいてもかまいません。
保存したクエリは、指定した名前で[監査サーバー]データ ツリーに表示されます。
►保存されたクエリを使用するには
1 データ ツリーを更新する必要がある場合は、[保存されたクエリ]ノードを右クリックして[更新]を選択します。
2 [保存されたクエリ]ノードを展開します。
3 クエリを右クリックしてコマンドの一覧を表示します。
•現在のビュー ファイルのクエリ。現在のビュー ファイルに対してクエリを実行します。
•複数のビュー ファイルのクエリ。利用可能ファイルを表示して、必要なファイルを選択し、クエリを実行します。
•名前の変更。クエリの名前を変更します。スペースも含め、最長 60 バイトまで指定できます。
•削除。クエリを完全に削除します。
照会できるのは、圧縮されていない監査レコードだけです。クエリで使用するファイルが圧縮されている場合、そのクエリを実行するにはファイルの圧縮を解除する必要があります。
メモ:圧縮されているファイルのサイズが大きいほど、圧縮解除には時間がかかります。すべてのレコードが照会可能になったことを確認するには、[アーカイブ ファイル]ノードを右クリックし、[更新]を選択して表示を更新します。照会可能になると、アーカイブ ファイルのアイコンが、万力に挟まれた小さな箱から、矢印が大きな箱を指しているものに変わります。
►最後に実行したクエリを使用するには
データ ツリーで、ビュー ファイルまたはアーカイブ ファイルを右クリックし、[最後に実行したクエリの実行]を選択します。
アーカイブされた監査レコードでの作業
監査で大量の監査レコードが生成される場合があります。現在のビュー ファイルのサイズが大きくなると、それに対するクエリの実行にかかる時間も長くなります。パフォーマンスを向上させるため、Audit for Zen には監査レコードを現在のビュー ファイルからアーカイブ ファイルに移動する機能が用意されています。アーカイブは自動でも手動でも実行できます。自動アーカイブでは、現在のビュー ファイルが設定されているサイズ上限または日時上限に達した場合には、Audit for Zen により自動的にアーカイブ ファイルが作成されます。手動アーカイブは、管理者権限を持つユーザーのみが実行できます。
アーカイブ ファイルはデータ ツリーに表示されます。そのファイル名は、作成日を使用した yyyymmdd.nn という書式になります。yyyy は年、mm は月、dd は日、nn はその日に作成されたアーカイブ ファイルの番号(0 ~ 99)です。
アーカイブ ファイルを圧縮すると、90% ほどディスク領域を節約できます。Audit for Zen は、圧縮されたアーカイブ ファイルを暗号化して、Audit for Zen システム内のユーザーのみが利用できるようにします。
アーカイブ ファイルの使用方法について、以下のトピックでさらに詳しく説明します。
手動アーカイブ
このトピックでは、以下の 2 つのタスクに関する手順を示します。
►手動でアーカイブするには
次のような理由から、手動でアーカイブしたい場合もあります。
•監査ログが大きくなり、クエリやその他の操作にさらに時間がかかるようになっている。パフォーマンス速度を回復するために、次回の自動アーカイブまで待ちたくない。
•自動アーカイブがすぐに発生する予定はなく、ある対象イベントによって直ちにアーカイブすることが望ましい。
•ディスク領域を管理するために、レコードをアーカイブして圧縮したい。
データ ツリーで現在のビュー ファイルを右クリックし、次の 2 つのうちいずれかを実行します。
•[アーカイブ]を選択する。
•[アーカイブと圧縮]を選択する。レコード数が多いと時間がかかることがあるので、[ステータス ログ]タブで "Finished compressing"(圧縮が完了しました)メッセージがないかどうかを確認してみてください。最新のエントリが表示されていない場合もあるため、ログを更新してみてください。
圧縮されたアーカイブ ファイルに対してクエリを実行することはできません。まず、そのファイルを右クリックして[圧縮解除]を選択し、ファイルの圧縮を解除する必要があります。
メモ:データ ツリーでは、一覧を更新するために、[アーカイブ ファイル]を右クリックして[更新]を選択することが必要になる場合があります。
►表示するアーカイブ ファイルの数を設定するには
データ ツリーに表示される非圧縮と圧縮のアーカイブ ファイルの最大数を制御することができます。表示されるリストには、手動で作成されたファイルも自動で作成されたファイルも含まれています。この設定を開くには、[表示]>[環境設定]>[アーカイブ]を選択します。
デフォルトの設定は 30 です。利用可能なファイル数より少ないファイル数を設定したリストを表示する場合でも、残りのファイルは削除されるわけではなく表示されないだけです。設定の数値を上げれば再度表示されます。
この設定を変更したら、[アーカイブ ファイル]を右クリックして[更新]を選択する必要があります。
この設定を変更しても、[アーカイブの管理]ウィンドウ内のアーカイブ ファイルの表示には影響しません。詳細については、
アーカイブを管理するを参照してください。
アーカイブを管理する
データ ツリーでは、一度に 1 つのアーカイブ ファイルのみを選択できます。[アーカイブの管理]ウィンドウを使用すると、複数のアーカイブ ファイルを 1 つのグループとして操作できます。このウィンドウを開くには、[
ツール]>[
アーカイブの管理]の順に選択します。
ウィンドウを使用するには、まず、アーカイブ ファイルを選択します。各ボタンを使用して、そのファイルを圧縮、圧縮解除、または削除します。複数のファイルを選択するには、Shift キーまたは Ctrl キーを使用します。
警告での作業
Audit for Zen には、クエリで定義した特定の監査イベントをリアルタイムで検出する警告機能が備わっています。クエリに一致するイベントが発生すると、Audit for Zen により以下の 2 つのことが行われます。
•警告のクエリ結果の各監査レコードに、ベル アイコン
を使ってフラグを付けます。ベル フラグは監査レコードの一部として恒久的に保存されるので、そのレコードを含むすべてのクエリ結果に表示されます。
•Windows のアプリケーション イベント ログにエントリを書き込みます。このログ記録により、ネットワーク管理者は、自動プログラムを実行するツールや通知を送信するツールを使用できるようになります。
►警告を作成するには
1 AZCC で、警告で検出する監査レコードの種類を照会するクエリを作成し、保存します。
メモ:警告の作成に使用される保存済みのクエリには、少なくとも 1 つは制限が設定されている必要があります。つまり、「SELECT *」と同等であってはならないということです。警告クエリには、少なくとも 1 つの検索条件を設定する必要があります。
2 [
管理者]>[
警告の管理]を選択して[警告の管理]ウィンドウを開きます。
3 [新規]をクリックして[新しい警告]ウィンドウを開きます。
4 この警告の名前を文字、数字、スペースを使用して 40 文字までで入力します。
この例では、Demodata データベース内の新しい学生について警告を作成します。
5 警告の説明を 100 文字までで入力します。
6 [保存されたクエリ]リストから、使用するクエリを選択します。
7 [
OK]を選択して[警告の管理]ウィンドウに戻ると、追加した警告が表示されています。
この警告は、Zen データベース サービスが再起動されるとアクティブになります。選択した保存済みクエリに一致する監査レコードがキャプチャされると、データベース活動により警告がトリガーされます。この監査レコードには、ベル アイコン
を使ってフラグが付けられます。このアイコンは、その監査レコードを含むすべてのクエリ結果に表示されます。
Audit for Zen は、監査レコードにフラグを付けるだけでなく、Windows アプリケーション ログ %SystemRoot%
\System32
\Winevt
\Logs
\Application.evtx にエントリを書き込みます。このログ エントリは、Windows イベント ビューアーでは次のように表示されます。
メモ:ログに記録された警告を Windows イベント ビューアーで確認する場合は、[現在のログをフィルター]を選択し、[イベント ソース]を Actian AuditMaster に設定すると役立ちます。
このイベント ログ エントリに関する次の情報に示すように、Zen データベース レコードのデータ詳細は AZCC の監査レコードのデータ詳細と同じです。
Alert 'Student Inserts' Fired on Record ID: 55
Alert ID: 1
Desc: Addition of new records in Student table of Demodata
Audit Information
=================
Rec Id: 55
Date: 07/10/2019
Time: 17:00:07
DBMS: Actian Zen
DB Ver: 14.0.41
Op Context: BTRIEVE
Operation: Insert
Dep Rec Id: 0
Product: Zen Demo
Product Ver: 9
Component: <User Tables>
Component Ver: 9
Table: Student
Group: Demo
Net Address: Zen-Server.englab.local
Net User ID: Master
Process: Zen Engine
Monitor Ver: Zen Demo
OS Ver: W2K 6.2.9200
Return Code: 0
Record Data
==========
ID: 334651124
Cumulative_GPA: 3.400
Tuition_ID: 5
Transfer_Credits: 12
Major: Computer Science
Minor: Statistics
Scholarship_Amount: 0.00
Cumulative_Hours: 12
Additional Information
======================
View Path: \\ZEN-SERVER\PVSWAUDIT$\data\
Server Net ID: 192.168.149.142
監査警告の最良実施例
警告を使用する際には、以下の点に留意してください。
•[有効]チェック ボックスをオンにすると、警告がアクティブ化されます。チェック ボックスをオフにした場合は、警告が非アクティブ化され、クエリに一致する監査レコードがあっても警告がトリガーされなくなります。このため、クエリ結果では監査レコードに対してベル アイコンが表示されなくなると共に、Windows イベント ログにエントリが書き込まれなくなります。
•多数の監査レコードに一致するような広範なクエリが警告に指定されていると、その警告から大規模な望ましくないログ記録が生じる可能性があります。最良の実施例は、追加のアクションを必要とする有用な情報だけにクエリ対象を絞り込むことです。
•同様に、大量のデータ レコードをバルク ロードする予定で、その監査ログが警告クエリに一致するような場合は、バルク ロード前に警告を無効にし、バルク ロード後に警告を再び有効にしてください。
監査レコードまたはログ レコードの検索
[監査レコード]タブまたは[ステータス ログ]タブで、ユーザー、日付、時刻などの値の特定の文字列を検索するには、検索コマンドを使用します。この検索機能には、大文字と小文字の区別、特定のタブ列の絞り込みなど、いくつかのオプションがあります。
メモ:レコード数や検索条件の複雑さに応じて、検索を完了するまでに時間がかかる場合があります。可能な限り、条件を絞り込むようにしましょう。
►監査レコードまたはログ レコードを検索するには
1 [監査レコード]タブまたは[ステータス ログ]タブを選択します。必要に応じて、表示されたエントリを更新します。
2 [
ツール]>[
検索]を選択するか、または当該タブの右上にある[
検索]アイコン
をクリックします。
3 [検索する文字列]フィールドで、現在表示されている監査レコードから検索したいテキスト文字列を入力します。
4 必要に応じて、[検索オプション]を使用して検索結果を絞り込みます。
•[方向]オプションで、検索を始める方向を選択します。選択肢として、"先頭から"、"後方"、"前方" があります。
•[位置]オプションで、検索位置を選択します。必要に応じて、"セルの先頭" または "任意の場所" を選択します。
•スペルの大文字小文字を一致させるには、[大文字と小文字を区別]チェック ボックスをオンにします。
•検索文字列の一部だけでなく検索文字列全体を一致させるには、[文字列全体と一致]チェック ボックスをオンにします。
5 必要に応じて、[グリッド領域]を使用して検索結果を絞り込みます。
•すべての列を検索するには、[グリッド全体]を選択します。
•現在の一致によって強調表示されている列内のみで検索を行うには、[現在の列]を選択します。
•[指定した列]を選択し、リストから列名を選択します。
6 [次を検索]をクリックします。
一致する文字列が見つかると当該のタブで強調表示されます。また、クエリ結果内の場所が[テキストの検索]ウィンドウに表示されます。その他の一致を表示するには、[次を検索]をクリックし続けます。最後の一致に到達して、再び[次を検索]をクリックすると、"一致する項目がありません" というメッセージが表示されます。前の一致に戻るには、[テキストの検索]ウィンドウを閉じて再度開き、もう一度検索します。前回の検索で入力した文字列は保存されています。
テキスト ファイルへの監査レコードまたはログ レコードのエクスポート
Audit for Zen は、[監査レコード]タブまたは[ステータス ログ]タブの表示内容をカンマ区切りまたはタブ区切りのテキスト ファイルにエクスポートすることができます。
当該のタブに表示されているレコードと列のみがエクスポートされます。エクスポート先のテキストに含める列を変更するには、[表示する列の選択]設定を使用します。
►監査レコードをエクスポートするには
1 [監査レコード]タブまたは[ステータス ログ]タブを選択します。[監査レコード]タブの場合は、必要に応じて現在のビュー ファイルを更新してクエリを再実行します。
2 [
ツール]>[
エクスポート]を選択するか、または当該タブの右上にある[
エクスポート]アイコン
をクリックします。
3 [エクスポート]ウィンドウの[参照]ボタンをクリックして、エクスポート先のファイルのパス名を選択します。デフォルトの場所は C:\Users\<ユーザー名>\<ファイル名> です。必要に応じて .txt などの拡張子を追加します。
4 フィールド区切り記号として、カンマまたはタブを選択します。
5 エクスポート先ファイルの先頭行に列名を書き込むデフォルト オプションを使用するかどうかを選択します。
6 [OK]をクリックしてファイルをエクスポートします。
Zen セキュリティの下での監査レコードの表示
Zen セキュリティを有効にして Audit for Zen を実行する場合、[ユーザー名]列と[データベース名]列のフィールド値は、次の表に示すように、DefaultDB データベースのセキュリティ ポリシーとデータベース操作の種類によって変わります。
表 1 DefaultDB データベースのセキュリティの下で監査されるユーザー名とデータベース名
| Btrieve 操作 | SQL エンジン操作 |
---|
セキュリティ ポリシー | 表示されるユーザー名 | 表示されるデータベース名 | 表示されるユーザー名 | 表示されるデータベース名 |
---|
データベース | データベース ログイン | 次のいずれかです。 •Btrieve ログイン API または接続文字列のデータベース名 •操作が実行された場合は、操作対象の Btrieve ファイルにバインドされているデータベース名 •他の 2 つを入手できない場合は DefaultDB | データベース ログイン | N/A |
混合 | データベース ログイン | データベース ログイン | N/A |
クラシック | •OS ログイン •データベース セキュリティが有効になっている場合は、データベースのユーザー名 | •OS ログイン •データベース セキュリティが有効になっている場合は、データベースのユーザー名 | N/A |
監査される Btrieve 操作には、選択/読み取り、挿入、更新、削除、ログイン、およびログアウトが含まれます。トランザクションの開始/終了/中止やリセットのような、特定のデータベースと関係していない操作の場合は、データベース名を入手できません。
ログイン エラーがある場合は、無効なユーザー名とデータベース名と共に記載されます。SQL ログインの場合、ホスト名はログイン時には不明ですが、その後利用可能になり、SQL 操作に表示されます。
混合セキュリティの下では、データベース ログインはオペレーティング システム ログインやネットワーク ログインと一致しています。
Audit for Zen の Windows へのログインと Zen データベースのログインとの関係の詳細については、
Zen セキュリティ下での Audit for Zen の実行を参照してください。Zen セキュリティ環境におけるデータベース操作の詳細については、『
Advanced Operations Guide』を参照してください。
Audit for Zen の元に戻す機能の使用
Audit for Zen の元に戻すコマンドは、特定のデータベース イベントを取り消すことを可能にします。正常に元に戻るかどうかは、行った操作と関与したレコードの現在の状態によります。レコードは、確認対象の監査イベントがキャプチャされてから後に、再び変更された可能性があります。たとえば、データ フィールドの更新の場合は、監査レコードの[変更の前/後]の詳細における変更前の値に、Audit for Zen が復元を試みることができるデータが表示されます。
操作 | 元に戻した結果 |
---|
挿入 | レコードがまだ存在しており、ほかに挿入を阻止する条件がない場合は、レコードを削除します。 |
削除 | レコードが存在しない場合は再挿入します。あるいは存在しても、重複が許可されており、ほかに挿入を妨げる条件がない限りは、再挿入します。 |
更新 | レコードがまだ存在しており、ほかに更新を阻止する条件がない場合は、レコードの変更前の状態に戻します。 |
Caution 元に戻す操作を試みる前に、以下のことを考慮してください。
•ログインと AZCC の実行に使用する Windows ユーザー名は、監視する Zen データベースへの書き込みのアクセス許可を持っている必要があります。Windows と Zen サーバーのどちらも、Audit for Zen 内で作成された Audit for Zen 管理者および通常ユーザーのアカウントを認識しません。
•監査レコードに記載されたファイルは、操作が発生しているため、監査設定グループから削除することはできません。
•Audit for Zen 内から操作を戻すことには、アプリケーション データを矛盾した不合理な状態にするリスクがあります。アプリケーション データベースの一部を他の部分とは無関係に変更することに関する注意を理解している、詳しい知識のある Zen ユーザーだけが行ってください。
•監査設定のグループに名前が同じでパスが異なるファイルがある場合は、最初に記載されているファイルのみを元に戻す対象とします。
メモ:リモート クライアントのログインは、元に戻すをサポートしていません。
►データベース操作を元に戻すには
1 [監査レコード]タブで、監査レコードを右クリックして[操作を元に戻す]を選択します。このコマンドは、"挿入"、"削除"、"変更の前/後" など該当する操作でのみ利用可能です。
2 確認ダイアログが表示されたら、操作を元に戻す場合は[はい]を、元に戻すのを止める場合は[いいえ]をクリックします。
メモ:元に戻す操作はすべて Audit for Zen によってキャプチャされているので、元に戻す操作自体も元に戻すことで取り消すことができます。