(57)【要約】  アクターがロールに関連付けられ、ポリシータイプが該ロールに関連付けられ、更に、ロール範囲が該ロールに関連付けられる。前記アクターに関連付けられた一つ又は複数の対応コンテキストパラメータに対する一つ又は複数の値が受け取られる。前記アクターからのあるリソースへのアクセスのための要求が受け取られる。ポリシーインスタンスは、前記ポリシータイプ、及び前記アクターに関連付けられた一つ又は複数の対応コンテキストパラメータに対する前記一つ又は複数の値に基づいて決定される。一つ又は複数のアクター−ロール範囲値は、前記ロール範囲、及び前記アクターに関連付けられた一つ又は複数の対応コンテキストパラメータに対する前記一つ又は複数の値に基づいて決定される。前記要求に対する応答は、前記ポリシーインスタンス及びアクター−ロール範囲値に基づいて決定される。
2009544076.tif 000002
【特許請求の範囲】
【請求項１】
セキュリティ要求が変化する、リソースを有するマルチカスタマーコンピューティング環境においてロールベースのアクセスを管理するための方法であって、
アクターにロールを関連付けること；
ポリシータイプに前記ロールを関連付けること；
ロール範囲に前記ロールを関連付けること；
前記アクターに関連付けられた一つ又は複数の対応コンテキストパラメータに対する一つ又は複数の値を受け取ること；
あるリソースへのアクセスのための要求を前記アクターから受け取ること；
前記ポリシータイプ、及び、前記アクターに関連付けられた一つ又は複数の対応コンテキストパラメータに対する一つ又は複数の前記値に基づいてポリシーインスタンスを決定すること；
前記ロール範囲、及び、前記アクターに関連付けられた一つ又は複数の対応コンテキストパラメータに対する一つ又は複数の前記値に基づいて一つ又は複数のアクター−ロール範囲値を決定すること；
前記ポリシーインスタンス及びアクター−ロール範囲値に基づいて前記要求に対する応答を決定すること；及び
前記決定した応答に基づいて、前記アクターによる前記リソースへのアクセスを許可するか又は拒否すること、を含む方法。
【請求項２】
前記要求に対する応答を決定することは、解決された範囲を前記アクター−ロール範囲値を用いて決定することを含む請求項１の方法。
【請求項３】
ロール割当て記録を発生させることを更に含む請求項１の方法。
【請求項４】
前記ロール割当て記録は、前記アクター、前記ロール及び前記コンテキストパラメータを含む請求項３の方法。
【請求項５】
前記ロール割当て記録は、前記ロール範囲に基づく前記一つ又は複数のアクター−ロール範囲値を含む請求項３の方法。
【請求項６】
前記リソースは、データベース、システムアプリケーション、ドキュメント、又は、これらの任意の組合せを含む請求項１の方法。
【請求項７】
前記アクターは、ユーザ、システムアカウント、システムアプリケーション、コンピューティング装置、又は、これらの任意の組合せを含む請求項１の方法。
【請求項８】
前記ポリシータイプは、アクセス制御ポリシーエレメント、データビュー／提示ポリシーエレメント、職務業績／更新操作ポリシーエレメント、又は、これらの任意の組合せを含む請求項１の方法。
【請求項９】
前記ポリシーインスタンスを決定することは、前記一つ又は複数のコンテキストパラメータの階層型優先順位を用いることを含む請求項１の方法。
【請求項１０】
デフォルトポリシーインスタンスを定義することを含む請求項１の方法。
【請求項１１】
ポリシーインスタンスを決定することは、前記一つ又は複数のコンテキストパラメータとの整合が無い場合に前記デフォルトポリシーインスタンスを選択することを含む請求項１０の方法。
【請求項１２】
セキュリティ要求が変化する、リソースを有するマルチカスタマーコンピューティング環境においてロールベースのアクセスを管理するためのシステムであって、
一つ又は複数のサーバを備え、該サーバは、
アクターにロールを関連付け、
ポリシータイプに前記ロールを関連付け、
ロール範囲に前記ロールを関連付け、
前記アクターに関連付けられた一つ又は複数の対応コンテキストパラメータに対する一つ又は複数の値を受け取り、
あるリソースへのアクセスのための要求を前記アクターから受け取り、
前記ポリシータイプ、及び、前記アクターに関連付けられた一つ又は複数の対応コンテキストパラメータに対する一つ又は複数の前記値に基づいてポリシーインスタンスを決定し、
前記ロール範囲、及び、前記アクターに関連付けられた一つ又は複数の対応コンテキストパラメータに対する一つ又は複数の前記値に基づいて一つ又は複数のアクター−ロール範囲値を決定し、
前記ポリシーインスタンス及びアクター−ロール範囲値に基づいて前記要求に対する応答を決定し、かつ、
前記決定した応答に基づいて、前記アクターによる前記リソースへのアクセスを許可するか又は拒否するように構成されるシステム。
【請求項１３】
前記一つ又は複数のサーバは、前記要求に対する応答を決定するように構成され、該決定は、解決された範囲を前記アクター−ロール範囲値を用いて決定することを含む請求項１２のシステム。
【請求項１４】
前記一つ又は複数のサーバは、更に、ロール割当て記録を発生させるように構成される請求項１２のシステム。
【請求項１５】
前記ロール割当て記録は、前記アクター、前記ロール及び前記コンテキストパラメータを含む請求項１４のシステム。
【請求項１６】
前記ロール割当て記録は、前記ロール範囲に基づく前記一つ又は複数のアクター−ロール範囲値を含む請求項１４のシステム。
【請求項１７】
前記リソースは、データベース、システムアプリケーション、ドキュメント、又は、これらの任意の組合せを含む請求項１２のシステム。
【請求項１８】
前記アクターは、ユーザ、システムアカウント、システムアプリケーション、コンピューティング装置、又は、これらの任意の組合せを含む請求項１２のシステム。
【請求項１９】
前記ポリシータイプは、アクセス制御ポリシーエレメント、データビュー／提示ポリシーエレメント、職務業績／更新操作ポリシーエレメント、又は、これらの任意の組合せを含む請求項１２のシステム。
【請求項２０】
セキュリティ要求が変化する、リソースを有するマルチカスタマーコンピューティング環境においてロールベースのアクセスを管理するための、情報担体に実体的に具体化されたコンピュータプログラム製品であって、該コンピュータプログラム製品は、データ処理装置が、
アクターにロールを関連付け、
ポリシータイプに前記ロールを関連付け、
ロール範囲に前記ロールを関連付け、
前記アクターに関連付けられた一つ又は複数の対応コンテキストパラメータに対する一つ又は複数の値を受け取り、
あるリソースへのアクセスのための要求を前記アクターから受け取り、
前記ポリシータイプ、及び、前記アクターに関連付けられた一つ又は複数の対応コンテキストパラメータに対する一つ又は複数の前記値に基づいてポリシーインスタンスを決定し、
前記ロール範囲、及び、前記アクターに関連付けられた一つ又は複数の対応コンテキストパラメータに対する一つ又は複数の前記値に基づいて一つ又は複数のアクター−ロール範囲値を決定し、
前記ポリシーインスタンス及びアクター−ロール範囲値に基づいて前記要求に対する応答を決定し、かつ、
前記決定した応答に基づいて、前記アクターによる前記リソースへのアクセスを許可するか又は拒否するように動作可能な命令を含むコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチカスタマー分散型及び／又は集中型コンピューティング環境におけるロールベースのアクセスに関する。
【背景技術】
【０００２】
会社の従業員及び顧客は、安全で信頼できる環境においてシステムリソース及びアプリケーションにアクセスする必要がある。そのようなリソースへのアクセスの管理及び制御は、会社の従業員及び顧客のターンオーバー（入れ替え）；会社の労働力に対するコアな補充としての仮契約人員の利用；新しいアプリケーションの切れ目のないインストール；並びに、既存のアプリケーションの更新及び該アプリケーションの会社のネットワークからの除去；に対するトレンドの増大と共に、より難しくなる。これらのトレンドから、大規模な企業ネットワークの管理の側面はますますより複雑で高コストになってきている。
【０００３】
ロール（役割）ベースのアクセス制御（「ＲＢＡＣ」）技術及び方法は、セキュリティ管理の増大する課題に対する米国国防総省、並びに、とりわけDavid Ferraiolo及びRichard Kuhnの研究開発努力によって発展してきた。ロールベースのアクセス制御は、大規模なネットワークコンピューティング環境におけるセキュリティ管理のための公認モデルの一つとして現れた。ＲＢＡＣ技術は、防衛、医療、並びに銀行業務及び金融等の領域で発展し導入されている。
【０００４】
ロールベースのアクセス制御は、コンピュータシステムユーザのロール（役割）へのカテゴリー分類を必要とする。ロールは、例えば、ある組織内のユーザによって行われる職務に従ってシステム管理責任者によって作り出される構成体である。コンピュータシステムユーザは、ユーザの特定の職責及び職務資格を基準にしてロールに割り当てられ得る。ユーザにアクセス許可は直接割り当てられない。その代わり、ロールには、これらのロールに割り当てられるユーザに与えられた権限及び責任に基づいて、データ及び／又はシステムリソースに対する種々の許可もしくはアクセス認可が認められる。ロールは、抽象の追加のレベルを考慮に入れる。該抽象は、ユーザレベルよりはむしろ企業レベルにおけるセキュリティ管理を容易にする。これは、一つには、許可に対するロールのマッピングがロールに対するユーザのマッピングに比べより安定しているからである。後者のマッピングは、ユーザが加えられるかもしくは該システムから除かれるか、職務を変えるか又は昇進する度に変化する。これらの変化は、ロール対許可マッピングにおける変化よりも頻繁である。ロール対許可マッピングは、一般に、企業方針（営業方針／ビジネスポリシー）の変化によって駆動される。このような企業方針は、一般に、ユーザの職務の変化よりも変化する頻度が低い。従って、ロールベースのアクセス制御モデルのユーザは、認可及び許可ポリシーを管理するタスクを簡易化することができる。しかしながら、この簡易化にも制限がある。大規模なコンピューティング環境において、ロール数は千単位であり得る。これらの多数のロールの管理及びユーザ−ロールマッピングのメンテナンスは、困難で、高コストでかつ時間がかかる。
【０００５】
より厳格なＲＢＡＣモデルが導入されており、これは、ロール階層（ロールヒエラルキー）を用い、この階層においてロールは他のロールから許可を引き継ぐことができる。ポリシー及びアクセス構成に制限を課すＲＢＡＣモデルも存在する。より一般的な制限もしくは制約の一つは、相互排他的なロールによって表され、ここでは、同じユーザは、一つ又は複数のロールの相互排他的グループのうちで、一つのロールにのみ割り当てられ得る。前提条件ロールの概念を用いるＲＢＡＣモデルがあり、該モデルでは、もしユーザが既にロール「Ｂ」に割り当てられているなら、該ユーザは単にロール「Ａ」に割り当てられ得る。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
これらのより厳格なＲＢＡＣモデルは、企業レベルでのセキュリティポリシーを実現する適応性のある手段を提供するが、このようなモデルが考慮する、セキュリティ管理のプロセスにおける複雑さの低減の程度、スケーラビリティの増長の程度、及び真のフレキシビリティの程度は限られていた。異種ＩＴインフラストラクチャを有する企業内におけるロール及び許可の十分な定義、及び適切なユーザ−ロール関連付けの割当ては、引き続き極めて複雑で高コストである。マルチプルアプリケーション及びコンピューティング環境にわたってユーザ資格を管理するロールベースのアクセス制御モデルのアプリケーションは、課題のままである。
【課題を解決するための手段】
【０００７】
一側面において、セキュリティ要求が変化する、（複数）リソースを有するマルチカスタマーコンピューティング環境においてロールベースのアクセスを管理するための方法がある。アクターがロールに関連付けられ、ポリシータイプが該ロールに関連付けられ、更に、ロール範囲が該ロールに関連付けられる。前記アクターに関連付けられた一つ又は複数の対応コンテキストパラメータに対する一つ又は複数の値が受け取られる。リソースへのアクセスのための要求が前記アクターから受け取られる。ポリシーインスタンスは、前記ポリシータイプ、及び、前記アクターに関連付けられた一つ又は複数の対応コンテキストパラメータに対する前記一つ又は複数の値に基づいて決定される。一つ又は複数のアクター−ロール範囲値は、前記ロール範囲、及び、前記アクターに関連付けられた一つ又は複数の対応コンテキストパラメータに対する前記一つ又は複数の値に基づいて決定される。前記要求に対する応答は、前記ポリシーインスタンス及び前記アクター−ロール範囲値に基づいて決定される。前記アクターによる前記リソースへのアクセスは、決定した応答に基づいて許可又は拒否される。
【０００８】
他の例において、以下の機能が含まれ得る。前記要求に応じて、解決された（分解された）範囲（a resolved scope）が前記アクター−ロール範囲値に基づいて決定され得る。ロール割当て記録が発生させられ得る。該ロール割当て記録は、前記アクター、前記ロール、及び／又は前記コンテキストパラメータを含むことができる。該ロール割当て記録は、前記ロール範囲に基づいて一つ又は複数のアクター−ロール範囲値を含むことができる。リソースは、データベース、システムアプリケーション、ドキュメント、又は、これらの任意の組合せを含むことができる。前記アクターは、ユーザ、システムアカウント、システムアプリケーション、コンピューティング装置、又は、これらの任意の組合せを含むことができる。前記ポリシータイプは、アクセス制御ポリシーエレメント、データビュー／提示ポリシーエレメント、職務業績／更新操作ポリシーエレメント、又は、これらの任意の組合せを含むことができる。前記ポリシーインスタンスの決定は、前記一つ又は複数のコンテキストパラメータの階層（ヒエラルキー）型優先順位の使用を含むことができる。デフォルトポリシーインスタンスが定義され得る。該デフォルトポリシーインスタンスは、前記一つ又は複数のコンテキストパラメータとの整合が全く無い場合に選択され得る。
【０００９】
別の側面において、セキュリティ要求が変化する、（複数）リソースを有するマルチカスタマーコンピューティング環境においてロールベースのアクセスを管理するためのシステムがある。該システムは、ここに記述したいずれの方法をも実行するように構成される一つ又は複数のサーバを含むことができる。別の側面において、セキュリティ要求が変化する、（複数）リソースを有するマルチカスタマーコンピューティング環境においてロールベースのアクセスを管理するための、情報担体（媒体）に実体的に具体化されるコンピュータプログラム製品がある。該コンピュータプログラム製品は、ここに記述したいずれの方法をもデータ処理装置が実行するように動作可能な命令を含む。
【００１０】
上記例のいずれも、次の利点の一つ又は複数を実現することができる。ロール割当てのためのコンテキストパラメータを、ポリシーインスタンス決定、及び／又は範囲解決（範囲分解）を用いることにより、種々の状況を処理するためにより少ないロールが必要とされる。更に、同じロールは、マルチカスタマー環境における複数のカスタマーにわたって使用可能である。例えば、一つのマネージャーロールが同じコンピューティング環境におけるＡＢＣ社及びＸＹＺ社に使用され得る。その理由は、コンテキストパラメータが、二つの異なる会社に対する同じマネージャーロールに対して異なる許可ポリシーの決定を許容するかである。ロールベースの許可システムは、ＮＩＳＴ（例えばアメリカ規格協会ＡＮＳＩ ＩＮＣＩＴＳ ３５９−２００４）のＲＢＡＣモデル等の業界標準の一部として記述されるものよりも豊富な許可の定義を考慮に入れる。文脈（コンテキスト）上の考慮及びアクター属性、例えば、範囲、アクセス制御、提示、及び機能（職務）等を含むことにより、該ロールベースの許可システムは、マルチカスタマーコンピューティング環境において効率的でスケーラブルなロールベースの許可を可能にする。
【００１１】
上述した発明の利点及び更なる利点は、付随図面と共に以下の記述を参照することにより、より良く理解され得る。一つ又は複数の例の詳細が付随図面及び以下の説明に記載される。本発明の更なる特徴、側面及び利点は、明細書、図面及び特許請求の範囲から明らかとなる。図面は、本発明の原理を必ずしもスケール変更、強調せず、代わりに、全体的に該原理を例示のためのものである。
【図面の簡単な説明】
【００１２】
【図１】図１は、マルチカスタマーコンピューティング環境におけるロールベースのアクセスのためのコンピューティングシステムの模範的な例示である。
【図２】図２は、ロール割当て記録のためのデータ構造の模範的な例示である。
【図３】図３は、マルチカスタマーコンピューティング環境におけるロールベースのアクセスのためのプロセス流れ図を例示する。
【図４】図４は、ロール解決のためのプロセス流れ図を例示する。
【図５】ポリシーインスタンス決定のための模範的なプロセスを例示する。
【図６】マルチカスタマーコンピューティング環境におけるロールベースのアクセスのための模範的な例示である。
【図７】マルチカスタマーコンピューティング環境におけるロールベースのアクセスのための別の模範的な例示である。
【発明を実施するための形態】
【００１３】
図１は、マルチカスタマーコンピューティング環境におけるロールベースのアクセスのための模範的なコンピューティングシステム１００を例示する。コンピューティングシステム１００は、入力データで動作して出力データを発生させることにより、これらの機能を実行する。ユーザ１１０は、クライアント装置１２０とやり取りする。コンピューティングシステム１００は、一つ又は複数のクライアントコンピューティング装置、例えば、デスクトップコンピュータ１２０ａ、及び／又はハンドヘルドコンピューティング装置、例えばパーソナルデジタルアシスタント１２０ｂ（全体として１２０）を含むことができる。クライアントコンピューティング装置１２０は通信ネットワーク１３０と通信する。通信ネットワーク装置１３０は、例えば、クライアント装置１２０とアプリケーションサーバ装置１４０との間においてデータを送信しかつ命令を実行することにより、クライアント装置１２０とアプリケーションサーバ１４０との間の通信を可能とする。アプリケーションサーバ１４０は、通信ネットワーク１３０を通じてクライアント装置１２０の一つ又は複数からサービス要求を受信する。アプリケーションサーバ１４０は、例えば、ロール解決（分解／決定）プログラムモジュール１４２ａ及び／又はポリシーインスタンス−ロールマッピングプログラムモジュール１４２ｂ（全体として１４２）を含む一つ又は複数のアプリケーションソフトウェアプログラムモジュールを実行する。ロール解決プログラムモジュール１４２ａの模範的な機能は、一つ又は複数の事前に定義されたコンテキストパラメータに基づいてアクターにロールを関連付けることができ、また、ユーザに対する動作（アクション）の許可範囲を解決する。ポリシーインスタンス−ロールマッピングプログラムモジュール１４２ｂの模範的な機能は、一つ又は複数の事前に定義されたコンテキストパラメータ及び一つ又は複数のポリシータイプに基づいてポリシーインスタンスをロールに割り当てることができる。ポリシータイプは、例えば、一つ又は複数のユーザ認証もしくはユーザ許可に関連するポリシーエレメントを含む。ポリシーインスタンスは、ユーザのロール及び該ユーザに関連付けられた一つ又は複数の事前に定義されたコンテキストパラメータに基づいて該ユーザに適用するポリシータイプ（例えば、事前に設定されたポリシーエレメントセットに対する事前に設定された値セット）のインスタンスである。
【００１４】
アプリケーションサーバ１４０は、通信ネットワーク１５０を通じて一つ又は複数のデータベースサーバ１６２にアクセスする。いくつかの実施形態において、通信ネットワーク１３０及び通信ネットワーク１５０は同じネットワークである。アプリケーションサーバ１４０は、例えば、一つ又は複数のアプリケーションソフトウェアプログラムモジュール１４２からの出力に基づいて、適切な応答を発生させ、該応答を適切なクライアント装置１２０に返すことにより、クライアント要求に応える。データベースサーバ１６２は、データを作り出し、格納し、編成し、また、一つ又は複数のデータベースからデータを検索する。一つの実施形態において、データベースは、例えば、アクターＩＤ−ロールテーブル１６４ａ、ロール範囲−ロールテーブル１６４ｂ、ポリシータイプ−ロールテーブル１６４ｃ、及び／又は、これらの任意の組合せ（全体として１６４）を含む。いくつかの実施形態において、一つ又は複数のデータベースサーバ１６２は、リポジトリ１６０において一つ又は複数のデータベーステーブル１６４と同じ場所に配置される。他の実施形態において、一つ又は複数のデータベースサーバ１６２は、通信ネットワーク（図示せず）を通じて、一つ又は複数のデータベース及びこれらのテーブル１６４と通信する。
【００１５】
本実施例は、ユーザ１１０をアクターと呼ぶが、本発明はこれに限定されない。ユーザ１１０は、アクターの一つのタイプである。他のアクターは、例えば、システムアカウント、システムアプリケーション、バッチプロセス、及び／又は、他のコンピューティング装置を含むことができる。該アクターは、一つ又は複数の動作を実行するエンティティを含み、また、特定のリソースへのアクセスに関する認証決定のためのターゲットである。一つ又は複数のアクターがシステムアカウント、システムアプリケーション、バッチプロセス、及び／又は他のコンピューティング装置である場合、該一つ又は複数のアクターは、通信ネットワーク１３０を通じてアプリケーションサーバ１４０と通信する。アプリケーションサーバ１４０は、通信ネットワーク１３０を通じて一つ又は複数の上記アクター装置からサービス要求を受信する。アプリケーションサーバ１４０は、例えば、ロール解決モジュール１４２ａ及び／又はポリシーインスタンス−ロールマッピングモジュール１４２ｂ（全体として１４２）を含む一つ又は複数のアプリケーションソフトウェアプログラムモジュールを実行する。アプリケーションサーバ１４０は、通信ネットワーク１５０を通じて一つ又は複数のサーバ１６２とアクセスする。アプリケーションサーバ１４０は、例えば、一つ又は複数のアプリケーションソフトウェアプログラムモジュール１４２からの出力に基づいて適切な応答を発生させ、該応答を適切なアクターに返すことにより、クライアント要求に応える。
【００１６】
図２は、ロール割当て記録２００のためのデータ構造の模範的な図である。ロール割当て記録２００は、（複数の）エンティティのうちの一つであり、該エンティティに基づいて認証がシステム１００により決定され得る。ロールは名前が付けられたコンテナを表すことができ、該コンテナ内に、例えば、共通の属性のセット及び／又は共通の許可及び能力（機能）のセットを有し得る一つ又は複数のアクターを割り当てる。ロールは、アクターとポリシーインスタンスとの間のリンクにして、ロールベースの認証を可能にするリンクであり得る。アクターは、一つ又は複数のロールを有することができ、ロールは、これに関連付けられた一つ又は複数のアクターを有し得る。例えば、アクターは、従業員、マネージャー、及び／又は、従業員福利厚生制度加入者であるかもしれない。そのような例において、アプリケーションは、これらの割り当てられたロールのいずれか又はすべてを使用することができる。しかしながら、アクターロールのうちの一つだけが、該アプリケーション内の任意の時間に事実上あり得る。そのような例において、ユーザがロールを明示的に選択するか、又は、アプリケーションがワークフローコンテキストに基づいて暗黙的にロールを選択する。
【００１７】
ロールは、階層（ヒエラルキー）を形成することができ、これにより、あるロールは別のロールの許可を引き継ぎ、延長することができる。一つ又は複数のポリシーインスタンスがあるロールに関連付けられ、該ポリシーインスタンスは、ユーザの該ロールに関連付けられた範囲と共に、アクターがどのリソースとアクセスできるか、及びこのリソースアクセスの程度を指定する。ロール割当ては、一つ又は複数のコンテキストパラメータに一部基づく。例えば、あるアクターは、ある一定の企業体がある一定の組織（例えば、該組織は模範的なコンテキストパラメータである）内の管理者の立場に該アクターを雇用するという事実に基づいて「マネージャー」のロールを有する。あるいは、上記アクターが、例えば、（例えば、特定の退職制度のためにウェブインターフェースを通じてシステムと通信する）受給者（クライアント）対退職制度管理者もしくは福利制度管理者である組織のコンテキストにおいて動作している場合、該アクターは「制度（計画）加入者」のロールを有することができる。
【００１８】
ロール割当ては、ロール割当て記録２００の作成を含む。ロール割当て記録は、例えば、アクターＩＤ２０２ａ、ロール２０２ｂの名称、コンテキストパラメータ２０２ｃ、及びアクター−ロール範囲２０２ｄを含む。アクターＩＤ２０２ａは、ロールに割り当てられたユーザ、システムアカウント、システムアプリケーション、バッチプロセス、又は他のコンピューティング装置のアイデンティティ（一致もしくは同一性）である。ロール２０２ｂの名称は、該ロールのセットアップ又は管理プロセス中に指定され得る。ロール名は、例えば、「マネージャー」、「従業員」、「制度加入者」、「システム管理者」等を含むことができる。コンテキストパラメータ２０２ｃは、ロール割当てをアクターに対し固有のものとする変数である。コンテキストパラメータは、「クライアント識別子」、「実行（プラクティス）識別子」、「制度（計画）番号」、「製品識別子」、「市場区分」、及び「認証強度」等のパラメータを含むことができるが、これらに限定されない。例えば、「ボブ」という名のユーザは、「マネージャー」のロールに割り当てられ、「クライアント」のコンテキストパラメータを有する。別の例において、「ボブ」という名のユーザは、「仲介顧客」のロールに割り当てられ、ここでコンテキストパラメータは「アカウントタイプ」である。
【００１９】
ロール割当て記録２００はアクター−ロール範囲２０２ｄを含むこともできる。アクター−ロール範囲２０２ｄは、消費システム及び／又はアプリケーションがアクターが実行することを許容される動作の解決された範囲を得ることを許容するキーを含む。アクター−ロール範囲２０２ｄは、あるアクターに対するある一定のロール割当てに適用できる一つ又は複数の値を含む。ロール割当て記録２００のアクター−ロール範囲２０２ｄは、アクターに固有の一つ又は複数の事前に定義されたコンテキストパラメータを考慮に入れることにより、ロール範囲２０８から導き出される。ロール範囲２０８は、アクターに対する認可された動作の範囲の一般仕様、例えば、誰が及び／又は何が特定ロールのアクターによって務められ得るかの定義を含む。例えば、ロール割当て記録２００は、「ＡＢＣクライアント会社」のコンテキスト２０２ｃにおいてロール名２０２ｂ「マネージャー」として務めるユーザ「ボブ」に対するアクターＩＤ２０２ａを含むことができる。この例におけるロール割当て記録２００のアクター−ロール範囲２０２ｄはロール範囲２０８に基づいて決定される。この例において、ロール範囲２０８は「部門名」を含む。これは、ユーザ１１０「ボブ」へのロール名２０２ｂ「マネージャー」の割当てプロセス中、「マネージャー」ロールの範囲を解決するために部門名が要求されることを意味する。この例において、アクター−ロール範囲キー２０２ｄは、例えば、部門名に対して「購買部」を含む範囲の解決を可能にする。
【００２０】
ロール割当て記録２００にロール割当てエレメントとして含まれ得るデータのいくつかの他の例は、ロールに対する開始／終了日付、割当てステータス、例えば、割当てに利用できるアクティブなロール、割り当てられ得ないイナクティブなロール、ロール譲与者もしくは代理人（プロキシ）、ロール及び関連するポリシーの定義及び維持に責任を負うことができる該ロールの所有者、ある一定のロールを使用可能な消費者アプリケーションのリスト、ロール割当てルール、例えば、ある一定のユーザのための特定の（複数）ロールの相互排他性に関連するルール等である。
【００２１】
図３は、マルチカスタマーコンピューティング環境におけるロールベースのアクセスのためのプロセス流れ図３００を例示する。図３００において、ユーザ１１０（アクターの一つのタイプ）は、例えばユーザＩＤ及びパスワードを与えることによりコンピュータシステムにログオンする（３０１）。ユーザ１１０のアイデンティティは、該ユーザが該システム１００に入力する認証信用証明書のシステム検証を通じて確立される。ユーザ１１０が該システムによって認証された場合（３０２）、一つ又は複数の事前に定義されたコンテキストパラメータが得られる（３０３）。
【００２２】
コンテキストパラメータは、例えば、アクターが一つ又は複数の与えられたリソースとやり取りする方法及び状況を記述する一つ又は複数の属性を含むことができる。コンテキストパラメータは、例えば、ロール関連コンテキストパラメータ、セッション関連コンテキストパラメータ、及び／又は、これらの任意の組合せを含む。ロール関連コンテキストパラメータは、ロールの割当て、ポリシーのマネジメント及びポリシーインスタンスの選択における一部を務める（実行する）。いくつかの実施形態において、ロール関連コンテキストパラメータは、ポリシーインスタンスデータを消費するアプリケーションの実行時環境に関連しないかもしれない。その理由は、アクター対ロール割当てが、いくつかの実施形態において、実行時ファクタ（因子）に依存しないからである。そのような例において、ロール割当てに関連付けられた一つ又は複数の事前に定義されたコンテキストパラメータは、組織のファクタ、例えばユーザが雇用されている部門により焦点を合わせる。セッション関連コンテキストパラメータは、コンピュータシステムとのアクターのインタラクション（やり取り）に関連するパラメータを含むことができる。セッションベースのコンテキストパラメータは、一つ又は複数の消費アプリケーション（例えば、一つ又は複数のリソースに対するアクセスを要求しているアプリケーション）に関連付けられたパラメータ、一つ又は複数のクレーム（請求）のポイント（点）（これらは、消費アプリケーション利用の一つ又は複数のソースに関連し得る）に関連付けられたパラメータ、一つ又は複数のアプリケーションに対する種々のアクセスパスに関連付けられた代替ユーザ認証機構及び強度に関連付けられたパラメータ、一つ又は複数のポリシーインスタンスに関連付けられた日付及び／又は時間範囲に関連付けられたパラメータ、及び／又は、これらの任意の組合せを含むことができるが、これらに限定はされない。いくつかの実施形態において、セッション関連コンテキストパラメータは、本質的に階層型であり得る。例えば、そのようなヒエラルキーは、消費アプリケーション、クレームのポイントを含むことができ、その後に認証信用証明強度が続く。そのような例において、セッション関連コンテキストパラメータは、オーバーライド（無効）を適用する機構を提供し、これは、ロール関連コンテキストパラメータのアプリケーション後に生じ得る。セッション関連コンテキストパラメータは、ロール関連コンテキストパラメータが考慮された後に適用されるルールのセットとして動作することができる。いくつかの実施形態において、セッション関連コンテキストパラメータはすべての消費者アプリケーションに共通であり得るので、該コンテキストパラメータは変化しない。ロール関連コンテキストパラメータはロールによって変化し得る。
【００２３】
クレームのポイントは、例えば、インターネットを通じての顧客使用、会社ＬＡＮを通じての顧客使用、第三者アクセス、及び／又は、これらの任意の組合せを含む。認証信用証明書強度は、ユーザの間で変化し得る。例えば、典型的なＰＩＮログイン機構を通じてアプリケーションにアクセスする顧客は、例えば、会社ＬＡＮからシングルサインオンを通じてアプリケーションにアクセスする顧客よりも多数のリソースにアクセスすることを認可され得る。
【００２４】
図３の「ロールを解決（分解／決定）する」プロセス３０４は、アクターに関連付けられたロールを決定すること（３０４）、及び該アクターに対する許可された動作の範囲を解決すること（３０４）を含む。アクターのロールは、例えば、アクター２０２ａのアイデンティティ、及び取得した一つ又は複数の事前に定義されたコンテキストパラメータ（３０３）に基づいて決定される（３０４）。例えば、該アクターは、「ＡＢＣクライアント会社」の事前に定義されたコンテキストパラメータを有することができる。アクターＩＤ２０２ａ及び「ＡＢＣクライアント会社」事前に定義されたコンテキストパラメータに基づいて、該アクターには、「ＡＢＣクライアント会社」内の「マネージャー」のロールが割り当てられる。
【００２５】
ポリシータイプは、アクターのロールに関連付けられる（３０５）。ポリシータイプは、一つ又は複数のポリシーエレメントの凝集コレクションを表すことができる。ポリシータイプは、ロールに関連付けられ、これは、例えば、ポリシータイプ−ロールテーブル１６４ｃに格納され得る。ポリシータイプは、多くのロールに関連付けられることができ、また、ロールは、多くのポリシータイプに関連付けられ得る。ポリシータイプは、「補償」、「時間管理」及び／又は「確定拠出交換取引」等の特定許可領域に関連するポリシーエレメントを含むことができる。ポリシーエレメントは、単一の許可設定もしくは決定を指定する単一の名称／値の組を含むことができる。ポリシーエレメントは、特定の認可エレメントを指定することができ、該認可エレメントは、例えば、アクターが、エンティティ、システムコンポーネント、及び／又はこれらの任意の組合せにアクセスすること（アクセス制御ポリシーエレメント）、それらを見ること（データビュー／提示ポリシーエレメント）、及び／又はそれらに従って行動する（それらを務める）こと（職務業績／更新操作ポリシーエレメント）を許容されるか否か等である。例えば、「業績管理」と名付けられたポリシータイプは（複数）ポリシーエレメン、例えば、「アクセス業績管理アプリケーション」、「ビュー補償データ」、「可能（can）増加給与」、「最大給与増加割合」、及び／又は、これらの任意の組合せを含み得る。ポリシータイプは、ポリシーエレメント値を定義する必要はない。いくつかの実施形態において、「業績管理」と名付けられたポリシータイプは、「アクセス業績管理アプリケーション」及び／又は「ビュー補償データ」等のポリシーエレメントに対する「イエス」又は「ノー」等の値を含むことはできないであろう。そのような例において、ポリシーエレメント値を定義することは、一つ又は複数のポリシーインスタンスの機能である。
【００２６】
既存の事前に定義されたコンテキストパラメータが読み取られるか（３０６）、及び／又は、一つ又は複数の他の事前に定義されたコンテキストパラメータが取得され（３０６）、ロールに関連付けられた各ポリシータイプに対する一つ又は複数のポリシーインスタンスの決定（３０７）に入力を与える。ポリシータイプのインスタンスは、一つ又は複数の事前に定義されたコンテキストパラメータに基づいてロールに対しマッピングされる（３０７）。ポリシーインスタンスは、該ポリシータイプから導き出された各ポリシーエレメントにして、かつある一定のロールに対する一つ又は複数の事前に定義されたコンテキストパラメータに関連付けられた各ポリシーエレメントに提供された値を有する一つ又は複数のポリシーエレメントの特定のコレクションであり得る。該ロール、ポリシーインスタンス、一つ又は複数の事前に定義されたコンテキストパラメータ、及び解決された範囲は、例えば、ユーザ１１０にアクセスすることができる一つ又は複数のリソースを決定することができる（３０８）。リソースに対するユーザアクセスの決定はロールベースの許可プロセスの一部である。
【００２７】
図４は、ロール解決に対するプロセスエレメント３０４の模範的な細部を例示する。アクターは、一つ又は複数の事前に定義されたコンテキストパラメータに基づいてロールにマッピングされる（３０４ａ）。ロール範囲は、ロールに関連付けられる（３０４ｂ）。そのような関連付けは、例えばロール範囲−ロールテーブル１６４ｂに格納され得る。ある一定のロールでは、一つ又は複数のロール範囲があり得る。ロール範囲はロールに関連付けられて、ロール割当てに対するアクター−ロール範囲を定義するための基礎（根拠）として用いられ得る。ロール範囲は、ユーザ１１０がロールに割り当てられる際に要求されるアクター−ロール範囲のフォマット（アクター−ロール範囲エレメント）を定義することができる。ロール範囲は、アクター−ロール範囲フォーマット、必要なアクター−ロール範囲値、随意的なアクター−ロール範囲値、デフォルトアクター−ロール範囲値、及び／又は義務的なアクター−ロール範囲値を含むが、これらに限定されない。
【００２８】
アクター−ロール範囲フォーマットは、アクター−ロール範囲エンティティが何か及びこれらのエンティティに対するデータタイプを記述することができる。いくつかの実施形態において、ロール範囲は、ロール割当て中に「必要な」としての値のフラグを立てることができる。そのような例において、システム１００は、ロール割当て記録２００を、これらの必要な値がポピュレートされることなしには保管しない。ロール範囲は、随意的な値もしくはワイルドカード値を定義することができる。これらのアクター−ロール範囲値は、ロール割当て時に随意的に指定され得る。これらの値が指定されない場合、任意の値が該一定のアクター−ロール範囲エレメントに適用され得る。ロール範囲は、デフォルト値を定義することができる。これらの値は、ロール割当てプロセスが明示的な値を与えない場合に適用される。ロール範囲は、義務的なアクター−ロール範囲値を含むことができ、該アクター−ロール範囲値はすべてのロール割当てに適用される値を含むが、変更できない。例えば、「従業員」のロールは、「本人（self）」の義務的なロール範囲値を有することができる。ロール割当てプロセスは、この義務的なロール範囲値に対し異なる値を与えないかもしれない。
【００２９】
アクター−ロール範囲キーは、ユーザ１１０のロールに関連付けられたロール範囲内に含まれる一般仕様の範囲から導き出されることができる（３０４ｃ）。アクター−ロール範囲キーは、例えば顧客記録管理システムによって保持される範囲値に対するポインタを与える。アクター−ロール範囲キーは、アクターが務めることを認可されるポピュレーション（母集団）及び／又はエンティティに対する一つ又は複数のポインタを含む。該範囲は、ポピュレーション及び／又はエンティティ自体を含み、これは、一つ又は複数の値セットから構成され得る。アクター−ロール範囲キーは、ロールベースの許可システムから該範囲を取得する方法を記述する。例えば、アクター−ロール範囲キーは、組織内の特定の位置、例えばコストセンター８４３２５、該アクターに対する関係、例えば該アクターに報告する（直属する）人々、及び／又は、関係の深さ、例えば下方組織レベルすべてを記述し得る。例えば、コストセンター８４３２５に関連付けられた範囲は、従業員番号００３−０３−０００３、００２−０２−０００２及び００１−０１−０００６を含むコストセンター内の下部従業員のリストに解決する。
【００３０】
アクター−ロール範囲キーはスカラー値である必要はない。アクター−ロール範囲キーは、上記に示したようにある数のデータ値を含むことができる。アクター−ロール範囲キーは、人々の一つ又は複数のセットに解決することができるが、アクター−ロール範囲キー（及び範囲）は、人々のセットではない（複数）エンティティにも解決することができる。例えば、ロールは、アクターをミューチュアルファンド（投資信託）のセットに「解く（scope）」ことができる。この例では、アクター−ロール範囲キーは、アクターがある一定のアプリケーション内において作動することができるミューチュアルファンドのリストに解決するであろう。
【００３１】
アクター−ロール範囲キーは階層範囲構造を指すことができる。範囲構造は、階層組織を含むことができる。該階層組織は、例えば、位置、課、及び／又は部門、又は職員ヒエラルキー、例えば、役員、重役及び又は従業員、及び／又は、これらの任意の組合せを含むことができる。アクター−ロール範囲キーの組織範囲を解決する能力は、例えば、次のエレメント、すなわち、ヒエラルキーアクター−ロール範囲、ナビゲーションアクター−ロール範囲及びベースアクター−ロール範囲（ポピュレーショングループと呼ばれる）によって助長され得る。追加のエレメントはまた、要求が口述（指示）するように定義され得る。ヒエラルキー及びナビゲーションは、ベースアクター−ロール範囲に対するスターティングポイントとして用いられ得る。ヒエラルキー値は、解決された範囲によって表されるヒエラルキーのタイプを記述することができる。例えば、「ヒエラルキー」に対する可能性のある値は、「組織ユニットヒエラルキー」又は「報告ヒエラルキー」を含むことができる。ナビゲーション値は、関連するヒエラルキー値に基づいてどのようにアクターが解決した範囲とやり取りし得るかを記述することができる。例えば、ナビゲーション値は、「下方のレベルすべて」及び／又は「同じレベルのみ」を含むことができる。ベースアクター−ロール範囲値は、範囲内への一つ又は複数のポインタを記述することができる。該ベースアクター−ロール範囲は、「勤務地」及び／又は「職級コード」等の値を有することができる。加えて、ベースアクター−ロール範囲値は、内包規則及び値及び排他規則及び値等の属性を含むことができる。例えば、排他は、例えば人的資源におけるユーザに対する解決した範囲がすべての会社員を含むことができ、最高位の役員を除外する特別なケースを該システムが組み込むことを許容する。ここで、アクター−ロール範囲は会社であり得、そのため全従業員が含まれ、役員Ｘ、Ｙ及びＺが除外される。
【００３２】
例えば、アクターのロール、一つ又は複数の事前に定義されたコンテキストパラメータ、ロール範囲、及びアクター−ロール範囲キーに基づいて範囲が解決される（３０４ｄ）。アクター−ロール範囲キー値は、解決された範囲の決定を許容し、これは、例えば、ユーザが特定のロールにおいて動作している時、彼又は彼女が務めることを認可されるエンティティ、システムコンポーネント又はリソースを含む。ロールに関連付けられた一つの範囲があり得るが、範囲は、多くのロールに関連付けられ得る。範囲は、特定ロールにおける動作時にアクターが務める（誰か及び／又は何かである）エンティティを定義することができる。解決された範囲は、該解決された範囲が、例えば、ロールベースの許可システムによって格納されないように、ダイナミックであり得る。
【００３３】
「ロールを解決する」プロセス３０４の一つの可能性のある例は、「財務マネージャー」の指定されたロールと、例えば「部署名」及び「直属の部下（direct reports）」を含むロール範囲とを有するユーザ１１０を含むことができる。これは、「財務マネージャー」ロールへのユーザ１１０の割当てプロセスの間、「部署名」及び「直属の部下」が「財務マネージャ」ロールの範囲を解決するのに要求されることを意味する。この例において、アクター−ロール範囲キーは、例えば、部署名に対する「購買部」、及び、例えば「ジョン・スミス及びエドワード・ジョーンズ」を含む直属の部下を含む範囲の解決を可能にする。この例では、財務ネージャーは、購買部のこの財務マネージャーに直接報告する（該マネージャー直属の部下である）ジョン・スミス及びエドワード・ジョーンズを務めることができる。
【００３４】
図５は、特定ロール及びコンテキストパラメータに基づいてポリシーインスタンスを決定するための模範的プロセス５００を例示する。ポリシーインスタンスは、ポリシータイプのユニーク（固有）インスタンスであり得る。ある一定のポリシータイプのポリシーインスタンスは、関連するロール及び一つ又は複数の事前に定義されたコンテキストパラメータに基づいて異なる。ユーザ１１０に対するポリシーインスタンスは、例えば、ユーザの定義、ユーザのロール、一つ又は複数の事前に定義されたコンテキストパラメータ、及び／又は、ユーザのロールに関連付けられたポリシータイプから導き出され得る。ある一定のロール及び一つ又は複数の事前に定義されたコンテキストパラメータでは、ある一定のポリシータイプの一つ又は複数のインスタンスが存在し得る。
【００３５】
各ポリシーインスタンスがある事前に定義されたコンテキストパラメータに一部基づくので、カスタマイズされたポリシーインスタンスは、例えば、特定の「プラクティス（実行）」、「市場区分」、「クライアント」、及び／又は他の事前に定義されたコンテキストパラメータに関連付けられ得る。ロール関連コンテキストパラメータの使用は、ポリシーインスタンスカスタマイゼーションをサポートする機構を提供することができる。セッション関連コンテキストパラメータは、ロールレベルにおける世界的制限因子のアプリケーションを許容することにより、ポリシーインスタンスに対する追加レベルの制限を加えることができる。セッションベースのコンテキストは、アプリケーションにアクセスするために用いられるチャネル（例えば、イントラネット、インターネット等）、認証強度等を含むことができる。
【００３６】
コンテキストパラメータは本質的に階層型であり得る。コンテキストパラメータヒエラルキーは、例えば、優先順位が次第に上がるように掲載されるある数のコンテキストパラメータから成り得る。各コンテキストパラメータヒエラルキーレベルは、潜在的ポリシーインスタンスオーバーライドポイント、例えば５０１、５０３及び／又は５０５、を特定（識別）する。コンテキストパラメータヒエラルキーは、ルートレベル又はデフォルトレベルを有することができる。
【００３７】
ポリシーインスタンスは、図５に示すように例えばパレメータ「１」（ルート又はデフォルト）、「２」及び／又は「３」を含む階層型コンテキストパラメータに基づいて一つ又は複数のレベルにセットされ得る。該ルートレベル（例えばコンテキストパラメータ１によって決定される）は、ロールに対して５０２ａデフォルトポリシーインスタンス（例えばデフォルトポリシーインスタンス１）を定義することができる。図５に示す例において、デフォルトポリシーインスタンス１は、階層レベル５０１、５０３及び／又は５０５のうちの一つ又は複数においてオーバーライド（無効に）され得る。デフォルトポリシーインスタンス１は、ポリシーエレメント名／値の組の完全な定義を含む。デフォルトポリシーインスタンス１は、デフォルトコンテキストを暗に示す。すなわち、デフォルトポリシーインスタンス１はいかなるコンテキストとも整合することができる（他のコンテキストパラメータ整合が全く生じない場合）。より低いレベル（例えば５０４、５０６及び／又は５０７）のポリシーインスタンス、例えばポリシーインスタンス２、３及び／又は４は、階層においてより高いレベルにセットされたポリシーエレメント値に対するデフォルトをオーバーライドするそれらのポリシーエレメントを定義することができる。これは、階層がより高いポリシーエレメントを下方に伝播するいかなる変化も許容する。ポリシータイプに対するポリシーエレメントは、階層のルート以下の各レベルに存在する必要はない。下方レベルにおけるポリシーエレメントの不存在は、次にレベルアップからのポリシーエレメント値の承継を暗に示す。
【００３８】
一例において、システム１００は、コンテキストパラメータ１が「Ｘ」の値（価値）を有するか否かを決定することができる（５０１）。該「Ｘ」の値は、ユーザの例えば「プラクティス」等のパラメータを含むことができる。コンテキストパラメータ１が「Ｘ」の値を有しない場合、デフォルトポリシーインスタンス１は特定のユーザに関連付けられる（５０２）。コンテキストパラメータ１の値が「Ｘ」である場合、システム１００は、デフォルトポリシーインスタンス１がオーバーライドされ得るか否かを決定し、もしオーバーライドされ得るなら、どのポリシーインスタンスによってかを決定する。これを、システム１００は、コンテキストパラメータ２が「Ｙ」の値を有するか否かを決定することによって行うことができる。該「Ｙ」の値は、ユーザに関連付けられた例えば「市場区分」等のパラメータを含むことができる。コンテキストパラメータ２の値が「Ｙ」でない場合、ポリシーインスタンス２は、特定のユーザに関連付けられる（５０４）。システム１００が、コンテキストパラメータ２が「Ｙ」の値を有することを決定した場合、システム１００は、別の潜在的ポリシーインスタンスオーバーライドポイントを決定することができる（５０５）。システム１００は、コンテキストパラメータ３が「Ｚ」の値を有するか否かを決定することができる（５０５）。該「Ｚ」の値は、例えば「クライアント」等のパラメータを含むことができる。システム１００がコンテキストパラメータ３の値が「Ｚ」とは等しくないと決定した場合、ポリシーインスタンス３は特定のロールに関連付けられ得る（５０６）。システム１００が、コンテキストパラメータ３が「Ｚ」と等しいと決定した場合、ポリシーインスタンス４は特定のユーザに関連付けられる（５０７）。階層型コンテキストパラメータ、例えば、図５のコンテキストパラメータ１、２及び３は、特定のユーザのロールに関連付けられたポリシーインスタンスのカスタマイゼーションの一部を務めることができる。この例において、カスタマイズできるポリシーインスタンスは、リソースに対する種々の許可を有するロールの数の低減を助長することができる。このような助長は、システム管理者が、（当該シナリオ内において）ユーザが動作し得る可能なコンテキスト（文脈）のシナリオ各々に対応する多くのロールを定義することを要求するのではなく、システム１００が、特定のロールにおけるある一定のユーザに対する一つ又は複数のユニークコンテキストパラメータを考慮に入れる場合に可能になり得る。
【００３９】
ポリシータイプ、例えば「補償」が、ある従業員に対する給与総額の更新等の追加の職務（機能）、特徴もしくは能力を収容するように拡張されたなら、該拡張は該ポリシータイプに基づいて全ポリシーインスタンスに適用される。システム管理者は、例えば、デフォルトポリシーインスタンスレベルにおける新規のポリシーエレメント値等を定義し得る。この拡張された定義は、自動的にすべての下位ポリシーインスタンスに適用される。
【００４０】
図６は、マルチカスタマーコンピューティング環境におけるロールベースのアクセス６００のための模範的な例示である。ユーザ１１０（アクターの一つのタイプ）は、例えばユーザＩＤ及びパスワードを与えることにより、コンピュータシステムにログオンし、一つ又は複数の製品モジュール６０２とやり取りを試みる。製品モジュール６０２は、ユーザ１１０がやり取りを試みる一つ又は複数のアプリケーションを代表すことができる。ユーザ１１０のアイデンティティは、ユーザ１１０が該システムに入力する認証信用証明書を用いて認証モジュール６０４を通じて確立される。ユーザ１１０が認証モジュール６０４によって認証されると、一つ又は複数の事前に定義されたコンテキストパラメータ、例えば「市場区分Ａ」が得られる。コンテキストパラメータは、例えば、例えば一つ又は複数の記録管理システム内の既存のデータベースからキャッシュもしくは取得され得る。例示の通信は、一つ又は複数の標準ベースの言語及びプロトコル、例えばＳＯＡＰ、ＨＴＴＰ、ＩＰ、ＳＱＬ等を用いて実行され得る。
【００４１】
ユーザ１１０は、例えば、ユーザのアイデンティティ及び一つ又は複数の事前に定義されたコンテキストパラメータに基づいてあるロールに割り当てられる。ロール割当ては、例えばアクターＩＤ−ロールデータベース６０６ａから取得した値に基づいて、例えば、ロール解決アプリケーションモジュール６０８ａによって成し遂げられ得る。この例において、「マネージャー」のロールは、該ユーザＩＤ及び「市場区分Ａ」コンテキストパラメータに基づいて割り当てられる。
【００４２】
ロール範囲はロールに関連付けられ得る。このような割当ては、例えば、ロール範囲−ロールデータベース６０６ｂに格納され得る。ロール範囲は、各ロールに関連付けられた範囲の一般仕様を含む。この例では、「マネージャー」のロールは、「組織ＩＤ」、「部署名」及び「直属の部下」を含むロール範囲を有する。この例のためのアクター−ロール範囲キーは、組織ＩＤとしての「組織２２」及び部署名としての「研究開発」を含む。これらのアクター−ロール範囲キー値は、範囲の解決を可能にする一つ又は複数のポインターを表すことができ、該範囲は、ユーザー１１０がそれ（ポピュレーション及び／又はエンティティ）に従って行動し得る（影響（作用）を与え得る）ポピュレーション及び／又はエンティティを含む。この例において、解決された範囲は、直属の部下「イー・スミス（E. Smith）」、「エフ・ジョーンズ（F. Jones）」及び「ティー・ロバート（T. Roberts.）」を表す。
【００４３】
ポリシータイプはユーザ１１０のロールに関連付けられ、これは、例えば、ポリシータイプ−ロールデータベース６０６ｃに格納され得る。この例において、ポリシータイプ「計時（time keeping）」は「マネージャー」のロールに関連付けらる。「計時」ポリシータイプは、例えば、「入力計時データ」ポリシーエレメント及び「承認計時データ」ポリシーエレメントを含む。
【００４４】
一つ又は複数のポリシーインスタンスをロールに対してマッピングするために、既存のコンテキストパラメータが読み取られるか、及び／又は、追加のコンテキストパラメータが取得される。「マネージャー」のロール及びコンテキストパラメータ「市場区分Ａ」に基づいて、ポリシータイプ「計時」に対するポリシーインスタンスは、「マネージャー」ロールに対してマッピング（６０８ｂ）される。この例において、「入力計時データ」及び「承認計時データ」のためのポリシーエレメント値は両方「イエス」にセットされる。「マネージャー」ロールに対してマッピング（６０８ｂ）されたポリシーインスタンスに基づいて、この例のマネージャーは、イー・スミス、エフ・ジョーンズ及びティー・ロバートに対する計時データを入力及び／又は承認するように認可される。
【００４５】
アクセス制御ポリシーエレメントのロール及びポリシーインスタンスは、ある一定のユーザ１１０に対して該システムを利用可能とするもの（ある一定のユーザ１１０に対して何が該システムを利用可能とするか）を決定することができる。データビュー／提示のためのポリシーインスタンスは、システムコンポーネント又はエンティティのどの側面がユーザ１１０に提示されるべきかを定義することができる。例えば、「マネージャー」ロール及び「人事専門家」ロールは、それらの各ロールに関連付けられたポリシータイプ（役職「業績管理」）のアクセス制御ポリシーエレメント（名称「アクセス人事データ」）に対するポリシーインスタンスに基づいて、同じシステムコンポーネント又はエンティティ、例えば人事情報、に対するアクセスを有し得る。しかしながら、「マネージャー」は、彼又は彼女のロールに対するポリシータイプ（例えば、役職「業績管理」）に関連付けられたポリシーエレメント（例えば、名称「ビュー人事データ」）に対するポリシーインスタンスに基づいて、従業員給与を見る権利を有し得る。その一方、「人事専門家」は、そのような権利を有していないかもしれない。職務業績／更新操作ポリシーエレメントに関連付けられたインスタンスは、ユーザ１１０がシステム１００とやり取りする際に何の機能（職務）がユーザ１１０が実行することを許容されるか（ユーザ１１０が実行することを許容される機能が何か）、及び、何の機能（職務）を彼又は彼女が実行し得ないかを制御することができる。「マネージャー」ロールは、例えば、数あるタスクの中でもとりわけ、従業員の役職に関連付けられた人事データを変更することにより、昇進をもたらすことができる。他方、そのような昇進権限を全く有していない「人事専門家」は、従業員の役職に対する変更権を有することはない。更新権限におけるこの区別は、「マネージャー」及び「人事専門家」に対するそれぞれのポリシータイプ及びロールに関連付けられた職務業績／更新操作ポリシーエレメントに対する異なるポリシーインスタンスに基づく。
【００４６】
図７は、コンテキストパラメータベースのロール及びポリシーインスタンスが、ユーザーがアクセスすることを認可され得る一つ又は複数のリソースを決定することができる別の例を示す。図７は、「マネージャー」のロールで、それらのロールに関連付けられた「業績管理」と名付けられたポリシータイプを有するユーザー１１０を例示する。この例において、「マネージャー」と名付けられたロールは、「クライアント」の事前に定義されたコンテキストパラメータを有する。そのため、「クライアント」の事前に定義されたコンテキストパラメータは、一つ又は複数のユーザを「マネージャー」のロールに割り当て、かつ「業績管理」ポリシータイプに対する一つ又は複数のポリシーインスタンスを決定するために要求される。この例において、次の「マネージャー」ロール割当てが含まれ得る。すなわち、ユーザ＝「アリス」７０１、ロール＝「マネージャー」７０３及びコンテキスト＝「ＸＹＺクライアント」７０４；及び、ユーザ＝「ボブ」７０２、ロール＝「マネージャー」７０３及びコンテキスト＝「ＡＢＣクライアント」７０５である。この例において、「マネージャー」ロールに関連付けられた「業績管理」ポリシータイプは、「アクセス業績管理アプリケーション」、「ビュー補償データ」、「可能増加給与」、及び「最大給与増加割合」等のポリシーエレメントを含む。この例において、ポリシーインスタンス７０６は、「ＸＹＺクライアント」事前に定義されたコンテキストパラメータ７０４に基づいて、アリスの「マネージャー」ロール７０３における「アリス」７０１に適用されるであろう。ポリシーインスタンス７０７は、「ＡＢＣクライアント」事前に定義されたコンテキストパラメータ７０５に基づいて、ボブの「マネージャー」ロール７０３における「ボブ」７０２に適用されるであろう。この例では、「業績管理」ポリシータイプに対する二つのポリシーインスタンス７０６及び７０７がある。この例において、次の「業績管理」ポリシーインスタンスが「マネージャー」７０３のロールに対して例示される。すなわち、ユーザ＝「アリス」７０１、「コンテキスト＝「ＸＹＺクライアント」７０４、アクセス業績管理アプリケーション＝「イエス」７０８ａ、ビュー補償データ＝「イエス」７０８ｂは、可能増加給与＝「ノー」７０８ｃ及び最大給与増加割合＝「０％」７０８ｄ；及び、ユーザ＝「ボブ」７０２、コンテキスト＝「ＡＢＣクライアント」７０５、アクセス業績管理アプリケーション＝「イエス」７０９ａ、ビュー補償データ＝「イエス」７０９b、可能増加給与＝「イエス」７０９ｃ及び最大給与増加割合＝「５％」７０９dである。この例において、両ユーザ「ボブ」７０２及び「アリス」７０１は同じロール７０３を有しているが、これら各々に対するロール割当ての事前に定義されたコンテキストパラメータ値は異なる。結果として、各ユーザに対するポリシーインスタンスは相違し、更には、ビュー許可、アクセス許可及び更新許可が「ボブ」７０２及び「アリス」７０１に対して異なる（これら両方が「マネージャー」７０３のロールに関連付けられるにもかかわらず）。この例において、ＡＢＣクライアント内のマネージャーとしてのボブは、わずか５％だけ���与を増やすことができる。これに対し、アリスは、ＸＹＺクライアント組織内のマネージャーとしてのアリスは、給与を上げることはできない。
【００４７】
例示したように、ユーザのロール、一つ又は複数の事前に定義されたコンテキストパラメータ、及び一つ又は複数のポリシータイプに関連付けられた一つ又は複数のポリシーインスタンスの作成は、コンテキスト（文脈）のカスタマイゼーション、及び、同じロールの異なるユーザに対する一つ又は複数のリソースへのアクセス権の決定を提供することができる。
【００４８】
次のコードは、マルチカスタマーコンピューティング環境におけるロールベースのアクセスのための図３に記述した方法の模範である。この例において、「インガ（Inga）」と名付けれたユーザ１１０は、独立した請負業者であり、コンピュータシステム３０１にログオンする。インガのアイデンティティは、ユーザ１１０であるインガが該システムに入力する認証信用証明書を用いて認証モジュールによって認証される（３０２）。この例において、インガのアイデンティティが認証され、彼女にはロール（ロール割当てＩＤ＝「Ｅｌ」）が割り当てられ、これは、この例では「ＣＳＳ・Ｒｅｐ．」のロールである。「Ｅｌ」のロール割当てＩＤに基づいて、コンテキストパラメータが取得される（３０３）。この例では、組織コンテキストパラメータ（組織コンテキスト・コンテキストＩＤ＝「Ｃ」）が送り戻され、これは、「ＤＣ」実行コンテキストパラメータ及び「ＥＣＭ」市場区分コンテキストパラメータを含む。この例において、クライアントコンテキストパラメータ及び制度（計画）コンテキストパラメータに対する特定の値は設定されない。この例において、クライアント及び制度コンテキストパラメータは変数であり得る。この例では、一つ又は複数のポリシーインスタンスは、消費アプリケーションによって要求されるコンテキストパラメータに基づいて解決され得る。この例では、「解決ロール」プロセス３０４の一部として、アクター−ロール範囲キー又は「ＦＰＲＳ」のポインター値が設定され、そのため、インガのロールに対する範囲は解決され得る。
【００４９】
2009544076.tif 000003
【００５０】
この例において、セッションコンテキストパラメータが取得され、これは、「ＢＷＳ」アプリケーション値コンテキストパラメータと、「ＰＳＧ」クレームのポイントコンテキストパラメータと、「５」の認証資格証明強度コンテキストパラメータとを含む。この例において、ユーザ１１０「インガ」のロール、セッションコンテキストパラメータ、例えば「ＢＷＳ」、「ＰＳＧ」及び「５」、及び、組織コンテキスト・コンテキストＩＤ「Ｃ」に関連付けられた組織コンテキストパラメータに基づいて、一つ又は複数のポリシーインスタンスが取得される。この例において、ポリシーインスタンスが取得され、これは、ポリシータイプ「業績管理」（ポリシーインスタンス・インスタンスＩＤ「１５」）、ポリシータイプ「計時職務」（ポリシーインスタンス・インスタンスＩＤ「１６」）、及びポリシータイプ「ＤＣトランサクション」(ポリシーインスタンス・インスタンスＩＤ「１９」）のインスタンスを含む。この例のための各ユニークポリシーインスタンスは、ユーザアクセス許可の決定に役立つことができる値を有するポリシーエレメントのセットを含む。例えば、「Ｎ」に設定されるポリシーエレメント「入力計時データ」を含むポリシーインスタンス・インスタンスＩＤ「１６」によれば、ユーザ１１０「インガ」は、彼女が独立した請負業者である場合、計時データを入力することができない。
【００５１】
2009544076.tif 000004
【００５２】
2009544076.tif 000005
【００５３】
2009544076.tif 000006
【００５４】
ここに記述した「リソース」の言及には、例えば、データベース、システムアプリケーション、ドキュメント、及び／又はその他の類似物を含む。ここに記述した用語「インスタンス」は、オブジェクト指向技術に定義されるようなインスタンシエーション（インスタンス化）の概念に限定されない。データベースは、ここでの多くの例において言及されるが、本発明は、このデータ記憶の形態には限定されない。他のデータ格納形態及び記憶形式、例えば、テキストファイル、ファイルツリー、スプレッドシート、及び／又はその他の類似物等も使用可能である。
【００５５】
ここに記述した技術は、デジタル電子回路又はコンピュータハードウェア、ファームウェア、ソフトウェアもしくはこれらの組合せにおいて実装され得る。この実装は、データ処理装置（例えばプログラマブルプロセッサ、コンピュータもしくはマルチプルコンピュータ）によって実行されるための、又は、該データ処理装置の操作を制御する、コンピュータプログラム製品、すなわち、例えば機械可読記憶デバイス又は伝搬信号における情報担体（媒体）に実体的に具体化されたコンピュータプログラムとしてなされ得る。コンピュータプログラムは、コンパイル型又はインタープリタ型言語を含むいかなる形式のプログラミング言語でも書かれ得、また、ストーンドアローンプログラムとして、あるいは、モジュール、コンポーネント、サブルーチン、又はコンピューティング環境の使用に適した他のユニットとしてのものを含むいかなる形式でも導入され得る。コンピュータプログラムは、一つのサイトにおいて、又は、複数のサイトにわたって分散されかつ通信ネットワークによって相互接続されて、一つのコンピュータ又は複数のコンピュータにおいて実行されるように導入され得る。
【００５６】
方法ステップは、入力データで動作して出力を発生されることにより、本発明の機能を実行するため、コンピュータプログラムを実行する一つ又は複数のプログラマブルプロセッサによって実行され得る。方法ステップはまた、専用論理回路、例えばＦＰＧＡ（フィールドプログラマブルゲートアレイ）もしくはＡＳＩＣ（特定用途向け集積回路）によって実行され得、また、該専用論理回路として実装され得る。モジュールは、コンピュータプログラム及び／又はその機能を実行するプロセッサ／専用回路の一部を指すことができる。
【００５７】
コンピュータプログラムの実行に適したプロセッサは、一例として、汎用マイクロプロセッサ及び専用マイクロプロセッサの両方を含み、また、いかなる種類のデジタルコンピュータのどのような一つ又は複数のプロセッサをも含む。一般に、プロセッサは、読み出し専用メモリ又はランダムアクセスメモリ又はその両方から命令及びデータを受け取る。コンピュータの本質的要素は、命令を実行するためのプロセッサと、命令及びデータを格納するための一つ又は複数の記憶デバイスである。一般に、コンピュータはまた、データを記憶するための一つ又は複数の大容量記憶デバイス、例えば、磁気ディスク、光磁気ディスクもしくは光ディスク等を含み、又は、該大容量記憶デバイスからデータを受け取るか又は該デバイスへデータを送るか又はその両方のために動作可能に連結される。データ伝送及び命令はまた、通信ネットワークによって行われ得る。コンピュータプログラム命令及びデータを具体化するのに適した情報担体は、すべての形式の不揮発性メモリを含み、これには、半導体メモリ装置、例えばＥＰＲＯＭ、ＥＥＰＲＯＭ及びフラッシュメモリ素子；磁気ディスク、例えば内蔵ハードディスク又はリムーバブルディスク；光磁気ディスク；及びＣＤ−ＲＯＭ及びＤＶＤ−ＲＯＭディスクが含まれる。プロセッサ及びメモリには専用論理回路が追加され得、又は、プロセッサ及びメモリは専用論理回路に組み込まれ得る。
【００５８】
ユーザとのやり取りを与えるため、上述したプロセスは、ディスプレイ装置、例えば、ユーザに情報を表示するためのＣＲＴ（陰極線管）又はＬＣＤ（液晶ディスプレイ）モニタと、それによりユーザがコンピュータに入力を与えることができる（例えばユーザインターフェースエレメントとのやり取り）キーボード及びポインティングデバイス、例えばマウスもしくはトラックボールとを有するコンピュータに実装され得る。ユーザとのやり取りを与えるために他の種類のデバイス（装置）も同様に使用可能である。例えば、ユーザに供給されるフィードバックは、例えば、視覚フィードバック、聴覚フィードバックもしくは触覚フィードバック等、いかなる形式の感覚フィードバックでもあり得る。また、ユーザからの入力は、音響入力、音声入力もしくは触覚入力を含むいかなる形式でも受け取られ得る。
【００５９】
上述した技術は、分散型コンピューティングシステムにおいて実現され得る。該分散型コンピューティングシステムは、バックエンドコンポーネント、例えばデータサーバ、及び／又は、ミドルウェアコンポーネント、例えばアプリケーションサーバ、及び／又は、フロントエンドコンポーネント、例えば、グラフィカルユーザインターフェース及び／又はウェブブラウザ（これらを介してユーザは一例のインプリメンテーションとやり取りできる）を有するクライアントコンピュータ、又は、このようなバックエンド、ミドルウェアもしくはフロントエンドコンポーネントの任意の組合せを含む。該システムのコンポーネントは、例えば通信ネットワーク等のデジタルデータ通信のいかなる形式もしくは媒体によっても相互接続され得る。通信ネットワークの例は、ローカルエリアネットワーク（「ＬＡＮ」）及びワイドエリアネットワーク（「ＷＡＮ」）、例えばインターネットを含み、また、有線及び無線ネットワークの両方を含む。
【００６０】
コンピューティングシステムは、クライアント及びサーバを含むことができる。クライアント及びサーバは、一般に互いにから遠隔であり、通信ネットワークによってやり取りすることができる。クライアント及びサーバの関係は、それぞれのコンピュータにおいて実行しかつ互いにクライアント−サーバ関係を有するコンピュータプログラムによって生じる。
【００６１】
本発明は、特定の実施形態に関して記述された。ここに記述した選択肢（代替案）は、単に例示目的のものであり、決して該選択肢に限定されない。本発明のステップは、異なる順序で実行され得、また、望ましい結果を依然として成し遂げ得る。他の実施形態も特許請求の範囲内にある。
【符号の説明】
【００６２】
１００  コンピューティングシステム１００
１１０  ユーザ
１２０  クライアント装置
１３０、１５０  通信ネットワーク
１４０  アプリケーションサーバ装置
１４２  アプリケーションソフトウェアプログラムモジュール
１６２  データベースサーバ
１６４  データベーステーブル
【図１】
2009544076.tif 000007
【図２】
2009544076.tif 000008
【図３】
2009544076.tif 000009
【図４】
2009544076.tif 000010
【図５】
2009544076.tif 000011
【図６】
2009544076.tif 000012
【図７】
2009544076.tif 000013
【国際調査報告】
2009544076.tif 000014
2009544076.tif 000015
2009544076.tif 000016