スタートアップガイド:監査証跡
シンクデックによる監査証跡の記録のメリット
- FileMaker Pro、FileMaker Go、カスタムWeb公開、WebDirect公開など、すべての経路からのレコードの変更履歴を記録
- 手入力以外の操作、例えばスクリプトによるフィールド設定ステップ / 全置換 / インポートなどの変更も記録
- FileMaker Proにプラグインは不要
- サーバサイドで処理するため、FileMaker Pro (FiileMaker Go)クライアントに負荷がかからない
- FileMaker GoでもOK
- 変更ログの記録先は、FileMaker以外のデータベースにも幅広く対応
- FileMaker
- MS SQL Server
- Oracle
- MySQL
- PostgreSQL
- Sybase
シンクデックによる監査証跡の記録を行うには
大きく分けて、以下の3つの準備が必要です。
- 監視したいデータベースでの準備作業
- 監査証跡ログを書き込むデータベースの準備作業
- シンクデックのインストールと設定
それぞれの作業手順について、簡単に解説します。ご不明な点は、お気軽にフォームよりお問い合わせください。
1. 監視したいデータベースでの準備作業
- 監査証跡ログを取りたいすべてのテーブルに、シンクデックが使うためのフィールドを用意しておきます。
1. SyncDeK-Enable-FMP.fmp12 をダウンロードします。(fp7ファイル:SyncDeK-Enable-FMP.fp7)
2. データベースの管理ダイアログボックスを開いて下記5つフィールドをコピーし、同期対象のすべてのテーブルにペーストします。
- SyncDeK_ModTime
- SyncDeK_RecId
- SyncDeK_Modifier
- SyncDeK_pubFlag
- SyncDeK_ModDateTime
- シンクデックが使うためのアカウントを用意しておきます。
- 「SyncDeK」というアカウント名がデフォルト
- 別のアカウント名を使いたい場合は、上記フィールドの計算式をアカウント名にあわせて変更する必要があります。
- このアカウントには、完全アクセス権を持ったアクセス権セットを割り当てる必要があります。
- このアカウントには「fmxdbc」拡張アクセス権を割り当てます。
- ※監視したいデータベースでの注意点
- ファイル名とテーブル名、テーブルオカレンス名は半角英数記号のみサポートされます。
- フィールド名については日本語でも問題ありませんが、フィールド名先頭の数字や記号など、フィールド定義の作成時に警告されるものは避けましょう。
2. 監査証跡ログを書き込むデータベースの準備作業
- どのファイルを使うか?
- 監視したいデータベースでも、別のデータベースでもかまいません。
- シンクデックで監視を開始すると、監査証跡ログの書き込み先として設定されたファイルに、監査証跡ログを書き込むためのテーブルやフィールドが自動的に作成されます。
- シンクデックが使うためのアカウントを用意しておきます。
- 「SyncDeK」というアカウント名がデフォルト
- 別のアカウント名を使いたい場合は、上記フィールドの計算式をアカウント名にあわせて変更する必要があります。
- このアカウントには、完全アクセス権を持ったアクセス権セットを割り当てる必要があります。
- このアカウントには「fmxdbc」拡張アクセス権を割り当てます。
3-1. Javaのインストール
- 以下のURLから、Javaの最新版をダウンロードし、インストールします。
http://java.com
※2014年5月現在、SyncDeK 9.1.0 を動作させるためには、Java 7 update 51 以降が必要です。 Java 6 では SyncDeK 9.1.0 は動作しません。
3-2. シンクデックのインストール
- 以下のURLより、SyncDeK Engineをダウンロードします。
- ダウンロードしたインストーラを起動し、指示に従ってインストールを行います。
- FileMaker Serverと同じコンピュータにシンクデックをインストールする場合は、「カスタムインストール」で「SQL」か「FileMaker Server」を選びます。※1
- SQL
- FileMaker ProやFileMaker Serverの起動状態とは連動せず、シンクデック単体で独立して起動 / 終了する状態でインストールされます。コンピュータの起動時にシンクデックも自動的に起動します。
- FileMaker Server
- FileMaker ServerにSyncDeK_TCPプラグインが自動的にインストールされます。FileMaker ServerでSyncDeK_TCPプラグインが読み込まれたタイミングでシンクデックが起動し、SyncDeK_TCPプラグインが無効になる、あるいはFileMaker Serverが終了するとシンクデックも終了します。
- FileMaker Pro
- FileMaker ProにSyncDeK_TCPプラグインが自動的にインストールされます。FileMaker ProでSyncDeK_TCPプラグインが読み込まれたタイミングでシンクデックが起動し、SyncDeK_TCPプラグインが無効になる、あるいはFileMaker Proが終了するとシンクデックも終了します。
3-3. シンクデックの設定画面への接続
以下のURLにブラウザで接続します。
http://<<IPアドレス>>:9779
※IPアドレスとは、シンクデックをインストールしたコンピュータのIPアドレスです(例:http://192.168.1.10:9779)
3-4. シンクデックの設定
画面左下のギアアイコンから「Register SyncDeK Developer」を選び、SyncDeK Developer license keyを登録します。
画面左下の「+」アイコンから「New Solution」を選び、「Solution ID」を指定します。
「Solution ID」は、設定に対してつける名前です。データベース名など、区別しやすい任意の名前を付けてください。
Servicesタブ
「Audit Logging」の「Configure...」をクリックし、監査証跡ログを書き込む先の指定を行います。
- 「Database Type」で書き込み先のデータベースタイプを指定します。FileMakerデータベースにログを書き込む場合は、お使いのデータベースにあわせて「FMP11」か「FMP12」を選びます。
- 「Database Host」で書き込み先のデータベースをホストしているコンピュータのIPアドレスを指定します。シンクデックが動作しているコンピュータ上でデータベースもホストされている場合は「localhost」という書き方もできます。
- 「Login Account」と「Login Password」で、ログを書き込むデータベースにアクセスするためのアカウント名とパスワードを指定します。ここでは、完全アクセス権を持つアカウント指定する必要があります。
- 「Target Database」で、ログを書き込むデータベース名を指定します。
- 「Target Log Table」で、ログを書き込むテーブル名を指定します。ここで指定された名前を持つテーブルが、シンクデックの初回動作時にログを書き込むデータベース上に自動的に作成されます。
Servicesタブ中程の「Process Automation」も設定します。
- 「Continuous」を有効にします(必須)。
- 「Wait 300 seconds」の数字は、何秒ごとにデータベースの変更をチェックするかについての指定です。デフォルトでは300秒(5分)で、設定できる最少の値は10秒です。ここでは「10」と指定します。
- 「Auto-Start」は、シンクデックが起動したら自動的に監視を開始するための設定です。ここでは有効にしておきます。
Datasourceタブ
ここでは、監視先データベースの指定を行います。
- 「Database Type」で監視したいデータベースタイプを指定します。FileMakerデータベースを監視したい場合は、お使いのデータベースにあわせて「FMP11」か「FMP12」を選びます。
- 「Query Type」は「[default]」のままにしておきます。
- 「Database Host」で監視したいデータベースをホストしているコンピュータのIPアドレスを指定します。シンクデックが動作しているコンピュータ上でデータベースもホストされている場合は「localhost」という書き方もできます。
- 「Login Account」と「Login Password」で、監視したデータベースにアクセスするためのアカウント名とパスワードを指定します。ここでは、監視したいテーブルの読み/書き権限を持つアカウント指定する必要があります。
- 「Database Name」で、監視したいデータベース名を指定します。※2
Tablesタブ
「Perform Action」のプルダウンから、「Rebuild Table Profile」を選びます。監視対象テーブルの一覧が作成されたら、「Continue」をクリックして設定終了です。
ここで指定できるファイルは1ファイルのみです。監視したい対象のデータベースが複数ファイルにわたる場合は、以下のやり方にて、1ファイルで複数ファイルのテーブルを監視できるようにします。
- まず、シンクデックに監視対象として設定するデータベースファイルを決めます。監視に使用するためだけに新しくファイルを作成してしまうのも良い方法です。
- そのファイルのリレーションシップグラフに、監視したい対象の各データベースに存在する、監視したい対象の各テーブルのテーブルオカレンスを作成します。
- 監視したい対象のデータベースファイル全てに、シンクデックが使うためのアカウントが必要です。
- そのファイルを「Database Name」で指定します。
次のような場合、監視したいテーブル情報の再取得を行う必要があります。
- 監視対象のテーブルに新しいフィールドを追加した場合
- 監視対象のテーブルを増やしたい場合
- 監視対象のファイル名、テーブル名、フィールド名が変更された場合
監視対象テーブル情報の更新手順:
- ページ左側の「<<設定したSolution ID>>」以下の「FMPxx@複製サーバ」をクリックします
- ページ上部のアイコンから、「Stop Services」ボタン(赤の「X」マーク)をクリックします
- あらためてページ左側の「<<設定したSolution ID>>」以下の「FMPxx@複製サーバ」をクリックします
- ページ上部のアイコンから、「Unload Settings」ボタン(コネクタが切り離された状態のアイコン)をクリックします
- ページ上部のアイコンから、「Edit Settings」ボタン(鉛筆のアイコン)をクリックします
- 表示されたダイアログウインドウの「Tables」タブを選択します
- Perform Actionから「Rebuild Tables Profiles」を実行します
- テーブルのリストの中から、新規フィールドを追加した「Table Name」を選択します
- 新たに開いたダイアログウインドウで「Fields」タブを選択し、新規フィールドの追加が反映されているか確認します
- 「Continue」を2回押下して、ダイアログウインドウを閉じます
- ページ上部のアイコンから、「Load Settings」ボタン(コネクタのアイコン)をクリックします。
- ページ上部のアイコンから、「Run Services」ボタン(緑の再生マーク)をクリックし、SyncDeKサービスを再開します
※監視したい全てのテーブルに、シンクデックが使うためのフィールドが必要です。(1. 監視したいデータベースでの準備作業 参照)