ID 管理

シングル ステップのプロビジョニング ワークフローを構築する

Aung Oo

 

概要:

  • MIISWorkflow を使用する
  • 実装と構成
  • MIISWorkflow を拡張する

アカウントの要求と承認を行うための Web ベースのインターフェイスを探していて、組織で Microsoft Identity Lifecycle Manager 2007 (ILM 2007、以前は Microsoft Identity Integration Server 2003) を使用している場合、MIISWorkflow アプリケーションにより、単純かつ効率的な解決策が提供される可能性があります。

MIISWorkflow は MIIS 2003 Resource Tool Kit 2.0 に含まれており、2004 年 12 月から提供されています。このアプリケーションは、すべての環境にとって必ずしも最適な解決策ではありませんが、組織のニーズに合ったカスタム アプリケーションを構築するための基盤として適しています。

MIISWorkflow は、Web アプリケーションを統合することにより、承認ベースのプロビジョニング機能を ILM 2007 に提供します。このアプリケーションは、ユーザーからの要求を受け取り、特定の要求に関する判断を下す権限を持つ承認者 (通常は管理者) に中継する、ワークフロー主導のシングル ステップのプロビジョニング システムです。ILM は、この承認者の判断に基づき、ILM で定義されたビジネス ルールを使用して、接続されたディレクトリでユーザー アカウントのプロビジョニングを実行します。

このアプリケーションによって効率化できるのは、シングル ステップのワークフローのみです。複数のパスを持つマルチ ステップの承認プロセスや、グラフィカル インターフェイスを使用するワークフロー プロセスなど、複雑なワークフロー機能を作成することはできません。組織でこのような複雑なワークフロー機能を使用する必要がない場合は、MIIS Resource Tool Kit で提供される MIISWorkflow サンプルを使用して、ソリューションを実装できます。

この記事では、架空の会社の人事部門のシナリオについて考えてみます。一般に、人事システムは、組織内のすべての従業員情報が格納された、信頼できるデータ ソースとしての役割を果たしています。しかし、通常これらのシステムには、正社員の詳細なデータは格納されていますが、契約社員やインターンの学生などの臨時職員に関する情報は格納されていないことがよくあります。人事システムに格納されているデータでは、ユーザー アカウント情報など、ユーザーがアクセスできるシステムについての情報が追跡できない場合があります。ここでは、組織内の臨時職員を追跡するための単純なシステムを構築する方法について説明します。

MIISWorkflow を基にアプリケーションを構築する

組織で MIISWorkflow を活用する方法の 1 つは、既存の人事システムと組み合わせて使用できるアプリケーションを作成することです。新しい従業員を雇用すると、ユーザー情報が人事システムに追加されます。その情報を MIISWorkflow データベースに送信し、ワークフロー アプリケーションを使用して承認者に中継した後、ILM が接続されたディレクトリでアカウントのプロビジョニングを行うように、ILM のフローを設計できます。

組織で臨時職員の追跡に人事システムを使用していない場合は、MIISWorkflow アプリケーションを信頼できるデータ ソースとして使用することにより、企業ディレクトリ内で臨時職員のアカウントを管理できます。ワークフロー アプリケーションにより、承認を得るための紙ベースの管理作業が減少するため、ユーザーはディレクトリやアプリケーションのアカウントにアクセスするために何日も待つ必要がなくなります。また、MIISWorkflow を使用すると速やかにアクセスを失効させることもできるため、組織のセキュリティが強化されます。

MIISWorkflow は、ユーザーがアクセスできるシステムの数、各アカウントを要求および削除した日付、および各アカウントの要求者と承認者を追跡するための監査ツールとしても使用できます。このアプリケーションでは、アカウントの詳細な履歴が記載されたレポートを生成できるため、組織で SOX 法や HIPAA などの法規制を順守しているかどうかを確認するのに役立ちます。

