監査構成管理

この文書では、監査構成管理の機能について説明します。

監査機能は、監査プロファイルのコンセプトに基づいています。監査プロファイルの文脈で、どのテーブルおよびフィールドを監査するか、いつ監査するかを定義します。同じ機能領域のプロファイルをまとめるには、それらのプロファイルを監査分類に関連付けます。監査証跡順編成ファイルに保存されます。このファイルは、会社とテーブルの組合せごとに生成されます。監査プロファイルをさまざまなオプションでエクスポートまたはインポートし、迅速に構成を行うことができます。

この文書には次のセクションがあります。

  • 監査証跡および監査ホストの設定: これらの設定は、監査証跡の作成に必要な情報を提供します。
  • 監査構成手順: このセクションでは、監査設定を構成する手順の概要について説明します。この構成にしたがって監査証跡が作成されます。
  • 追加機能: このセクションには、プロファイルのインポートおよびエクスポート、レポートの生成、LN ツールの以前のバージョンからの移行など、その他の機能についての情報が含まれています。
  • 監査構成の正味結果を決定する方法: このセクションでは、構成がランタイムに変換されたときの監査構成の最終結果を判断する方法について説明します。
  • 概論: このセクションでは、覚えておくべき重要な事実およびルールのリストを表示します。
  • 監査ファイルディレクトリを使用するにはこのセクションには、LN ツール 7.3a の監査に関するオンラインマニュアルのトピックが含まれています。この情報は、ツール 7.4a 以降のバージョンに移行するための参照ソースとして提供されています。
監査証跡および監査ホストの設定

監査証跡を作成するには、以下の情報が必要です。

  • 作成する証跡ファイル (順序ファイル) のサイズ。監査証跡ファイルサイズ (ttaud3135m000) セッションで証跡ファイルのサイズを定義します。各テーブル/会社の組合せに対する順編成ファイルの最大個数は 999 であり、現在使用中のファイルは削除できないので、少なくとも現在使用中のファイルを保持しつつ古いファイルを削除することができるファイルサイズを選択する必要があります。証跡ファイルサイズは、大規模なトランザクションの監査証跡を保存できるだけの大きさでなくてはなりません。サイズが十分でないと、トランザクションが中断されます。
  • 監査証跡ファイルを保存するディレクトリへのパス。パスは、監査証跡パス (ttaud3136m000) セッションで定義します。
  • 順序ファイルの読取、メンテナンス、および削除についてのセキュリティ設定。監査証跡セキュリティ (ttaud3137m000) ファイルでセキュリティ設定を定義します。
  • 監査ホストの設定: 監査ホスト (ttaud3130m000) セッションで監査ホストを定義します。監査ホストは会社ごとに定義されます。監査ホストの定義は省略できます。会社についてホストを定義しない場合は、ローカルシステムがホストとして使用されます。システムがマスタアプリケーションサーバやその他のアプリケーションサーバを 1 つまたは複数利用している場合は、すべての監査サーバに 1 つの監査ホストを定義することをお勧めします。そうしないと、監査証跡のトランザクション ID が連続しない場合があります。
注意

これらの設定を有効にするには、監査定義のランタイムの作成 (ttaud3200s000) セッションを使用して適切なチェックボックスをオンにし、設定をランタイムに変換する必要があります。セキュリティ設定だけはただちに有効になるので、ランタイムに変換する必要はありません。

監査構成手順

このセクションでは、監査設定がまだ行われていないものとして、監査設定の構成に必要な手順の概要を説明します。

