(57)【特許請求の範囲】
【請求項１】
リソースマネージャおよび前記リソースマネージャによって管理されるダウンストリームリソースシステムを含むコンピューティング環境において、前記リソースマネージャと前記ダウンストリームリソースシステムとの間でエンティティオブジェクトを同期させるための、前記リソースマネージャにより実行される方法であって、
新たなエンティティオブジェクトを前記リソースマネージャに追加すべきことを示すユーザ入力を受信するステップと、
前記ユーザ入力を受信したことに応答して、
前記新たなエンティティオブジェクトを作成するステップと、
ワークフローを指定するイベントを生成するステップであって、前記ワークフローは、
前記ユーザ入力に基づいて同期ルールを作成し、および
前記同期ルールを予想ルールリストに追加し、もしくは前記予想ルールリスト内の既存の同期ルールを修正するように構成され、
前記同期ルールは、前記作成したエンティティオブジェクトをどのように変換して前記ダウンストリームリソースシステムのエンティティオブジェクトにすべきかを定義する、ステップと、
前記イベントに応答して、前記ワークフローを実行するステップと、
前記ダウンストリームリソースシステムにおける既存のエンティティオブジェクトを識別し、および前記識別したエンティティオブジェクトを、前記リソースマネージャにおけるエンティティオブジェクトに関係付けることにより、検出ルールリストを生成するステップであって、前記検出ルールリストは前記コンピューティング環境におけるリソースに対するエンティティオブジェクトの既存の許可を特定する、ステップと、
前記検出ルールリストと前記予想ルールリストとを比較するステップと、
前記比較した検出ルールリストに基づいて、前記予想ルールリスト内の同期ルールを更新するステップと
を含むことを特徴とする方法。
【請求項２】
前記ワークフローは、前記予想ルールリスト内の前記同期ルールを実行することによって、前記作成したエンティティオブジェクトを、前記ダウンストリームリソースシステムの対応するエンティティオブジェクトと同期させて、前記ダウンストリームリソースシステムの前記対応するエンティティオブジェクトに対する許可を作成するようにさらに構成されていることを特徴とする請求項１に記載の方法。
【請求項３】
前記ダウンストリームリソースシステムの前記対応するエンティティオブジェクトに対する許可を生成することは、
前記作成したエンティティオブジェクトに対応するエンティティオブジェクトが前記ダウンストリームリソースシステムに存在しないと判断することと、
前記作成したエンティティオブジェクトに対応するエンティティオブジェクトを前記ダウンストリームリソースシステム内で作成することと
を含むことを特徴とする請求項２に記載の方法。
【請求項４】
前記同期ルールは、他の同期ルールの前に実行されるべき同期ルールを指定する優先順位を含み、前記ワークフローは、前記優先順位に従って、前記作成したエンティティオブジェクトを、前記ダウンストリームリソースシステムの前記対応するエンティティオブジェクトと同期させるようにさらに構成されていることを特徴とする請求項２に記載の方法。
【請求項５】
前記同期ルールの少なくとも１つは、
１つまたは複数のエンティティオブジェクトをダウンストリームリソースシステム内でどのように作成するか、
１つまたは複数のエンティティオブジェクトを前記リソースマネージャでどのように作成するか、および
データがダウンストリームリソースシステムからリソースマネージャオブジェクトにどのようにフローするか
を定義することを特徴とする請求項１に記載の方法。
【請求項６】
前記同期ルールの少なくとも１つは、前記ダウンストリームリソースシステムと前記リソースマネージャとの間のインバウンド関係、アウトバウンド関係、または双方向関係のうちの１つまたは複数を単一の同期ルール内で定義することを特徴とする請求項５に記載の方法。
【請求項７】
前記ワークフローは、
前記リソースマネージャによって管理されるオブジェクト名とオブジェクトタイプとを含む１つまたは複数のエンティティオブジェクトと、
前記リソースマネージャによって管理されるエンティティオブジェクトを、前記ダウンストリームリソースシステム内のエンティティオブジェクトと同期させるためのフロータイプと、
前記ダウンストリームリソースシステムの識別と、
前記リソースマネージャによって管理される前記オブジェクトタイプに対応する前記ダウンストリームリソースシステムのオブジェクトタイプの識別と、
前記ダウンストリームリソースシステム内のエンティティオブジェクトを前記リソースマネージャのエンティティオブジェクトと関係付ける関係基準の定義と
を定義するユーザ入力を受信するためのユーザ対話要素を備えたグラフィカルユーザインタフェースを表示するシステムを使用して、管理者によって事前に定義されることを特徴とする請求項１に記載の方法。
【請求項８】
リソースマネージャおよび前記リソースマネージャによって管理されるダウンストリームリソースシステムを含むコンピューティング環境において、前記リソースマネージャと前記ダウンストリームリソースシステムとの間でエンティティオブジェクトを同期させるための、前記リソースマネージャにより実行される方法であって、
前記リソースマネージャのエンティティオブジェクトに対する許可が削除されるべきことを示す、ユーザ入力を受信するステップと、
前記ユーザ入力を受信したことに応答して、ワークフローを指定するイベントを生成するステップであって、前記ワークフローは、
前記ユーザ入力に基づいて同期ルールを作成し、および
前記同期ルールを予想ルールリストに追加し、もしくは前記予想ルールリスト内の既存の同期ルールを修正するように構成され、
前記同期ルールは、前記リソースマネージャのエンティティオブジェクトに対応する前記ダウンストリームリソースシステムのエンティティオブジェクトに対する許可が削除されるべきことを示す、ステップと、
前記イベントに応答して、前記ワークフローを実行するステップと、
前記ダウンストリームリソースシステムにおける既存のエンティティオブジェクトを識別し、および前記識別したエンティティオブジェクトを、前記リソースマネージャにおけるエンティティオブジェクトに関係付けることにより、検出ルールリストを生成するステップであって、前記検出ルールリストは前記コンピューティング環境におけるリソースに対するエンティティオブジェクトの既存の許可を特定する、ステップと、
前記検出ルールリストと前記予想ルールリストとを比較するステップと、
前記比較した検出ルールリストに基づいて、前記予想ルールリスト内の同期ルールを更新するステップと
を含むことを特徴とする方法
【請求項９】
前記ワークフローは、前記予想ルールリスト内の前記同期ルールを実行することによって、前記リソースマネージャのエンティティオブジェクトを、前記ダウンストリームリソースシステムの対応するエンティティオブジェクトと同期させて、前記ダウンストリームリソースシステムの前記対応するエンティティオブジェクトに対する許可を削除するようにさらに構成されていることを特徴とする請求項８に記載の方法。
【請求項１０】
リソースマネージャおよび前記リソースマネージャによって管理されるダウンストリームリソースシステムを含むコンピューティング環境において、前記リソースマネージャと前記ダウンストリームリソースシステムとの間でエンティティオブジェクトを同期させるための、前記リソースマネージャにより実行される方法であって、
前記リソースマネージャのエンティティオブジェクトに対する許可が追加されるべきことを示す、ユーザ入力を受信するステップと、
前記ユーザ入力を受信したことに応答して、ワークフローを指定するイベントを生成するステップであって、前記ワークフローは、
前記ユーザ入力に基づいて同期ルールを作成し、および
前記同期ルールを予想ルールリストに追加し、もしくは前記予想ルールリスト内の既存の同期ルールを修正するように構成され、
前記同期ルールは、前記リソースマネージャのエンティティオブジェクトに対応する前記ダウンストリームリソースシステムのエンティティオブジェクトに対する許可が追加されるべきことを示す、ステップと、
前記イベントに応答して、前記ワークフローを実行するステップと、
前記ダウンストリームリソースシステムにおける既存のエンティティオブジェクトを識別し、および前記識別したエンティティオブジェクトを、前記リソースマネージャにおけるエンティティオブジェクトに関係付けることにより、検出ルールリストを生成するステップであって、前記検出ルールリストは前記コンピューティング環境におけるリソースに対するエンティティオブジェクトの既存の許可を特定する、ステップと、
前記検出ルールリストと前記予想ルールリストとを比較するステップと、
前記比較した検出ルールリストに基づいて、前記予想ルールリスト内の同期ルールを更新するステップと
を含むことを特徴とする方法。
【請求項１１】
前記ワークフローは、前記予想ルールリスト内の前記同期ルールを実行することによって、前記リソースマネージャのエンティティオブジェクトを、前記ダウンストリームリソースシステムの対応するエンティティオブジェクトと同期させて、前記ダウンストリームリソースシステムの前記対応するエンティティオブジェクトに対する許可を追加するようにさらに構成されていることを特徴とする請求項１０に記載の方法。
【請求項１２】
前記ワークフローは、
前記リソースマネージャの前記エンティティオブジェクトに対応する前記ダウンストリームリソースシステムのエンティティオブジェクトが既に許可を与えられていると判断し、および
前記同期ルールによって、前記リソースマネージャのエンティティオブジェクトを、前記ダウンストリームリソースシステムの前記対応するエンティティオブジェクトと関連付ける
ようにさらに構成されていることを特徴とする請求項１０に記載の方法。
【請求項１３】
前記同期ルールのうちの少なくとも１つは、同期ルールの説明をさらに含むことを特徴とする請求項１０に記載の方法。
【請求項１４】
前記同期ルールのうちの少なくとも１つは、別の同期ルールの存在に対する依存性を定義する情報を含むことを特徴とする請求項１０に記載の方法。
【請求項１５】
前記同期ルールのうちの少なくとも１つは、同期ルールが適用される前記ダウンストリームリソースシステム内のエンティティオブジェクトを識別するために使用されるフィルタをさらに含むことを特徴とする請求項１０に記載の方法。
【請求項１６】
前記フィルタは、前記同期ルールを適用するのに満たさなければならない条件を含むことを特徴とする請求項１５に記載の方法。
【請求項１７】
前記同期ルールのうちの少なくとも１つは、前記リソースマネージャの前記エンティティオブジェクトと前記ダウンストリームリソースシステムの前記エンティティオブジェクトとを関係付ける関係基準が満たされないときに使用することができる関係作成動作の仕様をさらに含み、前記関係作成動作は、
前記リソースマネージャにエンティティオブジェクトが存在しない場合に、前記リソースマネージャにおいてエンティティオブジェクトを生成することと、
前記ダウンストリームリソースシステムにエンティティオブジェクトが存在しない場合に、前記ダウンストリームリソースシステムにおいてエンティティオブジェクトを生成することと、
前記ダウンストリームリソースシステムにおいてエンティティオブジェクト階層を生成することと、
前記リソースマネージャのエンティティオブジェクトが削除されるときに、前記リソースマネージャの前記エンティティオブジェクトに対応するエンティティオブジェクトを前記ダウンストリームリソースシステムから削除することと
のうちの１つまたは複数を含むことを特徴とする請求項１０に記載の方法。
【請求項１８】
前期予想ルールリスト内の前記同期ルールは、
前記同期ルールを識別するのに使用される指示と、
データを前記ダウンストリームリソースシステムから前記リソースマネージャにインポートすること、またはデータを前記リソースマネージャから前記ダウンストリームリソースシステムにデータエクスポートすることのうち少なくとも一方に使用することができる前記同期ルールを指定する、フロータイプの定義と、
前記同期ルールが適用される前記リソースマネージャ内のオブジェクトタイプの仕様と、
前記ダウンストリームリソースシステムの仕様と、
前記同期ルールが適用される前記ダウンストリームリソースシステム内のオブジェクトタイプの仕様と、
前記リソースマネージャおよび前記ダウンストリームリソースシステム間でエンティティオブジェクトをリンクするための１つまたは複数の条件を含む、関係基準の仕様と、
属性フロー情報の仕様と
を含むことを特徴とする請求項１０に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コードレスプロビジョニングに関する。
【背景技術】
【０００２】
コンピュータおよびコンピューティングシステムは、現代の生活のほぼすべての側面に影響を与えている。コンピュータは、一般に、仕事、レクリエーション、医療、輸送、娯楽、家事などに関連する。
【０００３】
多くのコンピューティングシステムにおいて、コンピューティングシステム内で動作するエンティティに許可を与えて、エンティティがコンピューティングシステム内のある特定のリソースにアクセスできるようにすることは望ましいことが多い。例えば、ある人を会社に雇うとき、その人に、メールアカウントの生成によって電子メールへのアクセスを割り当てること、データベースアクセスアカウントの生成によって或る特定のデータベースへのアクセスを割り当てること、または他のリソースへのアクセスを割り当てることが適切であることがある。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
コンピューティングシステム内のエンティティの許可を管理するために、様々なリソース管理システムが作成されている。リソース管理システムは、コンピューティングシステム内の他のリソースシステムと通信して、エンティティに対する許可の追加または削除の命令を、該他のリソースシステムに提供する。例えば、本出願人であるワシントン州レドモンドのマイクロソフト（登録商標）社によって提供されるアイデンティティライフサイクルマネージャ（ＩＬＭ：Identity Lifecycle Manager（登録商標））は、コンピューティングシステム内のエンティティの許可を管理する能力を提供する。しかしながら、多くのそのようなシステムでは、リソース管理システムが他のリソースシステムと通信することにより該システムにエンティティに対する適切な許可を追加させることを可能にする命令的なプログラミングコードを、プログラマが生成する必要がある。これは当然に、さらなる複雑性および困難性をリソース管理の機能に与えることになる。
【０００５】
本明細書において特許請求される主題は、上述されるような全ての欠点を解決する実施形態、あるいは上述されるような環境内のみで動作する実施形態に限定されるものではない。むしろ、上記背景技術は、本明細書で説明される一部の実施形態を実施することができる一例示的な技術分野を説明するためにのみ提供されるものである。
【課題を解決するための手段】
【０００６】
一部の実施形態は、コンピューティング環境においてリソースを管理するための機能性を含む。例えば、諸実施形態を、リソースマネージャを含むコンピューティング環境内で実施することができる。リソースマネージャは、コンピューティング環境内のリソースを管理するためのプログラムコードを含む。方法は、エンティティがリソースにアクセスするための許可を管理することを含め、コンピューティング環境内のリソースシステムから利用可能なリソースを管理するための動作を含むことができる。方法は、新たなエンティティがリソースマネージャに追加されるべきであること、リソースマネージャのエンティティオブジェクトによって表されるエンティティが、リソースマネージャで許可を削除させるべきであること、またはリソースマネージャのエンティティオブジェクトによって表されるエンティティが、リソースマネージャで許可を追加させるべきであることのうちの１つまたは複数を示すユーザ入力を受信することを含むことができる。
【０００７】
ユーザ入力を受信したことに応答して、イベントを生成して、オブジェクトをダウンストリームリソースシステム（downstream resource system）のリソースマネージャから生成または削除する。イベントは、予想ルールリスト（expected rules list）内にルールに追加し、または予想ルールリスト内のルールを変更することよって、リソースマネージャのオブジェクトとダウンストリームリソースシステムのオブジェクトとの間の同期を行うために実行すべきワークフローを指定することができる。イベントに応答して、ワークフローが実行され、イベントにより、同期ルールが予想ルールリストに追加され、または同期ルールが予想リストで変更されることとなる。
【０００８】
この発明が解決しようとする課題の記載は、以下の発明の詳細な説明においてさらに記述される概念の選択を、簡単な形で紹介するために提供されるものである。この発明が解決しようとする課題の記載は、特許請求される主題の重要な特徴または本質的な特徴を特定するようには意図されておらず、特許請求される主題の範囲を決定する際の助けとして用いられることも意図されていない。
【０００９】
さらなる特徴および利点は、以下の説明において記載され、その一部は以下の説明から明白となるか、あるいは本明細書の教示を実践することによって認識されるであろう。本発明の特徴および利点を、添付の特許請求の範囲において特に指摘された手段および組み合わせによって実現し、取得することができる。本発明の特徴は、以下の説明および添付の特許請求の範囲からより十分に明らかになり、あるいは以下で説明される本発明の実践によって認識されるであろう。
【００１０】
上述および他の利点や特徴を得ることができる手法を説明するために、上で簡潔に説明した主題のより具体的な説明を、添付の図面に図示される特定の実施形態を参照することによって提供する。図面を用いて追加の仕様および詳細について記述し説明するが、これらの図面は典型的な実施形態のみを表し、したがって範囲を限定するものと見なされるべきではないことを理解されたい。
【図面の簡単な説明】
【００１１】
【図１】リソースマネージャおよびリソースシステムに接続されたダウンストリームを含むトポロジーを示す図である。
【図２】ダウンストリームリソースシステム内でオブジェクトを生成する方法を示す図である。
【図３】ダウンストリームリソースシステム内のオブジェクトから許可を削除する方法を示す図である。
【図４】ダウンストリームリソースシステム内のオブジェクトに許可を追加する方法を示す図である。
【図５】検出された許可を、予想される許可または所望の許可と調整する方法を示す図である。
【発明を実施するための形態】
【００１２】
本明細書で説明される実施形態は、必要に応じて宣言的ワークフロー（declared workflow）を実行することによって、リソースマネージャ内のオブジェクトを、他のダウンストリームリソースシステム内のオブジェクトと同期させるリソース管理システムの実装を可能にする。特に、ダウンストリームリソースシステムのオブジェクトに関係付けられたリソースマネージャオブジェクトを使用して、ダウンストリームリソースシステムのオブジェクトに適切な許可を与えることができ、それによりリソースマネージャのオブジェクトおよびダウンストリームリソースシステムのオブジェクトに対応するエンティティに適切な許可を与える。これにより、エンティティは、ダウンストリームリソースシステム内のリソースにアクセスすることができるようになる。以下の説明では、この機能性をどのように実装するかに関する多くの例を説明する。特にリソースマネージャを使用して、ダウンストリームリソースシステム内に存在するオブジェクトを制御することができる。ダウンストリームリソースシステム内のオブジェクトの存在は、これらのシステムを使用してリソースに対する適切な制御を実装する機能性を可能にする。例えば、ユーザオブジェクトがダウンストリームリソースシステム内に存在する場合、該ユーザオブジェクトは、コンピュータのユーザがリソースシステム上のリソースにアクセスすることを可能にする機能性を提供することができる。例えば、ユーザが、電子メールシステムへのアクセスを与えられるべきである場合は、典型的に、ユーザオブジェクトは電子メールシステム内で作成される必要があるであろう。同様に、ユーザがデータ記憶システム内のデータへのアクセスを与えられるべきである場合、該ユーザのユーザオブジェクトはデータ記憶システム内で生成される必要があるであろう。リソースマネージャは、電子メールシステム、データ記憶システム、または他のリソースシステムを含むダウンストリームシステムにおける、これらのユーザオブジェクトの生成を容易にすることができる。
【００１３】
これまでに、データが２つのシステム間でどのようにフロー（flow）するかを、完全に宣言的な方式で制御する機構は存在していない。本明細書で説明される一部の実施形態では、ポリシールール（policy rule）と、前のモデルを、例えば視覚的に作成されたプロセスおよび同期ルールの使用を通じて、データがリソースマネージャへどのようにフローすべきか、およびリソースマネージャシステムから出てダウンストリームリソースシステムへどのようにフローすべきかの両方に関する定義を可能にする概念の単一のセットを提供するモデルと置換するプロセスとを用いた「同期ルール（synchronization rule）」の概念に基づいた、統一されたモデルを含む。特に、本明細書で説明される実施形態は、リソースマネージャのオブジェクトをダウンストリームリソースシステムにエクスポートし、ダウンストリームリソースシステムのオブジェクトをリソースマネージャにインポートするための機能性と、リソースマネージャ内の既存のオブジェクトおよびダウンストリームリソースシステム内の対応するオブジェクトを更新または削除するための機能性とを含むことができる。
【００１４】
顧客は、グラフィカルユーザインタフェースを含むリソースマネージャポータルを使用して同期ルールを定義することができ、該リソースマネージャポータルは、データがどのようにリソースマネージャにフローすべきか、およびリソースマネージャからフローすべきかに関する詳細をカプセル化する。リソースマネージャポータルは、リソースマネージャによって管理されるオブジェクト名およびオブジェクトタイプを含む１つまたは複数のオブジェクトと、リソースマネージャによって管理されるオブジェクトを１つまたは複数のダウンストリームリソースシステム内のオブジェクトと同期させるためのフロータイプ（flow type）と、１つまたは複数のダウンストリームリソースシステムの識別（identification）と、リソースマネージャ内の１つまたは複数のオブジェクトタイプに対応するダウンストリームリソースシステム内のオブジェクトタイプの識別と、ダウンストリームリソースシステム内のオブジェクトをリソースマネージャ内のオブジェクトと関係付けるための関係基準（relationship criteria）の定義とを定義するユーザ入力を受信するためのユーザ対話要素を含む、グラフィカルユーザインタフェースを含むことができる。特に、同期ルールは、リソースマネージャのオブジェクトとダウンストリームリソースシステム内のオブジェクトとの間の関係（relationship）および変換を定義することができる。例えば、関係は、ユーザ名、電子メールアドレス、または他の識別子に基づくものとすることができる。同期ルールは、リソースマネージャがダウンストリームリソースシステム内のオブジェクトをどのように作成するか、リソースマネージャが自身のストア内のオブジェクトをどのように作成するか、およびデータがダウンストリームリソースシステムからリソースマネージャにどのようにフローするかを定義することができる。その後、顧客は、ポリシールールおよびプロセス設計ウィザードを使用して、リソースマネージャアプリケーションストア内のデータの修正に対するこれらの特定の同期ルールの適用を制御することができる。
【００１５】
例えば、諸実施形態は、ＩＴ専門家が同期ルールを設計することができるようにする、同期ルール設計アプリケーション用のグラフィカルユーザインタフェース要素を実装することができる。一実施形態において、同期ルール設計のグラフィカルユーザインタフェースは、「一般情報（General Information）」、「範囲（Scope）」、「関係（Relationship）」、「アウトバウンド属性フロー（Outbound Attribute Flow）」、および「インバウンド属性フロー（Inbound Attribute Flow）」のスクリーンを有するウィザードフォーマットとすることができる。
【００１６】
「一般情報」スクリーンにより、設計者は、ルールの名前、ルールの説明、ルールの依存性（dependency）、およびルールのフロータイプを定義することができる。名前は、同期ルールを識別するのに使用することができる名前である。説明は、設計者が適用可能であると考えた任意の説明を含むことができる、ルールのオプションの説明である。別の同期ルールの存在に対する依存を設定することもできる。一実施形態において、「一般情報」スクリーンは、既に定義されている同期ルールを選択するためのプルダウンメニューを提供する。本明細書で説明される他のグラフィカルユーザインタフェース要素のように、代替的に他のインタフェースを使用してもよい。「一般情報」スクリーンは、フロータイプの選択のためのインタフェースを含むこともできる。例えば、ユーザは、リソースマネージャへのデータのインポートを可能にするインバウンドルールおよび／またはダウンストリームシステムにデータをエクスポートすることを可能にするアウトバウンドルールとして、ルールを定義することができる。
【００１７】
同期ルール設計アプリケーションは、さらに「範囲」スクリーンを含むことができる。例示的実施形態では、「範囲」スクリーンは、リソースマネージャのオブジェクトタイプを選択すること、ダウンストリームリソースシステムを選択すること、ダウンストリームシステムのオブジェクトタイプを選択すること、および／または接続されるオブジェクトの範囲（connected object scope）を定義することを可能にすることができる。接続されるオブジェクトの範囲を定義することは、ダウンストリームリソースシステム内のどのオブジェクトに同期ルールが適用されるかを識別する１つまたは複数のフィルタを定義することによって行うことができる。一実施形態において、同期ルールは、接続されるオブジェクトの範囲で定義された条件にすべて合致するダウンストリームリソースシステム内のオブジェクトに適用される。
【００１８】
同期ルール設計アプリケーションは、さらに「関係」スクリーンを含むことができる。「関係」スクリーンは、リソースマネージャとダウンストリームリソースシステムとの間の関係をどのように識別して生成するかを定義するためのユーザインタフェース要素を含む。特に、「関係」スクリーンは、関係基準および関係生成を定義することを可能にする。関係基準の指定を可能にするユーザインタフェース要素は、リソースマネージャ内のオブジェクトとダウンストリームリソースシステム内のオブジェクトを共にリンクさせる条件を指定することを可能にする。電子メールアドレス、ユーザ名などの様々な属性を選択することができる。さらに、様々な条件を指定することができる。「関係」スクリーンは、定義された関係基準において指定された関係基準が満たされない場合にオブジェクトを生成することを指定できるようにすることもできる。ユーザは、あるオブジェクトがリソースマネージャ内に存在しないときに、該リソースマネージャ内にオブジェクトを生成すること、あるオブジェクトがダウンストリームリソースシステムに存在しないときに、該ダウンストリームリソースシステム内にオブジェクトを生成すること、ダウンストリームリソースシステム内でオブジェクト階層を作成すること、および／または、あるオブジェクトがリソースマネージャから削除されたときにダウンストリームリソースシステムからオブジェクトを削除することを指定することができる。
【００１９】
同期ルール設計アプリケーションは、さらに「アウトバウンド属性フロー」スクリーンを含むことができる。「アウトバウンド属性フロー」スクリーンは、リソースマネージャからダウンストリームリソースシステムにフローする属性および値を定義するためのユーザインタフェース要素を含む。「アウトバウンド属性フロー」のユーザインタフェース要素は、ダウンストリームリソースシステム内のリソースマネージャから属性にフローするデータを識別するためのソースフィールドの定義、ソースフィールドで識別されたデータを受け取るダウンストリームリソースシステム内の属性を識別するための宛先（destination）の定義、およびオプションの定義を可能にする。例えば、ユーザは、オプションを指定することができ、それのより、宛先オブジェクトが生成されると属性がフローすることとなる。さらに、ユーザは、属性を使用して宛先オブジェクトにおける同期ルールの存在を確認することを指定するオプションを選択することができる。同期ルール設計アプリケーションは、「インバウンド属性フロー」スクリーンをさらに含むことができる。「インバウンド属性フロー」スクリーンは、フローがダウンストリームリソースシステムからリソースマネージャへと定義されること以外は、「アウトバウンド属性フロー」スクリーンと同様のユーザインタフェース要素を含む。
【００２０】
ビジネスマネージャ設計アプリケーションは、ビジネス管理者が、リソース管理オブジェクトに同期ルールを追加し、またはリソース管理オブジェクトから同期ルールを削除できるようにするグラフィカルユーザインタフェースを提供する。追加または削除を手動の選択によって実行することができ、あるいは属性値に基づいて自動的に実行すべきことを選択することができる。
【００２１】
標準的なシナリオは、リソースマネージャを通じて、様々な電子メールシステム、データベースシステム、または他のシステムなどのダウンストリームシステムへの新たなユーザのプロビジョニングを行うことを含む。プロビジョニングは、例えば、適切なシステムリソースに対する新たな従業員用の許可を追加して、該従業員が必要な業務機能を行うことができるようにすることを含むことがある。ここで、図１を使用して一例を説明する。図１では、様々なコンポーネントを一般的に、または具体的に説明することがあることに留意されたい。例えば、リソースマネージャオブジェクト１０６という総称的な参照は、あらゆるリソースマネージャオブジェクトを一般的に指し、一方、リソースマネージャオブジェクトインスタンスへの具体的な参照は、リソースマネージャ１０６ａなどの追加的な挿入表記への参照によって行うことがある。図１の同期ルール１０２、予想ルールリスト（expected rules list）１０４、ダウンストリームリソースシステムオブジェクト１０８、および検出ルールリスト（ＤＲＬ：detected rules list）１１２についても、同様の参照および表記が示されている。さらに、具体的には説明されないが、あるアイテムの複数の特定のインスタンスがコンピューティング環境内に含まれうることを図示するために、１０２ｂ、１０４ｂ、１０６ｂ、１１２ｂ、１０８ｂ〜１０８ｆ、１１４ｂ、および１１４ｃなどのいつかの特定の表現が含まれていることに留意されたい。しかしながら、残りの原理は、以下で参照される単一のインスタンスへの参照によって理解される。
【００２２】
ここではプロビジョニングの場合の一例を図示しており、図１をもう一度参照すると、リソースマネージャオブジェクトタイプとして作成されるものをどのように変換してダウンストリームリソースシステムオブジェクトにするかをカプセル化する同期ルール１０２を定義して、予想ルールリスト（ＥＲＬ：expected rules list）１０４内に含めることができる。一部の実施形態では、上述のようなグラフィカルユーザインタフェースを使用することによって、同期ルールを定義することができる。特に、同期ルール１０２は、予想ルールリスト１０４内に明示的に含まれることがあり、あるいは予想ルールリスト１０４とは別個に定義されて必要に応じて予想ルールリスト１０４内の参照によって含まれることもある。一例を説明すると、同期ルール１０２ａは、作成または修正されるときにリソースマネージャオブジェクト１０６ａを、ダウンストリームリソースシステム１１４ａの対応するダウンストリームリソースオブジェクト１０８ａにどのように変換するかを示すことができる。同期ルール１０２は、データがリソースマネージャ１１０からダウンストリームシステムオブジェクト１０８へと、どのようにフローすべきか、ならびに、既存のデータストリームリソースシステムオブジェクト１０８をどのように見つけ、データをどのようにフローすべきかに関する特定の命令の両方を定義することができ、適切なオブジェクトが見つからない場合に必要であれば、新たなダウンストリームシステムのユーザオブジェクト１０８をどのように作成すべきかに関する更なる命令も定義することができる。
【００２３】
同期ルール１０２が定義されると、顧客は、新たなリソースマネージャオブジェクト１０６がそのリソースマネージャを通じて到達するようにリソースマネージャ１１０内における新たなリソースマネージャオブジェクト１０６の作成に関するポリシールールを定義することができる。ここから、顧客は、新たに作成されたリソースマネージャオブジェクト１０６を事前に定義された同期ルール１０２に追加するイベントのアクション段階（action phase）に関連付けて、リソースマネージャプロセスを構成することができる。新たなリソースマネージャオブジェクト１０６がリソースマネージャ１１０内で作成されると、その最終的な結果、このアクションプロセスを実行し、およびこの新たに作成されたリソースマネージャオブジェクト１０６が適用された同期ルール１０２を有すべきことを示す信号を送信することとなるイベントが生成されることとなる。
【００２４】
これらの構成を使用して、ユーザは任意に、必要に応じて自身のビジネスプロセスによって決まるように、リソースマネージャ１１０内のオブジェクトを同期ルール１０２に追加および削除する形式や宣言的なワークフローなどの複雑なプロセスを作成することができる。
【００２５】
ユーザが会社を辞める場合の終了シナリオまたはデプロビジョニングシナリオは、作成シナリオと同様に、リソースマネージャオブジェクト１０６がリソース管理システムから削除されるイベントを実行するプロセスを定義して、削除されたリソースマネージャオブジェクト１０６を同期ルール１０２から消去するプロセスとして取り扱うことができる。宣言的ワークフローは、該宣言的ワークフロー内の宣言的オブジェクトが、最終的な目的を達成するために特定の動作を定義することなく該最終的な目的を定義するという点において、命令的プログラミング（imperative programming）と異なることに留意されたい。反対に、命令的なプログラミングは、プログラマが、必ずしも最終目標を定義することなく各ステップを明示的に定義することを必要とする。
【００２６】
本明細書で説明される実施形態は、同期ルール１０２の概念内の双方向データフローロジックの定義を含むことができる。さらに、実施形態は、ポリシールールの一致、および後続のリソースマネージャプロセスの実行による同期ルール１０２の適用を含むことができる。
【００２７】
実施形態は、同期エンジンによる同期ルールの処理と、リソースマネージャ要求の処理サイクル（一実施形態では、エンドユーザウェブサービス要求を３つの別個の段階、すなわち認証（authentication）、承認（authorization）、およびアクション（action）を通じて処理すること）を通じて行われる、関連するリソースマネージャオブジェクト１０６へのルールの適用との両方を対象とすることができる。
【００２８】
同期ルールの単一構造内では、顧客は、ダウンストリームリソースシステム内のオブジェクトとリソースマネージャメタバース（metaverse）内のオブジェクトとの間の両方の関係と、それらの２つの間のデータフローとの両方を定義する。以前のバーションのリソースマネージャには、この単一構造は存在しなかったが、ユーザは、リソースマネージャからのデータアウトバウンドのフロー（プログラムされたロジック（Programmed logic）＋アウトバウンドフロー（Outbound flow））を制御していたものから独立した概念の単一のセット（結合（Join）／予測（Projection）／インバウンドフロー（Inbound Flow））を通じて、データのインバウンドフローを定義しなければならなかったであろう。一部の実施形態において、同期ルールは、この構成の一部としてプログラミングの必要性を省略すると同時に、フローの両方の方向を処理するための概念の新たなセットを定義する。
【００２９】
同期ルールは、変更をダウンストリームリソースシステムからリソースマネージャにインポートするとき（「インバウンド」）と、変更をリソースマネージャからダウンストリームリソースシステムにエクスポートするとき（「アウトバウンド」）の両方の場合に実行される。
【００３０】
任意の方向において、同期ルールは、オブジェクトの適切なセットをスコーピング（scoping）し、次いで他のシステム内のオブジェクトとの関係を探すか、または確立し、その後、関係の一部として見つかったソースオブジェクトとターゲットオブジェクトとの間のルールの一部として指定された変換を適用することによって動作することができる。
【００３１】
ダウンストリームリソースシステムからリソースマネージャへのフローの方向を考えると、スコーピングは、インポートにおいて、同期ルールが適用されるべきダウンストリームリソースシステム内のオブジェクトの必要なセットを収集するのに使用される、直線的な属性値フィルタ（straight attribute-value filter）を通じて達成され得る。
【００３２】
しかしながら、リソースマネージャの視点から同期を考えると、セットメンバーシップ、ポリシールールおよびプロセスは、インバウンドの場合に使用されるような直線的フィルタではなく、オブジェクトが同期ルールの範囲内外にもたらされるディクテイタ（dictator）とすることができる。具体的には、リソースマネージャを考えると、ルールの範囲内のユーザを収集する自動フィルタは存在せず、代わりに、各リソースマネージャオブジェクトは、該リソースマネージャオブジェクトを適用すべき関連する同期ルールのリストを有する。本明細書において、このリストを予想ルールリスト（expected rules list）１０４と呼ぶ。同期ルールが、リソースマネージャオブジェクトの予想ルールリスト１０４に出現するとき、そのリソースマネージャオブジェクトは次いで、同期エンジンで次に実行された際に、関連付けられた同期ルールの範囲に手動で追加される。同期ルールが、同期ルールアクティビティを使用して予想ルールリストを操作する宣言的なワークフローのアクションプロセスを通じて、リソースマネージャオブジェクトの予想ルールリスト１０４に追加され、該リストから削除されることが予想される。そのオブジェクトに対する正常なリソースマネージャ動作の結果、これらのアクションワークフローが開始することが予想されてもよい。
【００３３】
さらに、各リソースマネージャオブジェクト１０６は、現実の世界において同期ルールがリソースマネージャオブジェクトに存在することが確認されることを視覚化する、関連付けられたリストを有し、このリストを、検出ルールリスト（detected rules list）１１２と呼ぶ。検出ルールリスト１１２と予想ルールリスト１０４は、相互に完全に独立のものとすることができ、リソースマネージャの中心ビューからのみ適用可能である。すなわち、予想ルールリスト１０４は、アウトバウンド同期にのみ使用され、検出ルールリスト１１２は、リソースマネージャオブジェクトのダウンストリームシステム内の表現を見るのに使用される。図１において、１０８ａは、１０６ａのダウンストリーム表現である。
【００３４】
検出ルールリスト１１２は、接続されたダウンストリームシステム１１４内のオブジェクトを識別して、該オブジェクトをリソースマネージャ１１０内のオブジェクトと関係づけることによって生成され得る。必要に応じてダウンストリームリソースシステムで発見されたオブジェクト１０８を示すために、リソースマネージャ１１０内でリソースマネージャオブジェクト１０６を作成することができる。ダウンストリームリソースシステム１１４はしばしば、リソースマネージャ１１０が認識していないエンティティに許可を与えるオブジェクト１０８を含むことがある。検出ルールリスト１１２の生成は、ダウンストリームシステム１１４内のこれらのオブジェクト１０８を識別するための機能性を提供する。その後、ダウンストリームシステム１１４内のオブジェクト１０８を指すように、またはダウンストリームシステム１１４からダウンストリームリソースシステムオブジェクト１０８を削除することによって許可を削除するように、あるいは、ダウンストリームシステムオブジェクト１０８から許可を削除するように、予想ルールリスト１０４を更新することができる。
【００３５】
予想ルールリスト１０４および検出ルールリスト１１２は、ユーザが、ダウンストリームシステム１１４内のダウンストリームリソースシステムオブジェクト１０８に類似すると想定されたリソースマネージャオブジェクト１０６の表現を見ることと、その表現が実際のものであると確認することとの両方を行うことができるように構成する。検出ルールリスト１１２は、単一の属性が、他のシステム内のダウンストリームリソースシステムオブジェクト１０８に対応することが知られるように、その特定のリソースマネージャオブジェクト１０６の既知の表現を表示するという点で、コンプライアンス報告に特に有用であることを示す。
【００３６】
上述のように、同期ルールがインバウンドの方向で評価されている場合、オブジェクトのスコーピングを、フィルタを介して行うことができる。アウトバウンドの行程で評価されている場合、各オブジェクトの予想ルールリスト１０４を使用して、どのオブジェクトが同期ルール１０２の範囲内に収まるかを判断することができる。
【００３７】
以下の説明では、実行され得る複数の方法および方法の動作に言及する。方法の動作を、ある順序で説明されるが、特に明示しない限り必ずしも特定の順序付けは必要とされず、ある動作が該動作に先立って完了している別の動作に依存するので必要とはされないことに留意されたい。
【００３８】
ここで図２を参照すると、方法２００が図示されている。方法２００を、例えばリソースマネージャを含むコンピューティング環境内で実施することができる。リソースマネージャは、リソースを管理するためのプログラムコードを含む。方法２００は、新たなエンティティをリソースマネージャに追加すべきことを示すユーザ入力を受信する動作を含む（動作２０２）。例えば、図１に図示される例において、ユーザは、リソースマネージャオブジェクト１０６ａなどの新たなオブジェクトを、リソースマネージャ１１０に追加することを望むことがある。ユーザは、リソースマネージャ１１０に結合されたユーザインタフェースを使用して、リソースマネージャオブジェクト１０６ａを追加するという要求を示すことができる。
【００３９】
新たなエンティティをリソースマネージャに追加すべきであることを示すユーザ入力を受信したことに応答して、方法２００は、新たなエンティティに対応する新たなエンティティオブジェクトを作成すること（動作２０４）、およびイベントを生成すること（動作２０６）をさらに含む。例えば、リソースマネージャオブジェクト１０６ａを、リソースマネージャリポジトリに追加して、イベントを生成することができる。イベントは、実行すべきワークフローを指定することができる。ワークフローは、同期ルール１０２を、新たなエンティティオブジェクトに特有の予想ルールリスト１０４ａに追加するように構成される。例えば、ワークフローは、予想ルールリスト１０４ａに同期ルール１０２ａを追加するように構成されてもよい。予想ルールリストにおける同期ルール１０２は、どのようにリソースマネージャ１１０のオブジェクト１０６をダウンストリームリソースシステム１１４のオブジェクト１０８に変換するかを定義する。具体的には、同期ルール１０２は、ダウンストリームリソースシステム１１４において１つまたは複数のエンティティオブジェクト１０８がどのように生成されるか、リソースマネージャ１１０において１つまたは複数のエンティティオブジェクト１０６がどのように生成されるか、およびデータがダウンストリームリソースシステム１１４からリソースマネージャオブジェクト１０６にどのようにフローするかを定義することができる。さらに、複数の同期ルール１０２は、単一の同期ルール１０２内において、ダウンストリームリソースシステム１１４とリソースマネージャ１１０との間のインバウンド関係、アウトバウンド関係、または双方向関係（bi-directional relationship）のうちの１つまたは複数を定義することができる。
【００４０】
方法２００は、イベントに応答して、該イベントで指定されたワークフローを実行することにより、同期ルールが予想ルールリストに追加されることとなること（動作２０８）をさらに図示する。図１に図示されるように、同期ルール１０２ａは予想ルールリスト１０４ａに追加される。特に、同期ルールを予想ルールリストに追加することは、多くの異なる方式で実行され得る。例えば、同期ルール１０２ａを、リソースマネージャ１１のルールリポジトリに格納することができる。該ルールリポジトリの同期ルールへの参照によって、同期ルール１０２ａを予想ルールリスト１０４ａに追加することができる。代替的には、予想ルールリスト１０４ａ内の直接定義（direct definition）によって、ルールを予想ルールリストに明示的に追加することができる。言い換えると、予想ルールリスト１０４は、該予想ルールリスト１０４における同期ルール１０２のリポジトリとして機能することができる。
【００４１】
方法２００はさらに、リソースマネージャの同期エンジンにおいて、新たなエンティティオブジェクトを、リソースマネージャによって管理されるダウンストリームリソースシステム内の対応するオブジェクトと同期させるワークフローを実行し、それにより、予想ルールリスト内の同期ルールを実行することによってダウンストリームリソースシステム内の新たなエンティティに対する許可が作成されることとなるように実装することができる。例えば、同期エンジンは、予想ルールリスト１０４ａ内の同期ルール１０２ａを参照することができる。同期エンジンは、リソースマネージャオブジェクト１０６ａを、ダウンストリームリソースシステム１１４ａのダウンストリームリソースシステムオブジェクト１０８ａと同期させるべきと判断することができる。以下で詳述するように、このことは、既存のダウンストリームリソースシステムのオブジェクト１０８とリソースマネージャのオブジェクト１０６とを関係付けることによって、またはリソースマネージャのオブジェクト１０６に対応する新たなダウンストリームリソースシステムのオブジェクト１０８を作成することによって達成することができる。
【００４２】
例えば、方法２００は、ダウンストリームリソースシステム内の新たなエンティティに対する許可の作成を行うことが、新たなエンティティオブジェクトに対応するオブジェクトがダウンストリームリソースシステム内に存在しないと判断することと、リソースマネージャの新たなエンティティオブジェクトに対応するオブジェクトを、ダウンストリームリソースシステム内で作成することとを含むように実装されてもよい。図１に図示された例において、同期エンジンが、同期ルール１０２ａを同期させるワークフローを実行して、ダウンストリームリソースシステムオブジェクト１０８ａをリソースマネージャオブジェクト１０６ａと同期させるとき、ダウンストリームリソースシステムのオブジェクト１０８ａがダウンストリームリソースシステム１１４ａに存在しないことがある。したがって、実施形態は、ダウンストリームリソースシステム１１４ａ内にダウンストリームリソースシステムのオブジェクト１０８ａを生成することを含むことがある。これにより、適切な権利および許可を与える際にさらなる同期を可能にする。
【００４３】
一実施形態において、方法２００は、新たなエンティティオブジェクトをリソースマネージャによって管理されるダウンストリームリソースシステム内の対応するオブジェクトと同期させるワークフローを実行することが、同期ルールに対して指定された優先順位（precedence）に従って同期ルールを実行することを含むように実装されてもよい。優先順位は、他の同期ルールの前に実行されるべき同期ルールを指定する。例えば、予想ルールリスト１０４ａは、ルール１０２ａから１０２ｎまで含む、複数の同期ルールを含むことができる。しかしながら、一部の同期ルール１０２で指定された同期を、他のルールで指定された同期の前に実行することが望ましいことがある。これを行うことにより、例えば、あるルールで指定された許可または制約が、異なる同期ルールの後の適用によって上書きされないことを保証することができる。
【００４４】
次に図３を参照すると、方法３００が図示されている。方法３００は、リソースマネージャを含むコンピューティング環境において実行され得る複数の動作を図示している。リソースマネージャは、コンピューティング環境内のリソースを管理するためのプログラムコードを含む。方法３００は、エンティティがリソースにアクセスするための許可を管理することを含め、リソースを管理するための動作を含む。方法は、リソースマネージャのエンティティオブジェクトによって表されるエンティティが、リソースマネージャで許可を削除させるべきであることを示すユーザ入力を受信することを含む（動作３０２）。例えば、リソースマネージャ１１０に接続されたユーザインタフェースと対話するユーザは、リソースマネージャオブジェクト１０６ａに対応するエンティティが、ダウンストリームリソースシステム１１４から許可を削除させるべきであることを示すことがある。例えば、該エンティティが組織の従業員であり、該エンティティの役割が変更される場合、該エンティティが、或るダウンストリームリソースシステム１１４のリソースにアクセスすることができないように、該リソースにおいてアクセスするアクションを実行することができないように、そのダウンストリームリソースシステム１１４から或る許可を削除する必要があることがある。これは、リソースマネージャ１１０と対話する管理者によって指示されることがある。
【００４５】
エンティティが、リソースマネージャで許可を削除させるべきことを示すユーザ入力を受信したことに応答して、イベントが生成される（動作３０４）。該イベントは、実行されるべきワークフローを指定する。ワークフローは、１つまたは複数のダウンストリームリソースシステム内のエンティティに対する許可が削除されるべきことを、エンティティオブジェクトに特有の予想ルールリスト内の同期ルールによって示すように構成される。例えば、ダウンストリームリソースシステムのオブジェクト１０８ａから許可を削除すべきであることを示すように、同期ルール１０２ａを修正することができる。
【００４６】
方法３００は、イベントに応答して、イベントで指定されたワークフローを実行すること（動作３０６）をさらに含み、これにより、１つまたは複数のダウンストリームリソースシステム内のエンティティに対する許可が削除されるべきであることを同期ルールにより示すこととなる。
【００４７】
方法３００は、リソースマネージャの同期エンジンで、エンティティオブジェクトを、リソースマネージャによって管理されるダウンストリームリソースシステム内の対応するオブジェクトとエンティティオブジェクトと同期させるワークフローを実行することをさらに含むことがあり、これにより、ダウンストリームリソースシステム内のエンティティに対する許可の削除が行われることとなる。例えば、同期ルール１０２ａを参照し、およびダウンストリームリソースシステムのオブジェクト１０８ａをリソースマネージャオブジェクト１０６ａと同期させ、該同期の結果ダウンストリームリソースシステムのオブジェクト１０８ａに対する許可が削除されるように、ワークフローを構成することができる。
【００４８】
一実施形態において、エンティティオブジェクトに特有の予想ルールリスト内の同期ルールにより、ダウンストリームリソースシステム内のエンティティに対する許可を削除すべきことを示すことが、新たな同期ルールを予想ルールリストに追加することを含むように、方法２００を実装することができる。例えば、許可が削除されるべきことを示す新たな同期ルール１０２を、予想ルールリスト１０４に追加することができる。
【００４９】
一実施形態において、方法３００はさらに、検出ルールリストを生成することを含むことができ、該検出ルールリストは、コンピューティング環境内のリソースに対するエンティティオブジェクトの既存の許可を指定する。検出ルールリストを生成することは、ダウンストリームリソースシステム内のオブジェクトを検査することと、ダウンストリームリソースシステム内の検査されたオブジェクトを、リソースマネージャによって管理されるリソースマネージャオブジェクトと関係付けることとを含む。予想ルールリストから同期ルールを削除することとなる、イベントで指定されたワークフローを実行すること（動作３０６）は、検出ルールリストからの既存の許可を予想ルールリストから削除することとなるワークフローを実行することを含む。
【００５０】
例えば、上述され、以下でより詳細に説明されるように、検出ルールリスト１１２ａは、ダウンストリームリソースシステムオブジェクト１０８ａに対応するエンティティに与えられることが望ましくない或る許可を、ダウンストリームリソースシステムオブジェクト１０８ａが含むと判断することができる。これらの許可を削除するために、特にダウンストリームリソースシステムオブジェクト１０８ａから許可を削除する同期ルール１０２を、予想ルールリスト１０４ａに追加することができる。
【００５１】
代替的な実施形態では、エンティティオブジェクトに特有の予想ルールリスト内の同期ルールにより、ダウンストリームリソースシステム内のエンティティに対する許可を削除すべきことを示すことは、予想ルールリスト内の既存の同期ルールを修正することを含むことができる。例えば、同期ルール１０２ａが予想ルールリスト１０４ａに含まれており、ダウンストリームリソースシステムオブジェクト１０８ａに或る許可を与えている場合、同期ルール１０２ａを修正することによって、許可の削除を達成することができる。
【００５２】
図４は、リソースマネージャを含むコンピューティング環境において実施することができる、さらに別の実施形態を図示している。リソースマネージャは、コンピューティング環境内のリソースを管理するためのプログラムコードを含む。リソースを管理する方法は、エンティティがリソースにアクセスするための許可を管理することを含む。方法４００は、リソースマネージャのエンティティオブジェクトによって表されるエンティティが、リソースマネージャで許可を追加させるべきことを示す、ユーザ入力を受信することを含む（動作４０２）。例えば、エンティティに対応するリソースマネージャオブジェクト１０６ａが、リソースマネージャ１１０内に存在することがある。リソースマネージャ１１０と対話する管理者は、リソースマネージャオブジェクト１０６ａに対する追加の許可をダウンストリームリソースシステム１１４に追加すべきであることを示すユーザ入力を提供することができる。
【００５３】
方法４００はさらに、エンティティが、リソースマネージャで許可を追加させるべきであることを示すユーザ入力の受信に応答して、イベントが生成されること（動作４０４）を示している。イベントは、実行されるべきワークフローを指定する。ワークフローは、エンティティオブジェクトに特有の予想ルールリスト内の同期ルールにより、１つまたは複数のダウンストリームリソースシステム内のエンティティに対する許可が追加されるべきであることを示すように構成される。先の例で説明したように、同期ルール１０２ａを予想ルールリスト１０４ａに追加することで、あるいは適切な同期ルール１０２ａが予想ルールリスト１０４ａ内に既に存在する場合は同期ルール１０２ａを修正することで、ダウンストリームリソースシステムオブジェクト１０８ａに許可が追加されるべきことを指示するイベントを可能にすることができる。
【００５４】
方法４００は、イベントに応答して、１つまたは複数のダウンストリームリソースシステム内のエンティティに対する許可が追加されるべきであること同期ルールにより示すこととなる、イベントで指定されたワークフローを実行すること（動作４０６）をさらに含む。
【００５５】
方法４００は、リソースマネージャの同期エンジンで、エンティティオブジェクトをリソースマネージャによって管理されるダウンストリームリソースシステム内の対応するオブジェクトと同期させるワークフローを実行することをさらに含むことができ、これにより、予想ルールリスト内の同期ルールを実行することによってダウンストリームリソースシステム内の新たなエンティティに対する許可の生成を行うことができる。例えば、予想ルールリスト１０４ａ内の同期ルール１０２ａを参照して、それにより、ダウンストリームリソースシステムのオブジェクト１０８ａと同期させるように、および／またはダウンストリームリソースシステムのオブジェクト１０８ａ内で許可を生成するように、ワークフローを構成することができる。
【００５６】
上述のように、一部の実施形態は、検出ルールリストを使用するが、検出ルールリストは、ダウンストリームリソースシステム内のエンティティに対する許可の実際の状態を定義する。したがって、一部の実施形態は、検出ルールリストを生成すること、および該検出ルールリストの適切な使用を行うことを対象とすることがある。例えば、方法５００を、コンピューティング環境内のリソースを管理するためのプログラムコードを備えたリソースマネージャを含むコンピューティング環境内で実施することができ、該方法５００は、検出ルールリストを生成すること（動作５０２）を含む。検出ルールリストは、コンピューティングシステム内のリソースに対するエンティティの既存の許可を指定する。検出ルールリストを生成することは、ダウンストリームリソースシステムでオブジェクトを検査することと、ダウンストリームリソースシステム内の検査されたオブジェクトを、リソースマネージャによって管理されるリソースマネージャオブジェクトと関係付けることとを含む。
【００５７】
方法５００は、予想ルールリストにアクセスすること（動作５０４）をさらに含む。予想ルールリストは、エンティティ用に存在しているべき、コンピューティングシステム内のリソースに対する許可を定義する。例えば、予想ルールリストは、リソースマネージャオブジェクト１０２と対応するダウンストリームリソースシステムオブジェクト１０８との間でどのように同期を実行すべきかを定義することができる。許可を予想ルールリスト１０４内のルールから推測または決定することができる。
【００５８】
方法５００は、検出ルールリストと予想ルールリストとを比較すること、および検出ルールリストが予想ルールリスト内に含まれない許可を含むと判断すること（動作５０６）をさらに含む。例えば、予想ルールリスト１０４ａを、検出ルールリスト１１２ａと比較することができる。その比較結果に基づいて、検出ルールリスト１１２ａが、予想ルールリスト１０４ａに含まれていないエンティティに対する許可を含むとの判断を行うことができる。
【００５９】
検出ルールリストが予想ルールリストに含まれていない許可を含むことを示す指示（indication）を提供することができる（動作５０８）。
【００６０】
方法５００は、検出ルールリストに含まれるが、予想ルールリストには含まれていない許可を削除すべきことを示すユーザ入力を受信することをさらに含むことができる。この実施形態では、該ユーザ入力に応答して、予想ルールリストを修正してワークフローを実行することによって、検出ルールリストに含まれるが予想ルールリストには含まれない許可を削除することをさらに含む。上記ワークフローは、ダウンストリームリソースシステム内の許可の削除が行われるように構成することができる。一実施形態において、予想ルールリストを修正することは、１つまたは複数の許可の削除を示すエントリを、予想ルールリストに含めることを含む。
【００６１】
方法５００の一実施形態では、ダウンストリームリソースシステム内の検査されたオブジェクトを、リソースマネージャによって管理されるオブジェクトと関係付けることは、リソースマネージャ内に、ダウンストリームリソースシステム内のオブジェクトと関係付けることができるオブジェクトが存在しないと判断することを含む。リソースマネージャ内でオブジェクトが作成されて、ダウンストリームリソースシステム内のオブジェクトと関係付けられる。
【００６２】
予想ルールリストが１つまたは複数の同期ルールを含むように、方法５００を実装することができる。１つまたは複数の同期ルールはそれぞれ、複数のパラメータを含むことができる。例えば、１つまたは複数の同期ルールはそれぞれ、同期ルールを識別するのに使用される指示を含むことができる。１つまたは複数の同期ルールはそれぞれ、データをダウンストリームリソースシステムからリソースマネージャにインポートすること、あるいはデータをリソースマネージャからダウンストリームリソースシステムにエクスポートすることの少なくとも一方を行うために使用することができる同期ルールを指定する、フロータイプの定義を含むことができる。１つまたは複数の同期ルールはそれぞれ、該同期ルールが適用される、リソースマネージャのオブジェクトタイプの仕様（specification）を含むことができる。１つまたは複数の同期ルールはそれぞれ、ダウンストリームリソースシステムの仕様を含むことができる。１つまたは複数の同期ルールはそれぞれ、該同期ルールが適用される、ダウンストリームリソースシステムのオブジェクトタイプの仕様を含むことができる。１つまたは複数の同期ルールはそれぞれ、リソースマネージャ内およびダウンストリームリソースシステム内のオブジェクトをリンクするための１つまたは複数の条件を含む関係基準の仕様を含むことができる。
【００６３】
１つまたは複数の同期ルールの各々がオプションで、属性フロー情報（attribute flow information）の仕様を含むように、実施形態を実装することができる。１つまたは複数の同期ルールはそれぞれオプションで、同期ルールの説明（description）を含むことができる。１つまたは複数の同期ルールはそれぞれオプションで、別の同期ルールの存在に対する依存性を定義する情報を含むことができる。１つまたは複数の同期ルールはそれぞれオプションで、該同期ルールが適用されることとなるダウンストリームリソースシステム内のオブジェクトを識別するのに使用されるフィルタを含むことができる。該フィルタは、同期ルールを適用するのに満たさなければならない条件を含むことができる。
【００６４】
１つまたは複数の同期ルールはそれぞれオプションで、関係基準で指定された関係基準が満たされないときに使用することができる、関係作成（relationship creation）動作の仕様を含むことができる。例えば、関係生成動作は、リソースマネージャにオブジェクトが存在しない場合に、該リソースマネージャにおけるオブジェクトの作成を含むことができる。代替または追加として、関係作成動作は、ダウンストリームリソースシステム内にオブジェクトが存在しない場合に、該ダウンストリームリソースシステムにおけるオブジェクトの作成を含むことができる。代替または追加として、関係作成動作は、ダウンストリームリソースシステムにおけるオブジェクト階層（object hierarchy）の作成を含むことができる。代替または追加として、関係生成動作は、対応するオブジェクトがリソースマネージャから削除されるとき、ダウンストリームリソースシステムからのオブジェクトの削除を含むことができる。
【００６５】
以下でより詳述されるように、本明細書における実施形態は、様々なコンピュータハードウェアを含む専用または汎用のコンピュータを備えることができる。
【００６６】
実施形態は、記憶されたコンピュータ実行可能命令またはデータ構造を担持または有するコンピュータ読取可能媒体を含むこともできる。そのようなコンピュータ読取可能媒体は、汎用または専用コンピュータによってアクセスすることができる任意の利用可能な媒体とすることができる。限定ではなく例として、そのようなコンピュータ読取可能媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭもしくは他の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶装置、またはコンピュータ実行可能命令もしくはデータ構造の形式で所望のプログラムコード手段を担持もしくは格納するのに使用することができ、汎用もしくは専用コンピュータによってアクセスすることができる、任意の他の媒体を含むことができる。情報がネットワークまたは別の通信接続（有線、無線、または有線と無線の組み合わせのいずれか）を介してコンピュータに伝送もしくは提供されると、該コンピュータは適切に、その接続をコンピュータ読取可能媒体として見る。したがって、任意のそのような接続は適切にコンピュータ読取可能媒体と称される。上記のものの組み合わせもコンピュータ読取可能媒体の範囲内に含まれるべきである。
【００６７】
コンピュータ実行可能命令は、例えば、汎用コンピュータ、専用コンピュータ、もしくは専用の処理装置に特定の機能または機能のグループを実行させる、命令およびデータを含む。本発明の主題を、構造的特徴および／または方法の動作に特有の言語で説明してきたが、添付の特許請求の範囲で定義される本発明の主題は、上述の特定の機能または動作に必ずしも限定されないことを理解されたい。むしろ、上述の特定の機能および動作は、特許請求の範囲の記載を実装する例示的な形式として開示されている。
【００６８】
本発明は、その精神または本質的特質から逸脱することなく他の特定の形式で具現化することができる。説明された実施形態は、全ての点において、単なる例示として見なされるべきであり、限定的なものとして見なされるべきではない。本発明の範囲は、したがって、前述の説明ではなく添付の特許請求の範囲によって示される。特許請求の範囲と均等な意味および範囲内で行われる変更は全てすべて、特許請求の範囲の範囲内に包含されるべきである。
【図１】
0005426578.tif 000002
【図２】
0005426578.tif 000003
【図３】
0005426578.tif 000004
【図４】
0005426578.tif 000005
【図５】
0005426578.tif 000006