MIISWorkflow アプリケーションは IIS 上で実行され、ILM 2007 のディレクトリ統合機能とプロビジョニング機能を使用して、接続されたディレクトリでアカウントのプロビジョニングとデプロビジョニングを実行します。このワークフロー アプリケーションのコンポーネントには、ASP.NET Web ページのコレクション、SQL Server™ データベース、管理エージェント、および承認ポリシー ストアが含まれています (図 1 を参照)。このアプリケーションでは、データ ストレージに SQL Server を使用し、認証に Active Directory® を使用し、承認に Windows® 承認マネージャ (AzMan として一般に知られています) のポリシー ストアを使用します。

図 1 MIISWorkflow アプリケーションのアーキテクチャ

図 1** MIISWorkflow アプリケーションのアーキテクチャ **(画像を拡大するには、ここをクリックします)

このアプリケーションは、C# と ASP.NET を使用して拡張およびカスタマイズできます。MIISWorkflow は、ContractorApproval、ContractorHistory、ContractorRequest、ContractorStatus、および ContractorUpdate という 5 つの .aspx ページから構成されています。管理者はこれらのページを使用して、システム内の各ユーザー アカウントの状態を要求、更新、承認、および追跡できます。既定では、MIISWorkflow アプリケーションは、Kerberos を利用する IIS 統合 Windows 認証を使用するように設定されていることに注意してください。

ワークフロー アプリケーションが承認者の操作に基づいて ILM を起動した後、ILM が定義済みのルールを使用して、接続されたディレクトリでユーザー アカウントのプロビジョニングまたはデプロビジョニングを実行します。ワークフロー アプリケーションは、要求に対して操作が行われた直後に ILM を起動するため、接続されたディレクトリで要求のプロビジョニングとデプロビジョニングを実行するために、次回の ILM の同期サイクルが発生するのを待つ必要はありません。

ワークフロー アプリケーションでは、MIISWorkflow データベースにユーザーのアカウント情報を格納する必要があります。このデータベースは ILM がメタバース情報を格納するデータベースとは異なりますが、同一の SQL Server インスタンス上で構成されます。権限を与えられたユーザーがワークフロー アプリケーションを使用してアカウントを要求すると、MIISWorkflow によってそのアカウント情報が保存されます。この情報は、その後、承認者用の ASP.NET Web ページに表示されます。MIISWorkflow では、操作の履歴や、アカウントに関するその他の情報もデータベースに保存されます。ILM は、アプリケーションに付属している SQL Server 管理エージェントを使用して、MIISWorkflow データベースからその情報をインポートし、要件に合わせてそのアカウントのプロビジョニングまたはデプロビジョニングを実行します。

MIISWorkflow が承認に使用する AzMan では、ユーザーがアプリケーションで実行できるタスクを、それらのユーザーに割り当てられた役割に応じて管理する、役割ベースのアクセス制御 (RBAC) が提供されます (RBAC の詳細については、go.microsoft.com/fwlink/?LinkId=85825を参照してください)。ユーザーが Active Directory で認証された (つまりアクセスを許可された) 後、ワークフロー アプリケーションは AzMan の承認ストアで定義されている役割を確認して、ユーザーが実行できる操作を承認します。このアプリケーションには、"contractor requestor (契約者の要求者)" と "contractor approver (契約者の承認者)" という 2 つの定義済みの役割が用意されています。"契約者の要求者" の役割を与えられたユーザーまたはグループは、このアプリケーションで要求を作成することしかできませんが、"契約者の承認者" の役割を与えられたユーザーまたはグループは、要求の作成と、要求の承認または拒否を行うことができます。

MIISWorkflow アプリケーションの承認ポリシーは、XML ファイルに格納されます。定義済みの役割を割り当てることができるのは、Windows ユーザーおよびグループ、またはアプリケーション グループのいずれかです。アプリケーション グループを使用すると、LDAP クエリによって、アプリケーションの実行時にユーザーの Active Directory または Active Directory Application Mode (ADAM) アカウント オブジェクトを属性の値に基づいて検索できます。たとえば、ユーザーが特定のグループに属している (department=‘marketing’) かどうかを検索し、true を返したりすることができます。

アプリケーションのウォークスルー

