6.1 Designerでのフィルタタスク

この節では、Designerにおける一般的なフィルタ関連のタスクを実行する手順を説明します。

6.1.1 フィルタエディタへのアクセス方法

フィルタエディタにより、フィルタの編集ができます。フィルタエディタへのアクセス方法には、モデルアウトライン、ポリシーフローおよびポリシーセットビューのそれぞれを使用する3つの方法があります。

[Model Outline (モデルアウトライン)]ビュー

  1. 開いているプロジェクトで、[Outline (アウトライン)]タブをクリックします。

  2. [Show Model Outline (モデルアウトラインの表示)]アイコンをクリックします。XSLTポリシーを定義するためのポリシービルダインタフェース

  3. フィルタを管理するドライバを選択し、右側のプラス記号をクリックします。

  4. [フィルタ]アイコンをダブルクリックして、フィルタエディタを起動します。

    または

    右クリックして、[編集]を選択します。

[Policy Flow (ポリシーフロー)]ビュー

  1. 開いているプロジェクトで、[Outline (アウトライン)]タブをクリックします。

  2. [Show Policy Flow (ポリシーフローの表示)]アイコンを選択します。

  3. [Sync (同期)]アイコンまたは[Notify (通知)]アイコンをダブルクリックして、フィルタエディタを起動します。

  4. ポリシーフローの下にあるポリシーセットマネージャにフィルタが表示されている場合は、このフィルタをダブルクリックしてフィルタエディタを起動します。

    または

    右クリックして、[[Edit Policy (ポリシーの編集)]>[フィルタ]の順に選択します。

ポリシーセットビュー

  1. フィルタポリシーをダブルクリックします。

キーボード操作

表 6-1 フィルタエディタでのキーボード操作

アクション

説明

上矢印

フィルタエディタ内でカーソルを上方向に移動します。

下矢印

フィルタエディタ内でカーソルを下方向に移動します。

左矢印

表示されている情報を縮小表示します

右矢印

表示されている情報を展開します。

Insert

クラスを追加します。

Ctrl+Insert

属性を追加します。

Delete

選択された項目を削除します。

Enter

編集モードに切り替えます。変更を確定するには、Enterを2回押します。

Esc

編集モードを終了します。

6.1.2 フィルタの編集

フィルタエディタにより、フィルタの作成と編集ができます。コンテキストに応じたメニューを表示するには、項目を右クリックします。

図 6-1 フィルタオプション

クラスと属性の削除または追加

クラスと属性を削除または追加することで、接続されたデータストアとアイデンティティボールトとの間で同期するオブジェクトを指定できます。

クラスまたは属性の削除

クラスまたは属性を同期しないようにする場合は、クラスまたは属性をフィルタから完全に削除するのが最善の方法です。フィルタから属性とクラスを追加または削除するには、次の2つの方法があります。

  • 削除するクラスまたは属性を右クリックし、[削除]を選択します。
  • 削除するクラスまたは属性を選択し、右上隅の[削除]アイコン をクリックします。
クラスの追加
  1. フィルタエディタ内で右クリックし、[Add Classes (クラスの追加)]をクリックします。

    または

    右上隅の[Add Classes (クラスの追加)]アイコンをクリックします。

  2. 追加するクラスを参照して選択し、[OK]をクリックします。

  3. 情報を同期するオプションを変更します。

  4. 変更を保存するため、[ファイル]>[保存]の順にクリックします。

属性の追加
  1. フィルタエディタ内で右クリックし、[属性の追加]をクリックします。

    または

    右上隅の[属性]アイコンをクリックします。

  2. 追加する属性を参照して選択し、[OK]をクリックします。

  3. 情報を同期するオプションを変更します。

  4. 変更を保存するには、[ファイル]>[保存]の順にクリックします。

複数の属性の変更

フィルタエディタでは、複数の属性を一度に変更できます。キーを押しながら複数の属性を選択します。オプションを変更すると、選択したすべての属性でそれが変更されます。

既存のフィルタのコピー

既存のフィルタを別のドライバからコピーし、現在作業しているドライバで使用できます。

  1. Copy an Existing Filter (既存のフィルタのコピー)]アイコン をクリックします。

    または

    フィルタエディタ内で右クリックし、[Copy an Existing Filter (既存のフィルタのコピー)]をクリックします。

  2. コピーするフィルタオブジェクトを参照して選択し、[OK]をクリックします。

    プロジェクトに複数のアイデンティティボールトがある場合は、他のアイデンティティボールトからフィルタをコピーできます。他のオブジェクトを参照して選択する場合は、他のアイデンティティボールトを参照し、そこに保存されているフィルタを使用できます。

