【課題を解決するための手段】
【0004】
(本発明の概要)
従って、本発明の実施形態は、動的ロールフィルターを用いてロールメンバーシップを動的に管理するための方法およびシステムを提供する。実施形態は、ロールメンバーシップを動的に管理するための方法を提供し、方法は、エンティティがロールのメンバーであるか否かを確認するためのリクエストを受信することであって、確認するためのリクエストが、ロール名を含む、ことと、確認するためのリクエストを受信するのに応答して、ロール名に関連するロール構成を記憶エリアから検索することであって、ロール構成が、1つ以上のロールフィルターと、互いに対して1つ以上のフィルターの論理関係を特定する論理ステートメントとを含み、各ロールフィルターが、エンティティ属性に対する1つ以上の特定されたオプションを含み、かつエンティティ属性に対する値を含むデータソースにリンクされる、ことと、
論理ステートメントを構文解析し、そして論理ステートメントの各ロールフィルターに対して、データソースの値が、ロールフィルターの1つ以上の特定されたオプションにマッチするか否かを決定することによって、ロールフィルターが真かまたは真でない結果を有するのを決定することと、論理関係に従って、論理ステートメントの各ロールフィルターに対する真または真でない結果を処理することによって、論理ステートメントの真または真でないことを評価することと、エンティティがロールのメンバーであるか否かを決定することであって、論理ステートメントが真である場合、エンティティがメンバーであり、論理ステートメントが真でない場合、エンティティがメンバーではない、こととを含む。
【0005】
もう1つの実施形態は、クライアントおよびロールマネージャープロセスを含むロールメンバーシップを動的に管理するためのシステムを提供する。クライアントは、エンティティがロールのメンバーであるか否かを確認するためのリクエストを送信することであって、確認するためのリクエストが、ロール名を含む、ことと、ロールメンバーシップの決定を受信することとを行うために、ユーザーによって動作可能である。ロールマネージャープロセスは、確認するためのリクエストを受信することと、確認するためのリクエストを受信するのに応答して、ロール名に関連するロール構成を記憶エリアから検索することであって、ロール構成が、1つ以上のロールフィルターと、互いに対して1つ以上のフィルターの論理関係を特定する論理ステートメントとを含み、各ロールフィルターが、エンティティ属性に対する1つ以上の特定されたオプションを含み、かつエンティティ属性に対する値を含むデータソースにリンクされる、ことと、
論理ステートメントを構文解析し、そして論理ステートメントの各ロールフィルターに対して、データソースの値が、ロールフィルターの1つ以上の特定されたオプションにマッチするか否かを決定することによって、ロールフィルターが真かまたは真でない結果を有するのを決定することと、論理関係に従って、論理ステートメントの各ロールフィルターに対する真または真でない結果を処理することによって、論理ステートメントの真または真でないことを評価することと、ロールメンバーシップの決定を生成することであって、論理ステートメントが真である場合、エンティティがメンバーであり、論理ステートメントが真でない場合、エンティティがメンバーではない、ことと、ロールメンバーシップの決定をクライアントに送信することとによって、確認するためのリクエストを処理するように構成される。
【0006】
本発明の実施形態の上述およびなおさらなる特徴および利点は、以下のその詳細な記述に考慮して明白になり、特に添付の図面に関連して解釈されるとき、さまざまな図面の同様の参照数字が、同様の構成要素を明示するために利用される。
【0007】
本発明は、例えば、以下を提供する。
(項目1) ロールメンバーシップを動的に管理するための方法であって、該方法は、
エンティティがロールのメンバーであるか否かを確認するためのリクエストを受信することであって、該確認するためのリクエストが、ロール名を含む、ことと、
該確認するためのリクエストを受信することに応答して、該ロール名に関連するロール構成を記憶エリアから検索することであって、該ロール構成が、1つ以上のロールフィルターと、互いに対する該1つ以上のフィルターの論理関係を特定する論理ステートメントとを含み、各ロールフィルターが、エンティティ属性に対する1つ以上の特定されたオプションを含み、該エンティティ属性に対する値を含むデータソースにリンクされる、ことと、
該論理ステートメントを構文解析し、そして該論理ステートメントの各ロールフィルターに対して、該データソースの該値が、該ロールフィルターの該1つ以上の特定されたオプションにマッチするか否かを決定することによって、該ロールフィルターが真かまたは真でない結果を有するのを決定することと、
該論理関係に従って、該論理ステートメントの各ロールフィルターに対する該真または真でない結果を処理することによって、該論理ステートメントの真または真でないことを評価することと、
該エンティティが該ロールのメンバーであるか否かを決定することであって、該論理ステートメントが真である場合、該エンティティがメンバーであり、該論理ステートメントが真でない場合、該エンティティがメンバーではない、ことと
を含む、方法。
(項目2) 上記ロールフィルターが真かまたは真でない結果を有するのを決定することは、各ロールフィルターに対して、
上記リンクされたデータソースに接続することと、
上記エンティティ属性に対する上記値を上記データソースから検索することと、
該検索された値を該ロールフィルターの上記1つ以上の特定されたオプションと比較することと
を含み、該検索された値が該1つ以上の特定されたオプションにマッチする場合には、該ロールフィルターの結果が真であり、該検索された値が該1つ以上の特定されたオプションにマッチしないなら、該ロールフィルターの結果が真でない、上記項目に記載の方法。
(項目3) 任意のロールフィルターに対して、上記リンクされたデータソースへの接続が構成され得ない場合、該ロールフィルターに対する上記真または真でない結果を真でないことに設定することをさらに含む、上記項目のいずれかに記載の方法。
(項目4) 上記ロール構成を生成しまたは修正するためのリクエストを受信することと、
該リクエストを受信するのに応答して、該ロール構成がなお存在しない場合、該ロール構成を生成し、または該ロール構成が既に存在する場合、該ロール構成を上記記憶エリアから検索することと、
該ロール構成内に含むように1つ以上のロールフィルターを選択することと、
該1つ以上のロールフィルターの上記論理関係を特定する上記論理ステートメントを編集することと、
該選択されたロールフィルターと該編集された論理ステートメントとを含む該ロール構成を該記憶エリアに保存することと
をさらに含む、上記項目のいずれかに記載の方法。
(項目5) 上記ロール構成を保存する前に、上記選択されたロールフィルターを検証することをさらに含み、該検証は、各ロールフィルターに対して、
上記リンクされたデータソースへの接続を確認することと、
該リンクされたデータソースが該ロールフィルターの上記エンティティ属性に対する値を含むことを確認することと含み、
両方の確認ステップが成功である場合、該ロールフィルターが検証され、該ロール構成が保存され、1つまたは両方の確認ステップが失敗である場合、該ロールフィルターが検証されなく、該ロール構成の上記修正が繰り返される、上記項目のいずれかに記載の方法。(項目6) 上記1つ以上のロールフィルターのうちの1つを構成するためのリクエスト受信することと、
該リクエストを受信するのに応答して、該ロールフィルターがなお存在しない場合、該ロールフィルターを生成し、または該ロールフィルターが既に存在する場合、該ロールフィルターを上記記憶エリアから検索することと、
該ロールフィルターにリンクされるべき1つ以上のデータソースを選択することであって、各データソースが、1つ以上のエンティティ属性の各々に対する値を含み、各データソースの各エンティティ属性が、同じまたは別のデータソースの各エンティティ属性と異なり得る、ことと、
各データソースに対して、該ロールフィルターに含むようにエンティティ属性を該1つ以上のエンティティ属性から選択し、そして該ロールフィルター内に該選択されたエンティティ属性に対する1つ以上にオプションを特定することと、
該ロールフィルターを該記憶エリア内に保存することと
を含む、上記項目のいずれかに記載の方法。
(項目7) 各データソースに対して、上記データソースとそのリンクされたロールフィルターとの間の接続を、該データソースに対する位置情報を該リンクされたロールフィルターに入力することによって構成することをさらに含む、上記項目のいずれかに記載の方法。
(項目8) 各選択されたエンティティ属性に対して、上記ロールフィルターに含むように該ロールフィルター内に1つ以上の状態を特定することをさらに含み、各状態が、上記エンティティ属性に対する上記値の許可されたバリエーションを特定する、上記項目のいずれかに記載の方法。
(項目9) 上記データソースは、データベースである、上記項目のいずれかに記載の方法。
(項目10) 上記データソースは、ウェブサービスである、上記項目のいずれかに記載の方法。
(項目11) ロールメンバーシップを動的に管理するためのシステムであって、該システムは、
エンティティがロールのメンバーであるか否かを確認するためのリクエストを送信することであって、該確認するためのリクエストが、ロール名を含む、ことと、
ロールメンバーシップの決定を受信することと
を行うようにユーザーによって動作可能であるクライアントと、
該確認するためのリクエストを処理するように構成されるロールマネージャープロセスであって、該処理することが、
該確認するためのリクエストを受信することと、
該確認するためのリクエストを受信するのに応答して、該ロール名に関連するロール構成を記憶エリアから検索することであって、該ロール構成が、1つ以上のロールフィルターと、互いに対して該1つ以上のフィルターの論理関係を特定する論理ステートメントとを含み、各ロールフィルターが、エンティティ属性に対する1つ以上の特定されたオプションを含み、該エンティティ属性に対する値を含むデータソースにリンクされる、ことと、
該
論理ステートメントを構文解析し、そして該論理ステートメントの各ロールフィルターに対して、該データソースの該値が、該ロールフィルターの該1つ以上の特定されたオプションにマッチするか否かを決定することによって、該ロールフィルターが真かまたは真でない結果を有するのを決定することと、
該論理関係に従って、該論理ステートメントの各ロールフィルターに対する該真または真でない結果を処理することによって、該論理ステートメントの真または真でないことを評価することと、
該ロールメンバーシップの決定を生成することであって、該論理ステートメントが真である場合、該エンティティがメンバーであり、該論理ステートメントが真でない場合、該エンティティがメンバーではない、ことと、
該ロールメンバーシップの決定を該クライアントに送信することと
によって行われる、ロールマネージャープロセスと
を含む、システム。
(項目12) ロールメンバーシップを動的に管理するためのプログラムが記録されたコンピュータ読み取り可能な格納媒体であって、該プログラムは、
エンティティがロールのメンバーであるか否かを確認するためのリクエストを送信することであって、該確認するためのリクエストが、ロール名を含む、ことと、
ロールメンバーシップの決定を受信することと
を行うようにユーザーによって動作可能であるクライアントと、
該確認するためのリクエストを処理するように構成されるロールマネージャープロセスであって、該処理することが、
該確認するためのリクエストを受信することと、
該確認するためのリクエストを受信するのに応答して、該ロール名に関連するロール構成を記憶エリアから検索することであって、該ロール構成が、1つ以上のロールフィルターと、互いに対して該1つ以上のフィルターの論理関係を特定する論理ステートメントとを含み、各ロールフィルターが、エンティティ属性に対する1つ以上の特定されたオプションを含み、該エンティティ属性に対する値を含むデータソースにリンクされる、ことと、
該
論理ステートメントを構文解析し、そして該論理ステートメントの各ロールフィルターに対して、該データソースの該値が、該ロールフィルターの該1つ以上の特定されたオプションにマッチするか否かを決定することによって、該ロールフィルターが真かまたは真でない結果を有するのを決定することと、
該論理関係に従って、該論理ステートメントの各ロールフィルターに対する該真または真でない結果を処理することによって、該論理ステートメントの真または真でないことを評価することと、
該ロールメンバーシップの決定を生成することであって、該論理ステートメントが真である場合、該エンティティがメンバーであり、該論理ステートメントが真でない場合、該エンティティがメンバーではない、ことと、
該ロールメンバーシップの決定を該クライアントに送信することと
によって行われる、ロールマネージャープロセスと
して該コンピュータを動作させる、媒体。
(項目12A) 上記システムは、有形記憶媒体上に格納されるコンピュータプログラム製品である、上記項目のいずれかに記載のシステム。
(項目13) 上記ロールマネージャープロセスは、上記確認するためのリクエストを処理するための論理を用いて構成されるプロセッサーによってインプリメントされる、上記項目のいずれかに記載のシステム。
(項目14) 上記ロールマネージャープロセスは、各ロールフィルターが真かまたは真でない結果を有するのを決定するようにさらに構成され、該決定することが、各ロールフィルターに対して、
上記リンクされたデータソースに接続することと、
上記エンティティ属性に対する上記値を該データソースから検索することと、
該検索された値を該ロールフィルターの上記1つ以上の特定されたオプションと比較することであって、もし該検索された値が1つ以上の該特定されたオプションにマッチするなら、該真または真でない結果が真であり、もし該検索された値が1つ以上の該特定されたオプションにマッチしないなら、該真または真でない結果が真でなく、該リンクされたデータソースへの接続が作られ得ない場合、該真または真でない結果が真でない、こととによって行われる、上記項目のいずれかに記載のシステム。
(項目15) ユーザーによって動作可能な管理クライアントをさらに含み、該クライアントが、
上記ロール構成を生成しまたは修正するためのリクエストを上記ロールマネージャープロセスに送信することと、
構成オプションのセットを該ロールマネージャープロセスから受信することと、
1つ以上の構成オプションを該受信された構成オプションのセットから選択することと、
上記論理ステートメントを編集することと、
該選択された構成オプションおよび該論理ステートメントを該ロールマネージャープロセスに送信することと
を行うためであり、
該ロールマネージャープロセスが、該ロール構成を生成しまたは修正するようにさらに構成され、該生成しまたは修正することが、
該ロール構成を生成しまたは修正するための該リクエストを該管理クライアントから受信することと、
該リクエストを受信するのに応答して、該ロール構成がなお存在しない場合、それを生成し、または該ロール構成が既に存在する場合、それを上記記憶エリアから検索することと、
構成オプションのセットを該管理クライアントに送信することであって、該構成オプションが、該ロール構成に含まれ得る1つ以上のロールフィルターのロールフィルターリストを含む、ことと、
該選択された構成オプションおよび該編集された論理ステートメントを該管理クライアントから受信することであって、該選択された構成オプションが、該ロールフィルターリストからの1つ以上の選択されたロールフィルターを含む、ことと、
該受信された構成オプションおよび該編集された論理ステートメントを含む該ロール構成を該記憶エリアに保存することと
によって行われる、上記項目のいずれかに記載のシステム。
(項目16) 上記ロールマネージャープロセスは、上記ロール構成を保存する前に上記選択されたロールフィルターを検証するようにさらに構成され、該検証は、各ロールフィルターに対して、
上記リンクされたデータソースへの接続を確認することと、
該リンクされたデータソースが該ロールフィルターの上記エンティティ属性に対する値を含むことを確認することと含み、
両方の確認ステップが成功である場合、該ロールフィルターが検証され、該ロール構成が保存され、1つまたは両方の確認ステップが失敗である場合、該ロールフィルターが検証されなく、該ロール構成の上記修正が繰り返される、上記項目のいずれかに記載のシステム。
(項目17) ユーザーによって動作可能な管理クライアントをさらに含み、該クライアントが、
上記ロールフィルターのうちの1つを生成しまたは修正するためのリクエストを上記ロールマネージャープロセスに送信することと、
フィルターオプションのセットを該ロールマネージャープロセスから受信することと、
1つ以上のフィルターオプションを該受信されたフィルターオプションのセットから選択することと、
該選択されたフィルターオプションを該ロールマネージャープロセスに送信することと
を行うためであり、
該ロールマネージャープロセスが、該ロールフィルターを生成しまたは修正するようにさらに構成され、該生成しまたは修正することが、
該ロールフィルターを生成しまたは修正するための該リクエストを該管理クライアントから受信することと、
該リクエストを受信するのに応答して、該ロールフィルターがなお存在しない場合、それを生成し、または該ロールフィルターが既に存在する場合、それを上記記憶エリアから検索することと、
フィルターオプションのセットを該管理クライアントに送信することであって、該フィルターオプションが、該ロールフィルターにリンクされ得るデータソースのソースリストを含み、各データソースが、1つ以上のエンティティ属性の各々に対する値を含み、各データソースの各エンティティ属性が、同じまたは別のデータソースの各エンティティ属性と異なるかもしれない、ことと、
該選択されたフィルターオプションを該管理クライアントから受信することであって、該選択されたフィルターオプションが、該ソースリストからの1つ以上の選択されたデータソースと、各選択されたデータソースに対する該データソースからの1つ以上の選択されたエンティティ属性と、各選択されたエンティティ属性に対する1つ以上のオプションとを含む、ことと、
該受信されたフィルターオプションを含む該ロールフィルターを該記憶エリアに保存することと
によって行われる、上記項目のいずれかに記載のシステム。
(項目18) 上記選択されたフィルターオプションは、各選択されたエンティティ属性に対して、上記ロールフィルターに含むように1つ以上の状態をさらに含み、各状態は、上記エンティティ属性に対する上記値の許可されたバリエーションを特定する、上記項目のいずれかに記載のシステム。
(項目19) 上記データソースは、データベースである、上記項目のいずれかに記載のシステム。
(項目20) 上記データソースは、ウェブサービスである、上記項目のいずれかに記載のシステム。
【0008】
(摘要)
データベースまたはウェブサービスのようなデータソースにリンクされる1つ以上の動的ロールフィルターを含むロール構成を用いるロールのエンティティメンバーシップを動的に管理するための方法およびシステム。ロールフィルターは、毎回、ロールメンバーシップが要求されるゆえに、動的であり、ロール構成およびその構成要素ロールフィルターは、リンクされたデータソースの現在の情報に対して評価されなければならない。ロールは、ロールベースアクセスコントロールシステムまたはエンティティ識別システムに使われ得る。