16.2 ワークフローの自動起動の設定

プロビジョニングモジュールがインストールされている場合、ユーザがリソースを要求してプロビジョニング要求を開始したときに、ワークフローが自動的に起動されます。また、Identity Managerのユーザアプリケーションドライバはアイデンティティボールト内のイベントをリッスンし、イベントに応答して適切なプロビジョニングワークフローを起動します(設定されている場合)。たとえば、アイデンティティボールトに新しいユーザが追加されるとプロビジョニングワークフローが自動起動されるよう、ユーザアプリケーションドライバを設定できます。ユーザアプリケーションドライバがワークフローを自動起動するよう設定するには、Identity Managerのポリシーとルールを使用します。

16.2.1 ポリシーについて

ユーザアプリケーションドライバでも、Identity Managerの他のドライバと同じ方法でフィルタとポリシーを使用できます。アイデンティティボールトでイベントが発生すると、そのイベントを説明するXMLドキュメントがIdentity Managerによって作成されます。XMLドキュメントは、チャネルを通して接続システムに渡されます(この場合、接続システムはユーザですアプリケーションドライバに関連付けられたフィルタやポリシーで、イベントに応答する方法を定義できます。また、その応答処理中に接続システムが使用できる形式にXMLドキュメントを変換する方法も定義できます。Identity Managerはいくつかのカテゴリのポリシーを提供しています(イベント変換、コ\'83\'7dンド変換、スキー\'83\'7d\'83\'7dッピング、出力変換など)。これらのポリシーを決められた手順で適用することにより、XMLドキュメントを変換できます。

ここでは、アイデンティティボールトのイベントに基づいてワークフローを起動する例を示します。どのポリシーを使用してもワークフローを起動できますが、この節の例では最も簡単で便利な方法を示しています。

ユーザアプリケーションドライバを作成すると、ドライバが使用するためのイベント変換ポリシーが作成されます。イベント変換ポリシーは、残りの加入者チャネルポリシーで処理されるXMLドキュメントを作成する役割を果たします。

メモ:ユーザアプリケーションドライバの作成時に作成されたイベント変換ポリシーは変更しないでください。このポリシーのDNはManage.Modify.Subscriberで始まります。このポリシーを変更するとワークフロープロセスが失敗することがあります。

空のスキーママッピングポリシーも作成されます。このポリシーは、アイデンティティボールト内のイベントに基づいてワークフローを起動する際の開始点として使用できます。

16.2.2 Policy Builderの使用

アイデンティティボールトイベントに基づいてワークフローを自動的に開始する一番簡単な方法は、ポリシービルダを使用することです。ポリシービルダには、ワークフローを自動開始する設定プロセスを簡素化するワークフローの開始アクションが用意されています。

  1. iManagerで、[Identity Manager]役割を展開し、[Identity Managerの概要]をクリックします。

  2. ドライバセットを指定します。

  3. ポリシーを管理するドライバをクリックします。[Identity Managerドライバの概要]が表示されます。

  4. 編集するポリシーをクリックします。

  5. [挿入]をクリックして、ポリシービルダを表示します。

  6. [新しいポリシーの作成]をクリックします。

  7. ポリシー名を入力します。

  8. [ポリシービルダ]をクリックします。

  9. [OK]をクリックします。

    iManagerの画面に、定義されているポリシールールが表示されます。

  10. [新しいルールの追加]をクリックします。

    iManagerに、[ルールビルダ]が表示されます。

  11. ルールの[説明]を入力します。

  12. [条件グループ1][If]条件で[操作属性]を選択します。

  13. ワークフローの開始に使用するアイデンティティボールト属性を指定するには、[名前を入力]フィールドの[属性の参照]ボタンを使用します。

    たとえば、電話番号の変更時にワークフローを開始する場合は、[電話番号]属性を選択します。

  14. 指定した属性をテストするために使用する演算子を選択する場合は、[演算子を選択]リストを使用します。

    たとえば、電話番号の変更時にワークフローを開始する場合は、[変更あり]属性を選択します。

  15. [アクション]リストから、[ワークフローの開始]を選択します。

  16. If条件が真の場合に実行するプロビジョニング要求定義を選択するには、[プロビジョニング要求DNを入力]フィールドのオブジェクトセレクタを使用します。

    [ユーザアプリケーションのURLを入力]フィールドと[認可ユーザのDNを入力]フィールドには、自動的に値が設定されます。

  17. [認定ユーザパスワードを入力]フィールドに、ユーザアプリケーション管理者のパスワードを入力します。

    平文でパスワードを入力することはセキュリティ上の危険を伴うため、名前付きパスワードの使用をお勧めします。詳細は、『Policies in iManager in Identity Manager 3.5』(Identity Manager 3.5のiManagerのポリシー)ガイドの名前付きパスワードに関する項目を参照してください。

  18. [受信者のDNを入力]フィールドに、ワークフローの受信者のDNをLDAP形式で指定します。

    受信者DNの式では、DNがRFC2253の形式(cn=user,ou=organizational unit,o=organization)に準拠していることを評価する必要があります。たとえば、[受信者のDNを入力]フィールドの[引数ビルダ]ボタンをクリックして、ワークフローに受信者のDNを渡す次の式を作成できます。

    Parse DN("qualified-slash","ldap",XPath("@qualified-src-dn"))
    
  19. [追加の引数を入力]フィールドに、ワークフローの引数を指定します。

    ワークフローが必要とする理由属性を指定するには、このフィールドを使用する必要があります。[追加の引数を入力]フィールドの[文字列ビルダ]ボタンをクリックして、理由属性を指定して、その属性の値を作成できます(例:「受信者の電話番号が変更された」)。

  20. [OK]をクリックして、ルールビルダを終了します。

  21. [OK]をクリックして、ポリシービルダを終了します。

  22. [OK]をクリックして、[ポリシー]画面を終了します。

  23. ワークフローが必要とする属性をすべてフィルタに追加したことを確認してください。

    この手順に記載している例の場合は、フィルタに[電話番号][CN]を追加する必要があります。フィルタへのオブジェクトの追加方法については、『Policies in iManager in Identity Manager 3.5』(Identity Manager 3.5のiManagerのポリシー)ガイド中のフィルタによるオブジェクトフローの制御に関する項目を参照してください。

16.2.3 スキーママッピングポリシーエディタの使用

スキーママッピングポリシーエディタでは、ワークフローを自動開始するための手段として、ワークフローのランタイムデータをアイデンティティボールト属性にマッピングできます。作業を開始するために、ユーザアプリケーションドライバには、編集可能な空のポリシーが用意されています。ワークフローランタイムデータは、セクション 17.0, プロビジョニング要求定義の設定で説明しているワークフロー定義テンプレートから取得できます。

ワークフローの作成時、アイデンティティボールトには次のグローバル属性が作成されます。

  • <ワークフロー名> _StartWorkflow. この属性がワークフローを開始します。

  • <ワークフロー名> _recipient. この属性は、ワークフローが必要とするランタイムデータをアイデンティティボールトから受け取ります。

  • <ワークフロー名> _reason. この属性は、ワークフローが必要とするランタイムデータをアイデンティティボールトから受け取ります。

他の2つの属性は常に存在し、ワークフローが必要とするランタイムデータをアイデンティティボールトから受け取ります。

  • AllWorkflows:reason

  • AllWorkflows:recipient

アイデンティティボールト内のイベントに基づいたワークフローの開始を設定する前に、次の情報があることを確認してください。

  • ワークフローを開始する契機となるアイデンティティボールト属性名

  • 開始するワークフロー名ワークフローにはすべて、<ワークフロー名>_StartApprovalFlowという名前の特別な属性が含まれています。適切なeDirectory属性をワークフローの<ワークフロー名>_StartApprovalFlow属性にマッピングすることにより、アイデンティティボールト内のイベントに基づいてワークフローを自動起動するよう設定できます。

アイデンティティボールト内のイベントに基づいてワークフローが起動されるように設定する

  1. iManagerで、iManagerナビゲーションツリーにある[Identity Manager]の下の[Identity Manager Overview]リンクをクリックします。

    図

    [Identity Managerの概要]ページが表示されます。このページでは、ドライバセットを選択するよう求めるメッセージが\'95\'5c示されます。

  2. ツリー全体を検索する]、[検索]の順にクリックします。[Identity Managerの概要]ページに、現在選択されているドライバセットのドライバを表すグラフィックが表示されます。

  3. ユーザアプリケーションドライバを表す大型のドライバアイコンをクリックします。

    図

    図

    上の左向きの矢印は発行者チャネル(ユーザアプリケーションドライバでは使用されません)を表し、下の右向きの矢印は購読者チャネルを表します。グラフィック内のオブジェクトにマウスポインタを置くと、そのオブジェクトの説明が表示されます。

    図
  4. スキーママッピングポリシー]アイコンをクリックします。[スキーママッピングポリシー]ダイアログボックスが表示されます。

    図
  5. 編集]をクリックします。[Identity Managerポリシー]ダイアログボックスが表示されます。(このダイアログボックスは、アイデンティティボールトのクラスをアプリケーションクラスとマッピングしますが、この手順ではeDirectory属性をユーザアプリケーション属性とマッピングします)

    図
  6. [アプリケーションスキーマのリフレッシュ]をクリックします。スキーマを読み込むためにドライバを停止し、再起動するよう指示するメッセージが表示されます。スキーマのリフレッシュには約 60秒かかります。この手順では、次の手順の準備として最新のワークフロー情報のセットが読み込まれます。この情報では識別\'83\'7bールトから、起動されるワークフローへ移動する情報が指定されます。

  7. [OK]をクリックして、スキーマをリフレッシュします。スキーマのリフレッシュが完了するとメッセージが表示されます。

  8. [OK]をクリックして、スキーマのリフレッシュメッセージを閉じます。[Identity Manager Policy]ダイアログ\'83\'7bックスに戻ります。

  9. [クラスに固有でない属性]をクリックします。Identity Managerスキーママッピングポリシーエディタが表示されます。

    図

    [eDirectory属性]ドロップダウンリストには、eDirectoryのすべての属性が含まれています。

    [アプリケーション属性]ドロップダウンリストには、アクティブなすべてのワークフローの属性が含まれています。リスト内の属性には、AllWorkflows (属性がすべてのワークフローに適用されることを示します)、または特定のワークフロー名が先頭に付いています。同じeDirectory属性(managerなど)を、すべてのワークフローのmanager属性にマップする場合は、managerAllworkflows:managerにマップします。異なるeDirectory属性(HRmanagerなど)を特定のワークフローで使用するには、eDirectory属性を特定のワークフロー属性(BusinessCardChange:managerなど)にマップします。

    \'83\'7dップされた属性は、[eDirectory Attributes]列と[Application Attributes]列に並んで\'95\'5c示されます。

    次の手順では、ワークフローの起動に使用するeDirectory属性をそのワークフローの_StartWorkflow属性にマップします。ワークフローで他のeDirectory属性も使用される可能性がある場合は、その属性もマップしてください。たとえば、eDirectoryのAddress属性がワークフローのトリガである場合、ワークフローではCityStateなどの属性も必要になります。代わりに、これらの属性をポリシーでマップすることもできます。

  10. [アプリケーション属性]リストで、設定するワークフローの_StartWorkflow属性を選択します。次の例では、BusinessCardChangeワークフローの_StartWorkflow属性が表示されています(BusinessCardChange_StartWorkflow)。

    図
  11. eDirectory属性]リストでeDirectory属性を選び、その属性が変更された場合にワークフローを起動するようにします。次の例では、Telephone属性が選択されています。この場合、従業員の電話番号が変更されると、BusinessCardChangeワークフローが起動します。

    図
  12. 追加]をクリックします。eDirectory属性がアプリケーション属性にマップされます。

    図
  13. ステップ 10ステップ 12を繰り返して、eDirectory属性をワークフローの_reason属性と_recipient属性にマップします。

  14. ワークフローで必要となるeDirectory属性がまだある場合、ステップ 10ステップ 12を繰り返して、マップが必要な属性をすべてマップします。

    アプリケーションの_StartApprovalFlow属性にマップされたeDirectory属性で変化が起きると、ワークフローが自動起動されます。ただし、eDirectory属性がドライバフィルタに含まれている場合は、eDirectory属性はスキーママッピングポリシーに到達するだけです。次の手順では、eDirectory属性をドライバフィルタに追加します。

  15. OK]をクリックして、[ Schema Mapping Policy Editor]を閉じます。

  16. OK]をクリックして、[Identity Manager Policy]ダイアログ\'83\'7bックスを閉じます。

  17. Close]をクリックして、[Schema Mapping Policies]ダイアログ\'83\'7bックスを閉じます。

  18. [ドライバフィルタ]アイコンをクリックします。

    図

    フィルタウィンドウが表示されます。

    図

    イベントフィルタでは、Identity Managerエンジンがイベントを処理するオブジェクトクラスや属性を指定します。左側にある読み込み専用の[フィルタ]リストでは、クラスの属性が表示されます。右側の[Class Name]リストでは、ターゲットオブジェクトに関連付けられたオプションが\'95\'5c示されます。

  19. フィルタに追加する属性が属しているクラスの名前をクリックします(例:User)。

  20. [属性の追加]をクリックします。属性の一覧が表示されます。

  21. 属性を選択して、[OK]をクリックします。[Filter]リストに属性が追加されます。

    図
  22. 属性名をクリックします。右側のパネルに、その属性の同期オプションが\'95\'5c示されます。

    図
  23. Subscribe]で、[Synchronize]をクリックします。

    図
  24. フィルタの他の属性を指定します。属性値への変更をレポート、同期するには、その属性の[同期]を選択します。属性値への変更がレポートおよび同期されないようにするには、[Ignore]を選択します。

  25. [OK]をクリックします。変更を有効にするためにドライバを再起動するかどうか尋ねるメッセージが表示されます。

  26. [OK]をクリックします。[Identity Manager Driver Overview]ページに戻ります。