属性のデフォルト値の設定

新しい属性をフィルタに追加する場合は、そのデフォルト値を定義できます。

  1. 右上隅の[Set Default Values for New Attributes (新しい属性のデフォルト値の設定)]アイコン をクリックします。

  2. 新しい属性に指定するオプションを選択し、[OK]をクリックします。

フィルタ設定の変更

フィルタエディタには、アイデンティティボールトと接続システム間の情報の同期方法を変更するオプションがあります。フィルタの設定は、クラスと属性で異なります。

  1. フィルタエディタで、クラスを選択します。

  2. 選択したクラスのフィルタ設定を変更します。

    オプション

    定義

    発行者

    • [同期]: 接続システムからアイデンティティボールト方向でクラスを同期できます。

    • [無視]: 接続システムからアイデンティティボールト方向でクラスを同期しません。

    購読者

    • [同期]: アイデンティティボールトから接続システム方向でクラスを同期できます。

    • [無視]: アイデンティティボールトから接続システム方向でクラスを同期しません。

    ホームディレクトリの作成

    • [はい]: ホームディレクトリを自動的に作成します。

    • [いいえ]: ホームディレクトリを作成しません。

    テンプレートのメンバを追跡

    • [はい]: 発行者チャネルがテンプレートからオブジェクトを作成するときに、「テンプレートのメンバ」属性を保持しているかどうかを調べます。

    • [いいえ]: 「テンプレートのメンバ」属性を追跡しません。

  3. 属性を選択します。

  4. 選択した属性のフィルタ設定を変更します。

    オプション

    定義

    発行者

    • [同期]: このオブジェクトに対する変更は、レポートされ、自動的に同期化されます。

    • [無視]: このオブジェクトに対する変更は、レポートも自動的な同期化もされません。

    • [通知]: このオブジェクトに対する変更はレポートされますが、自動的には同期化されません。

    • [リセット]: オブジェクト値を、もう一方のチャネルで指定された値にリセットします(この値は、発行者と購読者の一方のチャネルだけに設定できます。両方には設定できません)。

    購読者

    • [同期]: このオブジェクトに対する変更は、レポートされ、自動的に同期化されます。

    • [無視]: このオブジェクトに対する変更は、レポートも自動的な同期化もされません。

    • [通知]: このオブジェクトに対する変更はレポートされますが、自動的には同期化されません。

    • [リセット]: オブジェクト値を、もう一方のチャネルで指定された値にリセットします(この値は、発行者と購読者の一方のチャネルだけに設定できます。両方には設定できません)。

    マージ権限

    • [Default Behavior (デフォルトの動作)]: 属性がどちらのチャネルでも同期されていない場合、マージは行われません。

      属性が一方のチャネルだけで同期されている場合は、そのチャネルのターゲットに既存の値がすべて削除され、そのチャネルのソースの値と置き換えられます。ソースに複数の値があるが、ターゲットでは値を1つしか受け取れない場合は、値のうち1つだけがターゲット側で使用されます。

      属性が両方のチャネルで同期され、いずれの側も値を1つしか受け取れない場合、接続されているアプリケーションがアイデンティティボールト値を取得します。ただし、アイデンティティボールトに値がない場合を除きます。この場合は、アイデンティティボールトが、接続されているアプリケーションから(存在する場合は)値を取得します。

      属性が両方のチャネルで同期され、一方だけが複数の値を受け入れられる場合は、単一値しか受入れられない方の値が複数値側に存在していない場合に限り、複数値側に追加されます。単一の側に値がない場合は、単一の側に追加する値を選択できます。

      これは常に有効な動作です。

    • [アイデンティティボールト]: 属性が発行者チャネルではなく購読者チャネルで同期されている場合のデフォルトの動作と同じ動作です。

      これは、購読者チャネルで同期されている場合に有効な動作です。

    • [アプリケーション]: 属性が購読者チャネルではなく発行者チャネルで同期されている場合のデフォルトの動作と同じ動作です。

      これは、発行者チャネルで同期されている場合に有効な動作です。

    • [なし]: 同期に関係なく、マージされません。

    Identity Managerに対する変更の最適化

    • [はい]: アイデンティティボールトで行われる変更を最小限にするために、発行者チャネルでこの属性の変更を調べます。

    • [いいえ]: 変更を調べません。

  5. 保存]アイコン をクリックして、変更を保存します。