監査設定を構成するには、各セッションで次の手順を行います。

  1. 監査分類 (ttaud3100m000)
    • 1 つまたは複数の監査分類を定義します。監査分類は省略できます。監査分類を使用しなくても、監査構成を定義できます。また、ここでこの手順をスキップし、後で監査分類を定義することもできます。
  2. 会社グループ (ttaud3140m000)
    • 1 つまたは複数の会社グループを定義します。会社グループを使用すると、複数の会社の監査設定を一度に構成できます。会社グループは、いくつかのセッションでは必須です。会社グループを定義しない場合は、すべての会社について監査設定を指定するオプションのみ使用できます。現行セッションでは、会社グループの名前と記述のみを定義します。会社グループに関連付ける会社を定義するには、次のセッションを使用します。
  3. 会社グループ別会社 (ttaud3145m000)
    • 会社グループに関連付ける会社を定義します。
  4. 監査プロファイル (ttaud3110m000)
    1. 名前と記述を入力することにより、監査プロファイルを定義します。
    2. オプションで、プロファイルを分類にリンクできます。
    3. プロファイルがすべての会社について有効であるか、1 つの会社グループについて有効であるかを選択します。1 つのプロファイルについて選択できる会社グループは 1 つだけです。
    4. 現在使用したいプロファイルの有効チェックボックスをオンにします。有効チェックボックスがオンのプロファイルのみがランタイムに変換されます。この先監査構成処理において、テーブルおよびフィールドについて監査設定を含むレコードは有効の場合も無効の場合もあることに注意してください。
    5. オプションで、プロファイルに追加情報を保存するテキストを追加できます。
  5. プロファイル別監査テーブル (ttaud3120m000)
    1. 適切なパッケージ、モジュール、およびテーブルを選択することにより、監査すべきテーブルを定義します。適切なメニューから、プロファイル用監査テーブルのロード (ttaud3220s000) セッションにズームしてテーブルのリストを読み込んでから、不要なテーブルを削除することもできます。
    2. テーブルのすべてのフィールドを監査するか、指定したフィールドのみ監査するかを定義します。特定のフィールドのみ監査したい場合は、次の手順を参照してください。
    3. 完全に監査したいテーブルについて、監査タイプを定義します。
    4. 現在のプロファイルをランタイムに変換する際にランタイムに変換する必要のあるレコードについて、有効チェックボックスをオンにします。
  6. テーブル別監査フィールド (ttaud3125m000)

    注意: この手順は省略できます。特定のフィールドについて監査設定を構成したい場合のみ必須です。

    1. 監査するフィールドを選択します。適切なメニューからすべての (キー) フィールドのリストをロードし、そこから不要なフィールドを削除することもできます。テーブルの主キーの一部であるフィールドは、デフォルトで選択されます。有効なキーが自分の監査の目的上不要であることが確実な場合を除き、これらのフィールドは削除しないでください。
    2. 監査したいフィールドについて監査タイプを定義します。
    3. 現在のプロファイルをランタイムに変換する場合は、ランタイムに変換する必要のあるレコードの有効チェックボックスをオンにします。
  7. 監査定義のランタイムの作成 (ttaud3200s000)
    • 監査プロファイルチェックボックスをオンにし、作成をクリックして設定をランタイムに変換します。
注意

監査を使用する場合は、十分なディスク容量が使用可能なことを確認してください。これはトランザクション通知 (ttaud110) テーブルにも順序ファイルにも必要です。また、使用するディスクに注意を払ってください。パフォーマンスのボトルネックが発生するとデータベースでトランザクションを実行するすべてのユーザに影響するので、ボトルネックがないようにしてください。

追加機能

監査構成管理セッションには、以下の追加機能があります。

  • 以下のセッションでプロファイルをインポートおよびエクスポートできます。
    • 監査プロファイルのエクスポート (ttaud3201s000)
    • 監査プロファイルのインポート (ttaud3202s000)
    • 追加ファイルからの監査プロファイルのインポート (ttaud3203s000): このセッションは、LN ソフトウェアで配布されるプロファイルに使用します。
  • 監査プロファイルを分析し、特定のテーブルおよびフィールドがどこに使用されているかを表示するには、以下のセッションを使用します。
    • 監査テーブルの使用先 (ttaud3521m000)
    • 監査テーブルフィールドの使用先 (ttaud3526m000)
  • LN ツール 7.3a から LN ツール 7.4a 以降のバージョンに移行するには、監査構成の移行 (ttaud3204s000) セッションを使用すると役立ちます。詳細は、そのセッションヘルプ、およびこの文書の 「監査ファイルディレクトリを使用するには」 のセクションを参照してください。
  • 生成済の順序ファイルをメンテナンスするには、以下のセッションを使用します。
    • 監査順序の表示 (ttaad4560s000): セッションの目的:  順序ファイルについての情報を表示します。
    • 監査ファイルの範囲の出力 (ttaad4461m000) および監査ファイル(複数行)の範囲の出力 (ttaad4463m000): これらのセッションを使用して順序ファイルの内容を出力します。
    • トランザクション通知 (ttaud1510m000): セッションの目的:  特定の会社およびテーブルのすべてのトランザクションについて詳細な情報を表示します。監査テーブルのトランザクションのみ記録されます
    • 監査ファイルの整合性の検査 (ttaad4460m000): セッションの目的:  順序ファイルの整合性をチェックします。
    • 監査ファイルの削除 (ttaad4261m000)
監査構成の正味結果を決定する方法

構成をランタイムに変換する際に構成の正味結果を表示するセッションはありません。特定のテーブルまたはフィールドの正味結果を表示したい場合は、「使用先」 セッションを使用できます。ただし、これらのセッションは、どの会社についてテーブルやフィールドを監査するかを指定しません。また、\$BSE\lib ディレクトリの audit_cols ファイルに保存された構成の正味結果を表示することもできます。このファイルは簡単に読み取れます。このファイルの情報は、次のようなフォーマットになっています。

