21.1 ワークフローベースのプロビジョニングについて

ワークフローベースのプロビジョニングは、Identity Managerの主要な機能で、組織のセキュアリソースへのユーザアクセスを管理するプロセスです。このようなリソースには、ユーザアカウント、コンピュータ、データベースなどのデジタルエンティティが含まれます。このリリースでは、プロビジョニングされたリソースは、Identity Managerエンタイトルメントにマップされるようになっています。

Identity Managerは、広範囲のプロビジョニング要求を処理できます。プロビジョニング要求は、組織のリソースへのアクセスを付与するまたは取り消すことを目的とした、ユーザまたはシステムからのアクションです。プロビジョニング要求は、Identity Managerユーザアプリケーションからエンドユーザが直接開始することもできますし、アイデンティティボールト(eDirectory)で発生するイベントに対応して間接的に開始することもできます。

プロビジョニング要求に対して、組織内の1人以上の個人による承認が必要な場合、ワークフローが開始されます。このワークフローにより、リクエストの処理に必要な承認が調整されます。。1人の個人からの承認を必要とするプロビジョニング要求もあれば、複数の個人からの承認を必要とするプロビジョニング要求もあります。場合によっては、承認なしに実行できる要求もあります。

承認手順が順次実行されるシーケンシャル方式の処理を必要とするワークフローもあれば、パラレル処理をサポートするワークフローもあります。プロビジョニング要求を定義する際に、ワークフローがサポートする処理方式(シーケンシャル方式かパラレル方式)を指定します。

Identity Managerには、管理者がユーザアプリケーションにプロビジョニング機能を組み込む際に利用できるWebベースのツールセットが用意されています。これらのツールを使用して、プロビジョニング要求を設定したり、実行中のワークフローを管理したりできます。プロビジョニング要求を設定するには、管理者が、リソースをワークフローに関連付ける「プロビジョニング要求定義」を作成します。

21.1.1 上位レベルのアーキテクチャ

次の図は、Identity Managerに含まれる、ワークフローベースのプロビジョニングシステムでの上位レベルのアーキテクチャを示します。

説明:説明:図

次の節では、このアーキテクチャの各コンポーネントについて説明します。

プロビジョニングWebインタフェース

Identity Managerユーザアプリケーションには、エンドユーザがプロビジョニング要求を送信したり、送信済みのリクエストを管理したりするためのWebインタフェースが用意されています。また、ユーザアプリケーション管理者または組織マネージャが、プロビジョニングワークフローにおける委任ユーザとプロキシを割り当てられる機能も備わっています。

ヒント:プロビジョニングおよびワークフローのアクションは、Identity Managerユーザアプリケーションの[要求と承認]タブで使用できます。

委任ユーザとプロキシの詳細な説明については、セクション 21.3, プロビジョニングのセキュリティを参照してください。ユーザアプリケーションの操作の詳細については、『Identity Managerユーザアプリケーション: ユーザーズガイド』を参照してください。

iManager管理ツール

iManagerでは、プロビジョニング要求およびそれに関連付けられたワークフローの設定および管理に使用するためのプラグインが用意されています。

プロビジョニング要求を設定するには、プロビジョニング要求をプロビジョニングされたリソースに関連付け、関連ワークフローのランタイム特性を指定し、リクエストを有効にします。プロビジョニング要求がいったん開始されると、iManagerを使用して、ワークフロープロセスのステータスを表示したり、ワークフロー内のアクティビティを再割り当てしたり、応答のないワークフローを終了したりすることができます。

Identity Managerユーザアプリケーションドライバ

プロビジョニングリソースへのエンドユーザ要求のサポートに加え、Identity Managerでは、eDirectoryで発生するイベントに対応してプロビジョニング要求を開始することもできます。Identity Managerのユーザアプリケーションドライバは、イベントをリッスンし、対応するプロビジョニング要求を開始することで応答します。これらのリクエストは、ワークフローを順番に開始して、承認プロセスを処理することができます。たとえば、eDirectoryに新しいユーザが追加されると、自動的に事前定義されたプロビジョニング要求とワークフローを開始できます。

プロビジョニングシステム

プロビジョニングシステムは、プロビジョニング要求の開始と実行に必要なすべての処理を実行します。要求に1つ以上の承認が必要な場合、プロビジョニングシステムは、ワークフローを順番に呼び出して、ワークフロープロセスを開始します。必要な承認が付与された後、プロビジョニングシステムは、要求どおりにリソースのプロビジョニングを実行します。

プロビジョニングシステムは、アイデンティティボールト(eDirectory)に、使用可能なプロビジョニング要求と未処理のプロビジョニング要求に関する情報を保持します。

要求を開始する場合、またはリクエストの実行に必要な処理を実行する場合、システムはディレクトリ抽象化レイヤを使用してアイデンティティボールトにアクセスします。