6.1.3 フィルタのテスト

Designerには、ポリシーシミュレータと呼ばれるツールが付属しています。このツールを使用すると、運用環境に実装しなくてもポリシーをテストできます。ポリシーシミュレータをフィルタエディタから起動して、変更後のポリシーをテストできます。

  1. ツールバーの[Launch Policy Simulator (ポリシーシミュレータの起動)]アイコン をクリックします。

  2. Import (インポート)]を選択し、イベントをシミュレートするファイルを参照して選択します。

    ポリシーシミュレータ
  3. ファイルを選択して、[開く]をクリックします。この例では、com.novell.designer.idm.policy\simulation\add\User.xml ファイルを使用して、ユーザオブジェクトの「追加」イベントをシミュレートします。

    ポリシーシミュレータ

    ポリシーシミュレータに、ユーザの「追加」イベントの入力ドキュメントが表示されます。

  4. 次へ]をクリックして、シミュレーションを開始します。

    ポリシーシミュレータ

    ポリシーシミュレータに、追加イベントのログ、出力ドキュメント、および入力ドキュメントと生成された出力ドキュメントの比較が表示されます。

  5. トレース]タブを選択して、DSTRACEに表示されるとおりの追加イベントの結果を表示します。

    ポリシーシミュレータ
  6. 出力]タブを選択し、入力ドキュメントに対してフィルタが実行されたときに生成される出力ドキュメントを表示します。入力ドキュメントはユーザの「追加」イベントです。

    ポリシーシミュレータ

    入力ドキュメントおよび出力ドキュメントを編集できます。変更を保持する場合は、[名前を付けて保存]をクリックします。

  7. Compare (比較)]タブを選択して、入力ドキュメントのテキストと、生成された出力ドキュメントを比較します。

  8. Repeat (繰り返し)]をクリックして、別の入力ドキュメントを選択し、イベントの結果を表示します。

  9. フィルタのテストが済んだら、[終了]をクリックして、ポリシーシミュレータを閉じます。

6.1.4 フィルタのXMLソースの表示

Designerでは、XMLエディタまたはテキストエディタを使用して、XMLを表示、編集、および検証できます。

XMLソースの表示

XMLソースは、XML形式またはXMLツリー形式で表示できます。

XMLソースビューを開くには

  1. フィルタエディタのワークスペースの下部にある[XML Source (XMLソース)]をクリックします。

XMLエディタに行番号が表示されます。行番号を表示するには、左の余白を右クリックし、[Show Line Numbers (行番号の表示)]を選択します。

図 6-2 「Show Line Numbers (行番号の表示)」フィルタ

XMLエディタは、XMLを機能別に展開または縮小します。多くのXMLを含む機能が複数ある場合は、左上隅のマイナスアイコンをクリックして、XMLを縮小できます。XML機能をすべて展開するには、左上隅のプラスアイコンをクリックします。

各要素には、左の余白にそれぞれのプラスまたはマイナスアイコンがあります。

図 6-3 フィルタのXMLのプラスまたはマイナスアイコン

XMLをツリー形式で表示するには

  1. フィルタエディタのワークスペースの下部にある[XML Tree (XMLツリー)]をクリックします。

ツリー全体を表示するには、一覧表示されている個々の項目を展開します。

XMLソースの編集

XMLはXMLエディタで編集できます。GUIを使用する場合と同様、XMLエディタで変更することもできます。

図 6-4 フィルタのXMLソースの編集

