(57)【要約】  タスクベースのアクセス制御の方法、システム、及び技術が提供される。例示の実施形態は、プロキシ・タスク・オブジェクトを使用してタスクベースの許可管理を提供するタスクベースのアクセス制御システム「ＴＢＡＣＳ」を提供する。１つの例示の実施形態において、プロキシ・タスク・オブジェクトは、特権が作用できるオブジェクトと各々対応付けられた１つ以上の特権を備えるアクティビティをカプセル化する。いくつかの実施例において、プロキシ・タスク・オブジェクトは、リアル又はオートメーション化して、許可をデレゲート・ユーザにデレゲートするために、仮想化インフラストラクチャで用いることができる。プロキシ・タスク・オブジェクトはまた、対応するアクティビティの性能のためにそれ自体のユーザ・インタフェースと対応付けられ得る。
2013522726.tif 000002
【特許請求の範囲】
【請求項１】
仮想化環境により管理されたインベントリイ・オブジェクトにおいて複数のアクティビティを実行するために、１つ以上のデレゲート・ユーザへのタスクベースのアクセスを与えるための前記コンピュータベースの仮想化環境におけるコンピュータ実施方法であって、
前記コンピュータベースの仮想化環境におけるコンピュータ・システムの制御下で、
前記仮想化環境により管理されたインベントリイ・オブジェクトにおいて前記複数のアクティビティを実行するために、１つ以上のプロキシ・タスク・オブジェクトを生成するステップであって、各プロキシ・タスク・オブジェクトは、前記インベントリイ・オブジェクトの１つ以上と対応付けられた１つ以上の指定された特権によって、少なくとも１つのアクティビティを表し、その結果、各プロキシ・タスク・オブジェクトの各アクティビティの各指定された特権が、前記１つ以上のインベントリイ・オブジェクトの指定された１つと対応付けられるステップと、
前記生成された１つ以上のプロキシ・タスク・オブジェクトを前記コンピュータベースの仮想化環境のメモリに格納するステップと、
１つ以上の所望のアクティビティの参照によって、カプセル化されたタスク・バンドルとしての１つ以上のデレゲート・ユーザに対する前記生成されて格納された１つ以上のプロキシ・タスク・オブジェクトのうちの少なくとも１つの割当てを容易にし、その結果、前記１つ以上のデレゲート・ユーザは、前記コンピュータベースの仮想化環境の制御下で、前記１つ以上の対応付けられた指定されたインベントリイ・オブジェクトにおいて、前記カプセル化されたタスク・バンドルの前記少なくとも１つのプロキシ・タスク・オブジェクトによって表わされた前記少なくとも１つのアクティビティを実行することが、自動的に許可されるステップと、
を含む方法.
【請求項２】
プロキシ・タスク・オブジェクトの生成及び割当てが、既存のロールベースのアクセス許可メカニズムにおいて実施される請求項１記載の方法。
【請求項３】
前記カプセル化されたタスク・バンドルが第１のデレゲート・ユーザに割り当てられ、そして単一のユーザ・インタフェース・アクションにおいて、前記第１のデレゲート・ユーザが、前記カプセル化されたタスク・バンドルによって表わされた前記少なくとも１つのアクティビティをもはや自動的に実行することができないように、前記割り当てられた第１のデレゲート・ユーザからの前記カプセル化されたタスク・バンドルの一時的な不能化を容易にするステップを更に含む請求項１記載の方法。
【請求項４】
前記第１のデレゲート・ユーザが前記カプセル化されたタスク・バンドルにより表された前記少なくとも１つのアクティビティを実行することが再び自動的に可能であるように、前記割り当てられた第１のデレゲート・ユーザから前記カプセル化されたタスク・バンドルの前記一時的な不能化を再可能にするステップを更に含む請求項３記載の方法。
【請求項５】
前記カプセル化されたタスク・バンドルが第１のデレゲート・ユーザに割り当てられ、そして前記カプセル化されたタスク・バンドルを第２のデレゲート・ユーザと共有するのを容易にするステップを更に含む請求項１記載の方法。
【請求項６】
前記共有がクローニング又はレンディングを含む請求項５記載の方法。
【請求項７】
前記カプセル化されたタスク・バンドルが第１のデレゲート・ユーザに割り当てられ、そして前記カプセル化されたタスク・バンドルが前記第１のデレゲート・ユーザに割り当てられる時間の長さを制限するのを容易にするステップを更に含む請求項１記載の方法。
【請求項８】
前記カプセル化されたタスク・バンドルが第１のデレゲート・ユーザに割り当てられ、そして更に前記仮想化環境により管理された異なる別の１つ以上のインベントリイ・オブジェクトを参照するために、前記カプセル化されたタスク・バンドルの前記少なくとも１つのプロキシ・タスク・オブジェクトに対応付けられた前記１つ以上のインベントリイ・オブジェクトを変更し、その結果、第１のデレゲート・ユーザが、前記第１のデレゲート・ユーザに対する前記カプセル化されたタスク・バンドルの割当てを変更せずに、前記異なる別の１つ以上のインベントリイ・オブジェクトへのアクセスを自動的に与えられるステップを含む請求項１記載の方法。
【請求項９】
対応付けられた専用ユーザ・インタフェースを有するプロキシ・タスク・オブジェクトがカプセル化されたタスク・オブジェクトとして１つ以上のデレゲート・ユーザに割り当てられるとき、そして前記１つ以上のデレゲート・ユーザが前記専用インタフェースと対応付けられた前記割り当てられたカプセル化されたタスク・オブジェクトの実行を開始するときに、前記専用インタフェースが実行されるように、前記プロキシ・タスク・オブジェクトの１つ以上と対応付けられた前記専用ユーザ・インタフェースを提供するステップを更に含む請求項１記載の方法。
【請求項１０】
オートメーション化されたカプセル化されたタスク・バンドルとして１つ以上のデレゲート・ユーザのためのプロキシに対する前記生成されて格納された１つ以上のプロキシ・タスク・オブジェクトのうちの少なくとも１つの割当てを容易にし、その結果、前記コンピュータベースの仮想化環境の制御下で、前記カプセル化されたタスク・バンドルの前記少なくとも１つのプロキシ・タスク・オブジェクトにより表された前記少なくとも１つのアクティビティが、前記１つ以上の対応付けられ指定されたインベントリイ・オブジェクトにおいて、１つ以上のデレゲート・ユーザのための前記プロキシによって、オートメーション化された方法で自動的に実行されるステップを更に含む請求項１記載の方法。
【請求項１１】
前記割当てを容易にする前記ステップが、直接操作ユーザ・インタフェース技法を使用して実行される請求項１記載の方法。
【請求項１２】
前記仮想化環境のシステム管理責任者が、割り当てられたカプセル化バンドルの観察によりデレゲート・ユーザによって許可されたアクティビティを発見できる請求項１記載の方法。
【請求項１３】
前記仮想化環境により管理された前記インベントリイ・オブジェクトが、フォルダ、仮想マシン、資源プール、クラスタ、ホスト、ネットワーク、及び／又はデータストアの１つ以上を備える請求項１記載の方法。
【請求項１４】
前記仮想化環境により管理された前記インベントリイ・オブジェクトが、実体、オブジェクト、制御、及び／又はプロセスの１つ以上を備える請求項１記載の方法。
【請求項１５】
コンピュータプロセッサで実行されるときに、
仮想化環境により管理されたインベントリイ・オブジェクトにおいて複数のアクティビティを行うための許可を定めるための複数のカプセル化されたタスク・オブジェクトを生成するステップであって、各カプセル化されたタスク・オブジェクトは、複数のアクティビティを表す複数の指定された特権を含み、各指定された特権は前記インベントリイ・オブジェクトの指定された１つと対応付けられたステップと、
前記生成された複数のカプセル化されたタスク・オブジェクトをコンピュータ・メモリに格納するステップと、
ロールに関係なく、前記格納されてカプセル化されたタスク・オブジェクトを複数のデレゲート・ユーザに割り当て、その結果、前記複数のデレゲート・ユーザは、コンピュータベースの仮想化環境の制御下で、前記カプセル化されたタスク・オブジェクトの各々の前記複数のアクティビティと対応付けられた前記１つ以上の対応付けられて指定されたインベントリイ・オブジェクトにおいて、前記カプセル化されたタスク・オブジェクトの各々によって表わされた前記複数のアクティビティを実行することを自動的に許可されるステップと、
を含む方法を実行することによって、前記仮想化環境により管理された前記インベントリイ・オブジェクトにおいて、前記複数のアクティビティを実行するために１つ以上のデレゲート・ユーザへのタスクベースのアクセスを与えるコンテンツを含むコンピュータ可読記憶媒体。
【請求項１６】
前記記憶媒体がコンピュータ・システムのメモリであり、そして前記コンテンツが、実行されるときに、前記コンピュータプロセッサに前記方法を実行させる命令である請求項１５記載のコンピュータ可読記憶媒体。
【請求項１７】
前記方法を実行するために基本的なロールベースの許可モデルの呼出しを実行させている請求項１５記載のコンピュータ可読記憶媒体。
【請求項１８】
前記方法が、前記複数のカプセル化されたタスク・オブジェクトを前記複数のデレゲートされたユーザに割り当てるために、グラフィカル・ユーザ・インタフェースを提供するステップを更に含む請求項１５記載のコンピュータ可読記憶媒体。
【請求項１９】
前記複数のカプセル化されたタスク・オブジェクトの１つ以上の前記複数のアクティビティの１つ以上が、専用ユーザ・インタフェースと対応付けられ、そこにおいて、前記対応付けられたアクティビティが開始するときに、前記専用ユーザ・インタフェースは呼び出される請求項１５記載のコンピュータ可読記憶媒体。
【請求項２０】
前記方法が、前記複数のカプセル化されたタスク・オブジェクトの１つへのデレゲートされたユーザのアクセスを一時的に不能及び／又は可能にするステップを更に含む請求項１５記載のコンピュータ可読記憶媒体。
【請求項２１】
前記方法が、前記複数のカプセル化されたタスク・オブジェクトの前記１つが割り当てられた以外のデレゲート・ユーザを有する前記複数のカプセル化されたタスク・オブジェクトの１つをテンプレートとして共有し、クローンを作り、及び／又は使用するステップを更に含む請求項１５記載のコンピュータ可読記憶媒体。
【請求項２２】
前記仮想化環境により管理される前記インベントリイ・オブジェクトが、フォルダ、仮想マシン、資源プール、クラスタ、ホスト、ネットワーク、及び／又はデータストアの１つ以上から成る請求項１５記載のコンピュータ可読記憶媒体。
【請求項２３】
前記仮想化環境により管理された前記インベントリイ・オブジェクトが、実体、オブジェクト、制御、及び／又はプロセスの１つ以上を備える請求項１５記載のコンピュータ可読記憶媒体。
【請求項２４】
コンピュータプロセッサで実行されるときに、
特権をアクティビティにグループ化するために入力を受け取り、前記グループ化された特権を必要とするタスクが１つ以上の管理オブジェクトで実行されうるように、前記アクティビティを１つ以上の管理オブジェクトとバンドルし、そして前記バンドルされたアクティビティを１つ以上のデレゲート・ユーザに割り当てて、前記１つ以上のデレゲート・ユーザが前記１つ以上の管理オブジェクトで前記タスクを実行することを可能にする、コンピュータ作動のユーザ・インタフェースを有する管理オブジェクトにロール・ユーザ対を割り当てる既存のオブジェクト中心の許可モデルをオーバーレイすることによって、仮想化環境により管理されている複数のオブジェクトへのタスクベースのアクセスを容易にするステップを含む方法を実行することによって、前記仮想化環境により管理されている前記オブジェクトにおいて前記複数のタスクを実行するために１つ以上のデレゲート・ユーザへのタスクベースのアクセスを与えるコンテンツを含むコンピュータ可読記憶媒体。
【請求項２５】
前記オーバーレイするステップが、前記バンドルされたアクティビティをカプセル化されたオブジェクトに格納するステップを更に含む請求項２４記載のコンピュータ可読記憶媒体。
【請求項２６】
前記カプセル化されたオブジェクトがｖＢｏｔである請求項２５記載のコンピュータ可読記憶媒体。
【請求項２７】
デレゲート・ユーザに代わってタスクを自動的に実行するために、前記カプセル化されたオブジェクトを呼び出すステップを更に含む請求項２４記載のコンピュータ可読記憶媒体。
【請求項２８】
前記記憶媒体がコンピュータ・システムのメモリであり、そして前記コンテンツが、実行されるときに、前記コンピュータプロセッサに前記方法を実行させる命令である請求項２４記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本開示は、タスクベースのアクセス制御を生成して管理するための方法、技術、及びシステムに関するものであり、そして、例えば、プロキシ・タスク・オブジェクトを用いて仮想化環境におけるタスクベースのアクセス制御を生成して管理するための方法、技術、及びシステムに関する。
【背景技術】
【０００２】
[0002]既存の仮想化環境におけるアクセス制御を規定する許可モデルは、オブジェクト中心である。特に、各オブジェクトは、それを操作するために必要とされるそれと対応付けられた特権を有する。デレゲート・ユーザ（例えば、システム管理責任者から適当な許可を得たユーザ）がオブジェクトへのアクセスを得るために、ユーザは適当なセットの特権（オブジェクトがそのオブジェクトに関して何らかの動作をとるために期待するものにマッチするもの）を与えられる必要がある。これらの特権は、特定の時間に特定のユーザが、ユーザが実行することを望む動作を実行するためにアクセス権を有するかどうかを決定するために、仮想化環境によって使用される。いくつかの仮想化システムで、そして他のコンピューティング環境で、この種の特権（例えば、アクセス権など）は「ロール（ｒｏｌｅｓ）」にグループ化され、そしてユーザは、彼又は彼女がインフラストラクチャの中で実行することをおそらく必要とするアクティビティに基づいて、ロールを割り付けられる（例えば、指定される、認可される、割り当てられる、指図されるなど）。ロールは、デレゲート・ユーザが時間とともに実行する必要があり得る多くのいろいろなアクティビティを含む、大きいセットの特権を一緒にグループ化する傾向がある。例えば、システム管理責任者ロールで演じるユーザは、ソフトウェア・テスタ・ロールで演じるユーザとは異なるアクティビティを実行する必要があり得る。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国暫定特許出願第６１／３１１，４８２号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００４】
[0003]例えば、開発中の彼らのソフトウェアのための試験環境として仮想マシンを使用する多くの従業員を有する会社で、特定の試験のために構成されたデータセンター内の特定の仮想マシンの電源をオンオフするために、各ユーザにアクセスできることが望ましいことがある。仮想マシンの電源をオンするには一組の特権を必要とすることがあるが、仮想マシンを別のホストに動かすような異なるタスクは別の組の特権を必要とすることがある。仮想マシンの移動がデータセンターの管理のあるアスペクトに関係するユーザにしばしば確保されるので、仮想マシンの電源をオンする能力を有するあらゆるユーザがまた、彼又は彼女の仮想マシンをインフラストラクチャ内の異なるホストに動かす能力を与えられることは、多くのこの種の場合において必要でないか、またはずっと望ましい。従って、頻繁に、特に非常に大きいデータセンターで、システム管理責任者は、誰が仮想化インフラストラクチャ内の何にアクセスするか、そして、厳密に、それらのデレゲート・ユーザがインフラストラクチャのさまざまな部分に対して何をすることができるか規定する必要がある。率先してアクセスを適切に許可するために、それらは、従って、さまざまなユーザが、データセンター内で管理されるオブジェクト（本明細書において、管理インベントリイ・オブジェクトと称されることがある）に関してどんなロールを演ずるかについて事前に予測しなければならない。そのタスクを実行するのに多くのいろいろな表面上無関係な特権が必要であるかも知れないので、そのタスクを実行するためにユーザに必要な特権のフルセットを識別することは困難なことがある。加えて、いくつかの仮想化環境では、許可は複雑な継承構造規則により伝播され、従って特定のユーザがどんな許可を与えられたかを管理責任者がいつでも正確に理解することは困難であり得る。
【課題を解決するための手段】
【０００５】
[0004]図１Ａ〜１Ｉは、ロールベースのパラダイムに従って仮想化インフラストラクチャの許可を管理するための既存のユーザ・インタフェースの画面表示の実施例である。これらの表示は、ｖＳｐｈｅｒｅ（商標）と呼ばれているＶＭｗａｒｅ・データセンター仮想化管理製品から生成した。図１Ａは、ロール（Ｒｏｌｅ）１０１が特権１０２ａ〜１０２ｄから成ることを示し、ロール１０１は、インベントリイ・オブジェクト・フォルダ１２１（例えば、データセンター・インベントリイの管理対象オブジェクト）からのオブジェクト１２２ａ〜１２２ｄと対応付けられ、ロール１０１はユーザ１１２ａ〜１１２ｄと対応付けられ、アクティブ・デリクトリイ・グループ（Ａｃｔｉｖｅ  Ｄｉｒｅｃｔｏｒｙ  Ｇｒｏｕｐ）１１１に格納されるように、ここで例示され、そしてインベントリイ・オブジェクト・フォルダ（Ｉｎｖｅｎｔｏｒｙ  Ｏｂｊｅｃｔ  Ｆｏｌｄｅｒ）１２１はまた、アクティブ・デリクトリイ・グループ１１１のユーザ１１２ａ〜１１２ｄと対応付けられる。３つの要素、１つ以上のロール１０１、オブジェクト・フォルダ１２１、及びユーザ１１１のグループの全ては、特定のユーザがインフラストラクチャでどのオブジェクトを処理することが可能かについて規定するために用いられる。各要素はまた、それ自体の専用ユーザ・インタフェースと対応付けられ、ロール１０１はロール・インタフェース１００により管理され、インベントリイ・オブジェクト・フォルダ１２１は、ユーザ・インタフェース１２０により管理され、そしてユーザ（及びユーザのグループ）１１１はインタフェース１１０により管理される。
【０００６】
[0005]ユーザにアクセスを許可するために、このシステムの下で、管理責任者は、既存のロールをユーザに割り当てるか、または新しいロールを規定する。図１Ｂは、ユーザ・インタフェース１００の使用を例示し、ここでは、「ＶＭs Ｏｎｌｙ」と呼ばれる新しいロールを規定するために、ｖＳｐｈｅｒｅクライアント・ウィンドウ１３０にダイアログ１３１として示されている。ここで「ＶＭ」は仮想マシンを指す。図１Ｂに示すように、管理責任者は、特権のいずれか、例えば、仮想アプリケーションの電源をオンするためのｖＡｐｐカテゴリ１３２内の特権「電源オン（Ｐｏｗｅｒ  ＯＮ）」１３３を選択する。所望の特権の全てを選択した後に、新規なロール「ＶＭ  Ｏｎｌｙ」１３４は、それがやがては特定のユーザに割り当てられる必要があるので、まだ使用されていないとして図１Ｃのロール・ウインドウに現れる（出力テキスト１３５）。
【０００７】
[0006]管理責任者は、ここで、ユーザ・インタフェース１２０（図１Ａ）を用いてロールをどのオブジェクトと対応付けるかを決定する必要がある。図１Ｄは、管理責任者が、新しいロールが割り当てられるデータセンター「ボビーのＶＭ（Ｂｏｂｂｙ’ｓ  ＶＭ）」（フォルダ）のオブジェクトを選択したことを示している。オブジェクト「ボビーのＶＭ」に既に割り当てられたロールの現在のセットは、許可（Ｐｅｒｍｉｓｓｉｏｎ）タブ１４２の下に示されている。新しく開発されたロール「ＶＭ  Ｏｎｌｙ」を加えるために、管理責任者は、追加許可（Ａｄｄ  Ｐｅｒｍｉｓｓｉｏｎ）メニュー１４３又は他のユーザ・インタフェース（ＵＩ）制御によって割り当て許可ダイアログを提示する。割り当て許可（Ａｓｓｉｇｎ  Ｐｅｒｍｉｓｓｉｏｎｓ）ダイアログ１５０によって、図１Ｅに示すように、管理責任者は、新しく定義済みのロール１５３をロールメニュー１５２から選択できる。管理責任者はまた、オブジェクト定義階層の更なる下のオブジェクトが同様にこの役割を継承するかどうかをＵＩ制御１５４を用いて示すことができる。例えば、ＵＩ制御１５４が選択されたので、ボビーのフォルダのすべての仮想マシン（ＶＭ）はこのロール割り当てを継承できる。管理責任者がされる（例えば「ＯＫ」ボタン１５５を押すことによって、）ことを管理責任者が示すときに、管理責任者は、新しいロールを割り当てられるユーザ及び／又はグループを選択できる。
【０００８】
[0007]図１Ｆは、ロール割り当てのためのユーザの選択のためのプロセスの実施例を示す。別のユーザ選択ダイアログ１６０（例えば、図１ＡのＵＩ  １１０）において、管理責任者は、ボビー（アイコン１６１）が彼に割り当てられた新しいロールを有することを選ぶ。一旦この全サイクルが完了する（新しいロールを規定し、オブジェクトに割り当て、ユーザ／グループに割り当てる）と、管理責任者は、図１Ｇに示すように、割当て許可ダイアログ１５０のフィールド１７１で、新しいロール「ＶＭs  Ｏｎｌｙ」がボビーに割り当てられたということ、そしてどんな許可がそのロールでボビーが利用できるかという表示１７２を知ることができる。管理責任者は、図１Ｈに示されるインベントリイＵＩを使用して、新しい許可１８２がオブジェクト・ボビーのＶＭに関してボビー１８１に割り当てられたことを検査できる。図１Ｉに示すように、管理責任者がここでシステムにおいて規定されるロールに注目するときに、管理責任者は、新しいロール１３４を、そしてそれがどこで誰に割り当てられたかを見ることができる（記述１９１）。
【０００９】
[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]既存のアクセス制御データ構造１２１０は少なくとも二次元を含む（オブジェクト１２１１は縦列として示され、そして特権１２１２は横列として示される）。割り当てられるとき、オブジェクトと特権の交差であると理解される各セルは、その特定のオブジェクトのためにその特定の特権を割り当てられた１つ以上のユーザ（又はグループ、又は他の名称）の指示により配置される。例えば、セル１２１３は、ユーザＵ２及びＵ３がオブジェクト１２１１と特権１２１２の交差の位置により示された許可を有することを示す。ここで示されるように、オブジェクト・特権の組合せごとにセルがある。いくつかのシステムにおいて、アクセス制御情報は貧弱なデータ技術を用いて格納されうる。
【００５０】
[0060]プロキシ・タスク・オブジェクト（例えば、ｖＢｏｔ）データ構造１２０１は、アクティビティ（即ち、特権のグループ）がどのようにオブジェクトに束縛されて、ユーザに割り当てられているかを格納する。例えば、図１２に示すように、ｖＢｏｔ  １２０１は、仮想化インフラストラクチャに、さまざまな管理インベントリイ・オブジェクト、例えばオブジェクト１２０６及び１２０７）に束縛された（３つの異なる）アクティビティを含む。各アクティビティは一群の特権として格納される。例えば、破線の楕円線でマークして示されるアクティビティ１２０５は、オブジェクト１２０６に束縛されて、特権１２０２及び特権１２０４を含むグループである。オブジェクト１２０７に束縛されたアクティビティ（マークされていない）は、特権１２０２及び１２０３を含むグループである。このように、データ構造１２０１は、プロキシ・タスク・オブジェクト内でオーサリングされたアクティビティの全てに存在する特権の全ての結合を格納する（横列１２０２〜１２０４として示される）。プロキシ・タスク・オブジェクトが最初にオーサリングされるときに、それはアクティビティごとに「縦列」を有するアクティビティ（特権のグループ）から成るだけであることがある。プロキシ・タスク・オブジェクトが展開されるときに、アクティビティはオブジェクトに束縛されて格納される。（縦列は、各オブジェクトに対して複製されるか、又は、いくつかの実施形態において、複数のオブジェクトで共有できる）。ユーザへ割り当てる前に、各「セル」（各アクティビティの各特権）は、抽象的なユーザ（例えば、「？」または「ｘ」により表される）に割り当てられると考えられる。プロキシ・タスク・オブジェクトがユーザに割り当てられるときに、特権・オブジェクトの交差を示している「セル」は特定のユーザ（例えば、ユーザＵ１）に割り当てられて、データを有する各プロキシ・タスク・オブジェクト・セルが既存のアクセス制御データ構造１２１０の下にあるセル（オブジェクト・特権の組合せ）にマップされることができるように、データ構造は適切に変えられる。
【００５１】
[0061]本願明細書に記載されているようなタスクベースのアクセス制御メカニズムはまた、図１２に示される以外のアクセス制御情報を格納する技術にオーバーレイされうる。また、横列及び縦列を有するテーブルとして示されるけれども、例えば、マトリックス、スパース・マトリックス構造、リンクリスト、ハッシュテーブル、アレイ、他のオブジェクトなどを含む、いかなる等価又は代替のデータ構造も用いられることが可能であるものと理解される。
【００５２】
[0062]この明細書で参照される、及び／又はアプリケーション・データ・シートにリストした上記の米国特許、米国特許出願公開、米国特許出願、外国の特許、外国の特許出願及び非特許刊行物（２０１０年３月８日に出願された「ｖＢＯＴＳ：アクセス制御の実施形態」という名称の特許文献１を含むがこれに限らず）の全てを参照によって本願明細書に引用したものとする。
【００５３】
[0063]上記のことからいうまでもなく、特定の実施形態が例証のために本願明細書で説明されたけれども、さまざまな変更態様は本開示の精神及び範囲から逸脱せずに行われうる。例えば、本願明細書において述べられたタスクベースのアクセス制御を実行する方法、システム、及び技術は、仮想化アーキテクチャ以外の他のアーキテクチャに適用できる。また、本願明細書において述べられた方法及びシステムは、いろいろなプロトコル、通信メディア（光学、無線、ケーブルなど）、及び装置（例えば、無線ハンドセット、電子手帳、携帯情報機器、携帯用の電子メール・マシン、ゲーム機、ポケットベル、ＧＰＳレシーバのようなナビゲーション装置など）に適用できる。
【図１Ａ】
2013522726.tif 000003
【図１Ｂ】
2013522726.tif 000004
【図１Ｃ】
2013522726.tif 000005
【図１Ｄ】
2013522726.tif 000006
【図１Ｅ】
2013522726.tif 000007
【図１Ｆ】
2013522726.tif 000008
【図１Ｇ】
2013522726.tif 000009
【図１Ｈ】
2013522726.tif 000010
【図１Ｉ】
2013522726.tif 000011
【図２】
2013522726.tif 000012
【図３】
2013522726.tif 000013
【図４】
2013522726.tif 000014
【図５】
2013522726.tif 000015
【図６】
2013522726.tif 000016
【図７】
2013522726.tif 000017
【図８】
2013522726.tif 000018
【図９Ａ】
2013522726.tif 000019
【図９Ｂ】
2013522726.tif 000020
【図９Ｃ】
2013522726.tif 000021
【図９Ｄ】
2013522726.tif 000022
【図９Ｅ】
2013522726.tif 000023
【図９Ｆ】
2013522726.tif 000024
【図９Ｇ】
2013522726.tif 000025
【図９Ｈ】
2013522726.tif 000026
【図９Ｉ】
2013522726.tif 000027
【図９Ｊ】
2013522726.tif 000028
【図１０Ａ】
2013522726.tif 000029
【図１０Ｂ】
2013522726.tif 000030
【図１１】
2013522726.tif 000031
【図１２】
2013522726.tif 000032
【国際調査報告】
2013522726.tif 000033