ディレクトリ抽象化レイヤの詳細については、セクション 4.0, ディレクトリ抽出化レイヤの設定を参照してください。

ワークフローシステム

プロビジョニング要求が1つ以上の承認を必要とする場合、ワークフローシステムで承認プロセスが調整されます。ワークフローシステムは次のコンポーネントとのやり取りを行います。

  • ワークフローデータベース
  • スクリプトエンジン
  • Audit
  • SMTP
  • セキュリティシステム

ワークフローデータベース

実行中のワークフローの状態を追跡できるように、ワークフローシステムは情報をデータベースに格納します。データベースには、ワークフロープロセスインスタンス、ワークリスト(キュー)、およびワークフロー宛先についての情報が格納されます。ワークフロープロセスの実行中に追加されたコメントも格納されます。

スクリプトエンジン

ワークフローに評価が必要なダイナミック式が含まれている場合には必ず、ワークフローシステムは、スクリプトエンジンを呼び出します。ダイナミック式とは、変数、関数、演算子、およびディレクトリ抽象化レイヤのエンティティ参照を含むものを指します。

Novell Audit

ワークフロープロセスの状態をログとして記録する場合、ワークフローシステムはNovell Auditとのやり取りを行います。ワークフローは、実行中、発生するさまざまなイベントについての情報を記録できます。ログデータは、Novell Auditレポーティングツールを使用して確認できます。

ログの設定の詳細については、セクション 5.0, ログの設定を参照してください。Identity Managerユーザアプリケーションで生成するログメッセージのレベル制御の詳細については、セクション 12.0, ログの環境設定を参照してください。

SMTP

ワークフローシステムは、通常、実行中のさまざまなポイントで電子メール通知を送信します。たとえば、ワークフローアクティビティが新しい宛先に割り当てられる場合に、電子メールが送信されます。

管理者は、iManagerで電子メールテンプレートを編集し、このテンプレートをワークフロープロセスで使用することができます。ランタイム時、ワークフローシステムはeDirectoryからテンプレートを取得し、タグを通知に適したダイナミックテキストに置き換えます。

電子メール通知はSMTP(Simple Mail Transfer Protocol)で処理されます。

電子メール通知に必要な基本的な設定手順については、セクション 23.3, 電子メールサーバの設定およびセクション 23.4, インストールされている電子メールテンプレートでの作業を参照してください。ワークフローのための電子メール通知の設定の詳細については、ワークフローアクティビティの設定を参照してください。

セキュリティ

セキュリティシステムは、ワークフローベースのプロビジョニングアプリケーションのためのセキュリティをすべて処理します。

ワークフローセキュリティの詳細な説明については、セクション 21.3, プロビジョニングのセキュリティを参照してください。

21.1.2 プロビジョニングおよびワークフローの例

ITシステムのアカウントを必要とするユーザがいる場合を想定します。アカウントを設定するために、ユーザはIdentity Managerユーザアプリケーションを使用して要求を開始します。この要求によりワークフローが開始され、ワークフローにより承認プロセスが調整されます。必要な承認が付与されると、要求が実行されます。このプロセスには3つの基本ステップがあります。次にそれぞれについて説明します。

ステップ1: 要求の開始

Identity Managerユーザアプリケーションで、ユーザはリソースリストをカテゴリで参照し、プロビジョニングを行うリソースを1つ選択します。アイデンティティボールトで、選択したプロビジョニングされたリソースがプロビジョニング要求定義に関連付けられます。プロビジョニング要求定義は、プロビジョニングシステムで最も重要なオブジェクトになります。プロビジョニング要求定義は、リソースをワークフローに関連付け、ワークフロープロセスをエンドユーザに適用する役割を果たします。プロビジョニング要求定義は、ユーザに初期要求フォームを表示したり、初期要求に基づいてワークフローを開始したりするために必要なすべての情報を提供します。

この例では、ユーザはNew Accountリソースを選択します。ユーザが要求を開始すると、Webアプリケーションは、プロビジョニングシステムから初期要求フォームと、関連する初期要求データを取得します。プロビジョニングシステムは、プロビジョニング要求定義からこれらのオブジェクトを取得します。

プロビジョニング要求が開始されると、プロビジョニングシステムによってイニシエータと受信者が追跡されます。イニシエータとは、要求を作成した人のことです。受信者とは要求の対象になる人のことです。場合によっては、イニシエータと受信者が同じ人物になることもあります。

各プロビジョニング要求には、それぞれに関連付けられた操作があります。ユーザがリソースに対するアクセス権を付与するか取り消すかは操作で決まります。

ステップ2: 要求の承認

