(57)【特許請求の範囲】
【請求項１】
１つ以上の物理コンピューティング装置を含むディレクトリ管理システムであって、少なくとも、
前記ディレクトリ管理システムが前記ディレクトリ管理システムとは別の複数の組織から前記組織のディレクトリを用いてディレクトリ関連動作を１つのアプリケーションに実行させる権限を付与することを示すディレクトリアクセス設定情報を受信することと、
前記複数の組織の第１の組織とは別の１つ以上の物理コンピューティング装置上で実行されている利用可能な複数のアプリケーションのうちの第１のアプリケーションとの通信を確立することと、
前記第１の組織から受信したアクセス設定情報に基づき、前記第１の組織のネットワークディレクトリを用いて前記ディレクトリ管理システムに実行させる権限が前記第１のアプリケーションに付与される動作を決定することと、
前記第１のアプリケーションに前記ディレクトリ関連動作を実行させる要求に応答し、前記第１の組織の前記ネットワークディレクトリを用いて、前記第１のアプリケーションの代わりに前記ディレクトリ関連動作を実行することと、を含むディレクトリ管理システム。
【請求項２】
前記第１の組織の前記ネットワークディレクトリは、前記第１の組織のコンピューティングネットワークの複数のリソースに関するデータの集合を含み、前記データの少なくとも一部は、前記複数のリソースの個々のリソースを表すオブジェクトに編成される、請求項１に記載のディレクトリ管理システム。
【請求項３】
前記第１の組織の前記ネットワークディレクトリは、前記第１の組織の構内に物理的に記憶され、かつ前記ディレクトリ管理システムから離れたディレクトリを含む、請求項１に記載のディレクトリ管理システム。
【請求項４】
前記第１の組織から受信した前記アクセス設定情報に基づき、前記アプリケーションが前記第１の組織の前記ネットワークディレクトリを用いて第２の動作を実行することを禁止するように更に構成された、請求項１に記載のディレクトリ管理システム。
【請求項５】
コンピュータ実装方法であって、
１つ以上のコンピューティング装置を含むディレクトリ管理システムによって実行されると、
アプリケーションに対し、前記アプリケーション及び前記ディレクトリ管理システムとは別の第１の組織の第１のディレクトリにアクセスすることに関する第１のポリシーを決定することと、
前記第１のポリシーに基づき、前記アプリケーションが前記第１のディレクトリを用いて第１のディレクトリ関連動作を実行することを可能にすることと、
前記アプリケーションに対し、前記アプリケーション及び前記ディレクトリ管理システムとは別の第２の組織の第２のディレクトリにアクセスすることに関し、前記第１のポリシーとは異なる第２のポリシーを決定することと、
前記第２のポリシーに基づき、前記アプリケーションに代わって、前記第２のディレクトリを用いて前記第１のディレクトリ関連動作とは異なる第２のディレクトリ関連動作を実行することを可能にすることと、を含む、前記コンピュータ実装方法。
【請求項６】
前記第１の組織の前記第１のディレクトリは、前記第１の組織のコンピューティングネットワークの複数のリソースに関するデータの集合を含む、請求項５に記載のコンピュータ実装方法。
【請求項７】
前記第１のディレクトリ関連動作は、ユーザーをリストすること、ユーザーを認証すること、ユーザーを作成すること、ユーザーを変更すること、ユーザーを削除すること、パスワードを変更すること、グループを作成すること、グループを変更すること、グループを削除すること、コンピューティング装置をドメインに加えること、ファイルを読み出すこと、ファイルを書き込むこと、ファイルを作成すること、ファイルを削除すること、または記憶構造を変更することのうちの少なくとも１つを含む、請求項５に記載のコンピュータ実装方法。
【請求項８】
前記第１の組織から受信したアプリケーションアクセス設定情報に基づいて前記第１のポリシーを決定することを更に含む、請求項５に記載のコンピュータ実装方法。
【請求項９】
前記アプリケーションが前記第１のディレクトリ関連動作を実行することを可能にすることは、
前記アプリケーションが個々の動作を開始するために使用するアプリケーションプログラミングインターフェースを提供することと、を含む、請求項５に記載のコンピュータ実装方法。
【請求項１０】
前記第１の組織の前記第１のディレクトリは、前記第１の組織の構内に物理的に記憶され、かつ前記ディレクトリ管理システムから離れたディレクトリを含む、請求項５に記載のコンピュータ実装方法。
【請求項１１】
前記第１の組織の前記第１のディレクトリは、前記ディレクトリ管理システムに物理的に記憶されたディレクトリを含む、請求項５に記載のコンピュータ実装方法。
【請求項１２】
前記アプリケーションが前記第１のディレクトリを用いて動作を実行することを禁止することを更に含み、前記アプリケーションは、前記第２のディレクトリを用いて前記動作を実行することを許可される、請求項５に記載のコンピュータ実装方法。
【請求項１３】
前記第１のアプリケーションが前記ディレクトリを用いて動作を実行することを禁止することを更に含み、前記第２のアプリケーションは、前記ディレクトリを用いて前記動作を実行することを許可される、請求項５に記載のコンピュータ実装方法。
【請求項１４】
前記第１の組織は、複数の異なるディレクトリを保持し、前記アプリケーションは、前記複数の異なるディレクトリの一部にのみアクセスすることを許可される、請求項５に記載のコンピュータ実装方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホストされたディレクトリサービスによるディレクトリへのアプリケーションアクセスの管理に関する。
【背景技術】
【０００２】
企業及び他の事業体などの組織は、多くの場合、組織のコンピューティング装置をネットワーク接続して、それらが相互に通信し、更に組織外のコンピューティング装置と通信するようにしている。ネットワークディレクトリは、単に「ディレクトリ」とも呼ばれるが、装置、アプリケーション、人、及びコンピュータネットワークの他の一般的なオブジェクトに関する情報の特殊化された集合である。コンピューティングネットワークを備えた組織は、通常、ディレクトリを使用して、ネットワークリソースの配置、編成、運営、及びさもなければ管理を効率的に行う。例えば、ユーザーを、ディレクトリに加え、特定の証明書と関連付けても良い。その後、そのユーザーを、（例えば、ログイン手順中に取得された）ユーザー提供の証明書を当該ディレクトリにある証明書と比較することによって認証しても良い。次いで、ユーザーに権限を付与して実行させることに関する情報をディレクトリから読み出しても良い。別の例として、ネットワーク環境の一部である個々のコンピュータ、プリンタ及び他の装置をディレクトリにリストしても良く、アプリケーションまたはユーザーは、ディレクトリ内の利用可能な装置のリストを参照し、それらにアクセスするための情報（例えば、名称、アドレスなど）を取得しても良い。
【発明の概要】
【課題を解決するための手段】
【０００３】
いくつかのネットワークベースのサービスプロバイダ（例えば、ファイルのストレージ及びバックアップ、メッセージ通信、ならびにソーシャルネットワーキングなどの、外部の顧客に対する「クラウドベースの」サービスの提供者）は、それ自体のディレクトリを保持し、それらのディレクトリを部分的に使用して、サードパーティのアプリケーション及びサービスに認証サービスを提供する。顧客及び他のユーザーは、ネットワークベースのサービスプロバイダにアカウントを作成し、ユーザーの証明書を取得する。その後、ユーザーは、ネットワークベースのサービスプロバイダと関連付けられた証明書を用いて各種のサードパーティのアプリケーション及びサービスにログオンすることができ、ネットワークベースのサービスプロバイダは、ユーザーのセキュアな情報（例えば、パスワード）をサードパーティのアプリケーション及びサービスに公開せずに当該ユーザーを認証することができる。
【０００４】
次に、本発明の各種特徴の実施形態について、以下の図面を参照して説明する。各図面を通じて、参照番号は、参照された要素間の対応を示すために再度使用され得る。これらの図面は、本明細書で説明される例示的な実施形態を図示するために提供されるが、本開示の範囲を限定することを意図したものではない。
【図面の簡単な説明】
【０００５】
【図１】いくつかの実施形態に係る、コンピューティングサービスプロバイダならびに様々な組織、アプリケーション及びユーザーを含む例示的なネットワーク環境のブロック図である。
【図２】いくつかの実施形態に係る、ディレクトリへのアプリケーションアクセスを管理するユーザーインターフェースの図である。
【図３】ディレクトリへのアプリケーションアクセスを管理する例示的なプロセスのフロー図である。
【図４】ネットワークベースのディレクトリサービスとユーザー、アプリケーション及び組織との間の例示的な相互作用及びデータフローの図である。
【図５】ネットワークベースのディレクトリサービスとユーザー、アプリケーション及び組織との間の追加の例示的な相互作用及びデータフローの図である。
【発明を実施するための形態】
【０００６】
序論
本開示は、企業及び他の組織の顧客とは別のディレクトリサービス（例えば、クラウドベースのサービスまたは他のリモートディレクトリサービス）が、顧客自身のディレクトリを容易に使用して、同様に顧客とは別のアプリケーションにアクセスする、それと相互作用する、またはそれを使用することを可能にするアーキテクチャを含む。ディレクトリサービスは、ディレクトリサービスと関連し得るアプリケーションによって、またはディレクトリサービスと顧客の両方とは別の、サードパーティのアプリケーションによって、複数の（例えば、２名以上の）顧客のディレクトリへのアクセスを管理することができる。
【０００７】
いくつかの従来のディレクトリサービスプロバイダは、サードパーティのアプリケーションに認証サービスを提供し、当該アプリケーションには、特定のディレクトリ情報にアクセスする権限が付与され得る。例えば、ソーシャルネットワークは、ユーザーのログイン証明書、連絡先情報、及びユーザーと関連付けられた他の情報が記憶されたユーザーのディレクトリを保持しても良い。ソーシャルネットワークは、ログインサービス及び認証サービスをサードパーティのアプリケーションに提供しても良い。それにより、ユーザーは、他のアプリケーションに自身のパスワード及び他の情報が許可なく公開されることを心配せずとも単一の組のログイン証明書を用いて複数のアプリケーションにログインすることが可能となる。加えて、（ユーザーからの認証を得た）ソーシャルネットワークにより、サードパーティのアプリケーションは、ユーザーの連絡先に関する情報などの、特定のディレクトリ情報にアクセスすること、また、ソーシャルネットワークのユーザー専用の部分にアクセスすることなどが可能となり得る。しかしながら、このような従来のディレクトリサービスは、複数の別々の顧客ディレクトリと一体化されておらず、むしろ、それらのサービスは、通常、それ自体のディレクトリを保持していることが多い。したがって、こうした従来のディレクトリサービスを利用することを所望するユーザーは、自身の既存のアカウント、ログイン証明書及び他のディレクトリ情報（例えば、ユーザーが勤務している企業によって管理されたディレクトリのディレクトリ情報）を利用するのではなく、新たなアカウントを作成し、新たなログイン証明書を取得する必要がある。
【０００８】
本開示のいくつかの態様は、顧客から離れたアプリケーションにより、複数の（例えば、２名以上の）異なる顧客のディレクトリへのアクセスを管理するシステムに関する。個々の顧客（例えば、企業及び他の組織）は、複数の顧客にサービスを提供するネットワークベースのディレクトリサービスを通じて、それ自体のディレクトリへのアクセスを設定しても良い。いくつかの実施形態において、ネットワークベースのディレクトリサービスは、顧客のディレクトリへのアプリケーションアクセスを当該顧客が設定し得るインターフェースを提供しても良い。例えば、ネットワークベースのディレクトリサービスによってホストされるか、またはそれによって生成されたウェブベースのインターフェースに顧客がアクセスしても良い。顧客は、ネットワークベースのディレクトリサービスを使用するように構成されるか、さもなければそれと互換性を有する個々のアプリケーションを選択しても良い。顧客は、当該顧客のディレクトリにアクセスする権限をアプリケーションの１つ以上に選択的に付与し、他のディレクトリ関連動作を実行する権限をそのアプリケーションに付与することができる。実例として、顧客がアプリケーションに権限を付与して実行させるディレクトリ関連動作は、特に、ユーザーの作成、変更及び／または削除を行うこと、ユーザーのグループの作成、変更及び／または削除を行うこと、パスワードを管理すること、ユーザーをリストすること、ユーザーを認証すること、コンピュータをドメインに加えること、ファイルの作成、修正、読み取り、書き込み及び削除を行うこと、ならびにファイル記憶構造を変更することなどを含んでも良い。いくつかの実施形態において、顧客は、複数のディレクトリを備えても良く、アプリケーションアクセスを認証し、かつ／またはディレクトリ単位で許可を割り当てることができる。追加の実施形態において、顧客は、所与のディレクトリ内にユーザーまたは他のオブジェクトの複数のグループを備えても良く、顧客は、アクセスを認証し、かつ／またはグループ単位で許可を割り当てることができる。
【０００９】
本開示の更なる態様は、ディレクトリがオンプレミスディレクトリかオフプレミスディレクトリかに関わらず、特定の顧客のディレクトリに対するアプリケーションのアクセスを管理することに関する。個々の顧客は、顧客の構内に（例えば、その構内に物理的に存在するか、またはそれに隣接するサーバに記憶される）ディレクトリを備えても良く、またはオフプレミスで（例えば、ネットワークベースのディレクトリサービスまたは他のコンピューティングサービスプロバイダのデータセンターなどの、物理的に顧客構内から離れたサーバに記憶される）ディレクトリを備えても良い。両方のタイプの顧客を支援するために、ネットワークベースのディレクトリサービスは、アプリケーションプログラミングインターフェース（「ＡＰＩ」）及び／または他のシステムコンポーネントを実装しても良い。これらにより、アプリケーションは、顧客のディレクトリが（顧客に対して）オンプレミスであるか、それともオフプレミスであるかに関わらず、顧客のディレクトリにアクセスし、それを修正し、かつさもなければ使用することができる。したがって、単一のネットワークベースのディレクトリサービスにより、ディレクトリの物理的位置に関わらず、任意の数のアプリケーションが容易に、任意の人数の顧客のディレクトリにアクセスすることが可能となる。かかるネットワークベースのディレクトリサービスは、アプリケーションによるアクセスのためにそれ自体のディレクトリを保持する従来のネットワークベースのディレクトリサービス、または１人の顧客のみのディレクトリへのアクセスを提供するディレクトリサービスよりも柔軟性がある。ある実施形態では、オンプレミスディレクトリに関して組織がアプリケーションに与えることを許可されるアクセス許可は、オフプレミスディレクトリに関してアプリケーションに提供されるアクセスと同一であっても良い。これに対し、他の実施形態では、オンプレミスディレクトリに関して組織が与えることを許可されるアクセス許可は、オフプレミスディレクトリとは異なっていても良い。
【００１０】
本開示に記載された実施形態の態様は、説明のために、アプリケーション、ディレクトリ、ディレクトリサービス及びネットワークベースのコンピューティングサービスプロバイダの具体例及び実施形態に焦点を当てているが、当業者は、本明細書に開示された例及び技術が一例にすぎず、任意の数のサービス、プロセスまたはアプリケーションに適用されても良いことを理解するであろう。以下、本開示の各種態様について、特定の例及び実施形態に関して説明するが、これらは、本開示の限定を意図したものではなく、例示を意図したものである。
【００１１】
例示的なネットワーク環境
いくつかの実施形態に係る、本開示のディレクトリ管理の特徴を実装することができる例示的なネットワーク環境を図１に示す。本明細書で使用する場合、用語「ｄｉｒｅｃｔｏｒｙ（ディレクトリ）」は、一般に、ユーザー、装置、アプリケーション、及びコンピュータネットワークの他の一般的なリソースに関する組織化されたデータの集合を指す。コンピュータネットワーク（またはそのある一部）の各リソースは、ディレクトリ内のオブジェクトとして表されても良く、特定のリソースに関する情報（例えば、名称、アドレス、許可など）は、そのオブジェクトの属性として記憶することができる。オブジェクト内に、または、それと関連して情報を安全に記憶することにより、十分な許可を持つユーザーのみがその情報にアクセスし、それを修正し、またはさもなければ使用することが可能となる。本明細書で使用する場合、用語「ｐｅｒｍｉｓｓｉｏｎｓ（許可）」は、一般に、ユーザー、装置、アプリケーション及びサービスに付与され得るセキュリティ許容度、アクセス権、ポリシー及び他の形式の認証を指す。多くの場合、かかる許可は、特に、どのコンピューティングリソース（ディレクトリ内のオブジェクトによって表される）にアクセスし、それを修正し、作成し、削除し、または使用することが可能であるか、及びどのネットワーク関連動作またはディレクトリ関連動作が実行され得るかなどを示す。
【００１２】
図示のように、ネットワーク環境は、１つ以上のネットワーク１１０を介して通信している各種のユーザー装置１０２、コンピューティングサービスプロバイダ１０４、組織１０６及びサードパーティアプリケーションサーバ１０８を含む。コンピューティングサービスプロバイダ１０４は、アプリケーション、ディレクトリ管理サービス及び／または他のネットワークベースのサービスを様々な組織または他の顧客に提供することができる。組織１０６Ａ〜１０６Ｃ（または他の顧客）は、コンピューティングサービスプロバイダ１０４を使用して、組織と関連したユーザーにアプリケーションアクセスを提供すること、その組織のディレクトリを管理することを行うことができる。個々のユーザーは、コンピューティング装置１０２を使用することにより、コンピューティングサービスプロバイダ１０４（またはサードパーティアプリケーションサーバ１０８）によってホストされたアプリケーションに組織１０６Ａ〜１０６Ｃそれぞれの証明書を用いてアクセスすることができる。加えて、以下でより詳細に説明するように、コンピューティングサービスプロバイダ１０４は、各種組織１０６Ａ〜１０６Ｃのディレクトリへのアクセスを、各組織の裁量でアプリケーションに提供することができる。
【００１３】
ユーザーコンピューティング装置１０２は、多様なコンピューティング装置に対応することができる。このようなコンピューティング装置には、デスクトップコンピューティング装置、ラップトップコンピューティング装置、端末装置、携帯電話、タブレットコンピューティング装置、メディアプレーヤ、ウェアラブルコンピューティング装置（例えば、スマートウォッチ、スマートアイウェアなど）、ならびに１つ以上のコンピュータプロセッサ、コンピュータ可読メモリ及びネットワークアクセス能力を有する各種の他の電子コンピューティング装置及び電化製品が含まれる。いくつかのユーザーコンピューティング装置１０２は、特定の組織１０６Ａ〜１０６Ｃと関連付けられても良い。例えば、組織は、依然としてオンプレミスである、または従業員もしくは当該組織と関連した他のユーザーによって主にオフプレミスで使用される各種のユーザーコンピューティング装置１０２を備えても良い。いくつかの実施形態では、各種タスクを実行するために任意の人数のユーザーによって使用される公共のコンピュータまたは家庭用コンピュータなどの、ユーザーコンピューティング装置１０２の一部または全てを任意の組織と別にしても良い。上記のタスクには、特定の組織１０６Ａ〜１０６Ｃまたはコンピューティングサービスプロバイダ１０４の他の顧客と関連付けられた証明書を用いてアプリケーションにアクセスすることが含まれても良い。
【００１４】
コンピューティングサービスプロバイダ１０４は、アプリケーション１４０をホストするか、またはさもなければそれへのアクセスを提供し、別々の顧客組織１０６Ａ〜１０６Ｃのディレクトリを管理し、かつ／または他のネットワークベースのサービス及びリソースを提供するように構成されたコンピューティングシステムとすることができる。例えば、コンピューティングサービスプロバイダ１０４は、通信ネットワーク１１０を介してアクセスされ得るサーバまたはサーバのグループとすることができる。コンピューティングサービスプロバイダ１０４は、本明細書で説明した各種特徴を提供する複数の構成要素を備えることができる。このような構成要素としては、組織１０６及びユーザーコンピューティング装置１０２によるアクセスが可能な１つ以上のアプリケーションまたはアプリケーションサーバ１４０及びディレクトリ管理システムまたはサービス１４２などがある。コンピューティングサービスプロバイダ１０４は、後述するように、組織１６０Ｂのオフプレミスディレクトリなどの、各種のオフプレミスディレクトリ１４４を記憶しても良い。コンピューティングサービスプロバイダ１０４は、各種のデータ記憶装置を備えても良い。このようなデータ記憶装置としては、コンピューティングサービスプロバイダ１０４内のアプリケーション１４０及び／またはサードパーティアプリケーションサーバ１０８上のアプリケーションによるアクセスが可能なディレクトリに関するメタデータを記憶するアプリケーションアクセスデータストア１４６などがある。いくつかの実施形態において、コンピューティングサービスプロバイダ１０４は、更なる構成要素、または図１に示したものよりも少ない構成要素を備えても良い。
【００１５】
本明細書で使用する場合、用語「ｏｆｆ−ｐｒｅｍｉｓｅｓ  ｄｉｒｅｃｔｏｒｙ（オフプレミスディレクトリ）」は、かかるディレクトリと組織の構内に位置するディレクトリとを区別するために、関連する組織から離れているディレクトリを指す。したがって、コンピューティングサービスプロバイダ１０４の構内にディレクトリが物理的に記憶され得るにも関わらず、そのディレクトリがオフプレミスディレクトリと呼ばれる場合がある。これは、そのディレクトリが、所属する組織（例えば、ディレクトリによって記載されたネットワークを所有または運用する組織）に関してオフプレミスであるためである。加えて、たとえコンピューティングサービスプロバイダ１０４の構外にディレクトリが物理的に記憶され得るにも関わらず、そのディレクトリがオンプレミスディレクトリと呼ばれる場合がある。これは、そのディレクトリが、所属する組織に関してオンプレミスであるためである。
【００１６】
コンピューティングサービスプロバイダ１０４は、単一のコンピューティング装置であって良く、または、当該コンピューティングサービスプロバイダは、コンピュータサーバなどの、サーバシステムとして集合的に動作するように論理的もしくは物理的に共にグループ化された複数の異なるコンピューティング装置を備えても良い。コンピューティングサービスプロバイダ１０４の構成要素は、サーバコンピューティング装置などのハードウェアとして、またはハードウェアとソフトウェアとの組み合わせとしてそれぞれ実装することができる。加えて、コンピューティングサービスプロバイダ１０４の構成要素を、１つのサーバコンピューティング装置上に集約させることができるか、またはいくつかのサーバコンピューティング装置に対して個別に、もしくは複数のグループに分割することができる。いくつかの実施形態において、コンピューティングサービスプロバイダ１０４によって提供される特徴及びサービスは、通信ネットワーク１１０を介して消費可能なウェブサービスとして実装されても良い。更なる実施形態において、これらの特徴及びサービスは、ホストされたコンピューティング環境に実装された１つ以上の仮想マシンによって提供される。ホストされたコンピューティング環境は、迅速に供給され、解放される１つ以上のコンピューティングリソースを含んでも良い。この場合、このコンピューティングリソースには、コンピューティング装置、ネットワーク装置及び／または記憶装置が含まれても良い。ホストされたコンピューティング環境は、クラウドコンピューティング環境と呼ばれる場合もある。
【００１７】
組織１０６Ａ〜１０６Ｃは、コンピューティングサービスプロバイダ１０４の様々な顧客に対応することができる。本明細書では用語「ｏｒｇａｎｉｚａｔｉｏｎ（組織）」を用いているが、かかる組織に関する特徴には、追加的または代替的に、（オンプレミスかオフプレミスかに関わらず）ディレクトリを備えており、かつコンピューティングサービスプロバイダ１０４またはサードパーティアプリケーションサーバ１０８によってホストされたアプリケーションによるそのディレクトリへのアクセスを管理するためにコンピューティングサービスプロバイダ１０４の使用を所望する任意の顧客が必要とされる場合がある。
【００１８】
オンプレミスディレクトリ１６０を保持する組織は、ディレクトリ１６０が記憶された１つ以上のサーバを備えても良い。例えば、組織１０６Ａは、各種サーバを搭載したデータセンターを備えても良く、オンプレミスディレクトリ１６０は、それらのサーバの１つ以上に記憶されても良い。オフプレミスディレクトリを保持する組織は、コンピューティングサービスプロバイダ１０４のサービスを使用しても良く、このコンピューティングサービスプロバイダが、オフプレミスディレクトリデータストア１４４にオフプレミスディレクトリを記憶させても良い。例えば、組織１０６Ｂは、オンプレミスディレクトリを全く保持していなくても良いが、その代わりにコンピューティングサービスプロバイダ１０４に依拠して組織のディレクトリ１４４を保持しても良い。いくつかの組織は、複数のディレクトリをオンプレミスでかつ／またはオフプレミスで保持することを選択しても良い。例えば、組織１０６Ｃは、複数のオンプレミスディレクトリ１６０（上述）を組織１０６Ａとそれぞれ同様にして記憶しても良く、組織１０６Ｃは、コンピューティングサービスプロバイダ１０４を使用してオフプレミスディレクトリ１４４を保持することを選択しても良い。本例においてコンピューティングサービスプロバイダ１０４によって保持されるディレクトリ１４４は、（例えば、バックアップまたは障害回復を目的として）オンプレミスディレクトリのミラーまたは一部であっても良いか、または、このディレクトリは、完全に別のディレクトリ（例えば、オンプレミスディレクトリ１６０とは異なる領域内のコンピューティングリソースのディレクトリ）であっても良い。
【００１９】
通信ネットワーク１１０は、インターネットなどの、各種の異なる当事者によって運用される可能性のある、連結されたネットワークのうちの公的にアクセス可能なネットワークであって良い。いくつかの実施形態において、通信ネットワーク１１０は、インターネット、プライベートネットワーク、パーソナルエリアネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク、ケーブルネットワーク、衛星ネットワーク及び携帯電話ネットワークなど、またはこれらのネットワークの組み合わせであっても良く、またはこれらを含んでも良い。
【００２０】
ディレクトリへのアプリケーションアクセスの設定
図２に、組織の１つのディレクトリまたは複数のディレクトリへのアプリケーションアクセスを管理するための例示的なユーザーインターフェースを示す。図１に示した組織１０６Ａ〜１０６Ｃの１つなどの組織と関連したシステム管理者またはその他のユーザーは、コンピューティングサービスプロバイダ１０４にアクセスして、組織のディレクトリへのアプリケーションアクセスを管理しても良い。実例として、コンピューティングサービスプロバイダ１０４は、ディレクトリ及びアプリケーションを管理するためのネットワークベースのコンテンツページを作成して送信するサーバ（例えば、ウェブサーバ）を備えても良い。図２に示したコンテンツページ２００は、かかるコンテンツページの一例である。
【００２１】
インターフェースは、組織のディレクトリに関する情報を示すために、かつディレクトリへのアプリケーションアクセスを設定するために別々のパネル、領域または部分を備えても良い。例えば、ディレクトリ情報２０２は、ディレクトリの名称、ＩＤ、サイズ（例えば、ユーザーまたは他のオブジェクトの数）、タイプ（例えば、オンプレミスまたはオフプレミス）、起動された日、アドレス、説明、ステータス、ならびにディレクトリを使用が可能なアプリケーション及びサービスなどを含んでも良い。
【００２２】
アプリケーション認証部２０４は、カレントディレクトリを使用し得る全てのアプリケーション及びサービスのリストを含んでも良い。図示のように、利用可能なアプリケーションには、コンピューティングサービスプロバイダ１０４によってホストされたか、またはさもなければ管理されたアプリケーションが含まれても良い。加えて、サードパーティサーバ１０８によってホストされたアプリケーションは、コンピューティングサービスプロバイダ１０４を介して（例えば、コンピューティングサービスプロバイダ１０４によって提供されたＡＰＩを介して）組織のディレクトリにアクセスしても良く、アプリケーション認証部２０４にリストされても良い。ユーザーは、例えば、チェックボックス２０６をアクティブもしくは非アクティブにするか、または項目の選択もしくは非選択を示すように構成された他の何らかのインターフェースコントロールと対話することにより、個々のアプリケーションを選択的に認証するか、または認証を解除しても良い。
【００２３】
認証することをユーザーが選択したアプリケーションに対し、ユーザーは、どの許可をそのアプリケーションに付与して良いかを決定しても良い。ドロップダウンリスト２０８または複数の選択可能なオプションを提示するように構成されたその他の何らかのインターフェースコントロールを設けることにより、ユーザーが、個々のアプリケーションに対して許可を選択し、またはさもなければディレクトリ関連動作を認証することができるようにしても良い。いくつかの実施形態において、アプリケーションに権限を付与して実行させることができるディレクトリ関連動作は、ユーザーの作成、変更及び／または削除を行うこと、ユーザーのグループの作成、変更及び／または削除を行うこと、パスワードを管理すること、ユーザーをリストすること、ユーザーを認証すること、コンピュータをドメインに加えること、ならびにファイル及びファイルシステムオブジェクトの作成、修正、及び削除を行うことなどを含む。あるアプリケーションに対して選択された許可は、他のアプリケーションに対して選択されたものとは異なっていても良い。いくつかの場合において、ユーザーは、利用可能なオプションが互いに排他的ではないときなどに、単一のアプリケーションに対して複数の許可を選択しても良い（例えば、ファイル記憶及びバックアップ用アプリケーションに対し、ユーザー情報を修正することを認め、更に、ディレクトリが関連付けられているドメインに新たなコンピュータを加えることも認める）。更なる実施形態において、管理を容易にするため、複数のディレクトリ関連動作を包含するように（例えば、ディレクトリ内で、かつ／またはコンピューティングサービスプロバイダ１０４にて）役割を作成しても良い。次いで、アプリケーションに１つ以上の役割を割り当てても良い。
【００２４】
ドロップダウンリスト２０８に提示されるか、またはさもなければ特定のアプリケーションに対して選択可能であるオプションは、ディレクトリ管理サービス１４２またはコンピューティングサービスプロバイダ１０４全般に付与された許可に基づいて制限されても良い。組織がコンピューティングサービスプロバイダ１０４を使用して組織のディレクトリ（またはその一部）を管理するとき、当該組織は、全ての態様のディレクトリにアクセスし、それを修正する完全な権限をコンピューティングサービスプロバイダ１０４に付与しなくても良い。例えば、組織１０６Ａは、オンプレミスディレクトリ１６０を保持しても良く、ディレクトリ１６０内でユーザーアカウントまたは役割を作成しても良い。組織１０６Ａは、このユーザーアカウントまたは役割を、コンピューティングサービスプロバイダ１０４に割り当てることができる。ユーザーアカウントまたは役割は、あるオブジェクトまたはオブジェクトタイプに対する完全な権限、他のオブジェクトまたはオブジェクトタイプに対する読み取り専用アクセス、及び更に他のオブジェクトまたはオブジェクトタイプにアクセス禁止、ディレクトリに対してまたはディレクトリを用いて実行され得る全てのディレクトリ関連動作の一部のみを実行する許可を含んでも良い。次いで、ユーザーアカウント（または役割に割り当てられたユーザーアカウント）を、ディレクトリ１６０へのアクセスに使用するためにコンピューティングサービスプロバイダ１０４に提供しても良い。したがって、コンピューティングサービスプロバイダ１０４のディレクトリ管理サービス１４２が、何らかのアプリケーションまたはサービスに代わって組織１０６Ａのオンプレミスディレクトリ１６０にアクセスするとき、ディレクトリ管理サービス１４２は、ディレクトリ管理サービス１４２がディレクトリ１６０にアクセスする際に使用するユーザーアカウントに対して権限が付与されたディレクトリ関連動作を実行するだけでも良い。
【００２５】
ディレクトリ管理サービス１４２を介してアプリケーションによって実行され得るディレクトリ関連動作は、ディレクトリ管理サービス１４２に付与された許可、及び更には各アプリケーションに付与された許可に基づいて制限されても良い。上述したように、ディレクトリ管理サービス１４２またはコンピューティングサービスプロバイダ１０４全般には、特定のディレクトリにおいて実現可能なディレクトリ関連動作の一部を実行する権限を付与するだけで良い。組織の管理者または他のユーザーが組織のディレクトリへのアプリケーションアクセスを設定するとき、任意の特定のアプリケーションに割り当てられた許可は、ディレクトリ管理サービス１４２に付与された許可を超えなくても良い。しかしながら、いくつかの実施形態において、ユーザーは、ディレクトリ管理サービス１４２に付与された完全な一組の許可よりも少ない許可を付与することによって許可の「範囲を縮小する（ｄｏｗｎ−ｓｃｏｐｅ）」場合がある。例えば、ディレクトリ管理サービス１４２には、ユーザーアカウントを読み取り、修正するが、新たなユーザーアカウントを作成しないようにする許可が付与されても良い。ディレクトリ管理サービス１４２を介してディレクトリにアクセスするアプリケーションにユーザーが許可を割り当てているとき、ユーザーは、新たなユーザーアカウントを作成する許可をアプリケーションに付与することを許可されなくても良い。これは、ディレクトリ管理サービス１４２自体が、それを行うことができないためである。しかしながら、ユーザーは、例えば、利用情報（ｕｓｅ  ｉｎｆｏｒｍａｔｉｏｎ）への読み取り専用アクセスを認めることにより、ディレクトリ管理サービス１４２に適用された制限を超えてユーザーアカウントにアプリケーションがアクセスすることを制限しても良い。
【００２６】
アプリケーションに対し、ディレクトリにアクセスする権限が付与され、特定の許可が割り当てられたときに、そのアプリケーションに関するデータ及び当該ディレクトリに関する許可をコンピューティングサービスプロバイダ１０４に記憶することにより、コンピューティングサービスプロバイダ１０４が、認証されたアクセスを迅速に実行し、または容易に行うことができるようにしても良い。例えば、ファイル記憶及びバックアップ用アプリケーションなどの特定のアプリケーションが、組織のディレクトリの範囲内でコンピューティング装置のファイルシステムにアクセスすることを示すメタデータを、アプリケーションアクセスデータストア１４６に記憶しても良い。その後、組織のディレクトリにログイン証明書を保持するユーザーが、コンピューティングサービスプロバイダ１０４にログインして、アプリケーションの使用を所望するとき、コンピューティングサービスプロバイダ１０４は、どのアプリケーションがディレクトリにアクセスし得るか、及びどのディレクトリ関連動作を実行する権限をそのアプリケーションに付与するかなどを決定することができる。いくつかの実施形態において、アプリケーションの認証及び許可は、アプリケーションアクセスデータストア１４６に加えて、またはその代わりに組織のディレクトリに記憶されても良い。例えば、組織のディレクトリが、コンピューティングサービスプロバイダ１０４によって管理されたオフプレミスディレクトリである場合、アプリケーションの認証及び許可を、その他の組織のディレクトリ情報と共にオフプレミスディレクトリデータストア１４４に記憶しても良い。
【００２７】
ディレクトリへのアプリケーションアクセスの管理
図３に、顧客のディレクトリへのアプリケーションアクセスを管理するためにコンピューティングサービスプロバイダ１０４のディレクトリ管理サービス１４２または他の何らかのモジュールもしくは構成要素によって使用され得るサンプルプロセス３００を示す。有利な点として、ディレクトリ管理サービス１４２は、ディレクトリ管理サービス１４２の単一ディレクトリではなく、複数の異なる組織または他の顧客のディレクトリへのアプリケーションアクセスを管理し得る。更に、いくつかの実施形態において、複数の異なる組織のディレクトリは、オンプレミスディレクトリ、オフプレミスディレクトリまたはこれらの何らかの組み合わせのいずれであっても良い。このようにして、ディレクトリ管理サービス１４２は、どの組織がディレクトリを所有しているか、ディレクトリの位置、及びディレクトリの形式などに関係なく、一貫したディレクトリアクセスサービスを各種アプリケーションに提供することができる。
【００２８】
プロセス３００は、ブロック３０２から開始する。例えば、プロセス３００は、ユーザーコンピューティング装置１０２上でブラウザアプリケーションを起動してログインページにナビゲートすること、コンピューティングサービスプロバイダ１０４との接続を確立しているユーザーコンピューティング装置１０２上でクライアントアプリケーションを起動することなどを行うことにより、コンピューティングサービスプロバイダ１０４との接続をユーザーが開始した際に自動的に開始することができる。
【００２９】
ブロック３０４で、コンピューティングサービスプロバイダ１０４は、ユーザーのログイン証明書及びユーザーの組織に関する情報を受信することができる。ログイン証明書は、グラフィックインターフェース（例えば、ブラウザアプリケーションによって表示されたウェブページ上の、ユーザー名及びパスワード用に提供されたテキストボックス）を介してユーザーによって提供されても良く、または、ログイン証明書は、ユーザーコンピューティング装置１０２とコンピューティングサービスプロバイダ１０４との間の接続の確立中、またはその後に自動的に提供されても良い。いくつかの実施形態において、ユーザーの組織は、（例えば、ユーザーのユーザー名に追加された）ユーザーのログイン証明書と共にグラフィックインターフェースを介して（例えば、ドロップダウンリストを用いて）ユーザーによって提供されても良く、または、ユーザーの組織は、（例えば、組織の識別子を含むネットワークアドレスを用いて）ユーザーが組織専用のログインページにアクセスした場合、コンピューティングサービスプロバイダ１０４に知られても良い。
【００３０】
ブロック３０６で、コンピューティングサービスプロバイダ１０４のディレクトリ管理サービス１４２または他の何らかのモジュールもしくは構成要素は、ユーザーを認証し、特定の動作を認証し、さもなければコンピューティングサービスプロバイダ１０４にてユーザーのセッションを開始する際に使用する特定のディレクトリを決定することができる。ディレクトリは、ユーザーの証明書と共に提供された情報に基づいて決定されても良い。例えば、ユーザーの証明書の「ユーザー名」の部分は、特定の顧客、顧客の特定のドメイン及び特定のディレクトリなどと関連付けられた識別子を含んでも良い。いくつかの実施形態において、ディレクトリは、ユーザーがコンピューティングサービスプロバイダ１０４とのセッションを確立した方式に基づいて決定されても良い。例えば、ユーザーは、特定の顧客、顧客の特定のドメイン及び特定のディレクトリなどと一意に関連付けられたユニフォームリソースロケータ（「ＵＲＬ」）または他のネットワークアドレスを用いてログインページにアクセスしていた場合がある。
【００３１】
ブロック３０８で、コンピューティングサービスプロバイダ１０４のディレクトリ管理サービス１４２または他の何らかのモジュールもしくは構成要素は、ユーザーを認証することができ、どのアプリケーションにアクセスする権限をユーザーに付与するかを決定することができる。任意の数のアプリケーションは、コンピューティングサービスプロバイダ１０４のアプリケーションサーバ１４０によってホストされていようと、サードパーティアプリケーションサーバ１０８によってホストされていようと、ディレクトリ管理サービス１４２と共に機能するように構成されても良い。しかしながら、全てのアプリケーションが、（上記で決定された）カレントディレクトリにアクセスすることを許可されても良いわけではなく、現在のユーザーは、（特定のアプリケーションがカレントディレクトリにアクセスすることを許可された場合でも）アプリケーションにアクセスすることを許可されない場合がある。ディレクトリ管理サービス１４２は、カレントディレクトリ及びユーザー提供の（または自動的に取得された）ユーザー証明書を用いてユーザーを認証しても良い。次いで、ディレクトリ管理サービス１４２は、どのアプリケーションにアクセスすることをユーザーに許可するかを決定しても良く、ブロック３１０で、利用可能なアプリケーションのリストを提示しても良い。いくつかの実施形態において、ユーザーは、アプリケーションを最初に選択しても良く、その後、そのアプリケーションにログインしても良い。
【００３２】
決定ブロック３１２で、コンピューティングサービスプロバイダ１０４のディレクトリ管理サービス１４２または他の何らかのモジュールもしくは構成要素は、ユーザーが特定のアプリケーションにアクセスしているかどうかを判定することができる。アクセスしている場合、プロセス３００はブロック３１４へ進むことができ、さもなければ、プロセス３００は終了することができる。
【００３３】
ブロック３１４で、コンピューティングサービスプロバイダ１０４のディレクトリ管理サービス１４２または他の何らかのモジュールもしくは構成要素は、選択されたまたはさもなければアクセスされたアプリケーションに対してアプリケーション固有の許可を決定することができる。上述したように、アプリケーション固有の許可は、アプリケーションアクセスメタデータストア１４６に記憶されても良い。したがって、ディレクトリ管理サービス１４２は、アプリケーションアクセスメタデータストア１４６のデータを照会するか、またはさもなければそれにアクセスすることにより、現在のアプリケーションに対してアプリケーション固有の許可を決定することができる。いくつかの実施形態において、アプリケーション固有の許可は、カレントディレクトリ（例えば、現在の顧客のオフプレミスディレクトリ）の中など、その他ある場所に記憶されても良く、当該許可をその場所から取得することができる。
【００３４】
ブロック３１６で、コンピューティングサービスプロバイダ１０４のディレクトリ管理サービス１４２または他の何らかのモジュールもしくは構成要素は、アプリケーション固有の許可を実行することができる。アプリケーション固有の許可を実行することは、アプリケーションがカレントディレクトリを用いて特定の動作を実行することを可能にするかまたは許可すること、及びアプリケーションがカレントディレクトリを用いて特定の動作を実行することを禁止することなどを含んでも良い。図４及び５に、アプリケーション固有の許可の実行を説明するための、ディレクトリ管理サービス１４２と各種のユーザーコンピューティング装置、アプリケーション及び組織との間の例示的な相互作用及びデータフローを示す。
【００３５】
図４は、ディレクトリ１６０へのアプリケーションアクセスを設定し、その後ディレクトリ管理サービス１４２によるディレクトリアクセスを管理する間の、ユーザーコンピューティング装置１０２、アプリケーション１４０、組織１０６Ａ及びディレクトリ管理サービス１４２の間の相互作用を示している。
【００３６】
（Ａ）で、アプリケーション１４０をディレクトリ管理サービス１４２に登録しても良く、（Ｂ）で、このサービスに、アプリケーションアクセスメタデータ１４６にアプリケーション１４０に関する情報を記憶させることができる。アプリケーション１４０を登録することにより、ディレクトリ管理サービス１４２は、各種組織のディレクトリに対する許可を設定する（例えば、図２に示したインターフェースのオプションとしてアプリケーション１４０を提示する）ことができる。記憶されているアプリケーション情報は、例えば、アプリケーション名、ロゴ、説明及び技術情報などを含んでも良い。いくつかの実施形態では、アプリケーション開発者またはホストが、ディレクトリ管理サービス１４２にアプリケーション１４０を登録しても良い。他の実施形態では、ディレクトリ管理サービス１４２（またはそれと関連した管理者、技術者または他者）がアプリケーション１４０を登録しても良い。
【００３７】
（Ｃ）で、組織１０６Ａは、組織のオンプレミスディレクトリ１６０に対するアプリケーションの許可を設定しても良い。いくつかの実施形態において、組織と関連した管理者、技術者または他者は、図２に関して上述したインターフェース２００を使用しても良い。例えば、アプリケーション１４０は、コンピューティングサービスプロバイダ１０４によってホストされたファイル記憶及びバックアップ用アプリケーションであって良い。アプリケーション１４０は、組織のコンピュータのファイルシステムにアクセスし、それを修正する許可、及びコンピューティング装置（例えば、記憶サーバ）を組織のドメインに加える許可などを含む、その完全な範囲の機能を組織１０６Ａに提供するために、相応の許可を要求しても良い。これらの許可及び他の許可は、個別に、または特定の役割もしくは他のポリシーをアプリケーションに割り当てることにより、アプリケーション１４０に付与されても良い。（Ｄ）で、ディレクトリ管理サービス１４２は、アプリケーション１４０に付与された許可に関するメタデータをアプリケーションアクセスデータストア１４６に記憶させることができる。
【００３８】
（Ｅ）で、ユーザーは、ユーザーコンピューティング装置１０２を使用してコンピューティングサービスプロバイダ１０４にログインしても良い。実例として、ユーザーは、組織１０６Ａの従業員であって良く、組織によって提供された証明書を使用しても良い。（Ｆ）で、ディレクトリサービスプロバイダ１４２は、ディレクトリ１６０を使用して、ユーザーを認証し、どのアプリケーションにユーザーがアクセスし得るかを決定するか、またはさもなければユーザーに権限を付与して行わせることを決定することができる。本例において、ユーザーには、ファイル記憶及びバックアップ用アプリケーション１４０にアクセスする権限を付与しても良く、（Ｇ）で、ユーザーは、以前に記憶された何らかのファイルにアクセスすること、バックアッププロトコルを変更することなどを行うためにアプリケーションを起動しても良い。
【００３９】
（Ｈ）で、ディレクトリ管理サービス１４２は、組織のディレクトリ１６０に関してアプリケーション１４０がどの許可を有するかを決定することができる。上述したように、アプリケーション１４０は、アプリケーション１４０によって提供される完全な範囲の機能を容易に実行するために、相応の許可を有しても良い。したがって、アプリケーション１４０は、相応のディレクトリ許可を必要とする動作を（Ｉ）で実行することができるが、これは、かかる許可がアプリケーション１４０に付与されており、更に、その付与された許可に関係する情報がアプリケーションアクセスデータストア１４６に記憶されていて、そこから読み出されたためである。いくつかの実施形態において、アプリケーション１４０は、アプリケーション１４０に権限を付与して実行させる動作の実行要求を必ずしもユーザーに許可しなくても良い。その代わりに、アプリケーション１４０は、現在のユーザーに対する許可の範囲を縮小して、むしろ、ユーザーが、動作の一部のみを開始することができるようにしても良い。例えば、現在のユーザーが、ファイル記憶及びバックアップの専門家ではなく、さもなければ組織１０６Ａの情報技術（ｉｎｆｏｒｍａｔｉｏｎ  ｔｅｃｈｎｏｌｏｇｙ：ＩＴ）部の一員でもない場合、通常であればアプリケーション１４０に実行の権限が付与される動作を開始することを当該ユーザーに許可しなくても良い。このように許可の範囲を縮小することは、ディレクトリ１６０内のユーザーに付与された許可に基づいていても良い。例えば、任意の所与のユーザーのみが、任意の所与のアプリケーションを用いて、そのユーザーとそのアプリケーションの両方に組織が実行の権限を付与した動作を開始することができる。
【００４０】
図５に、ユーザーコンピューティング装置１０２と、組織１０６Ｂと、サードパーティサーバ１０８によってホストされたアプリケーション１８０と、ディレクトリ管理サービス１４２との間の相互作用を示す。例示した相互作用は、組織１６０Ｂのオフプレミスディレクトリへのアプリケーションアクセスを設定するプロセスの最中、及びその後のディレクトリ管理サービス１４２によるディレクトリアクセスの管理中に生じ得る。
【００４１】
図４に関して上述したように、（１）で、アプリケーション１８０をディレクトリ管理サービス１４２に登録しても良く、このサービスは、（２）でアプリケーション１８０に関する情報を記憶させることができる。（３）で、組織１０６Ｂは、組織のオフプレミスディレクトリ１６０に対するアプリケーションの許可を設定しても良い。いくつかの実施形態において、組織と関連した管理者、技術者または他者は、図２に関して上述したインターフェース２００を使用しても良い。例えば、アプリケーション１８０は、サードパーティサーバ１０８によってホストされたメッセージ通信アプリケーションであって良い。アプリケーション１０８は、ユーザーの連絡先情報への読み取り専用アクセスなどの、その完全な範囲の機能を組織１０６Ｂに提供するために、適度なレベルの許可を要求するだけで良い。上述したように、許可は、個別に、または特定の役割もしくは他のポリシーをアプリケーションに割り当てることにより、アプリケーション１０８に付与されても良い。（４）で、ディレクトリ管理サービス１４２は、アプリケーションに付与された許可に関するメタデータをアプリケーションアクセスデータストア１４６に記憶することができる。
【００４２】
（５）で、ユーザーは、ユーザーコンピューティング装置１０２を使用してコンピューティングサービスプロバイダ１０４にログインしても良い。実例として、ユーザーは、組織１０６Ｂの従業員であって良く、組織によって提供された証明書を使用しても良い。（６）で、ディレクトリサービスプロバイダ１４２は、オフプレミスデータストア１４４、または他の何らかの領域に記憶された組織１０６Ｂのオフプレミスディレクトリを使用してユーザーを認証し、ユーザーがどのアプリケーションにアクセスし得るかを決定するか、またはさもなければユーザーに権限を付与して行わせることを決定することができる。本例において、ユーザーには、メッセージ通信アプリケーション１８０にアクセスする権限を付与しても良く、（７）で、ユーザーはアプリケーション１８０を起動しても良い。
【００４３】
（８）で、ディレクトリ管理サービス１４２は、組織のオフプレミスディレクトリに関してアプリケーション１８０がどの許可を有するかを決定することができる。上述したように、アプリケーション１０８は、ユーザーの連絡先情報への読み取り専用アクセスなどの、適度な許可を有しても良い。したがって、アプリケーション１８０は、（９）で、適度なディレクトリ許可を必要とする動作を実行しても良い。
【００４４】
図４及び５に示した各例は、単一のディレクトリ管理サービスまたはシステムによって容易にすることができる。本明細書において図示及び説明した例は一例にすぎず、限定を意図するものではない。理解されるであろうが、単一組織の複数のディレクトリへのアクセスの管理、及び様々な他の種類のアプリケーションによるディレクトリへのアクセスの管理などの更なる例も、同じディレクトリ管理システムによって容易にすることができる。統合アプリケーションまたはサードパーティアプリケーションにより、ディレクトリ管理サービスが複数の組織のディレクトリへのアクセスを管理することができるため、オンプレミスかオフプレミスかに関わらず、ディレクトリ管理サービスは、広範囲にわたる組織に柔軟な解決策を提供することができる。
【００４５】
専門用語
実施形態に応じて、本明細書で説明された任意のプロセスまたはアルゴリズムのある動作、イベントまたは機能を、異なる順序で実行する、追加する、一体化する、または完全に除外することができる（例えば、説明した全ての操作またはイベントが、アルゴリズムの実施のために必要であるというわけではない）。更に、特定の実施形態において、操作またはイベントは、逐次的にではなく、例えば、マルチスレッド処理、割り込み処理、または複数のプロセッサもしくはプロセッサコア、または他の並列アーキテクチャによって並行して実行することができる。
【００４６】
本明細書に開示された実施形態に関連して説明した各種の例示的な論理ブロック、モジュール、ルーチン、及びアルゴリズムのステップは、電子ハードウェアとして、または電子ハードウェアと実行可能なソフトウェアとの組み合わせとして実装することができる。この交換可能性を明示するため、各種の例示的な構成要素、ブロック、モジュール及びステップを、それらの機能の観点から上記で概略的に説明した。かかる機能がハードウェアとして実装されるか、またはハードウェア上で動作するソフトウェアとして実装されるかは、特定の用途及び全体システムに課される設計制約によって決定される。説明した機能は、各特定の用途に合わせて様々な方法で実装することができるが、このような実装の決定は、開示の範囲から逸脱させるものとして解釈されるべきではない。
【００４７】
更に、本明細書に開示された実施形態に関連して説明した各種の例示的な論理ブロック及びモジュールは、機械によって実装するか、または実行することができる。このような機械としては、本明細書で説明された機能を実行するように設計された、汎用プロセッサデバイス、デジタルシグナルプロセッサ（ｄｉｇｉｔａｌ  ｓｉｇｎａｌ  ｐｒｏｃｅｓｓｏｒ：ＤＳＰ）、特定用途向け集積回路（ａｐｐｌｉｃａｔｉｏｎ  ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ：ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ：ＦＰＧＡ）もしくは他のプログラマブルロジック装置）、ディスクリートゲートもしくはトランジスタロジック、ディスクリートハードウェア部品、またはこれらの任意の組み合わせなどがある。汎用プロセッサデバイスは、マイクロプロセッサとすることができるが、代替的に、プロセッサデバイスは、コントローラ、マイクロコントローラもしくはステートマシン、またはそれらの組み合わせなどとすることができる。プロセッサデバイスは、コンピュータ実行可能命令を処理するように構成された電気回路を備えることができる。別の実施形態において、プロセッサデバイスは、コンピュータ実行可能命令を処理せずに論理演算を実行するＦＰＧＡまたは他のプログラマブルデバイスを備える。プロセッサデバイスは、コンピューティング装置の組み合わせとして実装することもできる。このような組み合わせとしては、例えば、ＤＳＰとマイクロプロセッサの組み合わせ、複数のマイクロプロセッサ、ＤＳＰコアと連携する１つ以上のマイクロプロセッサ、または他の任意のこのような構成がある。本明細書では主にデジタル技術に関して説明したが、プロセッサデバイスは、主としてアナログ部品を備えても良い。例えば、本明細書で説明した信号処理アルゴリズムの一部または全てを、アナログ回路またはアナログデジタル混合回路に実装しても良い。コンピューティング環境は、いくつか例を挙げると、マイクロプロセッサ、メインフレームコンピュータ、デジタルシグナルプロセッサ、携帯型コンピュータ装置、デバイスコントローラまたは電化製品内の計算エンジンに基づくコンピュータシステムを含むが、これに限定されない任意の種類のコンピュータシステムを含むことができる。
【００４８】
本明細書に開示された実施形態に関連して説明した方法、プロセス、ルーチンまたはアルゴリズムの要素は、ハードウェア、プロセッサデバイスによって実行されるソフトウェアモジュール、またはこれら２つの組み合わせで直接具現化することができる。ソフトウェアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、リムーバブルディスク、ＣＤ−ＲＯＭ、または他の任意の形態の非一時的コンピュータ可読記憶媒体に存在することができる。プロセッサデバイスが記憶媒体から情報を読み取り、その情報を記憶媒体に書き込むことができるように、例示的な記憶媒体をプロセッサデバイスに接続することができる。代替的に、記憶媒体は、プロセッサデバイスと一体にすることができる。プロセッサデバイス及び記憶媒体は、ＡＳＩＣに存在することができる。ＡＳＩＣは、ユーザー端末に存在することができる。代替的に、プロセッサデバイス及び記憶媒体は、ユーザー端末のディスクリート部品として存在することができる。
【００４９】
例えば、図３に関して説明したプロセス３００は、１つ以上のディスクドライブまたはソリッドステートメモリ装置などの、コンピューティングサービスプロバイダ１０４が関連するコンピューティングシステムの１つ以上の非一時的コンピュータ可読媒体に記憶された一組の実行可能プログラム命令で具現化されても良い。プロセス３００が開始されるとき、実行可能プログラム命令を、ＲＡＭなどのメモリにロードし、コンピューティングシステムの１つ以上のプロセッサによって実行することができる。いくつかの実施形態において、コンピューティングシステムは、サーバなどの複数のコンピューティング装置を備えても良く、プロセスまたはその一部を、複数のサーバによって順次または並行して実行しても良い。
【００５０】
本明細書で使用される条件付きの文言、特に、「ｃａｎ（できる）」、「ｃｏｕｌｄ（する可能性がある）」、「ｍｉｇｈｔ（する場合がある）」、「ｍａｙ（し得る）」及び「ｅ．ｇ．，（例えば）」などは、別途特に明確に指定のない限り、または別途使用される文脈内で解釈されない限り、一般に、特定の特徴、要素及び／またはステップが、特定の実施形態には含まれるが、その他の実施形態には含まれないことを伝えるように意図される。したがって、このような条件付きの文言は、一般に、特徴、要素及び／またはステップが１つ以上の実施形態に全て必要であることを示すことを意図するものでもなく、これらの特徴、要素及び／もしくはステップが任意の特定の実施形態に含まれるか、またはそこで実行されるものであるかを、他の情報または指示の有無に関わらず決定する論理が１つ以上の実施形態に必ず含まれることを示すことを意図するものでもない。用語「ｃｏｍｐｒｉｓｉｎｇ（備える）」、「ｉｎｃｌｕｄｉｎｇ（含む）」及び「ｈａｖｉｎｇ（有する）」などは同義語であり、包括的に、制限されない様式で使用され、更なる要素、特徴、動作及び操作などを除外しない。また、用語「ｏｒ（または）」は、（排他的な意味では使用されず）包括的な意味で使用される。したがって、例えば、要素のリストを合わせるのに使用されるとき、用語「ｏｒ（または）」は、そのリスト内の要素の１つ、いくつかまたは全てを意味する。
【００５１】
別段記載されない限り、語句「ａｔ  ｌｅａｓｔ  ｏｎｅ  ｏｆ  Ｘ，Ｙ，Ｚ（Ｘ、Ｙ、Ｚの少なくとも１つ）」などの選言的な文言は、一般に、項目、用語などがＸ、ＹもしくはＺのいずれか、またはこれらの任意の組み合わせ（例えば、Ｘ、Ｙ及び／もしくはＺ）であり得ることを表すために使用される文脈で通常解釈される。したがって、このような選言的な文言は一般に、特定の実施形態ではＸの少なくとも１つ、Ｙの少なくとも１つ、またはＺの少なくとも１つがそれぞれ存在することが必要であることを意味することを意図するものではなく、そのように意図するべきではない。
【００５２】
別途明示されない限り、「ａ」または「ａｎ」などの冠詞は、一般に、１つ以上の説明された項目を含むように解釈されるべきである。したがって、「ａ  ｄｅｖｉｃｅ  ｃｏｎｆｉｇｕｒｅｄ  ｔｏ（するように構成された装置）」などの語句は、１つ以上の記載された装置を含むことを意図する。このような１つ以上の記載された装置を集合的に構成して、提示された記載事項を実行することもできる。例えば、「ａ  ｐｒｏｃｅｓｓｏｒ  ｃｏｎｆｉｇｕｒｅｄ  ｔｏ  ｃａｒｒｙ  ｏｕｔ  ｒｅｃｉｔａｔｉｏｎｓ  Ａ，Ｂ  ａｎｄ  Ｃ（記載事項Ａ、Ｂ及びＣを実行するように構成されたプロセッサ）」は、記載Ａを実行するように構成された第１のプロセッサが、記載Ｂ及びＣを実行するように構成された第２のプロセッサと協働することを含むことができる。
【００５３】
上記の詳細な説明では、各種の実施形態に適用される新規な特徴を図示し、説明し、指摘してきたが、様々な省略、置換及び変更を、本開示の趣旨から逸脱せずに装置またはアルゴリズムの形態及び細部において実行し得ることを理解することができる。理解できるように、本明細書で説明された特定の実施形態は、ある特徴を他の特徴とは別に使用または実施することができるため、本明細書に記載された特徴及び利点の全てを提供するわけではない形態内で具現化することができる。本明細書に開示された特定の実施形態の範囲は、前述の説明によってではなく、添付された特許請求の範囲によって示される。請求項の意味及び同等範囲に属する全ての変更は、請求項の範囲内に包含される。
【００５４】
本開示の実施形態は、以下の条項を考慮して説明することができる。
１．１つ以上の物理コンピューティング装置を含むディレクトリ管理システムであって、少なくとも、
前記ディレクトリ管理システムとは別の複数の組織のそれぞれからディレクトリアクセス設定情報を受信することであって、前記複数の組織の個々の組織から受信した前記ディレクトリアクセス設定情報は、少なくとも１つのアプリケーションに前記組織のネットワークディレクトリを用いて少なくとも１つの動作を実行する権限を付与することを示す、前記受信することと、
複数の利用可能なアプリケーションの第１のアプリケーションであって、前記複数の組織の第１の組織とは別の１つ以上の物理コンピューティング装置上で実行されている前記第１のアプリケーションとの通信を確立することと、
前記第１の組織から受信したアクセス設定情報に少なくとも部分的に基づき、前記第１の組織のネットワークディレクトリを用いて実行する権限が前記第１のアプリケーションに付与される少なくとも１つの動作を決定することと、
前記第１のアプリケーションが前記第１の組織の前記ネットワークディレクトリを用いて前記少なくとも１つの動作を実行することを可能にすることと、を行うように構成された、前記ディレクトリ管理システム。
【００５５】
２．前記第１の組織の前記ネットワークディレクトリは、前記第１の組織のコンピューティングネットワークの複数のリソースに関するデータの集合を含み、前記データの少なくとも一部は、前記複数のリソースの個々のリソースを表すオブジェクトに編成される、条項１に記載のディレクトリ管理システム。
【００５６】
３．前記第１の組織の前記ネットワークディレクトリは、前記第１の組織の構内に物理的に記憶され、かつ前記ディレクトリ管理システムから離れたディレクトリで構成される、条項１に記載のディレクトリ管理システム。
【００５７】
４．前記第１の組織から受信した前記アクセス設定情報に少なくとも部分的に基づき、前記アプリケーションが前記第１の組織の前記ネットワークディレクトリを用いて第２の動作を実行することを禁止するように更に構成された、条項１に記載のディレクトリ管理システム。
【００５８】
５．コンピュータ実装方法であって、
１つ以上のコンピューティング装置を含むディレクトリ管理システムによって実行されると、
アプリケーションに対し、第１の組織の第１のディレクトリにアクセスすることに関する第１のポリシーを決定することであって、前記アプリケーション及び前記ディレクトリ管理システムはそれぞれ前記第１の組織とは別である、前記第１のポリシーを決定することと、
前記第１のポリシーに少なくとも部分的に基づき、前記アプリケーションが前記第１のディレクトリを用いて第１の組の動作を実行することを可能にすることと、
前記アプリケーションに対し、第２の組織の第２のディレクトリにアクセスすることに関する第２のポリシーを決定することであって、前記アプリケーション及び前記ディレクトリ管理システムはそれぞれ前記第２の組織とは別であり、前記第２のポリシーは前記第１のポリシーとは異なる、前記第２のポリシーを決定することと、
前記第２のポリシーに少なくとも部分的に基づき、前記アプリケーションが前記第２のディレクトリを用いて前記第１の組の動作とは異なる第２の組の動作を実行することを可能にすることと、を含む、前記コンピュータ実装方法。
【００５９】
６．前記第１の組織の前記第１のディレクトリは、前記第１の組織のコンピューティングネットワークの複数のリソースに関するデータの集合を含む、条項５に記載のコンピュータ実装方法。
【００６０】
７．前記第１の組の動作は、ユーザーをリストすること、ユーザーを認証すること、ユーザーを作成すること、ユーザーを変更すること、ユーザーを削除すること、パスワードを変更すること、グループを作成すること、グループを変更すること、グループを削除すること、コンピューティング装置をドメインに加えること、ファイルを読み出すこと、ファイルを書き込むこと、ファイルを作成すること、ファイルを削除すること、または記憶構造を変更することのうちの少なくとも１つを含む、条項５に記載のコンピュータ実装方法。
【００６１】
８．前記第１の組織から受信したアプリケーションアクセス設定情報に少なくとも部分的に基づいて前記第１のポリシーを決定することを更に含む、条項５に記載のコンピュータ実装方法。
【００６２】
９．前記アプリケーションが前記第１の組の動作を実行することを可能にすることは、
前記アプリケーションが個々の動作を開始するために使用するアプリケーションプログラミングインターフェースを提供することと、
前記アプリケーションに代わって前記第１のディレクトリにアクセスして前記個々の動作を実行することと、を含む、条項５に記載のコンピュータ実装方法。
【００６３】
１０．前記第１の組織の前記第１のディレクトリは、前記第１の組織の構内に物理的に記憶され、かつ前記ディレクトリ管理システムから離れたディレクトリを含む、条項５に記載のコンピュータ実装方法。
【００６４】
１１．前記第１の組織の前記第１のディレクトリは、前記ディレクトリ管理システムに物理的に記憶されたディレクトリを含む、条項５に記載のコンピュータ実装方法。
【００６５】
１２．前記アプリケーションが前記第１のディレクトリを用いて動作を実行することを禁止することを更に含み、前記アプリケーションは、前記第２のディレクトリを用いて前記動作を実行することを許可される、条項５に記載のコンピュータ実装方法。
【００６６】
１３．実行可能命令が記憶された非一時的コンピュータ可読記憶装置であって、前記実行可能命令が、ディレクトリ管理サービスの１つ以上の物理コンピューティング装置に、
第１のアプリケーションに対し、組織のディレクトリにアクセスすることに関する第１のポリシーを決定することであって、前記第１のアプリケーション及び前記ディレクトリ管理システムはそれぞれ前記組織とは別である、前記第１のポリシーを決定することと、
前記第１のポリシーに少なくとも部分的に基づき、前記第１のアプリケーションが前記ディレクトリを用いて第１の組の動作を実行することを可能にすることと、
第２のアプリケーションに対し、前記組織の前記ディレクトリにアクセスすることに関する第２のポリシーを決定することであって、前記第２のアプリケーションは前記組織とは別であり、前記第２のポリシーは前記第１のポリシーとは異なる、前記第２のポリシーを決定することと、
前記第２のポリシーに少なくとも部分的に基づき、前記第２アプリケーションが前記ディレクトリを用いて前記第１の組の動作とは異なる第２の組の動作を実行することを可能にすることと、を含むプロセスを実行させるように構成された、前記非一時的コンピュータ可読記憶装置。
【００６７】
１４．前記組織の前記ディレクトリは、前記組織のコンピューティングネットワークの複数のリソースに関するデータの集合を含む、条項１３に記載の非一時的コンピュータ可読記憶装置。
【００６８】
１５．前記第１のポリシーは、前記組織から受信したアプリケーションアクセス設定情報に少なくとも部分的に基づいて決定される、条項１３に記載の非一時的コンピュータ可読記憶装置。
【００６９】
１６．前記第１のアプリケーションが前記第１の組の動作を実行することを可能にすることは、
前記第１のアプリケーションが個々の動作を開始するために使用するアプリケーションプログラミングインターフェースを提供することと、
前記第１のアプリケーションに代わって前記ディレクトリにアクセスして前記個々の動作を実行することと、を含む、条項１３に記載の非一時的コンピュータ可読記憶装置。
【００７０】
１７．前記組織の前記ディレクトリは、前記組織の構内に物理的に記憶され、かつ前記ディレクトリ管理システムから離れたディレクトリを含む、条項１３に記載の非一時的コンピュータ可読記憶装置。
【００７１】
１８．前記組織の前記ディレクトリは、前記ディレクトリ管理システムに物理的に記憶され、かつ前記組織から離れたディレクトリを含む、条項１３に記載の非一時的コンピュータ可読記憶装置。
【００７２】
１９．前記プロセスは、前記第１のアプリケーションが前記ディレクトリを用いて動作を実行することを禁止することを更に含み、前記第２のアプリケーションは、前記ディレクトリを用いて前記動作を実行することを許可される、条項１３に記載の非一時的コンピュータ可読記憶装置。
【００７３】
２０．前記組織は、複数の異なるディレクトリを保持し、前記第１のアプリケーションは、前記複数の異なるディレクトリの一部にのみアクセスすることを許可される、条項１３に記載の非一時的コンピュータ可読記憶装置。
【図１】
0006387459.tif 000002
【図２】
0006387459.tif 000003
【図３】
0006387459.tif 000004
【図４】
0006387459.tif 000005
【図５】
0006387459.tif 000006