データエクスポータの設定ページでは、保持するデータのタイプを定義し、エクスポートする属性を指定して、データをいつエクスポートするかをスケジュールできます。各データタイプは別個に設定できます。
管理者インタフェースで、メインメニューから「設定」をクリックします。「ウェアハウス」二次タブをクリックします。「データエクスポータの設定」ページが開きます。
読み取り接続と書き込み接続を定義するには、「接続の追加」ボタンをクリックします。「データベース接続の編集」ページが開きます。
このページにあるフィールドの設定を完了し、「保存」をクリックして「データエクスポータの設定」ページに戻ります。詳細については、「読み取り接続と書き込み接続の定義」を参照してください。
WIC クラスとデータベース接続を割り当てるには、「ウェアハウスの設定情報」セクションにある「編集」リンクをクリックします。「データエクスポータウェアハウスの設定」ページが開きます。
このページにあるフィールドの設定を完了し、「保存」をクリックして「データエクスポータの設定」ページに戻ります。詳細については、「ウェアハウスの設定情報の定義」を参照してください。
「ウェアハウスのモデル設定」テーブルで、データタイプのリンクをクリックします。「データエクスポータタイプの設定」ページが開きます。
このページにある「エクスポート」タブ、「属性」タブ、および「スケジュール」タブの設定を完了し、「保存」をクリックして「データエクスポータの設定」ページに戻ります。詳細については、「ウェアハウスモデルの設定」を参照してください。
すべてのデータタイプについてこの手順を繰り返します。
各データタイプのエクスポートの前後にどのワークフローを実行するかを設定するには、「エクスポータ自動化」セクションの「編集」リンクをクリックします。「データエクスポータ自動化の設定」ページが表示されます。
このページにあるフィールドの設定を完了し、「保存」をクリックして「データエクスポータの設定」ページに戻ります。詳細については、マニュアルを参照してください。
エクスポートタスクデーモンを設定するには、「ウェアハウスのタスク設定」セクションにある「編集」リンクをクリックします。「データエクスポータウェアハウスの設定」ページが開きます。
このページにあるフィールドの設定を完了し、「保存」をクリックして「データエクスポータの設定」ページに戻ります。詳細については、「ウェアハウスタスクの設定」を参照してください。
これらの手順が完了すると、エクスポートの操作がすべて可能になります。エクスポートが有効にされると、エクスポートのためにデータレコードのキューイングが開始されます。エクスポートタスクを有効にしないと、キューテーブルがいっぱいになり、キューイングが中断されます。一般に、大きなバッチよりも小さなバッチを (より頻繁に) エクスポートする方が効率的ですが、エクスポートはウェアハウス自体での書き込みが可能かどうかに左右されるため、別の理由による制約を受けることがあります。
オプションの作業として、最大キューサイズを設定します。詳細については、「設定オブジェクトの変更」を参照してください。
Identity Manager は、エクスポートサイクル中に書き込み接続を使用します。読み取り接続は、ウェアハウス内に現在いくつのレコードがあるかを (ウェアハウスの設定中に) 示し、フォレンジッククエリーインタフェースにサービスを提供するために使用されます。
ウェアハウスの接続は、アプリケーションサーバーのデータソース、JDBC 接続、またはデータベースリソースへの参照として定義できます。JDBC 接続またはデータベースリソースが定義された場合、データのエクスポートでは、書き込み操作中に少数の接続が集中的に使用され、その後、すべての接続が閉じられます。データエクスポータが読み取り接続を使用するのは、ウェアハウスの設定中、およびフォレンジッククエリーの実行中のみで、それらの接続は操作が完了するとすぐに閉じられます。
エクスポータは、書き込み接続と読み取り接続に同じスキーマを使用するので、同じ接続情報を両方のために使用できます。ただし、別個の接続がある場合、配備時にはウェアハウスのステージングテーブルのセットに対して書き込みを行い、それらのテーブルを実際のウェアハウスに変換し、ウェアハウステーブルを Identity Manager の読み込み元になるデータマートに変換することができます。
Identity Manager がウェアハウスから読み取りを行えないように、「データエクスポータの設定」フォームを編集できます。このフォームには、includeWarehouseCount プロパティーが含まれています。これは、Identity Manager でウェアハウスに問い合わせを行い、各データタイプのレコード数を表示するためのプロパティーです。この機能を無効にするには、「データエクスポータの設定」フォームをコピーし、includeWarehouseCount プロパティーの値を true に変更して、カスタマイズしたフォームをインポートします。
「データエクスポータの設定」ページから、「接続の追加」ボタンをクリックします。
「接続タイプ」ドロップダウンメニューからオプションを選択し、Identity Manager でデータウェアハウスに対する読み取り接続または書き込み接続を作成する方法を指定します。
「JDBC」。Java Database Connectivity (JDBC) アプリケーションプログラミングインタフェースを使用してデータベースに接続します。ウェアハウスインタフェースコードによって接続プールが提供されます。
「リソース」。リソースで定義されている接続情報を使用します。ウェアハウスインタフェースコードによって接続プールが提供されます。
「データソース」。接続の管理とプールのため、基盤となるアプリケーションサーバーを使用します。このタイプの接続では、アプリケーションサーバーからの接続が必要とされます。
ページに表示されるフィールドは、「接続タイプ」ドロップダウンメニューで選択したオプションに応じて変化します。データベース接続の設定の詳細については、オンラインヘルプを参照してください。
「保存」をクリックして設定の変更を保存し、「データエクスポータの設定」ページに戻ります。
別個の読み取り接続と書き込み接続を使用する場合は、この手順を繰り返します。
ウェアハウスを設定するには、読み取り接続と書き込み接続を選択し、ウェアハウスインタフェースコードのファクトリクラスを指定する必要があります。WIC ファクトリクラスは、Identity Manager とウェアハウスの間のインタフェースを提供します。Identity Manager にはデフォルトのコード実装が用意されていますが、独自に作成することもできます。カスタムファクトリクラスの作成については、『Sun Identity Manager Deployment Guide』の第 5 章「Data Exporter」を参照してください。
ファクトリクラスを含む jar ファイルとサポート用の jar ファイルは、エクスポートタスクを実行する Identity Manager サーバーと、データエクスポータを設定するすべてのサーバーの $WSHOME/exporter ディレクトリに配置する必要があります。データをエクスポートできるのは常に 1 つの Identity Manager サーバーのみです。
「データエクスポータの設定」ページで、「ウェアハウスの設定情報」セクションにある「編集」リンクをクリックします。
「ウェアハウスインタフェースのコードファクトリクラス名」フィールドに値を指定します。インテグレータがカスタムクラスを作成していない場合は、com.sun.idm.warehouse.base.Factory の値を入力します。
「接続の読み取り」および「接続の書き込み」ドロップダウンメニューの両方からオプションを選択し、接続を指定します。
「保存」をクリックして設定の変更を保存し、「データエクスポータの設定」ページに戻ります。
エクスポート可能な各データタイプには、そのタイプが、エクスポートされるかどうか、どのようにエクスポートされるか、およびいつエクスポートされるかの制御に使用される一連のオプションがあります。データのエクスポートによって Identity Manager サーバーの負荷が増加するため、ビジネス上の利点があるデータタイプについてのみ、エクスポートを有効にしてください。
次の表に、エクスポート可能な各データタイプの説明を示します。
表 16–1 サポートされるデータタイプ
データ型 |
説明 |
---|---|
Account |
User と ResourceAccount の間のリンクを含むレコード |
AdminGroup |
すべての ObjectGroups で利用可能な Identity Manager 権限のグループ |
AdminRole |
1 つまたは複数の ObjectGroups に割り当てられた権限 |
AuditPolicy |
Identity Manager オブジェクトに対して評価され、ビジネスポリシーへのコンプライアンスを判定する規則の集合 |
ComplianceViolation |
AuditPolicy に対するユーザーのコンプライアンス違反を含むレコード |
Entitlement |
特定の User のアテステーションのリストを含むレコード |
LogRecord |
1 つの監査レコードを含むレコード |
ObjectGroup |
組織としてモデルになっているセキュリテーィコンテナ |
Resource |
アカウントがプロビジョニングされる場所としてのシステムまたはアプリケーション |
ResourceAccount |
特定の Resource でアカウントを構成している一連の属性 |
Role |
アクセス用の論理コンテナ |
Rule |
Identity Manager で実行できるロジックのブロック |
TaskInstance |
実行中のプロセスまたは完了したプロセスを示すレコード |
User |
0 個以上のアカウントを含む論理ユーザー |
WorkflowActivity |
Identity Manager ワークフローの 1 つのアクティビティー |
WorkItem |
Identity Manager ワークフローで実行する手動のアクション |
「データエクスポータの設定」ページから、データタイプのリンクをクリックします。
「エクスポート」タブで、このデータタイプをエクスポートするかどうかを指定します。このデータタイプをエクスポートしない場合は、「エクスポート」チェックボックスを選択解除して「保存」をクリックします。エクスポートする場合はこの「エクスポート」タブで、必要に応じて残りのオプションを選択します。
「クエリーを許可」。モデルを照合できるかどうかを決定します。
「すべてをキューに入れる」。このタイプのオブジェクトに対するすべての変更を収集します。このオプションを選択すると、エクスポータに大きな処理負荷がかかる可能性があります。このオプションは慎重に使用してください。
「削除結果を収集」。このタイプの削除されたオブジェクトをすべて記録します。このオプションを選択すると、エクスポータに大きな処理負荷がかかる可能性があります。このオプションは慎重に使用してください。
「属性」タブでは、フォレンジッククエリーの一部として指定することができる属性と、クエリー結果に表示することができる属性を選択できます。管理者インタフェースからデフォルトの属性を削除することはできません。デフォルト属性の変更については、『Sun Identity Manager Deployment Guide』の第 1 章「Working with Attributes」を参照してください。
新しい属性名には次の特性があります。
attrName — この属性は最上位で、スカラーです。
attrName[] — この属性はリスト値がある最上位属性で、リスト内の要素はスカラーです。
attrName[’ key’] — この属性にはマップ値が格納され、指定されたキーを持つマップの値が必要です。
attrName[]. name2 — この属性はリスト値がある最上位属性で、リスト内の要素は構造体です。name2 はアクセスする構造体の属性です。
属性を EXT_RESOURCEACCOUNT_ACCTATTR テーブルにエクスポートする場合は、エクスポートする各属性の「監査」ボックスを選択する必要があります。
「スケジュール」タブで、このデータタイプと関連付けられている情報をエクスポートする頻度を指定します。サイクルの基準は、サーバーでの午前零時です。20 分ごとのサイクルであれば、指定の時間と、その時間の 20 分後および 40 分後にエクスポートが行われます。エクスポートがスケジュールされたサイクルより長くかかった場合は、次のサイクルがスキップされます。たとえば、20 分で定義されたサイクルが午前 0 時に開始される場合、エクスポートの完了までに 25 分かかると、次のエクスポートは午前 0 時 40 分に開始されます。午前 0 時 20 分にスケジュールされていたエクスポートは実行されません。
Identity Manager では、データのエクスポートの前後に実行するワークフローを指定できます。
Cycle Start ワークフローを使用すると、エクスポートの取り消しを保証するイベントが発生したときに、エクスポートの実行を禁止できます。たとえば、エクスポートの実行がスケジュールされている時刻に、ステージングテーブルに対して読み取りまたは書き込みを行うアプリケーションで排他的アクセスが必要となった場合は、このエクスポートを取り消す必要があります。ワークフローは 1 の値を返して、エクスポートを取り消します。Identity Manager は、エクスポートがスキップされたことを示す監査レコードを作成し、エラーの結果を示します。ワークフローが 0 を返して、エラーが発生していない場合は、データタイプがエクスポートされます。
Cycle Complete ワークフローは、すべてのレコードがエクスポートされたあとに実行されます。通常、このワークフローはエクスポートしたデータを処理するために、ほかのアプリケーションをトリガーします。このワークフローが完了したあと、エクスポータはほかのデータタイプのエクスポートを確認します。
サンプルワークフローは、$WSHOME/sample/web/exporter.xml ファイルにあります。エクスポータワークフローの subtype は DATA_EXPORT_AUTOMATION で、authType は WarehouseConfig です。
「データエクスポータの設定」ページで、「エクスポータ自動化」セクションにある「編集」リンクをクリックします。
必要に応じて、「サイクルの開始ワークフロー」ドロップダウンメニューから、エクスポートの前に実行するワークフローを選択します。
必要に応じて、「サイクルの開始ワークフロー」ドロップダウンメニューから、エクスポートのあとに実行するワークフローを選択します。
専用サーバーでエクスポートタスクを実行することは必須ではありませんが、大量のデータをエクスポートする予定であれば、専用サーバーの利用を検討してください。エクスポートタスクでは、データが効率的に Identity Manager からウェアハウスに転送されますが、エクスポート操作中には CPU が最大限に使用されます。専用サーバーを利用しない場合は、サーバーでの対話型のトラフィックの処理を制限する必要があります。 これは、大量のデータのエクスポート中には応答時間が大幅に増加するためです。
「データエクスポータの設定」ページで、「ウェアハウスのタスク設定」セクションにある「編集」リンクをクリックします。
「起動モード」ドロップダウンメニューからオプションを選択し、Identity Manager の起動時にウェアハウスタスクを自動的に開始するかどうかを指定します。「無効」を選択すると、タスクを手動で開始する必要があることになります。
自分の管理アカウントでエクスポータタスクが実行されるようにする場合は、「自分でタスクを実行」チェックボックスをオンにします。
タスクを実行できるサーバーを選択します。複数のサーバーを指定できますが、任意の時点で実行できるウェアハウスタスクは 1 つだけです。タスクを実行するサーバーが停止している場合、スケジューラは自動的に、リストに含まれる別のサーバーでタスクを再開します (リストがある場合)。
「キュー読み取りブロックのサイズ」フィールドでは、書き込みの前にキューからメモリーバッファーに読み取るレコードの数を指定します。このフィールドのデフォルト値は、ほとんどのエクスポートで適切です。Identity Manager リポジトリサーバーがウェアハウスサーバーに比べて低速である場合は、この値を大きくします。
「キュー書き込みブロックのサイズ」フィールドでは、1 つのトランザクションでウェアハウスに書き込むレコードの数を指定します。
「キュードレインスレッドの数」フィールドでは、キューにあるレコードの読み取りに使用する Identity Manager スレッドの数を指定します。キューテーブルに異なるタイプのレコードが多数ある場合には、この数を増やします。キューテーブルのデータタイプの数が少ない場合はこの値を減らします。
「保存」をクリックして設定の変更を保存し、「データエクスポータの設定」ページに戻ります。
データエクスポータが設定されて動作可能になると、キューに入れるよう設定されたすべてのデータタイプが、内部キューテーブルに収集されます。デフォルトではこのテーブルに上限はありませんが、Data Warehouse Configuration 設定オブジェクトを編集することで設定が可能です。このオブジェクトには、warehouseConfig という名前の入れ子になったオブジェクトがあります。次の行を warehouseConfig オブジェクトに追加します。
<Attribute name=’maxQueueSize’ value=’YourValue’/>
maxQueueSize の値は、231 より小さい任意の正の整数です。データエクスポータは、制限に達するとキューを無効にします。生成されたデータは、キューが空にされるまでエクスポートできません。
通常の Identity Manager の動作では、変更されたレコードが 1 時間に数千生成されることもあるため、キューテーブルが急速に拡大する場合があります。キューテーブルは Identity Manager リポジトリ内にあるため、このテーブルの拡大によって RDBMS 内の表スペースが使われ、表スペースが使い尽くされる可能性があります。表スペースの容量に限度がある場合は、キューに上限を設定することが必要になる場合があります。
キューテーブルのサイズを監視するには、データキュー JMX Mbean を使用します。詳細については、「データエクスポータの監視」を参照してください。