(57)【特許請求の範囲】
【請求項１】
１つまたは複数のプロセッサと、
１つまたは複数の前記プロセッサによって実行されるとき、
コンピューティングリソースサービスプロバイダの顧客から、当該顧客によって指定される１つまたは複数のパラメータに従って、当該コンピューティングリソースサービスプロバイダのコンピューティング環境にコンピュータシステムディレクトリを作成するリクエストを受信し、
前記コンピュータシステムディレクトリが、前記コンピューティングリソースサービスプロバイダからのコンピューティングリソースを結合するように構成されるように前記コンピューティングリソースサービスプロバイダの前記コンピューティング環境に前記コンピュータシステムディレクトリを作成することによって、前記受信したリクエストを実行し、
前記顧客に代わって前記コンピュータシステムディレクトリを管理する、
ことをシステムにさせる実行可能命令を含むメモリと、を備え、
前記コンピュータシステムディレクトリは、前記コンピューティングリソースサービスプロバイダの前記コンピューティング環境に、前記コンピューティングリソースサービスプロバイダにホストされる仮想ネットワーク内に作成される、システム。
【請求項２】
前記１つまたは複数のパラメータが、前記コンピュータシステムディレクトリが作成される前記顧客の仮想ネットワークを指定する、
請求項１に記載のシステム。
【請求項３】
前記システムに前記作成されたコンピュータシステムディレクトリを管理させる前記命令が、前記１つまたは複数のプロセッサで実行されるとき、時間とともに前記コンピュータシステムディレクトリにもたらされる修正に従って、前記システムに前記コンピュータシステムディレクトリのレプリカを保守させる命令を含む、
請求項１または請求項２に記載のシステム。
【請求項４】
前記コンピューティングリソースサービスプロバイダの前記コンピューティング環境外側のコンピューティング環境に配置されるコンピュータシステムインスタンスを、前記コンピュータシステムディレクトリに結合するように、前記コンピュータシステムディレクトリが作成される、請求項１から請求項３のいずれか一項に記載のシステム。
【請求項５】
前記コンピューティングリソースサービスプロバイダの前記コンピューティング環境外側の前記コンピューティング環境が、前記顧客の構内にホストされる、請求項４に記載のシステム。
【請求項６】
前記システムに前記作成されたコンピュータシステムディレクトリを管理させる前記命令が、前記１つまたは複数のプロセッサで実行されるとき、前記システムに前記コンピュータシステムディレクトリを作動させるための実行可能コードにパッチをあてさせる命令を含む、
請求項１から請求項５のいずれか一項に記載のシステム。
【請求項７】
前記システムに前記コンピュータシステムディレクトリを管理させる前記命令が、前記１つまたは複数のプロセッサで実行されるとき、前記システムに前記コンピュータシステムディレクトリの1以上のスナップショットを取得させる命令を含む、請求項１に記載のシステム。
【請求項８】
前記システムに前記コンピュータシステムディレクトリを管理させる前記命令が、前記１つまたは複数のプロセッサで実行されるとき、前記システムに、前記１以上のスナップショットのうちの取得されたスナップショットの前記コンピュータシステムディレクトリの一バージョンをインスタンス化させる命令を含む、請求項７に記載のシステム。
【請求項９】
コンピュータシステムの１つまたは複数のプロセッサで実行されるとき、当該コンピュータシステムに少なくとも、
コンピューティングリソースサービスプロバイダの顧客から、当該顧客によって指定される１つまたは複数のパラメータに従って、当該コンピューティングリソースサービスプロバイダのコンピューティング環境にコンピュータシステムディレクトリを作成するリクエストを受信させて、
前記コンピュータシステムディレクトリが、前記コンピューティングリソースサービスプロバイダからのコンピューティングリソースを結合するように構成するように前記コンピューティングリソースサービスプロバイダの前記コンピューティング環境に前記コンピュータシステムディレクトリを作成することによって前記受信したリクエストを実行させて、
前記顧客に代わって前記コンピュータシステムディレクトリを管理させ、
前記コンピュータシステムディレクトリは、前記コンピューティングリソースサービスプロバイダの前記コンピューティング環境に、前記コンピューティングリソースサービスプロバイダにホストされる仮想ネットワーク内に作成され、
集合的に格納された実行可能命令を有する
非一時的コンピュータ可読記憶媒体。
【請求項１０】
前記１つまたは複数のパラメータが、前記コンピュータシステムディレクトリが作成される前記仮想ネットワークのサブネットワークを指定する、
請求項９に記載の非一時的コンピュータ可読記憶媒体。
【請求項１１】
前記コンピュータシステムに前記コンピュータシステムディレクトリを管理させる前記命令が、前記１つまたは複数のプロセッサで実行されるとき、前記コンピュータシステムに前記コンピュータシステムディレクトリ上で管理操作を実行するアプリケーションプログラミングインタフェースコールを受信させ実行させる命令を含む、
請求項９または請求項１０に記載の非一時的コンピュータ可読記憶媒体。
【請求項１２】
前記コンピュータシステムに前記コンピュータシステムディレクトリを管理させる前記命令が、前記１つまたは複数のプロセッサで実行されるとき、前記コンピュータシステムにフェールオーバイベントで使用するための前記コンピュータシステムディレクトリのレプリカを同期させる命令を含む、
請求項９から請求項１１のいずれか一項に記載の非一時的コンピュータ可読記憶媒体。
【請求項１３】
前記コンピューティングリソースサービスプロバイダと異なるエンティティによってホストされる前記コンピューティング環境外側のコンピューティング環境に配置されるコンピュータシステムインスタンスを、前記コンピュータシステムディレクトリに結合するように、前記コンピュータシステムディレクトリが作成される、請求項９から請求項１２のいずれか一項に記載の非一時的コンピュータ可読記憶媒体。
【請求項１４】
前記コンピュータシステムに前記コンピュータシステムディレクトリを管理させる前記命令が、前記１つまたは複数のプロセッサで実行されるとき、前記コンピュータシステムに前記コンピュータシステムディレクトリを操作するために使用される実行可能コードへの更新を実行させる命令を含む、
請求項９から請求項１３のいずれか一項に記載の非一時的コンピュータ可読記憶媒体。
【請求項１５】
ディレクトリサービスにおいて、コンピューティングリソースサービスプロバイダの顧客から、当該コンピューティングリソースサービスプロバイダのコンピューティング環境でホストされる該顧客の隔離仮想ネットワーク内にコンピュータシステムディレクトリを作成するリクエストを含む、アプリケーションプログラミングインタフェースコールを受信することと、
前記作成されたコンピュータシステムディレクトリが、前記コンピュータシステムディレクトリのドメインに少なくとも前記隔離仮想ネットワーク内の仮想マシンを結合するように構成される、前記顧客の隔離仮想ネットワークでリクエストに応答して、前記隔離仮想ネットワーク内にコンピュータシステムディレクトリを作成することと、
前記マネージドディレクトリサービスによって、前記顧客に代わって前記作成されたコンピュータシステムディレクトリを管理することと、を含む、
コンピュータ実装化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の説明
本出願はすべての目的のために、２０１３年１１月１１日出願の「ＭＡＮＡＧＥＤ  ＤＩＲＥＣＴＯＲＹ  ＳＥＲＶＩＣＥ」と題するＵ．Ｓ．  Ｐａｔｅｎｔ  Ｐｒｏｖｉｓｉｏｎａｌ  Ａｐｐｌｉｃａｔｉｏｎ  Ｎｏ．  ６１／９０２，７９０、２０１３年１２月５日出願の「ＭＡＮＡＧＥＤ  ＤＩＲＥＣＴＯＲＹ  ＳＥＲＶＩＣＥ」と題するＵ．Ｓ．  Ｐａｔｅｎｔ  Ａｐｐｌｉｃａｔｉｏｎ  Ｎｏ．  １４／０９８，４４５、２０１３年１２月５日出願の「ＭＡＮＡＧＥＤ  ＤＩＲＥＣＴＯＲＹ  ＳＥＲＶＩＣＥ  ＣＯＮＮＥＣＴＩＯＮ」と題するＵ．Ｓ．  Ｐａｔｅｎｔ  Ａｐｐｌｉｃａｔｉｏｎ  Ｎｏ．  １４／０９８，４５０、及び、２０１３年１２月５日出願の「ＭＡＮＡＧＥＤ  ＤＩＲＥＣＴＯＲＹ  ＳＥＲＶＩＣＥ  ＷＩＴＨ  ＥＸＴＥＮＳＩＯＮ」と題するＵ．Ｓ．  Ｐａｔｅｎｔ  Ａｐｐｌｉｃａｔｉｏｎ  Ｎｏ．  １４／０９８，４５４の全開示を参照によって組み込む。
【背景技術】
【０００２】
現代のコンピュータシステムは、システム、リソース、及びストレージについてローカル及びリモートの組合せを頻繁に使用し、システムエンティティ全体に処理及びストレージを分散し、システムエンティティ間でリソースのリクエストを送信する。ローカル及びリモートのシステムエレメントが異なる認可及び認証システムを有することがあるため、そのようなシステムの管理者は、分散システムによって提供されるリソースへのユーザアクセスを許可する複数のアカウント及び証明書を管理しなければならないことがある。いくつかの実施形態において、接続証明書は、ユーザ名、パスワード、キーフレーズ、生体認証デバイス、ハードウェアキー、仮想ハードウェアキー、及びその他のそのような認証及び／または認可証明書などの証明書を含んでもよい。リソースが顧客構内（すなわちローカル）に位置するかどうか、リソースがコンピューティングリソースサービスプロバイダ（すなわちリモート）に位置するかどうか、または、リソースがローカル及びリモート両方の組合せに位置するかどうかに応じて、リソースの管理に対する異なるアプローチが必要とされてもよい。サービスによってローカル及び／またはリモートディレクトリのアクセスを提供する既存のアプローチは通常、同一のユーザのために複数のユーザアカウントを必要とし、コストの増加、アカウント保守の問題、及びアカウントセキュリティの問題を引き起こす。複数のログインによるシステムのディレクトリ間の同期は、複雑さの追加の層を追加する。複数のログインを伴うシステム全体にわたるレプリケーションは、データがリモートシステム上で他者によってアクセス可能になることがあることを意味し、データ脆弱性及びより多くのセキュリティ問題につながる可能性がある。
【発明の概要】
【課題を解決するための手段】
【０００３】
コンピュータシステムエンティティをリモートコンピュータシステムリソースへ接続するための技術が、本明細書に説明される。リモートコンピュータシステムリソースへのアクセスをリクエストするコンピュータシステムエンティティは、そのリクエストを、当該リクエストを受信して、コンピュータシステムエンティティをリモートコンピュータシステムリソースに接続するマネージドディレクトリサービスに実行させる。接続している間、マネージドディレクトリサービスは、リモートコンピュータシステムリソース上で操作を実行するコマンドを受信し、コンピュータシステムエンティティが、リモートコンピュータシステムリソース上で操作の実行を認可される場合、マネージドディレクトリサービスは、リモートコンピュータシステムリソース上の操作を実行する。
【図面の簡単な説明】
【０００４】
【図１】少なくとも１つの実施形態に従って、コンピュータシステムディレクトリリソースがコンピュータシステムエンティティによってアクセスできる例示的環境を示す。
【図２】少なくとも１つの実施形態に従って、コンピュータシステムリソースがコンピュータシステムエンティティによってアクセスできる例示的環境を示す。
【図３】少なくとも１つの実施形態に従って、ローカル及びリモートのコンピュータシステムリソースがローカル及びリモートのコンピュータシステムエンティティによってアクセスできる例示的環境を示す。
【図４】少なくとも１つの実施形態に従って、コンピュータシステムエンティティによるコンピュータサービスへのアクセスのための認証及び認可のためのリクエストを満たすことができる例示的環境を示す。
【図５】少なくとも１つの実施形態に従って、さまざまな実施形態を行うことができる例示的環境を示す。
【図６】少なくとも１つの実施形態に従って、認可及び認証データの中央位置を格納できる例示的環境を示す。
【図７】少なくとも１つの実施形態に従って、マネージドディレクトリサービスへのアクセスを認証するための、及び１つまたは複数のコマンドを実行するために認証されるエンティティを認可するための例示的プロセスを示す。
【図８】少なくとも１つの実施形態に従って、マネージドディレクトリサービスを使用して１つまたは複数の高可用性リモートシステムリソースを提供できる例示的環境を示す。
【図９】少なくとも１つの実施形態に従って、マネージドディレクトリサービスを使用してリモートシステムリソースのスナップショットまたは複製を作成できる例示的環境を示す。
【図１０】少なくとも１つの実施形態に従って、システムリソースのスナップショットまたは複製を作成するための例示的プロセスを示す。
【図１１】少なくとも１つの実施形態に従って、システムリソースを再現できる例示的環境を示す。
【図１２】少なくとも１つの実施形態に従って、リモート位置からローカル位置にシステムリソースを再現するための例示的プロセスを示す。
【図１３】さまざまな実施形態を実装できる環境を示す。
【図１４】少なくとも１つの実施形態に従って、コンピュータシステムディレクトリリソースがコンピュータシステムエンティティによってアクセスできる例示的環境を示す。
【図１５】少なくとも１つの実施形態に従って、コンピュータシステムリソースがコンピュータシステムエンティティによってアクセスできる例示的環境を示す。
【図１６】少なくとも１つの実施形態に従って、コンピュータシステムエンティティによるコンピュータサービスへのアクセスのための認証及び認可のためのリクエストを満たすことができる例示的環境を示す。
【図１７】少なくとも１つの実施形態に従って、さまざまな実施形態を行うことができる例示的環境を示す。
【図１８】少なくとも１つの実施形態に従って、認可及び認証データの中央位置を格納できる例示的環境を示す。
【図１９】少なくとも１つの実施形態に従って、マネージドディレクトリサービスへのアクセスを認証するための、及び１つまたは複数のコマンドを実行するために認証されるエンティティを認可するための例示的プロセスを示す。
【図２０】少なくとも１つの実施形態に従って、コンピュータシステムエンティティがローカルシステムリソースを作成し、接続する例示的環境を示す。
【図２１】少なくとも１つの実施形態に従って、ローカルシステムリソースに接続するための例示的プロセスを示す。
【図２２】少なくとも１つの実施形態に従って、複数のコンピュータシステムエンティティがコンピュータシステムリソースに接続する例示的環境を示す。
【図２３】少なくとも１つの実施形態に従って、ローカルシステムリソースが再現される例示的環境を示す。
【図２４】さまざまな実施形態を実装できる環境を示す。
【図２５】少なくとも１つの実施形態に従って、コンピュータシステムディレクトリリソースがコンピュータシステムエンティティによってアクセスできる例示的環境を示す。
【図２６】少なくとも１つの実施形態に従って、コンピュータシステムリソースがコンピュータシステムエンティティによってアクセスできる例示的環境を示す。
【図２７】少なくとも１つの実施形態に従って、コンピュータシステムエンティティによるコンピュータサービスへのアクセスのための認証及び認可のためのリクエストを満たすことができる例示的環境を示す。
【図２８】少なくとも１つの実施形態に従って、さまざまな実施形態を行うことができる例示的環境を示す。
【図２９】少なくとも１つの実施形態に従って、認可及び認証データの中央位置を格納できる例示的環境を示す。
【図３０】少なくとも１つの実施形態に従って、マネージドディレクトリサービスへのアクセスを認証するための、及び１つまたは複数のコマンドを実行するために認証されるエンティティを認可するための例示的プロセスを示す。
【図３１】少なくとも１つの実施形態に従って、ローカルシステムリソースがリモートシステムリソースに拡張されてもよい例示的環境を示す。
【図３２】少なくとも１つの実施形態に従って、マネージドディレクトリサービスを使用してローカルシステムリソースをリモートシステムリソースに拡張するための例示的プロセスを示す。
【図３３】少なくとも１つの実施形態に従って、ローカルリソースが読み取り専用許可を有するリモートリソースに拡張されてもよい例示的環境を示す。
【図３４】少なくとも１つの実施形態に従って、読み取り専用システムリソースへの読み取り及び書き込みのための例示的プロセスを示す。
【図３５】少なくとも１つの実施形態に従って、ローカルリソースが読み取り／書き込み許可を有するリモートリソースに拡張されてもよい例示的環境を示す。
【図３６】少なくとも１つの実施形態に従って、システムリソースへの読み取り及び書き込みのための例示的プロセスを示す。
【図３７】さまざまな実施形態を実装できる環境を示す。
【発明を実施するための形態】
【０００５】
＜実施形態の第１の組＞
本出願の以下の部分は、マネージドディレクトリサービスのための技術の実施形態の第１の組を説明する。
【０００６】
実施形態の第１の組は、図面の第１の組を参照して説明される。
【０００７】
以下の説明において、さまざまな実施形態が説明される。解説の目的上、特定の構成及び詳細が、実施形態の詳細な理解を提供するために示される。しかし、特定の詳細なしで実施形態を実施してもよいことも、当業者にとって明らかである。さらにまた、実施形態が説明することを不明確にしないために、既知の特徴は省略または簡略化されてもよい。
【０００８】
本明細書で説明及び提案される技術は、分散及び／または仮想化されたコンピュータシステム上のローカル及び／またはリモートリソースならびにその上で動作する実行可能コードを管理する方法、システム、及びプロセスを含む。特に、ユーザ、サービス、プロセス、アプリケーション、クライアントデバイス、ゲストオペレーティングシステム及び／またはその他のそのようなコンピュータシステムエンティティを含むがこれに限定されないコンピュータシステムエンティティによる及びそれらのための、ディレクトリ、ファイルシステム、ファイル、ユーザ、セキュリティポリシー、ネットワークリソース、アプリケーション、システムストレージなどシステムリソースへのアクセスを容易にするかつ管理するシステム機能を利用するための技術が開示される。分散及び／または仮想化されたコンピュータシステムは、より良好なシステム性能、システムリソースへのより良好なアクセス、システムリソースの高可用性、より良好なデータセキュリティ、より良好なユーザセキュリティ、及び／またはその他のそのようなシステムの利益を促進するために、ローカル及び／またはリモートのシステムリソースの効率的な管理によって利益を得ることができる。
【０００９】
例示的な実施例において、分散及び／または仮想化されたコンピュータシステムは、ディレクトリサービスを含むがこれに限定されない１つまたは複数のコンピュータシステムサービスを有してもよく、特定のデータセンタに位置するディレクトリサービスと関連するユーザリソース、ポリシーリソース、ネットワークリソース、ストレージリソース、及び／またはその他のそのようなリソースなどの、１つまたは複数のシステムリソースを有してもよい。ディレクトリサービス、ならびにディレクトリサービスと関連するユーザリソース、ポリシーリソース、ネットワークリソース、ストレージリソース、及び／またはその他のそのようなリソースなどのシステムリソースは、システムリソース、コンピュータシステムリソース、サービス及びリソース、サービス及び／またはリソース、あるいはリソースとしてさまざまに、本開示の本明細書において集合的に言及されてもよい。これらのサービス及び／またはシステムリソースへのアクセスは、１つまたは複数のユーザアカウントと関連する一連の認証証明書を介してでもよい。いくつかの実施形態において、接続証明書は、ユーザ名、パスワード、キーフレーズ、生体認証デバイス、ハードウェアキー、仮想ハードウェアキー、及びその他のそのような認証及び／または認可証明書などの証明書を含んでもよい。いくつかの実施形態において、ローカル顧客データセンタは、データセンタ内のシステムリソースへのネットワークアクセスのためのローカル証明書を必要としてもよい。たとえば、コンピュータリソースサービスプロバイダで動作していてもよいサービスは、ローカルシステムリソースへのアクセスを必要としてもよいが、データセンタ内のシステムリソースへアクセスするためのローカル証明書を持つことはできない。一連のリソースへの臨時の証明書及びリンクを介したローカルシステムリソースへのアクセスを提供できるサービスが、アクセスを容易にしてもよい。そのようなサービスは、作成、破棄、接続、拡張する操作、及び／またはその他のそのような管理操作を提供することによって、ローカルシステムリソースの管理を支援してもよい。そのような管理操作は、いくつかの実施形態において、認証及び認可を管理してもよいポリシーサブシステムによって容易にされてもよい。いくつかの実施形態において、ローカル及び／またはリモートサービスのローカルシステムリソースを管理するシステムはまた、ローカル及び／またはリモートサービスのリモート及び／またはローカルとリモートが混在するシステムリソースを管理するように構成されてもよい。
【００１０】
本明細書で説明及び提案される技術は、ディレクトリサービスなどのコンピュータシステムサービス、ならびにディレクトリサービスと関連するユーザリソース、ポリシーリソース、及び／またはストレージリソースなどのリソースの実装及び管理に関連する技術を含む。いくつかの実施形態において、マネージドディレクトリサービスは、コンピュータシステム上のシステムユーザ、リソース、ポリシー、ネットワークアクセス、及び／またはセキュリティを管理する機能を含んでもよいディレクトリ・アズ・ア・サービス（ＤａａＳ）の機能を提供するように構成されてもよい。いくつかの実施形態において、マネージドディレクトリサービスは、分散及び／または仮想化されたコンピュータシステムのインスタンスによるそのような機能へのアクセスを管理するようにも構成されてもよく、その他の関連する分散及び／または仮想化されたコンピュータシステムサービスによるそのような機能へのアクセスを管理するようにも構成されてもよい。
【００１１】
たとえば、ユーザは、コンピューティングリソースサービスプロバイダ内に仮想マシン（ＶＭ）インスタンスを作成し、それにアクセスしてもよく、それはコンピューティングリソースサービスプロバイダによって管理できない顧客構内に格納されるシステムリソースへのアクセスを必要としてもよい。コンピューティングリソースサービスプロバイダ上で動作するマネージドディレクトリサービスは、取得した証明書を介して顧客構内ディレクトリにアクセスするように構成されてもよく、ＶＭインスタンスに顧客構内リソースへのアクセスを提供するようにも構成されてもよい。いくつかの実施形態において、サービスを提供されるその他のそのようなコンピュータサービスリソースも、顧客構内リソースへのアクセスが提供されてもよく、その結果、たとえば、ブロックデータストレージサービスが、顧客構内のディレクトリに格納されるデータにアクセスしてもよく、または、弾性ロードバランサが、それが作成する各インスタンスのために、顧客構内のアプリケーションをインスタンス化してもよく、または、データウェアハウスが顧客構内ファイルシステムにアクセスし、リモート位置に自動的にバックアップしてもよい。
【００１２】
いくつかの実施形態において、マネージドディレクトリサービスは、コンピュータシステムのためにユーザアクセス、ポリシー、記憶装置、アプリケーション、セキュリティ、及び／またはその他のそのようなリソースなどのディレクトリサービスを管理するように構成され、それらのディレクトリサービスへのインタフェースとしても構成されてもよい。マネージドディレクトリサービスは、企業ディレクトリなどのディレクトリのためのディレクトリサービスを管理するように構成されてもよい。ディレクトリは、ディレクトリのさまざまなオブジェクトについての情報のデータベースを含有してもよい。オブジェクトは、リソース及びセキュリティプリンシパルに対応してもよく、したがって、ユーザアクセスオブジェクト、ポリシーオブジェクト、ストアオブジェクト、アプリケーションリンクオブジェクト、セキュリティオブジェクト、及び／またはその他のそのようなオブジェクトを含有してもよい。ディレクトリデータベースはそれらのデータベースオブジェクト間の関係も含んでもよく、その結果、ディレクトリはたとえば、どのユーザがどの記憶装置へのアクセスを有するかを管理するために使用できる。
【００１３】
マネージドディレクトリサービスは、ディレクトリの作成を含むがこれに限定されない、そのようなサービスを提供してもよい。マネージドディレクトリサービスは、コンピューティングサービスリソースプロバイダ内、顧客構内、あるいはそれら及び／またはその他のそのような位置の組合せ内に、企業ディレクトリ、ＤａａＳ、及び／またはその他のそのようなディレクトリを含むがこれらに限定されないディレクトリを作成してもよい。コンピューティングサービスリソースプロバイダ内で作成されるディレクトリは、コンピューティングサービスリソースプロバイダで動作する仮想マシン内のスタンドアロンディレクトリとして作成されてもよく、または、それらはコンピューティングサービスリソースプロバイダのプライベート及び／または異なる限定サブセット内に位置するプライベートディレクトリとして作成されてもよい（たとえば、仮想ネットワーク及びそのトポロジに（たとえば、アプリケーションプログラミングインタフェース（ＡＰＩ）コールによって）仕様を提供している顧客の代わりに、コンピューティングリソースサービスプロバイダによってホストされ、管理される仮想ネットワーク）。ディレクトリを作成するとき、マネージドディレクトリサービスはディレクトリと関連するさまざまな追加のリソースを作成し、リソースを管理及び／またはディレクトリに提供してもよく、さらに、いくつかの実施形態において、サービス障害、待ち時間問題、及び／またはその他のそのようなサービス関連の問題に対する追加の保護及び冗長性を提供してもよい。たとえば、ディレクトリは、ディレクトリのサーバとしての機能を果たすように構成されてもよい１つまたは複数のマシンインスタンスで作成されてもよく、または、ディレクトリにアドレス解決を提供する１つまたは複数のルーティングサービスで作成されてもよく、または、さまざまなその他のそのようなサービス及び／またはリソースで作成されてもよい。いくつかの実施形態において、コンピューティングサービスリソースプロバイダ内に作成されるディレクトリは、多領域分散及び／または仮想化システムの複数の領域内に、追加のリソース及び／またはエンティティを作成してもよく、ならびに／あるいは、マルチドメイン分散及び／または仮想化システムの種々のサブドメイン内に、追加のリソースを作成してもよい。
【００１４】
いくつかの実施形態において、企業ディレクトリにおけるもののような既存の顧客ディレクトリ管理システムとインタフェースし、それらのディレクトリ管理システムから分散及び／または仮想化されたコンピュータシステムサービスまでセキュリティ及び／またはその他のそのようなポリシーを拡張するように、マネージドディレクトリサービスは構成されてもよい。このような実施形態において、ディレクトリリソースは、クライアントアプリケーション、プログラム、サービス、プロセス、及び／またはその他のそのようなコンピュータシステムエンティティによって呼び出されてもよい１つまたは複数のライブラリに含まれる１つまたは複数のＡＰＩコールを提供してもよく、ディレクトリリソース上での、構成、変更、管理、及び／またはその他のそのような操作を少なくとも可能にする。いくつかの実施形態において、顧客ディレクトリ管理システムはたとえば、特定の部門のユーザの、アプリケーションの特定の組合せ、ストレージ位置の特定のサブセット、特定のネットワークリソース、及び／または特定のレベルのセキュアなアクセスへのアクセスを可能にしてもよい。マネージドディレクトリサービスは、ＶＭインスタンス、ならびにその特定の部門のユーザによって分散及び／または仮想化されたコンピュータシステム上でインスタンス化されるその他のそのようなサービスにこれらのポリシーを拡張してもよい。いくつかの実施形態において、マネージドディレクトリサービスは、透過的に及び／または自動的に、そのようなポリシーを拡張してもよく、その結果、たとえば、特定の部門からのユーザのためにまたはその代わりにインスタンス化される仮想マシンインスタンスは、その場のすべての必要なシステム及びすべてのセキュリティ及び／またはすでに適用されているその他のポリシーでインスタンス化されてもよい。
【００１５】
マネージドディレクトリサービスはまた、顧客構内からコンピューティングリソースサービスプロバイダまで特定のリソースの可用性を拡張するように構成されてもよい。顧客構内に位置するファイルシステム及び／またはディレクトリなどのリソースは、たとえば、適切な証明書が示されるときにリソースにリンクを提供することによって、コンピューティングリソースサービスプロバイダ上で動作するサービスに対して利用可能にされてもよい。いくつかの実施形態において、たとえば、そのようなリンクは、ネットワークの複雑さまたはコンピューティングリソースサービスプロバイダホストマシンと顧客構内との間の著しい距離のために許容できない待ち時間を導入してもよい。マネージドディレクトリサービスは、コンピューティングリソースサービスプロバイダに対してシステムリソースを少なくとも部分的に拡張し、拡張されたシステムリソースへの読み取り及び／または書き込みに対して待ち時間の短いアクセスを提供し、同時に、顧客構内のオリジナルリソースとコンピューティングリソースサービスプロバイダ上の拡張されたリソースとの間の同期を管理することによって、この許容できない待ち時間に対処するように構成されてもよい。マネージドディレクトリサービスは、拡張されたシステムリソースへの読み取り専用アクセスを提供してもよく、または、いくつかの実施形態において、拡張されたシステムリソースへの読み書きアクセスを提供してもよい。読み取り／書き込みアクセスが提供されてもよいいくつかの実施形態において、顧客構内システムリソースはマスタに指定されてもよく、または、拡張されたシステムリソースプロバイダがマスタに指定されてもよく、または、２つのリソースは、たとえば書き込みの衝突が生じた場合に、どちらが権限を有するかを取り決めてもよい。いくつかの実施形態において、リソースは、複数のコンピューティングリソースサービスプロバイダ、コンピューティングリソースサービスプロバイダ内の複数の領域、複数の顧客構内、あるいはこれら及び／またはその他のそのような位置の組合せを含むがこれらに限定されない複数の位置に拡張されてもよい。
【００１６】
マネージドディレクトリサービスは、特定のリソースを顧客構内からコンピューティングリソースサービスプロバイダに移動するようにも構成されてもよく、特定のリソースをコンピュータサービスリソースプロバイダから顧客構内に戻すようにも構成されてもよい。マネージドディレクトリサービスは、たとえば、バックアップの作成、冗長性の作成、及び／またはその他のそのような目的のために、コンピュータシステムリソースの完全な及び／または部分的なスナップショットを作成するように構成されてもよい。たとえば、本明細書で説明される拡張操作は、いくつかの実施形態において、マネージドディレクトリサービスの機能を利用して、少なくとも部分的なスナップショットを作成し、顧客構内からコンピューティングリソースサービスプロバイダにそのスナップショットをコピーすることによって、スナップショットを作成してもよい。マネージドディレクトリサービスはまた、いくつかの実施形態において、コンピュータシステムリソースの完全スナップショットを作成してもよく、次いで、そのスナップショットを顧客構内からコンピューティングリソースサービスプロバイダへ、またはコンピュータリソースサービスプロバイダから顧客構内へコピーしてもよい。次いで、元のコンピュータシステムリソースにアクセスしていたコンピュータサービスの１つまたは複数は、異なる位置のコピーにアクセスするように変更されてもよい。いくつかの実施形態において、そのような移動は、特定のリソースの負荷の減少、リソースの特定の集中化した位置への移動、または、その他のそのような目的に役立ってもよい。
【００１７】
図１は、ディレクトリサービス（単に「コンピュータシステムディレクトリ」または「ディレクトリ」と呼ばれる）、ならびに、分散及び／または仮想化されたコンピュータシステム環境における、ユーザリソース、ポリシーリソース、ネットワークリソース、及び／またはストレージリソースを含むがこれらに限定されないそのようなディレクトリサービスと関連するリソース、ならびに、少なくとも１つの実施形態に従って、その上で動作する関連コードなどの、コンピュータシステムディレクトリリソースにアクセスするための環境１００を示す。コンピュータシステムエンティティ、ユーザ、またはプロセス１０２は、コンピュータシステムクライアントデバイス１０４を通してコンピュータシステムに接続してもよく、１つまたは複数のコンピュータシステムサービス１１０への接続１０８を介してアクセスをリクエストしてもよい。いくつかの実施形態において、サービスへのアクセスをリクエストするコマンド（単数または複数）は、外部のコンピュータシステム及び／またはサーバから発生してもよく、あるいは、リモートネットワーク位置のエンティティ、ユーザ、またはプロセスから発生してもよく、あるいは、コンピュータシステムから発生してもよく、あるいは、コンピュータシステムクライアントデバイスのユーザから発生してもよく、あるいは、これら及び／またはその他のそのようなオブジェクトの組合せの結果として発生してもよい。サービスへのアクセスをリクエストするコマンド（単数または複数）は、いくつかの実施形態において、信頼されたユーザによって、あるいは、ユーザによって、あるいは、自律的プロセスによって、あるいは、アラーム及び／またはその他のそのような状態の結果として、あるいは、これら及び／またはその他のそのような方法の組合せによって、発行されてもよい。
【００１８】
サービス（単数または複数）は、仮想マシン（ＶＭ）インスタンス、自動スケーリンググループ、ファイルベースデータベースストレージシステム、ブロックストレージサービス、冗長データストレージサービス、データアーカイブサービス、データウェアハウジングサービス、ユーザアクセス管理サービス、コンテンツ管理サービス、及び／またはその他のそのようなコンピュータシステムサービスなどのコンピュータサービスへのアクセスを提供してもよいコンピューティングリソースサービスプロバイダ１０６上で動作していてもよい。コンピューティングリソースサービスプロバイダ１０６は、また、ディレクトリサービスなどのコンピュータシステムサービス、ならびに、ディレクトリサービスと関連するユーザリソース、ポリシーリソース、ネットワークリソース、及び／またはストレージリソースなどのリソースへのアクセスを提供してもよい。いくつかの分散及び／または仮想化されたコンピュータシステム環境において、コンピュータサービスと関連するリソースは、物理デバイス、仮想デバイス、物理及び／または仮想デバイスの組合せ、あるいはその他のそのようなデバイスの実施形態でもよい。
【００１９】
コンピューティングリソースサービスプロバイダの１つまたは複数のサービス１１０は、いくつかの実施形態において、ディレクトリサービスならびにディレクトリサービスと関連するユーザリソース、ポリシーリソース、ネットワークリソース、及び／またはストレージリソースなどのリソースを含むがこれらに限定されない１つまたは複数のディレクトリリソース１１６へのアクセスを必要としてもよい。いくつかの実施形態において、ディレクトリへのアクセスは、１つまたは複数のＡＰＩコールを使用して、ディレクトリを作成するリクエストを受信することを含んでもよい。いくつかの実施形態において、ディレクトリは、コンピューティングリソースサービスプロバイダ内、または、顧客構内データセンタ内、または、コンピューティングリソースサービスプロバイダ内の隔離仮想ネットワーク内、または、隔離仮想ネットワークのサブネット内、または、顧客構内データセンタ内の仮想ネットワーク内、または、いくつかのその他のそのような位置の中で作成されてもよい。いくつかの実施形態において、ディレクトリへのアクセスは、クライアント及び／または顧客に代わってディレクトリを管理する操作などの、ディレクトリでのその他の操作を含んでもよい。
【００２０】
システムリソースまたはリソースがコンピューティングリソースサービスプロバイダ内に位置してもよいいくつかの実施形態において、コンピュータサービスリソースプロバイダは、１つまたは複数のシステムリソースへのアクセスを提供してもよい。システムリソースまたはリソースが、たとえば、少なくとも部分的に顧客構内にあるなど、コンピューティングリソースサービスプロバイダの外側に少なくとも部分的に位置してもよいいくつかの実施形態において、コンピュータサービスリソースプロバイダは、たとえば、ユニフォームリソース識別子（ＵＲＩ）またはいくつかのその他のそのようなリンクによるなど、１つまたは複数のリンクまたはロケータ１１４を介して、１つまたは複数のリソースへのアクセスをリクエストしてもよい。リンクは、１つまたは複数のリンクまたはロケータを介して１つまたは複数のコンピュータシステムサービスに、コンピュータシステムリソースへのアクセスを少なくとも提供するように構成されてもよいマネージドディレクトリサービス１１２などの、コンピューティングリソースサービスプロバイダ上で動作するサービスによって管理されてもよい。リンクは、コンピューティングリソースサービスプロバイダ内で動作するプロセスによって、あるいは、顧客構内内で動作するプロセスによって、あるいは、コンピューティングリソースサービスプロバイダに接続されたコンピュータシステム上で動作するプロセスによって、あるいは、顧客構内に接続されたコンピュータシステム上で動作するプロセスによって、あるいは、マネージドディレクトリサービスによって、あるいは、これら及び／またはその他のそのようなコンピュータシステムエンティティの組合せによって、提供されてもよい。いくつかの実施形態において、マネージドディレクトリサービスのリンク及び／またはロケータを提供及び／または管理するプロセス（単数または複数）、ならびに、マネージドディレクトリサービスに関連するかつ／またはそのコントロール下にあるその他のプロセスは、コンピュータシステムエンティティ上で実行されてもよく、ならびに／あるいは、コンピューティングリソースサービスプロバイダ内で、または、顧客構内で、または、これら及び／またはコンピューティングリソースサービスプロバイダのその他のそのようなローカル及び／またはリモート位置の組合せにおいて、コンピュータシステムリソースを使用してもよい。
【００２１】
図２は、ディレクトリサービスなどのコンピュータシステムサービス、ならびに、分散及び／または仮想化されたコンピュータシステム環境における、ディレクトリサービスと関連するユーザリソース、ポリシーリソース、ネットワークリソース、及び／またはストレージリソースなどのリソース、ならびに、少なくとも１つの実施形態に従って、その上で動作する関連コードを含むがこれらに限定されないコンピュータシステムディレクトリリソースにアクセスするための環境２００を示す。コンピュータシステムエンティティ、ユーザ、またはプロセス２０２は、コンピュータシステムクライアントデバイス２０４を通してその他のコンピュータシステムに接続してもよく、１つまたは複数のサービス２２６への接続２０６を介してアクセスをリクエストしてもよい。サービスへのアクセスをリクエストするコマンド（単数または複数）は、外部のコンピュータシステム及び／またはサーバから発生してもよく、または、リモートネットワーク位置のエンティティ、ユーザ、またはプロセスから発生してもよい。サービスへのアクセスをリクエストするコマンド（単数または複数）は、いくつかの実施形態において、特権ユーザによって、あるいは、非特権ユーザによって、あるいは、自律的プロセスによって、あるいは、アラームまたは状態の結果として、あるいは、これら及び／またはその他の方法の組合せによって、発行されてもよい。
【００２２】
コンピュータシステムクライアントデバイス２０４は、１つまたは複数のネットワーク２１６及び／または、直接または間接的にそのネットワークに接続されたその他のサーバなどのネットワーク２１６に関連するエンティティを介してサービスへのアクセスをリクエストしてもよい。上記のように、アクセスは、さまざまな構成及び位置のディレクトリを作成する機能、ならびに、その他のディレクトリ管理操作にアクセスする機能を含んでもよい。いくつかの実施形態において、ディレクトリは、仮想マシン及び／またはその他のクライアントがディレクトリのドメインに参加してもよいように作成及び構成されてもよく、それによって、ディレクトリにアクセスする。たとえば、ディレクトリはコンピューティングリソースサービスプロバイダ内で作成されてもよくて、仮想マシン及び／またはその他のクライアントが必要に応じてディレクトリに参加することを可能とするように構成されてもよい。ディレクトリへのアクセスを必要としてもよいクライアントは、１つまたは複数の認証された接続及び／または１つまたは複数の認可されたＡＰＩコールを使用してディレクトリのドメインに参加することによって、そうしてもよい。コンピューティングリソースサービスプロバイダ内に作成されるディレクトリは、いくつかの実施形態において、隔離仮想ネットワーク内、または、隔離仮想ネットワークのサブネット内に作成されてもよい。隔離仮想ネットワークは、コンピューティングリソースサービスプロバイダの、顧客が構成する隔離サブセクションであり、コンピュータリソースサービスプロバイダ内でその他のサービスに直接アクセス可能ではない、セキュアかつ隔離された仮想ネットワーク環境の顧客に、１つまたは複数のコンピューティングリソースサービスプロバイダサービスを提供する。隔離仮想ネットワークの中で作成されるリソースへのアクセスは、隔離仮想ネットワーク内のその他のサービス及びエンティティのみ利用可能でもよく、リソースが隔離仮想ネットワークのサブネット内に作成される実施形態において、リソースは、そのサブネット内のその他のサービス及びエンティティのみ利用可能でもよい。
【００２３】
ディレクトリへのアクセスをリクエストしてもよいコンピュータシステムクライアントデバイス２０４は、ネットワークを介してコンピュータシステムと接続することが可能である任意のデバイスを含んでもよく、それらは、少なくともサーバ、ラップトップ、スマートフォンまたはタブレットなどのモバイルデバイス、スマートウォッチ、スマートテレビ、セットトップボックス、ビデオゲームコンソール、及びその他のそのようなネットワーク使用可能なスマートデバイスなどのその他のスマートデバイス、分散型コンピューティングシステム及びそれらのコンポーネント、ゲストコンピュータシステムまたは仮想マシンなどの抽象化コンポーネント、ならびに／あるいは、その他のタイプのコンピューティングデバイス及び／またはコンポーネントを含む。ネットワークはたとえば、ローカルネットワーク、内部ネットワーク、インターネットなどの公衆ネットワーク、広域ネットワーク、ワイヤレスネットワーク、モバイルネットワーク、衛星ネットワーク、複数のネットワークノードを有する分散型コンピューティングシステムなどを含んでもよい。ネットワークはまた、以下に掲げる、ブルートゥース（登録商標）、ＷｉＦｉ（登録商標）、携帯電話ネットワークプロトコル、衛星ネットワークプロトコル、及び／またはその他などのさまざまなプロトコルに従って動作してもよい。
【００２４】
いくつかの実施形態において、顧客構内は、１つまたは複数のディレクトリ２０８を含んでもよく、それは少なくとも部分的に顧客構内に位置してもよく、それはファイル、ならびに／あるいは、ディレクトリ、アプリケーション、データ、データベース、その他のコンピュータシステムリソースへのリンク、システムドライバ、コンピュータオペレーティングシステム、仮想マシン、及び／またはその他のそのようなリソースを含むがこれらに限定されない、その上のその他のコンピュータシステムリソースを保存してもよい。いくつかの実施形態において、コンピュータシステムリソースは、ファイルシステムリソースでもよく、システムランダムアクセスメモリ（ＲＡＭ）、ディスクドライブ、ソリッドステートドライブ、リムーバブルドライブ、あるいはこれら及び／またはその他のそのようなストレージデバイスの組合せなどの、さまざまなストレージデバイスに保存されてもよい。いくつかの実施形態において、コンピュータシステムリソースは、たとえば本明細書で説明されるネットワーク接続などの１つまたは複数の接続を介して、コンピュータシステムクライアントデバイス２０４によってアクセスされてもよいデータセンタ（複数のコンピュータシステムリソース、サービス、及び／またはストレージデバイスを一箇所に置くことができる）の少なくとも一部に位置してもよい。コンピュータシステムリソース及び／またはデータセンタはローカルに位置してもよく、ローカル及びリモートを組み合わせて位置してもよい。たとえば、いくつかの実施形態において、ファイルシステム及び／またはディレクトリは、ローカルデータセンタに位置するディスク上に位置してもよく、ファイルシステム及び／またはディレクトリのコンテンツも、リモートデータセンタに位置するディスクに再現されてもよい。いくつかの他の実施形態において、ファイルシステム及び／またはディレクトリは、ローカルでもよい（すなわちデータセンタ内にホストされる））１つのデータセンタにそのコンテンツの少なくとも一部を配置し、また、ローカルまたはリモートでもよい１つまたは複数のその他のデータセンタにそのコンテンツのその他の部分を配置してもよい。ストレージデバイスは、本明細書に説明されるような物理デバイス、及び／またはそのような物理デバイスの仮想表現を含んでもよい。たとえば、ファイルシステム及び／またはディレクトリストレージデバイスは、いくつかの量の物理メモリを含んでもよく、その一部は、仮想ディスクドライブ上に作成されるファイルシステムを有する仮想ディスクドライブとしてのストレージ専用である。その他のそのようなストレージデバイスが、本開示の範囲内であると見なしてもよい。
【００２５】
いくつかの実施形態において、サービス２２６は、本明細書に説明されるような１つまたは複数のコンピュータシステムディレクトリリソースへのアクセスを必要としてもよい。サービス２２６は、いくつかの実施形態において、ユーザ、その他のコンピュータシステム、プロセス及び／または自動化プロセス、ならびに／あるいはその他のそのようなコンピュータシステムエンティティを含むがこれらに限定されないさまざまなその他のコンピュータシステムエンティティを含んでもよい。システムディレクトリリソースへのアクセス２１４は、いくつかの実施形態において、マネージドディレクトリサービス２１８などのサービスによって提供されてもよく、それは１つまたは複数のシステムリソースへのアクセスを提供してもよい。たとえば、ディレクトリ２０８は、コンピューティングリソースサービスプロバイダ内で、または、顧客構内のデータセンタ内で、または、いくつかのその他のそのような位置の中で、マネージドディレクトリサービス２１８によって作成されてもよい。ディレクトリがマネージドディレクトリサービスによって作成されると、マネージドディレクトリサービスは、ディレクトリに参加することを望むことがある、または、ディレクトリで認可されたコマンドを実行することを望むことがある、または、その他のディレクトリ管理操作を実行することを望むことがあるサービスにＵＲＩ２１４を提供することによって、ディレクトリへのアクセスを提供することができる。マネージドディレクトリサービス２１８は、コンピュータシステム及び／またはコンピュータシステムクライアントデバイスが、認証２２０、認可２２２、及びディレクトリサービス２２４を介したディレクトリ管理の目的のためのアクセスを含むがこれに限定されないディレクトリの管理を行うことを可能にするさまざまなサービスを提供してもよい。
【００２６】
たとえば、マネージドディレクトリサービスは、ユーザ、コンピュータシステム、プロセス、自動化プロセスまたはその他のそのようなエンティティの証明書を認証できる２２０認証サービスを提供し、そのエンティティが、たとえば、ディレクトリを作成する、ディレクトリ及び／またはその他のそのようなディレクトリ管理機能のドメインに参加するためにマネージドディレクトリサービスにアクセスすることが認可されるかどうかを少なくとも決定してもよい。いくつかの実施形態において、証明書は、マネージドディレクトリサービス自身によって認証されてもよく、または、それらは、マネージドディレクトリサービスの制御下のプロセス、プログラム、またはサービスによって認証されてもよく、または、それらは、マネージドディレクトリサービスが通信できるプロセス、プログラム、またはサービスによって認証されてもよく、または、それらは、これら及び／あるいはその他のそのようなサービスまたはエンティティの組合せによって認証されてもよい。
【００２７】
マネージドディレクトリサービス２１８はまた、ユーザ、コンピュータシステム、プロセス、自動化プロセスまたはその他のそのようなエンティティを認可できる２２２認可サービスを提供し、そのエンティティがマネージドディレクトリサービスによって管理されるディレクトリに関連して、１つまたは複数の可能なアクションのうちのどのアクションを実行できるかを少なくとも決定してもよい。たとえば、エンティティがディレクトリでの実行を認可されてもよくまたは認可されることができないアクションは、ディレクトリの作成、ディレクトリを含む１組のディレクトリの説明、ディレクトリの削除、ディレクトリの別のディレクトリへの拡張、ディレクトリのスナップショットについての情報の作成及び／または提供、ディレクトリのスナップショットの削除、ディレクトリのスナップショットからのディレクトリのリストア、ディレクトリと関連するタグの管理（追加／削除）、ディレクトリのＵＲＩのエイリアスの作成、エイリアスが利用可能かどうかの確認、ならびに／あるいは、ディレクトリのＵＲＩのエイリアスの削除を含むが、これらに限定されるものではない。ディレクトリが作成されると、ディレクトリの管理者は、作成されたディレクトリを介して、ディレクトリでの操作を実行することができる。たとえば、管理者は、ファイルシステムの作成、ファイルシステムの破棄、ファイルシステムへの取付け、ファイルシステムからの取り外し、ファイルシステムへのアクセスリンクの提供、ファイルシステムへのアクセスリンクの返還要求、ファイルシステムからの読み取りの許可、ファイルシステムへの書き込みの許可、及び／または、その他のそのようなファイルシステムリソースアクションなどのアクションを実行できる。
【００２８】
システムリソース上のアクションは、ディレクトリ、ファイル、アプリケーション、データ、データベース、その他のリソースへのリンク、システムドライバ、オペレーティングシステム、仮想マシン、及び／またはその他のそのようなその上のシステムリソースオブジェクトでのアクションを含むが、これらに限定されるものではなくてもよく、本明細書に言及されるアクションのようなアクションを含んでもよい。システムリソースの開始、停止、返還要求、破棄、及び／またはそれ以外の管理を行うアクション、ならびに、その他のそのようなアクションが、利用可能なアクションに含まれてもよい。アクションを実行する認可は、たとえば、特定のエンティティに関連する１組の証明書及び／またはポリシーを保守するシステムなどの証明書発行またはポリシーシステムのようなエンティティによって管理されてもよく、少なくとも一部において証明書及び／またはポリシーの組に基づいて、エンティティが実行を認可されるアクションを決定してもよい。エンティティが実行を認可されてもよいアクションは、静的でもよく、または、時刻、証明書のタイプ、システムポリシー、性質、アクセスされるオブジェクトのタイプまたは位置、あるいは、これら及び／またはその他のそのような認可要因の組合せを含むがこれらに限定されない複数の要因によって変化してもよい。たとえば、コンピュータシステムエンティティは、ファイルシステムの特定のファイルの読み取りのみ、ファイルシステムの特定のその他のファイルの読み取り及び書き込み、ならびに、ファイルシステムの特定のその他のファイルの追加及び削除を認可されてもよい。異なるコンピュータシステムエンティティが、ファイルシステム上の任意のアクションの実行を認可されてもよいが、それは、それらのアクションが特定の位置から、そして特定の時間に開始される場合のみである。１つまたは複数のプロセスは、システムログなどのファイルシステム上のファイルへの書き込みのみ認可されてもよく、同時に、その他のプロセスが、そのファイルからの読み取りのみ認可されてもよい。意図されるように、これらは例示的な実施例である。その他のタイプの操作は、マネージドディレクトリサービス認可システムによって認可されてもよく、そのようなその他のタイプの操作も、本開示の範囲内であると見なされる。
【００２９】
マネージドディレクトリサービスはまた、認可証明書及び／またはポリシーに従って、コンピュータシステムリソースへの認証されたエンティティアクセス２１４を提供できる２２４ディレクトリサービスを提供してもよい。たとえば、コンピュータシステムエンティティがファイルシステムリソースなどのコンピュータシステムリソース上での特定のデータストアの読み書きが認可されてもよい実施形態において、それを行う機能は、ディレクトリサービスによって提供されてもよい。ディレクトリサービスは、ＵＲＩオブジェクトまたはいくつかのその他のそのようなリンケージによるなど、ファイルシステムリソース位置にリンクを提供することによって、ファイルシステムリソースへのアクセスを提供してもよい。ＵＲＩは、コンピュータシステムクライアントデバイスによって、あるいは、データセンタで動作するプロセスによって、あるいは、データセンタに接続されたコンピュータシステム上で動作するプロセスによって、あるいは、マネージドディレクトリサービスによって、あるいは、これら及び／またはその他のそのようなコンピュータシステムエンティティの組合せによって、提供されてもよい。
【００３０】
いくつかの実施形態において、コンピュータシステムリソースへのアクセスは、アクセスがリクエスト側エンティティに不可視であるような方法で提供されてもよい。たとえば、アクセス２１４は、ディレクトリ２０８の位置２１０へのＵＲＩまたはその他のそのようなリンクとして、リクエスト側エンティティに提供されてもよい。コンピュータシステムリソース上の位置は、コンピュータシステム上で動作する１つまたは複数のプロセスによってＵＲＩに２１２変換されてもよい。コンピュータシステムリソースへのアクセスをリクエストしたサービスまたはエンティティ２２６は、コンピュータシステムリソースの位置に依存する構成を必要とすることなく、コンピュータシステムリソースにアクセスするための２２８受信したＵＲＩを使用してもよく、いくつかの実施形態において、サービスまたはエンティティ２２６がコンピュータシステムリソースに直接接続されているように動作するコンピュータシステムリソースにリンクするＵＲＩを使用してもよい。たとえば、サービスまたはエンティティに対して、サービスまたはエンティティに近い位置に位置するように見えてもよいファイルに１組のデータを書き込むように見える操作が、データを実際にネットワークパケットにパッケージ化してもよく、次いで、アクセスリンク２１４を介してネットワーク２１６を越えてパケットを転送し、ディレクトリ２０８に位置するファイルに実際に書き込まれる。意図されるように、これらは例示的な実施例であり、マネージドディレクトリサービスによって実行されてもよいその他のタイプの操作も、本開示の範囲内であると見なしてもよい。
【００３１】
図３は、ディレクトリをサポートするコンピュータシステムディレクトリリソースにアクセスするための環境３００を示す。ディレクトリリソースは、ディレクトリサービスなどのコンピュータシステムサービス、ならびに、分散及び／または仮想化されたコンピュータシステム環境における、ディレクトリサービスと関連するユーザリソース、ポリシーリソース、ネットワークリソース、及び／またはストレージリソースなどのリソース、ならびに、その上で動作する関連コードを含むがこれらに限定されるものではなくてもよい。ユーザまたはプロセス３０２は、コンピュータシステムクライアントデバイス３０４を通してコンピュータシステムに接続してもよく、少なくとも図１及び２に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるように、接続３０６を介してネットワーク接続３１６越しに、１つまたは複数のサービス３２６へのアクセスをリクエストしてもよい。（たとえば、コンピューティングリソースサービスプロバイダの）コンピューティング環境は、少なくとも図１及び２に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるように、顧客構内の外部の少なくとも一部に位置してもよい１つまたは複数のコンピュータシステムディレクトリ３０８を含んでもよい。いくつかの実施形態において、サービス３２６は、図１及び２に関連して少なくとも本明細書に説明されるものなどの、ディレクトリ３０８によって管理されるアクセスコンピュータシステムリソースを必要としてもよい。ディレクトリ３０８によって管理されるコンピュータシステムリソースへの（たとえば、ＵＲＩ３１４を介した）アクセスは、いくつかの実施形態において、マネージドディレクトリサービス３１８などのサービスによって提供されてもよく、それはディレクトリ３０８によって管理される１つまたは複数のシステムリソースへのアクセスを提供してもよい。アクセスは、ディレクトリの作成、ディレクトリの削除、ディレクトリの拡張、ディレクトリへの接続、ディレクトリ及び／またはその他のそのようなディレクトリ管理操作への参加の機能を含んでもよい。たとえば、ユーザまたはプロセス３０２は、仮想マシンサービス３２６によって管理される仮想マシンを、ユーザまたはプロセスが以前に作成したディレクトリ３０８に参加するよう所望してもよい。マネージドディレクトリサービスは、ＵＲＩ３１４を介するアクセスを提供してもよく、いくつかの実施形態において、ディレクトリに参加するための認証及び／または認可をユーザまたはプロセス３０２に提供してもよい。
【００３２】
マネージドディレクトリサービスは、さまざまなサービスを提供して、コンピュータシステム及び／またはコンピュータシステムクライアントデバイスがシステムリソースにアクセスすることを可能にしてもよい。たとえば、マネージドディレクトリサービスは、少なくとも図２に関連して、そして少なくとも１つの実施形態に従って本明細書に説明される２２０認証サービスに類似の認証サービス３２０を提供してもよい。いくつかの実施形態において、マネージドディレクトリサービスは、少なくとも図２に関連して、そして少なくとも１つの実施形態に従って本明細書に説明される２２２認可サービスに類似の３２２認可サービスを提供してもよい。マネージドディレクトリサービスはまた、少なくとも図２に関連して、そして少なくとも１つの実施形態に従って本明細書に説明される２２４ディレクトリサービスに類似の３２４ディレクトリサービスも提供してもよい。マネージドディレクトリサービスはまた、認可証明書及び／またはポリシーに従って、コンピュータシステムディレクトリリソースへの認証されたエンティティアクセス３１４を提供してもよいディレクトリサービスを提供してもよい。たとえば、コンピュータシステムエンティティがファイルシステムリソース上での特定のデータストアの読み書きが認可されてもよい実施形態において、それを行う機能は、ディレクトリサービス３２４によって提供されてもよい。ディレクトリサービス３２４は、ＵＲＩオブジェクトまたはいくつかのその他のそのようなリンケージによるなど、ファイルシステムリソース位置にリンクを提供することによって、ファイルシステムリソースへのアクセスを提供してもよい。いくつかの実施形態において、ＵＲＩは、コンピュータシステムクライアントデバイスによって、あるいは、データセンタで動作するプロセスによって、あるいは、データセンタに接続されたコンピュータシステム上で動作するプロセスによって、あるいは、マネージドディレクトリサービスによって、あるいは、これら及び／またはその他のそのようなコンピュータシステムエンティティの組合せによって、提供されてもよい。
【００３３】
図４は、少なくとも図２に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるように、分散及び／または仮想化されたコンピュータシステム環境におけるローカル及び／またはリモートコンピュータシステムリソースに対する、ローカル及び／またはリモートサービスによる認証、認可、及びアクセスのためのユーザリクエストを提供する環境４００を示す。コンピュータシステムエンティティ、ユーザ、またはプロセス４０２は、コンピュータシステムクライアントデバイス４０４を通してコンピュータシステムに接続してもよく、マネージドディレクトリサービス、クラウドサービス、ウェブサービス、仮想マシンサービス、データベースサービス、及び／またはその他のそのようなコンピューティングリソースサービスプロバイダサービスを含むがこれらに限定されない１つまたは複数のローカル及び／またはリモートサービスへのコンピュータシステムエンティティ、ユーザ、またはプロセスによるアクセスを容易にするために、証明書の認証を４０６リクエストしてもよい。証明書の認証をリクエストするコマンド（単数または複数）は、外部のコンピュータシステム及び／またはサーバから発生してもよく、あるいは、リモートネットワーク位置のエンティティ、ユーザ、またはプロセスから発生してもよく、あるいは、コンピュータシステムから発生してもよく、あるいは、コンピュータシステムクライアントデバイスのユーザから発生してもよく、あるいは、これら及び／またはその他のそのようなオブジェクトの組合せの結果として発生してもよい。証明書の認証をリクエストするコマンド（単数または複数）は、いくつかの実施形態において、特権ユーザによって、あるいは、非特権ユーザによって、あるいは、自律的プロセスによって、あるいは、アラームまたは状態の結果として、あるいは、これら及び／またはその他の方法の組合せによって、発行されてもよい。
【００３４】
コンピュータシステムクライアントデバイス４０４は、１つまたは複数のネットワーク４０８及び／あるいは直接または間接的にネットワーク４０８に接続されるその他のサーバなどのそれらに関連するエンティティを使用して、コンピュータシステムに接続されてもよい。コンピュータシステムクライアントデバイスは、ネットワークを介してコンピュータシステムで接続することが可能である任意のデバイスを含んでもよく、それらは、少なくともサーバ、ラップトップ、スマートフォンまたはタブレットなどのモバイルデバイス、スマートウォッチ、スマートテレビ、セットトップボックス、ビデオゲームコンソール、及びその他のそのようなネットワーク使用可能なスマートデバイスなどのその他のスマートデバイス、分散型コンピューティングシステム及びそれらのコンポーネント、ゲストコンピュータシステムまたは仮想マシンなどの抽象化コンポーネント、ならびに／あるいは、その他のタイプのコンピューティングデバイス及び／またはコンポーネントを含む。ネットワークはたとえば、ローカルネットワーク、内部ネットワーク、インターネットなどの公衆ネットワーク、広域ネットワーク、ワイヤレスネットワーク、モバイルネットワーク、衛星ネットワーク、複数のネットワークノードを有する分散型コンピューティングシステムなどを含んでもよい。ネットワークはまた、以下に掲げる、ブルートゥース、ＷｉＦｉ、携帯電話ネットワークプロトコル、衛星ネットワークプロトコル、及び／またはその他などのさまざまなプロトコルに従って動作してもよい。
【００３５】
いくつかの実施形態において、コンピュータシステムクライアントデバイス４０４は、マネージドディレクトリサービス４１０の制御に対応して及び／または制御の下で動作する１つまたは複数の認証プロセス４１２にアクセスしてもよく、認証プロセスは、外部プロセスからのリクエストに少なくとも応じて、コンピュータシステムエンティティ、ユーザ、またはプロセスをリクエストする証明書を認証するように構成されてもよい。たとえば、リクエスト側コンピュータシステムエンティティ、ユーザ、またはプロセスがマネージドディレクトリサービスへのアクセスが可能とされるかどうかを、認証プロセスは４１４を確認してもよい。認証プロセスは、ユーザ名及びパスワードの組合せを検証することによって、あるいは、ハードウェア、ソフトウェア、ファームウェア、またはその他のそのようなデバイス上に格納される暗号鍵を検証することによって、あるいは、コンピュータシステムクライアントデバイスがアクセスをリクエストすることが認可されるかどうかを検証することによって、あるいは、ネットワークがアクセスをリクエストすることが認可されるかどうかを検証することによって、あるいは、これら及び／またはその他のそのような検証方法の組合せによって、マネージドディレクトリサービスへのアクセスを有効にしてもよい。認証プロセスは、その他のそのような認証タスクを実行してもよく、いくつかの実施形態において、コンピュータシステム及び／またはその他のコンピュータシステムに格納されるデータに対応して及び／またはそのデータとともに動作するその他のプロセスと組み合わせて認証タスクを実行してもよい。
【００３６】
いくつかの実施形態において、本明細書に説明されるコンピュータシステムエンティティ、ユーザ、またはプロセス４０２は、本明細書に説明されるように１つまたは複数のネットワーク４０８及び／またはネットワーク４０８に関連するエンティティを使用して、本明細書に説明されるコンピュータシステムクライアントデバイス４０４を通してコンピュータシステムに接続してもよく、中に作成されてもよいディレクトリ４３２上でまたはそれに接続して、１つまたは複数の操作やプロセスを実行する認可を４１６でリクエストしてもよく、ならびに／あるいは、コンピューティングリソースサービスプロバイダから、または、コンピューティングリソースサービスプロバイダ内の、もしくは、隔離仮想ネットワークのサブネット内の、もしくは、顧客構内のデータセンタ内の、もしくは、顧客構内の仮想ネットワーク内の、もしくは、いくつかのその他のそのような位置内の隔離仮想ネットワークからアクセス可能でもよい。いくつかの実施形態において、リクエストされる操作認可は、ディレクトリの作成または削除などの、ディレクトリに関連する１つまたは複数のコンピュータシステムリソース操作を直接実行するようリクエストされる認可でもよい。いくつかの実施形態において、リクエストされる操作認可は、１つまたは複数のコンピュータシステムリソース操作を間接的に実行するようリクエストされる操作でもよい。たとえば、リクエストされる操作認可は、１つまたは複数のコンピュータシステムリソース操作を実行する認可のための、コンピュータシステムエンティティ、ユーザ、またはプロセス４０２の制御下のリモートコンピュータシステムサービス、プロセス、またはエンティティの認可のリクエストでもよい。認可は、マネージドディレクトリサービス４１０の制御に対応して及び／またはその制御の下で動作する１つまたは複数の認可プロセス４１８からリクエストされてもよく、認可プロセスは、外部プロセスからのリクエストに少なくとも応じるように、そして、ディレクトリ４３２上またはそれ以外ではそのディレクトリに関連するコンピュータシステムエンティティ、ユーザ、またはプロセスによる１つまたは複数の操作及び／またはプロセスの性能を認可するように、構成されてもよい。コンピュータシステムリソースは、顧客構内のデータセンタなどのようにローカルに位置してもよく、あるいは、リモートに位置してもよく、あるいは、分散及び／または仮想コンピュータシステム上などの複数のリモート位置に位置してもよく、あるいは、ローカル及び／またはリモート位置の組合せに位置してもよい。たとえば、ファイルシステムは、ローカルデータセンタに位置するローカルディスク上に位置してもよく、そのファイルシステムのコンテンツはまた、１つまたは複数のリモートデータセンタに位置する１つまたは複数のリモートディスクに再現されてもよい。いくつかの実施形態において、ファイルシステムは、少なくともローカルまたはリモートでもよい１つのデータセンタにそのコンテンツの少なくとも一部を配置し、また１つまたは複数のその他のデータセンタにそのコンテンツのその他の部分とを配置してもよい。
【００３７】
認可されてもよい操作及び／またはプロセスの実施例は、４２０のリソースオブジェクトの作成及び／または破棄、４２２のリソースオブジェクトの読み取り及び／または書き込み、ならびに／あるいは、その他のそのようなシステムリソース操作を含むが、これらに限定されるものではない。認可は、エンティティ、ユーザ、またはプロセスによって、日時によって、エンティティのクラスによって、ユーザのクラスによって、プロセスのクラスによって、１つまたは複数のシステムポリシーによって、リクエストの性質によって、あるいは、これら及び／またはその他のそのような考慮事項の組合せによって、変化してもよい。たとえば、コンピュータシステムエンティティは、ファイル及び／またはディレクトリの作成は認可されてもよいが、それらの削除は認可されることはできなく、あるいは、プロセスは、そのプロセスによって作成されたファイル及び／またはディレクトリの削除のみ認可されてもよいが、他は認可されることはできなく、あるいは、エンティティは、特定のディレクトリで特定のファイルの読み取りは認可されてもよいが、他は認可されることはできない。意図されるように、これらは例示的な実施例である。その他のタイプの操作は、マネージドディレクトリサービス認可システムによって認可されてもよく、そのようなその他のタイプの操作も、本開示の範囲内であると見なされる。
【００３８】
いくつかの実施形態において、本明細書に説明されるコンピュータシステムエンティティ、ユーザ、またはプロセス４０２は、本明細書に説明される１つまたは複数のネットワーク４０８及び／またはネットワーク４０８に関連するエンティティを使用して、本明細書に説明されるコンピュータシステムクライアントデバイス４０４を通してコンピュータシステムに接続してもよく、ディレクトリ４３２の管理のためにディレクトリ４３２へのアクセスをリクエストしてもよい１つまたは複数のローカル及び／またはリモートサービス４２８を作成及び／またはインスタンス化４２４してもよい。ディレクトリは、本明細書に説明されるような１つまたは複数の位置のうちの１つに事前に作成されていてもよく、アクセスは、ＵＲＩ４２４を介して作成されたディレクトリに提供されてもよい。いくつかの実施形態において、コンピュータサービス、プロセス、またはエンティティ４２８は、マネージドディレクトリサービス４１０の制御に対応して及び／またはその制御の下で動作する１つまたは複数のディレクトリサービスプロセス４２６にアクセスしてもよく、ディレクトリサービスプロセスは、外部プロセスからのリクエストに少なくとも応じ、そして、１つまたは複数のファイルシステムへのアクセスを提供するように構成されてもよい。１つまたは複数のファイルシステムへのアクセスは、ファイルならびに／あるいはディレクトリ、アプリケーション、データ、データベース、その他のファイルシステムへのリンク、システムドライバ、コンピュータオペレーティングシステム、仮想マシン、及び／またはその他のそのようなファイルシステムオブジェクトなどのその他のファイルシステムオブジェクトに対する、読み取り、書き込み、実行、削除、作成、インスタンス化、及び／またはその他のそのような操作などの操作へのアクセスを含んでもよい。いくつかの実施形態において、操作へのアクセスは、本明細書に説明されるような１つまたは複数の認可プロセス４１８を有する通信４３０によって容易にされてもよく、その中に含まれるリソース認可ポリシーに従って認可を提供する。
【００３９】
前述のように、図４のコンピュータシステムエンティティ、ユーザ、またはプロセス４０２、及びコンピュータシステムクライアントデバイス４０４は、分散型コンピューティングシステム及び／またはデータセンタ環境で相互接続される複数のエンティティ、ユーザ、プロセス、及び／またはデバイスの中の１つでもよい。図５は、さまざまな実施形態が行われてもよい分散コンピューティング環境及び／またはデータセンタ環境５００を示す。１つまたは複数のコンピュータシステムエンティティ、ユーザ、またはプロセス５０２は、１つまたは複数のネットワーク５０８を介して１つまたは複数のコンピュータシステムサービス５０６に、１つまたは複数のコンピュータシステムクライアントデバイス５０４を介して接続してもよい。１つまたは複数のデータセンタ５１６に位置してもよい１つまたは複数のローカル及び／またはリモートコンピュータシステムディレクトリリソース５１４へのサービスによるアクセスは、５１２のマネージドディレクトリサービスを介して、１つまたは複数のＵＲＩ５１０などの１つまたは複数の接続によって提供されてもよい。コンピューティングリソースサービスプロバイダ内に位置してもよいデータセンタ５１６は、いくつかの実施形態において、仮想データセンタでもよく、さらに隔離仮想ネットワークの一部でもよく、または、隔離仮想ネットワークのサブネットの部分でもよい。
【００４０】
ディレクトリがコンピューティングリソースサービスプロバイダによって提供されるデータセンタに位置するいくつかの実施形態において、複数ユーザ、サービス、デバイス、プロセス、及び／またはその他のそのようなコンピュータシステムエンティティは、ディレクトリへのアクセスを提供するコンピューティングリソースサービスプロバイダにアクセスしてもよい位置から、データセンタ及びディレクトリにアクセスしてもよい。ディレクトリが隔離仮想ネットワーク内または隔離仮想ネットワークのサブネット内に位置し、コンピュータシステムエンティティが隔離仮想ネットワーク内またはサブネット内に位置するいくつかの実施形態において、ディレクトリは隔離仮想ネットワークまたはサブネット内のそれらのエンティティに対して利用可能とされてもよい。たとえば、コンピューティングリソースサービスプロバイダで位置するディレクトリは、コンピューティングリソースサービスプロバイダにアクセスすることができる複数のデバイスかつ複数の位置からの適切な認可を有するコンピュータシステムエンティティによってアクセスされてもよい。ディレクトリは、ユーザ、サービス、デバイス、プロセス、及び／またはその他のそのようなコンピュータシステムエンティティによって共有されてもよく、それぞれは、それらのコンピュータシステムエンティティが位置するところに関係なく、ディレクトリにアクセスして、たとえばディレクトリのドメインに参加してもよいが、それは、それらのエンティティがコンピューティングリソースサービスプロバイダにアクセスして、適切な証明書を有する場合に限る。このような実施形態において、ディレクトリへのアクセスは、少なくとも図１及び２に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるように、少なくとも一部においてマネージドディレクトリサービスによって提供されてもよい。
【００４１】
ディレクトリが、たとえば、顧客によって提供されるデータセンタに位置し、そして顧客構内に位置するいくつかの実施形態において、複数ユーザ、サービス、デバイス、プロセス、及び／またはその他のそのようなコンピュータシステムエンティティは、同様の方法で、多くの異なる位置からディレクトリにアクセスしてもよいが、それは、それらのエンティティが顧客構内のデータセンタにアクセスする場合に限る。このような実施形態において、顧客構内のデータセンタへのアクセスは、少なくとも図１及び２に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるように、少なくとも一部においてマネージドディレクトリサービスによって提供されてもよい。いくつかの実施形態において、ディレクトリは顧客構内の隔離ネットワークで位置してもよく、エンティティはそのようなディレクトリにアクセスしてもよいが、それは、それらは隔離ネットワークにアクセスして、適切な証明書を有する場合に限る。意図されるように、これらは例示的な実施例であり、複数のコンピュータシステムエンティティがデータセンタ及び／またはシステムリソースに接続することを可能にする５１６データセンタ及び５１４システムリソースの位置のその他のタイプ及び／または配置は、本開示の範囲内であると見なしてもよく、それらは、分散されたデータセンタ及び／またはシステムリソース、仮想データセンタ及び／またはシステムリソース、冗長性をもつデータセンタ及び／またはシステムリソース、部分的にローカルなデータセンタ及び／またはシステムリソース、隔離仮想ネットワーク、隔離仮想ネットワークのサブネット、顧客構内の隔離ネットワーク、ならびに／あるいは、部分的にリモートなデータセンタ及び／またはシステムリソースを含むが、これらに限定されない。さらに意図されるように、システムリソースは、さまざまなシステムリソースを含んでもよく、それらは、ローカル及び／またはリモートストレージ位置、システムメモリ、中央処理装置（ＣＰＵ）、ネットワークインタフェース、ネットワーク帯域幅、ディスプレイデバイス、入力デバイス、ならびに／あるいはその他のそのようなコンピュータシステムリソースを含むが、これらに限定されず、これらのその他のそのようなリソースも本開示の範囲内であると見なしてもよい。
【００４２】
図６は、少なくとも図４に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるように、認証及び認可証明書のために使用される中央位置ユーザプロファイル、記憶装置、及びシステムポリシーを保守するための例示的環境６００を示す。管理者６０２は、いくつかの実施形態において、顧客構内に位置してもよい１つまたは複数のローカルストレージ位置に位置してもよい、あるいは、いくつかの実施形態において、コンピューティングリソースサービスプロバイダに位置してもよい１つまたは複数のリモートストレージ位置に位置してもよい、あるいは、いくつかの実施形態において、ローカル及びリモートストレージ位置の組合せに位置してもよいストレージ位置に位置してもよい、１組のシステムアクセスデータ６０４を有してもよい。いくつかの実施形態において、システムアクセスデータは、ユーザ名、ユーザパスワード、ユーザ個人データ、及び／またはその他のそのようなユーザプロファイル情報を含有してもよい１つまたは複数のユーザプロファイル６０６を含有してもよい。ユーザプロファイルは、少なくとも図４に関連して、そして少なくとも１つの実施形態に従って本明細書に説明される認証サービスなどの認証サービスを提供するために、１つまたは複数のシステムによって使用されてもよい。いくつかの実施形態において、システムアクセスデータは、１つまたは複数のコンピュータシステムリソースへの参照を含有してもよい１つまたは複数の記憶装置６０８を含有してもよい。いくつかの実施形態において、システムアクセスデータは、たとえば、システムサービス、ファイルシステム、ディレクトリ、マシン、仮想マシン、アプリケーション、ドキュメント、及び／またはその他のそのようなシステムリソースなどのシステムリソースへのアクセスを可能にする、禁止する、及び／または制限する１つまたは複数のポリシーステートメントを含有してもよい１つまたは複数のポリシー６１０を含有してもよい。ポリシーステートメントは、１つまたは複数のユーザプロファイルのコンテンツ、ユーザプロファイルタイプ、リクエスト側サービス、リクエスト側サービスタイプ、リクエスト側サービス位置、時刻、ユーザの事業価値、クライアント、顧客、リクエスト及び／またはその他のそのような事業価値、またはこれら及び／またはその他のそのような要因の組合せなどの要因に基づいて、システムリソースへのアクセスを可能にしてもよく、禁止してもよく、及び／または制限してもよい。
【００４３】
マネージドディレクトリサービスは、マネージドディレクトリサービスを提供するコンピューティングリソースサービスプロバイダのアカウントと関連する様々なユーザに、さまざまなレベルのアクセスを提供してもよい。たとえば、一部のユーザは、ディレクトリを作成及び削除することができてもよく、一方で、その他のユーザは、ディレクトリを削除する認可がなくてもよい。したがって、図７は、マネージドディレクトリサービスによって管理されるディレクトリの管理機能へのアクセスを制御するための例示的プロセス７００を示す。以下でより詳細に論じられるように、プロセスは、少なくとも図４に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるように、マネージドディレクトリサービスへのアクセスを認証するために、かつ、マネージドディレクトリサービスと関連する１つまたは複数のコマンドの実行を認証されるエンティティを認可するために、使用されてもよい。図４で説明されるマネージドディレクトリサービス４１０などのサービス、またはマネージドディレクトリサービスと関連するプロセスは、図７に示されるアクションを実行してもよい。
【００４４】
マネージドディレクトリサービスは、リクエスタがマネージドディレクトリサービス、ならびにマネージドディレクトリサービスによって提供されるコマンド、リソース、及び／またはサービスのうちの１つまたは複数にアクセスすることを可能にするリクエスト７０２を受信してもよい。いくつかの実施形態において、リクエスタは、少なくとも図１に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるコンピュータシステムエンティティ、ユーザ、またはプロセスなどのコンピュータシステムエンティティ、ユーザ、またはプロセスでもよい。いくつかの実施形態において、リクエストは、外部のコンピュータシステム及び／またはサーバから発生してもよく、あるいは、リモートネットワーク位置のエンティティ、ユーザ、またはプロセスから発生してもよく、あるいは、ローカルコンピュータシステムから発生してもよく、あるいは、コンピュータシステムクライアントデバイスのユーザから発生してもよく、あるいは、これら及び／またはその他のそのような状態の組合せの結果として発生してもよい。リクエストを発行するコマンド（単数または複数）は、いくつかの実施形態において、特権ユーザによって、あるいは、非特権ユーザによって、あるいは、自律的プロセスによって、あるいは、アラームまたは状態の結果として、あるいは、これら及び／またはその他の方法の組合せによって、発行されてもよい。
【００４５】
マネージドディレクトリサービスは最初に、少なくとも図４に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるプロセスなどのプロセスを使用するユーザを７０４で認証してもよい。マネージドディレクトリサービスは、いくつかの実施形態において、少なくとも図６に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるユーザプロファイルデータなどのシステムアクセスデータを使用してもよい。リクエスタが７０４で認証される場合、マネージドディレクトリサービスは７０８で接続を可能にし、７１０でリクエスタからのコマンドを受信し始める。リクエスタが７０４で認証されない場合、マネージドディレクトリサービスは７０６で接続を拒絶してもよい。
【００４６】
マネージドディレクトリサービスが７１０でリクエスタからコマンドを受信し始めると、マネージドディレクトリサービスは、リクエスタが各コマンドの実行を認可されるかどうかを７１４で決定してもよい。マネージドディレクトリサービスが受信してもよいコマンドの実施例は、ディレクトリを作成または破棄するコマンド、ディレクトリサービスを管理するコマンド、ディレクトリタグを管理するコマンド、ディレクトリエイリアスを管理するコマンド、ディレクトリへの読み出し及び／またはディレクトリからの書き込みのコマンド、ならびに／あるいは、その他のそのようなコマンドを含むがこれらに限定されるものではない。マネージドディレクトリサービスは、少なくとも図４に関連して、そして少なくとも１つの実施形態に従って本明細書に説明される認可プロセスなどの認可プロセスを使用して、リクエスタに各コマンドを実行することを認可してもよい。マネージドディレクトリサービスは、いくつかの実施形態において、少なくとも図６に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるユーザプロファイル及び／またはポリシーデータなどのシステムアクセスデータを使用してもよい。
【００４７】
リクエスタが受信したコマンドの実行を７１４で認可されない場合、マネージドディレクトリサービスは７１６で特定のコマンドを拒絶してもよく、次いで、７１２でリクエスタからのコマンドの処理を続けなければならないかどうか決定してもよい。いくつかの実施形態において、いくつかの拒絶されたコマンドが、コマンドを実行しないことになってもよく、いくつかの拒絶されたコマンドが、コマンドが拒絶されたリクエスタ及び／またはその他のコンピュータシステムエンティティに警告することになってもよく、いくつかの拒絶されたコマンドが、リクエスタへの接続を終了させることになってもよく、さらに、いくつかの拒絶されたコマンドが、これら及び／またはその他のそのようなアクションの組合せになってもよい。マネージドディレクトリサービスが、リクエスタからのコマンドを受信し続けることを７１２で決定する場合、マネージドディレクトリサービスは、７１０で次のコマンドを待ってもよい。マネージドディレクトリサービスが、続けることを７１２で決定しない場合、マネージドディレクトリサービスは、７２２でリクエスタを切断してもよい。いくつかの実施形態において、７２２リクエスタの分離は、リクエスタの分離、リクエスタへの切断の通知、１つまたは複数のその他のコンピュータシステムエンティティへの切断の通知、あるいは、これら及び／またはその他のそのような切断アクションの組合せを含んでもよい。
【００４８】
リクエスタが受信したコマンドの実行を７１４で認可される場合、マネージドディレクトリサービスは７１８で、コマンドの実行、コマンドが許可されることのリクエスタへの警告、コマンドが許可されることの１つまたは複数のその他のシステムエンティティへの警告、１つまたは複数のその他のシステムエンティティへのコマンドの実行のリクエスト、あるいは、これら及び／またはその他のそのような応答の組合せを含んでもよいコマンドを許可してもよい。受信したコマンド及び／または７１８への応答は、コマンドは、マネージドディレクトリサービスがリクエスタを７２２で切断してもよい、７２０の切断するリクエストを少なくとも一部において含んでもよいことを可能にする。マネージドディレクトリが７２０の切断コマンドを受信しない場合、マネージドディレクトリサービスは、７１０で次のコマンドを待ってもよい。
【００４９】
図８は、少なくとも図４に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるマネージドディレクトリリソースなどのマネージドディレクトリサービスを使用する１つまたは複数の高可用性ディレクトリを提供するための例示的環境８００を示す。コンピュータシステムユーザ、プロセス、またはサービスなどのコンピュータシステムエンティティは、本明細書に説明されるネットワーク接続などの１つまたは複数の接続についてのネットワークプロトコルまたはその他のそのような通信プロトコルなどの１つまたは複数の接続プロトコルを使用して、ローカル及び／またはリモートシステムリソースに接続してもよい。コンピュータシステムエンティティとコンピュータシステムリソースとの間の接続は、たとえば、一方向接続、双方向接続、読み取り専用接続、読み書き接続、あるいは、これら及び／またはその他の接続タイプの組合せでもよい。コンピューティングリソースサービスプロバイダ８３２は、コンピューティングリソースサービスプロバイダ８３２内に位置する１つまたは複数のディレクトリ８１４を含む１つまたは複数のデータセンタ８１２にアクセスしてもよい１つまたは複数のマネージドディレクトリサービス８０８を提供してもよい。少なくとも図４に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるように、データセンタ８１２は、コンピューティングリソースサービスプロバイダ内、または、コンピューティングリソースサービスプロバイダ内の隔離仮想ネットワーク内、または、隔離仮想ネットワークのサブネット内に位置してもよい。いくつかの実施形態において、コンピューティングリソースサービスプロバイダがさまざまな位置から高可用性であり、マネージドディレクトリサービスも高可用性であるとき、マネージドディレクトリサービスに接続されるディレクトリも、高可用性にされてもよい。
【００５０】
いくつかの実施形態において、ディレクトリ８１４は、ユーザ、プロセス、デバイス、サービス、及び／またはその他のそのようなコンピュータシステムエンティティなどの１つまたは複数のコンピュータシステムエンティティによって共有されてもよいオフプレミスディレクトリ及び／またはファイルシステムでもよい。このような実施形態において、ユーザ８０２は、コンピュータシステムデバイス８０４を介してサービス８０６に接続してもよく、少なくとも図４に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるようにマネージドディレクトリサービス８０８によって提供されるＵＲＩ８１０などのリンクを介して、ディレクトリにアクセスしてもよい。別のユーザ８１６も、コンピュータシステムデバイス８１８を介して、少なくとも図４に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるように、マネージドディレクトリサービス８０８によって提供されるＵＲＩ８２０などのリンクを介してディレクトリにアクセスしてもよい。ユーザ８０２及び／またはサービス８０６のためのディレクトリへのアクセスのための許可及び／またはポリシーは、ユーザ８１６のためのディレクトリへのアクセスのための許可及び／またはポリシーとは異なってもよい。たとえば、ユーザ８０２はディレクトリへの読み取り書き込みアクセスを有してもよく、一方、ユーザ８１６はリモートコンピュータシステムリソースへの読み取りアクセスのみ有してもよい。同様に、ＵＲＩ８２６などのリンクを介してディレクトリにアクセスしてもよいサービス８２２、及びＵＲＩ８３０などのリンクを介してディレクトリにアクセスしてもよいプロセス８２８は、読み取り専用、読み取り／書き込み、書き込み専用、追加、及び／またはその他のタイプのディレクトリと関連する許可及び／またはポリシーを有してもよい。ディレクトリにアクセスするためのＵＲＩリンクは、すべてのユーザ、サービス、プロセス、及びその他のコンピュータシステムエンティティに対して同一でもよく、または、通信の方法によって変わってもよい。たとえば、特定のサービスは、データがディレクトリへ読み出される及び／またはディレクトリからの書き込まれる前に、ＵＲＩリンクのいくつかの内部及び／または外部翻訳を必要としてもよい。
【００５１】
図９は、少なくとも図４に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるマネージドディレクトリリソースなどのマネージドディレクトリサービスを使用するディレクトリのスナップショットまたは複製を作成するための例示的環境９００を示す。サービス９０２は、マネージドディレクトリサービス９０４によって提供されるＵＲＩ９０６などのリンクを介して、リモートデータセンタ９０８のオフプレミスディレクトリ９１０などのディレクトリに接続されてもよい。第２のサービス９２０は、マネージドディレクトリサービス９０４によって提供されるＵＲＩ９２２などのリンクを介して、リモートデータセンタ９０８のディレクトリ９１０に接続されてもよい。マネージドディレクトリサービス９０４と関連するプロセス（単数または複数）は、コマンドをリモートデータセンタ９０８に送信して、ディレクトリ９１０の複製９１２を生成してもよい。いくつかの実施形態において、複製を完成させる前に、リモートデータセンタ、マネージドディレクトリサービス、または別のそのようなコンピュータシステムエンティティなどのコンピュータシステムエンティティは最初に、ディレクトリ９１０での任意の書き込み、修正、更新、またはその他のそのような操作を無効にしてもよい。更新が終わると、リモートデータセンタ９０８は、リモートデータセンタ９１６に複製ディレクトリ９１８を９１４で作成してもよい。いくつかの実施形態において、複製は、冗長性、セキュリティ、またはその他のそのような目的などの目的のためにリクエストされてもよく、あるいは、複製はまた、システム性能の改善、及び／またはコンピュータシステムの１つまたは複数のエンティティに対するリソース要求の減少のためにリクエストされてもよく、あるいは、複製は、その他のそのような目的のためにリクエストされてもよい。いくつかの実施形態において、複製が作成されたあと、オリジナルは残してもまたは破棄してもよく、あるいは、オリジナル及び複製は、冗長性を提供するために同期し続けてもよく、あるいは、オリジナルはアーカイブされてもよく、あるいは、複製が作成されたあとにオリジナル及び／または複製に対して実行されるその他のアクションがあってもよい。いくつかの実施形態において、複製は、たとえばシステム負荷を減少させるために作成されてもよい。このような実施形態において、サービス９２０は、複製されたディレクトリ９１８に転送９２６されてもよく、ＵＲＩ９２８などのリンクによって、新しいマネージドディレクトリサービス９２４を介して複製されたディレクトリに接続してもよく、こうして、オリジナルディレクトリ９１０の負荷を減少させてもよい。
【００５２】
図１０は、少なくとも図４に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるようなマネージドディレクトリサービスと関連するディレクトリのスナップショットまたは複製を作成するための例示的プロセス１０００を示す。図４で説明されるマネージドディレクトリサービス４１０などのサービス、またはマネージドディレクトリサービスと関連するプロセスは、図１０に示されるアクションを実行してもよい。
【００５３】
マネージドディレクトリサービスは、マネージドディレクトリサービスと関連するディレクトリのスナップショットまたは複製を作成するためのリクエスト１００２を受信してもよい。いくつかの実施形態において、リクエスタは、少なくとも図１に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるコンピュータシステムエンティティ、ユーザ、またはプロセスなどのコンピュータシステムエンティティ、ユーザ、またはプロセスでもよい。いくつかの実施形態において、リクエストは、外部のコンピュータシステム及び／またはサーバから発生してもよく、あるいは、リモートネットワーク位置のエンティティ、ユーザ、またはプロセスから発生してもよく、あるいは、ローカルコンピュータシステムから発生してもよく、あるいは、コンピュータシステムクライアントデバイスのユーザから発生してもよく、あるいは、これら及び／またはその他のそのような状態の組合せの結果として発生してもよい。リクエストを発行するコマンド（単数または複数）は、いくつかの実施形態において、特権ユーザによって、あるいは、非特権ユーザによって、あるいは、自律的プロセスによって、あるいは、アラームまたは状態の結果として、あるいは、これら及び／またはその他の方法の組合せによって、発行されてもよい。
【００５４】
マネージドディレクトリサービスはコマンド１００４を発行し、ディレクトリに対するすべての更新、書き込み、変更、及び／またはその他のそのような修正を中断してもよく、次いで、すべての更新が中断されるまで、１００６で待機してもよい。すべての更新が中断されると、マネージドディレクトリサービスは最初に、１００８でディレクトリのローカルコピーを作成してもよく、次いで１０１０で、スナップショットまたは複製をローカルに残すかどうか、すなわち、リモート位置に送信するかどうかを決定してもよい。マネージドディレクトリサービスが１０１０でスナップショットをローカルのままにすると決定する場合には、マネージドディレクトリサービスは、１０１８でディレクトリへのアクセスを再開してもよい。マネージドディレクトリサービスが１０１０でスナップショットをリモート位置に送信すると決定する場合には、マネージドディレクトリサービスは、１０１２でスナップショットをリモート位置に伝送してもよく、１０１４でリモート位置に転送される必要があってもよい任意のクライアントを転送してもよく、１０１６でシステムリソースのリモートスナップショットへのアクセスを可能にするためにリモート位置に通知してもよく、そして、最後に１０１８でディレクトリへのアクセスを再開する。オリジナルディレクトリが作成されてもよく、ローカル（たとえばコンピューティングリソースサービスプロバイダ内）に、または、リモート（たとえば顧客構内のデータセンタ内）に、または、ローカル及びリモート位置の組合せに、位置してもよい。たとえば、ローカルコピーにリモートディレクトリのスナップショットをとるマネージドディレクトリサービスは、ステップ１００２、１００４、１００６、１００８、１０１０、次いで１０１８を実行してもよい。別のリモートコピーにリモートリソースのスナップショットをとるマネージドディレクトリサービスは、ステップ１００２〜１０１０を実行し、次いでステップ１０１２、１０１４、１０１６を実行し、最後に１０１８を実行してもよい。
【００５５】
図１１は、少なくとも図４に関連して、そして少なくとも１つの実施形態に従って本明細書に説明される１つまたは複数のマネージドディレクトリサービスを使用して、リモート位置から顧客構内に位置する位置に戻ってディレクトリを再現するための例示的環境１１００を示す。いくつかの実施形態において、顧客構内に位置してもよいサービス１１０２は、少なくとも図４に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるように、ネットワーク１１０４越しにマネージドディレクトリサービス１１０６によって提供されるＵＲＩ１１０８などのリンクを介して、リモートデータセンタ１１１２のオフプレミスディレクトリ１１１４などのディレクトリに接続されてもよい。第２のサービス１１１８は、いくつかの実施形態において、リモートに位置してもよく、少なくとも図４に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるように、マネージドディレクトリサービス１１１６によって提供されるＵＲＩ１１２０などのリンクを介して、リモートデータセンタ１１１２のディレクトリ１１１４に接続されてもよい。
【００５６】
マネージドディレクトリサービス１１０６と関連するプロセス（単数または複数）は、コマンドをリモートデータセンタ１１１２に送信して、ディレクトリ１１１４を１１１０で再現してもよい。いくつかの実施形態において、レプリケーションを完成させる前に、リモートデータセンタ、マネージドディレクトリサービス、または別のそのようなコンピュータシステムエンティティなどのコンピュータシステムエンティティは最初に、ディレクトリ１１１４での任意の書き込み、修正、更新、またはその他のそのような操作を無効にしてもよい。更新が終わると、リモートデータセンタ１１１２は、１１３０で顧客構内に複製ディレクトリ１１２２を作成してもよい。複製ディレクトリが作成されると、サービスは、いくつかの実施形態において、複製ディレクトリに接続されてもよい。たとえば、サービス１１０２は、ディレクトリ１１２２に１１２６で接続するコマンドを受信してもよく、どちらもサービスに対してローカルであるため、サービスは直接接続してもよい。サービス１１１８も、ディレクトリ１１２２に１１２８で接続するコマンドを受信してもよく、ネットワーク１１０４を介して、マネージドディレクトリサービス１１２４によって提供されるＵＲＩ１１３２を介してそうしてもよい。ＵＲＩ１１２０及びＵＲＩ１１３２は、ディレクトリとマネージドディレクトリサービス１１０６の位置が異なるため、異なってもよい。マネージドディレクトリサービス１１０６、マネージドディレクトリサービス１１１６、及びマネージドディレクトリサービス１１２４は、同一のサービスでもよく、または、複数の別々のサービスでもよい。
【００５７】
図１２は、少なくとも図４に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるように１つまたは複数のマネージドディレクトリサービスを使用して、リモート位置からローカル位置へディレクトリを再現するための例示的プロセス１２００を示す。図４で説明されるマネージドディレクトリサービス４１０などの１つまたは複数のサービス、またはそれらのマネージドディレクトリサービスと関連するプロセスは、図１２に示されるアクションを実行してもよい。
【００５８】
マネージドディレクトリサービスは、第１のマネージドディレクトリサービスと関連するディレクトリから第２のマネージドディレクトリサービスと関連するローカルディレクトリへディレクトリを再現するためのリクエスト１２０２を受信してもよい。第１及び第２のマネージドディレクトリサービスは、いくつかの実施形態において、同一のマネージドディレクトリサービスでもよく、または、いくつかの実施形態において、異なるマネージドディレクトリサービスでもよい。いくつかの実施形態において、リクエスタは、少なくとも図１に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるコンピュータシステムエンティティ、ユーザ、またはプロセスなどのコンピュータシステムエンティティ、ユーザ、またはプロセスでもよい。いくつかの実施形態において、リクエストは、外部のコンピュータシステム及び／またはサーバから発生してもよく、あるいは、リモートネットワーク位置のエンティティ、ユーザ、またはプロセスから発生してもよく、あるいは、ローカルコンピュータシステムから発生してもよく、あるいは、コンピュータシステムクライアントデバイスのユーザから発生してもよく、あるいは、これら及び／またはその他のそのような状態の組合せの結果として発生してもよい。リクエストを発行するコマンド（単数または複数）は、いくつかの実施形態において、特権ユーザによって、あるいは、非特権ユーザによって、あるいは、自律的プロセスによって、あるいは、アラームまたは状態の結果として、あるいは、これら及び／またはその他の方法の組合せによって、発行されてもよい。
【００５９】
マネージドディレクトリサービスはコマンド１２０４を発行し、ディレクトリに対するすべての更新、書き込み、変更、及び／またはその他のそのような修正を中断してもよく、次いで、すべての更新が中断されるまで、１２０６で待機してもよい。すべての更新が中断されると、マネージドディレクトリサービスは最初、１２０８でディレクトリを顧客構内のローカル位置へ複製してもよく、次いで、１２１２で複製が完成するまで、１２１０で待機する。１２１２で複製が完成すると、マネージドディレクトリサービスは１２１４で、直接接続及び／またはローカル複製へのアクセスを必要としてもよいローカルクライアントのためのＵＲＩなどのリンクを提供することによって、及び、ローカル複製へのアクセスを望んでもよいリモートクライアントのためのＵＲＩなどのリンクを提供することによって、ローカル複製へのアクセスをリストアしてもよい。マネージドディレクトリはまた、１２１６でオリジナルディレクトリへのアクセスの保持を望んでもよいその他のクライアントによるアクセスを再開する。
【００６０】
図１３は、さまざまな実施形態による態様を実装するための例示的環境１３００の態様を示す。理解されるように、ウェブベースの環境が解説のために使用されるが、さまざまな実施形態を実装するために異なる環境が、適宜、使用されてもよい。環境には、電子クライアントデバイス１３０２が含まれ、それは、適切なネットワーク１３０４越しにリクエスト、メッセージ、または情報を送信及び／または受信し、いくつかの実施形態において、情報をデバイスのユーザへ戻すことに使用可能な任意の適切なデバイスを含むことができる。そのようなクライアントデバイスの実施例は、パーソナルコンピュータ、携帯電話、携帯メッセージングデバイス、ラップトップコンピュータ、タブレットコンピュータ、セットトップボックス、パーソナルデータアシスタント、組み込み型コンピュータシステム、電子ブックリーダなどを含む。ネットワークは、イントラネット、インターネット、携帯電話ネットワーク、ローカルエリアネットワーク、衛星ネットワーク、または任意のその他のそのようなネットワーク、及び／またはそれらの組合せを含む任意の適切なネットワークを含むことができる。そのようなシステムに使用されるコンポーネントは、選択されるネットワーク及び／または環境のタイプに、少なくとも一部において依存する可能性がある。そのようなネットワークを介して通信するためのプロトコル及びコンポーネントは、よく知られており、本明細書では詳細に論じない。ネットワーク越しの通信は、有線または無線接続及びそれらの組合せによって可能にすることができる。本実施例において、ネットワークはインターネットを含み、それは、環境がリクエストを受信し、それに答えてコンテンツを供給するためのウェブサーバ１３０６を含むためであるが、当業者にとって明らかであるように、その他のネットワークに対して、類似の目的を供給する代替のデバイスを使用することができる。
【００６１】
例示的な環境は、少なくとも１つのアプリケーションサーバ１３０８及びデータストア１３１０を含む。いくつかのアプリケーションサーバ、レイヤ、またはその他のエレメント、プロセスまたはコンポーネントが存在することができるが、それらは連結されてもよく、またはそれ以外に構成されてもよく、適切なデータストアからデータを取得するなどのタスクを実行するために相互作用することができることは理解されるべきである。サーバは、本明細書で使用される場合、ハードウェアデバイスまたは仮想コンピュータシステムなど、さまざまな方法で実装されてもよい。いくつかの文脈において、
サーバは、コンピュータシステム上で実行されているプログラミングモジュールを参照してもよい。本明細書で使用される場合、特に明記しない限り、または文脈から明らかでない限り、「データストア」という用語は、データの記憶、アクセス、及び検索が可能な、任意のデバイスまたはデバイスの組合せに関するものであり、任意の標準的な、分散された、仮想の、またはクラスタ化された環境において、任意の組合せ及び任意の数のデータサーバ、データベース、データストレージデバイス、及びデータストレージメディアを含んでもよい。アプリケーションサーバは、クライアントデバイスの１つまたは複数のアプリケーションの態様を実行するために必要に応じてデータストアと統合するための任意の適切なハードウェア、ソフトウェア、及びファームウェアを含むことができ、アプリケーションのデータアクセス及びビジネスロジックの一部またはすべてを処理する。アプリケーションサーバは、データストアと連携するアクセス制御サービスを提供してもよく、テキスト、グラフィクス、オーディオ、ビデオ、及び／またはユーザに提供するために使用可能なその他のコンテンツを含むがこれらに限定されないコンテンツを生成することができ、ハイパーテキストマークアップランゲージ（「ＨＴＭＬ」）、拡張可能マークアップランゲージ（「ＸＭＬ」）、ＪａｖａＳｃｒｉｐｔ（登録商標）、カスケーディングスタイルシート（「ＣＳＳ」）、または別の適切なクライアントサイド構造化言語の形態で、ウェブサーバによってユーザに供給することができる。クライアントデバイスに転送されるコンテンツは、クライアントデバイスによって処理されてもよく、可聴的に、視覚的に、ならびに／あるいは触覚、味覚、及び／または嗅覚を含むその他の感覚によってユーザに認識できる形態を含むがこれらに限定されない１つまたは複数の形態でコンテンツを提供する。すべてのリクエスト及び応答の処理、ならびにクライアントデバイス１３０２とアプリケーションサーバ１３０８との間のコンテンツの配信は、本実施例においては、ＰＨＰハイパーテキストプリプロセッサ（「ＰＨＰ」）、Ｐｙｔｈｏｎ（登録商標）、Ｒｕｂｙ（登録商標）、Ｐｅｒｌ（登録商標）、Ｊａｖａ（登録商標）、ＨＴＭＬ、ＸＭＬ、または別の適切なサーバサイド構造化言語を使用して、ウェブサーバで処理することができる。本明細書の他の場所で論じられるように、本明細書に論じられる構造化されたコードを任意の適切なデバイスまたはホストマシンで実行することができるとき、ウェブ及びアプリケーションサーバは必要ではなく、単に例示的なコンポーネントであることは理解されるべきである。さらに、単一のデバイスで実行されるように本明細書で説明される操作は、文脈から明らかでない限り、複数のデバイスで全体的に実行されてもよく、それは分散された及び／または仮想システムを形成してもよい。
【００６２】
データストア１３１０は、本開示の特定の態様に関するデータを格納するための、いくつかの別々データテーブル、データベース、データドキュメント、動的データストレージスキーム、及び／またはその他のデータストレージ機構及びメディアを含むことができる。たとえば、示されるデータストアは、生産データ１３１２及びユーザ情報１３１６を格納するための機構を含んでもよく、それは生産側のコンテンツを供給するために使用することができる。データストアはまた、ログデータ１３１４を格納するための機構を含むようにも示され、それは報告、分析、またはその他のそのような目的のために使用することができる。データストアに格納される必要があってもよい、ページ画像情報及びアクセス権情報などの多くのその他の態様があり、それは上記の適切な機構、またはデータストア１３１０の追加の機構のいずれかに格納することができることは理解されるべきである。データストア１３１０は、データストア１３１０に関連するロジックによって、アプリケーションサーバ１３０８からの命令を受信して、それに応じてデータを取得、更新、またはそれ以外では処理するために使用可能である。アプリケーションサーバ１３０８は、受信した命令に応答して、静的データ、動的データ、または動的及び静的データの組合せを提供してもよい。本明細書に説明されるように、ウェブログ（ブログ）、ショッピングアプリケーション、ニュースサービス、及びその他のそのようなアプリケーションで使用されるデータなどの動的データは、サーバサイド構造化言語によって生成されてもよく、または、アプリケーションサーバで動作するまたはその制御下のコンテンツ管理システム（「ＣＭＳ」）によって提供されてもよい。１つの実施例において、ユーザは、ユーザによって作動させられるデバイスを通して、特定のタイプのアイテムの検索要求を提出することがある。この場合、データストアは、ユーザの識別情報を検証するために、ユーザ情報にアクセスすることがあり、そのタイプのアイテムについての情報を取得するために、カタログ詳細情報にアクセスすることができる。次いで情報は、ユーザがユーザデバイス１３０２上のブラウザを介して閲覧することができるウェブページに記載される結果などで、ユーザに返すことができる。関心のある特定のアイテムの情報は、ブラウザの専用ページまたはウィンドウで閲覧することができる。しかし、本開示の実施形態は、ウェブページの文脈に必ずしも制限されるわけではなく、リクエストが必ずしもコンテンツの要求ではない場合に、一般の要求を処理することにより一般的に適用できてもよいことに注意しなければならない。
【００６３】
各サーバは、実行可能プログラム命令をそのサーバの一般的な管理及び操作のために提供するオペレーティングシステムを通常含み、サーバのプロセッサによって実行されるとき、サーバがその意図された機能を実行することを可能にする命令を格納するコンピュータ可読記憶媒体（たとえば、ハードディスク、ランダムアクセスメモリ、読み取り専用メモリなど）を通常含む。オペレーティングシステムの好適な実装及びサーバの一般的な機能は知られている、または市販のものであり、特に本明細書の開示を考慮して、当業者によって確実に実装される。
【００６４】
環境は、１つの実施形態において、１つまたは複数のコンピュータネットワークまたは直接接続を使用する通信リンクを介して相互接続されるいくつかのコンピュータシステム及びコンポーネントを利用する、分散された及び／または仮想コンピューティング環境である。しかし、そのようなシステムは、図１３に示されるよりも少ないまたは多いコンポーネントを有するシステムにおいて、同様に正しく機能することは、当業者によって理解されるであろう。それゆえ、図１３のシステム１３００の描写は、本来は例示的なものと見なすべきであり、本開示の範囲を限定するものではない。
【００６５】
実施形態の第１の組の実施形態は、以下の節を考慮して説明することができる。
１．
コンピューティングリソースサービスプロバイダのマネージドディレクトリサービスの、実行可能命令によって構成される１つまたは複数のコンピュータシステムの制御下で、
前記コンピューティングリソースサービスプロバイダの顧客から、アプリケーションプログラミングインタフェースコールの形態で、前記コンピューティングリソースサービスプロバイダのコンピューティング環境にホストされる前記顧客の隔離仮想ネットワーク内にコンピュータシステムディレクトリを作成するリクエストを受信することと、
リクエストに応答して、作成されたコンピュータシステムディレクトリが、コンピュータシステムディレクトリのドメインに前記仮想ネットワーク内の仮想マシンを少なくとも結合するように構成される、顧客の隔離仮想ネットワークでコンピュータシステムディレクトリを作成することと、前記作成されたコンピュータシステムディレクトリが、前記コンピュータシステムディレクトリのドメインに前記仮想ネットワーク内の仮想マシンを少なくとも加えるように構成される、作成することと、
前記マネージドディレクトリサービスによって、前記顧客に代わって前記作成されたコンピュータシステムディレクトリを管理することと
を含む
コンピュータ実装化方法。
２．
前記作成されたコンピュータシステムディレクトリを管理することが、
前記作成されたコンピュータシステムディレクトリが利用不能の場合に使用可能な、前記作成されたディレクトリのレプリカを作成することと、
前記作成されたコンピュータシステムディレクトリへの修正に従って、前記レプリカ及び前記作成されたディレクトリを同期させることと
を含む、
１項に記載のコンピュータ実装化方法。
３．
前記顧客が、前記顧客のコンピューティング環境に１つまたは複数の顧客コンピュータシステムをホストし、
前記顧客の前記コンピューティング環境が、仮想プライベートネットワーク接続を介して前記隔離仮想ネットワークで通信するように構成され、
前記作成されたコンピュータシステムディレクトリが、前記顧客の前記コンピューティング環境の１つまたは複数の顧客コンピュータシステムを、前記作成されたコンピュータシステムディレクトリに結合するようにさらに構成される、
１項または２項に記載のコンピュータ実装化方法。
４．
前記作成されたコンピュータシステムディレクトリを管理することが、異なる時間に、前記作成されたコンピュータシステムディレクトリのスナップショットを取得することを含む、
１〜３項に記載のコンピュータ実装化方法。
５．
前記作成されたコンピュータシステムディレクトリのスナップショットをとるリクエストを受信すること
をさらに含み、
前記スナップショットの少なくとも１つが、前記コンピュータシステムディレクトリのスナップショットをとる前記リクエストを受信することの結果として取得される、
４項に記載のコンピュータ実装化方法。
６．
１つまたは複数のプロセッサと、
１つまたは複数の前記プロセッサによって実行されるとき、コンピューティングリソースサービスプロバイダの顧客から、前記顧客によって指定される１つまたは複数のパラメータに従って、前記コンピューティングリソースサービスプロバイダのコンピューティング環境にコンピュータシステムディレクトリを作成するリクエストを受信し、作成されたコンピュータシステムディレクトリが、作成されたコンピュータシステムディレクトリに、コンピューティングリソースサービスプロバイダからのコンピューティングリソースを結合するように構成されるように前記コンピューティングリソースサービスプロバイダの前記コンピューティング環境に前記コンピュータシステムディレクトリを少なくとも作成することによって前記受信したリクエストを実行し、前記顧客に代わって前記作成されたコンピュータシステムディレクトリを管理することをシステムにさせる実行可能命令を含むメモリと
を備えるシステム。
７．
前記１つまたは複数のパラメータが、前記コンピューティングリソースサービスプロバイダの前記コンピューティング環境の前記コンピューティングリソースサービスプロバイダによってホストされる前記顧客の仮想ネットワークを指定する、
６項に記載のシステム。
８．
前記システムに前記作成されたコンピュータシステムディレクトリを管理させる前記命令が、前記１つまたは複数のプロセッサで実行されるとき、時間とともに前記作成されたコンピュータシステムディレクトリにもたらされる修正に従って、前記システムに前記作成されたコンピュータシステムディレクトリのレプリカを保守させる命令を含む、
６項または７項に記載のシステム。
９．
前記コンピュータシステムディレクトリが、前記コンピューティングリソースサービスプロバイダの前記コンピューティング環境外側のコンピューティング環境のコンピュータシステムインスタンスを前記作成されたコンピュータシステムディレクトリに結合する機能を備えて作成される、
６〜８項に記載のシステム。
１０．
前記コンピューティングリソースサービスプロバイダの前記コンピューティング環境外側の前記コンピューティング環境が、前記顧客の構内にホストされる、
９項に記載のシステム。
１１．
前記システムに前記作成されたコンピュータシステムディレクトリを管理させる前記命令が、前記１つまたは複数のプロセッサで実行されるとき、前記システムに前記作成されたコンピュータシステムディレクトリを作動させるための実行可能コードにパッチをあてさせる命令を含む、
６〜１０項に記載のシステム。
１２．
前記システムに前記作成されたコンピュータシステムディレクトリを管理させる前記命令が、前記１つまたは複数のプロセッサで実行されるとき、異なる時間に、前記システムに前記作成されたコンピュータシステムディレクトリのスナップショットを取得させる命令を含む、
節１１に記載のシステム。
１３．
前記システムに前記作成されたコンピュータシステムディレクトリを管理させる前記命令が、前記１つまたは複数のプロセッサで実行されるとき、前記システムに、前記取得された複数のスナップショットのうちの取得された１つのスナップショットの前記作成されたコンピュータシステムディレクトリの一バージョンをインスタンス化させる命令を含む、
１２項に記載のコンピュータシステム。
１４．
コンピュータシステムの１つまたは複数のプロセッサで実行されるとき、前記コンピュータシステムに少なくとも
コンピューティングリソースサービスプロバイダの顧客から、前記顧客によって指定される１つまたは複数のパラメータに従って、前記コンピューティングリソースサービスプロバイダのコンピューティング環境にコンピュータシステムディレクトリを作成するリクエストを受信させ、
前記コンピューティングリソースサービスプロバイダの前記コンピューティング環境に前記コンピュータシステムディレクトリを少なくとも作成することによって前記受信したリクエストを満たし、その結果、前記作成されたコンピュータシステムディレクトリが、前記作成されたコンピュータシステムディレクトリに、前記コンピューティングリソースサービスプロバイダからのコンピューティングリソースを結合するように構成させ、
前記顧客に代わって前記作成されたコンピュータシステムディレクトリを管理させる
集合的に格納された実行可能命令を有する、
非一時的コンピュータ可読記憶媒体。
１５．
前記１つまたは複数のパラメータが、前記コンピューティングリソースサービスプロバイダの前記コンピューティング環境の前記コンピューティングリソースサービスプロバイダによってホストされる前記顧客の仮想ネットワークを指定する、
１４項に記載の非一時的コンピュータ可読記憶媒体。
１６．
前記１つまたは複数のパラメータが、前記ディレクトリが作成される前記指定された仮想ネットワークのサブネットワークを指定する、
１４項または１５項に記載の非一時的コンピュータ可読記憶媒体。
１７．
前記コンピュータシステムに前記作成されたコンピュータシステムディレクトリを管理させる前記命令が、前記１つまたは複数のプロセッサで実行されるとき、前記コンピュータシステムに前記作成されたコンピュータシステムディレクトリ上で管理操作を実行するアプリケーションプログラミングインタフェースコールを受信させ、満たさせる命令を含む、
１４〜１６項に記載の非一時的コンピュータ可読記憶媒体。
１８．
前記コンピュータシステムに前記作成されたコンピュータシステムディレクトリを管理させる前記命令が、前記１つまたは複数のプロセッサで実行されるとき、前記コンピュータシステムにフェールオーバイベントで使用するための前記作成されたコンピュータシステムディレクトリのレプリカを同期させる命令を含む、
１４〜１７項に記載の非一時的コンピュータ可読記憶媒体。
１９．
前記コンピュータシステムディレクトリが、前記コンピューティングリソースサービスプロバイダと異なるエンティティによってホストされるコンピューティング環境の前記作成されたコンピュータシステムディレクトリのコンピュータシステムインスタンスに結合する機能を備えて作成される、
１４〜１８項に記載の非一時的コンピュータ可読記憶媒体。
２０．
前記コンピュータシステムに前記作成されたコンピュータシステムディレクトリを管理させる前記命令が、前記１つまたは複数のプロセッサで実行されるとき、前記コンピュータシステムに前記作成されたコンピュータシステムディレクトリを操作するために使用される実行可能コードへの更新を実行させる命令を含む、
１４〜１９項に記載の非一時的コンピュータ可読記憶媒体。
【００６６】
＜実施形態の第２の組＞
本出願の以下の部分は、マネージドディレクトリサービスのための技術の実施形態の第２の組を説明する。
【００６７】
実施形態の第２の組は、図面の第２の組を参照して説明される。
【００６８】
以下の説明において、さまざまな実施形態が説明される。解説の目的上、特定の構成及び詳細が、実施形態の詳細な理解を提供するために示される。しかし、特定の詳細なしで実施形態を実施してもよいことも、当業者にとって明らかである。さらにまた、実施形態が説明することを不明確にしないために、既知の特徴は省略または簡略化されてもよい。
【００６９】
本明細書で説明及び提案される技術は、分散及び／または仮想化されたコンピュータシステム上のローカル及び／またはリモートリソースならびにその上で動作する実行可能コードを管理する方法、システム、及びプロセスを含む。特に、ユーザ、サービス、プロセス、アプリケーション、クライアントデバイス、ゲストオペレーティングシステム及び／またはその他のそのようなコンピュータシステムエンティティを含むがこれに限定されないコンピュータシステムエンティティによる及びそれらのための、ディレクトリ、ファイルシステム、ファイル、ユーザ、セキュリティポリシー、ネットワークリソース、アプリケーション、システムストレージなどシステムリソースへのアクセスを容易にするかつ管理するシステム機能を利用するための技術が開示される。分散及び／または仮想化されたコンピュータシステムは、より良好なシステム性能、システムリソースへのより良好なアクセス、システムリソースの高可用性、より良好なデータセキュリティ、より良好なユーザセキュリティ、及び／またはその他のそのようなシステムの利益を促進するために、ローカル及び／またはリモートのシステムリソースの効率的な管理によって利益を得ることができる。
【００７０】
例示的な実施例において、分散及び／または仮想化されたコンピュータシステムは、ディレクトリサービスを含むがこれに限定されない１つまたは複数のコンピュータシステムサービスを有してもよく、特定のデータセンタに位置するディレクトリサービスと関連するユーザリソース、ポリシーリソース、ネットワークリソース、ストレージリソース、及び／またはその他のそのようなリソースなどの、１つまたは複数のシステムリソースを有してもよい。ディレクトリサービス、ならびにディレクトリサービスと関連するユーザリソース、ポリシーリソース、ネットワークリソース、ストレージリソース、及び／またはその他のそのようなリソースなどのシステムリソースは、システムリソース、コンピュータシステムリソース、サービス及びリソース、サービス及び／またはリソース、あるいはリソースとしてさまざまに、本開示の本明細書において集合的に呼ばれてもよい。これらのサービス及び／またはシステムリソースへのアクセスは、１つまたは複数のユーザアカウントと関連する１組の認証証明書を介してでもよい。いくつかの実施形態において、接続証明書は、ユーザ名、パスワード、キーフレーズ、生体認証デバイス、ハードウェアキー、仮想ハードウェアキー、及びその他のそのような認証及び／または認可証明書などの証明書を含んでもよい。いくつかの実施形態において、ローカル顧客データセンタは、データセンタ内のシステムリソースへのネットワークアクセスのためのローカル証明書を必要としてもよい。たとえば、コンピュータリソースサービスプロバイダで動作していてもよいサービスは、ローカルシステムリソースへのアクセスを必要としてもよいが、データセンタ内のシステムリソースへアクセスするためのローカル証明書を有することはできない。１組のリソースへの臨時の証明書及びリンクを介したローカルシステムリソースへのアクセスを提供できるサービスが、アクセスを容易にしてもよい。そのようなサービスは、作成、破棄、接続、拡張する操作、及び／またはその他のそのような管理操作を提供することによって、ローカルシステムリソースの管理を支援してもよい。そのような管理操作は、いくつかの実施形態において、認証及び認可を管理してもよいポリシーサブシステムによって容易にされてもよい。いくつかの実施形態において、ローカル及び／またはリモートサービスのローカルシステムリソースを管理するシステムはまた、ローカル及び／またはリモートサービスのリモート及び／またはローカル及びリモートが混在するシステムリソースを管理するように構成されてもよい。
【００７１】
本明細書で説明及び提案される技術は、ディレクトリサービスなどのコンピュータシステムサービス、ならびにディレクトリサービスと関連するユーザリソース、ポリシーリソース、及び／またはストレージリソースなどのリソースの実装及び管理に関連する技術を含む。いくつかの実施形態において、マネージドディレクトリサービスは、コンピュータシステム上のシステムユーザ、リソース、ポリシー、ネットワークアクセス、及び／またはセキュリティを管理する機能を含んでもよいディレクトリ・アズ・ア・サービス（ＤａａＳ）の機能を提供するように構成されてもよい。いくつかの実施形態において、マネージドディレクトリサービスは、分散及び／または仮想化されたコンピュータシステムのインスタンスによるそのような機能へのアクセスを管理するようにも構成されてもよく、その他の関連する分散及び／または仮想化されたコンピュータシステムサービスによるそのような機能へのアクセスを管理するようにも構成されてもよい。
【００７２】
たとえば、ユーザは、コンピューティングリソースサービスプロバイダ内に仮想マシン（ＶＭ）インスタンスを作成し、それにアクセスしてもよく、それはコンピューティングリソースサービスプロバイダによって管理できない顧客構内に格納されるシステムリソースへのアクセスを必要としてもよい。コンピューティングリソースサービスプロバイダ上で動作するマネージドディレクトリサービスは、取得した証明書を介して顧客構内ディレクトリにアクセスするように構成されてもよく、ＶＭインスタンスに顧客構内リソースへのアクセスを提供するようにも構成されてもよい。いくつかの実施形態において、その他のそのようなコンピューティングリソースサービスプロバイダサービスも、顧客構内リソースへのアクセスが提供されてもよく、その結果、たとえば、ブロックデータストレージサービスが、顧客構内のディレクトリに格納されるデータにアクセスしてもよく、または、弾性のロードバランサが、それが作成する各インスタンスのために、顧客構内のアプリケーションをインスタンス化してもよく、または、データウェアハウスが顧客構内ファイルシステムにアクセスし、リモート位置に自動的にバックアップしてもよい。
【００７３】
いくつかの実施形態において、マネージドディレクトリサービスは、コンピュータシステムに代わってユーザアクセス、ポリシー、記憶装置、アプリケーション、セキュリティ、及び／またはその他のそのようなリソースなどのディレクトリサービスを管理するように構成され、それらのディレクトリサービスへのインタフェースとしても構成されてもよい。マネージドディレクトリサービスは、企業ディレクトリなどのディレクトリのためのディレクトリサービスを管理するように構成されてもよい。ディレクトリは、ディレクトリのさまざまなオブジェクトについての情報のデータベースを含有してもよい。オブジェクトは、リソース及びセキュリティプリンシパルに対応してもよく、したがって、ユーザアクセスオブジェクト、ポリシーオブジェクト、ストアオブジェクト、アプリケーションリンクオブジェクト、セキュリティオブジェクト、及び／またはその他のそのようなオブジェクトを含有してもよい。ディレクトリデータベースはそれらのデータベースオブジェクト間の関係も含んでもよく、その結果、ディレクトリはたとえば、どのユーザがどの記憶装置へのアクセスを有するかを管理するために使用できる。
【００７４】
マネージドディレクトリサービスは、ディレクトリの作成を含むがこれに限定されない、そのようなサービスを提供してもよい。マネージドディレクトリサービスは、コンピューティングサービスリソースプロバイダ内、顧客構内、あるいはそれら及び／またはその他のそのような位置の組合せ内に、企業ディレクトリ、ＤａａＳ、及び／またはその他のそのようなディレクトリを含むがこれらに限定されないディレクトリを作成してもよい。コンピューティングサービスリソースプロバイダ内で作成されるディレクトリは、コンピューティングサービスリソースプロバイダで動作する仮想マシン内のスタンドアロンディレクトリとして作成されてもよく、または、それらはコンピューティングサービスリソースプロバイダのプライベート及び／または異なる限定サブセット内に位置するプライベートディレクトリとして作成されてもよい（たとえば、仮想ネットワーク及びそのトポロジに（たとえば、アプリケーションプログラミングインタフェース（ＡＰＩ）コールによって）仕様を提供している顧客の代わりに、コンピューティングリソースサービスプロバイダによってホストされ、管理される仮想ネットワーク）。ディレクトリを作成するとき、マネージドディレクトリサービスはディレクトリと関連するさまざまな追加のリソースを作成し、リソースを管理及び／またはディレクトリに提供してもよく、また、いくつかの実施形態において、サービス障害、待ち時間問題、及び／またはその他のそのようなサービス関連の問題に対する追加の保護及び冗長性を提供してもよい。たとえば、ディレクトリは、ディレクトリのサーバとしての機能を果たすように構成されてもよい１つまたは複数のマシンインスタンスで作成されてもよく、または、ディレクトリにアドレス解決を提供する１つまたは複数のルーティングサービスで作成されてもよく、または、さまざまなその他のそのようなサービス及び／またはリソースで作成されてもよい。いくつかの実施形態において、コンピューティングサービスリソースプロバイダ内に作成されるディレクトリは、多領域分散及び／または仮想化システムの複数の領域内に、追加のリソース及び／またはエンティティを作成してもよく、及び／または、マルチドメイン分散及び／または仮想化システムの異なるサブドメイン内に、追加のリソースを作成してもよい。
【００７５】
いくつかの実施形態において、企業ディレクトリにおけるもののような既存の顧客ディレクトリ管理システムとインタフェースし、それらのディレクトリ管理システムから分散及び／または仮想化されたコンピュータシステムサービスまでセキュリティ及び／またはその他のそのようなポリシーを拡張するように、マネージドディレクトリサービスは構成されてもよい。このような実施形態において、ディレクトリリソースは、クライアントアプリケーション、プログラム、サービス、プロセス、及び／またはその他のそのようなコンピュータシステムエンティティによって呼び出されてもよい１つまたは複数のライブラリに含まれる１つまたは複数のＡＰＩコールを提供し、ディレクトリリソース上での、構成、変更、管理、及び／またはその他のそのような操作を少なくとも可能にすることができる。いくつかの実施形態において、顧客ディレクトリ管理システムはたとえば、特定の部門のユーザの、アプリケーションの特定の組合せ、ストレージ位置の特定のサブセット、特定のネットワークリソース、及び／または特定のレベルのセキュアなアクセスへのアクセスを可能にしてもよい。マネージドディレクトリサービスは、ＶＭインスタンス、ならびにその特定の部門のユーザによって分散及び／または仮想化されたコンピュータシステム上でインスタンス化されるその他のそのようなサービスにこれらのポリシーを拡張してもよい。いくつかの実施形態において、マネージドディレクトリサービスは、透過的に及び／または自動的に、そのようなポリシーを拡張してもよく、その結果、たとえば、特定の部門からのユーザのためにまたはその代わりにインスタンス化される仮想マシンインスタンスは、その場のすべての必要なシステム及びすべてのセキュリティ及び／またはすでに適用されているその他のポリシーでインスタンス化されてもよい。
【００７６】
マネージドディレクトリサービスはまた、顧客構内からコンピューティングリソースサービスプロバイダまで特定のリソースの可用性を拡張するように構成されてもよい。顧客構内に位置するファイルシステム及び／またはディレクトリなどのリソースは、たとえば、適切な証明書が示されるときにリソースにリンクを提供することによって、コンピューティングリソースサービスプロバイダ上で動作するサービスに対して利用可能にされてもよい。いくつかの実施形態において、たとえば、そのようなリンクは、ネットワークの複雑さまたはコンピューティングリソースサービスプロバイダホストマシンと顧客構内との間の著しい距離のために許容できない待ち時間を導入してもよい。マネージドディレクトリサービスは、コンピューティングリソースサービスプロバイダに対してシステムリソースを少なくとも部分的に拡張し、拡張されたシステムリソースへの読み取り及び／または書き込みに対して待ち時間の短いアクセスを提供し、同時に、顧客構内のオリジナルリソースとコンピューティングリソースサービスプロバイダ上の拡張されたリソースとの間の同期を管理することによって、この許容できない待ち時間に対処するように構成されてもよい。マネージドディレクトリサービスは、拡張されたシステムリソースへの読み取り専用アクセスを提供してもよく、または、いくつかの実施形態において、拡張されたシステムリソースへの読み書きアクセスを提供してもよい。読み取り／書き込みアクセスが提供されてもよいいくつかの実施形態において、顧客構内システムリソースはマスタに指定されてもよく、または、拡張されたシステムリソースプロバイダがマスタに指定されてもよく、または、２つのリソースは、たとえば書き込みの衝突が生じた場合に、どちらが権限を有するかを取り決めてもよい。いくつかの実施形態において、リソースは、複数のコンピューティングリソースサービスプロバイダ、コンピューティングリソースサービスプロバイダ内の複数の領域、複数の顧客構内、あるいはこれら及び／またはその他のそのような位置の組合せを含むがこれらに限定されない複数の位置に拡張されてもよい。
【００７７】
マネージドディレクトリサービスは、特定のリソースを顧客構内からコンピューティングリソースサービスプロバイダに移動するようにも構成されてもよく、特定のリソースをコンピュータサービスリソースプロバイダから顧客構内に戻すようにも構成されてもよい。マネージドディレクトリサービスは、たとえば、バックアップの作成、冗長性の作成、及び／またはその他のそのような目的のために、コンピュータシステムリソースの完全な及び／または部分的なスナップショットを作成するように構成されてもよい。たとえば、本明細書で説明される拡張操作は、いくつかの実施形態において、マネージドディレクトリサービスの機能を利用して、少なくとも部分的なスナップショットを作成し、顧客構内からコンピューティングリソースサービスプロバイダにそのスナップショットをコピーすることによって、スナップショットを作成してもよい。マネージドディレクトリサービスはまた、いくつかの実施形態において、コンピュータシステムリソースの完全スナップショットを作成してもよく、次いで、そのスナップショットを顧客構内からコンピューティングリソースサービスプロバイダへ、またはコンピュータリソースサービスプロバイダから顧客構内へコピーしてもよい。次いで、元のコンピュータシステムリソースにアクセスしていたコンピュータサービスの１つまたは複数は、異なる位置のコピーにアクセスするように変更されてもよい。いくつかの実施形態において、そのような移動は、特定のリソースの負荷の減少、リソースの特定の集中化した位置への移動、または、その他のそのような目的に役立ってもよい。
【００７８】
図１４は、ディレクトリサービス（単に「コンピュータシステムディレクトリ」または「ディレクトリ」と呼ばれる）、ならびに、分散及び／または仮想化されたコンピュータシステム環境における、ユーザリソース、ポリシーリソース、ネットワークリソース、及び／またはストレージリソースを含むがこれらに限定されないそのようなディレクトリサービスと関連するリソース、ならびに、少なくとも１つの実施形態に従って、その上で動作する関連するコードなどの、コンピュータシステムディレクトリリソースにアクセスするための環境１４００を示す。コンピュータシステムエンティティ、ユーザ、またはプロセス１４０２は、コンピュータシステムクライアントデバイス１４０４を通ってコンピュータシステムに接続してもよく、１つまたは複数のコンピュータシステムサービス１４１０への接続１４０８を介してアクセスをリクエストしてもよい。いくつかの実施形態において、サービスへのアクセスをリクエストするコマンド（単数または複数）は、外部のコンピュータシステム及び／またはサーバから発生してもよく、または、リモートネットワーク位置のエンティティ、ユーザ、またはプロセスから発生してもよく、または、コンピュータシステムから発生してもよく、または、コンピュータシステムクライアントデバイスのユーザから発生してもよく、または、これら及び／またはその他のそのようなオブジェクトの組合せの結果として発生してもよい。サービスへのアクセスをリクエストするコマンド（単数または複数）は、いくつかの実施形態において、信頼されたユーザによって、あるいは、ユーザによって、あるいは、自律的プロセスによって、あるいは、アラーム及び／またはその他のそのような状態の結果として、あるいは、これら及び／またはその他のそのような方法の組合せによって、発行されてもよい。
【００７９】
サービス（単数または複数）は、仮想マシン（ＶＭ）インスタンス、自動スケーリンググループ、ファイルベースデータベースストレージシステム、ブロックストレージサービス、冗長データストレージサービス、データアーカイブサービス、データウェアハウジングサービス、ユーザアクセス管理サービス、コンテンツ管理サービス、及び／またはその他のそのようなコンピュータシステムサービスなどのコンピュータサービスへのアクセスを提供してもよいコンピューティングリソースサービスプロバイダ１４０６上で動作していてもよい。コンピューティングリソースサービスプロバイダ１４０６また、ディレクトリサービスなどのコンピュータシステムサービス、ならびに、ディレクトリサービスと関連するユーザリソース、ポリシーリソース、ネットワークリソース、及び／またはストレージリソースなどのリソースへのアクセスを提供してもよい。いくつかの分散及び／または仮想化されたコンピュータシステム環境において、コンピュータサービスと関連するリソースは、物理デバイス、仮想デバイス、物理及び／または仮想デバイスの組合せ、あるいはその他のそのようなデバイスの実施形態でもよい。
【００８０】
コンピューティングリソースサービスプロバイダの１つまたは複数のサービス１４１０は、いくつかの実施形態において、ディレクトリサービスならびにディレクトリサービスと関連するユーザリソース、ポリシーリソース、ネットワークリソース、及び／またはストレージリソースなどのリソースを含むがこれらに限定されない１つまたは複数のディレクトリリソースへのアクセスを必要としてもよい。いくつかの実施形態において、ディレクトリへのアクセスは、１つまたは複数のＡＰＩコールを使用して、ディレクトリを作成するリクエストを受信することを含んでもよい。いくつかの実施形態において、ディレクトリは、コンピューティングリソースサービスプロバイダ内、または、顧客構内データセンタ内、または、コンピューティングリソースサービスプロバイダ内の隔離仮想ネットワーク内、または、隔離仮想ネットワークのサブネット内、または、顧客構内データセンタ内の仮想ネットワーク内、または、いくつかのその他のそのような位置の中で作成されてもよい。いくつかの実施形態において、ディレクトリへのアクセスは、クライアントに代わって及び／または顧客に代わってディレクトリを管理する操作などの、ディレクトリでのその他の操作を含んでもよい。
【００８１】
システムリソース（単数または複数）が、顧客構内に位置するオンプレミスディレクトリなどのローカルシステムリソース１４１６でもよいいくつかの実施形態において、コンピュータサービスリソースプロバイダは、たとえば、ユニフォームリソース識別子（ＵＲＩ）またはディレクトリノード１４２０を介したいくつかのその他のそのようなリンクによるなどの、１つまたは複数の１４１４のリンクまたはロケータを介して１つまたは複数のリソースにアクセスしてもよい。ディレクトリノード１４２０は、オンプレミスディレクトリ１４１６などのシステムリソースから、接続リンク１４２２を提供してもよい。オンプレミスディレクトリは、いくつかの実施形態において、オンプレミス接続１４１８を介してコンピュータシステムデバイスに接続してもよい。いくつかの実施形態において、ディレクトリノードは、ローカルシステムディレクトリリソースからディレクトリノードへ状態及び／またはや構成の少なくとも一部をコピーすることによって、ローカルシステムディレクトリリソースから作成されてもよい。
【００８２】
いくつかの実施形態において、ＵＲＩ１４１４などのリンクは、１つまたは複数のリンクまたはロケータを介して１つまたは複数のコンピュータシステムサービスに、コンピュータシステムリソースへのアクセスを少なくとも提供するように構成されてもよいマネージドディレクトリサービス１４１２などの、コンピューティングリソースサービスプロバイダ上で動作するサービスによって管理されてもよい。リンクは、コンピューティングリソースサービスプロバイダ内で動作するプロセスによって、あるいは、顧客構内内で動作するプロセスによって、あるいは、コンピューティングリソースサービスプロバイダに接続されたコンピュータシステム上で動作するプロセスによって、あるいは、顧客構内に接続されたコンピュータシステム上で動作するプロセスによって、あるいは、マネージドディレクトリサービスによって、あるいは、これら及び／またはその他のそのようなコンピュータシステムエンティティの組合せによって、提供されてもよい。いくつかの実施形態において、マネージドディレクトリサービスのリンク及び／またはロケータを提供及び／または管理するプロセス（単数または複数）、ならびに、マネージドディレクトリサービスに関連するかつ／またはそのコントロール下にあるその他のプロセスは、コンピュータシステムエンティティ上で実行されてもよく、ならびに／あるいは、コンピューティングリソースサービスプロバイダ内で、または、顧客構内で、または、これら及び／またはコンピューティングリソースサービスプロバイダのその他のそのようなローカル及び／またはリモート位置の組合せにおいて、コンピュータシステムリソースを使用してもよい。
【００８３】
図１５は、ディレクトリサービスなどのコンピュータシステムサービス、ならびに、分散及び／または仮想化されたコンピュータシステム環境における、ディレクトリサービスと関連するユーザリソース、ポリシーリソース、ネットワークリソース、及び／またはストレージリソースなどのリソース、ならびに、少なくとも１つの実施形態に従って、その上で動作する関連コードを含むがこれらに限定されないコンピュータシステムディレクトリリソースにアクセスするための環境１５００を示す。コンピュータシステムエンティティ、ユーザ、またはプロセス１５０２は、コンピュータシステムクライアントデバイス１５０４を通してその他のコンピュータシステムに接続してもよく、１つまたは複数のサービス１５２６への接続１５０６を介してアクセスをリクエストしてもよい。サービスへのアクセスをリクエストするコマンド（単数または複数）は、外部のコンピュータシステム及び／またはサーバから発生してもよく、または、リモートネットワーク位置のエンティティ、ユーザ、またはプロセスから発生してもよい。サービスへのアクセスをリクエストするコマンド（単数または複数）は、いくつかの実施形態において、特権ユーザによって、あるいは、非特権ユーザによって、あるいは、自律的プロセスによって、あるいは、アラームまたは状態の結果として、あるいは、これら及び／またはその他の方法の組合せによって、発行されてもよい。
【００８４】
コンピュータシステムクライアントデバイス１５０４は、１つまたは複数のネットワーク１５１６及び／または、直接または間接的にそのネットワークに接続されたその他のサーバなどのネットワーク１５１６に関連するエンティティを介してサービスへのアクセスをリクエストしてもよい。上記のように、アクセスは、さまざまな構成及び位置のディレクトリを作成する機能、ならびに、その他のディレクトリ管理操作にアクセスする機能を含んでもよい。いくつかの実施形態において、ディレクトリは、仮想マシン及び／またはその他のクライアントがディレクトリのドメインに参加してもよいように作成及び構成されてもよく、それによって、ディレクトリにアクセスする。たとえば、ディレクトリはコンピューティングリソースサービスプロバイダ内で作成されてもよくて、仮想マシン及び／またはその他のクライアントが必要に応じてディレクトリと結合することを可能とするように構成されてもよい。ディレクトリへのアクセスを必要としてもよいクライアントは、１つまたは複数の認証された接続及び／または１つまたは複数の認可されたＡＰＩコールを使用してディレクトリのドメインに参加することによって、そうしてもよい。コンピューティングリソースサービスプロバイダ内に作成されるディレクトリは、いくつかの実施形態において、隔離仮想ネットワーク内、または、隔離仮想ネットワークのサブネット内に作成されてもよい。隔離仮想ネットワークは、コンピューティングリソースサービスプロバイダの、顧客が構成する隔離サブセクションであり、コンピュータリソースサービスプロバイダ内でその他のサービスに直接アクセス可能ではない、セキュアかつ隔離された仮想ネットワーク環境の顧客に、１つまたは複数のコンピューティングリソースサービスプロバイダサービスを提供する。隔離仮想ネットワークの中で作成されるリソースへのアクセスは、隔離仮想ネットワーク内のその他のサービス及びエンティティのみ利用可能でもよく、リソースが隔離仮想ネットワークのサブネット内に作成される一実施形態において、リソースは、そのサブネット内のその他のサービス及びエンティティのみ利用可能でもよい。
【００８５】
ディレクトリへのアクセスをリクエストしてもよいコンピュータシステムクライアントデバイス１５０４は、ネットワークを介してコンピュータシステムと接続することが可能である任意のデバイスを含んでもよく、それらは、少なくともサーバ、ラップトップ、スマートフォンまたはタブレットなどのモバイルデバイス、スマートウォッチ、スマートテレビ、セットトップボックス、ビデオゲームコンソール、及びその他のそのようなネットワーク使用可能なスマートデバイスなどのその他のスマートデバイス、分散型コンピューティングシステム及びそれらのコンポーネント、ゲストコンピュータシステムまたは仮想マシンなどの抽象化コンポーネント、ならびに／あるいは、その他のタイプのコンピューティングデバイス及び／またはコンポーネントを含む。ネットワークはたとえば、ローカルネットワーク、内部ネットワーク、インターネットなどの公衆ネットワーク、広域ネットワーク、ワイヤレスネットワーク、モバイルネットワーク、衛星ネットワーク、複数のネットワークノードを有する分散型コンピューティングシステムなどを含んでもよい。ネットワークはまた、以下に掲げる、ブルートゥース、ＷｉＦｉ、携帯電話ネットワークプロトコル、衛星ネットワークプロトコル、及び／またはその他などのさまざまなプロトコルに従って動作してもよい。
【００８６】
いくつかの実施形態において、顧客構内は、１つまたは複数のディレクトリ１５０８を含んでもよく、それは少なくとも部分的に顧客構内に位置してもよく、それはファイル、ならびに／あるいは、ディレクトリ、アプリケーション、データ、データベース、その他のコンピュータシステムリソースへのリンク、システムドライバ、コンピュータオペレーティングシステム、仮想マシン、及び／またはその他のそのようなリソースを含むがこれらに限定されない、その上のその他のコンピュータシステムリソースを保存してもよい。いくつかの実施形態において、コンピュータシステムリソースは、ファイルシステムリソースでもよく、システムランダムアクセスメモリ（ＲＡＭ）、ディスクドライブ、ソリッドステートドライブ、リムーバブルドライブ、あるいはこれら及び／またはその他のそのようなストレージデバイスの組合せなどの、さまざまなストレージデバイスに保存されてもよい。いくつかの実施形態において、コンピュータシステムリソースは、たとえば本明細書で説明されるネットワーク接続などの１つまたは複数の接続を介して、コンピュータシステムクライアントデバイス１５０４によってアクセスされてもよいデータセンタ（複数のコンピュータシステムリソース、サービス、及び／またはストレージデバイスを一箇所に置くことができる）に少なくとも一部が位置してもよい。コンピュータシステムリソース及び／またはデータセンタはローカルに位置してもよく、ローカルとリモートの組み合わせで位置してもよい。たとえば、いくつかの実施形態において、ファイルシステム及び／またはディレクトリは、ローカルデータセンタに位置するディスク上に位置してもよく、ファイルシステム及び／またはディレクトリのコンテンツも、リモートデータセンタに位置するディスクに再現されてもよい。いくつかの他の実施形態において、ファイルシステム及び／またはディレクトリは、ローカルでもよい（すなわちデータセンタ内にホストされる））１つのデータセンタにそのコンテンツの少なくとも一部を配置しまたローカルまたはリモートでもよい１つまたは複数のその他のデータセンタにそのコンテンツのその他の部分を配置してもよい。ストレージデバイスは、本明細書に説明されるような物理デバイス、及び／またはそのような物理デバイスの仮想表現を含んでもよい。たとえば、ファイルシステム及び／またはディレクトリストレージデバイスは、いくつかの量の物理メモリを含んでもよく、その一部は、仮想ディスクドライブ上に作成されるファイルシステムを有する仮想ディスクドライブとしてのストレージ専用である。その他のそのようなストレージデバイスが、本開示の範囲内であると見なしてもよい。
【００８７】
いくつかの実施形態において、サービス１５２６は、本明細書に説明されるような１つまたは複数のコンピュータシステムディレクトリリソースへのアクセスを必要としてもよい。サービス１５２６は、いくつかの実施形態において、ユーザ、その他のコンピュータシステム、プロセス及び／または自動化プロセス、ならびに／あるいはその他のそのようなコンピュータシステムエンティティを含むがこれらに限定されないさまざまなその他のコンピュータシステムエンティティを含んでもよい。サービスによるディレクトリへのアクセスは、いくつかの実施形態において、マネージドディレクトリサービス１５１８などのサービスによって提供されてもよく、それは１つまたは複数のシステムリソースへのアクセスを提供してもよい。たとえば、ディレクトリ１５０８は、コンピューティングリソースサービスプロバイダ内で、または、顧客構内のデータセンタ内で、または、いくつかのその他のそのような位置の中で、マネージドディレクトリサービス１５１８によって作成されてもよい。ディレクトリがマネージドディレクトリサービスによって作成されると、マネージドディレクトリサービスは、ディレクトリと結合することを望むことがある、または、ディレクトリで認可されたコマンドを実行することを望むことがある、または、その他のディレクトリ管理操作を実行することを望むことがあるサービスにＵＲＩ１５１４を提供することによって、ディレクトリへのアクセスを提供することができる。マネージドディレクトリサービス１５１８は、コンピュータシステム及び／またはコンピュータシステムクライアントデバイスが、認証１５２０、認可１５２２、及びディレクトリサービス１５２４を介して意図されるディレクトリ管理のためのアクセスを含むがこれに限定されないディレクトリの管理を行うことを可能にするさまざまなサービスを提供してもよい。
【００８８】
たとえば、マネージドディレクトリサービスは、ユーザ、コンピュータシステム、プロセス、自動化プロセスまたはその他のそのようなエンティティの証明書を認証できる１５２０認証サービスを提供し、そのエンティティが、たとえば、ディレクトリを作成する、ディレクトリのドメインに参加する、ディレクトリ及び／またはその他のそのようなディレクトリ管理機能を拡張するためにマネージドディレクトリサービスにアクセスすることが認可されるかどうかを少なくとも決定してもよい。いくつかの実施形態において、証明書は、マネージドディレクトリサービス自身によって認証されてもよく、または、それらは、マネージドディレクトリサービスの制御下のプロセス、プログラム、またはサービスによって認証されてもよく、または、それらは、マネージドディレクトリサービスが通信できるプロセス、プログラム、またはサービスによって認証されてもよく、または、それらは、これら及び／あるいはその他のそのようなサービスまたはエンティティの組合せによって認証されてもよい。
【００８９】
マネージドディレクトリサービス１５１８はまた、ユーザ、コンピュータシステム、プロセス、自動化プロセスまたはその他のそのようなエンティティを認可できる１５２２認可サービスを提供し、そのエンティティがマネージドディレクトリサービスによって管理されるディレクトリに関連して、１つまたは複数の可能なアクションのうちのどのアクションを実行できるかを少なくとも決定してもよい。たとえば、エンティティがディレクトリでの実行を認可されてもよくまたは認可することができないアクションは、ディレクトリの作成、ディレクトリを含む１組のディレクトリの説明、ディレクトリの削除、ディレクトリの別のディレクトリへの拡張、ディレクトリのスナップショットについての情報の作成及び／または提供、ディレクトリのスナップショットの削除、ディレクトリのスナップショットからのディレクトリのリストア、ディレクトリと関連するタグの管理（追加／削除）、ディレクトリのＵＲＩのエイリアスの作成、エイリアスが利用可能かどうかの確認、ならびに／あるいは、ディレクトリのＵＲＩのエイリアスの削除を含むが、これらに限定されるものではない。ディレクトリが作成されると、ディレクトリの管理者は、作成されたディレクトリで、ディレクトリでの操作を実行することができる。たとえば、管理者は、ファイルシステムの作成、ファイルシステムの破棄、ファイルシステムへの取付け、ファイルシステムからの取り外し、ファイルシステムへのアクセスリンクの提供、ファイルシステムへのアクセスリンクの返還要求、ファイルシステムからの読み取りの許可、ファイルシステムへの書き込みの許可、及び／または、その他のそのようなファイルシステムリソースアクションなどのアクションを実行できる。
【００９０】
システムリソース上のアクションは、ディレクトリ、ファイル、アプリケーション、データ、データベース、その他のリソースへのリンク、システムドライバ、オペレーティングシステム、仮想マシン、及び／またはその他のそのようなその上のシステムリソースオブジェクトでのアクションを含むが、これらに限定されるものではなくてもよく、本明細書に言及されるアクションのようなアクションを含んでもよい。システムリソースの開始、停止、返還要求、破棄、及び／またはそれ以外の管理を行うアクション、ならびに、その他のそのようなアクションが、利用可能なアクションに含まれてもよい。アクションを実行する認可は、たとえば、特定のエンティティに関連する１組の証明書及び／またはポリシーを保守するシステムなどの証明書発行またはポリシーシステムなどのエンティティによって管理されてもよく、少なくとも一部において証明書及び／またはポリシーの組に基づいて、エンティティが実行を認可されるアクションを決定してもよい。エンティティが実行を認可されてもよいアクションは、静的でもよく、または、時刻、証明書のタイプ、システムポリシー、性質、アクセスされるオブジェクトのタイプまたは位置、あるいは、これら及び／またはその他のそのような認可要因の組合せを含むがこれらに限定されない複数の要因によって変化してもよい。たとえば、コンピュータシステムエンティティは、ファイルシステムの特定のファイルの読み取りのみ、ファイルシステムの特定のその他のファイルの読み取り及び書き込み、ならびに、ファイルシステムの特定のその他のファイルの追加及び削除を認可されてもよい。異なるコンピュータシステムエンティティが、ファイルシステム上の任意のアクションの実行を認可されてもよいが、それは、それらのアクションが特定の位置から、そして特定の時間に開始される場合のみである。１つまたは複数のプロセスは、システムログなどのファイルシステム上のファイルへの書き込みのみ認可されてもよく、同時に、その他のプロセスが、そのファイルからの読み取りのみ認可されてもよい。意図されるように、これらは例示的な実施例である。マネージドディレクトリサービス認可システムによって認可されてもよいようなその他のタイプの操作および、そのようなその他の操作も、本開示の範囲内であると見なされる。
【００９１】
マネージドディレクトリサービスはまた、認可証明書及び／またはポリシーに従って、コンピュータシステムリソースへの認証されたエンティティアクセス１５１４を提供できる１５２４ディレクトリサービスを提供してもよい。たとえば、コンピュータシステムエンティティがファイルシステムリソースなどのコンピュータシステムリソース上での特定のデータストアの読み書きが認可されてもよい実施形態において、それを行う機能が、ディレクトリサービスによって提供されてもよい。ディレクトリサービスは、ＵＲＩオブジェクトまたはいくつかのその他のそのようなリンケージによるなど、ファイルシステムリソース位置にリンクを提供することによって、ファイルシステムリソースへのアクセスを提供してもよい。ＵＲＩは、コンピュータシステムクライアントデバイスによって、あるいは、データセンタで動作するプロセスによって、あるいは、データセンタに接続されたコンピュータシステム上で動作するプロセスによって、あるいは、マネージドディレクトリサービスによって、あるいは、これら及び／またはその他のそのようなコンピュータシステムエンティティの組合せによって、提供されてもよい。
【００９２】
いくつかの実施形態において、コンピュータシステムリソースへのアクセスは、アクセスがリクエスト側エンティティに透過的であるような方法で提供されてもよい。たとえば、アクセス１５３４は、オンプレミスディレクトリ１５０８の位置１５１０へのＵＲＩまたはその他のそのようなリンクとして、リクエスト側エンティティに提供されてもよい。コンピュータシステムリソースの上の位置は、コンピュータシステム上で動作する１つまたは複数のプロセスによってＵＲＩに変換されてもよい。コンピュータシステムリソースへのアクセスをリクエストしたサービスまたはエンティティ１５２６は、コンピュータシステムリソースの位置に依存する構成を必要とすることなく、コンピュータシステムリソースにアクセスするための１５２８受信したＵＲＩを使用してもよく、いくつかの実施形態において、サービスまたはエンティティ１５２６がコンピュータシステムリソースに直接接続されているように動作するコンピュータシステムリソースにリンクするＵＲＩを使用してもよい。サービスがＵＲＩ１５３４などのリンクを介したシステムディレクトリノードへのアクセスを提供され、次にＵＲＩ１５１４などのリンクを介してオンプレミスディレクトリ１５０８にアクセスしてもよいいくつかの実施形態において、サービスまたはエンティティ１５２６は、ＵＲＩ１５１４及び１５３４の一方または両方にアクセスしてもよく、システムリソース１５０８及び／またはシステムディレクトリノード１５３０にアクセスするために、その一方または両方を交換可能に使用してもよい。ディレクトリノード１５３０に位置するサービスまたはエンティティに見えてもよいファイルへの１組のデータの書き込みを含むように示される操作は、データを１つまたは複数のネットワークパケット（または、その他の通信単位）にパッケージ化することによって、実際に実行されてもよく、次いで、アクセスリンク１５１４を介してネットワーク１５１６を越えてパケット（単数または複数）（すなわち通信単位）を転送し、ディレクトリ１５０８に位置するファイルに実際に書き込まれる。意図されるように、これらは例示的な実施例であり、マネージドディレクトリサービスによって実行されてもよいその他のタイプの操作も、本開示の範囲内であると見なしてもよい。
【００９３】
図１６は、少なくとも図１５に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるように、分散及び／または仮想化されたコンピュータシステム環境におけるローカル及び／またはリモートファイルシステムに対する、ローカル及び／またはリモートサービスによる認証、認可、及びアクセスのためのユーザリクエストを提供する環境１６００を示す。コンピュータシステムエンティティ、ユーザ、またはプロセス１６０２は、コンピュータシステムクライアントデバイス１６０４を通してコンピュータシステムに接続してもよく、マネージドディレクトリサービス、クラウドサービス、ウェブサービス、仮想マシンサービス、データベースサービス、及び／またはその他のそのようなコンピューティングリソースサービスプロバイダサービスを含むがこれらに限定されない１つまたは複数のローカル及び／またはリモートサービスへのコンピュータシステムエンティティ、ユーザ、またはプロセスによるアクセスを容易にするために、証明書の認証を１６０６リクエストしてもよい。アクセスは、ディレクトリの作成、ディレクトリの削除、ディレクトリの拡張、ディレクトリへの接続、ディレクトリ及び／またはその他のそのようなディレクトリ管理操作との結合の機能を含んでもよい。たとえば、ユーザまたはプロセス１６０２は、サービス１６２８などの仮想マシンサービスによって管理される仮想マシンを、ユーザまたはプロセスが以前に作成したディレクトリ１６３２に結合するよう所望してもよい。マネージドディレクトリサービスは、ＵＲＩ１６２４を介するアクセスを提供してもよく、いくつかの実施形態において、仮想マシンをディレクトリに結合するための認証及び／または認可をユーザまたはプロセス１６０２に提供してもよい。いくつかの実施形態において、証明書の認証をリクエストするコマンド（単数または複数）は、外部のコンピュータシステム及び／またはサーバから発生してもよく、あるいは、リモートネットワーク位置のエンティティ、ユーザ、またはプロセスから発生してもよく、あるいは、コンピュータシステムから発生してもよく、あるいは、コンピュータシステムクライアントデバイスのユーザから発生してもよく、あるいは、これら及び／またはその他のそのようなオブジェクトの組合せの結果として発生してもよい。証明書の認証をリクエストするコマンド（単数または複数）は、いくつかの実施形態において、特権ユーザによって、あるいは、非特権ユーザによって、あるいは、自律的プロセスによって、あるいは、アラームまたは状態の結果として、あるいは、これら及び／またはその他の方法の組合せによって、発行されてもよい。
【００９４】
コンピュータシステムクライアントデバイス１６０４は、１つまたは複数のネットワーク１６０８及び／あるいは直接または間接的にネットワークに接続されるその他のサーバなどのネットワーク１６０８に関連するエンティティを使用して、コンピュータシステムに接続されてもよい。コンピュータシステムクライアントデバイスは、ネットワークを介してコンピュータシステムと接続することが可能である任意のデバイスを含んでもよく、それらは、少なくともサーバ、ラップトップ、スマートフォンまたはタブレットなどのモバイルデバイス、スマートウォッチ、スマートテレビ、セットトップボックス、ビデオゲームコンソール、及びその他のそのようなネットワーク使用可能なスマートデバイスなどのその他のスマートデバイス、分散型コンピューティングシステム及びそれらのコンポーネント、ゲストコンピュータシステムまたは仮想マシンなどの抽象化コンポーネント、ならびに／あるいは、その他のタイプのコンピューティングデバイス及び／またはコンポーネントを含む。ネットワークはたとえば、ローカルネットワーク、内部ネットワーク、インターネットなどの公衆ネットワーク、広域ネットワーク、ワイヤレスネットワーク、モバイルネットワーク、衛星ネットワーク、複数のネットワークノードを有する分散型コンピューティングシステムなどを含んでもよい。ネットワークはまた、以下に掲げる、ブルートゥース、ＷｉＦｉ、携帯電話ネットワークプロトコル、衛星ネットワークプロトコル、及び／またはその他などのさまざまなプロトコルに従って動作してもよい。
【００９５】
いくつかの実施形態において、コンピュータシステムクライアントデバイス１６０４は、マネージドディレクトリサービス１６１０の制御に対応して及び／または制御の下で動作する１つまたは複数の認証プロセス１６１２にアクセスしてもよく、認証プロセスは、外部プロセスからリクエストに少なくとも応答して、コンピュータシステムエンティティ、ユーザ、またはプロセスをリクエストする証明書を認証するように構成されてもよい。たとえば、リクエスト側コンピュータシステムエンティティ、ユーザ、またはプロセスがマネージドディレクトリサービスへのアクセスが可能とされるかどうか認証プロセス１６１４が確認する。認証プロセスは、ユーザ名及びパスワードの組合せを検証することによって、あるいは、ハードウェア、ソフトウェア、ファームウェア、またはその他のそのようなデバイス上に格納される暗号鍵を検証することによって、あるいは、コンピュータシステムクライアントデバイスがアクセスをリクエストすることが認可されるかどうかを検証することによって、あるいは、ネットワークがアクセスをリクエストすることが認可されるかどうかを検証することによって、あるいは、これら及び／またはその他のそのような検証方法の組合せによって、マネージドディレクトリサービスへのアクセスを有効にしてもよい。いくつかの実施形態において、認証プロセスは、その他のそのような認証タスクを実行してもよく、コンピュータシステム及び／またはその他のコンピュータシステムに格納されるデータに対応して及び／またはそのデータとともに動作するその他のプロセスと組み合わせて認証タスクを実行してもよい。
【００９６】
いくつかの実施形態において、本明細書に説明されるようにコンピュータシステムエンティティ、ユーザ、またはプロセス１６０２は、本明細書に説明されるように１つまたは複数のネットワーク１６０８及び／またはネットワーク１６０８に関連するエンティティを使用して、本明細書に説明されるようにコンピュータシステムクライアントデバイス１６０４を通してコンピュータシステムに接続してもよく、中に作成されてもよいディレクトリ１６３２上でまたはそれに接続して、１つまたは複数の操作やプロセスを実行する認可を１６１６でリクエストしてもよく、ならびに／あるいは、コンピューティングリソースサービスプロバイダから、または、コンピューティングリソースサービスプロバイダ内の、もしくは、隔離仮想ネットワークのサブネット内の、もしくは、顧客構内のデータセンタ内の、もしくは、顧客構内の仮想ネットワーク内の、もしくは、いくつかのその他のそのような位置内の隔離仮想ネットワークからアクセス可能でもよい。いくつかの実施形態において、リクエストされる操作認可は、１つまたは複数のコンピュータシステムリソース操作を直接的に実行するリクエストされる認可でもよい。いくつかの実施形態において、リクエストされる操作認可は、ディレクトリの作成または削除などの、ディレクトリに関連する１つまたは複数のコンピュータシステムリソース操作を間接的に実行するリクエストされる操作でもよい。たとえば、リクエストは、１つまたは複数のコンピュータシステムリソース操作を実行する認可のための、コンピュータシステムエンティティ、ユーザ、またはプロセス１６０２の制御下のリモートコンピュータシステムサービス、プロセス、またはエンティティの認可のリクエストでもよい。認可は、マネージドディレクトリサービス１６１０の制御に対応して及び／またはその制御の下で動作する１つまたは複数の認可プロセス１６１８からリクエストされてもよく、認可プロセスは、外部プロセスからのリクエストに少なくとも応答するように、そして、ディレクトリ１６３２上またはそれ以外ではそのディレクトリに関連するコンピュータシステムエンティティ、ユーザ、またはプロセスによる１つまたは複数の操作及び／またはプロセスの性能を認可するように、構成されてもよい。コンピュータシステムリソースは、顧客構内のデータセンタなどにローカルに位置してもよく、あるいは、リモートに位置してもよく、あるいは、分散及び／または仮想コンピュータシステム上などの複数のリモート位置に位置してもよく、あるいは、ローカル及び／またはリモート位置の組合せに位置してもよい。たとえば、ファイルシステムは、ローカルデータセンタに位置するローカルディスク上に位置してもよく、そのファイルシステムのコンテンツはまた、１つまたは複数のリモートデータセンタに位置する１つまたは複数のリモートディスクに再現されてもよい。いくつかの実施形態において、ファイルシステムは、少なくともローカルまたはリモートでもよい１つのデータセンタにそのコンテンツの少なくとも一部を配置し、また１つまたは複数のその他のデータセンタにそのコンテンツのその他の部分とを配置してもよい。
【００９７】
認可されてもよい操作及び／またはプロセスの実施例は、１６２０のリソースオブジェクトの作成及び／または破棄、１６２２のリソースオブジェクトの読み取り及び／または書き込み、ならびに／あるいは、その他のそのようなシステムリソース操作を含むが、これらに限定されるものではない。認可は、エンティティ、ユーザ、またはプロセスによって、日時によって、エンティティのクラスによって、ユーザのクラスによって、プロセスのクラスによって、１つまたは複数のシステムポリシーによって、リクエストの性質によって、あるいは、これら及び／またはその他のそのような考慮事項の組合せによって、変化してもよい。コンピュータシステムエンティティは、ディレクトリ上のまたはディレクトリと関連する１つまたは複数のディレクトリ操作の実行を認可されてもよい。ディレクトリ操作は、ファイルの作成、ファイルの削除、ファイルからの読み取り、ファイルへの書き込み、サブディレクトリの作成、サブディレクトリの削除、許可の変更、アクセス権の付与と取り消し、所有権の変更、及び／または、その他のそのようなディレクトリ操作を含むがこれらに限定されるものではない。たとえば、コンピュータシステムエンティティは、ファイル及び／またはディレクトリの作成は認可されてもよいが、それらの削除は認可されなくて、あるいは、プロセスは、そのプロセスによって作成されたファイル及び／またはディレクトリの削除のみ認可されてもよいが、他は認可されなくて、あるいは、エンティティは、特定のディレクトリで特定のファイルの読み取りは認可されてもよいが、他は認可されない。意図されるように、これらは例示的な実施例である。その他のタイプの操作は、マネージドディレクトリサービス認可システムによって認可されてもよく、そのようなその他のタイプの操作も、本開示の範囲内であると見なされる。
【００９８】
いくつかの実施形態において、本明細書に説明されるようにコンピュータシステムエンティティ、ユーザ、またはプロセス１６０２は、本明細書に説明されるように１つまたは複数のネットワーク１６０８及び／またはネットワーク１６０８に関連するエンティティを使用して、本明細書に説明されるようにコンピュータシステムクライアントデバイス１６０４を通してコンピュータシステムに接続してもよく、ディレクトリ１６３２の管理のためにディレクトリ１６３２へのアクセスをリクエストしてもよい１つまたは複数のローカル及び／またはリモートサービス１６２８を作成及び／またはインスタンス化１６２４してもよい。ディレクトリは、本明細書に説明されるように１つまたは複数の位置のうちの１つに事前に作成されていてもよく、アクセスは、ＵＲＩ１６２４を介して作成されたディレクトリに提供されてもよい。いくつかの実施形態において、コンピュータサービス、プロセス、またはエンティティ１６２８は、マネージドディレクトリサービス１６１０の制御に対応して及び／またはその制御の下で動作する１つまたは複数のディレクトリサービスプロセス１６２６にアクセスしてもよく、ディレクトリサービスプロセスは、外部プロセスからのリクエストに少なくとも応答して、そして、１つまたは複数のファイルシステムへのアクセスを提供するように構成されてもよい。１つまたは複数のファイルシステムへのアクセスは、ファイルならびに／あるいはディレクトリ、アプリケーション、データ、データベース、その他のファイルシステムへのリンク、システムドライバ、コンピュータオペレーティングシステム、仮想マシン、及び／または他のそのようなファイルシステムオブジェクトなどのその他のファイルシステムオブジェクトに対する、読み取り、書き込み、実行、削除、作成、インスタンス化、及び／またはその他のそのような操作などの操作へのアクセスを含んでもよい。いくつかの実施形態において、操作へのアクセスは、本明細書に説明されるように１つまたは複数の認可プロセス１６１８を有する通信１６３０によって容易にされてもよく、その中に含まれるリソース認可ポリシーに従って認可を提供する。
【００９９】
前述のように、図１６のコンピュータシステムエンティティ、ユーザ、またはプロセス１６０２、及びコンピュータシステムクライアントデバイス１６０４は、分散型コンピューティングシステム及び／またはデータセンタ環境で相互接続される複数のエンティティ、ユーザ、プロセス、及び／またはデバイスの中の１つでもよい。図１７は、さまざまな実施形態が行われてもよい分散コンピューティング環境及び／またはデータセンタ環境１７００を示す。１つまたは複数のコンピュータシステムエンティティ、ユーザ、またはプロセス１７０２は、１つまたは複数のネットワーク１７０８を介して１つまたは複数のコンピュータシステムサービス１７０６に、１つまたは複数のコンピュータシステムクライアントデバイス１７０４を介して接続してもよい。コンピューティングリソースサービスプロバイダ１７０８に位置してもよい１つまたは複数のローカル及び／またはリモートコンピュータシステムディレクトリリソース１７１４へのサービスによるアクセスは、少なくとも図１４に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるように、１７１２のマネージドディレクトリサービスを介して、１つまたは複数のＵＲＩ１７１０などの１つまたは複数の接続によって提供されてもよい。オンプレミスディレクトリは、少なくとも図１４に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるように、接続１７１８を介してディレクトリノード１７２０に接続し、ＵＲＩ１７２２を介してアクセスされてもよい。
【０１００】
ディレクトリがコンピューティングリソースサービスプロバイダによって提供されるデータセンタに位置するいくつかの実施形態において、複数ユーザ、サービス、デバイス、プロセス、及び／またはその他のそのようなコンピュータシステムエンティティは、ディレクトリへのアクセスを提供するコンピューティングリソースサービスプロバイダにアクセスしてもよい位置から、データセンタ及びディレクトリにアクセスしてもよい。ディレクトリが隔離仮想ネットワーク内または隔離仮想ネットワークのサブネット内に位置し、コンピュータシステムエンティティが隔離仮想ネットワーク内またはサブネット内に位置するいくつかの実施形態において、ディレクトリは隔離仮想ネットワークまたはサブネット内のそれらのエンティティに対して利用可能とされてもよい。たとえば、コンピューティングリソースサービスプロバイダに位置するディレクトリは、コンピューティングリソースサービスプロバイダにアクセスすることができる複数のデバイスかつ複数の位置からの適切な認可を有するコンピュータシステムエンティティによってアクセスされてもよい。ディレクトリは、ユーザ、サービス、デバイス、プロセス、及び／またはその他のそのようなコンピュータシステムエンティティによって共有されてもよく、それぞれは、それらのコンピュータシステムエンティティが位置するところに関係なく、ディレクトリにアクセスして、たとえばディレクトリのドメインに参加してもよいが、それは、それらのエンティティがコンピューティングリソースサービスプロバイダにアクセスして、適切な証明書を有する場合に限る。このような実施形態において、ディレクトリへのアクセスは、少なくとも図１４及び１５に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるように、少なくとも一部においてマネージドディレクトリサービスによって提供されてもよい。
【０１０１】
ディレクトリが、たとえば、顧客によって提供されるデータセンタに位置し、そして顧客構内に位置するいくつかの実施形態において、複数ユーザ、サービス、デバイス、プロセス、及び／またはその他のそのようなコンピュータシステムエンティティは、同様の方法で、多くの異なる位置からディレクトリにアクセスしてもよいが、それは、それらのエンティティが顧客構内のデータセンタにアクセスする場合に限る。このような実施形態において、顧客構内のデータセンタへのアクセスは、少なくとも図１４及び１５に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるように、少なくとも一部においてマネージドディレクトリサービスによって提供されてもよい。意図されるように、これらは例示的な実施例であり、複数のコンピュータシステムエンティティがデータセンタ及び／またはシステムリソースに接続することを可能にする１７１６データセンタ及び１７１４システムリソースの位置のその他のタイプ及び／または配置は、本開示の範囲内であると見なしてもよく、それらは、分散されたデータセンタ及び／またはシステムリソース、仮想データセンタ及び／またはシステムリソース、冗長性をもつデータセンタ及び／またはシステムリソース、部分的にローカルなデータセンタ及び／またはシステムリソース、隔離仮想ネットワーク、隔離仮想ネットワークのサブネット、ならびに／あるいは、部分的にリモートなデータセンタ及び／またはシステムリソースを含むが、これらに限定されない。さらに意図されるように、システムリソースは、さまざまなシステムリソースを含んでもよく、それらは、ローカル及び／またはリモートストレージ位置、システムメモリ、中央処理装置（ＣＰＵ）、ネットワークインタフェース、ネットワーク帯域幅、ディスプレイデバイス、入力デバイス、ならびに／あるいはその他のそのようなコンピュータシステムリソースを含むが、これらに限定されず、これらのその他のそのようなリソースも本開示の範囲内であると見なしてもよい。
【０１０２】
図１８は、少なくとも図１６に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるように、認証及び認可証明書のために使用されるユーザプロファイル、記憶装置、及びシステムポリシーの中心位置を保守するための例示的環境１８００を示す。管理者１８０２は、いくつかの実施形態において、顧客構内に位置してもよい１つまたは複数のローカルストレージ位置に位置してもよい、あるいは、いくつかの実施形態において、コンピューティングリソースサービスプロバイダに位置してもよい１つまたは複数のリモートストレージ位置に位置してもよい、あるいは、いくつかの実施形態において、ローカル及びリモートストレージ位置の組合せに位置してもよいストレージ位置に位置してもよい、１組のシステムアクセスデータ１８０４を有してもよい。いくつかの実施形態において、システムアクセスデータは、ユーザ名、ユーザパスワード、ユーザ個人データ、及び／またはその他のそのようなユーザプロファイル情報を含有してもよい１つまたは複数のユーザプロファイル１８０６を含有してもよい。ユーザプロファイルは、少なくとも図１６に関連して、そして少なくとも１つの実施形態に従って本明細書に説明される認証サービスなどの認証サービスを提供するために、１つまたは複数のシステムによって使用されてもよい。いくつかの実施形態において、システムアクセスデータは、１つまたは複数のコンピュータシステムリソースへの参照を含有してもよい１つまたは複数の記憶装置１８０８を含有してもよい。いくつかの実施形態において、システムアクセスデータは、たとえば、システムサービス、ファイルシステム、ディレクトリ、マシン、仮想マシン、アプリケーション、ドキュメント、及び／またはその他のそのようなシステムリソースなどのシステムリソースへのアクセスを可能にする、禁止する、及び／または制限する１つまたは複数のポリシーステートメントを含有してもよい１つまたは複数のポリシー１８１０を含有してもよい。ポリシーステートメントは、１つまたは複数のユーザプロファイルのコンテンツ、ユーザプロファイルタイプ、リクエスト側サービス、リクエスト側サービスタイプ、リクエスト側サービス位置、時刻、ユーザの事業価値、クライアント、顧客、リクエスト及び／またはその他のそのような事業価値、またはこれら及び／またはその他のそのような要因の組合せなどの要因に基づいて、システムリソースへのアクセスを可能にしてもよく、禁止してもよく、及び／または制限してもよい。
【０１０３】
マネージドディレクトリサービスは、マネージドディレクトリサービスを提供するコンピューティングリソースサービスプロバイダのアカウントと関連する別のユーザに、さまざまなレベルのアクセスを提供してもよい。たとえば、一部のユーザは、ディレクトリを作成及び削除することができてもよく、一方で、その他のユーザは、ディレクトリを削除する認可がなくてもよい。したがって、図１９は、マネージドディレクトリサービスによって管理されるディレクトリの管理機能へのアクセスを制御するための例示的プロセス１９００を示す。以下でより詳細に論じられるように、プロセスは、少なくとも図１６に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるように、マネージドディレクトリサービスへのアクセスを認証するために、かつ、マネージドディレクトリサービスと関連する１つまたは複数のコマンドの実行を認証されるエンティティを認可するために、使用されてもよい。図１６で説明されるようにマネージドディレクトリサービス１６１０などのサービス、またはマネージドディレクトリサービスと関連するプロセスは、図１９に示されるアクションを実行してもよい。
【０１０４】
マネージドディレクトリサービスは、リクエスタがマネージドディレクトリサービス、ならびにマネージドディレクトリサービスによって提供されるコマンド、リソース、及び／またはサービスのうちの１つまたは複数にアクセスすることを可能にするリクエスト１９０２を受信してもよい。いくつかの実施形態において、リクエスタは、少なくとも図１４に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるコンピュータシステムエンティティ、ユーザ、またはプロセスなどのコンピュータシステムエンティティ、ユーザ、またはプロセスでもよい。いくつかの実施形態において、リクエストは、外部のコンピュータシステム及び／またはサーバから発生してもよく、あるいは、リモートネットワーク位置のエンティティ、ユーザ、またはプロセスから発生してもよく、あるいは、ローカルコンピュータシステムから発生してもよく、あるいは、コンピュータシステムクライアントデバイスのユーザから発生してもよく、あるいは、これら及び／またはその他のそのような状態の組合せの結果として発生してもよい。リクエストを発行するコマンド（単数または複数）は、いくつかの実施形態において、特権ユーザによって、あるいは、非特権ユーザによって、あるいは、自律的プロセスによって、あるいは、アラームまたは状態の結果として、あるいは、これら及び／またはその他の方法の組合せによって、発行されてもよい。
【０１０５】
マネージドディレクトリサービスは最初に、少なくとも図１６に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるプロセスなどのプロセスを使用するユーザを１９０４で認証してもよい。マネージドディレクトリサービスは、いくつかの実施形態において、少なくとも図１８に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるユーザプロファイルデータなどのシステムアクセスデータを使用してもよい。リクエスタが１９０４で認証される場合、マネージドディレクトリサービスは１９０８で接続を可能にし、１９１０でリクエスタからのコマンドを受信し始める。リクエスタが１９０４で認証されない場合、マネージドディレクトリサービスは１９０６で接続を拒絶してもよい。
【０１０６】
マネージドディレクトリサービスが１９１０でリクエスタからコマンドを受信し始めると、マネージドディレクトリサービスは、リクエスタが各コマンドの実行を認可されるかどうかを１９１４で決定してもよい。マネージドディレクトリサービスが受信してもよいコマンドの実施例は、ディレクトリを作成または破棄するコマンド、ディレクトリサービスを管理するコマンド、ディレクトリタグを管理するコマンド、ディレクトリエイリアスを管理するコマンド、ディレクトリへの読み出し及び／またはディレクトリからの書き込みのコマンド、ならびに／あるいは、その他のそのようなコマンドを含むがこれらに限定されるものではない。マネージドディレクトリサービスは、少なくとも図１６に関連して、そして少なくとも１つの実施形態に従って本明細書に説明される認可プロセスなどの認可プロセスを使用して、各コマンドを実行するリクエスタを認可してもよい。マネージドディレクトリサービスは、いくつかの実施形態において、少なくとも図１８に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるユーザプロファイル及び／またはポリシーデータなどのシステムアクセスデータを使用してもよい。
【０１０７】
リクエスタが受信したコマンドの実行を１９１４で認可されない場合、マネージドディレクトリサービスは１９１６で特定のコマンドを拒絶してもよく、次いで、１９１２でリクエスタからのコマンドの処理を続けなければならないかどうか決定してもよい。いくつかの実施形態において、いくつかの拒絶されたコマンドが、コマンドを実行しないことになってもよく、いくつかの拒絶されたコマンドが、コマンドが拒絶されたリクエスタ及び／またはその他のコンピュータシステムエンティティに警告することになってもよく、いくつかの拒絶されたコマンドが、リクエスタへの接続を終了させることになってもよく、さらに、いくつかの拒絶されたコマンドが、これら及び／またはその他のそのようなアクションの組合せになってもよい。マネージドディレクトリサービスが、リクエスタからのコマンドを受信し続けることを１９１２で決定する場合、マネージドディレクトリサービスは、１９１０で次のコマンドを待ってもよい。マネージドディレクトリサービスが、続けることを１９１２で決定しない場合、マネージドディレクトリサービスは、１９２２でリクエスタを切断してもよい。いくつかの実施形態において、１９２２リクエスタの分離は、リクエスタの分離、リクエスタへの切断の通知、１つまたは複数のその他のコンピュータシステムエンティティへの切断の通知、あるいは、これら及び／またはその他のそのような切断アクションの組合せを含んでもよい。
【０１０８】
リクエスタが受信したコマンドの実行を１９１４で認可される場合、マネージドディレクトリサービスは１９１８で、コマンドの実行、コマンドが許可されることのリクエスタへの警告、コマンドが許可されることの１つまたは複数のその他のシステムエンティティへの警告、１つまたは複数のその他のシステムエンティティへのコマンドの実行のリクエスト、あるいは、これら及び／またはその他のそのような応答の組合せを含んでもよいコマンドを許可してもよい。受信したコマンド及び／または１９１８への応答は、マネージドディレクトリサービスにリクエスタを１９２２で切断させてもよい、１９２０の切断するリクエストを、コマンドが少なくとも一部分含んでもよいことを可能にする。マネージドディレクトリが１９２０の切断コマンドを受信しない場合、マネージドディレクトリサービスは、１９１０で次のコマンドを待ってもよい。
【０１０９】
図２０は、少なくとも図１４に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるように、システムリソースを作成し、それに接続するための例示的環境２０００を示す。コンピュータシステムエンティティ、サービス、ユーザ、またはプロセス２００２は、ディレクトリ及びファイルシステムリソースを含むがこれらに限定されない１つまたは複数のローカルコンピュータシステムリソース２００６を含む１つまたは複数のコンピュータシステムに対するコンピュータシステムクライアントデバイス２００４を通して、コンピュータシステムに接続してもよい。コンピュータシステムユーザ、プロセス、またはサービスなどのコンピュータシステムエンティティは、本明細書に説明されるネットワーク接続などの１つまたは複数の接続についてのネットワークプロトコルまたはその他のそのような通信プロトコルなどの１つまたは複数の接続プロトコルを使用して、ローカル及び／またはリモートシステムリソースに接続してもよい。コンピュータシステムエンティティとコンピュータシステムリソースとの間の接続は、たとえば、一方向接続、双方向接続、読み取り専用接続、読み書き接続、あるいは、これら及び／またはその他の接続タイプの組合せでもよい。いくつかの実施形態において、コンピュータシステムエンティティは、コンピュータシステムクライアントデバイスを介して１つまたは複数のコマンドを発行し、ディレクトリノードなどのシステムリソースプロキシを使用して、オンプレミスディレクトリなどのシステムリソースをリモートシステムエンティティに２００８で接続してもよい。いくつかの実施形態において、ディレクトリノードは、それが示すディレクトリのラッパ、サロゲート、プロキシ、及び／またはいくつかのその他のそのような表現であり、ディレクトリリソースにアクセスを提供するが、一方で、ディレクトリデータを実際には公開しない。たとえば、ディレクトリノードは、ユーザがディレクトリのデータにアクセスすることを可能にするが、データは依然としてディレクトリにあるままであり、ディレクトリノードにはない。ローカルシステムリソースを接続するコマンド（単数または複数）は、いくつかの実施形態において、特権ユーザによって、あるいは、非特権ユーザによって、あるいは、自律的プロセスなどのプロセスによって、あるいは、アラームまたは状態の結果として、あるいは、これらならびに／あるいはその他のシステム方法及び／またはエンティティの組合せによって、発行されてもよい。ローカルシステムリソースに接続するコマンド（単数または複数）は、いくつかの実施形態において、少なくとも図１６に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるマネージドディレクトリサービスなどのマネージドディレクトリサービス２０１０に発行されてもよい。
【０１１０】
いくつかの実施形態において、マネージドディレクトリサービスは最初に、ディレクトリノードを介してコンピュータシステムリソースに接続するコマンドを２０１２で認証及び認可してもよい。ローカルシステムリソースを作成することが認証及び認可される場合、コンピュータシステムは、２０１８ディレクトリノードを２０１６で作成し、接続してもよい。ディレクトリノードが作成されると、コンピュータシステムは、ローカルシステムリソースにアクセスするために使用してもよいＵＲＩ２０３０などの２０２８リンクを決定してもよく、次いで、マネージドディレクトリサービスへのリンクを２０１２で提供してもよい。マネージドディレクトリサービス２０１４が、ローカルシステムリソースに２０２６で接続するようコンピュータシステムサービスによるリクエストを受信するとき、ディレクトリノード２０１８への接続２０２８を介してそのようにしてもよい。マネージドディレクトリサービス２０１４は、いくつかの実施形態において、マネージドディレクトリ２０１０と同一でもよい。
【０１１１】
図２１は、少なくとも図１６に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるように、マネージドディレクトリサービスを使用して、ＵＲＩなどのリンクを介してコンピュータシステムエンティティをローカルシステムリソースに接続するための例示的プロセス２１００を示す。コンピュータシステムユーザ、プロセス、またはサービスなどのコンピュータシステムエンティティは、本明細書に説明されるネットワーク接続などの１つまたは複数の接続についてのネットワークプロトコルまたはその他のそのような通信プロトコルなどの１つまたは複数の接続プロトコルを使用して、ローカル及び／またはリモートシステムリソースに接続してもよい。コンピュータシステムエンティティとコンピュータシステムリソースとの間の接続は、たとえば、一方向接続、双方向接続、読み取り専用接続、読み書き接続、あるいは、これら及び／またはその他の接続タイプの組合せでもよい。図１６で説明されるようなマネージドディレクトリサービス１６１０などのサービス、またはそのようなマネージドディレクトリサービスと関連するプロセスは、プロセス２１００に示されるアクションの少なくとも一部を実行してもよい。コンピュータシステムクライアントデバイス１６０４に接続されるローカルシステムなどのローカルシステムは、図２１に示されるアクションの少なくとも一部を実行してもよい。
【０１１２】
マネージドディレクトリサービスは、ローカルディレクトリを作成し、接続するリクエスト２１０２を受信してもよい。いくつかの実施形態において、リクエスタは、少なくとも図１４に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるコンピュータシステムエンティティ、ユーザ、またはプロセスなどのコンピュータシステムエンティティ、ユーザ、またはプロセスでもよい。いくつかの実施形態において、リクエストは、外部のコンピュータシステム及び／またはサーバから発生してもよく、あるいは、リモートネットワーク位置のエンティティ、ユーザ、またはプロセスから発生してもよく、あるいは、ローカルコンピュータシステムから発生してもよく、あるいは、コンピュータシステムクライアントデバイスのユーザから発生してもよく、あるいは、これら及び／またはその他のそのような状態の組合せの結果として発生してもよい。リクエストを発行するコマンド（単数または複数）は、いくつかの実施形態において、特権ユーザによって、あるいは、非特権ユーザによって、あるいは、自律的プロセスによって、あるいは、アラームまたは状態の結果として、あるいは、これら及び／またはその他の方法の組合せによって、発行されてもよい。
【０１１３】
マネージドディレクトリサービスは最初、ローカルシステムがリクエストを２１０４で認証及び認可するようにしてもよい。リクエストまたはリクエスタがそのような操作の実行が認可されないことが２１０６で決定される場合、次いで２１０８で、許可は与えず、プロセスは２１１６で終了してもよい。２１０６でローカルシステムがリクエスト及び／またはリクエスタを認証及び認可できる場合、次いで、ローカルシステムは２１１０で接続のためのローカルディレクトリを作成してもよい。ローカルシステムが２１１２でローカルディレクトリの作成及び／または初期化に失敗する場合、次いで、ローカルシステムは２１１４でエラーを発行してもよく、及び２１１６で終了してもよい。ローカルシステムが２１１２でローカルディレクトリの作成に成功する場合、ローカルシステムはＵＲＩなどのリンクを介してローカルディレクトリが位置する場所をマネージドディレクトリサービスに２１１８で通知してもよく、その結果、マネージドディレクトリサービスは２１１６に戻る前に、ローカルディレクトリに接続することができる。
【０１１４】
図２２は、少なくとも図１４に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるように、マネージドディレクトリサービスを介して、複数のローカル及び／またはリモートコンピュータシステムエンティティ、サービス、ユーザ、デバイス、及び／またはプロセスによるローカルディレクトリへの接続を可能にするための例示的環境２２００を示す。顧客構内に位置するローカルディレクトリ２２２８は、ＵＲＩなどのリンク及び１つまたは複数のマネージドディレクトリサービスを使用して、顧客構内の内部及び外部両方のコンピュータシステムエンティティに利用可能にしてもよい。たとえば、サービス２２０２は、少なくとも図１４に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるように、ディレクトリノード２２３０を使用してマネージドディレクトリサービス２２１２によって提供されるＵＲＩなどのリンク２２０４を介して、ネットワーク２２１４越しにローカルディレクトリに接続してもよい。リモートユーザ２２０６は、少なくとも図１４に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるように、ディレクトリノード２２３２を使用してマネージドディレクトリサービス２２１２によって提供されるＵＲＩなどのリンク２２１０を介して、ネットワーク２２１４越しにローカルディレクトリに接続してもよいシステム２２０８に接続してもよい。
【０１１５】
顧客構内２２１６のローカルユーザは、ＵＲＩなどのリンク２２２２を介してローカルシステムに接続してもよいサービス２２２０に接続してもよいシステム２２１８に接続してもよい。リンク２２２２はローカルであるため、いくつかの実施形態において、サービス２２２０に直接提供されてもよく、または、いくつかの実施形態において、ローカルで動作するマネージドディレクトリサービスを介してローカルサービス２２２０に提供されてもよく、または、いくつかの実施形態において、顧客構内で動作するいくつかのその他のプロセスによってローカルサービス２２２０に提供されてもよい。顧客構内のローカルシステム２２２４は、ローカルディレクトリに２２２６で直接接続されてもよい。リモート及び／またはローカルシステム、ユーザ、デバイス、プロセス、またはその他のそのようなエンティティのうちのいずれかによるリソースへの修正は、リソースの共有された性質のために、それらのすべてに利用可能にしてもよく、少なくとも図１６及び１８に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるように、コンピュータシステムエンティティのそれぞれが提供されてもよいアクセスタイプは、ポリシーシステムに従って変化してもよい。
【０１１６】
図２３は、少なくとも図１６に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるように、クロスプラットフォームのディレクトリサービスを使用してローカルディレクトリを再現するための例示的環境２３００を示す。ローカルコンピュータシステム２３１２は、ローカルディレクトリ２３１０への接続を可能にしてもよい。いくつかの実施形態において、ローカルディレクトリへのアクセス及び／または接続は、少なくとも図１６に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるように、コンピューティングリソースサービスプロバイダ２３０２で動作するマネージドディレクトリサービス２３０６によって提供されるＵＲＩなどのリンク２３０８を介してもよい。コンピューティングリソースサービスプロバイダで動作するサービス２３０４も、リンク２３０８を介してローカルディレクトリにアクセスしてもよい。いくつかの実施形態において、ローカルシステムは、ローカルディレクトリを第２のローカルディレクトリ２３１８に２３１４で再現してもよい。ローカルシステムは、システム効率を改善する、またはローカルディレクトリに対するリソース要求を減少させるために、あるいは、これら及び／またはその他のそのような理由を組み合わせた理由のために、ローカルディレクトリを再現してもよい。サービスは、リンク２３０８を介してローカルディレクトリ２３１０にアクセスしてもよく、または、リンク２３１６を介して再現されたローカルディレクトリ２３１８にアクセスしてもよく、または、両方のリンクを介してローカル及び再現両方のディレクトリにアクセスしてもよい。サービスがローカルディレクトリまたは再現されたローカルディレクトリにアクセスするかどうかについての決定は、ローカルシステムに対するリソース要求、サービスに対するリソース要求、ローカルシステムに対するリソース要求、所望されるアクセスのタイプ、サービスの事業価値、顧客の事業価値、サービスで動作するプロセスの事業価値、あるいは、これら及び／またはその他のそのような要因の組合せを含むがこれらに限定されないさまざまな要因に依存してもよい。いくつかの実施形態において、オンプレミスディレクトリ２３１０及びオンプレミスディレクトリ２３１８は、同一の顧客構内位置に位置してもよく、または、それらは、たとえば西海岸の１つの施設及び東海岸の１つの施設などの異なる位置に位置してもよい。
【０１１７】
図２４は、さまざまな実施形態に従って態様を実装するための例示的環境２４００の態様を示す。理解されるように、ウェブベースの環境が解説のために使用されるが、さまざまな実施形態を実装するために異なる環境が、適宜、使用されてもよい。環境は、電子クライアントデバイス２４０２を含み、それは使用可能な任意の適切なデバイスを含み、適切なネットワーク２４０４にわたってリクエスト、メッセージ、または情報を送信及び／または受信することができ、いくつかの実施形態では、情報をデバイスのユーザへ戻すことができる。そのようなクライアントデバイスの実施例は、パーソナルコンピュータ、携帯電話、携帯メッセージングデバイス、ラップトップコンピュータ、タブレットコンピュータ、セットトップボックス、パーソナルデータアシスタント、組み込み型コンピュータシステム、電子ブックリーダなどを含む。ネットワークは、イントラネット、インターネット、携帯電話ネットワーク、ローカルエリアネットワーク、衛星ネットワーク、または任意のその他のそのようなネットワーク、及び／またはそれらの組合せを含む任意の適切なネットワークを含むことができる。そのようなシステムに使用されるコンポーネントは、選択されるネットワーク及び／または環境のタイプに、少なくとも一部において依存する可能性がある。そのようなネットワークを介して通信するためのプロトコル及びコンポーネントは、よく知られており、本明細書では詳細に論じない。ネットワーク越しの通信は、有線または無線接続及びそれらの組合せによって可能にすることができる。本実施例では、リクエストを受信し、それに答えてコンテンツを供給するために環境がウェブサーバ２４０６を含むとき、ネットワークはインターネットを含むが、当業者にとって明らかであるように、その他のネットワークでは、類似の目的を供給する代替のデバイスを使用してもよい。
【０１１８】
例示的な環境は、少なくとも１つのアプリケーションサーバ２４０８及びデータストア２４１０を含む。いくつかのアプリケーションサーバ、レイヤ、またはその他のエレメント、プロセスまたはコンポーネントが存在することができるが、それらは連結されてもよく、またはそれ以外に構成されてもよく、適切なデータストアからデータを取得するなどのタスクを実行するために相互作用することができることは理解されるべきである。サーバは、本明細書で使用される場合、ハードウェアデバイスまたは仮想コンピュータシステムなど、さまざまな方法で実装されてもよい。いくつかの文脈において、サーバは、コンピュータシステム上で実行されているプログラミングモジュールを参照してくもよい。本明細書で使用される場合、特に明記しない限り、または文脈から明らかでない限り、「データストア」という用語は、データの記憶、アクセス、及び検索が可能な、任意のデバイスまたはデバイスの組合せに関するものであり、任意の標準的な、分散された、仮想の、またはクラスタ化された環境において、任意の組合せ及び任意の数のデータサーバ、データベース、データストレージデバイス、及びデータストレージメディアを含んでもよい。アプリケーションサーバは、クライアントデバイスの１つまたは複数のアプリケーションの態様を実行するために必要に応じてデータストアと統合するための任意の適切なハードウェア、ソフトウェア、及びファームウェアを含むことができ、アプリケーションのデータアクセス及びビジネスロジックの一部またはすべてを処理する。アプリケーションサーバは、データストアと連携するアクセス制御サービスを提供してもよく、テキスト、グラフィクス、オーディオ、ビデオ、及び／またはユーザに提供するために使用可能なその他のコンテンツを含むがこれらに限定されないコンテンツを生成することができ、ハイパーテキストマークアップランゲージ（「ＨＴＭＬ」）、拡張可能マークアップランゲージ（「ＸＭＬ」）、ＪａｖａＳｃｒｉｐｔ（登録商標）、カスケーディングスタイルシート（「ＣＳＳ」）、または別の適切なクライアントサイド構造化言語の形態で、ウェブサーバによってユーザに供給することができる。クライアントデバイスに転送されるコンテンツは、クライアントデバイスによって処理されてもよく、可聴的に、視覚的に、ならびに／あるいは触覚、味覚、及び／または嗅覚を含むその他の感覚によってユーザに認識できる形態を含むがこれらに限定されない１つまたは複数の形態でコンテンツを提供する。すべてのリクエスト及び応答の処理、ならびにクライアントデバイス２４０２とアプリケーションサーバ２４０８との間のコンテンツの配信は、本実施例においては、ＰＨＰハイパーテキストプリプロセッサ（「ＰＨＰ」）、Ｐｙｔｈｏｎ（登録商標）、Ｒｕｂｙ（登録商標）、Ｐｅｒｌ（登録商標）、Ｊａｖａ（登録商標）、ＨＴＭＬ、ＸＭＬ、または別の適切なサーバサイド構造化言語を使用して、ウェブサーバで処理することができる。本明細書の他の場所で論じられるように、本明細書に論じられる構造化されたコードを任意の適切なデバイスまたはホストマシンで実行することができるとき、ウェブ及びアプリケーションサーバは必要ではなく、単に例示的なコンポーネントであることは理解されるべきである。さらに、単一のデバイスで実行されるように本明細書で説明される操作は、文脈から明らかでない限り、複数のデバイスで全体的に実行されてもよく、それは分散された及び／または仮想システムを形成してもよい。
【０１１９】
データストア２４１０は、本開示の特定の態様に関するデータを格納するための、いくつかの別々データテーブル、データベース、データドキュメント、動的データストレージスキーム、及び／またはその他のデータストレージ機構及びメディアを含むことができる。たとえば、示されるデータストアは、生産データ２４１２及びユーザ情報２４１６を格納するための機構を含んでもよく、それは生産側のコンテンツを供給するために使用することができる。データストアはまた、ログデータ２４１４を格納するための機構を含むようにも示され、それは報告、分析、またはその他のそのような目的のために使用することができる。データストアに格納される必要がある、ページ画像情報及びアクセス権情報などの多くのその他の態様があり、それは上記の適切な機構、またはデータストア２４１０の追加の機構のいずれかに格納することができることは理解されるべきである。データストア２４１０は、データストア２４１０に関連するロジックによって、アプリケーションサーバ２４０８からの命令を受信して、それに応じてデータを取得、更新、またはそれ以外では処理するために使用可能である。アプリケーションサーバ２４０８は、受信した命令に応答して、静的データ、動的データ、または動的及び静的データの組合せを提供してもよい。本明細書に説明されるように、ウェブログ（ブログ）、ショッピングアプリケーション、ニュースサービス、及びその他のそのようなアプリケーションで使用されるデータなどの動的データは、サーバサイド構造化言語によって生成されてもよく、または、アプリケーションサーバで動作するまたはその制御下のコンテンツ管理システム（「ＣＭＳ」）によって提供されてもよい。１つの実施例において、ユーザは、ユーザによって作動させられるデバイスを通して、特定のタイプのアイテムの検索要求を提出することがある。この場合、データストアは、ユーザの識別情報を検証するために、ユーザ情報にアクセスすることがあり、そのタイプのアイテムについての情報を取得するために、カタログ詳細情報にアクセスすることができる。次いで情報は、ユーザがユーザデバイス２４０２上のブラウザを介して閲覧することができるウェブページに記載される結果などで、ユーザに返すことができる。関心のある特定のアイテムの情報は、ブラウザの専用ページまたはウィンドウで閲覧することができる。しかし、本開示の実施形態は、ウェブページの文脈に必ずしも制限されるわけではなく、リクエストが必ずしもコンテンツの要求ではない場合、一般的なリクエストの処理により一般に適用可能でもよいことに注意しなければならない。
【０１２０】
各サーバは、実行可能プログラム命令をそのサーバの一般的な管理及び操作のために提供するオペレーティングシステムを通常含み、サーバのプロセッサによって実行されるとき、サーバがその意図された機能を実行することを可能にする命令を格納するコンピュータ可読記憶媒体（たとえば、ハードディスク、ランダムアクセスメモリ、読み取り専用メモリなど）を通常含む。オペレーティングシステムの好適な実装及びサーバの一般的な機能は知られている、または市販のものであり、特に本明細書の開示を考慮して、当業者によって確実に実装される。
【０１２１】
環境は、１つの実施形態において、１つまたは複数のコンピュータネットワークまたは直接接続を使用する通信リンクを介して相互接続されるいくつかのコンピュータシステム及びコンポーネントを利用する、分散された及び／または仮想コンピューティング環境である。しかし、そのようなシステムは、図２４に示されるよりも少ないまたは多いコンポーネントを有するシステムにおいて、同様に正しく機能することは、当業者によって理解されるであろう。それゆえ、図２４のシステム２４００の描写は、本来は例示的なものと見なすべきであり、本開示の範囲を限定するものではない。
【０１２２】
本開示の実施形態は、以下の項を考慮して説明することができる。
１．
コンピューティングリソースサービスプロバイダのマネージドディレクトリサービスの、実行可能命令によって構成される１つまたは複数のコンピュータシステムの制御下で、
顧客コンピュータシステムディレクトリをコンピューティングリソースサービスプロバイダのコンピューティング環境で利用可能な顧客コンピューティング環境でホストさせるよう前記コンピューティングリソースサービスプロバイダの顧客から、リクエストを受信することと、
前記リクエストに応答して、前記コンピューティングリソースサービスプロバイダ環境で、コンピューティングリソースサービスプロバイダのコンピューティング環境への顧客コンピュータシステムディレクトリのレプリケーションなしで、ディレクトリ操作を実行するためにリクエストを処理するように構成される、コンピュータシステムディレクトリノードを作成することと、
前記顧客に代わって前記コンピューティングリソースサービスプロバイダの前記コンピューティング環境で作成されたディレクトリノードを管理することと
を含む、
１組の操作を実行するコンピュータ実装化方法。
２．
ディレクトリ操作を実行する前記リクエストを処理することが、前記顧客コンピュータシステムディレクトリに前記リクエストを送り届けることを含む、
１項に記載のコンピュータ実装化方法。
３．
前記コンピュータシステムディレクトリノードのユニフォームリソース識別子を取得することと、
ドメインネームサービスで前記ユニフォームリソース識別子を登録し、その結果、前記ドメインネームサービスが、前記コンピュータシステムディレクトリノードのネットワークアドレスに対する前記ユニフォームリソース識別子を解決することと
をさらに含む、
１〜２項のいずれかに記載のコンピュータ実装化方法。
４．
前記リクエストが、前記コンピューティングリソースサービスプロバイダの前記コンピューティング環境でホストされる前記顧客の隔離仮想ネットワークを指定し、
前記コンピュータシステムディレクトリノードが、前記指定した隔離仮想ネットワーク内に作成される、
１〜３項のいずれかに記載のコンピュータ実装化方法。
５．
前記リクエストが、前記指定した隔離仮想ネットワークのサブネットワークをさらに指定し、
前記コンピュータシステムディレクトリノードが、前記指定したサブネットワーク内に作成される、
４項に記載のコンピュータ実装化方法。
６．
前記作成されたディレクトリノードを保守することが、前記作成されたディレクトリノードを実装するコンピュータシステム上で保守操作を実行することを含む、
１〜５項のいずれかに記載のコンピュータ実装化方法。
７．
１つまたは複数のプロセッサと、
１つまたは複数の前記プロセッサによって実行されるとき、コンピューティングリソースサービスプロバイダの顧客のために、前記コンピューティングリソースサービスプロバイダの前記コンピューティング環境への前記顧客コンピュータシステムディレクトリのレプリケーションなしで、顧客コンピュータシステムディレクトリ上にディレクトリ操作の実行を可能にするように構成されるコンピュータシステムディレクトリノードをコンピューティングリソースサービスプロバイダ環境に作成し、
前記顧客に代わって前記コンピューティングリソースサービスプロバイダの前記コンピューティング環境に前記作成されたディレクトリノードを管理することをシステムにさせる実行可能命令とを含むメモリと
を備える、
システム。
８．
前記顧客コンピュータシステムディレクトリが、前記コンピューティングリソースサービスプロバイダの前記環境の外側の前記顧客のコンピューティング環境でホストされる、
７項に記載のコンピュータシステム。
９．
前記システムに前記コンピュータシステムディレクトリノードを作成させる前記命令が、前記１つまたは複数のプロセッサで実行されるとき、前記システムに、前記ディレクトリノードを実装するためにコンピュータシステムインスタンスを構成させる命令を含み、
前記コンピュータシステムインスタンスが、前記コンピューティングリソースサービスプロバイダの前記コンピューティング環境の前記顧客のその他のコンピュータシステムインスタンスが通信できるネットワークアドレスを有するように構成される、
７〜８項に記載のシステム。
１０．
前記コンピュータシステムディレクトリノードが、性能のために前記顧客コンピュータシステムディレクトリにディレクトリ操作を実行するためのリクエストを送信するように作成される、
７〜９項のいずれかに記載のシステム。
１１．
前記コンピュータシステムディレクトリノードが、コンピュータシステムが前記作成されたコンピュータシステムディレクトリノードを介して前記顧客コンピュータシステムディレクトリに結合することを可能にするように作成される、
７〜１０項のいずれかに記載のシステム。
１２．
前記コンピュータシステムディレクトリノードが、前記顧客に代わって前記コンピューティングリソースサービスプロバイダによってホストされて仮想ネットワークに作成される、
７〜１１項のいずれかに記載のシステム。
１３．
前記コンピュータシステムディレクトリノードが、前記顧客によって指定される前記仮想ネットワークのサブネットワークに作成される、
１２項に記載のシステム。
１４．
コンピュータシステムの１つまたは複数のプロセッサで実行されるとき、前記コンピュータシステムに少なくとも、
コンピューティングリソースサービスプロバイダの顧客のために、前記コンピューティングリソースサービスプロバイダの前記コンピューティング環境への前記顧客コンピュータシステムディレクトリのレプリケーションなしで、顧客コンピュータシステムディレクトリ上でのディレクトリ操作の実行を可能にするように構成されるコンピュータシステムディレクトリノードをコンピューティングリソースサービスプロバイダ環境に作成させ、
前記顧客に代わって前記コンピューティングリソースサービスプロバイダの前記コンピューティング環境に前記作成されたディレクトリノードを管理させる、集合的に格納された実行可能命令を有する、
非一時的コンピュータ可読記憶媒体。
１５．
前記作成されたコンピュータシステムディレクトリノードが、前記コンピューティング環境でホストされるコンピューティングリソースが前記作成されたコンピュータシステムディレクトリノードを介して前記顧客コンピュータシステムディレクトリに結合することを可能にするように構成される、
１４項に記載の非一時的コンピュータ可読記憶媒体。
１６．
前記顧客コンピュータシステムディレクトリが、前記コンピューティングリソースサービスプロバイダの前記コンピューティング環境外側の前記顧客のコンピューティング環境でホストされる、
１４〜１５項に記載の非一時的コンピュータ可読記憶媒体。
１７．
前記命令が、前記コンピュータシステムに、フェールオーバ用に前記コンピュータシステムディレクトリノードのレプリカを作成させる、
１４〜１６項のいずれかに記載の非一時的コンピュータ可読記憶媒体。
１８．
前記コンピュータシステムディレクトリノードが、サブネットワークの、顧客によって指定される、前記顧客に代わって前記コンピューティングリソースサービスプロバイダによってホストされる前記顧客の仮想ネットワークのネットワークアドレスで作成される、
１４〜１７項のいずれかに記載の非一時的コンピュータ可読記憶媒体。
１９．
前記命令が、前記１つまたは複数のプロセッサで実行されるとき、前記コンピュータシステムに前記作成されたコンピュータシステムディレクトリノード上で管理操作を実行するリクエストが提出可能であるウェブサービスインタフェースを提供させる命令をさらに含み、
前記コンピュータシステムディレクトリノードが、前記提供されたウェブサービスインタフェースによって提出されるリクエストに応答して作成される、
１４〜１８項のいずれかに記載の非一時的コンピュータ可読記憶媒体。
２０．
前記コンピューティングリソースサービスプロバイダの前記コンピューティング環境への前記顧客コンピュータシステムディレクトリのレプリケーションなしで前記顧客コンピュータシステムディレクトリ上でのディレクトリ操作の前記実行を可能にすることが、前記顧客コンピュータシステムディレクトリに前記ディレクトリ操作を実行させることを含む、
１４〜１９項のいずれかに記載の非一時的コンピュータ可読記憶媒体。
【０１２３】
＜実施形態の第３の組＞
本出願の以下の部分は、マネージドディレクトリサービスのための技術の実施形態の第３の組を説明する。
【０１２４】
実施形態の第３の組は、図面の第３の組を参照して説明される。
【０１２５】
以下の説明において、さまざまな実施形態が説明される。解説の目的上、特定の構成及び詳細が、実施形態の詳細な理解を提供するために示される。しかし、特定の詳細なしで実施形態を実施してもよいことも、当業者にとって明らかである。さらにまた、実施形態が説明することを不明確にしないために、既知の特徴は省略または簡略化されてもよい。
【０１２６】
本明細書で説明及び提案される技術は、分散及び／または仮想化されたコンピュータシステム上のローカル及び／またはリモートリソースならびにその上で動作する実行可能コードを管理する方法、システム、及びプロセスを含む。特に、ユーザ、サービス、プロセス、アプリケーション、クライアントデバイス、ゲストオペレーティングシステム及び／またはその他のそのようなコンピュータシステムエンティティを含むがこれに限定されないコンピュータシステムエンティティによる及びそれらのための、ディレクトリ、ファイルシステム、ファイル、ユーザ、セキュリティポリシー、ネットワークリソース、アプリケーション、システムストレージなどシステムリソースへのアクセスを容易にするかつ管理するシステム機能を利用するための技術が開示される。分散及び／または仮想化されたコンピュータシステムは、より良好なシステム性能、システムリソースへのより良好なアクセス、システムリソースの高可用性、より良好なデータセキュリティ、より良好なユーザセキュリティ、及び／またはその他のそのようなシステムの利益を促進するために、ローカル及び／またはリモートのシステムリソースの効率的な管理によって利益を得ることができる。
【０１２７】
例示的な実施例において、分散及び／または仮想化されたコンピュータシステムは、ディレクトリサービスを含むがこれに限定されない１つまたは複数のコンピュータシステムサービスを有してもよく、特定のデータセンタに位置するディレクトリサービスと関連するユーザリソース、ポリシーリソース、ネットワークリソース、ストレージリソース、及び／またはその他のそのようなリソースなどの、１つまたは複数のシステムリソースを有してもよい。ディレクトリサービス、ならびにディレクトリサービスと関連するユーザリソース、ポリシーリソース、ネットワークリソース、ストレージリソース、及び／またはその他のそのようなリソースなどのシステムリソースは、システムリソース、コンピュータシステムリソース、サービス及びリソース、サービス及び／またはリソース、あるいはリソースとしてさまざまに、本開示の本明細書において集合的に言及されてもよい。これらのサービス及び／またはシステムリソースへのアクセスは、１つまたは複数のユーザアカウントと関連する１組の認証証明書を介してでもよい。いくつかの実施形態において、接続証明書は、ユーザ名、パスワード、キーフレーズ、生体認証デバイス、ハードウェアキー、仮想ハードウェアキー、及びその他のそのような認証及び／または認可証明書などの証明書を含んでもよい。いくつかの実施形態において、ローカル顧客データセンタは、データセンタ内のシステムリソースへのネットワークアクセスのためのローカル証明書を必要としてもよい。たとえば、コンピュータリソースサービスプロバイダで動作していてもよいサービスは、ローカルシステムリソースへのアクセスを必要とするかもしれないが、データセンタ内のシステムリソースへアクセスするためのローカル証明書を持っていないかもしれない。１組のリソースへの臨時の証明書及びリンクを介したローカルシステムリソースへのアクセスを提供できるサービスが、アクセスを容易にしてもよい。そのようなサービスは、作成、破棄、接続、拡張する操作、及び／またはその他のそのような管理操作を提供することによって、ローカルシステムリソースの管理を支援してもよい。そのような管理操作は、いくつかの実施形態において、認証及び認可を管理してもよいポリシーサブシステムによって容易にされてもよい。いくつかの実施形態において、ローカル及び／またはリモートサービスのローカルシステムリソースを管理するシステムはまた、ローカル及び／またはリモートサービスのリモート及び／またはローカル及びリモートが混在するシステムリソースを管理するように構成されてもよい。
【０１２８】
本明細書で説明及び提案される技術は、ディレクトリサービスなどのコンピュータシステムサービス、ならびにディレクトリサービスと関連するユーザリソース、ポリシーリソース、及び／またはストレージリソースなどのリソースの実装及び管理に関連する技術を含む。いくつかの実施形態において、マネージドディレクトリサービスは、コンピュータシステム上のシステムユーザ、リソース、ポリシー、ネットワークアクセス、及び／またはセキュリティを管理する機能を含んでもよいディレクトリ・アズ・ア・サービス（ＤａａＳ）の機能を提供するように構成されてもよい。いくつかの実施形態において、マネージドディレクトリサービスは、分散及び／または仮想化されたコンピュータシステムのインスタンスによるそのような機能へのアクセスを管理するようにも構成されてもよく、その他の関連する分散及び／または仮想化されたコンピュータシステムサービスによるそのような機能へのアクセスを管理するようにも構成されてもよい。
【０１２９】
たとえば、ユーザは、コンピューティングリソースサービスプロバイダ内に仮想マシン（ＶＭ）インスタンスを作成し、それにアクセスしてもよく、それはコンピューティングリソースサービスプロバイダによって管理できない顧客構内に格納されるシステムリソースへのアクセスを必要としてもよい。コンピューティングリソースサービスプロバイダ上で動作するマネージドディレクトリサービスは、取得した証明書を介して顧客構内ディレクトリにアクセスするように構成されてもよく、ＶＭインスタンスに顧客構内リソースへのアクセスを提供するようにも構成されてもよい。いくつかの実施形態において、サービスを提供されるその他のそのようなコンピュータサービスリソースも、顧客構内リソースへのアクセスが提供されてもよく、その結果、たとえば、ブロックデータストレージサービスが、顧客構内のディレクトリに格納されるデータにアクセスしてもよく、または、ロードバランサが、それが作成する各インスタンスのために、顧客構内のアプリケーションをインスタンス化してもよく、または、データウェアハウスが顧客構内ファイルシステムにアクセスし、リモート位置に自動的にバックアップしてもよい。
【０１３０】
いくつかの実施形態において、マネージドディレクトリサービスは、コンピュータシステムの代わりにユーザアクセス、ポリシー、記憶装置、アプリケーション、セキュリティ、及び／またはその他のそのようなリソースなどのディレクトリサービスを管理するように構成され、及びそれらのディレクトリサービスへのインタフェースとしても構成されてもよい。マネージドディレクトリサービスは、企業ディレクトリなどのディレクトリのためのディレクトリサービスを管理するように構成されてもよい。ディレクトリは、ディレクトリのさまざまなオブジェクトについての情報のデータベースを含有してもよい。オブジェクトは、リソース及びセキュリティプリンシパルに対応してもよく、したがって、ユーザアクセスオブジェクト、ポリシーオブジェクト、ストアオブジェクト、アプリケーションリンクオブジェクト、セキュリティオブジェクト、及び／またはその他のそのようなオブジェクトを含有してもよい。ディレクトリデータベースはそれらのデータベースオブジェクト間の関係も含んでもよく、その結果、ディレクトリは、たとえば、どのユーザがどの記憶装置へのアクセスを有するかを管理するために使用できる。
【０１３１】
マネージドディレクトリサービスは、ディレクトリの作成を含むがこれに限定されない、そのようなサービスを提供してもよい。マネージドディレクトリサービスは、コンピューティングサービスリソースプロバイダ内、顧客構内、あるいはそれら及び／またはその他のそのような位置の組合せ内に、企業ディレクトリ、ＤａａＳ、及び／またはその他のそのようなディレクトリを含むがこれらに限定されないディレクトリを作成してもよい。コンピューティングサービスリソースプロバイダ内で作成されるディレクトリは、コンピューティングサービスリソースプロバイダで動作する仮想マシン内のスタンドアロンディレクトリとして作成されてもよく、または、それらはコンピューティングサービスリソースプロバイダのプライベート及び／または異なる限定サブセット内に位置するプライベートディレクトリとして作成されてもよい（たとえば、仮想ネットワーク及びそのトポロジに（たとえば、アプリケーションプログラミングインタフェース（ＡＰＩ）コールによって）仕様を提供している顧客に代わりに、コンピューティングリソースサービスプロバイダによってホストされ、管理される仮想ネットワーク）。ディレクトリを作成するとき、マネージドディレクトリサービスはディレクトリと関連するさまざまな追加のリソースを作成し、リソースを管理及び／またはディレクトリに提供してもよく、さらに、いくつかの実施形態において、サービス障害、待ち時間問題、及び／またはその他のそのようなサービス関連の問題に対する追加の保護及び冗長性を提供してもよい。たとえば、ディレクトリは、ディレクトリのサーバとしての機能を果たすように構成されてもよい１つまたは複数のマシンインスタンスで作成されてもよく、及び／または、ディレクトリにアドレス解決を提供する１つまたは複数のルーティングサービスで作成されてもよく、または、さまざまなその他のそのようなサービス及び／またはリソースで作成されてもよい。いくつかの実施形態において、コンピューティングサービスリソースプロバイダ内に作成されるディレクトリは、多領域分散及び／または仮想化システムの複数の領域内に、追加のリソース及び／またはエンティティを作成してもよく、及び／または、マルチドメイン分散及び／または仮想化システムの異なるサブドメイン内に、追加のリソースを作成してもよい。
【０１３２】
いくつかの実施形態において、企業ディレクトリにおけるもののような既存の顧客ディレクトリ管理システムとインタフェースし、それらのディレクトリ管理システムから分散及び／または仮想化されたコンピュータシステムサービスまでセキュリティ及び／またはその他のそのようなポリシーを拡張するように、マネージドディレクトリサービスは構成されてもよい。このような実施形態において、ディレクトリリソースは、クライアントアプリケーション、プログラム、サービス、プロセス、及び／またはその他のそのようなコンピュータシステムエンティティによって呼び出されてもよい１つまたは複数のライブラリに含まれる１つまたは複数のＡＰＩコールを提供してもよく、ディレクトリリソース上での、構成、変更、管理、及び／またはその他のそのような操作を少なくとも可能にする。いくつかの実施形態において、顧客ディレクトリ管理システムはたとえば、特定の部門のユーザの、アプリケーションの特定の組合せ、ストレージ位置の特定のサブセット、特定のネットワークリソース、及び／または特定のレベルのセキュアなアクセスへのアクセスを可能にしてもよい。マネージドディレクトリサービスは、ＶＭインスタンス、ならびにその特定の部門のユーザによって分散及び／または仮想化されたコンピュータシステム上でインスタンス化されるその他のそのようなサービスにこれらのポリシーを拡張してもよい。いくつかの実施形態において、マネージドディレクトリサービスは、透過的に及び／または自動的に、そのようなポリシーを拡張してもよく、その結果、たとえば、特定の部門からのユーザのためにまたはその代わりにインスタンス化される仮想マシンインスタンスは、その場のすべての必要なシステム及びすべてのセキュリティ及び／またはすでに適用されているその他のポリシーでインスタンス化されてもよい。
【０１３３】
マネージドディレクトリサービスはまた、顧客構内からコンピューティングリソースサービスプロバイダまで特定のリソースの可用性を拡張するように構成されてもよい。顧客構内に位置するファイルシステム及び／またはディレクトリなどのリソースは、たとえば、適切な証明書が示されるときにリソースにリンクを提供することによって、コンピューティングリソースサービスプロバイダ上で動作するサービスに対して利用可能にされてもよい。いくつかの実施形態において、たとえば、そのようなリンクは、ネットワークの複雑さまたはコンピューティングリソースサービスプロバイダホストマシンと顧客構内との間の著しい距離のために許容できない待ち時間を導入してもよい。マネージドディレクトリサービスは、コンピューティングリソースサービスプロバイダに対してシステムリソースを少なくとも部分的に拡張し、拡張されたシステムリソースへの読み取り及び／または書き込みに対して待ち時間の短いアクセスを提供し、同時に、顧客構内のオリジナルリソースとコンピューティングリソースサービスプロバイダ上の拡張されたリソースとの間の同期を管理することによって、この許容できない待ち時間に対処するように構成されてもよい。マネージドディレクトリサービスは、拡張されたシステムリソースへの読み取り専用アクセスを提供してもよく、または、いくつかの実施形態において、拡張されたシステムリソースへの読み書きアクセスを提供してもよい。読み取り／書き込みアクセスが提供されてもよいいくつかの実施形態において、顧客構内システムリソースはマスタに指定されてもよく、または、拡張されたシステムリソースプロバイダはマスタに指定されてもよく、または、２つのリソースは、たとえば書き込みの衝突が生じた場合に、どちらが権限を有するかを取り決めてもよい。いくつかの実施形態において、リソースは、複数のコンピューティングリソースサービスプロバイダ、コンピューティングリソースサービスプロバイダ内の複数の領域、複数の顧客構内、あるいはこれら及び／またはその他のそのような位置の組合せを含むがこれらに限定されない複数の位置に拡張されてもよい。
【０１３４】
マネージドディレクトリサービスは、特定のリソースを顧客構内からコンピューティングリソースサービスプロバイダに移動するようにも構成されてもよく、特定のリソースをコンピュータサービスリソースプロバイダから顧客構内に戻すようにも構成されてもよい。マネージドディレクトリサービスは、たとえば、バックアップの作成、冗長性の作成、及び／またはその他のそのような目的のために、コンピュータシステムリソースの完全な及び／または部分的なスナップショットを作成するように構成されてもよい。たとえば、本明細書で説明される拡張操作は、いくつかの実施形態において、マネージドディレクトリサービスの機能を利用して、少なくとも部分的なスナップショットを作成し、顧客構内からコンピューティングリソースサービスプロバイダにそのスナップショットをコピーすることによって、スナップショットを作成してもよい。マネージドディレクトリサービスはまた、いくつかの実施形態において、コンピュータシステムリソースの完全スナップショットを作成してもよく、次いで、そのスナップショットを顧客構内からコンピューティングリソースサービスプロバイダへ、またはコンピュータリソースサービスプロバイダから顧客構内へコピーしてもよい。次いで、元のコンピュータシステムリソースにアクセスしていたコンピュータサービスの１つまたは複数は、異なる位置のコピーにアクセスするように変更されてもよい。いくつかの実施形態において、そのような移動は、特定のリソースの負荷の減少、リソースの特定の集中化した位置への移動、または、その他のそのような目的に役立ってもよい。
【０１３５】
図２５は、ディレクトリサービス（単に「コンピュータシステムディレクトリ」または「ディレクトリ」と呼ばれる）、ならびに、分散及び／または仮想化されたコンピュータシステム環境における、ユーザリソース、ポリシーリソース、ネットワークリソース、及び／またはストレージリソースを含むがこれらに限定されないそのようなディレクトリサービスと関連するリソース、ならびに、少なくとも１つの実施形態に従って、その上で動作する関連コードなどの、コンピュータシステムディレクトリリソースにアクセスするための環境２５００を示す。コンピュータシステムエンティティ、ユーザ、またはプロセス２５０２は、コンピュータシステムクライアントデバイス２５０４を通してコンピュータシステムに接続してもよく、１つまたは複数のコンピュータシステムサービス２５１０への接続２５０８を介してアクセスをリクエストしてもよい。いくつかの実施形態において、サービスへのアクセスをリクエストするコマンド（単数または複数）は、外部のコンピュータシステム及び／またはサーバから発生してもよく、あるいは、リモートネットワーク位置のエンティティ、ユーザ、またはプロセスから発生してもよく、あるいは、コンピュータシステムから発生してもよく、あるいは、コンピュータシステムクライアントデバイスのユーザから発生してもよく、あるいは、これら及び／またはその他のそのようなオブジェクトの組合せの結果として発生してもよい。サービスへのアクセスをリクエストするコマンド（単数または複数）は、いくつかの実施形態において、信頼されたユーザによって、あるいは、ユーザによって、あるいは、自律的プロセスによって、あるいは、アラーム及び／またはその他のそのような状態の結果として、あるいは、これら及び／またはその他のそのような方法の組合せによって、発行されてもよい。
【０１３６】
サービス（単数または複数）は、仮想マシン（ＶＭ）インスタンス、自動スケーリンググループ、ファイルベースデータベースストレージシステム、ブロックストレージサービス、冗長データストレージサービス、データアーカイブサービス、データウェアハウジングサービス、ユーザアクセス管理サービス、コンテンツ管理サービス、及び／またはその他のそのようなコンピュータシステムサービスなどのコンピュータサービスへのアクセスを提供してもよいコンピューティングリソースサービスプロバイダ１０６上で動作していてもよい。コンピューティングリソースサービスプロバイダ２５０６また、ディレクトリサービスなどのコンピュータシステムサービス、ならびに、ディレクトリサービスと関連するユーザリソース、ポリシーリソース、ネットワークリソース、及び／またはストレージリソースなどのリソースへのアクセスを提供してもよい。いくつかの分散及び／または仮想化されたコンピュータシステム環境において、コンピュータサービスと関連するリソースは、物理デバイス、仮想デバイス、物理及び／または仮想デバイスの組合せ、あるいはその他のそのようなデバイスの実施形態でもよい。
【０１３７】
コンピューティングリソースサービスプロバイダの１つまたは複数のサービス２５１０は、いくつかの実施形態において、ディレクトリサービスならびにディレクトリサービスと関連するユーザリソース、ポリシーリソース、ネットワークリソース、及び／またはストレージリソースなどのリソースを含むがこれらに限定されない１つまたは複数のディレクトリリソースへのアクセスを必要としてもよい。いくつかの実施形態において、ディレクトリへのアクセスは、１つまたは複数のＡＰＩコールを使用して、ディレクトリを作成するリクエストを受信することを含んでもよい。いくつかの実施形態において、ディレクトリは、コンピューティングリソースサービスプロバイダ内、または、顧客構内データセンタ内、または、コンピューティングリソースサービスプロバイダ内の隔離仮想ネットワーク内、または、隔離仮想ネットワークのサブネット内、または、顧客構内データセンタ内の仮想ネットワーク内、または、いくつかのその他のそのような位置の中で作成されてもよい。いくつかの実施形態において、ディレクトリへのアクセスは、クライアント及び／または顧客に代わってディレクトリを管理する操作などの、ディレクトリでのその他の操作を含んでもよい。
【０１３８】
システムリソース（単数または複数）が、顧客構内に位置するオンプレミスディレクトリなどのローカルシステムリソース２５２０でもよいいくつかの実施形態において、コンピュータシステムクライアントデバイス２５０４は、ローカルシステムリソース２５２０へのアクセス２５１８を有してもよく、同時に、１つまたは複数のサービス２５１０は、ローカルシステムリソースへの直接アクセスを有することができない。このような実施形態において、コンピュータサービスリソースプロバイダは、たとえば、ユニフォームリソース識別子（ＵＲＩ）またはいくつかのその他のそのようなリンクによるなど、１つまたは複数の２５１４リンクまたはロケータを介して２５１０サービスに関連してもよい、ディレクトリなどの２５１６システムリソースにローカルシステムリソースを２５２２で拡張することによって、ローカルシステムリソースへのアクセスを備えてもよい。  システムリソースは、ローカルシステムリソースからリモートシステムリソースへ少なくとも一部のコンテンツ、状態、及び／または構造をコピーすることによって拡張されてもよい。たとえば、ローカルシステムリソースがファイルシステムであるいくつかの実施形態において、リモートファイルシステムが、ローカルファイルシステムの拡張として機能するように、リモートシステムリソースは、ローカルファイルシステムの構造、コンテンツの一部またはすべて、ならびに状態の一部またはすべてをリモートファイルシステムへコピーしてもよい。いくつかの実施形態において、１つまたは複数のサービスが有するアクセスのタイプに基づき、リモートファイルシステムリソース、読み書き阻止、書き込み同期、マスタスレーブ指示、及び／またはその他のシステムアクセスポリシーが、ＵＲＩ２５１４などのリンクのために実装されてもよい。
【０１３９】
いくつかの実施形態において、ＵＲＩ２５１４などのリンクは、１つまたは複数のリンクまたはロケータを介して１つまたは複数のコンピュータシステムサービスに、コンピュータシステムリソースへのアクセスを少なくとも提供するように構成されてもよいマネージドディレクトリサービス２５１２などの、コンピューティングリソースサービスプロバイダ上で動作するサービスによって管理されてもよい。リンクは、コンピューティングリソースサービスプロバイダ内で動作するプロセスによって、あるいは、顧客構内内で動作するプロセスによって、あるいは、コンピューティングリソースサービスプロバイダに接続されたコンピュータシステム上で動作するプロセスによって、あるいは、顧客構内に接続されたコンピュータシステム上で動作するプロセスによって、あるいは、マネージドディレクトリサービスによって、あるいは、これら及び／またはその他のそのようなコンピュータシステムエンティティの組合せによって、提供されてもよい。いくつかの実施形態において、マネージドディレクトリサービスのリンク及び／またはロケータを提供及び／または管理するプロセス（単数または複数）、ならびに、マネージドディレクトリサービス関連するかつ／またはそのコントロール下にあるその他のプロセスは、コンピュータシステムエンティティ上で実行されてもよく、ならびに／あるいは、コンピューティングリソースサービスプロバイダ内で、または、顧客構内で、または、これら及び／またはコンピューティングリソースサービスプロバイダのその他のそのようなローカル及び／またはリモート位置の組合せにおいて、コンピュータシステムリソースを使用してもよい。
【０１４０】
図２６は、ディレクトリサービスなどのコンピュータシステムサービス、ならびに、分散及び／または仮想化されたコンピュータシステム環境における、ディレクトリサービスと関連するユーザリソース、ポリシーリソース、ネットワークリソース、及び／またはストレージリソースなどのリソース、ならびに、少なくとも１つの実施形態に従って、その上で動作する関連コードを含むがこれらに限定されないコンピュータシステムディレクトリリソースにアクセスするための環境２６００を示す。コンピュータシステムエンティティ、ユーザ、またはプロセス２６０２は、コンピュータシステムクライアントデバイス２６０４を通してその他のコンピュータシステムに接続してもよく、１つまたは複数のサービス２６２６への接続２６０６を介してアクセスをリクエストしてもよい。サービスへのアクセスをリクエストするコマンド（単数または複数）は、外部のコンピュータシステム及び／またはサーバから発生してもよく、または、リモートネットワーク位置のエンティティ、ユーザ、またはプロセスから発生してもよい。サービスへのアクセスをリクエストするコマンド（単数または複数）は、いくつかの実施形態において、特権ユーザによって、あるいは、非特権ユーザによって、あるいは、自律的プロセスによって、あるいは、アラームまたは状態の結果として、あるいは、これら及び／またはその他の方法の組合せによって、発行されてもよい。
【０１４１】
コンピュータシステムクライアントデバイス２６０４は、１つまたは複数のネットワーク２６１６及び／または、直接または間接的にそのネットワークに接続されたその他のサーバなどのネットワーク２６１６に関連するエンティティを介してサービスへのアクセスをリクエストしてもよい。上記のように、アクセスは、さまざまな構成及び位置のディレクトリを作成する機能、ならびに、その他のディレクトリ管理操作にアクセスする機能を含んでもよい。いくつかの実施形態において、ディレクトリは、仮想マシン及び／またはその他のクライアントがディレクトリのドメインに参加してもよいように作成及び構成されてもよく、それによって、ディレクトリにアクセスする。たとえば、ディレクトリはコンピューティングリソースサービスプロバイダ内で作成されてもよくて、仮想マシン及び／またはその他のクライアントが必要に応じてディレクトリと結合することを可能とするように構成されてもよい。ディレクトリへのアクセスを必要としてもよいクライアントは、１つまたは複数の認証された接続及び／または１つまたは複数の認可されたＡＰＩコールを使用してディレクトリのドメインに参加することによって、そうしてもよい。コンピューティングリソースサービスプロバイダ内に作成されるディレクトリは、いくつかの実施形態において、隔離仮想ネットワーク内、または、隔離仮想ネットワークのサブネット内に作成されてもよい。隔離仮想ネットワークは、コンピューティングリソースサービスプロバイダの、顧客が構成する隔離サブセクションであり、コンピュータリソースサービスプロバイダ内でその他のサービスに直接アクセス可能ではない、セキュアかつ隔離された仮想ネットワーク環境の顧客に、１つまたは複数のコンピューティングリソースサービスプロバイダサービスを提供する。隔離仮想ネットワークの中で作成されるリソースへのアクセスは、隔離仮想ネットワーク内のその他のサービス及びエンティティのみ利用可能でもよく、リソースが隔離仮想ネットワークのサブネット内に作成される実施形態において、リソースは、そのサブネット内のその他のサービス及びエンティティのみ利用可能でもよい。
【０１４２】
ディレクトリへのアクセスをリクエストしてもよいコンピュータシステムクライアントデバイス２６０４は、ネットワークを介してコンピュータシステムと接続することが可能である任意のデバイスを含んでもよく、それらは、少なくともサーバ、ラップトップ、スマートフォンまたはタブレットなどのモバイルデバイス、スマートウォッチ、スマートテレビ、セットトップボックス、ビデオゲームコンソール、及びその他のそのようなネットワーク使用可能なスマートデバイスなどのその他のスマートデバイス、分散型コンピューティングシステム及びそれらのコンポーネント、ゲストコンピュータシステムまたは仮想マシンなどの抽象化コンポーネント、ならびに／あるいは、その他のタイプのコンピューティングデバイス及び／またはコンポーネントを含む。ネットワークはたとえば、ローカルネットワーク、内部ネットワーク、インターネットなどの公衆ネットワーク、広域ネットワーク、ワイヤレスネットワーク、モバイルネットワーク、衛星ネットワーク、複数のネットワークノードを有する分散型コンピューティングシステムなどを含んでもよい。ネットワークはまた、以下に掲げる、ブルートゥース、ＷｉＦｉ、携帯電話ネットワークプロトコル、衛星ネットワークプロトコル、及び／またはその他などのさまざまなプロトコルに従って動作してもよい。
【０１４３】
いくつかの実施形態において、顧客構内は、１つまたは複数のディレクトリ２６０８を含んでもよく、それは少なくとも部分的に顧客構内に位置してもよく、それはファイル、ならびに／あるいは、ディレクトリ、アプリケーション、データ、データベース、その他のコンピュータシステムリソースへのリンク、システムドライバ、コンピュータオペレーティングシステム、仮想マシン、及び／またはその他のそのようなリソースを含むがこれらに限定されない、その上のその他のコンピュータシステムリソースを保存してもよい。いくつかの実施形態において、コンピュータシステムリソースは、ファイルシステムリソースでもよく、システムランダムアクセスメモリ（ＲＡＭ）、ディスクドライブ、ソリッドステートドライブ、リムーバブルドライブ、あるいはこれら及び／またはその他のそのようなストレージデバイスの組合せなどの、さまざまなストレージデバイスに保存されてもよい。いくつかの実施形態において、コンピュータシステムリソースは、たとえば本明細書で説明されるネットワーク接続などの１つまたは複数の接続を介して、コンピュータシステムクライアントデバイス２６０４によってアクセスされてもよいデータセンタ（一箇所に配置してもよい複数のコンピュータシステムリソース、サービス、及び／またはストレージデバイス）に少なくとも部分的に位置してもよい。コンピュータシステムリソース及び／またはデータセンタはローカルに位置してもよく、ローカル及びリモートを組み合わせて位置してもよい。たとえば、いくつかの実施形態において、ファイルシステム及び／またはディレクトリは、ローカルデータセンタに位置するディスク上に位置してもよく、ファイルシステム及び／またはディレクトリのコンテンツも、リモートデータセンタに位置するディスクに再現されてもよい。いくつかの他の実施形態において、ファイルシステム及び／またはディレクトリは、ローカルでもよい（すなわちデータセンタ内にホストされる））１つのデータセンタにそのコンテンツの少なくとも一部を配置し、またローカルまたはリモートでもよい１つまたは複数のその他のデータセンタにそのコンテンツのその他の部分を配置してもよい。ストレージデバイスは、本明細書に説明されるような物理デバイス、及び／またはそのような物理デバイスの仮想表現を含んでもよい。たとえば、ファイルシステム及び／またはディレクトリストレージデバイスは、いくつかの量の物理メモリを含んでもよく、その一部は、仮想ディスクドライブ上に作成されるファイルシステムを有する仮想ディスクドライブとしてのストレージ専用である。その他のそのようなストレージデバイスは、本開示の範囲内であると見なしてもよい。
【０１４４】
いくつかの実施形態において、サービス２６２６は、本明細書に説明されるような１つまたは複数のコンピュータシステムディレクトリリソースへのアクセスを必要としてもよい。サービス２６２６は、いくつかの実施形態において、ユーザ、その他のコンピュータシステム、プロセス及び／または自動化プロセス、ならびに／あるいはその他のそのようなコンピュータシステムエンティティを含むがこれらに限定されないさまざまなその他のコンピュータシステムエンティティを含んでもよい。システムディレクトリリソースへのアクセス２６１４は、いくつかの実施形態において、マネージドディレクトリサービス２６１８などのサービスによって提供されてもよく、それは１つまたは複数のシステムリソースへのアクセスを提供してもよい。たとえば、ディレクトリ２６０８は、コンピューティングリソースサービスプロバイダ内で、または、顧客構内のデータセンタ内で、または、いくつかのその他のそのような位置の中で、マネージドディレクトリサービス２６１８によって作成されてもよい。ディレクトリがマネージドディレクトリサービスによって作成されると、マネージドディレクトリサービスは、ディレクトリと結合することを望むことがある、または、ディレクトリで認可されたコマンドを実行することを望むことがある、または、その他のディレクトリ管理操作を実行することを望むことがあるサービスにＵＲＩ２６１４を提供することによって、ディレクトリへのアクセスを提供することができる。マネージドディレクトリサービス２６１８は、コンピュータシステム及び／またはコンピュータシステムクライアントデバイスが、認証２６２０、認可２６２２、及びディレクトリサービス２６２４を介したディレクトリ管理の目的のためのアクセスを含むがこれに限定されないディレクトリの管理を行うことを可能にするさまざまなサービスを提供してもよい。
【０１４５】
たとえば、マネージドディレクトリサービスは、ユーザ、コンピュータシステム、プロセス、自動化プロセスまたはその他のそのようなエンティティの証明書を認証できる２６２０認証サービスを提供し、そのエンティティが、たとえば、ディレクトリを作成する、コンピュータシステムがディレクトリのドメインに参加することを可能にするようにディレクトリを構成する、ディレクトリ及び／またはその他のそのようなディレクトリ管理機能を拡張するためにマネージドディレクトリサービスにアクセスすることが認可されるかどうかを少なくとも決定してもよい。いくつかの実施形態において、証明書は、マネージドディレクトリサービス自身によって認証されてもよく、あるいは、それらは、マネージドディレクトリサービスの制御下のプロセス、プログラム、またはサービスによって認証されてもよく、あるいは、それらは、マネージドディレクトリサービスが通信できるプロセス、プログラム、またはサービスによって認証されてもよく、あるいは、それらは、これら及び／あるいはその他のそのようなサービスまたはエンティティの組合せによって認証されてもよい。
【０１４６】
マネージドディレクトリサービス２６１８はまた、ユーザ、コンピュータシステム、プロセス、自動化プロセスまたはその他のそのようなエンティティを認可できる２６２２認可サービスを提供し、そのエンティティがマネージドディレクトリサービスによって管理されるディレクトリに関連して、１つまたは複数の可能なアクションのうちのどのアクションを実行できるかを少なくとも決定してもよい。たとえば、エンティティがディレクトリでの実行を認可されてもよくまたは認可されることができないアクションは、ディレクトリの作成、ディレクトリを含む一連のディレクトリの説明、ディレクトリの削除、ディレクトリの別のディレクトリへの拡張、ディレクトリのスナップショットについての情報の作成及び／または提供、ディレクトリのスナップショットの削除、ディレクトリのスナップショットからのディレクトリのリストア、ディレクトリと関連するタグの管理（追加／削除）、ディレクトリのＵＲＩのエイリアスの作成、エイリアスが利用可能かどうかの確認、ならびに／あるいは、ディレクトリのＵＲＩのエイリアスの削除を含むが、これらに限定されるものではない。ディレクトリが作成されると、ディレクトリの管理者は、作成されたディレクトリで、ディレクトリでの操作を実行することができる。たとえば、管理者は、ファイルシステムの作成、ファイルシステムの破棄、ファイルシステムへの取付け、ファイルシステムからの取り外し、ファイルシステムへのアクセスリンクの提供、ファイルシステムへのアクセスリンクの返還要求、ファイルシステムからの読み取りの許可、ファイルシステムへの書き込みの許可、及び／または、その他のそのようなファイルシステムリソースアクションなどのアクションを実行できる。
【０１４７】
システムリソース上のアクションは、ディレクトリ、ファイル、アプリケーション、データ、データベース、その他のリソースへのリンク、システムドライバ、オペレーティングシステム、仮想マシン、及び／またはその他のそのようなその上のシステムリソースオブジェクトでのアクションを含むが、これらに限定されるものではなくてもよく、本明細書に言及されるアクションのようなアクションを含んでもよい。システムリソースの開始、停止、返還要求、破棄、及び／またはそれ以外の管理を行うアクション、ならびに、その他のそのようなアクションが、利用可能なアクションに含まれてもよい。アクションを実行する認可は、たとえば、特定のエンティティに関連する１組の証明書及び／またはポリシーを保守するシステムなどの証明書発行またはポリシーシステムのようなエンティティによって管理されてもよく、少なくとも一部において証明書及び／またはポリシーの組に基づいて、エンティティが実行を認可されるアクションを決定してもよい。エンティティが実行を認可されてもよいアクションは、静的でもよく、または、時刻、証明書のタイプ、システムポリシー、性質、アクセスされるオブジェクトのタイプまたは位置、あるいは、これら及び／またはその他のそのような認可要因の組合せを含むがこれらに限定されない複数の要因によって変化してもよい。たとえば、コンピュータシステムエンティティは、ファイルシステムの特定のファイルの読み取りのみ、ファイルシステムの特定のその他のファイルの読み取り及び書き込み、ならびに、ファイルシステムの特定のその他のファイルの追加及び削除を認可されてもよい。異なるコンピュータシステムエンティティが、ファイルシステム上の任意のアクションの実行を認可されてもよいが、それは、それらのアクションが特定の位置から、そして特定の時間に開始される場合のみである。１つまたは複数のプロセスは、システムログなどのファイルシステム上のファイルへの書き込みのみ認可されてもよく、同時に、その他のプロセスが、そのファイルからの読み取りのみ認可されてもよい。意図されるように、これらは例示的な実施例である。その他のタイプの操作は、マネージドディレクトリサービス認可システムによって認可されてもよく、そのようなその他のタイプの操作も、本開示の範囲内であると見なされる。
【０１４８】
マネージドディレクトリサービスはまた、認可証明書及び／またはポリシーに従って、コンピュータシステムリソースへの認証されたエンティティアクセス２６３４を提供できる２６２４ディレクトリサービスを提供してもよい。たとえば、コンピュータシステムエンティティがファイルシステムリソースなどのコンピュータシステムリソース上での特定のデータストアの読み書きが認可されてもよい実施形態において、それを行う機能は、ディレクトリサービスによって提供されてもよい。ディレクトリサービスは、ＵＲＩオブジェクトまたはいくつかのその他のそのようなリンケージによるなど、ファイルシステムリソース位置にリンクを提供することによって、ファイルシステムリソースへのアクセスを提供してもよい。ＵＲＩは、コンピュータシステムクライアントデバイスによって、あるいは、データセンタで動作するプロセスによって、あるいは、データセンタに接続されたコンピュータシステム上で動作するプロセスによって、あるいは、マネージドディレクトリサービスによって、あるいは、これら及び／またはその他のそのようなコンピュータシステムエンティティの組合せによって、提供されてもよい。いくつかの実施形態において、ディレクトリ２６０８は、少なくとも図２５に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるように、ディレクトリ２６３０に２６３２で拡張されてもよい。マネージドディレクトリサービスは、認可証明書及び／またはポリシーに従って、ディレクトリ２６３０への認証されたエンティティアクセス２６３４を提供してもよい。
【０１４９】
いくつかの実施形態において、コンピュータシステムディレクトリリソースへのアクセスは、アクセスがリクエスト側エンティティに不可視であるような方法で提供されてもよい。たとえば、アクセス２６３４は、ディレクトリ２６０８の位置２６１０へのＵＲＩまたはその他のそのようなリンクとして、リクエスト側エンティティに提供されてもよい。コンピュータシステムリソースの上の位置は、コンピュータシステム上で動作する１つまたは複数のプロセスによってＵＲＩに変換されてもよい。コンピュータシステムリソースへのアクセスをリクエストしたサービスまたはエンティティ２６２６は、コンピュータシステムリソースの位置に依存する構成を必要とすることなく、コンピュータシステムリソースにアクセスするための２６２８受信したＵＲＩを使用してもよく、いくつかの実施形態において、サービスまたはエンティティ２６２６がコンピュータシステムリソースに直接接続されているように動作するコンピュータシステムリソースにリンクするＵＲＩを使用してもよい。サービスがＵＲＩ２６３４などのリンクを介した拡張されたディレクトリへのアクセスを提供され、次にＵＲＩ２６１４などのリンクを介してオンプレミスディレクトリ２６０８にアクセスしてもよいいくつかの実施形態において、サービスまたはエンティティ２６２６は、ＵＲＩ２６１４及び２６３４の一方または両方にアクセスしてもよく、オンプレミスディレクトリ２６０８及び／または拡張されたディレクトリ２６３０にアクセスするために、その一方または両方を交換可能に使用してもよい。たとえば、サービスまたはエンティティに対して、サービスまたはエンティティに近い位置に位置するように見えてもよいファイルに１組のデータを書き込むように見える操作が、データを実際にネットワークパケットにパッケージ化してもよく、次いで、アクセスリンク２６１４を介してネットワーク２６１６を越えてパケットを転送し、ディレクトリ２６０８のファイルに実際に書き込まれる。意図されるように、これらは例示的な実施例であり、マネージドディレクトリサービスによって実行されてもよいその他のタイプの操作も、本開示の範囲内であると見なしてもよい。
【０１５０】
図２７は、少なくとも図２６に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるように、分散及び／または仮想化されたコンピュータシステム環境におけるローカル及び／またはリモートコンピュータシステムリソースに対する、ローカル及び／またはリモートサービスによる認証、認可、及びアクセスのためのユーザリクエストを提供する環境２７００を示す。コンピュータシステムエンティティ、ユーザ、またはプロセス２７０２は、コンピュータシステムクライアントデバイス２７０４を通してコンピュータシステムに接続してもよく、マネージドディレクトリサービス、クラウドサービス、ウェブサービス、仮想マシンサービス、データベースサービス、及び／またはその他のそのようなコンピューティングリソースサービスプロバイダサービスを含むがこれらに限定されない１つまたは複数のローカル及び／またはリモートサービスへのコンピュータシステムエンティティ、ユーザ、またはプロセスによるアクセスを容易にするために、証明書の認証を２７０６リクエストしてもよい。アクセスは、ディレクトリの作成、ディレクトリの削除、ディレクトリの拡張、ディレクトリへの接続、ディレクトリ及び／またはその他のそのようなディレクトリ管理操作との結合の機能を含んでもよい。たとえば、ユーザまたはプロセス２７０２は、サービス２７２８などの仮想マシンサービスによって管理される仮想マシンを、ユーザまたはプロセスが以前に作成したディレクトリ２７３２と結合するよう所望してもよい。マネージドディレクトリサービスは、ＵＲＩ２７２４を介するアクセスを提供してもよく、いくつかの実施形態において、仮想マシンをディレクトリに結合するための認証及び／または認可をユーザまたはプロセス２７０２に提供してもよい。いくつかの実施形態において、証明書の認証をリクエストするコマンド（単数または複数）は、外部のコンピュータシステム及び／またはサーバから発生してもよく、あるいは、リモートネットワーク位置のエンティティ、ユーザ、またはプロセスから発生してもよく、あるいは、コンピュータシステムから発生してもよく、あるいは、コンピュータシステムクライアントデバイスのユーザから発生してもよく、あるいは、これら及び／またはその他のそのようなオブジェクトの組合せの結果として発生してもよい。証明書の認証をリクエストするコマンド（単数または複数）は、いくつかの実施形態において、特権ユーザによって、あるいは、非特権ユーザによって、あるいは、自律的プロセスなどのプロセスによって、あるいは、アラームまたは状態の結果として、あるいは、これらならびに／あるいはその他のシステム方法及び／またはエンティティの組合せによって、発行されてもよい。
【０１５１】
コンピュータシステムクライアントデバイス２７０４は、１つまたは複数のネットワーク２７０８及び／あるいは直接または間接的にネットワークに接続されるその他のサーバなどのネットワーク２７０８に関連するエンティティを使用して、コンピュータシステムに接続されてもよい。コンピュータシステムクライアントデバイスは、ネットワークを介してコンピュータシステムで接続することが可能である任意のデバイスを含んでもよく、それらは、少なくともサーバ、ラップトップ、スマートフォンまたはタブレットなどのモバイルデバイス、スマートウォッチ、スマートテレビ、セットトップボックス、ビデオゲームコンソール、及びその他のそのようなネットワーク使用可能なスマートデバイスなどのその他のスマートデバイス、分散型コンピューティングシステム及びそれらのコンポーネント、ゲストコンピュータシステムまたは仮想マシンなどの抽象化コンポーネント、ならびに／あるいは、その他のタイプのコンピューティングデバイス及び／またはコンポーネントを含む。ネットワークはたとえば、ローカルネットワーク、内部ネットワーク、インターネットなどの公衆ネットワーク、広域ネットワーク、ワイヤレスネットワーク、モバイルネットワーク、衛星ネットワーク、複数のネットワークノードを有する分散型コンピューティングシステムなどを含んでもよい。ネットワークはまた、以下に掲げる、ブルートゥース、ＷｉＦｉ、携帯電話ネットワークプロトコル、衛星ネットワークプロトコル、及び／またはその他などのさまざまなプロトコルに従って動作してもよい。
【０１５２】
いくつかの実施形態において、コンピュータシステムクライアントデバイス２７０４は、マネージドディレクトリサービス２７１０の制御に対応して及び／または制御の下で動作する１つまたは複数の認証プロセス２７１２にアクセスしてもよく、認証プロセスは、外部プロセスからリクエストに少なくとも応答して、コンピュータシステムエンティティ、ユーザ、またはプロセスをリクエストする証明書を認証するように構成されてもよい。たとえば、リクエスト側コンピュータシステムエンティティ、ユーザ、またはプロセスがマネージドディレクトリサービスへのアクセスが可能とされるか認証プロセスは２７１４で確認してもよい。認証プロセスは、ユーザ名及びパスワードの組合せを検証することによって、あるいは、ハードウェア、ソフトウェア、ファームウェア、またはその他のそのようなデバイス上に格納される暗号鍵を検証することによって、あるいは、コンピュータシステムクライアントデバイスがアクセスをリクエストすることが認可されるかどうかを検証することによって、あるいは、ネットワークがアクセスをリクエストすることが認可されるかどうかを検証することによって、あるいは、これら及び／またはその他のそのような検証方法の組合せによって、マネージドディレクトリサービスへのアクセスを有効にしてもよい。認証プロセスは、その他のそのような認証タスクを実行してもよく、いくつかの実施形態において、コンピュータシステム及び／またはその他のコンピュータシステムに格納されるデータに対応して及び／またはそのデータとともに動作するその他のプロセスと組み合わせて認証タスクを実行してもよい。
【０１５３】
いくつかの実施形態において、本明細書に説明されるようにコンピュータシステムエンティティ、ユーザ、またはプロセス２７０２は、本明細書に説明されるように１つまたは複数のネットワーク２７０８及び／またはそれらに関連するエンティティを使用して、本明細書に説明されるようにコンピュータシステムクライアントデバイス２７０４を通してコンピュータシステムに接続してもよく、中に作成されてもよいディレクトリ２７３２上でまたはそれに接続して、１つまたは複数の操作やプロセスを実行する認可を２７１６でリクエストしてもよく、ならびに／あるいは、コンピューティングリソースサービスプロバイダから、または、コンピューティングリソースサービスプロバイダ内の、もしくは、隔離仮想ネットワークのサブネット内の、もしくは、顧客構内のデータセンタ内の、もしくは、顧客構内の仮想ネットワーク内の、もしくは、いくつかのその他のそのような位置内の隔離仮想ネットワークからアクセス可能でもよい。いくつかの実施形態において、リクエストされる操作認可は、１つまたは複数のコンピュータシステムリソース操作を直接的に実行するリクエストされる認可でもよい。いくつかの実施形態において、リクエストされる操作認可は、ディレクトリの作成または削除などの、ディレクトリに関連する１つまたは複数のコンピュータシステムリソース操作を間接的に実行するリクエストされる操作でもよい。たとえば、リクエストされた操作は、１つまたは複数のコンピュータシステムリソース操作を実行する認可のための、コンピュータシステムエンティティ、ユーザ、またはプロセス２７０２の制御下のリモートコンピュータシステムサービス、プロセス、またはエンティティの認可のリクエストでもよい。認可は、マネージドディレクトリサービス２７１０の制御に対応して及び／またはその制御の下で動作する１つまたは複数の認可プロセス２７１８からリクエストされてもよく、認可プロセスは、外部プロセスからのリクエストに少なくとも応じるように、そして、ディレクトリ２７３２上またはそれ以外ではそのディレクトリに関連するコンピュータシステムエンティティ、ユーザ、またはプロセスによる１つまたは複数の操作及び／またはプロセスの性能を認可するように、構成されてもよい。コンピュータシステムリソースは、顧客構内のデータセンタなどのようにローカルに位置してもよく、あるいは、リモートに位置してもよく、あるいは、分散及び／または仮想コンピュータシステム上などの複数のリモート位置に位置してもよく、あるいは、ローカル及び／またはリモート位置の組合せに位置してもよい。たとえば、ファイルシステムは、ローカルデータセンタに位置するローカルディスク上に位置してもよく、そのファイルシステムのコンテンツはまた、１つまたは複数のリモートデータセンタに位置する１つまたは複数のリモートディスクに再現されてもよい。いくつかの実施形態において、ファイルシステムは、少なくともそのコンテンツの少なくとも一部をローカルまたはリモートでもよい１つのデータセンタに配置し、またそのコンテンツのその他の部分を１つまたは複数のその他のデータセンタに配置してもよい。
【０１５４】
認可されてもよい操作及び／またはプロセスの実施例は、２７２０のリソースオブジェクトの作成及び／または破棄、２７２２のリソースオブジェクトの読み取り及び／または書き込み、ならびに／あるいは、その他のそのようなシステムリソース操作を含むが、これらに限定されるものではない。認可は、エンティティ、ユーザ、またはプロセスによって、日時によって、エンティティのクラスによって、ユーザのクラスによって、プロセスのクラスによって、１つまたは複数のシステムポリシーによって、リクエストの性質によって、あるいは、これら及び／またはその他のそのような考慮事項の組合せによって、変化してもよい。たとえば、コンピュータシステムエンティティは、ファイル及び／またはディレクトリの作成は認可されてもよいが、それらの削除は認可されることはできなくて、あるいは、プロセスは、そのプロセスによって作成されたファイル及び／またはディレクトリの削除のみ認可されてもよいが、他は認可されることはできなくて、あるいは、エンティティは、特定のディレクトリで特定のファイルの読み取りは認可されてもよいが、他は認可されることはできない。意図されるように、これらは例示的な実施例である。その他のタイプの操作は、マネージドディレクトリサービス認可システムによって認可されてもよく、そのようなその他のタイプの操作も、本開示の範囲内であると見なされる。
【０１５５】
いくつかの実施形態において、本明細書に説明されるようにコンピュータシステムエンティティ、ユーザ、またはプロセス２７０２は、本明細書に説明されるように１つまたは複数のネットワーク２７０８及び／またはそれらに関連するエンティティを使用して、本明細書に説明されるようにコンピュータシステムクライアントデバイス２７０４を通してコンピュータシステムに接続してもよく、ディレクトリ２７３２の管理のためにディレクトリ２７３２へのアクセスをリクエストしてもよい１つまたは複数のローカル及び／またはリモートサービス２７２８を作成及び／またはインスタンス化２７２４してもよい。ディレクトリは、本明細書に説明されるような１つまたは複数の位置のうちの１つに事前に作成されていてもよく、アクセスは、ＵＲＩ２７２４を介して作成されたディレクトリに提供されてもよい。いくつかの実施形態において、コンピュータサービス、プロセス、またはエンティティ２７２８は、マネージドディレクトリサービス２７１０の制御に対応して及び／またはその制御の下で動作する１つまたは複数のディレクトリサービスプロセス２７２６にアクセスしてもよく、ディレクトリサービスプロセスは、外部プロセスからのリクエストに少なくとも応答して、そして、１つまたは複数のファイルシステムへのアクセスを提供するように構成されてもよい。１つまたは複数のファイルシステムへのアクセスは、ファイルならびに／あるいはディレクトリ、アプリケーション、データ、データベース、その他のファイルシステムへのリンク、システムドライバ、コンピュータオペレーティングシステム、仮想マシン、及び／またはその他のそのようなファイルシステムオブジェクトなどのその他のファイルシステムオブジェクトに対する、読み取り、書き込み、実行、削除、作成、インスタンス化、及び／またはその他のそのような操作などの操作へのアクセスを含んでもよい。いくつかの実施形態において、操作へのアクセスは、本明細書に説明されるような１つまたは複数の認可プロセス２７１８を有する通信２７３０によって容易にされてもよく、その中に含まれるリソース認可ポリシーに従って認可を提供する。
【０１５６】
前述のように、図２７のコンピュータシステムエンティティ、ユーザ、またはプロセス２７０２、及びコンピュータシステムクライアントデバイス２７０４は、分散型コンピューティングシステム及び／またはデータセンタ環境で相互接続される複数のエンティティ、ユーザ、プロセス、及び／またはデバイスの中の１つでもよい。図２８は、さまざまな実施形態が行われてもよい分散コンピューティング環境及び／またはデータセンタ環境２８００を示す。１つまたは複数のコンピュータシステムエンティティ、ユーザ、またはプロセス２８０２は、１つまたは複数のネットワーク２８０８を介して１つまたは複数のコンピュータシステムサービス２８０６に、１つまたは複数のコンピュータシステムクライアントデバイス２８０４を介して接続してもよい。コンピューティングリソースサービスプロバイダ２８０８に位置してもよい１つまたは複数のローカル及び／またはリモートコンピュータシステムディレクトリリソース２８２０へのサービスによるアクセスは、少なくとも図２５に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるように、２８１２のマネージドディレクトリサービスを介して、１つまたは複数のＵＲＩ２８１０などの１つまたは複数の接続によって提供されてもよい。ローカル及び／またはリモートシステムリソースは、少なくとも図２５に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるように、ＵＲＩ２８２２を介したローカルデータセンタ２８１６からのローカルシステムリソース２８１４の２８１８の拡張でもよい。ディレクトリ２８２０は、いくつかの実施形態において、コンピューティングリソースサービスプロバイダ内の隔離仮想ネットワークの内側に位置してもよく、または、本明細書に説明されるように隔離仮想ネットワークのサブネット内に位置してもよい。オンプレミスディレクトリ２８１４は、いくつかの実施形態において、本明細書に説明されるように顧客構内内の仮想ネットワーク内に位置してもよい。
【０１５７】
ディレクトリがコンピューティングリソースサービスプロバイダによって提供されるデータセンタに位置するいくつかの実施形態において、複数ユーザ、サービス、デバイス、プロセス、及び／またはその他のそのようなコンピュータシステムエンティティは、ディレクトリへのアクセスを提供するコンピューティングリソースサービスプロバイダにアクセスしてもよい位置から、データセンタ及びディレクトリにアクセスしてもよい。ディレクトリが隔離仮想ネットワーク内または隔離仮想ネットワークのサブネット内に位置し、コンピュータシステムエンティティが隔離仮想ネットワーク内またはサブネット内に位置するいくつかの実施形態において、ディレクトリは隔離仮想ネットワークまたはサブネット内のそれらのエンティティに対して利用可能とされてもよい。たとえば、コンピューティングリソースサービスプロバイダで位置するディレクトリは、コンピューティングリソースサービスプロバイダにアクセスすることができる複数のデバイスかつ複数の位置からの適切な認可を有するコンピュータシステムエンティティによってアクセスされてもよい。ディレクトリは、ユーザ、サービス、デバイス、プロセス、及び／またはその他のそのようなコンピュータシステムエンティティによって共有されてもよく、それぞれは、それらのコンピュータシステムエンティティが位置するところに関係なく、ディレクトリにアクセスして、たとえばディレクトリのドメインに参加してよいが、それは、それらのエンティティがコンピューティングリソースサービスプロバイダにアクセスして、適切な証明書を有する場合に限る。このような実施形態において、ディレクトリへのアクセスは、少なくとも図２５及び２６に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるように、少なくとも一部においてマネージドディレクトリサービスによって提供されてもよい。
【０１５８】
ディレクトリが、たとえば、顧客によって提供されるデータセンタに位置し、そして顧客構内に位置するいくつかの実施形態において、複数ユーザ、サービス、デバイス、プロセス、及び／またはその他のそのようなコンピュータシステムエンティティは、同様の方法で、多くの異なる位置からディレクトリにアクセスしてもよいが、それは、それらのエンティティが顧客構内のデータセンタにアクセスする場合に限る。このような実施形態において、顧客構内のデータセンタへのアクセスは、少なくとも図２５及び２６に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるように、少なくとも一部においてマネージドディレクトリサービスによって提供されてもよい。意図されるように、これらは例示的な実施例であり、複数のコンピュータシステムエンティティがデータセンタ及び／またはシステムリソースに接続することを可能にする２８１６データセンタ及び２８１４システムリソースの位置のその他のタイプ及び／または配置は、本開示の範囲内であると見なしてもよく、それらは、分散されたデータセンタ及び／またはシステムリソース、仮想データセンタ及び／またはシステムリソース、冗長性をもつデータセンタ及び／またはシステムリソース、部分的にローカルなデータセンタ及び／またはシステムリソース、隔離仮想ネットワーク、隔離仮想ネットワークのサブネット、ならびに／あるいは、部分的にリモートなデータセンタ及び／またはシステムリソースを含むが、これらに限定されない。さらに意図されるように、システムリソースは、さまざまなシステムリソースを含んでもよく、それらは、ローカル及び／またはリモートストレージ位置、システムメモリ、中央処理装置（ＣＰＵ）、ネットワークインタフェース、ネットワーク帯域幅、ディスプレイデバイス、入力デバイス、ならびに／あるいはその他のそのようなコンピュータシステムリソースを含むが、これらに限定されず、これらのその他のそのようなリソースも本開示の範囲内であると見なしてもよい。
【０１５９】
図２９は、少なくとも図２７に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるように、認証及び認可証明書のために使用される中央位置ユーザプロファイル、記憶装置、及びシステムポリシーを保守するための例示的環境２９００を示す。管理者２９０２は、いくつかの実施形態において、顧客構内に位置してもよい１つまたは複数のローカルストレージ位置に位置してもよい、あるいは、いくつかの実施形態において、コンピューティングリソースサービスプロバイダに位置してもよい１つまたは複数のリモートストレージ位置に位置してもよい、あるいは、いくつかの実施形態において、ローカル及びリモートストレージ位置の組合せに位置してもよいストレージ位置に位置してもよい、１組のシステムアクセスデータ２９０４を有してもよい。いくつかの実施形態において、システムアクセスデータは、ユーザ名、ユーザパスワード、ユーザ個人データ、及び／またはその他のそのようなユーザプロファイル情報を含有してもよい１つまたは複数のユーザプロファイル２９０６を含有してもよい。ユーザプロファイルは、少なくとも図２７に関連して、そして少なくとも１つの実施形態に従って本明細書に説明される認証サービスなどの認証サービスを提供するために、１つまたは複数のシステムによって使用されてもよい。いくつかの実施形態において、システムアクセスデータは、１つまたは複数のコンピュータシステムリソースへの参照を含有してもよい１つまたは複数の記憶装置２９０８を含有してもよい。いくつかの実施形態において、システムアクセスデータは、たとえば、システムサービス、ファイルシステム、ディレクトリ、マシン、仮想マシン、アプリケーション、ドキュメント、及び／またはその他のそのようなシステムリソースなどのシステムリソースへのアクセスを可能にする、禁止する、及び／または制限する１つまたは複数のポリシーステートメントを含有してもよい１つまたは複数のポリシー２９１０を含有してもよい。ポリシーステートメントは、１つまたは複数のユーザプロファイルのコンテンツ、ユーザプロファイルタイプ、リクエスト側サービス、リクエスト側サービスタイプ、リクエスト側サービス位置、時刻、ユーザの事業価値、クライアント、顧客、リクエスト及び／またはその他のそのような事業価値、またはこれら及び／またはその他のそのような要因の組合せなどの要因に基づいて、システムリソースへのアクセスを可能にしてもよく、禁止してもよく、及び／または制限してもよい。
【０１６０】
マネージドディレクトリサービスは、マネージドディレクトリサービスを提供するコンピューティングリソースサービスプロバイダのアカウントと関連するそれぞれのユーザに、さまざまなレベルのアクセスを提供してもよい。たとえば、いくつかのユーザは、ディレクトリを作成及び削除することができてもよく、一方で、その他のユーザは、ディレクトリを削除する認可がなくてもよい。したがって、図３０は、マネージドディレクトリサービスによって管理されるディレクトリの管理機能へのアクセスを制御するための例示的プロセス３０００を示す。以下でより詳細に論じられるように、プロセスは、少なくとも図２７に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるように、マネージドディレクトリサービスへのアクセスを認証するために、かつ、マネージドディレクトリサービスと関連する１つまたは複数のコマンドの実行を認証されるエンティティを認可するために、使用されてもよい。図２７で説明されるようにマネージドディレクトリサービス２７１０などのサービス、またはマネージドディレクトリサービスと関連するプロセスは、図３０に示されるアクションを実行してもよい。
【０１６１】
マネージドディレクトリサービスは、リクエスタがマネージドディレクトリサービス、ならびにマネージドディレクトリサービスによって提供されるコマンド、リソース、及び／またはサービスのうちの１つまたは複数にアクセスすることを可能にするリクエスト３００２を受信してもよい。いくつかの実施形態において、リクエスタは、少なくとも図２５に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるコンピュータシステムエンティティ、ユーザ、またはプロセスなどのコンピュータシステムエンティティ、ユーザ、またはプロセスでもよい。いくつかの実施形態において、リクエストは、外部のコンピュータシステム及び／またはサーバから発生してもよく、あるいは、リモートネットワーク位置のエンティティ、ユーザ、またはプロセスから発生してもよく、あるいは、ローカルコンピュータシステムから発生してもよく、あるいは、コンピュータシステムクライアントデバイスのユーザから発生してもよく、あるいは、これら及び／またはその他のそのような状態の組合せの結果として発生してもよい。リクエストを発行するコマンド（単数または複数）は、いくつかの実施形態において、特権ユーザによって、あるいは、非特権ユーザによって、あるいは、自律的プロセスによって、あるいは、アラームまたは状態の結果として、あるいは、これら及び／またはその他の方法の組合せによって、発行されてもよい。
【０１６２】
マネージドディレクトリサービスは最初に、少なくとも図２７に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるプロセスなどのプロセスを使用するユーザを３００４で認証してもよい。マネージドディレクトリサービスは、いくつかの実施形態において、少なくとも図２９に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるユーザプロファイルデータなどのシステムアクセスデータを使用してもよい。リクエスタが３００４で認証される場合、マネージドディレクトリサービスは３００８で接続を可能にし、３０１０でリクエスタからのコマンドを受信し始める。リクエスタが３００４で認証されない場合、マネージドディレクトリサービスは３００６で接続を拒絶してもよい。
【０１６３】
マネージドディレクトリサービスが３０１０でリクエスタからコマンドを受信し始めると、マネージドディレクトリサービスは、リクエスタが各コマンドの実行を認可されるかどうかを３０１４で決定してもよい。マネージドディレクトリサービスが受信してもよいコマンドの実施例は、ディレクトリを作成または破棄するコマンド、ディレクトリサービスを管理するコマンド、ディレクトリタグを管理するコマンド、ディレクトリエイリアスを管理するコマンド、ディレクトリへの読み出し及び／またはディレクトリからの書き込みのコマンド、ならびに／あるいは、その他のそのようなコマンドを含むがこれらに限定されるものではない。マネージドディレクトリサービスは、少なくとも図２７に関連して、そして少なくとも１つの実施形態に従って本明細書に説明される認可プロセスなどの認可プロセスを使用して、各コマンドを実行するリクエスタを認可してもよい。マネージドディレクトリサービスは、いくつかの実施形態において、少なくとも図２９に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるユーザプロファイル及び／またはポリシーデータなどのシステムアクセスデータを使用してもよい。
【０１６４】
リクエスタが受信したコマンドの実行を３０１４で認可されない場合、マネージドディレクトリサービスは３０１６で特定のコマンドを拒絶してもよく、次いで、３０１２でリクエスタからのコマンドの処理を続けなければならないかどうか決定してもよい。いくつかの実施形態において、いくつかの拒絶されたコマンドが、コマンドを実行しないことになってもよく、いくつかの拒絶されたコマンドが、コマンドが拒絶されたリクエスタ及び／またはその他のコンピュータシステムエンティティに警告することになってもよく、いくつかの拒絶されたコマンドが、リクエスタへの接続を終了させることになってもよく、いくつかの拒絶されたコマンドが、これら及び／またはその他のそのようなアクションの組合せになってもよい。マネージドディレクトリサービスが、リクエスタからのコマンドを受信し続けることを３０１２で決定する場合、マネージドディレクトリサービスは、３０１２で次のコマンドを待ってもよい。マネージドディレクトリサービスが、続けることを３０１２で決定しない場合、マネージドディレクトリサービスは、３０２２でリクエスタを切断してもよい。いくつかの実施形態において、３０２２リクエスタの分離は、リクエスタの分離、リクエスタへの切断の通知、１つまたは複数のその他のコンピュータシステムエンティティへの切断の通知、あるいは、これら及び／またはその他のそのような切断アクションの組合せを含んでもよい。
【０１６５】
リクエスタが受信したコマンドの実行を３０１４で認可される場合、マネージドディレクトリサービスは３０１８で、コマンドの実行、コマンドが許可されることのリクエスタへの警告、コマンドが許可されることの１つまたは複数のその他のシステムエンティティへの警告、１つまたは複数のその他のシステムエンティティへのコマンドの実行のリクエスト、あるいは、これら及び／またはその他のそのような応答の組合せを含んでもよいコマンドを許可してもよい。受信したコマンド及び／または３０１８への応答は、マネージドディレクトリサービスにリクエスタを３０２２で切断させてもよい、３０２０の切断するリクエストをコマンドが、少なくとも一部において含んでもよいことを可能にする。マネージドディレクトリが３０２０の切断コマンドを受信しない場合、マネージドディレクトリサービスは、３０１０で次のコマンドを待ってもよい。
【０１６６】
図３１は、少なくとも図２５に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるように、コンピューティングリソースサービスプロバイダ内に位置するディレクトリなどのリモートシステムディレクトリにオンプレミスディレクトリなどのローカルディレクトリを拡張するための例示的環境３１００を示す。コンピュータシステムユーザ、プロセス、またはサービスなどのコンピュータシステムエンティティは、本明細書に説明されるネットワーク接続などの１つまたは複数の接続についてのネットワークプロトコルまたはその他のそのような通信プロトコルなどの１つまたは複数の接続プロトコルを使用して、ローカル及び／またはリモートシステムリソースに接続してもよい。コンピュータシステムエンティティとコンピュータシステムリソースとの間の接続は、たとえば、一方向接続、双方向接続、読み取り専用接続、読み書き接続、あるいは、これら及び／またはその他の接続タイプの組合せでもよい。いくつかの実施形態において、コンピュータシステムエンティティは、コンピュータシステムクライアントデバイスを介して、３１０８でリモートディレクトリにローカルシステムディレクトリを拡張する１つまたは複数のコマンドを発行してもよい。ローカルシステムディレクトリを拡張するコマンド（単数または複数）は、いくつかの実施形態において、特権ユーザによって、あるいは、非特権ユーザによって、あるいは、自律的プロセスなどのプロセスによって、あるいは、アラームまたは状態の結果として、あるいは、これらならびに／あるいはその他のシステム方法及び／またはエンティティの組合せによって、発行されてもよい。ローカルシステムディレクトリを拡張するコマンド（単数または複数）は、いくつかの実施形態において、少なくとも図２７に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるマネージドディレクトリサービスなどのマネージドディレクトリサービス３１１０に発行されてもよい。
【０１６７】
いくつかの実施形態において、マネージドディレクトリサービスは最初に、ローカルシステムディレクトリを拡張するコマンドを３１１２で認証及び認可してもよく、認証及び認可される場合、マネージドディレクトリサービス３１１４は、少なくとも図２５に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるように、ディレクトリ３１１８を３１１６で作成してもよい。マネージドディレクトリサービス３１１０は、いくつかの実施形態において、マネージドディレクトリサービス３１１４と同一でもよい。リモートディレクトリリソースが作成されたあと、ローカルシステムディレクトリを拡張するコマンドは、ローカルシステムディレクトリを３１１８リモートシステムディレクトリに３１２６で拡張するローカルシステムディレクトリ３１０６に発行されてもよい。また、コンピュータシステムクライアントデバイスは、マネージドディレクトリサービスが、ＵＲＩ３１３０などのリンクを介して、リモートシステムディレクトリに３１２８で接続してもよいように、マネージドディレクトリサービスへのＵＲＩなどのリンクを提供してもよい。
【０１６８】
図３２は、少なくとも図２７に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるマネージドディレクトリサービスなどのマネージドディレクトリサービスを使用するコンピューティングリソースサービスプロバイダ内に位置するディレクトリなどのリモートシステムディレクトリにオンプレミスディレクトリなどのローカルシステムディレクトリを拡張するための例示的プロセス３２００を示す。図２７で説明されるようにマネージドディレクトリサービス２７１０などのサービス、またはマネージドディレクトリサービスと関連するプロセスは、図３２に示されるアクションを実行してもよい。
【０１６９】
マネージドディレクトリサービスは、ローカルシステムディレクトリを拡張するリクエスト３２０２を受信してもよい。いくつかの実施形態において、リクエスタは、少なくとも図２５に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるコンピュータシステムエンティティ、ユーザ、またはプロセスなどのコンピュータシステムエンティティ、ユーザ、またはプロセスでもよい。いくつかの実施形態において、リクエストは、外部のコンピュータシステム及び／またはサーバから発生してもよく、あるいは、リモートネットワーク位置のエンティティ、ユーザ、またはプロセスから発生してもよく、あるいは、ローカルコンピュータシステムから発生してもよく、あるいは、コンピュータシステムクライアントデバイスのユーザから発生してもよく、あるいは、これら及び／またはその他のそのような状態の組合せの結果として発生してもよい。リクエストを発行するコマンド（単数または複数）は、いくつかの実施形態において、特権ユーザによって、あるいは、非特権ユーザによって、あるいは、自律的プロセスによって、あるいは、アラームまたは状態の結果として、あるいは、これら及び／またはその他の方法の組合せによって、発行されてもよい。
【０１７０】
マネージドディレクトリサービスは最初、リクエストを３２０４で認証及び認可してもよく、３２０６でリクエストまたはリクエスタがそのような操作の実行が認可されない場合は３２０８で許可が与えられず、マネージドディレクトリサービスは、３２１６で戻ってもよい。３２０６でマネージドディレクトリサービスがリクエストやリクエスタを認証及び認可できる場合、マネージドディレクトリサービスは、ディレクトリへのアクセスが読み取り専用または読み取り／書き込みであるかどうかを３２２０で決定してもよい。リモートシステムが３２２０でディレクトリへの読み取りのみまたは読み取り／書き込みアクセスを有するかどうかに基づき、マネージドディレクトリサービスは、３２２２で読み取り専用ディレクトリを作成してもよく、または、３２２４で読み取り／書き込みディレクトリを作成してもよい。リモートシステムリソースは、ローカルディレクトリからリモートディレクトリへ、コンテンツ、状態、及び／または構造の少なくとも一部をコピーすることによって作成されてもよい。マネージドディレクトリサービスが、３２１２でディレクトリの作成及び／または初期化に失敗した場合、マネージドディレクトリサービスは、エラーを３２１４で発行してもよい。クロスプレミスディレクトリサービスが３２１２でリモートディレクトリの作成及び／または初期化に成功した場合、クロスプレミスディレクトリサービスは３２１６に戻る前に拡張してもよい。
【０１７１】
図３３は、少なくとも図２７に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるように、マネージドディレクトリサービスを使用して、読み取り専用許可を有するリモートディレクトリにローカルディレクトリを拡張するための例示的環境３３００を示す。コンピューティングリソースサービスプロバイダ３３０６のサービス３３０８は、オンプレミスディレクトリ３３１２などのローカルディレクトリの拡張３３１４であるリモートディレクトリ３３１６への読み取り専用アクセス３３１８を有してもよく、拡張は、少なくとも図２５に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるとおりである。サービスは、マネージドディレクトリサービス３３１０によって提供されるＵＲＩなどの３３１８のリンクを介して、リモートディレクトリから読み取ってもよい。サービスがリモートディレクトリ３３１６への書き込みアクセスを有しないため、サービスはリモートディレクトリに書き込むことができない。いくつかの実施形態において、サービスは、マネージドディレクトリサービス３３１０によって提供されるＵＲＩなどの３３２０のリンクを介して、ローカルディレクトリ３３１２に書き込んでもよい。このような実施形態において、ローカルディレクトリへの書き込みは、ＵＲＩ３３２２などの再現リンクを介して、リモートディレクトリに再現されてもよい。いくつかの実施形態において、許可された書き込みアクセスがないと判定されると、書き込みは、その代わりに、ＵＲＩ３３２２などの再現リンクを介して書き込みをローカルリソースにリダイレクトしてもよいディレクトリ３３１６に向けられてもよい。
【０１７２】
図３４は、少なくとも図２７に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるように、マネージドディレクトリサービスと関連する読み取り専用ディレクトリへの読み取り及び書き込みのための例示的プロセス３４００を示す。図２７で説明されるマネージドディレクトリサービス２７１０などのサービス、またはマネージドディレクトリサービスと関連するプロセスは、プロセス３４００に示されるアクションを実行してもよい。
【０１７３】
マネージドディレクトリサービスは、読み取り専用ディレクトリへの読み取りまたは書き込みを行うリクエスト３４０２を受信してもよい。いくつかの実施形態において、リクエスタは、少なくとも図２５に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるコンピュータシステムエンティティ、ユーザ、またはプロセスなどのコンピュータシステムエンティティ、ユーザ、またはプロセスでもよい。いくつかの実施形態において、リクエストは、外部のコンピュータシステム及び／またはサーバから発生してもよく、あるいは、リモートネットワーク位置のエンティティ、ユーザ、またはプロセスから発生してもよく、あるいは、ローカルコンピュータシステムから発生してもよく、あるいは、コンピュータシステムクライアントデバイスのユーザから発生してもよく、あるいは、これら及び／またはその他のそのような状態の組合せの結果として発生してもよい。リクエストを発行するコマンド（単数または複数）は、いくつかの実施形態において、特権ユーザによって、あるいは、非特権ユーザによって、あるいは、自律的プロセスによって、あるいは、アラームまたは状態の結果として、あるいは、これら及び／またはその他の方法の組合せによって、発行されてもよい。
【０１７４】
３４０４の操作タイプが読み取りである場合、マネージドリソースサービスは、いくつかの実施形態において、読み取りを実行する前に、オンプレミスディレクトリなどのローカルディレクトリからコンピューティングリソースサービスプロバイダ内に位置するディレクトリなどのリモートディレクトリへのデータの更新及び／または同期を３４０６でリクエストしてもよい。いくつかの実施形態において、更新及び／または同期は、１つまたは複数のプロセスによって発行されるコマンドの結果として生じてもよく、あるいは、自動的に生じてもよく、あるいは、システムタイマの結果として生じてもよく、あるいは、まったく生じなくてもよい。更新後、マネージドディレクトリサービスは、３４１０でリモートディレクトリから読み取ってもよく、次いで、３４１８で次の読み取りまたは書き込みのリクエストを待機してもよい。
【０１７５】
３４０４操作タイプが書き込み操作であり、サービスがリモートディレクトリへの書き込み許可を有しない場合、サービスは、その代わりに、３４０８でローカルディレクトリへの書き込みを送信する。ローカルディレクトリは任意の書き込み衝突があるかどうかを３４１２で判定してもよく、書き込み衝突があると判定された場合、最初に３４１４で書き込み衝突を調停してもよい。ディレクトリがコンピュータファイルシステムを含むとき、複数のプロセスがデータを同一のファイルまたはその他のそのようなファイルシステム位置へ書き込もうとするときに書き込み衝突が発生することがある。書き込みが許可される前に、書き込み衝突は潜在的なエラーのために調停されてもよい。いくつかの実施形態において、書き込み衝突は、データに関する権限として１つのプロセスを選択することによって調停されてもよく、正式なプロセスを選択して書き込み衝突を調停する。書き込み衝突がローカルディレクトリで調停されると、それらはローカルディレクトリからリモートディレクトリへ３４１６で逆に再現されてもよく、次いで、マネージドディレクトリサービスは、３４１８で次の読み取りまたは書き込みリクエストを待機してもよい。意図されるように、これらの操作は、拡張されたディレクトリを使用して実行されてもよい操作のタイプの例示的な実施例であり、その他の操作は、本開示の範囲内であると見なされてもよい。いくつかの実施形態において、プロセス３４００は、複数のローカル及び／またはリモートディレクトリを使用して実行されてもよく、１つまたは複数の書き込み可能なディレクトリによって、特定のシステムによる書き込み衝突を解決する。
【０１７６】
いくつかの実施形態において、正式なまたはマスタディレクトリは、少なくとも図３４に関連して本明細書に説明されるように、ローカルまたはオンプレミスディレクトリでもよい。いくつかの実施形態において、正式なまたはマスタディレクトリは、リモートまたはコンピューティングリソースサービスプロバイダディレクトリでもよい。正式なまたはマスタディレクトリがコンピューティングリソースサービスプロバイダディレクトリであるような実施形態において、ステップ３４１２の書き込み衝突は、マネージドディレクトリサービスによって評価されてもよい。任意の書き込み衝突がある場合、マネージドディレクトリサービスは、ステップ３４１４で衝突を調停してもよい。いくつかの実施形態において、オンプレミスディレクトリ、及びコンピューティングリソースサービスプロバイダディレクトリ、及び／またはこれらのエンティティと関連する１つまたは複数のサービスは、協働して書き込み衝突の有無の判定及び／またはそれらの衝突の調停を行ってもよい。
【０１７７】
図３５は、少なくとも図２７に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるように、マネージドディレクトリサービスを使用する、読み取り／書き込み許可を有するリモート（コンピューティングリソースサービスプロバイダ）ディレクトリへのローカル（オンプレミス）ディレクトリの拡張のための例示的環境３５００を示す。コンピューティングリソースサービスプロバイダ３５０６のサービス３５０８は、ローカルディレクトリ３５１２の拡張３５１４であるリモートディレクトリ３５１６への３５１８の読み取り／書き込みアクセスを有してもよく、拡張は、少なくとも図２５に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるとおりである。サービスは、３５１８のマネージドディレクトリサービス３５１０によって提供されるＵＲＩなどのリンクを介してリモートディレクトリから読み取ってもよい。サービスは、マネージドディレクトリによって提供される同一のリンクを介して、リモートディレクトリに書き込んでもよい。いくつかの実施形態において、サービスはまた、図３３に関連して本明細書に説明されるように、リンク３３２０などのＵＲＩのようなリンクを介してローカルディレクトリ３５１２への読み書きを行ってもよい。このような実施形態において、ローカルディレクトリへの書き込みは、リモートディレクトリに３５２０で再現されてもよい。
【０１７８】
図３６は、少なくとも図２７に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるように、マネージドディレクトリサービスと関連するディレクトリへの読み取り及び書き込みのための例示的プロセス３６００を示す。図２７で説明されるようにマネージドディレクトリサービス２７１０などのサービス、またはマネージドディレクトリサービスと関連するプロセスは、プロセス３６００に示されるアクションを実行してもよい。
【０１７９】
マネージドディレクトリサービスは、ディレクトリへの読み取りまたは書き込みを行うリクエスト３６０２を受信してもよい。いくつかの実施形態において、リクエスタは、少なくとも図２５に関連して、そして少なくとも１つの実施形態に従って本明細書に説明されるコンピュータシステムエンティティ、ユーザ、またはプロセスなどのコンピュータシステムエンティティ、ユーザ、またはプロセスでもよい。いくつかの実施形態において、リクエストは、外部のコンピュータシステム及び／またはサーバから発生してもよく、あるいは、リモートネットワーク位置のエンティティ、ユーザ、またはプロセスから発生してもよく、あるいは、ローカルコンピュータシステムから発生してもよく、あるいは、コンピュータシステムクライアントデバイスのユーザから発生してもよく、あるいは、これら及び／またはその他のそのような状態の組合せの結果として発生してもよい。リクエストを発行するコマンド（単数または複数）は、いくつかの実施形態において、特権ユーザによって、あるいは、非特権ユーザによって、あるいは、自律的プロセスによって、あるいは、アラームまたは状態の結果として、あるいは、これら及び／またはその他の方法の組合せによって、発行されてもよい。
【０１８０】
３６０４の操作タイプが読み取りである場合、マネージドリソースサービスは、いくつかの実施形態において、読み取りを実行する前に、ローカルディレクトリ（オンプレミスディレクトリなど）からリモートディレクトリ（コンピューティングリソースサービスプロバイダディレクトリなど）へのデータの更新及び／または同期を３６０６でリクエストしてもよい。更新及び／または同期は、１つまたは複数のプロセスによって発行されるコマンドの結果として生じてもよく、あるいは、自動的に生じてもよく、あるいは、システムタイマの結果として生じてもよく、あるいは、まったく生じなくてもよい。更新後、マネージドディレクトリサービスは、３６１０でリモートディレクトリから読み取ってもよく、次いで、３６２０で次の読み取りまたは書き込みのリクエストを待機してもよい。
【０１８１】
３６０４操作タイプが書き込み操作である場合、サービスは、３６０８でリモートディレクトリへの書き込みを送信してもよく、２つのシステム間の同期を維持するために、３６１２でローカルディレクトリへの書き戻しを再現してもよい。ローカルディレクトリは任意の書き込み衝突があるかどうかを３６１４で判定してもよく、書き込み衝突があると判定された場合、最初に３６１６で書き込み衝突を調停してもよい。ディレクトリがコンピュータシステムファイルシステムを含むとき、複数のプロセスがデータを同一のファイルまたはその他のそのようなファイルシステム位置へ書き込もうとするときに書き込み衝突が発生することがある。書き込みが許可される前に、書き込み衝突は潜在的なエラーのために調停されてもよい。いくつかの実施形態において、書き込み衝突は、データに関する権限として１つのプロセスを選択することによって調停されてもよく、正式なプロセスを選択して書き込み衝突を調停する。書き込み衝突がローカルディレクトリで調停されると、それらはローカルディレクトリからリモートディレクトリへ３６１８で逆に再現されてもよく、次いで、マネージドディレクトリサービスは、３６２０で次の読み取りまたは書き込みリクエストを待機してもよい。意図されるように、これらの操作は、ディレクトリを使用して実行されてもよい操作のタイプの例示的な実施例であり、その他の操作は、本開示の範囲内であると見なされてもよい。
【０１８２】
本明細書に説明されるプロセス３６００は、ローカルディレクトリが有利に競合または衝突を解決するという点で、ローカルディレクトリが正式なディレクトリであることを前提とする。いくつかの実施形態において、リモートディレクトリは、正式なディレクトリでもよく、３６１２でローカルディレクトリへの書き戻しを再現する前に、調停を実行してもよい。いくつかの実施形態において、ローカルディレクトリ及びリモートディレクトリは、正式な義務を分担してもよく、どちらが書き込み衝突を調停してもよいか、及び／または、それらの書き込み衝突をどのように解決してもよいかについて、それらの間で取り決める。プロセス３６００は、複数のローカル及び／またはリモートディレクトリを使用して実行されてもよく、１つまたは複数のディレクトリによって、特定のシステム実施形態による書き込み衝突を解決する。
【０１８３】
図３７は、さまざまな実施形態による態様を実装するための例示的環境３７００の態様を示す。理解されるように、ウェブベースの環境が解説のために使用されるが、さまざまな実施形態を実装するために異なる環境が、適宜、使用されてもよい。環境には、電子クライアントデバイス３７０２が含まれ、それは、適切なネットワーク３７０４越しにリクエスト、メッセージ、または情報を送信及び／または受信し、いくつかの実施形態において、情報をデバイスのユーザへ戻すために使用可能な任意の適切なデバイスを含むことができる。そのようなクライアントデバイスの実施例は、パーソナルコンピュータ、携帯電話、携帯メッセージングデバイス、ラップトップコンピュータ、タブレットコンピュータ、セットトップボックス、パーソナルデータアシスタント、組み込み型コンピュータシステム、電子ブックリーダなどを含む。ネットワークは、イントラネット、インターネット、携帯電話ネットワーク、ローカルエリアネットワーク、衛星ネットワーク、または任意のその他のそのようなネットワーク、及び／またはそれらの組合せを含む任意の適切なネットワークを含むことができる。そのようなシステムに使用されるコンポーネントは、選択されるネットワーク及び／または環境のタイプに、少なくとも一部において依存する可能性がある。そのようなネットワークを介して通信するためのプロトコル及びコンポーネントは、よく知られており、本明細書では詳細に論じない。ネットワーク越しの通信は、有線または無線接続及びそれらの組合せによって可能にすることができる。本実施例では、環境がリクエストを受信し、それに答えてコンテンツを供給するためのウェブサーバ３７０６を含むとき、ネットワークはインターネットを含むが、当業者にとって明らかであるように、その他のネットワークは、類似の目的を供給する代替のデバイスを使用することができる。
【０１８４】
例示的な環境は、少なくとも１つのアプリケーションサーバ３７０８及びデータストア３７１０を含む。いくつかのアプリケーションサーバ、レイヤ、またはその他のエレメント、プロセスまたはコンポーネントが存在することができるが、それらは連結されてもよく、またはそれ以外に構成されてもよく、適切なデータストアからデータを取得するなどのタスクを実行するために相互作用することができることは理解されるべきである。サーバは、本明細書で使用される場合、ハードウェアデバイスまたは仮想コンピュータシステムなど、さまざまな方法で実装されてもよい。いくつかの文脈において、サーバは、コンピュータシステム上で実行されているプログラミングモジュールを参照してもよい。本明細書で使用される場合、特に明記しない限り、または文脈から明らかでない限り、「データストア」という用語は、データの記憶、アクセス、及び検索が可能な、任意のデバイスまたはデバイスの組合せに関するものであり、任意の標準的な、分散された、仮想の、またはクラスタ化された環境において、任意の組合せ及び任意の数のデータサーバ、データベース、データストレージデバイス、及びデータストレージメディアを含んでもよい。アプリケーションサーバは、クライアントデバイスの１つまたは複数のアプリケーションの態様を実行するために必要に応じてデータストアと統合するための任意の適切なハードウェア、ソフトウェア、及びファームウェアを含むことができ、アプリケーションのデータアクセス及びビジネスロジックの一部またはすべてを処理する。アプリケーションサーバは、データストアと連携するアクセス制御サービスを提供してもよく、テキスト、グラフィクス、オーディオ、ビデオ、及び／またはユーザに提供するために使用可能なその他のコンテンツを含むがこれらに限定されないコンテンツを生成することができ、ハイパーテキストマークアップランゲージ（「ＨＴＭＬ」）、拡張可能マークアップランゲージ（「ＸＭＬ」）、ＪａｖａＳｃｒｉｐｔ（登録商標）、カスケーディングスタイルシート（「ＣＳＳ」）、または別の適切なクライアントサイド構造化言語の形態で、ウェブサーバによってユーザに供給することができる。クライアントデバイスに転送されるコンテンツは、クライアントデバイスによって処理されてもよく、可聴的に、視覚的に、ならびに／あるいは触覚、味覚、及び／または嗅覚を含むその他の感覚によってユーザに認識できる形態を含むがこれらに限定されない１つまたは複数の形態でコンテンツを提供する。すべてのリクエスト及び応答の処理、ならびにクライアントデバイス３７０２とアプリケーションサーバ３７０８との間のコンテンツの配信は、本実施例においては、ＰＨＰハイパーテキストプリプロセッサ（「ＰＨＰ」）、Ｐｙｔｈｏｎ（登録商標）、Ｒｕｂｙ（登録商標）、Ｐｅｒｌ（登録商標）、Ｊａｖａ（登録商標）、ＨＴＭＬ、ＸＭＬ、または別の適切なサーバサイド構造化言語を使用して、ウェブサーバで処理することができる。本明細書の他の場所で論じられるように、本明細書に論じられる構造化されたコードを任意の適切なデバイスまたはホストマシンで実行することができるとき、ウェブ及びアプリケーションサーバは必要ではなく、単に例示的なコンポーネントであることは理解されるべきである。さらに、単一のデバイスで実行されるように本明細書で説明される操作は、文脈から明らかでない限り、複数のデバイスで全体的に実行されてもよく、それは分散された及び／または仮想システムを形成してもよい。
【０１８５】
データストア３７１０は、本開示の特定の態様に関するデータを格納するための、いくつかの別々データテーブル、データベース、データドキュメント、動的データストレージスキーム、及び／またはその他のデータストレージ機構及びメディアを含むことができる。たとえば、示されるデータストアは、生産データ３７１２及びユーザ情報３７１６を格納するための機構を含んでもよく、それは生産側のコンテンツを供給するために使用することができる。データストアはまた、ログデータ３７１４を格納するための機構を含むようにも示され、それは報告、分析、またはその他のそのような目的のために使用することができる。データストアに格納される必要があってもよい、ページ画像情報及びアクセス権情報などの多くのその他の態様があり、それは上記の適切な機構、またはデータストア３７１０の追加の機構のいずれかに格納することができることは理解されるべきである。データストア３７１０は、それに関連するロジックによって、アプリケーションサーバ３７０８からの命令を受信して、それに応答してデータを取得、更新、またはそれ以外では処理するために使用可能である。アプリケーションサーバ３７０８は、受信した命令に応じて、静的データ、動的データ、または動的及び静的データの組合せを提供してもよい。本明細書に説明されるように、ウェブログ（ブログ）、ショッピングアプリケーション、ニュースサービス、及びその他のそのようなアプリケーションで使用されるデータなどの動的データは、サーバサイド構造化言語によって生成されてもよく、または、アプリケーションサーバで動作するまたはその制御下のコンテンツ管理システム（「ＣＭＳ」）によって提供されてもよい。１つの実施例において、ユーザは、ユーザによって作動されるデバイスを通して、特定のタイプのアイテムの検索要求を提出することがある。この場合、データストアは、ユーザの識別情報を検証するために、ユーザ情報にアクセスすることがあり、そのタイプのアイテムについての情報を取得するために、カタログ詳細情報にアクセスすることができる。次いで情報は、ユーザがユーザデバイス３７０２上のブラウザを介して閲覧することができるウェブページに記載される結果などで、ユーザに返すことができる。関心のある特定のアイテムの情報は、ブラウザの専用ページまたはウィンドウで閲覧することができる。しかし、本開示の実施形態は、ウェブページの文脈に必ずしも制限されるわけではなく、リクエストが必ずしもコンテンツの要求ではない場合に、一般的なリクエストの処理により一般に適用可能でもよいことに注意しなければならない。
【０１８６】
各サーバは、実行可能プログラム命令をそのサーバの一般的な管理及び操作のために提供するオペレーティングシステムを通常含み、サーバのプロセッサによって実行されるとき、サーバがその意図された機能を実行することを可能にする命令を格納するコンピュータ可読記憶媒体（たとえば、ハードディスク、ランダムアクセスメモリ、読み取り専用メモリなど）を通常含む。オペレーティングシステムの好適な実装及びサーバの一般的な機能は知られている、または市販のものであり、特に本明細書の開示を考慮して、当業者によって確実に実装される。
【０１８７】
環境は、１つの実施形態において、１つまたは複数のコンピュータネットワークまたは直接接続を使用する通信リンクを介して相互接続されるいくつかのコンピュータシステム及びコンポーネントを利用する、分散された及び／または仮想コンピューティング環境である。しかし、そのようなシステムは、図３７に示されるよりも少ないまたは多いコンポーネントを有するシステムにおいて、同様に正しく機能することは、当業者によって理解されるであろう。それゆえ、図３７のシステム３７００の描写は、本来は例示的なものと見なすべきであり、本開示の範囲を限定するものではない。
【０１８８】
本開示の実施形態は、以下の項を考慮して説明することができる。
１．
コンピューティングリソースサービスプロバイダのマネージドディレクトリサービスの、実行可能命令によって構成される１つまたは複数のコンピュータシステムの制御下で、
前記コンピューティングリソースサービスプロバイダの顧客から、前記顧客のコンピューティング環境でホストされる顧客コンピュータシステムディレクトリをコンピューティングリソースサービスプロバイダのコンピューティング環境へ拡張するリクエストを受信することと、
前記コンピューティングリソースサービスプロバイダの前記コンピューティング環境で１組のコンピューティングリソースを使用して、前記コンピューティングリソースサービスプロバイダの前記環境の前記顧客コンピュータシステムディレクトリを再現し、それによって、前記作成かつ拡張された顧客コンピュータシステムディレクトリに、前記コンピューティングリソースサービスプロバイダの前記環境にホストされる顧客コンピュータシステムを結合するように構成される拡張された顧客コンピュータシステムディレクトリを作成することと、
前記顧客に代わって、前記作成かつ拡張された顧客コンピュータシステムディレクトリを、少なくとも一部において管理することと
を含む、
コンピュータ実装化方法。
２．
前記作成かつ拡張された顧客コンピュータシステムディレクトリが、前記顧客コンピュータシステムディレクトリの読み取り専用レプリカを利用する、
１項に記載のコンピュータ実装化方法。
３．
前記作成かつ拡張された顧客コンピュータシステムディレクトリが、リクエストが前記顧客の前記環境で処理される前記レプリカによって受信される前記拡張された顧客コンピュータシステムディレクトリを変更するように構成される、
１〜２項に記載のコンピュータ実装化方法。
４．
前記顧客コンピュータシステムディレクトリへの修正を示す情報を受信することと、
前記修正を示す前記情報に従って、前記再現された顧客コンピュータシステムディレクトリを同期させることと
をさらに含む、
１〜３項のいずれかに記載のコンピュータ実装化方法。
５．
前記再現された顧客コンピュータシステムディレクトリが、ディレクトリ書き込み操作を実行するリクエストを満たし、前記顧客コンピュータシステムディレクトリが前記満たされたリクエストに従って更新されるように構成される、
１〜４項のいずれかに記載のコンピュータ実装化方法。
６．
前記拡張された顧客コンピュータシステムディレクトリが、前記拡張された顧客コンピュータシステムディレクトリの１組の非管理ユーザの各非管理ユーザについて、認証が前記顧客の前記コンピューティング環境または前記コンピューティングリソースサービスプロバイダの前記コンピューティング環境で発生するかどうかにかかわらず、前記非管理ユーザが、証明書の単一の組を使用できる前記拡張された顧客コンピュータシステムディレクトリで認証するように構成される、
１〜５項のいずれかに記載のコンピュータ実装化方法。
７．
１つまたは複数のプロセッサと、
１つまたは複数の前記プロセッサによって実行されるとき、前記コンピューティングリソースサービスプロバイダの顧客から、コンピューティングリソースサービスプロバイダのコンピューティング環境に顧客コンピュータシステムディレクトリを拡張するリクエストを受信し、コンピューティングリソースサービスプロバイダの環境の顧客コンピュータシステムディレクトリの少なくとも一部を再現するため前記コンピューティングリソースサービスプロバイダの前記コンピューティング環境で１組のコンピューティングリソースを使用し、それによって、前記作成かつ拡張された顧客コンピュータシステムディレクトリに、前記コンピューティングリソースサービスプロバイダの前記環境にホストされる顧客コンピュータシステムを結合するように構成される拡張された顧客コンピュータシステムディレクトリを作成し、前記顧客に代わって、前記作成かつ拡張された顧客コンピュータシステムディレクトリを少なくとも一部において管理することを少なくともシステムにさせる実行可能命令を含むメモリと
を備える、
システム。
８．
前記顧客コンピュータシステムディレクトリの少なくとも再現された部分が、読み取り専用である、
７項に記載のシステム。
９．
前記顧客コンピュータシステムディレクトリの少なくとも再現された部分が、
前記拡張されたコンピュータシステムディレクトリを更新するリクエストを受信し、
前記受信したリクエストが前記顧客のコンピューティング環境で実行される
ように構成される、
８項に記載のシステム。
１０．
前記顧客コンピュータシステムディレクトリの少なくとも再現された部分が、
前記拡張されたコンピュータシステムディレクトリを更新するリクエストを受信し、
前記受信したリクエストが前記コンピューティングリソースサービスプロバイダの前記コンピューティング環境で実行される
ように構成される、
７〜９項のいずれかに記載のシステム。
１１．
前記リクエストが、前記顧客に代わって前記コンピューティングリソースサービスプロバイダの前記コンピューティング環境で前記コンピューティングリソースサービスプロバイダによって管理される仮想ネットワークを指定し、
前記顧客コンピュータシステムディレクトリの少なくとも再現の部分が、前記指定された仮想ネットワークの内側に構成される、
７〜１０項のいずれかに記載のシステム。
１２．
前記１つまたは複数のプロセッサで実行されるとき、前記システムに前記作成かつ拡張されたコンピュータシステムディレクトリを管理させる前記命令が、前記システムに前記作成かつ拡張されたコンピュータシステムディレクトリ上で、前記顧客コンピュータシステムディレクトリの少なくとも再現された部分を操作するために使用される実行可能コードへの更新を含む管理操作を実行させる、
７〜１１項のいずれかに記載のシステム。
１３．
前記リクエストが、前記顧客のコンピューティング環境のドメインネームシステムを指定し、
前記顧客コンピュータシステムディレクトリの少なくとも再現された部分が、前記顧客コンピュータシステムディレクトリと通信するために前記指定したドメインネームシステムを利用するように構成される、
１２項に記載のシステム。
１４．
コンピュータシステムの１つまたは複数のプロセッサで実行されるとき、前記コンピュータシステムに少なくとも
前記コンピューティングリソースサービスプロバイダの顧客から、コンピューティングリソースサービスプロバイダのコンピューティング環境に顧客コンピュータシステムディレクトリを拡張するリクエストを受信させて、
コンピューティングリソースサービスプロバイダの環境の顧客コンピュータシステムディレクトリの少なくとも一部を再現するため前記コンピューティングリソースサービスプロバイダの前記コンピューティング環境で一連のコンピューティングリソースを使用させて、
それによって、前記作成かつ拡張された顧客コンピュータシステムディレクトリに、前記コンピューティングリソースサービスプロバイダの前記環境にホストされる顧客コンピュータシステムを結合するように構成される拡張された顧客コンピュータシステムディレクトリを作成し、
前記顧客に代わって、前記作成かつ拡張された顧客コンピュータシステムディレクトリを少なくとも一部において管理させる集合的に格納された実行可能命令
を有する、
非一時的コンピュータ可読記憶媒体。
１５．
前記顧客コンピュータシステムディレクトリの少なくとも再現された部分が、読み取り専用である、
１４項に記載の非一時的コンピュータ可読記憶媒体。
１６．
前記顧客コンピュータシステムディレクトリの少なくとも再現された部分が、
前記拡張されたコンピュータシステムディレクトリを更新するリクエストを受信し、
前記受信したリクエストが前記顧客のコンピューティング環境で実行される
ように構成される、
１４〜１５項に記載の非一時的コンピュータ可読記憶媒体。
１７．
前記顧客コンピュータシステムディレクトリの少なくとも再現された部分が、
前記拡張されたコンピュータシステムディレクトリを更新するリクエストを受信し、
前記受信したリクエストが前記コンピューティングリソースサービスプロバイダの前記コンピューティング環境で実行される
ように構成される、
１４〜１６項のいずれかに記載の非一時的コンピュータ可読記憶媒体。
１８．
前記リクエストが、前記顧客に代わって前記コンピューティングリソースサービスプロバイダの前記コンピューティング環境で前記コンピューティングリソースサービスプロバイダによって管理される仮想ネットワークを指定し、
前記顧客コンピュータシステムディレクトリの少なくとも再現の部分が、前記指定された仮想ネットワークの内側に構成される、
１４〜１７項のいずれかに記載の非一時的コンピュータ可読記憶媒体。
１９．
前記１つまたは複数のプロセッサで実行されるとき、前記システムに前記作成かつ拡張されたコンピュータシステムディレクトリを管理させる前記命令が、前記システムに前記作成かつ拡張されたコンピュータシステムディレクトリ上で、前記顧客コンピュータシステムディレクトリの少なくとも再現された部分を操作するために使用される実行可能コードへの更新を含む管理操作を実行させる、
１４〜１９項のいずれかに記載の非一時的コンピュータ可読記憶媒体。
２０．
前記リクエストが、前記顧客のコンピューティング環境のドメインネームシステムを指定し、
前記顧客コンピュータシステムディレクトリの少なくとも再現された部分が、前記顧客コンピュータシステムディレクトリと通信するために前記指定したドメインネームシステムを利用するように構成される、
１４〜１９項のいずれかに記載の非一時的コンピュータ可読記憶媒体。
追加の説明
【０１８９】
以下の部分の説明は、本明細書に論じられる実施形態の３組のいずれかに適用することができる。
【０１９０】
さまざまな実施形態が、場合によっては、複数のアプリケーションのうちのいずれかを操作するために使用できる１つまたは複数のユーザコンピュータ、コンピューティングデバイス、または処理デバイスを含むことができる多種多様な動作環境でさらに実装することができる。ユーザデバイスまたはクライアントデバイスは、標準的なオペレーティングシステムを実行するデスクトップ、ラップトップ、またはタブレットコンピュータ、ならびに、モバイルソフトウェアを実行し、複数のネットワークプロトコル及びメッセージングプロトコルをサポートすることが可能な携帯電話装置、無線デバイス、及びハンドヘルドデバイスなどの複数の汎用パーソナルコンピュータのうちのいずれかを含むことができる。そのようなシステムはまた、さまざまな市販の入手可能なオペレーティングシステムのうちのいずれか、及び開発及びデータベース管理などの目的のために、その他の既知のアプリケーションを実行する複数のワークステーションを含むことができる。これらのデバイスはまた、ダミー端子、シンクライアント、ゲームシステム、及びネットワークを介した通信が可能なその他のデバイスなどのその他の電子デバイスを含むことができる。これらのデバイスはまた、仮想マシン、ハイパーバイザ、及びネットワークを介した通信が可能なその他の仮想デバイスなどの仮想デバイスを含むことができる。
【０１９１】
本開示のさまざまな実施形態は、伝送制御プロトコル／インターネットプロトコル（「ＴＣＰ／ＩＰ」）、ユーザデータグラムプロトコル（「ＵＤＰ」）、オープンシステムインターコネクション（「ＯＳＩ」）モデルのさまざまなレイヤで動作するプロトコル、ファイル転送プロトコル（「ＦＴＰ」）、ユニバーサルプラグアンドプレイ（「ＵｐｎＰ」）、ネットワークファイルシステム（「ＮＦＳ」）、共通インターネットファイルシステム（「ＣＩＦＳ」）、及びアップルトークなどのさまざまな市販の入手可能なプロトコルのうちのいずれかを使用する通信をサポートするために、当業者に精通する少なくとも１つのネットワークを利用する。ネットワークは、たとえば、ローカルエリアネットワーク、広域ネットワーク、仮想プライベートネットワーク、インターネット、イントラネット、エクストラネット、公衆交換電話網、赤外線ネットワーク、ワイヤレスネットワーク、衛星ネットワーク、及びそれらの任意の組合せとすることができる。
【０１９２】
ウェブサーバを利用する実施形態において、ウェブサーバは、ハイパーテキストトランスファプロトコル（「ＨＴＴＰ」）サーバ、ＦＴＰサーバ、共通ゲートウェイインタフェース（「ＣＧＩ」）サーバ、データサーバ、Ｊａｖａサーバ（登録商標）、Ａｐａｃｈｅサーバ（登録商標）、及びビジネスアプリケーションサーバを含む、任意のさまざまなサーバまたは中間層アプリケーションを実行することができる。サーバはまた、たとえば、Ｊａｖａ（登録商標）、Ｃ、Ｃ＃、またはＣ＋＋などの任意のプログラミング言語、あるいは、Ｒｕｂｙ（登録商標）、ＰＨＰ、Ｐｅｒｌ（登録商標）、Ｐｙｔｈｏｎ（登録商標）、またはＴＣＬなどの任意のスクリプト言語、ならびに、これらの組合せで記述された１つまたは複数のスクリプトまたはプログラムとして実装されてもよい１つまたは複数のウェブアプリケーションを実行することによるなど、ユーザデバイスからのリクエストに応答してプログラムまたはスクリプトを実行することが可能でもよい。サーバ（単数または複数）は、Ｏｒａｃｌｅ（登録商標）、Ｍｉｃｒｏｓｏｆｔ（登録商標）、Ｓｙｂａｓｅ（登録商標）、及びＩＢＭ（登録商標）製の市販品、ならびに、ＭｙＳＱＬ（登録商標）、Ｐｏｓｔｇｒｅｓ（登録商標）、ＳＱＬｉｔｅ、ＭｏｎｇｏＤＢなどのオープンソースサーバ、ならびに、構造化または非構造化データの格納、検索、アクセスが可能な任意のその他のサーバを含むがこれらに限定されないデータベースサーバも含んでもよい。データベースサーバは、テーブルベースサーバ、ドキュメントベースサーバ、非構造化サーバ、リレーショナルサーバ、非リレーショナルサーバ、あるいはこれら及び／またはその他のデータベースサーバの組合せを含んでもよい。
【０１９３】
環境は、上記のように、さまざまなデータストア、ならびにその他のメモリ及び記憶媒体を含むことができる。これらは、１つまたは複数のコンピュータに近い（及び／またはその中に常駐の）記憶媒体上、または、ネットワーク経由でいずれかまたはすべてのコンピュータから離れた記憶媒体上などの、さまざまな位置に存在することができる。実施形態の特定のグループでは、情報は、当業者に精通したストレージエリアネットワーク（「ＳＡＮ」）に存在してもよい。同様に、コンピュータ、サーバ、またはその他のネットワークデバイスに起因する機能を実行するための任意の必要なファイルは、適宜、ローカル及び／またはリモートに格納されてもよい。システムがコンピュータ化されたデバイスを含む場合、そのような各デバイスは、バスを介して電気的に結合されてもよいハードウェアエレメントを含むことができ、そのエレメントは、たとえば、少なくとも１つの中央処理装置（「ＣＰＵ」または「プロセッサ」）、少なくとも１つの入力デバイス（たとえば、マウス、キーボード、コントローラ、タッチスクリーン、またはキーパッド）、及び少なくとも１つの出力デバイス（たとえば、ディスプレイデバイス、プリンタ、またはスピーカ）を含む。そのようなシステムはまた、ディスクドライブ、光学ストレージデバイス、及びランダムアクセスメモリ（「ＲＡＭ」）またはリードオンリーメモリ（「ＲＯＭ」））、ならびに、リムーバブルメディアデバイス、メモリーカード、フラッシュカードなどのソリッドステートストレージデバイス１つまたは複数のストレージデバイスを含んでもよい。
【０１９４】
そのようなデバイスはまた、コンピュータ可読記憶媒体リーダ、通信デバイス（たとえば、モデム、ネットワークカード（無線または有線）、赤外線通信デバイスなど）、及び、上記のようなワーキングメモリを含むことができる。コンピュータ可読記憶媒体リーダは、リモート、ローカル、固定、及び／または、リムーバブルストレージデバイスを示すコンピュータ可読記憶媒体、ならびに、コンピュータ可読情報を一時的及び／またはより恒久的に含む、格納する、伝送する、及び検索するための記憶媒体と接続し、またはそれらを収容するように構成できる。システム及びさまざまなデバイスはまた、複数のソフトウェアアプリケーション、モジュール、サービス、または少なくとも１つのワーキングメモリデバイス内に位置するその他のエレメントを通常は含み、オペレーティングシステム、及びクライアントアプリケーションまたはウェブブラウザなどのアプリケーションプログラムを含む。代替の実施形態が上記のものから多数の変化を有してもよいことが理解されるべきである。たとえば、カスタマイズされたハードウェアが使用されてもよく、及び／あるいは、特定のエレメントが、ハードウェア、ソフトウェア（アプレットなどの携帯型ソフトウェアを含む）、またはその両方に実装されてもよい。さらに、ネットワーク入出力デバイスなどのその他のコンピューティングデバイスへの接続が、採用されてもよい。
【０１９５】
コードまたはコードの部分を含む記憶媒体及びコンピュータ可読メディアは、ＲＡＭ、ＲＯＭ、電気的消去可能ＰＲＯＭ（「ＥＥＰＲＯＭ」）、フラッシュメモリまたは他メモリ技術、コンパクトディスクリードオンリーメモリ（「ＣＤ−ＲＯＭ」）、デジタル多用途ディスク（ＤＶＤ）またはその他の光学ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたはその他の磁気ストレージデバイス、あるいは所望の情報の格納に使用でき、システムデバイスでアクセスできる任意のその他のメディアを含む、コンピュータ可読命令、データ構造、プログラムモジュールまたはその他のデータなどの情報の記憶及び／または伝送のための任意の方法または技術で実装される、揮発性及び不揮発性のリムーバブル及び非リムーバブルメディアなどのしかしこれらに限定されない記憶媒体及び通信メディアを含む、既知のまたは当該技術分野において使用される任意の適切なメディアを含むことができる。本明細書に提示される開示及び教示に基づき、当業者はさまざまな実施形態を実装するその他の方法及び／または手段を理解する。
【０１９６】
したがって、明細書及び図面は、制限的な意味よりむしろ例示的なものと見なされる。しかし、さまざまな変更形態及び変化形態が、特許請求の範囲に記載した本発明のより広い精神及び範囲から逸脱しない範囲で、それに対して行われてもよいことは明らかである。
【０１９７】
その他の変化は、本開示の精神の範囲内である。それゆえ、開示された技術は、さまざまな変更形態及び代替の構造に影響されやすいが、それらの特定の例示される実施形態は、図面に示されて、上記で詳細に説明された。しかし、開示される特定の形態に本発明を制限する意図はなく、逆に、添付の特許請求の範囲に規定されるように、本発明の精神及び範囲内にあるすべての変更形態、代替の構造、及び等価物を含包することが意図されることは理解されるべきである。
【０１９８】
開示される実施形態を説明する文脈における（特に以下の特許請求の範囲の文脈において）用語「１つの（ａ）」及び「１つの（ａｎ）」及び「その（ｔｈｅ）」及び類似の指示物の使用は、本明細書に特に明記しないまたは文脈で明確に否定されない限り、単数及び複数を含むものと解釈される。用語「備える（Ｃｏｍｐｒｉｓｉｎｇ）」、「有する（ｈａｖｉｎｇ）」、「含む（ｉｎｃｌｕｄｉｎｇ）」、及び「含む（ｃｏｎｔａｉｎｉｎｇ）」は、特に断りのない限り、制約のない（ｏｐｅｎ−ｅｎｄｅｄ）用語と解釈される（すなわち、「含むが、これに限定されない」ことを意味する）。無修飾で、物理的接続に言及するとき、用語「接続された」は、たとえ介在するものがあるとしても、部分的または完全に中で含まれる、取り付けられる、または結合されるものと解釈される。本明細書における値の範囲の列挙は、本明細書に示されない限り、その範囲に含まれるそれぞれの別々の値に個々に言及することを省略する方法の役割を果たすことを単に意図しており、それぞれの別々の値は、それが本明細書に個々に列挙されているように、本明細書に組み込まれる。用語「組（ｓｅｔ）」（たとえば「一組のアイテム（ａ  ｓｅｔ  ｏｆ  ｉｔｅｍｓ）」）または「サブセット（ｓｕｂｓｅｔ）」の使用は、文脈で示されないまたは否定されない限り、１つまたは複数のメンバーを備える空でない集合と解釈される。さらに、文脈で示されないまたは否定されない限り、対応する組の用語「サブセット」は必ずしも、対応する組の適切なサブセットを示すというわけではないが、サブセット及び対応する組が等しくてもよい。
【０１９９】
「Ａ、Ｂ、及びＣのうちの少なくとも１つ」または「Ａ、Ｂ及びＣのうちの少なくとも１つ）」のフレーズの形などの接続語は、特に明記しない限り、または文脈で明確に否定されない限り、アイテム、用語などが、ＡまたはＢまたはＣ、あるいはＡ及びＢ及びＣのセットの任意の空でないサブセットでもよいことを示すために一般的に使用されると文脈で理解される。たとえば、３つのメンバーを有する１組の例示的な実施例において、接続句「Ａ、Ｂ、及びＣのうちの少なくとも１つ」及び「Ａ、Ｂ及びＣのうちの少なくとも１つ」は、以下のいずれかのセット｛Ａ｝、｛Ｂ｝、｛Ｃ｝、｛Ａ、Ｂ｝、｛Ａ、Ｃ｝、｛Ｂ、Ｃ｝、｛Ａ、Ｂ、Ｃ｝についても言う。したがって、そのような接続語は一般に、特定の実施形態が、Ａのうちの少なくとも１つ、Ｂのうちの少なくとも１つ、及びＣのうちの少なくとも１つがそれぞれ存在することを必要とすることを意味するとは意図されない。
【０２００】
本明細書に説明されるプロセスの操作は、本明細書に示されないまたは文脈で明確に否定されない限り、任意の好適な順序で実行することができる。本明細書に説明されるプロセス（またはそれらの変化及び／または組合せ）は、実行可能命令で構成される１つまたは複数のコンピュータシステムの制御下で実行されてもよく、ハードウェアまたはそれらの組合せによって、１つまたは複数のプロセッサで全体的に実行されるコード（たとえば、実行可能命令、１つまたは複数のコンピュータプログラム、あるいは１つまたは複数のアプリケーション）として実装されてもよい。コードは、たとえば、１つまたは複数のプロセッサで実行可能な複数の命令を備えるコンピュータプログラムの形態で、コンピュータ可読記憶媒体に格納されてもよい。コンピュータ可読記憶媒体は非一時的なものでもよい。
【０２０１】
任意及びすべての実施例、または本明細書で提供される例示的な言語（たとえば「など」）を使用することは、単に本発明をより明らかにする実施形態とすることが意図され、請求されない限り、本発明の範囲に制限をもたらさない。本明細書中の言語は、本発明の実践に必須の任意の非請求の要素を示すと解釈すべきではない。
【０２０２】
本発明を実施するのに最良と発明者に知られている形態（モード）を含む本開示の好ましい実施形態が、本明細書で説明される。それらの好ましい実施形態の変化は、上記説明を読むことで、当業者に明らかになってもよい。発明者は、熟練した職人が適宜そのような変化を使用することを期待し、発明者は本開示の実施形態が、本明細書で特に説明される以外に実施されることを意図する。したがって、本開示の範囲は、適用法によって容認されるように、本文書に添付される特許請求の範囲に列挙される主題の変更形態及び等価物をすべて含む。さらに、それらのすべての可能な変化における上記の要素の任意の組合せは、本明細書に示されないまたは文脈で明確に否定されない限り、本開示の範囲に含まれる。
【図１】
0006404345.tif 000002
【図２】
0006404345.tif 000003
【図３】
0006404345.tif 000004
【図４】
0006404345.tif 000005
【図５】
0006404345.tif 000006
【図６】
0006404345.tif 000007
【図７】
0006404345.tif 000008
【図８】
0006404345.tif 000009
【図９】
0006404345.tif 000010
【図１０】
0006404345.tif 000011
【図１１】
0006404345.tif 000012
【図１２】
0006404345.tif 000013
【図１３】
0006404345.tif 000014
【図１４】
0006404345.tif 000015
【図１５】
0006404345.tif 000016
【図１６】
0006404345.tif 000017
【図１７】
0006404345.tif 000018
【図１８】
0006404345.tif 000019
【図１９】
0006404345.tif 000020
【図２０】
0006404345.tif 000021
【図２１】
0006404345.tif 000022
【図２２】
0006404345.tif 000023
【図２３】
0006404345.tif 000024
【図２４】
0006404345.tif 000025
【図２５】
0006404345.tif 000026
【図２６】
0006404345.tif 000027
【図２７】
0006404345.tif 000028
【図２８】
0006404345.tif 000029
【図２９】
0006404345.tif 000030
【図３０】
0006404345.tif 000031
【図３１】
0006404345.tif 000032
【図３２】
0006404345.tif 000033
【図３３】
0006404345.tif 000034
【図３４】
0006404345.tif 000035
【図３５】
0006404345.tif 000036
【図３６】
0006404345.tif 000037
【図３７】
0006404345.tif 000038