はじめに
最近、学んでも直ぐ忘れてしまうので、学んだ事は未来の自分のためにも、日本語で投稿しておきます。
元ネタはこちらの記事ですが、Cognos Analyticsの監査機能の拡張版がある、という事を知っておいて頂ければと思います。
IBM Cognos c11AuditExtension
https://developer.ibm.com/tutorials/ibm-cognos-11-audit-extension/
拡張監査機能で見れるもの
ユーザーアカウント周り
通常の監査ログでは、ユーザー名くらいしか監査ログDBに書き込まれませんが、これを使うとユーザーアカウントの、プロパティーの詳細情報、自分のポータルに何を設定しているかの情報、アカウントが作成され修正された日付、マイフォルダに何のコンテンツがあるか、というのが監査情報として取得できるようです。
コンテンツ周り
レポートとかフォルダーとかの、コンテントストア上のコンテンツの詳細な情報を監査情報として取得できます。
コンテンツの名前、パス、付与されている権限、作成および修正日、レポート内容が全て含まれるXML情報、クエリーの情報、レポートが保存されている場合は何のパラメーターを指定して保存されたか、保存レポートのバージョンに関する情報、などが監査情報として取得できるようです。
役割や機能の権限周り
例えば、「レポート作成」などの機能に対して、この機能が使用可能な役割やグループを登録して、機能に対する権限管理を行うと思いますが、この拡張監査では、どのユーザーアカウントがこの機能を利用したか、という監査情報の取得が可能なようです。
拡張監査の使い方
上記の3つのタイプの拡張監査機能は、以下の方法によりON/OFFができるようです。
・WEBの管理画面
・URLで指令
・WEBサービスで指令
監査情報は、データベースに書き込まれるとのこと。
使用可能環境
Cognos Analytics 11で使える。
カスタム認証を使用してる環境は注意。普通のユーザーID・パスワードを入力して認証させているだけの環境や、トラステッドサインオンを使っている環境であれば問題ないが、もっと別のクレデンシャル情報(SAMLとかもですかね)を使用しているカスタム認証の場合使えないので注意、だそうです。
書き込み先DBは、Db2、SQL Server、Oracleで、バージョン指定あり。
セットアップ方法
拡張監査モジュールのインストール(解凍)がCognos Analyticsノードに対して必要で、セットアップ時に必要なテーブルは勝手に作成され、監査機能追加する対象ノードを指定するためのプロンプトが表示されるので、そこに対象ノードの情報を入力するようです。
セットアップは、概ね以下のステップで行います。
本当にやる時は、先の英語の記事を読んでください。詳細手順が書かれています。
・拡張監査モジュールをCognos Analyticsサーバー上で解凍し配置
・設定ファイルを環境に応じてカスタマイズ
・JDBCドライバーをdriversフォルダに置く
・WARファイルを作成
・WARファイルをCognos AnalyticsのWebSphere Liberty Profileにデプロイ
・WEBの画面からアクセスして、各種設定を行う
→この各種設定のところで、監査情報を書き込むDBの指定を行います。DBは、新しいDBでも良いし、既存の監査DBでも良いが、Content Storeを指定するんじゃないぞ、とのこと。
DBの準備方法も詳細に記載されていますが、既存の監査DBを使用するのが自然で楽なように思いますね。
※既存の監査DBを使用する場合、既存のテーブルに情報が書き込まれるのではなく、拡張監査用に新規にテーブルが作られるようです。
後は、監査ログパッケージのモデルをFramework Managerで開いて、拡張監査用のテーブルを取り込んで、モデリングして、パッケージ発行して、レポートで見る、という感じですね。
モジュール入手
わかりにくいですが、英語の記事の右のメニューのRESOURCEのところで、「AuditExtension.zip」の文字をクリックすると、こちらのBoxのリンクに飛んで、ダウンロードできます。
https://ibm.ent.box.com/v/auditExt
以上です。
もし使った方がいらっしゃったら、是非フィードバック頂けるとうれしいです!
メモ
Cognos Analytics 11.1.7/11.2.1で、以下の変更をしないと動作しなかったという情報がありましたので、メモ代わりに置いておきます。
modify the build.bat file for the new jre location
from
..\..\jre\bin\java -classpath "../../bin/ant.jar;../../bin/ant-launcher.jar" org.apache.tools.ant.Main %*
to
..\..\ibm-jre\jre\bin\java -classpath "../../bin/ant.jar;../../bin/ant-launcher.jar" org.apache.tools.ant.Main %*