DataSpiderデザインパターンβ 第7回 運用パターン 「DataSpiderServer Access Log」
情報化社会が進むにつれて、企業の機密情報や個人情報が漏洩するという事件が後を絶ちません。こういった事件の早期の問題検知や原因特定のために、操作ログやアクセス履歴を記録しておくことが求められます。また、内部統制の観点からも、監査のためにログを残していくことが望ましいでしょう。データ連携ツールであるDataSpider Servistaでも、バージョン3.0 SP2からアクセス履歴を記録して管理することができるようになりました。今回は、その機能である「アクセスログ」を紹介します。
1 課題
DataSpider Servistaでは、リポジトリDBを使用することでユーザ管理ができるようになる。これによりユーザごとのアクセス権限を設定できるため、複数ユーザで開発する際には、権限の無いユーザーは特定の操作ができないようにするなどの管理が可能である。
3.0 SP1までのDataSpider Servistaの通常のログ機構では、この権限管理の上でユーザが操作した内容については各種ログに情報が残される形となっている。しかし、以下のような内部統制に必要な情報を一元化して記録することはできなかった。
・スクリプトの更新ユーザーや更新日時
・削除したスクリプトの各種情報
・操作を行ったクライアント情報(Studio / Studio for Webなど)
2 解決方法
DataSpider Servistaの「アクセスログ」機能を使用して、ユーザの使用履歴を管理する。
3 説明
アクセスログは、DataSpider StudioやDataSpider Studio for Web、CLI Console、ScriptRunner、トリガーなどの各種クライアント/ツールからDataSpiderServerにアクセスした処理を、ログに出力する機能である。
アクセスログを有効にすると、「何がどのユーザにいつどのツールでどう行われたか」という内容のログが専用のログファイルに出力されるようになる。
アクセスログは以下のような処理の実行時に出力される。
・DataSpiderServerへのログイン/ログアウト
・DataSpiderServer側に保存される設定の作成、変更、削除
・DataSpiderファイルシステム上でのファイルの読み込み、書き込み、削除
・DataSpiderファイルシステム上でのディレクトリの作成、削除
・DataSpiderServerの何らかの状態を変更する以下のような処理
▲アクセスログのイメージ図
また、アクセスログで出力される内容は以下の通り。
・日時
・ユーザ名
・クライアントマシンのIPアドレス
・アクセスしたツール名
・ターゲット名(処理の対象を表す文字列)
・オペレーション名(処理を表す文字列)
・メッセージ
ターゲット名、オペレーション名、メッセージについてはヘルプに詳細が記載されているため、そちらを参照してほしい。
4 メリット
アクセスログの使いどころとしては、以下のようなことが考えられる。
・ユーザの使用履歴を記録し管理する
・不正な使用があった場合の監査証跡として残す
・障害時の原因究明に役立てる
そのため、今回は運用パターンとして紹介しているが、開発・運用のフェーズに依らず、必要に応じて機能を有効にすることで、有益になりうる情報を記録しておくことができる。
5 注意点
・アクセスログを有効にするには、「dslog.properties」と「DataSpiderServer.lax」に設定を行う必要がある。
・アクセスログのログファイル(access.log)は日次でローテーションされるが、自動では削除されないため、ディスク容量が圧迫されないように管理する必要がある。
・access.logは1操作、または1処理につき複数のログが出力されるため、ヘルプに記載してあるアクセスログの一覧から検索対象の操作を探し、「ターゲット名」と「オペレーション名」で検索することを推奨している。
・DataSpiderServerへのアクセスログであるため、DataSpiderServerへのアクセスがないクライアント側のみで完結する操作や、クライアントからのアクセスではなくDataSpiderServerの内部処理で処理が実行された場合は、アクセスログには出力されない。
6 関連事項
・アクセスログの機能詳細については、以下の記事を参考にしてほしい。
「 #1「アクセスログ」 DataSpider Servista 3.0 SP2新機能紹介」