ロードされるデフォルトエディタは、.xmlファイルのタイプに関連付けられています。デフォルトエディタが見つからない場合は、システムのテキストエディタがロードされます。XMLソースビューの機能は、ロードされるエディタに基づきます。

右クリックすると、XMLエディタに含まれる機能のリストが表示されます。

  • [元に戻す]: 最後のアクションを元に戻します。

  • [Revert File (ファイルを戻す)]: ファイルを、保存されていたバージョンに戻します。

  • [保存]: ファイルを保存します。

  • [切り取り]: 選択された情報を切り取ります。

  • [コピー]: 選択された情報をクリップボードにコピーします。

  • [貼り付け]: 情報をドキュメントに貼り付けます。

  • [Shift Right (右にシフト)]: 行を右にインデントします。

  • [Shift Left (左にシフト)]: 行を左にインデントします。

  • [Attache DTD or XML Schema (DTDまたはXMLスキーマを添付)]: ポリシーの検証のために、DTDまたはXMLスキーマファイルを添付します。

  • [検証]: XMLコードを検証します。

  • [初期設定]: XMLエディタの初期設定を指定します。

XMLソースビュー用に、別のXMLエディタを選択するには

  1. メインメニューの[Window (ウィンドウ)] > [初期設定]の順にクリックします。

  2. 一般] > [Editor (エディタ)] > [File Associations (ファイルの関連付け)]の順にクリックします。

  3. ファイルタイプのリストから[*.xml]を選択します。

  4. [Associated editors (関連付けられているエディタ)]で、エディタ(たとえば、[Novell XML Editor (Novell XMLエディタ)])を選択します(適切なエディタがリストにない場合は、[追加]をクリックしてリストに追加します)。

  5. OK]をクリックします。

  6. フィルタエディタをいったん閉じて再度開きます。[XMLソース]ビューにデフォルトエディタがロードされます。

XMLソースの検証

XMLエディタは、XMLコードを検証します。右クリックし、[検証]を選択します。エラーがある場合は、その行に赤の「x」が表示されます。ウィンドウの下部の説明に、問題についての詳しい情報が示されます。

図 6-5 フィルタの検証

この例では、<filter-attr>の開始タグと最初の1文字がありません。

6.1.5 追加のフィルタオプション

フィルタオブジェクトを右クリックすると、[Outline (アウトライン)]ビュー、[Policy Flow (ポリシーフロー)]ビュー、および[Policy Set (ポリシーセット)]ビューで、複数のオプションが表示されます。

[Outline (アウトライン)]ビューの追加オプション

  1. [Outline (アウトライン)]ビューで、フィルタオブジェクトを右クリックします。

    • [Live Operations (ライブ操作)] > [Deploy Filter (フィルタの展開)]: アイデンティティボールトにフィルタを展開します。

    • [Clear (クリア)]: フィルタポリシーからすべての内容を削除します。ただしオブジェクトは残します。

    • [編集]: フィルタエディタを起動します。詳細については、セクション 6.1.2, フィルタの編集を参照してください。

    • [名前を付けて保存]: フィルタを.xmlファイルとして保存します。

    • [Simulate (シミュレート)]: ポリシーシミュレータを起動します。詳細については、セクション 6.1.3, フィルタのテストを参照してください。

[Policy Flow (ポリシーフロー)]ビューの追加オプション

  1. [Policy Flow (ポリシーフロー)]ビューで、フィルタオブジェクトを右クリックします。

[Policy Set (ポリシーセット)]ビューの追加オプション

  1. [Policy Set (ポリシーセット)]ビューで、フィルタオブジェクトを右クリックします。

    • [Clear (クリア)]: フィルタポリシーからすべての内容を削除します。ただしオブジェクトは残します。

    • [編集]: フィルタエディタを起動します。詳細については、セクション 6.2.2, フィルタの編集を参照してください。

    • [保存]: フィルタを.Xmlファイルとして保存します。

    • [Simulate (シミュレート)]: ポリシーシミュレータを起動します。詳細については、セクション 6.1.3, フィルタのテストを参照してください。

    • [Live Operations (ライブ操作)] > [Deploy Filter (フィルタの配置)]: アイデンティティボールトにフィルタを展開できます。