アプリケーションの管理者は、AzMan を使用してアプリケーションへのアクセスを制御します。組織でこのアプリケーションをどのように利用するかに応じて、"契約者の要求者" の役割をすべてのドメイン ユーザーか、または選択されたグループのみに割り当てることができます。"契約者の承認者" の役割は、要求を承認または拒否する権限を持ったユーザーおよびグループのみに割り当てる必要があります。通常は、特定の人事管理者や、システムおよびグループ管理者にこの役割を割り当てます。既定では、MIISWorkflow アプリケーションは IIS 統合 Windows 認証を使用して認証を行うため、Windows のデスクトップ ログオン資格情報を使用してユーザーを認証します。このため、ユーザーはアプリケーションに対して認証を行うために再度資格情報を要求されることはありません。

"契約者の要求者" の役割を与えられたユーザーは、ブラウザ内でアプリケーションの契約者の要求ページに移動し、契約者の情報を入力して、その契約者のアカウントを要求することができます。図 2 は、契約者の要求ページを示しています。

図 2 [New Contractor Request] (新しい契約者の要求) ページ

図 2** [New Contractor Request] (新しい契約者の要求) ページ **(画像を拡大するには、ここをクリックします)

要求者の役割を与えられたユーザーは、契約者に関する適切な情報を入力し、要求を送信します。このページには、要求を承認するためのリンクと状態を確認するためのリンクも含まれていますが、要求者は "契約者の承認者" の役割も与えられていない限り、承認者用のページにアクセスすることはできません。要求者は [Contractor Status] (契約者の状態) リンクをクリックすると、自分が送信した要求の状態を表示することができますが、他の要求者が送信した要求の状態を表示することはできません。

アプリケーション内の契約者の承認ページにアクセスできるのは、契約者の承認者のみです。承認者はこのページで、要求に関する情報を確認した後、その要求を承認または拒否できます。図 3 は、[Contractor Approval] (契約者の承認) ページのインターフェイスを示しています。

図 3 [Contractor Approval] (契約者の承認) ページ

図 3** [Contractor Approval] (契約者の承認) ページ **(画像を拡大するには、ここをクリックします)

契約者の承認者は、すべての要求者が送信した要求を表示できます。どの承認者でも要求を承認することができ、承認または拒否操作を 1 回行うだけで、要求を次の段階に進めることができます。承認者が承認または拒否操作を行うと、その要求は契約者の承認ページに表示されなくなります。このため、承認者が行う余分な操作が最低限に抑えられます。

このアプリケーションには、承認者に新しい要求やバックログがあることを通知するメカニズムがないため、承認者は、新しい要求を確認したり、組織の要件に基づいて保留中の要求に対する操作を行ったりするために、定期的に契約者の承認ページにアクセスする必要があります。このページから承認者が要求を承認または拒否した直後、アプリケーションは ILM を起動し、接続されたディレクトリで、承認者の操作に基づいてアカウントのプロビジョニングまたはデプロビジョニングを実行します。

図 4 契約者の状態ページ

図 4** 契約者の状態ページ **(画像を拡大するには、ここをクリックします)

契約者の状態ページ (図 4 を参照) では、保留中の要求の状態と、操作が完了した要求の履歴を追跡できます。要求者はこのページでいくつかの操作を実行できます。たとえば、従業員 ID、姓、名、部門、状態、最終更新日時など、自分が送信した要求に関する情報を表示できます。また、既存の情報を編集したり、履歴を表示したり、契約者のアカウントを失効させたりすることもできます。さらに、氏名と部門に関する情報を変更し、その情報を承認用に再送信することもできます。そして、[Contractor History] (契約者の履歴) ページ (図 5 を参照) から、要求に対して行った操作と、その操作を行った日時を表示することもできます。

図 5 [Contractor History] (契約者の履歴) ページ

図 5** [Contractor History] (契約者の履歴) ページ **(画像を拡大するには、ここをクリックします)