<audit_cols> ::= <line>*
	<line> ::= <tables>:<companies>:<audit_type>
		<tables> ::= '*'|<package>[<module>[<table>]]
		<companies> ::= '*'|<company>[,<company>]*
			<company> ::= (0-9)+(0-9)+(0-9)
		<audit_type> ::= 'C'|'A':[<field_name>[,field_name>]*]

コードは次のように読みます。audit_cols ファイルには 1 つまたは複数の行があります。各行は、1 つまたは複数のテーブル、1 つまたは複数の会社、および監査タイプを指定します。テーブルは 「*」 で指定するか、パッケージコード (必須)、モジュールコード (省略可) およびテーブル番号 (省略可) で指定します。「*」 を指定すると、全テーブルが選択されます。パッケージコードのみを指定すると、全モジュールの全テーブルが選択されます。モジュールコードを指定し、テーブル番号を指定しない場合、そのモジュールの全テーブルが選択されます。会社は、全会社を指定する 「*」 または 1 つまたは複数の会社番号で指定する必要があります。監査タイプは C または A です。監査タイプ C は、フィールドが変更された場合のみトランザクションを記録します。監査タイプ A は、テーブルの任意のフィールドが変更された場合に、常にトランザクションを記録します。オプションで 1 つまたは複数のフィールドを指定できます。フィールドを指定した場合、監査タイプはそのフィールドにのみ適用します。フィールドを指定しない場合は、監査タイプは、テーブル内の全フィールドに適用します。フィールドを指定できるのは、行が 1 つのテーブルだけを指定した場合です。

  • tdsls:*:C すべての会社 (*) で、このモジュール (tdsls) 内のすべてのテーブルについて、すべてのフィールドが監査されます (フィールド指定なし) が、フィールドが変更された場合に限られます (C)。ただし、主キーのフィールドはデフォルトで常に監査されます。
  • tdsls400:500:A:col1,col2 会社 500 のテーブル tdsls400 について、col1 と col2 のみが監査され、これらは常に監査されます (つまり、このテーブルのあらゆるトランザクションについて)。別の行で 「tdsls:*:C」 などのように監査を指定しない限り、このテーブルの別のフィールドは監査されません。

フィールドを監査するということは、そのテーブルセルの古い値と新しい値が記録されることを意味します。

監査タイプ (A または C) とフィールド指定の関係が分かりにくいかもしれないので、各組合せの意味を以下の表に示します。各組合せを 2 つの例で示します。

凡例
C列 (指定なし)
S指定された列
Kキーフィールド (必須、オプションで指定、または指定なし)
Rレコード
A監査
(A)指定すれば監査 (キーフィールド)
Tトランザクション

 

監査タイプとフィールド指定の可能な組合せ
すべてのフィールド指定フィールド
監査タイプ A12
監査タイプ C34

 

例 1

テーブルにおいて任意のトランザクションが発生すると、関係するレコードのすべてのテーブルセルが監査されます。

監査タイプ A、すべてのフィールド
KCCCCC
RAAA TAAA
RA TAAAAA

 

例 2

テーブルにおいて任意のトランザクションが発生すると、指定された列の、関係するレコードのテーブルセルのみが監査されます。

監査タイプ A、指定フィールド
KCCSCS
R(A)TAA
R(A)AA T

 

例 3

テーブル内のすべての列のすべてのテーブルセルを監査できますが、実際には、トランザクションが発生したテーブルセルのみが監査されます。

監査タイプ C、すべてのフィールド
KCCCCC
RAA T
RAA T

 

例 4

指定された列のテーブルセルのみを監査できます。指定された列でトランザクションが発生すると、テーブルセルが監査されます。

監査タイプ C、指定フィールド
KCCSCS
R(A)T
R(A)A T

 

概論

テーブルトランザクションの監査の原因となるコマンドは、テーブルデータに影響するコマンドのみ、すなわち挿入、更新、および削除コマンドです。テーブルの作成、テーブルの削除、テーブルの消去など、テーブル内のすべての行に影響するテーブルレベルのコマンドも監査されます。

監査構成は積極的なアプローチを取ります。つまり、監査が必要なテーブルおよびフィールドのみ定義でき、監査してはならないテーブルおよびフィールドは定義できません。この制約を補うには、関連セッションの適切なメニューから、すべてのパッケージ、モジュール、テーブル、またはフィールドのリストをロードできます。

