(57)【要約】  分散コンピューティング環境において異種デバイスに統一されたセキュリティモデルを提供すること。方法は、デバイス資格情報を含む、複数のデバイスセキュリティモデルについての情報を格納するステップを含む。本方法は、様々なプリンシパルのアクセス権を含む、統一されたセキュリティモデルについての情報を格納するステップをさらに含む。本方法は、プリンシパルを識別するステップをさらに含む。識別されたプリンシパルに基づいて、デバイスセキュリティモデル資格情報に基づいて、統一されたセキュリティモデルに従ってプリンシパルにアクセスが提供される。
2015523637.tif 000002
【特許請求の範囲】
【請求項１】
分散コンピューティング環境において異種デバイスに統一されたセキュリティモデルを提供する方法であって、
１つまたは複数のデバイスにアクセスするための資格情報を含む、複数のデバイスセキュリティモデルについての情報を格納するステップ（３０２）と、
統一されたセキュリティモデルについての情報を格納するステップ（３０４）であって、前記統一されたセキュリティモデルが、前記１つまたは複数のデバイスに対して様々なプリンシパルが何のアクセス権を有するかを定義するステップと、
プリンシパルを識別するステップ（３０６）と、
前記識別されたプリンシパルに基づいて、前記デバイスセキュリティモデルから１つまたは複数の格納された資格情報を使用することによって、前記統一されたセキュリティモデルに従って前記識別されたプリンシパルにアクセスを提供するステップ（３０８）とを備える、方法。
【請求項２】
前記複数のデバイスセキュリティモデルがデバイスの秘密を備える、請求項１に記載の方法。
【請求項３】
前記統一されたセキュリティモデルが、分散オペレーティングシステムセキュリティモデルである、請求項１に記載の方法。
【請求項４】
前記統一されたセキュリティモデルがプリンシパルアクセス制限を備える、請求項１に記載の方法。
【請求項５】
前記統一されたセキュリティモデルが時間ベースのアクセス制限を備える、請求項１に記載の方法。
【請求項６】
１つまたは複数のデバイスへの異なるプリンシパルによる競合するアクセス要求を識別するステップ、およびそのような競合するアクセス要求を調停するステップをさらに備える、請求項１に記載の方法。
【請求項７】
前記競合するアクセス要求が、１つまたは複数のデバイスへの競合するアクセスを要求する複数のエンドユーザーを備える、請求項４に記載の方法。
【請求項８】
前記競合するアクセス要求が、１つまたは複数のデバイスへの競合するアクセスを要求する複数のソフトウェアプリンシパルを備える、請求項４に記載の方法。
【請求項９】
前記競合するアクセス要求が、１つまたは複数のデバイスへの競合するアクセスを要求する少なくとも１つのソフトウェアプリンシパル、および１人のエンドユーザーを備える、請求項４に記載の方法。
【発明の詳細な説明】
【背景技術】
【０００１】
[0001]コンピューターおよびコンピューティングシステムは、現代の生活のほぼあらゆる側面に影響を与えている。コンピューターは、一般的に、仕事、レクリエーション、医療、交通、娯楽、家計管理などに関与している。
【０００２】
[0002]さらに、コンピューティングシステムの機能性は、ネットワーク接続を介して他のコンピューティングシステムに相互接続されるべきコンピューティングシステムの機能によって高めることができる。ネットワーク接続は、これに限定されないが、ワイヤードまたはワイヤレスイーサネットを介する接続、セルラー接続、さらにはシリアル、パラレル、ＵＳＢ、または他の接続を通じたコンピューター間接続を含み得る。接続によって、コンピューティングシステムは、他のコンピューティングシステムのサービスにアクセスして、他のコンピューティングシステムからアプリケーションデータを迅速かつ効率的に受信できるようになる。
【０００３】
[0003]接続によって、コンピューティングシステムは、他のコンピューティングシステムのサービスにアクセスして、他のコンピューティングシステムからアプリケーションデータを迅速かつ効率的に受信できるようになる。さらに、相互接続されたコンピューティングシステムは、クラスタに全体として割り当てられたコンピューティングタスクを完了するために複数の離散システムが協働する、クラスターコンピューティングシステムを実装するために使用することができる。いくつかのそのようなシステムは、クラウドで展開されているクラスタのすべて、または一部を有する場合がある。クラウドコンピューティングによって、コンピューティングリソースを、引渡し可能な製品（ｄｅｌｉｖｅｒａｂｌｅ  ｐｒｏｄｕｃｔ）ではなくサービスとして提供できるようになる。具体的には、インターネットなどのネットワークを介して、計算能力、ソフトウェア、情報などが提供される（たとえば、レンタル契約を通じて）。
【０００４】
[0004]従来のオペレーティングシステムは、単一の物理マシン内部のリソースを管理する。分散オペレーティングシステムは、たとえば物理リソースおよび仮想リソースの大きなプール（たとえば、物理マシン、仮想マシン、ターミナルコンソール、スイッチ、配電ユニット等）などの、単一の物理マシンの境界を越えたリソースを管理することができる。たとえば、クラウドコンピューティング環境は、クラウドコンピューティングリソースを管理するために分散オペレーティングシステムを実装することができる。
【０００５】
[0005]データセンター内に、またはデータセンターにわたって分散オペレーティングシステムが展開されると、分散オペレーティングシステムは、データセンターを管理するデバイスの正確な構成に依存する。時には、データセンターのアーキテクチャーおよび成長をサポートするために、それらのデバイスの構成が分散オペレーティングシステムに完全に、または部分的に渡される。分散オペレーティングシステムは、単独で構成を管理することもでき（すなわち、すべての構成が分散オペレーティングシステムによって管理される）、部分的に構成を管理することもできる（すなわち、構成の一部だけが分散オペレーティングシステムによって管理される）。
【０００６】
[0006]これによって、配電ユニット、ターミナルコンソール、データセンタールーター、データセンタースイッチなどの、データセンターデバイスを管理するための一連の明確な問題が生じる。第１に、分散オペレーティングシステムと人間の両方が同じ基本デバイスにアクセスしようとすると、構成／使用の競合が発生する可能性がある。たとえば、データセンターの運用によって物理ノードを回復するためのターミナルサービスコンソールの使用は、ノード上で何らかの操作を試みるために、分散オペレーティングシステムによってこのコンソールの使用を妨害する可能性がある。第２に、管理者権限を保有する、または基本物理デバイス上で同等の操作を実行するユーザーが、分散オペレーティングシステムのセキュリティモデルを事実上無効にしてしまうので、認可および認証モデルが破損する可能性がある。第３に、不正なユーザーが、分散オペレーティングシステム用に定義された異なる権限モデルを回避するためにデータセンターのデバイス上で定義された権限モデルを使用することによって、分散オペレーティングシステムへのセキュリティホールとして基本的なデータセンターデバイスを使用する場合がある。最後に、分散オペレーティングシステムによって管理されるデータセンターリソースの残りの部分とは別々にデバイスの監査が発生すると、監査モデルが破損する場合がある。これらの問題のそれぞれは、データーデバイスは一般的に、たとえばユーザーがデバイスのパスワードを知っている場合は何でもできてしまい、ユーザーがデバイスのパスワードを知らない場合は何もできないという、非常に単純なセキュリティモデルを実装しているという事実に関連し得る。
【０００７】
[0007]本明細書において特許請求される主題は、任意の欠点を解決する、または上述したような環境でのみ動作する実施形態に限定されない。むしろ、この背景は本明細書に記載のいくつかの実施形態を実施することができる、１つの例示的な技術分野を説明するためにのみ提供される。
【発明の概要】
【課題を解決するための手段】
【０００８】
[0008]本明細書に開示される一実施形態は、分散コンピューティング環境において異種デバイスに統一されたセキュリティモデルを提供する方法を対象とする。本方法は、複数のデバイスについての情報を格納するステップを含む。デバイスセキュリティモデルは、１つまたは複数のデバイスにアクセスするための資格情報(ｃｒｅｄｅｎｔｉａｌ)を含む。本方法は、統一されたセキュリティモデルについての情報を格納するステップをさらに含む。統一されたセキュリティモデルは、１つまたは複数のデバイスに対して様々なプリンシパル（ｐｒｉｎｃｉｐａｌ）が何のアクセス権を有するかを定義する。本方法は、プリンシパルを識別するステップをさらに含む。識別されたプリンシパルに基づいて、本方法は、デバイスセキュリティモデルから１つまたは複数の格納された資格情報を使用することによって、統一されたセキュリティモデルに従って、識別されたプリンシパルにアクセスを提供するステップをさらに含む。
【０００９】
[0009]この概要は、以下の詳細な説明でさらに説明される概念の選択を簡単な形式で紹介するために提供される。この概要は、特許請求される主題の主要な特徴または本質的な特徴を識別することを意図するものではなく、特許請求される主題の範囲を決定する際の助けとして使用されることを意図するものでもない。
【００１０】
[0010]さらなる特徴および利点は以下の記述において説明され、一部はその記述から明らかになり、または本明細書の教示の実施によって知ることができる。本発明の特徴および利点は、添付の特許請求の範囲において特に指摘された手段および組合せによって実現および取得することができる。本発明の特徴は、以下の説明および添付の特許請求の範囲からより完全に明らかになり、または以下で説明されるように本発明の実施によって知ることができる。
【００１１】
[0011]上記に列挙した、ならびに他の利点および特徴を取得することができる方法を説明するために、添付の図面に示される特定の実施形態を参照して、上記で簡単に説明した主題のより具体的な説明を行う。これらの図面は一般的な実施形態を示すにすぎず、したがって、範囲を限定するものと考えるべきではないことを理解した上で、添付の図面の使用を通じてさらに具体的かつ詳細に実施形態を記述および説明する。
【図面の簡単な説明】
【００１２】
【図１】[0012]分散デバイスのセットを管理する、分散オペレーティングシステムを示す図である。
【図２】[0013]分散オペレーティングシステムおよび分散デバイスの、ソフトウェアおよびハードウェアスタックを示す図である。
【図３】[0014]分散コンピューティング環境において異種デバイスに統一されたセキュリティモデルを提供する方法を示す図である。
【発明を実施するための形態】
【００１３】
[0015]実施形態は、分散クラウド環境内のデバイスへのすべての管理アクセスを仲介するエージェントを含み得る。デバイスは一般的に、たとえばユーザーがパスワードを知っている場合は何でもできてしまい、ユーザーがデバイスのパスワードを知らない場合は何もできないという、非常に単純なセキュリティモデルを実装している。しかしながら、本明細書に記載のいくつかの実装形態は、よりきめ細かいアクセス制御を実装するエージェントを使用してシステムを実装する。たとえば、ＸＹＺグループのメンバーはデバイスの状態を読み取ることしかできないが、ＡＢＣグループのメンバーはいくつかのターゲットを絞った更新を行うことができ、またＤＥＦグループのメンバーはデバイスに任意の変更を加えることができるが、だれがいつ何を行ったかを記録する監査ログを迂回してそれを行うことはできない。
【００１４】
[0016]この場合のエージェントは、パスワード（または、デバイスによって認識される他の資格情報）を唯一有しており、エージェントが着信要求を認証して、要求がアクセスポリシーまたはセキュリティモデルによって許可されるかどうかを検証して、許可される場合、デバイスが、保持している資格情報を使用して操作を実行することを、エージェントが要求する。
【００１５】
[0017]実施形態は、様々な特徴および／または機能性を実装することができる。たとえば、エージェントは、実行されたすべての操作のログを保持することができる。エージェントは、デバイスにアクセスするために使用される資格情報への唯一のアクセス権を持っている場合がある。エージェントは、デバイス上の資格情報をエージェントが選択する値に更新することによって、資格情報への唯一のアクセスを取得することができ、限られた状況を除いて、資格情報をいかなる第三者にも漏えいしない。エージェントは、正しく認証された要求者に資格情報を漏えいすることができるが、漏えいした後で、エージェントは、資格情報を不正にアクセスされたものとみなし、続いてデバイス上の資格情報をエージェントが選択する値に更新し、限られた状況を除いて、更新された資格情報をいかなる第三者にも漏えいしない。要求者が操作を個別に実行したくないと思われる場合に、エージェントは、デバイスの状態におけるいくつかの不変性を維持するために、要求者に代わっていくつかの連続する操作を実行することができる場合がある。エージェントは、１人の要求者によって要求された場合、およびその操作が第２の異なる要求者によって確認された場合、いくつかの操作を実行することのみによって、職務権限（ｄｕｔｙ）の分離を実装できる場合がある。様々なデバイスのためのアクセスポリシーがすべて同じである場合、単一のエンティティが複数のデバイスのためのエージェントであってよい。様々なデバイスのためのアクセスポリシーが異なる場合、単一のエンティティが複数のデバイスのためのエージェントであってよい。エージェントは、デバイスの状態を定期的にポーリングして、それを予測された状態と比較して、それらが異なる場合はアラームをトリガすることができる。
【００１６】
[0018]次に図１を参照すると、例示的なエージェント１００が示されている。図１は、いくつかの実施形態が、たとえば管理されたデータセンター配電ユニット、ルーター、スイッチ、ターミナルサーバーなどでよい、保護されたデバイス１０２を実装することができることを示している。実施形態は、分散オペレーティングシステム、またはその上で実行するソフトウェアの操作のために必要な、エージェント１００を使用してデータセンターデバイス１０２へのアクセスを管理して、データセンターデバイス１０２を保護する、分散オペレーティングシステム１０４を含むことができる。エージェント１００は、保護されたデバイス１０２のための抽象権限、認証、認可、および監査モデルを含むことができる。分散オペレーティングシステム１０４は、デバイスの境界の外側の、保護されたデバイスの操作の監査を提供することができる。エージェント１００は、デバイス１０２への外部アクセスを制限するために、デバイスのバージョンおよび構成を管理することができる。アクセスおよび管理は、エージェント１００によって実行される。エージェント１００は、基本的なリソース（たとえば、ネットワークデバイス）への管理アクセスを提供することができる。
【００１７】
[0019]分散クラウドペレーティングシステム、または本明細書で使用される分散オペレーティングシステムは、データセンターリソース（仮想マシン、ＩＰアドレスなど）の割当てを可能にして、複数のインスタンスおよび障害ドメインで実行する、高い冗長性を有するデータセンターにわたってソフトウェアを実行するためのプラットフォームを提供するシステムである。
【００１８】
[0020]実施形態は、分散オペレーティングシステム１０４が、エージェント１００を使用して管理するデバイス１０２の唯一の所有者である場合に実装することができる。通常、管理されるデバイス１０２は、ユーザー１０６によって直接（たとえば、デバイス１０２−１へのパス１０８などを通じて）アクセスされ得る。しかしながら、実施形態は、デバイス１０２−１へのパスワード、または他の資格情報を制御するエージェント１００によって、これが発生することを防ぎ、ユーザー１０６から資格情報秘密を守ることができる。エージェント１００は、分散オペレーティングシステム１０４を通じて（たとえば、デバイス１０２−１へのパス１１０などを通じて）、外部アクセスを提供することができる。分散オペレーティングシステム１０４を通じてアクセスを提供するステップは、デバイスにアクセスするために必要な、デバイス１０２の鍵、および／またはユーザー名／パスワードアクセスを管理するエージェント１００によって実装することができ、したがって、デバイスのキーは分散オペレーティングシステムによって直接公開されないため、デバイスに直接接続することはできない。
【００１９】
[0021]以下で、ある例を説明する。ネットワークリソースがデータセンターに追加されると、「ビルドアウト（ｂｕｉｌｄｏｕｔ）」処理が発生する。ビルドアウト処理の間、ファームウェアがアップグレードされて、ベースラインの構成がデバイスのために強化される。さらに、デバイス識別鍵が生成される。デバイス識別鍵のプライベート鍵部分がデバイスに保存されて、デバイス識別鍵の公開鍵部分が分散オペレーティングシステム中央記憶装置１１４に格納される。接続されているデバイスが、偽物ではなく、正当なデバイスに接続されていることを検証するために、デバイス鍵が使用される。
【００２０】
[0022]一旦、デバイスとエージェント１００との間の信頼が作成されると、エージェント１００によって管理される。いくつかの実施形態では、鍵ローテーション操作と資格情報作成操作を実施することができる。これは、不正にアクセスされた資格情報から保護するためのセキュリティ対策として行うことができる。
【００２１】
[0023]デバイスの鍵ローテーション操作のために、エージェント１００は、鍵を新しくして公開鍵を共有する、またはデバイスの鍵を新しくして、それらを更新するようデバイスに求めることができる。これは既存のセキュアチャネルを介して発生する場合がある。分散オペレーティングシステムからの接続を識別するために使用されるデバイス上で資格情報を作成するステップは、エージェント１００が、サービス提供のニーズに合わせて（アプリケーション１１２からデバイス１０２−１へのパス１１６によって示されるように）、またはエンドユーザー１０６の代わりに（デバイス１０２−１へのパス１１０によって示されるように）、デバイスに直接接続するステップを含み得る。
【００２２】
[0024]次に図２を参照すると、さらなる詳細が示されている。具体的には、図２は、様々な詳細を示すハードウェアスタック２０２およびソフトウェアスタック２０４を含む、スタック２００を示している。図２は、この例では人間のユーザーである、ユーザー１０６を示している。ユーザー１０６は、管理ステーション２０８と対話する。また、図２は、ハードウェアスタック２０２内に、ノードのセット２１０、または、分散オペレーティングシステム１０４を実行する物理マシンを示している（図１を参照）。図２は、ハードウェアスタック２０２内に、管理されたデバイス１０２をさらに示している。
【００２３】
[0025]図２は、ソフトウェアスタック２０４内に、管理ステーション２０８によって実行されて、ユーザー１０６によって制御される、データセンター管理クライアント２１２を示している。
【００２４】
[0026]図２は、分散クラウドペレーティングシステムを実行するノード２１０上で実行される様々なソフトウェアコンポーネントを示している。これらのコンポーネントは、分散オペレーティングシステム・データセンター・マネージャー２１４、デバイス資格情報マネージャー２１６、デバイスアクセスプロキシー２１８、ハードウェア抽象化層２２０、およびデバイスのドライバーごとのセット２２２（具体的には、２２２−１、２２２−２〜２２２−ｎに示される）を含む。また、分散オペレーティングシステムを実行するノード２１０は、統一されたセキュリティモデルストア２２４と、デバイスセキュリティモデルストア２２６を含むことができる。これらのストアは、ユーザーポリシー、アクセス制限、権限、ならびに分散オペレーティングシステム１０４およびデバイスをそれぞれ使用するユーザーおよびアプリケーションための同等物などの、ポリシー情報を格納する。これらは、以下でより詳細に説明する。
【００２５】
[0027]分散オペレーティングシステム・データセンター・マネージャー２１４は、デバイスドライバー２２２を通じてデータセンターデバイス１０２への主要なアクセスを制御するために、データセンター管理クライアント２１２と対話して、デバイス資格情報マネージャー２１６、デバイスアクセスプロキシー２１８、およびハードウェア抽象化層２２０と対話するための機能性を含む。たとえばデバイスセキュリティモデルの主張に基づいて、デバイスのタイプごとのドライバー２２２および埋め込まれた管理ソフトウェア２２８を使用して、複数の分散システムデバイス１０２へのアクセスをプリンシパル（ユーザー１０６、またはアプリケーション２１２など）に提供するために、デバイスアクセスプロキシー２１８、デバイス資格情報マネージャー２１６、およびハードウェア抽象化層２２０は、統一されたセキュリティモデルストア２２４からの１つまたは複数の統一されたセキュリティモデルの主張を、デバイスセキュリティモデルストア２２６からの１つまたは複数のデバイスセキュリティモデルの主張に変換することができる。
【００２６】
[0028]ソフトウェアスタックは、デバイス１０２のセット内の各デバイスに埋め込まれたデバイス管理ソフトウェア２２８のセットも含む。デバイス１０２のセット内の各デバイスは、プリンシパルが、デバイスにアクセス、管理、および／または制御することを可能にするためにデバイスに埋め込まれたデバイス管理ソフトウェアまたはファームウェアを含む。このアクセス、管理、および／または制御は、従来、デバイス管理ソフトウェア２２８内のインターフェースを使用して独立して行うことができるが、図２は、分散オペレーティングシステム１０４が、アクセスが分散オペレーティングシステム１０４を通じてルーティングされるようにデバイス管理ソフトウェア２２８を使用して、デバイスへのユーザーによる直接接続を回避するように構成され得ることを示している。これによって、分散オペレーティングシステム１０４は、アクセスを制御および管理して、図１に示されるようにエージェント１００を使用して競合の解決を提供して、異なるプリンシパルが特定のデバイスにアクセスしようとするとロギング機能等を提供することが可能になる。さらなる詳細は以下で説明する。
【００２７】
デバイス管理モデルの抽象化
[0029]実施形態は、データセンター機器１０２からの一般的な操作を抽象化することによって実装することができる。いくつかの実施形態では、分散オペレーティングシステム１０４内のプリンシパル（ソフトウェアモジュールなど）、ならびに外部プリンシパル（エンドユーザー１０６など）によって実行される一般的な操作は、エージェント１００へのコマンドとして与えられ、プリンシパルに代わって実行される。次に、様々な例が示される。
【００２８】
[0030]いくつかの実施形態は、配電ユニットであるデバイス１０２を実装することができる。配電ユニットは、休止状態のノード（物理サーバ）の電源をオン／オフにする、ノード（物理サーバー）を再起動する、サーバーの電源状態を取得する等のために使用することができる。
【００２９】
[0031]いくつかの実施形態は、シリアルターミナルサーバーであるデバイス１０２を実装することができる。シリアルターミナルサーバーは、特定のサーバー用の管理コンソール上でのコマンドの発行、シリアル管理インターフェースの入力、シリアル出力のキャプチャーなどを行う。
【００３０】
[0032]いくつかの実施形態は、スイッチ、ルーター、ファイアーウォール、他の命令検出システム等であるデバイス１０２を実装することができる。これは、デバイスのポート構成のためのネットワーク構成を追加すること、デバイスのネットワーク構成（仮想ＬＡＮ、ルーター）を変更すること等を含むことができる。
【００３１】
[0033]システムに追加されたデバイスは、関連するハードウェア抽象化層ドライバーに、デバイスの機能の基本的なセットを提示させることができる。さらなる機能は、ビルドアウト処理を通じて構成して、手動で管理することができる。あるいは、機能は、基本的な抽象化モデルの外部に実装されたツールを使用して管理することができる。したがって、データセンター内のデバイスのドライバーの集合が、統一されていないデバイス管理のための抽象化層を作成する。
【００３２】
権限モデル
[0034]上述のモデルにおいて操作している間、分散オペレーティングシステムによって監査を実装することができ、（デバイスアクセスプロキシー２１８を使用して）データセンターのデバイス１０２への呼をプロキシーして、それらの呼を外部で監査して、それによってメインラインシナリオの監査を構成するあらゆる必要性をなくす。したがって、監査メカニズムが完全にデバイス１０２の外部にあるので、監査が回避され得るリスクがより少ない。
【００３３】
[0035]図示した例では、権限モデルは、やはりデバイス資格情報マネージャー２１６で分散オペレーティングシステムによって定義される。たとえば、すべての管理者が特定のデータセンター・インフラストラクチャー・デバイスにアクセスするのではなく、特定のノードまたはラックに定義された十分なアクセスレベルを持つ管理者が、権限モデル上で操作を実行することができる。
【００３４】
ベースラインモニタリングおよびＲＭＡ処理
[0036]実施形態は、デバイス１０２への管理アクセスを提供することができ、したがって、エージェント１００は、ユーザー管理操作の結果、構成の検証およびバックアップを実行することができ、分散オペレーティングシステムが構成を変更する。さらに、デバイスが破損または破壊された場合、交換デバイスは、同じ構成を適用して、故障したデバイスの代わりに操作を開始することができる。
【００３５】
[0037]実施形態は、分散オペレーティングシステム構成の一部としてセキュリティ情報およびデバイス構成をバックアップするための機能性を含むことができる。分散オペレーティングシステム構成は、ある時点で正確である。この時点で、構成の詳細を格納するためにチェックポイントを作成することができる。したがって、基本的な管理されたデバイスの想定される構成がチェックポイントされて、オペレーティングシステムチェックポイントバックアップの一部としてバックアップされる。しかしながら、デバイスにアクセスするための秘密鍵は、分散オペレーティングシステムおよびデバイスにおいて一致する必要がある。
【００３６】
[0038]しかしながら、復元されたオペレーティングシステム構成、および／または復元されたデバイス構成は、クロックの差、不完全な構成操作などのために、正確な同期状態に復元することが保証されない。したがって、デバイスを構成するときにトランザクションが適用されてもよく、復元時に現在の／以前の構成が保存されて、一致されてもよい。たとえば、鍵交換操作は、分散オペレーティングシステムにおいて成功したかもしれないが、停電のためデバイスに保存されていない。したがって、電源の入ったデバイスに、以前の鍵でアクセスする必要がある場合がある。
【００３７】
鍵のローテーション
[0039]実施形態は、管理されたデバイス１０２上で頻繁な秘密のローテーションを含むことができる。これは不正にアクセスされた鍵から発生する損害を最小限にするために行うことができる。
【００３８】
緊急アクセス
[0040]実施形態は、分散オペレーティングシステム１０４またはエージェント１００の一部が誤動作しているか、ネットワークアクセスが部分的または完全にダウンしているときに、基本的なデータセンターデバイス１０２への緊急アクセスを考慮するための機能性を含む。これらの例では、分散オペレーティングシステムメカニズムを通じての管理が困難または不可能な場合がある。実施形態は、デバイス秘密ストアを含む、分散オペレーティングシステムのデバイスポリシーストア２２６からデバイスの秘密を抽出するための処理を含むことができる。分散オペレーティングシステムの秘密ストアから鍵を抽出することによって、分散オペレーティングシステム１０２がオンラインに戻るまでしばらくの間、鍵を使用することが可能になる。しかしながら、オペレーティングシステム秘密ストアから鍵が抽出されたときに、鍵は「無効」とマーク付けされる。分散オペレーティングシステムがオンラインに戻ると、無効とマーク付けされた、抽出された鍵が、すべての関連する管理されたデバイス１０２上でローテーションされる。
【００３９】
[0041]次に、以下の説明は、実行され得るいくつかの方法および方法動作を参照する。方法動作が、特定の順序で発生するものとして、一定の順序で説明されるか、流れ図に図示され得るが、特に断りのない限りいかなる特定の順序も必要とされず、または、ある動作は、その動作が実行される前に完了している別の動作に依存しているので必要とされない。
【００４０】
[0042]次に図３を参照すると、方法３００が示されている。方法３００は、分散コンピューティング環境において異種デバイスに統一されたセキュリティモデルを提供するための動作を含む。方法３００は、複数のデバイスセキュリティモデルについての情報を格納するステップを含む（動作３０２）。たとえば、図２はデバイスセキュリティモデルストア２２６を示している。デバイスセキュリティモデルストア２２６は、１つまたは複数のデバイス１０２にアクセスするために必要な資格情報を含むことができる。デバイスセキュリティモデルは、必要な権限、デバイス制約、デバイス制限などの他の情報を含むことができる。たとえば、デバイスは、いつでもデバイスに接続することができるプリンシパルの数を制限することができる。この情報は、デバイスセキュリティモデルストア２２６に格納することができる。デバイスセキュリティモデルストア２２６に格納され得る他の情報は、証明書、パスワード、構成の例外、特殊なアクセスリスト、特別なネットワーク構成等を含むことができる。
【００４１】
[0043]方法３００は、統一されたセキュリティモデルについての情報を格納するステップをさらに含む（動作３０４）。たとえば、図２は、統一されたセキュリティモデルストア２２４を示している。統一されたセキュリティモデルは、１つまたは複数のデバイスに対して様々なプリンシパルが何のアクセス権を有するかを定義することができる。統一されたセキュリティモデルストア２２４は、プリンシパルポリシー情報を含むことができる。たとえば、統一されたセキュリティモデルストア２２４は、役割ベースの制限であってよい。たとえば、一定の役割は、特定の時間に、限られた時間の間だけにデバイス１０２にアクセスすること等に制限され得る。あるいは、またはさらに、一定の役割が、一定のデバイスへのアクセスを制限される場合がある。一定の役割は、すべてのデバイスにアクセスできてよい。一定の役割は、他の役割よりもアクセスを先取りする機能を有してよい。ポリシーは、プリンシパルのすべての、または一定のセットへのアクセスを限られた期間に制限する場所にある場合がある。他の様々なポリシーは、ここでは列挙しないが、統一されたセキュリティモデルストア２２４に格納することができる。
【００４２】
[0044]方法３００は、プリンシパルを識別するステップをさらに含む（動作３０６）。たとえば、実施形態は、デバイスにアクセスしたいユーザー１０６またはソフトウェアモジュール１１２を識別することができる。これは、プリンシパルが、エージェント１００を通じてデバイスアクセス要求を送信するためである。そのような要求は、様々なソフトウェアＡＰＩ、ユーザーインターフェース等を使用することによって開始することができる。
【００４３】
[0045]方法３００は、識別されたプリンシパルに基づいて、デバイスセキュリティモデルを使用することによって、統一されたセキュリティモデルに従って、識別されたプリンシパルにアクセスを提供することをさらに含む（動作３０８）。たとえば、ユーザー１０６がデバイスへのアクセスを要求した結果、統一されたセキュリティモデルストア２２４に格納されたポリシーに基づいて、統一されたセキュリティモデルクレームの主張を生成または呼び出すことができる。エージェント１００は、統一されたセキュリティモデルに従って、ユーザー１０４またはアプリケーション１１２によるデバイス１０２−１へのアクセスを可能にするために、デバイスセキュリティモデル資格情報を使用して、デバイスへのアクセスを要求することができる。
【００４４】
[0046]方法３００は、複数のデバイスセキュリティモデルがデバイスの秘密を備える場合に実施することができる。たとえば、デバイスの秘密は、パスワード、証明書、または同等物を含むことができる。
【００４５】
[0047]方法３００は、統一されたセキュリティモデルが分散オペレーティングシステムセキュリティモデルである場合に実施することができる。具体的には、単一の物理的な機会境界を越えたリソース（たとえば、物理的リソースおよび仮想リソースシステムの大きなプールなど）を管理することができる分散オペレーティングシステムは、様々なアクセス制限および／またはポリシーを有する場合があるセキュリティモデルを有することができる。
【００４６】
[0048]いくつかの実施形態では、分散オペレーティングシステムは、クラウドコンピューティング環境に実装することができる。
[0049]方法３００は、統一されたセキュリティモデルが、プリンシパルアクセス制限および／または時間ベースのアクセス制限を備える場合に実施することができる。たとえば、一定の役割は、特定の時間に、限られた時間の間だけにデバイスにアクセスすること等に制限され得る。あるいは、またはさらに、一定の役割が、一定のデバイスへのアクセスを制限される場合がある。一定の役割は、すべてのデバイスにアクセスできてよい。一定の役割は、他の役割よりもアクセスを先取りする機能を有してよい。ポリシーは、プリンシパルのすべての、または一定のセットへのアクセスを限られた期間に制限する場所にある場合がある。
【００４７】
[0050]方法３００は、１つまたは複数のデバイスへの異なるプリンシパルによる競合するアクセス要求を識別するステップと、そのような競合するアクセス要求を調停（ａｒｂｉｔｒａｔｅ）するステップとをさらに含むことができる。たとえば、競合するアクセス要求は、１つまたは複数のデバイスへの競合するアクセスを要求する複数のエンドユーザーを含むことができる。あるいは、またはさらに、競合するアクセス要求は、１つまたは複数のデバイスへの競合するアクセスを要求する複数のソフトウェアプリンシパルを含むことができる。あるいは、またはさらに、前記競合するアクセス要求は、１つまたは複数のデバイスへの競合するアクセスを要求する、少なくとも１つのソフトウェアプリンシパル、および１人のエンドユーザーを備える。たとえば、プリンシパルの様々な組合せは、エージェント１００を通じてデバイス１０２へのアクセスを要求することができる。そのような組合せは、エンドユーザー１０６などのエンドユーザー、またはアプリケーション１１２などのソフトウェアプリンシパルの組合せを含むことができる。実施形態は、競合するアクセスを解決する方法を決定するための、決定エンジンおよびルール、あるいは他の機能性を有することができる。
【００４８】
[0051]さらに、本方法は、１つまたは複数のプロセッサー、およびコンピューターメモリーなどのコンピューター可読媒体を含むコンピューターシステムによって実施することができる。具体的には、コンピューターメモリーは、１つまたは複数のプロセッサーによって実行されると、本実施形態に記載の動作などの様々な機能性を実行させる、コンピューター実行可能命令を格納することができる。
【００４９】
[0052]本発明の実施形態は、以下でより詳細に説明するように、コンピューターハードウェアを含む専用または汎用コンピューターを備える、または利用することができる。本発明の範囲内の実施形態は、コンピューター実行可能命令および／またはデータ構造を搬送または格納するための物理的および他のコンピューター可読媒体も含む。そのようなコンピューター可読媒体は、汎用コンピューターシステムまたは専用コンピューターシステムによってアクセスされ得る任意の利用可能な媒体でよい。コンピューター実行可能命令を格納するコンピューター可読媒体は、物理的記憶媒体である。コンピューター実行可能命令を搬送するコンピューター可読媒体は、伝送媒体である。したがって、例として、これに限定されないが、本発明の実施形態は、物理的コンピューター可読記憶媒体と、伝送コンピューター可読媒体の、少なくとも２つの明確に異なる種類のコンピューター可読媒体を備えることができる。
【００５０】
[0053]物理的コンピューター可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ、または他の光ディスクストレージ（ＣＤ、ＤＶＤなど）、磁気ディスクストレージまたは他の磁気記憶媒体、あるいは所望のプログラムコード手段をコンピューター実行可能命令またはデータ構造の形態で格納するために使用することができる、あるいは汎用コンピューターまたは専用コンピューターによってアクセスすることができる、他の任意の媒体を含む。
【００５１】
[0054]「ネットワーク」は、コンピューターシステム、および／またはモジュール、ならびに／あるいは他の電子デバイス間の電子データの移送を可能にする１つまたは複数のデータリンクとして定義される。ネットワークまたは別の通信接続（ハードワイヤード、ワイヤレス、またはハードワイヤードとワイヤレスの組合せのいずれか）を介して、情報がコンピューターに転送または提供されると、コンピューターは、接続を伝送媒体として適切に見る。伝送媒体は、所望のプログラムコード手段を、コンピューター実行可能命令またはデータ構造の形態で搬送するために使用することができる、および、汎用コンピューターまたは専用コンピューターによってアクセスすることができる、ネットワークおよび／またはデータリンクを含むことができる。上記の組合せも、コンピューター可読媒体の範囲に含まれる。
【００５２】
[0055]さらに、様々なコンピューターシステムコンポーネントに到達すると、コンピューター実行可能命令またはデータ構造の形態のプログラムコード手段は、伝送コンピューター可読媒体から物理的なコンピューター可読記憶媒体に（またはその逆に）自動的に転送され得る。たとえば、ネットワークまたはデータリンクを介して受信されたコンピューター実行可能命令またはデータ構造は、ネットワークインターフェースモジュール（たとえば「ＮＩＣ」）内のＲＡＭでバッファされて、次いで、コンピューターシステムＲＡＭおよび／またはコンピューターシステムでより揮発性の低いコンピューター可読物理的記憶媒体に最終的に転送され得る。したがって、コンピューター可読物理的記憶媒体は、やはり（または、主に）伝送媒体を利用するコンピューターシステムコンポーネントに含まれ得る。
【００５３】
[0056]コンピューター実行可能命令は、たとえば、汎用コンピューター、専用コンピューター、または専用処理装置に、一定の機能または機能のグループを実行させる命令およびデータを備える。コンピューター実行可能命令は、たとえば、バイナリ、アセンブリ言語などの中間フォーマット命令、さらにはソースコードでもよい。構造の特徴および／または方法論的動作に特有の言語で主題を説明してきたが、添付の特許請求の範囲において定義される主題は、必ずしも説明された特徴または上述の動作に限定されないことが理解されるべきである。むしろ、説明された特徴および動作は、特許請求の範囲を実装する例示的な形態として開示される。
【００５４】
[0057]当業者は、本発明を、パーソナルコンピューター、デスクトップコンピューター、ラップトップコンピューター、メッセージプロセッサー、ハンドヘルドデバイス、マルチプロセッサーシステム、マイクロプロセッサーベースまたはプログラマブル家電、ネットワークＰＣ、ミニコンピューター、メインフレームコンピューター、携帯電話、ＰＤＡ、ページャー、ルーター、スイッチ、および同等物を含む、多くのタイプのコンピューターシステム構成を有するネットワークコンピューティング環境で実施することができることが理解できるだろう。また、本発明は、ネットワークを通じて（ハードワイヤードデータリンク、ワイヤレスデータリンクによって、またはハードワイヤードおよびワイヤレスデータリンクの組合せのいずれかによって）リンクされているローカルおよびリモートコンピューターシステムの両方がタスクを実行する、分散システム環境においても実施することができる。分散システム環境では、プログラムモジュールは、ローカルメモリ記憶デバイスと遠隔メモリ記憶デバイスの両方に配置され得る。
【００５５】
[0058]あるいは、またはさらに、本明細書に記載の機能性は、少なくとも部分的に、１つまたは複数のハードウェアロジックコンポーネントによって実行することができる。たとえば、これに限定されないが、使用され得る例示的なタイプのハードウェアロジックコンポーネントは、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）、特定用途向け標準製品（ＡＳＳＰ）、システムオンチップシステム（ＳＯＣ）、コンプレックス・プログラマブル・ロジック・デバイス（ＣＰＬＤ）などを含む。
【００５６】
[0059]本発明は、その趣旨または特徴から逸脱することなしに、他の特定の形態で具体化することができる。説明された実施形態は、あらゆる点において、単なる例示であり、限定的ではないと考えられるべきである。したがって、本発明の範囲は、上記の説明ではなく添付の特許請求の範囲によって示される。特許請求の範囲の均等物の意味およびの範囲内に入るすべての変更は、その範囲内に包含されるべきである。
【図１】
2015523637.tif 000003
【図２】
2015523637.tif 000004
【図３】
2015523637.tif 000005
【国際調査報告】
2015523637.tif 000006
2015523637.tif 000007