ユーザが要求を開始すると、プロビジョニングシステムはワークフロープロセスを開始します。ワークフロープロセスは、承認を調整します。この例では、2つのレベルの承認が必要です。1つはユーザのマネージャからの承認で、もう1つはマネージャのスーパバイザからの承認です。承認がワークフロー内のユーザに拒否された場合、フローは終了し、要求は拒否されます。

メモ:Identity Managerには、最大5つまでのレベルのワークフロー承認をサポートするプロビジョニング要求テンプレートが用意されています。Identity Managerの後続リリースでは、Eclipseベースの設計環境で、独自のカスタムワークフロープロセスを作成できるツールが提供されます。このリリースに付属のテンプレートの詳細については、セクション 22.2, インストールされているテンプレートでの作業を参照してください。

ワークフローは、シーケンシャル方式またはパラレル方式のどちらの承認プロセスでも実行できます。シーケンシャルワークフローでは、各承認タスクが次の承認タスクの前に処理される形になります。パラレルワークフローでは、同時に複数の承認タスクを実行できます。

シーケンシャルフロー - 2度の承認で構成されるシーケンシャルワークフローの基本的な設計パターンを次に示します。

説明:説明:図

パラレルフロー - 2度の承認で構成されるパラレルワークフローの基本的な設計パターンを次に示します。

説明:説明:図

メモ:表示ラベル(「1次承認」、「2次承認」など)は、使用しているアプリケーション要件に合わせて簡単に変更できます。パラレルフローの場合、シーケンシャル処理であることがわかりやすいラベルを指定することもできます。たとえば、「パラレル承認1/3」、「パラレル承認2/3」などのラベルを割り当てることが必要になります。

ワークフロー定義は、次のコンポーネントで構成されます。

プロセスコンポーネント

説明

アクティビティ

アクティビティとは、タスクを表すオブジェクトのことです。アクティビティは、ユーザに情報を表示したり、ユーザの応答に対応したり、ユーザには表示されないバックグラウンド機能を実行したりすることができます。

先に示した例では、アクティビティはボックスで表示されています。

Identity Managerユーザアプリケーションでは、承認プロセスを処理するユーザアクティビティは、タスクと呼ばれます。[マイ作業]アクショングループの[マイタスク]をクリックすると、エンドユーザは、自分のキューにあるタスクリストを確認できます。特定のタスク用にどのワークフローアクティビティが処理されているかを確認するには、タスクを選択してから、[タスク詳細]フォームの[コメント履歴の表示]ボタンをクリックします。

特定のプロビジョニング要求に対してどのワークフローアクティビティが処理されているかを確認するには、[マイリクエスト]をクリックして要求を選択してから、[リクエスト詳細]フォームの[コメントとフロー履歴の参照]ボタンをクリックします。

[マイタスク]および[マイリクエスト]の各アクションの詳細については、『Identity Managerユーザアプリケーション: ユーザーズガイド』を参照してください。

リンク

リンクは、ワークフローのアクティビティを相互に結びつけるものです。リンクは、2つのアクティビティ間でたどられるパスを示します。

1つのアクティビティに、複数の着信リンクと複数の送信リンクを設定することができます。1つのアクティビティに複数の送信リンクがある場合、アクティビティの「結果」によって、選択されるリンクが決定されます。結果は、アクティビティにより実行される処理の最終結果です。たとえば、ユーザアクティビティは、ユーザが実行するアクションにより、承認という結果になる場合と、拒否という結果になる場合があります。

先に示した例では、リンクは矢印で示されています。

開始アクティビティ - ワークフロープロセスは、開始アクティビティの実行により開始されます。このアクティビティは、初期要求データを使用して、ワークドキュメントを開始します。また、イニシエータ、受信者などの複数のシステム値を関連付け、これらの値をスクリプト式で使用できるようにします。

ユーザアクティビティ - 開始アクティビティの実行が終了すると、ワークフローシステムはフロー内の最初のユーザアクティビティの処理に進みます。ユーザアクティビティは、ユーザのやり取りをサポートするアクティビティです。これらのやり取りを処理するために、ユーザアクティビティは、ユーザが要求を操作するためのフォームを表示します。先に示したワークフローの例では、First approvalおよびSecond approvalがユーザアクティビティになります。ユーザアクティビティの表示ラベルはローカライズできます。

1つのユーザアクティビティで、次の1つまたは複数のアクションをサポートできます。

  • 請求
  • 承認
  • 拒否
  • 棄却
  • 再割り当て(組織マネージャおよびユーザアプリケーション管理者のみ使用可能)

メモ:フォームに表示されるフィールドおよびボタンは、要求されるリソースおよびワークフローの設定方法により異なります。たとえば、「棄却」アクションは、製品付属のテンプレートの多くでサポートされていません。

ユーザアクティビティには、次の5つの結果があります。

  • 承認済み
  • 拒否
  • 棄却
  • エラー
  • タイムアウト

