(57)【特許請求の範囲】
【請求項１】
分散型コンピューティングシステムのアプリケーションマネージャによって、前記分散型コンピューティングシステムのユーザ認証モジュールに、ユーザを認証せよとの要求を行うステップと、
前記アプリケーションマネージャによって、前記ユーザ認証モジュールから、前記ユーザを認証する非特権化トークンを受領するステップであって、前記非特権化トークンが、前記ユーザに関連付けられた部分的アクセス権を含む、ステップと、
前記アプリケーションマネージャによって、前記分散型コンピューティングシステムのアプリケーションフレームワークに、前記ユーザ、アプリケーション、アクション、および前記非特権化トークンを提供するステップと、
前記アプリケーションフレームワークによって、前記分散型コンピューティングシステムのクラウドコントローラに、前記非特権化トークンを提供するステップと、
前記クラウドコントローラによって、前記ユーザ認証モジュールに、前記非特権化トークンを機能拡張せよとの要求をサブミットするステップと、
前記クラウドコントローラによって、前記ユーザ認証モジュールから、前記非特権化トークン内に表されていない、前記ユーザに関連付けられた1つまたは複数の特権に関する情報を受領するステップと、
前記クラウドコントローラによって、前記アプリケーションフレームワークに、関連付けられた1つまたは複数の特権に関する前記情報を提供するステップと
を含む方法。
【請求項２】
前記ユーザを認証せよとの前記要求を行うステップが、前記ユーザ、前記アプリケーション、および前記アプリケーション上で前記ユーザによって実施される前記アクションを指定する要求を、前記アプリケーションマネージャによって受領したことに応答して行われる、請求項1に記載の方法。
【請求項３】
前記アプリケーションフレームワークによって、前記アプリケーション上で前記ユーザが前記アクションを実施することを許すかどうかを、前記アクションと、前記ユーザに関連付けられた前記1つまたは複数の特権との間の比較に基づいて決定するステップ
を含む、請求項1に記載の方法。
【請求項４】
前記ユーザ認証モジュールが、前記分散型コンピューティングシステムのユーザアカウントおよび認証(UAA)サーバを含み、
前記アクションが、健全性を表示すること、アプリケーション固有の情報を表示すること、環境変数を表示すること、メモリの内容を表示すること、スレッド診断を表示すること、アプリケーション固有の尺度を表示すること、およびアプリケーションの構成を表示または修正することのうちの少なくとも1つを含む、
請求項1に記載の方法。
【請求項５】
前記クラウドコントローラによって、前記アプリケーションフレームワークに、前記関連付けられた1つまたは複数の特権を提供するステップが、暗号化されたチャネルを通じて実施され、前記関連付けられた1つまたは複数の特権に前記非特権化トークンが伴わない、請求項1に記載の方法。
【請求項６】
前記ユーザが前記アクションを実施することを許すと決定した後に、前記アクションの結果を出力デバイス上に提示するステップを含む、請求項1に記載の方法。
【請求項７】
前記アプリケーションマネージャ、前記アプリケーションフレームワーク、および前記クラウドコントローラの各々上で、前記特権と前記非特権化トークンが別々に符号化される、請求項1に記載の方法。
【請求項８】
データ処理装置によって実行可能な命令を記憶し、そのように実行すると、前記データ処理装置に、
分散型コンピューティングシステムのアプリケーションマネージャによって、前記分散型コンピューティングシステムのユーザ認証モジュールに、ユーザを認証せよとの要求を行うことと、
前記アプリケーションマネージャによって、前記ユーザ認証モジュールから、前記ユーザを認証する非特権化トークンを受領することであって、前記非特権化トークンが、前記ユーザに関連付けられた部分的アクセス権を含む、受領することと、
前記アプリケーションマネージャによって、前記分散型コンピューティングシステムのアプリケーションフレームワークに、前記ユーザ、アプリケーション、アクション、および前記非特権化トークンを提供することと、
前記アプリケーションフレームワークによって、前記分散型コンピューティングシステムのクラウドコントローラに、前記非特権化トークンを提供することと、
前記クラウドコントローラによって、前記ユーザ認証モジュールに、前記非特権化トークンを機能拡張せよとの要求をサブミットすることと、
前記クラウドコントローラによって、前記ユーザ認証モジュールから、前記非特権化トークン内に表されていない、前記ユーザに関連付けられた1つまたは複数の特権に関する情報を受領することと、
前記クラウドコントローラによって、前記アプリケーションフレームワークに、関連付けられた1つまたは複数の特権に関する前記情報を提供することと
を含む動作を実施させる、非一時的コンピュータ可読記憶媒体。
【請求項９】
前記ユーザを認証せよとの前記要求を行うことが、前記ユーザ、前記アプリケーション、および前記アプリケーション上で前記ユーザによって実施される前記アクションを指定する要求を、前記アプリケーションマネージャによって受領したことに応答して行われる、請求項8に記載の非一時的コンピュータ可読記憶媒体。
【請求項１０】
前記動作が、
前記アプリケーションフレームワークによって、前記アプリケーション上で前記ユーザが前記アクションを実施することを許すかどうかを、前記アクションと、前記ユーザに関連付けられた前記1つまたは複数の特権との間の比較に基づいて決定すること
を含む、請求項8に記載の非一時的コンピュータ可読記憶媒体。
【請求項１１】
前記ユーザ認証モジュールが、前記分散型コンピューティングシステムのユーザアカウントおよび認証(UAA)サーバを含み、
前記アクションが、健全性を表示すること、アプリケーション固有の情報を表示すること、環境変数を表示すること、メモリの内容を表示すること、スレッド診断を表示すること、アプリケーション固有の尺度を表示すること、およびアプリケーションの構成を表示または修正することのうちの少なくとも1つを含む、
請求項8に記載の非一時的コンピュータ可読記憶媒体。
【請求項１２】
前記クラウドコントローラによって、前記アプリケーションフレームワークに、前記関連付けられた1つまたは複数の特権を提供することが、暗号化されたチャネルを通じて実施され、前記関連付けられた1つまたは複数の特権に前記非特権化トークンが伴わない、請求項8に記載の非一時的コンピュータ可読記憶媒体。
【請求項１３】
前記動作が、前記ユーザが前記アクションを実施することを許すと決定した後に、前記アクションの結果を出力デバイス上に提示することを含む、請求項8に記載の非一時的コンピュータ可読記憶媒体。
【請求項１４】
前記アプリケーションマネージャ、前記アプリケーションフレームワーク、および前記クラウドコントローラの各々上で、前記特権と前記非特権化トークンが別々に符号化される、請求項8に記載の非一時的コンピュータ可読記憶媒体。
【請求項１５】
1つまたは複数のコンピュータと、
1つまたは複数の記憶デバイスであって、その上に命令が記憶され、その命令が、前記1つまたは複数のコンピュータによって実行されると、前記1つまたは複数のコンピュータに、
分散型コンピューティングシステムのアプリケーションマネージャによって、前記分散型コンピューティングシステムのユーザ認証モジュールに、ユーザを認証せよとの要求を行うこと、
前記アプリケーションマネージャによって、前記ユーザ認証モジュールから、前記ユーザを認証する非特権化トークンを受領することであって、前記非特権化トークンが、前記ユーザに関連付けられた部分的アクセス権を含む、受領すること、
前記アプリケーションマネージャによって、前記分散型コンピューティングシステムのアプリケーションフレームワークに、前記ユーザ、アプリケーション、アクション、および前記非特権化トークンを提供すること、
前記アプリケーションフレームワークによって、前記分散型コンピューティングシステムのクラウドコントローラに、前記非特権化トークンを提供すること、
前記クラウドコントローラによって、前記ユーザ認証モジュールに、前記非特権化トークンを機能拡張せよとの要求をサブミットすること、
前記クラウドコントローラによって、前記ユーザ認証モジュールから、前記非特権化トークン内に表されていない、前記ユーザに関連付けられた1つまたは複数の特権に関する情報を受領すること、および
前記クラウドコントローラによって、前記アプリケーションフレームワークに、関連付けられた1つまたは複数の特権に関する前記情報を提供すること
を含む動作を実施させるように動作可能である、1つまたは複数の記憶デバイスと
を備える、システム。
【請求項１６】
前記ユーザを認証せよとの前記要求を行うことが、前記ユーザ、前記アプリケーション、および前記アプリケーション上で前記ユーザによって実施される前記アクションを指定する要求を、前記アプリケーションマネージャによって受領したことに応答して行われる、請求項15に記載のシステム。
【請求項１７】
前記動作が、
前記アプリケーションフレームワークによって、前記アプリケーション上で前記ユーザが前記アクションを実施することを許すかどうかを、前記アクションと、前記ユーザに関連付けられた前記1つまたは複数の特権との間の比較に基づいて決定すること
を含む、請求項15に記載のシステム。
【請求項１８】
前記ユーザ認証モジュールが、前記分散型コンピューティングシステムのユーザアカウントおよび認証(UAA)サーバを含み、
前記アクションが、健全性を表示すること、アプリケーション固有の情報を表示すること、環境変数を表示すること、メモリの内容を表示すること、スレッド診断を表示すること、アプリケーション固有の尺度を表示すること、およびアプリケーションの構成を表示または修正することのうちの少なくとも1つを含む、
請求項15に記載のシステム。
【請求項１９】
前記クラウドコントローラによって、前記アプリケーションフレームワークに、前記関連付けられた1つまたは複数の特権を提供することが、暗号化されたチャネルを通じて実施され、前記関連付けられた1つまたは複数の特権に前記非特権化トークンが伴わない、請求項15に記載のシステム。
【請求項２０】
前記アプリケーションマネージャ、前記アプリケーションフレームワーク、および前記クラウドコントローラの各々上で、前記特権と前記非特権化トークンが別々に符号化される、請求項15に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、クラウドコンピューティング環境における認証技法に関する。
【背景技術】
【０００２】
従来のクラウドコンピューティング環境では、許可モデルが時に、複数の当事者間で分割される。例えば、許可モデルの一部分を、ユーザアカウントを管理するシステム、例えばユーザアカウント認証(UAA)サーバによって実装することができ、一方、許可モデルの別の部分を、スペースおよびユーザロールを管理するシステム、例えばクラウドコントローラ内に実装することができる。そのような実装形態では、アプリケーション、例えばクラウドコンピューティング環境において実行されるとともにOAuthでセキュリティ保護されているアプリケーションの隣接API(adjacent API)が、UAAに、アプリケーションのそれ自体の挙動に関するOAuth権限、ならびにアプリケーションがクラウドコントローラ許可の照合をすることを可能にする権限をもつ、トークンを発行してもらう必要がある場合がある。アプリケーションのそれ自体の挙動に関する権限と、クラウドコントローラ許可との照合をするための権限とが混ざり合うことは、望ましくない場合がある。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】The OAuth 2.0 Authorization Framework
【発明の概要】
【課題を解決するための手段】
【０００４】
本明細書では、資格情報の分散型検証の技法について説明する。アクションを実施せよとのユーザによる要求を受領すると、システムは、各パートにおいて認証情報の一部分のみが通されるマルチパート認証を実施する。第1の段階では、システムのアプリケーションマネージャが、部分的アクセス権を指定する非特権化トークン(de-privileged token)を受領する。第2の段階では、システムのクラウドコントローラが、非特権化トークンとは別に、かつ安全に暗号化されたチャネルを通じて、ユーザの特権を要求してそれを受領する。したがって、この技法は、アプリケーションプログラムのアプリケーションプログラミングインターフェース(API)に、そのアプリケーションプログラムが必要とする権限のみを収容したトークンが与えられ、それでもなお、ユーザの特権を昇格させる必要なくクラウドコントローラ許可の検証が可能であることを、確実にするものである。
【０００５】
従来の技法では、2つ以上のコンポーネントによって認証が必要とされるとき、分割許可モデルが、複数の部分にコンポーネントごとに1つ必要とされる許可の和集合を要する。本明細書は、いずれか一方の検証当事者の特権を昇格させることなく許可の検証を分散させる仕方について開示する。
【０００６】
本明細書において説明する本主題は、以下の利点のうちの1つまたは複数を実現するように、さまざまな実施形態において実施することができる。開示する技法は、システム特権が認証トークンを伴う必要のない、より安全な認証システムを提供することによって、従来の認証システムを改善する。システムのセンシティブなコンポーネント、例えばクラウドコントローラが、ユーザアクションを別途に認証し、それによって、センシティブなコンポーネントにアクセスするための特権がアプリケーションレベルの認証と混ざらないようにすることができる。従来のシステムにおける、アプリケーションのそれ自体の挙動のための権限と、クラウドコントローラ許可との照合をするための権限とが混ざり合うことが、回避される。
【０００７】
本明細書において説明する本主題の1つまたは複数の実装形態の詳細は、添付の図面および下の説明において記述される。本主題の他の特徴、態様、および利点は、説明、図面、および特許請求の範囲から明らかとなろう。
【図面の簡単な説明】
【０００８】
【図１】資格情報の分散型検証の例示的技法を示すブロック図である。
【図２】資格情報の分散型検証の一例示的プロセスを示すフローチャートである。
【発明を実施するための形態】
【０００９】
さまざまな図面中の同様の参照番号および名称は、同様の要素を示す。
【００１０】
図1は、資格情報の分散型検証の例示的技法を示すブロック図である。分散型コンピューティングシステム100は、資格情報の分散型検証を実施する。分散型コンピューティングシステム100は、クラウドベースのコンピューティング環境を提供し、下で説明する複数のコンポーネントを含む。分散型コンピューティングシステム100の各コンポーネントは、1つまたは複数のコンピュータプロセッサをそれぞれが含む1つまたは複数のコンピュータ上に実装することができる。分散型コンピューティングシステム100の一例が、Pivotal Cloud Foundry(PCF)インストレーションである。
【００１１】
分散型コンピューティングシステム100は、アプリケーションマネージャ102を含む。アプリケーションマネージャ102は、オーガニゼーション、スペース、アプリケーション、サービス、およびユーザを管理するための、ウェブベースツール、コマンドラインツール、またはバッチ処理ツールを含むことができる。アプリケーションマネージャ102は、例えば、Pivotal Apps Managerコンポーネントとすることができる。アプリケーションマネージャ102が、第1の要求104を受領する。第1の要求104は、ユーザ、アプリケーション、およびアプリケーション上でユーザによって実施されるアクションを指定する。例えば、第1の要求104は、ユーザ名、アプリケーション識別子、およびアクションの表現を含むことができる。アクションは、例えば、数ある中でも、アプリケーションを修正すること、アプリケーションの環境変数を表示すること、とすることができる。
【００１２】
第1の要求104に応答して、アプリケーションマネージャ102は、第2の要求106をユーザ認証モジュール108にサブミットする。第2の要求106は、部分的認証を求める要求であり、第1の要求104内に指定されたユーザ名、アプリケーション名、またはアクションのうちの少なくとも1つを含む。
【００１３】
ユーザ認証モジュール108は、分散型コンピューティングシステム100の識別情報管理サービスを提供するように構成された、分散型コンピューティングシステム100のコンポーネントである。ユーザ認証モジュール108は、トークンプロバイダとしての役割、例えばインターネット技術タスクフォース(IETF)リクエストフォーコメント(RFC)6749によって公開されたThe OAuth 2.0 Authorization Frameworkにおいて規定されている、OAuth2プロバイダとしての役割を実施することができる。ユーザ認証モジュール108は、クライアントアプリケーションがシステムユーザに代わって働くときに使用するためのトークンを発行することができる。ユーザ認証モジュール108の一例が、Pivotal UAA Serverモジュールである。
【００１４】
要求106を受領すると、ユーザ認証モジュール108は非特権化トークン110を発行する。非特権化トークン110は、ユーザの部分的かつ不完全な権利を示すトークンである。例えば、非特権化トークン110内には、システム動作に対する一部のアクセス権が表されていないことがある。非特権化トークン110は、OAuth2.0フレームワークまたは認証のための他のフレームワークに準拠したトークンとすることができる。
【００１５】
アプリケーションマネージャ102は、第2の要求106に対する応答として非特権化トークン110を受領する。非特権化トークン110を受領したことに応答して、アプリケーションマネージャ102は、ユーザ認証情報112をアプリケーションフレームワーク114に提供する。ユーザ認証情報112は、ユーザ名、アプリケーション識別子、アクション、または非特権化トークン110のうちの1つまたは複数を含むことができる。
【００１６】
アプリケーションフレームワーク114は、ウェブアプリケーションを構築するためのフレームワークである。アプリケーションフレームワーク114は、例えば、依存性の注入を取り扱うように、トランザクションを取り扱うように、またモデルビューコントローラアーキテクチャを実装するように構成される。アプリケーションフレームワーク114の一例が、Pivotal Spring Bootである。アプリケーションフレームワーク114は、ユーザ認証情報112を受領すると、第3の要求116をクラウドコントローラ118にサブミットすることができる。第3の要求116は、ユーザ認証情報112内に提供されたユーザ名、アプリケーション識別子、アクション、および非特権化トークン110のうちの少なくとも1つを含むことができる。第3の要求116はクラウドコントローラ118に、アプリケーションマネージャ102とユーザ認証モジュール108との間の第1の認証動作とは別に、第2の認証を実施させる。
【００１７】
クラウドコントローラ118は、システム100上へのアプリケーションの展開を指示するように構成された、システム100のコンポーネントである。クラウドコントローラ118はまた、クライアントデバイスがシステム100にアクセスするためのREST APIエンドポイントを提供するように構成される。クラウドコントローラ118は、数ある中でも、オーガニゼーション、スペース、サービス、およびユーザロールに関する記録をもつデータベースを維持することができる。第3の要求116を受領したことに応答して、クラウドコントローラ118は、トークンを機能拡張せよとの第4の要求120をサブミットする。トークンを機能拡張せよとの第4の要求120は、ユーザ名、アプリケーション識別子、アクション、または非特権化トークン110のうちの少なくとも1つを含むことができる。第4の要求120は、クラウドコントローラ118の識別情報を裏付ける認証情報を含むことができる。クラウドコントローラ118は、トークンを機能拡張せよとの第4の要求120を、ユーザ認証モジュール108にサブミットすることができる。クラウドコントローラ118は、好ましくは、ユーザ認証モジュール108と、セキュリティ保護および暗号化された通信チャネル経由で通信する。
【００１８】
セキュリティ保護および暗号化されたチャネルを通じて、クラウドコントローラ118は、非特権化トークン110に関連付けられた特権122を受領する。特権122は、ユーザ認証モジュール108によって実施された第2の認証動作の結果である。特権122は、特定のアプリケーション、特定の展開、または特定のクラウドコントローラ動作に関する特定のアクションを実施する特権を、特定のユーザが有するかどうかに関する情報を含むことができる。特権122は、クラウドコントローラ118のシステム動作を対象とする特権を含むことができる。
【００１９】
特権122を受領すると、クラウドコントローラ118は、要求116に対する応答として、アプリケーションフレームワーク114に応答124を提供する。クラウドコントローラ118はアプリケーションフレームワーク114と、セキュリティ保護および暗号化された通信チャネル経由で通信することができる。応答は、非特権化トークン110に関連付けられた特権122を含むことができる。アプリケーションフレームワーク114は、要求116を送り、応答124を受領するための、クラウドコントローラインターフェース126を含むことができる。クラウドコントローラインターフェース126は、非特権化トークン110と応答124内の特権との間の分離を確実なものにする。
【００２０】
アプリケーションフレームワーク114は、決定モジュール128を含むことができる。決定モジュール128は、要求104内で指定されたユーザ名、アプリケーション、および指定事項と、クラウドコントローラ118によって応答124内に提供された特権122とに基づいて決定を行う、アプリケーションフレームワーク114のコンポーネントである。例えば、決定モジュール128は、ユーザ名、アプリケーション、および指定事項と、特権との間の比較を実施することができる。決定モジュール128は次いで、決定130をアプリケーションフレームワーク114または別のモジュールに提供することができる。例えば、いくつかの実装形態では、決定130はアプリケーションフレームワーク114に、要求された情報をアプリケーションマネージャ102のウェブインターフェース内に表示できるように提供するかどうかを示すことができる。
【００２１】
図2は、資格情報の分散型検証の一例示的プロセス200を示すフローチャートである。プロセス200は、分散型コンピューティングシステム、例えば図1を参照して論じた分散型コンピューティングシステム100によって、実行することができる。下で説明するシステムの各コンポーネントは、1つまたは複数のハードウェアプロセッサを含む1つまたは複数のコンピュータ上に実装することができる。
【００２２】
システムのアプリケーションマネージャが、ユーザから、またはユーザに代わってアプリケーション、およびアプリケーション上でもしくはアプリケーションに関してユーザによって実施されるアクションから、要求を受領する(202)。アプリケーションマネージャは、コマンドライン入力、バッチスクリプト、ウェブブラウザベースのユーザインターフェース、または他の任意の適切なインターフェースから、要求を受領することができる。アクションとしては、例えば、健全性を表示すること、アプリケーション固有の情報を表示すること、環境変数を表示すること、メモリの内容を表示すること、スレッド診断を表示すること、アプリケーション固有の尺度を表示すること、およびアプリケーションの構成を表示または修正することのうちの少なくとも1つがあり得る。このアプリケーションは、分散型コンピューティングシステムにおいて実行されるとともにAPI、例えばREST APIを公開する、アプリケーションとすることができる。このアプリケーションは、コアAPI、例えばクラウドコントローラ、ユーザ認証モジュール、またはルーティングモジュールのためのAPIとは異なるAPIを公開し得る。したがって、このアプリケーションのためのトークンによって表される権限は、コアAPIにアクセスするための権限とは異なり得、それらが混ざり合うことは免れ得る。
【００２３】
システムのアプリケーションマネージャが、システムのユーザ認証モジュールに、ユーザを認証せよとの要求を行う(204)。ユーザ認証モジュールは、システムのUAAサーバを含むことができる。ユーザ認証モジュールは、OAuth2.0フレームワークまたは他の認証フレームワークに準拠したコンポーネントとすることができる。
【００２４】
システムのアプリケーションマネージャが、ユーザ認証モジュールから、ユーザを認証する非特権化トークンを受領する(206)。非特権化トークンは、ユーザに関連付けられた部分的アクセス権を含む。非特権化トークンは、ユーザに許可し得る全ての権利に満たない権利を認可する、認可トークンである。非特権化トークンは、例えばクラウドコントローラを操作する目的である特定のシステム機能にアクセスするための認可を含まない。
【００２５】
システムのアプリケーションマネージャが、システムのアプリケーションフレームワークに、指定されたユーザ、アプリケーション、およびアクションを特定するデータ、ならびに非特権化トークンを提供する(208)。アプリケーションフレームワークは、ブートストラップアプリケーションフレームワーク、例えばPivotal Spring Bootフレームワークとすることができる。
【００２６】
アプリケーションフレームワークが、非特権化トークンを、システムのクラウドコントローラに提供する(210)。完全な認証がトークンに関連付けられる従来の技法と比較して、単なる非特権化トークンをクラウドコントローラに提供することは、クラウドコントローラがユーザの干渉なしに別途の認証動作を実施できるようになることによって、さらなる安全性をもたらす。
【００２７】
システムのクラウドコントローラが、ユーザ認証モジュールに、非特権化トークンを機能拡張せよとの要求をサブミットする(212)。要求は、どのアクションがユーザによって可能かに関する承認を求めることができる。要求は、非特権化トークンを含む。
【００２８】
システムのクラウドコントローラが、ユーザ認証モジュールから、非特権化トークン内に表されていない、ユーザに関連付けられた1つまたは複数の特権に関する情報を受領する(214)。1つまたは複数の特権は、システムアクセス特権、例えば、アプリケーションの展開を操作する目的でクラウドコントローラの機能にアクセスするための特権とすることができる。非特権化トークン内に表されていないユーザの特権が特権付与される。
【００２９】
システムのクラウドコントローラが、関連付けられた1つまたは複数の特権を、例えば暗号化されたチャネルを通じて、かつ非特権化トークンを提供することなく、アプリケーションフレームワークに提供する(216)。アプリケーションマネージャ、アプリケーションフレームワーク、およびクラウドコントローラの各々上で、特権と非特権化トークンは別々に符号化および記憶される。
【００３０】
システムのアプリケーションフレームワークが、アプリケーション上でユーザがアクションを実施することを許すかどうかを、アクションと、1つまたは複数の特権との間の比較に基づいて決定する(218)。アクションを実施するのに必要となる許可をユーザが得ることが決定すると、システムのコンポーネントがそのアクションを実施し、アクションの結果をユーザに、例えば出力デバイス上に提示する。例えば、システムは、アクションの結果を、クライアントデバイスのディスプレイ画面上でウェブブラウザ内に表示できるように提供することができる。したがって、ユーザの立場からは、本明細書において説明した資格情報の分散型認証は、不可視となることができる。
【００３１】
本明細書において説明した本主題および機能動作の実施形態は、デジタル電子回路として、有形に具現化されたコンピュータソフトウェアもしくはファームウェアとして、本明細書において開示した構造およびそれらの構造的等価物を含むコンピュータハードウェアとして、またはそれらのうちの1つもしくは複数の組合せとして、実装することができる。本明細書において説明した本主題の実施形態は、データ処理装置によって実行し、またはその動作を制御するための、有形の非一時的プログラムキャリア上に符号化された1つまたは複数のコンピュータプログラム、すなわち、コンピュータプログラム命令の1つまたは複数のモジュールとして、実装することができる。その代わりにまたはそれに加えて、プログラム命令は、情報を適切なレシーバ装置に送信してデータ処理装置によって実行できるように符号化するために生成される、人工的に生成された伝搬信号、例えば機械により生成された電気信号、光信号、または電磁信号上に符号化することもできる。コンピュータ記憶媒体は、機械可読記憶デバイス、機械可読記憶基板、ランダムもしくはシリアルアクセスメモリデバイス、またはそれらのうちの1つもしくは複数の組合せとすることができる。
【００３２】
「データ処理装置」という用語は、データ処理ハードウェアを指し、例としてプログラマブルプロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータを含む、データを処理するためのあらゆる種類の装置、デバイス、および機械を包含する。装置は、専用論理回路、例えばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)とすることもでき、またはそれをさらに含むこともできる。装置は、オプションで、ハードウェアに加えて、コンピュータプログラムのための実行環境を作り出すコード、例えばプロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらのうちの1つもしくは複数の組合せを構成するコードを含むことができる。
【００３３】
プログラム、ソフトウェア、ソフトウェアアプリケーション、モジュール、ソフトウェアモジュール、スクリプト、またはコードとも呼ばれ、またはそう説明されることもあるコンピュータプログラムは、コンパイル型もしくはインタープリタ型言語、または宣言型もしくは手続き型言語を含む、任意の形態のプログラミング言語で記述することができ、またそれは、スタンドアロンプログラムとして、またはモジュール、コンポーネント、サブルーチン、もしくはコンピューティング環境において使用するのに適した他のユニットとして、を含む、任意の形態で展開することができる。コンピュータプログラムは、その必要はないが、ファイルシステム内のファイルに対応していてよい。プログラムは、他のプログラムもしくはデータを保持するファイルの一部分、例えばマークアップ言語ドキュメント内に格納された1つもしくは複数のスクリプト内に、当該のプログラムに専用の単一ファイル内に、または複数の連係されたファイル、例えば1つもしくは複数のモジュール、サブプログラム、もしくはコードの一部分を格納するファイル内に、格納することができる。コンピュータプログラムは、1つのコンピュータ上で、または1つのサイトに位置する複数のコンピュータ、もしくは複数のサイトにわたって分散され、通信ネットワークによって相互接続された複数のコンピュータ上で実行されるように、展開することができる。
【００３４】
本明細書において説明したプロセスおよび論理フローは、機能を実施するための1つまたは複数のコンピュータプログラムを、入力データに作用し、出力を生成することにより実行する、1つまたは複数のプログラマブルコンピュータによって実施することができる。プロセスおよび論理フローは、専用論理回路、例えばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実施することもでき、装置を、専用論理回路、例えばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)として実装することもできる。
【００３５】
コンピュータプログラムの実行に適したコンピュータとしては、例として、汎用マイクロプロセッサもしくは専用マイクロプロセッサもしくはその両方、または他の任意の種類の中央処理装置がある。一般に、中央処理装置は、読出し専用メモリまたはランダムアクセスメモリまたはその両方から、命令およびデータを受領する。コンピュータの必須要素は、命令を実施または実行するための中央処理装置、ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。一般に、コンピュータはまた、データを記憶するための1つまたは複数の大容量記憶デバイス、例えば磁気ディスク、光磁気ディスク、または光ディスクを含むか、またはそこからデータを受領するか、もしくはそこにデータを転送するか、もしくはその両方を行うように、動作可能に結合される。しかし、コンピュータはそのようなデバイスを有している必要はない。さらに、コンピュータは、別のデバイス、例えば、ほんの数例を挙げると、モバイル電話、パーソナルデジタルアシスタント(PDA)、モバイルオーディオプレーヤもしくはモバイルビデオプレーヤ、ゲームコンソール、グローバルポジショニングシステム(GPS)レシーバ、またはポータブル記憶デバイス、例えばユニバーサルシリアルバス(USB)フラッシュドライブに組み込むことができる。
【００３６】
コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体としては、例として半導体メモリデバイス、例えばEPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、例えば内蔵ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCD-ROMディスクおよびDVD-ROMディスクを含む、あらゆる形態の不揮発性のメモリ、媒体、およびメモリデバイスがある。プロセッサおよびメモリは、専用論理回路によって補完するか、またはそれに組み入れることができる。
【００３７】
ユーザとの対話を可能にするために、本明細書において説明した本主題の実施形態は、ユーザに情報を表示するためのディスプレイデバイス、例えばCRT(陰極線管)モニタまたはLCD(液晶ディスプレイ)モニタと、ユーザがそれによってコンピュータに入力することのできるキーボードおよびポインティングデバイス、例えばマウスまたはトラックボールとを有するコンピュータ上に実装することができる。他の種類のデバイスを使用して、ユーザとの対話を可能にすることもでき、例えば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、例えば視覚フィードバック、聴覚フィードバック、または触覚フィードバックとすることができ、ユーザからの入力は、音響入力、音声入力、または触覚入力を含む、任意の形態で受領することができる。加えて、コンピュータはユーザと、ユーザによって使用されているデバイスにドキュメントを送り、そこからドキュメントを受領することによって、例えば、ユーザのデバイス上のウェブブラウザに、そのウェブブラウザから受領した要求に応答してウェブページを送ることによって、対話することができる。
【００３８】
本明細書において説明した本主題の実施形態は、例えばデータサーバとしてのバックエンドコンポーネントを含むか、またはミドルウェアコンポーネント、例えばアプリケーションサーバを含むか、またはフロントエンドコンポーネント、例えばユーザがそれを通じて本明細書において説明した本主題の実装形態と対話することのできるグラフィカルユーザインターフェースもしくはウェブブラウザを有するクライアントコンピュータを含むか、または1つもしくは複数のそのようなバックエンドコンポーネント、ミドルウェアコンポーネント、もしくはフロントエンドコンポーネントのいずれかの組合せを含む、コンピューティングシステム内に実装することができる。システムのコンポーネントは、任意の形態またはデジタルデータ通信の媒体、例えば通信ネットワークによって、相互接続することができる。通信ネットワークの例としては、ローカルエリアネットワーク(LAN)およびワイドエリアネットワーク(WAN)、例えばインターネットがある。
【００３９】
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントおよびサーバは一般に、互いに遠隔にあり、典型的には、通信ネットワークを通じて対話する。クライアントとサーバの関係は、それぞれに対応するコンピュータ上で実行され、互いにクライアント-サーバ関係を有する、コンピュータプログラムによって生じる。いくつかの実施形態では、サーバは、データ、例えばHTMLページをユーザデバイスに、例えば、クライアントとして機能するユーザデバイスと対話しているユーザにデータを表示し、そのユーザからユーザ入力を受領する目的で、送信する。ユーザデバイスにおいて生成されたデータ、例えばユーザとの対話の結果は、ユーザデバイスからサーバにおいて受領され得る。
【００４０】
本明細書は、多くの特定の実装形態の詳細を含んでいるが、これらは、特許請求され得るものの範囲に対する限定と解釈するのではなく、特定の実施形態に固有であってよい特徴についての説明と解釈すべきである。本明細書において別々の実施形態の文脈の中で説明されるいくつかの特徴は、単一の実施形態において組み合わせて実施することもできる。反対に、単一の実施形態の文脈の中で説明されるさまざまな特徴を、複数の実施形態において別々に、または任意の適切な部分組合せ(subcombination)で実施することもできる。さらに、特徴については上で、ある特定の組合せで作用するものと説明されることがあり、そういうものとして最初に特許請求されることすらあるが、特許請求された組合せからの1つまたは複数の特徴を、場合によっては、その組合せから削除してもよく、特許請求された組合せが、部分組合せまたは部分組合せの変形を対象としてもよい。
【００４１】
同様に、動作は図面中に、特定の順序で描かれているが、これは、所望の結果を達成するために、そのような動作が図示の特定の順序でもしくは順番に実施されること、または示された全ての動作が実施されることを要求するものと理解すべきではない。ある特定の状況下では、マルチタスキングおよび並列処理が有利となることがある。さらに、上で説明した実施形態におけるさまざまなシステムモジュールおよびコンポーネントの分離は、そのような分離を全ての実施形態において要求するものと理解すべきではなく、説明したプログラムコンポーネントおよびシステムは一般に、単一のソフトウェア製品に一緒に統合するか、または複数のソフトウェア製品にパッケージ化することができる、と理解すべきである。
【００４２】
以上、本主題の特定の実施形態について説明してきた。他の実施形態が、添付の特許請求の範囲に記載の範囲に含まれる。例えば、特許請求の範囲に記載のアクションが、異なる順序で実施され、それでもなお、所望の結果を達成することができる。一例として、添付の図に描かれたプロセスは、所望の結果を達成するために、図示の特定の順序または順番を必ずしも要求するとは限らない。場合によっては、マルチタスキングおよび並列処理が有利となることがある。
【符号の説明】
【００４３】
100  分散型コンピューティングシステム
102  アプリケーションマネージャ
104  第1の要求
106  第2の要求
108  ユーザ認証モジュール
110  非特権化トークン
112  ユーザ認証情報
114  アプリケーションフレームワーク
116  第3の要求
118  クラウドコントローラ
120  第4の要求
122  特権
124  応答
126  クラウドコントローラインターフェース
128  決定モジュール
130  決定
200  一例示的プロセス
【図１】
0006765537.tif 000002
【図２】
0006765537.tif 000003