テーブルおよびフィールドは複数のプロファイルで使用でき、設定が競合する場合があるので、次のルールによって、設定が競合した場合にどの設定が優先されるかを決定します。

  • 高いレベルの方が低いレベルより優先されます。したがって、プロファイル A でモジュール内の全テーブルを監査しなくてはならないと定義し、プロファイル B でこのモジュール内の 1 つのテーブルのみを監査しなくてはならないと定義した場合、これらのプロファイルをランタイムに変換した結果、該当するパッケージ内の全モジュールが監査されます。
  • 常時の設定の方が変更時より優先されます。したがって、プロファイル A でフィールドの変更時のみフィールドを監査しなくてはならないと定義し、プロファイル B でこのフィールドを常に監査しなくてはならないと定義した場合、このフィールドは常に監査されます。

以下のテーブルはこの動作を示したものです。

パッケージモジュールテーブル監査タイプ
ttadv*常時
ttadv200変更時
結果: 
ttadv*常時

 

パッケージモジュールテーブル監査タイプ
ttadv*変更時
ttadv200常時
結果: 
ttadv*変更時
ttadv200常時

 

プロファイルに会社グループも追加される場合、これらのプロファイルをランタイム処理に変換した結果は、次のテーブルに示すように、会社グループによっても決定されます。

パッケージモジュールテーブル会社監査タイプ
tt**001、002変更時
ttadv*002、003常時
ttadv200002、004変更時
結果: 
tt**001、002変更時
ttadv*002、003常時
ttadv200004変更時

 

次のテーブルは同じ情報を、会社ごとにテーブル ttadv200 についてのみ表したものです。

会社監査タイプコメント
001変更時
002、003常時
004変更時
005-他の会社については、テーブル ttadv200 は監査されません。

 

別のパッケージコンビネーションでテーブルの監査設定を構成することができます。ただし、これらのテーブルにズームすることはできません。マニュアルで入力する必要があります。

監査構成をランタイムに変換すると、結果が以下の 4 つのファイルに保存されます。これらのファイルは \$BSE\lib ディレクトリにあります。

  • audit_spec
  • audit_cols
  • audit_hosts
  • auditdef6.2

構成のランタイムへの変換は、記録される監査証跡に影響を及ぼす場合があるので、ランタイムへの変換前に全ユーザが LN を終了することをお勧めします。

注意

監査定義のランタイムの作成 (ttaud3200s000) セッションで作成されるファイルはマニュアルで更新してはなりません。これは、マニュアルによる変更はセッションの再起動時に上書きされてしまうためです。

監査ファイルディレクトリを使用するには
重要

このセクションには、LN ツール 7.3a の監査についてのオンラインマニュアルトピックが含まれています。この情報は、移行のための参照ソースとして用意されています。このセクション (この文書の最後まで) の情報は、LN ツール 7.4a 以降のバージョンには該当しません。

監査ファイルは、テーブルに対するデータベース処理のデータを含むログファイルです。次のような場合に、レコードに対するすべての削除、更新、または挿入の処理が記録されます。

  • レコードのテーブルフィールドでテーブルフィールド (ttadv4122s000) セッションの監査証跡チェックボックスがオンになっている
  • 記録が必要なテーブルのデータベース定義で、データベース別テーブル (ttaad4111m000) セッションの監査設定チェックボックスがオンになっている

監査ファイルディレクトリ (ttaad4116m000) セッションで指定されたデータは、ランタイムデータディクショナリへの変換時に $BSE/lib ディレクトリの auditdef6.X ファイルに保存されます。

このファイルは次のような構造です。

<テーブル名>:<会社番号>:<ディレクトリ>

テーブル名は監査証跡が参照するテーブルを示します。テーブル名フィールドには次のものを入力します。

  • * (すべてのパッケージのすべてのモジュール)
  • パッケージコードおよびモジュールコード。たとえば、tccom および tcibd
  • テーブル番号の付いたパッケージコードおよびモジュールコード。たとえば、tcibd010 および tccom001。テーブル名はカンマで区切ります

指定するテーブルの会社番号には次のようなものを含めます。

  • * (すべての会社番号)
  • 3 桁の会社番号。会社番号はカンマで区切ります

ディレクトリには、監査ファイルの保存先であるパス名が含まれます。

例:

tcibd,ttaad:100,200:/usr/adm/AUDIT

*:*:/usr1/AUDIT

この例ではすべての tcibd テーブルは /usr/adm/AUDIT/atcibd ディレクトリに保存され、すべての ttaad テーブルは /usr/adm/AUDIT/attaad ディレクトリに保存されます。その他のすべてのテーブルについては、それぞれのディレクトリが /usr1/AUDIT の下に作成されます。