メモ:「エラー」と「タイムアウト」の結果は、ユーザがどのアクションも実行しなかった場合にも発生します。

ユーザが要求を承認すると、ワークフローは、フロー内の次のアクティビティに進みます。これ以上承認が必要なければ、リソースがプロビジョニングされます。ユーザが要求を拒否した場合は、作業アイテムがワークフロー内の次のアクティビティに転送され、要求は拒否されます。または、ユーザが組織マネージャまたはユーザアプリケーション管理者である場合には、タスクの再割り当てが可能です。すると、作業アイテムは別のユーザのキューに送られます。

メモ:製品付属のプロビジョニング要求テンプレートは、要求が拒否された場合にワークフローを終了するよう設定されています。要求が拒否された場合、フローを終了する完了アクティビティに、作業アイテムが送られます。

ユーザアクティビティが割り当てられる人を「宛先」と呼びます。アクティビティの宛先に、割り当てられたタスクを電子メールで通知することもできます。アクティビティに関連付けられた作業を実行する場合、宛先になっているユーザは電子メールにあるURLをクリックし、ワークリスト(キュー)からタスクを見つけ、タスクをリクエストします。

宛先ユーザは指定時間内にユーザアクティビティに応答する必要があります。応答しないとアクティビティでタイムアウトが発生します。通常、タイムアウト間隔は、ユーザが応答できるだけの十分な時間を時間単位または日数単位で指定します。

アクティビティのタイムアウトが発生した場合は、アクティビティに指定された再試行回数に従い、ワークフロープロセスは、アクティビティを再実行しようとします。場合によっては、ワークフロープロセスは、タイムアウトの発生したアクティビティを別のユーザにエスカレートすることもできます。この場合、このアクティビティは新しい宛先(たとえばユーザのマネージャ)に再度割り当てられ、新しい宛先ユーザがこのアクティビティの作業を実行できるようにします。最後の再試行でタイムアウトが発生した場合、ワークフローの設定内容に従い、そのアクティビティは承認済みまたは拒否としてマークされます。

条件付きアクティビティ - ワークフロープロセスの実行中にテストが実行され、その結果をチェックすることで次の作業が決まる場合があります。条件付きアクティビティがこの機能を提供しています。条件付きアクティビティは、スクリプト式を使用して評価する式を定義します。前に示したワークフローの例では、Approval Conditionが条件付きアクティビティです。

条件付きアクティビティには、次の3つの結果があります。

  • True
  • False
  • エラー

ブランチアクティビティとマージアクティビティ - パラレル処理をサポートするワークフローでは、ブランチアクティビティにより、2人のユーザが作業アイテムの異なる領域を同時に作業できます。ユーザが作業を完了すると、マージアクティビティにより、フローに合流するブランチが同期化されます。

プロビジョニングアクティビティ - プロビジョニングアクティビティは、プロビジョニング要求を実行します。このアクティビティは、必要な承認がすべて付与された場合にのみ実行されます。

プロビジョニングステップの詳細については、ステップ3: 要求の実行を参照してください。

完了アクティビティ - 完了アクティビティは、ワークフローにおける最後のアクティビティです。フロー内のすべてのアクティビティが完了し、フローの最終結果が有効な場合、完了アクティビティを実行できます。ワークフローシステムは、完了アクティビティへのリンクを調べることにより、プロセスの最終状態を判別できます。承認リンクが完了アクティビティに到達している場合、フロー全体の状態は「承認済み」になります。他の結果(拒否、タイムアウト、またはエラー)から完了アクティビティに入る場合、フロー全体の状態は「拒否」になります。

ワークフロープロセスが「承認済み」で完了アクティビティに到達している場合、承認プロセスが完了したことを示し、プロビジョニング要求を実行できます。

ステップ3: 要求の実行

プロビジョニング要求が承認されると、ワークフローシステムはプロビジョニングのステップを開始できます。この時点で、制御はプロビジョニングシステムに戻ります。

プロビジョニングシステムは、プロビジョニング要求を実行する場合、Identity Managerエンタイトルメントを実行することも、eDirectoryのオブジェクトとその属性を直接操作することもできます。プロビジョニングの処理中、プロビジョニングシステムは、プロビジョニングデータ定義に従って、関連オブジェクトを作成し、受信者側のプロビジョニングアクションの結果を記録します。ユーザの要求がある操作の付与か取り消しかによって、このアクションが受信者に対して属性値を設定するか、削除するか、あるいは、受信者の複数値属性に項目を追加するか、複数値属性から項目を削除するかは変わってきます。ここで使用される属性はeDirectory属性です(受信者に補助クラスを追加することにより使用可能になる場合もあります)。属性値は単純タイプの場合と、プロビジョニングシステムが内部サブ属性の値を指定できる複合タイプの場合があります。