MIISWorkflow アプリケーションでは、要求者が契約者の状態ページから契約者のアカウントを失効させることができるため、アカウントの失効操作をシームレスに実行できます。要求者は [Terminate] (失効) リンクをクリックすることにより、接続されたディレクトリで、速やかに契約者のアカウントを無効にしたり削除したりすることができます。このようにワークフロー アプリケーションから契約者のアカウントを失効させることができるため、システム管理者は、各ディレクトリでその契約者のアカウントを見つけて手動で削除する必要がなくなります。MIISWorkflow アプリケーションは、即時に ILM をトリガして、接続されたディレクトリでこれらのアカウントのデプロビジョニングを実行するため、失効操作を行ってからアカウントが削除されるまでの時間のずれがありません。

アプリケーションを構成する

MIISWorkflow アプリケーションの構成では、サービス アカウントの設定、アプリケーションが使用するデータベースの設定、ILM をワークフロー アプリケーションと連携させるための構成、IIS の構成、およびポリシー ストアの構成を行います。このアプリケーションには、このプロセスを単純化できる構築済みのスクリプトと構成ファイルが含まれています。

MIISWorkflow アプリケーションには、MIISWorkflow データベースの作成を容易に実行できる T-SQL クエリ ファイルが含まれています。このクエリ ファイルをクエリ アナライザに読み込み、クエリを実行すると、データベースを自動的に作成できます。

IIS の構成では、ASP.NET ページをホストするために、新しい IIS アプリケーション プールと仮想ディレクトリの作成、および認証とアクセス制御の設定を行います。このアプリケーションには、承認ポリシー ストアを構成するための定義済みの役割が記述された XML ファイルも含まれています。AzMan MMC を使用すると、ユーザーとグループを既存の役割に割り当てたり、新しい役割を作成したりすることができます。

最後に、ILM の管理エージェントを構成して、MIISWorkflow データベースから ILM にデータをインポートします。これを行うには、XML ファイルに記述された管理エージェントの構成をインポートし、SQL Server 管理エージェント用の構築済み拡張ファイルをコピーします。この XML ファイルと管理エージェント拡張ファイルは、いずれもアプリケーションと共に提供されます。Readme ファイルには、各構成作業に関する順を追った説明が記載されています。

アプリケーションの拡張

MIISWorkflow アプリケーションによって、MIIS と統合された単純なワークフローを開発するための基盤が提供されますが、このアプリケーションの一部をカスタマイズして拡張することが必要になる場合があります。Web ページの変更などの単純な変更だけでなく、他にも多くの方法でこのアプリケーションを拡張できます。

たとえば、通知機能を追加すると、保留中の要求があるときに承認者が電子メール メッセージを受信できるようにすることができます。さらに、指定された期間内に要求に対して操作が行われなかった場合、承認者に通知メッセージを送信することもできます。既定のページで提供されるユーザー情報よりも詳細な情報が必要な場合は、契約者の要求ページと契約者の更新ページの両方にフィールドを追加できます。アプリケーションに他の役割を追加することもできます。たとえば、自分が送信した要求だけでなく、すべての要求の履歴を表示できる監査担当者の役割などが考えられます。

マルチ ステップのワークフローや、グラフィカル デザイナを使用したワークフローの設計などの複雑なワークフロー機能は、このアプリケーションで実現することはできません。ただし、Windows Workflow Foundation を使用すると、複雑なワークフロー機能を使用して、より堅牢なアプリケーションを開発することができます。

MIIS Resource Tool Kit は、go.microsoft.com/fwlink/?LinkId=85829 で入手できます。今すぐダウンロードして、独自の ID ワークフロー ソリューションの構築を始めましょう。

Aung Ooは、Microsoft Consulting Services (MCS) で ID 管理に関する業務を専門に担当しています。Aung は、Microsoft Identity Management の初回リリース以降、営利企業と政府機関の両方の顧客を対象とした、企業規模のディレクトリおよび ID 管理ソリューションを設計、開発、および展開してきました。

© 2008 Microsoft Corporation and CMP Media, LLC. All rights reserved; 許可なしに一部または全体を複製することは禁止されています.