(57)【特許請求の範囲】
【請求項１】
階層的に組織されたドメインに対して規定された属性を有するオブジェクトに対するアクセスを制御する方法であって、各ドメインは、対応する固定された数の値を含み、前記方法は、
前記階層的に組織されたドメインの複数の階層を示すデータを受信するステップを含み、前記複数の階層は第１の階層と第２の階層とを含み、
前記複数の階層のうちの各階層内の対応するドメインの値を表示するステップと、
ユーザエンティティと、前記表示された対応するドメインの値からの第１の組の値の選択とを示すデータを受付けるステップとを含み、前記第１の組の値は、前記第１の階層からの第１の値と前記第２の階層からの第２の値とを含み、
前記ユーザエンティティと前記第１の値および前記第２の値を含む前記第１の組の値との組合わせに対してセキュリティルールを指定するステップを含み、
前記セキュリティルールは、前記第１の組の値に一致する属性を有するオブジェクトが前記ユーザエンティティによってアクセスされたときに施行され、前記属性は、前記第１の値に一致する前記オブジェクトの第１の属性と、前記第２の値に一致する前記オブジェクトの第２の属性とを含む、方法。
【請求項２】
前記表示するステップは、複数のタプルをそれぞれのラインに沿って表示するステップを含み、各タプルは順序付けられた要素のシーケンスを含み、
前記複数のタプルが全体として前記複数の階層すべての値のカルテシアン積を表わすように、各要素は、前記複数の階層のうちの対応する階層の値のうちの１つに設定され、
前記選択は、前記複数のタプルに含まれている対象タプルに対応する第１のラインを指示することを含み、前記対象タプルは、前記第１の値および前記第２の値を含む前記第１の組の値を表わし、
前記セキュリティルールは、前記ユーザエンティティと前記対象タプルとの組合わせに対して指定され、
前記施行は、前記対象タプルに一致する属性を有するオブジェクトが前記ユーザエンティティによってアクセスされたときに前記セキュリティルールを施行することを含む、請求項１に記載の方法。
【請求項３】
前記ラインは第１の次元に沿って表示され、前記ユーザエンティティを含む複数のユーザエンティティは第２の次元に沿って表示され、
前記選択は、前記複数のユーザエンティティのうちの各ユーザエンティティについて、対応する一組の対象ラインを指定することを含み、前記第１のラインは前記各ユーザエンティティに対して指示され、
前記施行は、選択された前記一組の対象ラインに対応するタプルのうちのいずれかに一致する属性を有するオブジェクトが対応する前記ユーザエンティティによってアクセスされたときに、前記セキュリティルールを施行することを含む、請求項２に記載の方法。
【請求項４】
前記複数のタプルを表わすデータマップを表示するステップをさらに含み、前記複数の階層のうちの各階層の値は、前記データマップの対応する次元に沿って表示され、
前記複数のタプルに含まれる一組の有効タプルを受信するステップをさらに含み、各有効タプルは、前記オブジェクトの属性に割当てられ得る対応する一組の値を表わし、
前記表示するステップは、前記一組の有効タプルのみを前記ラインとして前記第１の次元に沿って表示するステップを含む、請求項３に記載の方法。
【請求項５】
前記複数の階層は、ノードとしての複数のユーザエンティティを有する第３の階層を含み、
前記受付けるステップは、前記複数のユーザエンティティから選択された一組のユーザエンティティを示すデータを受付け、前記方法はさらに、
前記第１の組の値および前記一組のユーザエンティティの前記受付けに応じて、複数のタプルをそれぞれのラインに沿って表示するステップを含み、各タプルは順序付けられた要素のシーケンスを含み、
前記複数のタプルが全体として前記第１の組の値および前記一組のユーザエンティティのカルテシアン積を表わすように、前記順序付けられたシーケンス内の第１の位置および第２の位置の要素はそれぞれ、前記一組のユーザエンティティのうちの１つ、および、前記第１の組の値のうちの１つに設定され、
前記指定するステップは、前記複数のタプルのうちの第１の組のタプルに対応するラインを選択することによって前記セキュリティルールを指定するステップを含み、前記第１の組のタプルのうちの各タプルは、前記第１の位置にある前記ユーザエンティティと、前記第２の位置にある前記第１の組の値のうちの１つとを有する、請求項１〜４のいずれか一項に記載の方法。
【請求項６】
前記選択は、前記第１の階層内の第１のドメインの第１の値と、派生フラグとを含み、前記第１のドメインは前記第１の階層内においてより高いレベルにあり、前記第１の値は前記第１の階層内において前記より高いレベルよりも低いレベルにあるサブドメインに対応付けられており、
前記派生フラグは、前記第１の値よりも下にある前記サブドメインを前記選択に含めるか否かを示し、
前記選択は、前記派生フラグが、前記選択にサブドメインが含まれる予定であることを示す場合は、前記第１のドメインの値と、前記第１の組の値のうちの前記第１の値よりも下にある前記サブドメインの値とを含み、そうでない場合は、前記第１のドメインの値のみを含む、請求項５に記載の方法。
【請求項７】
前記セキュリティルールは、前記第１の組の値に一致する属性を有する対応するオブジェクトに対するアクセスを許可し、オブジェクトに対するアクセスは、対応するいずれかのセキュリティルールによって許可されていないアクセスであれば、拒否される、請求項６に記載の方法。
【請求項８】
前記オブジェクトはリレーショナルデータベースサーバに格納され、前記オブジェクトへのアクセスはＳＱＬ（構造化照会言語）クエリを用いて行なわれ、前記ユーザエンティティによる第１のオブジェクトへのアクセスは、第１のＳＱＬクエリを用いて行なわれ、
前記施行は、前記第１のＳＱＬクエリのＷＨＥＲＥ節に条件を追加するステップを含み、前記条件は、前記オブジェクトの属性が前記第１の組の値に一致するか否かを検査するように設計されている、請求項１〜７のいずれか一項に記載の方法。
【請求項９】
請求項１〜８のいずれかに記載の方法をコンピュータに実行させる、プログラム。
【請求項１０】
コンピューティングシステムであって、
階層的に組織されたドメインに対して規定された属性を有する複数のオブジェクトを格納するためのリレーショナルデータベースサーバを備え、各ドメインは、対応する固定された数の値を含み、
管理者システムを備え、前記管理者システムは、
前記階層的に組織されたドメインの複数の階層を示すデータを受信し、前記複数の階層は第１の階層と第２の階層とを含み、
前記複数の階層のうちの各階層内の対応するドメインの値を表示し、
ユーザエンティティと、前記表示された対応するドメインの値からの第１の組の値の選択とを示すデータを受付け、前記第１の組の値は、前記第１の階層からの第１の値と前記第２の階層からの第２の値とを含み、
前記ユーザエンティティと前記第１の値および前記第２の値を含む前記第１の組の値との組合わせに対してセキュリティルールを指定するように、作動することが可能であり、
サーバシステムを備え、前記サーバシステムは、
前記ユーザエンティティからユーザ要求を受信し、
前記ユーザ要求を処理するために、前記第１の組の値に一致する属性を有する第１のオブジェクトがアクセスされねばならないと判断し、前記属性は、前記第１の値に一致する前記第１のオブジェクトの第１の属性と、前記第２の値に一致する前記第１のオブジェクトの第２の属性とを含み、
前記セキュリティルールが前記第１の組の値と前記ユーザエンティティとの前記組合わせに対して指定されたことに応じて、前記ユーザ要求を処理する際に、前記セキュリティルールを前記第１のオブジェクトに対して施行するように、作動することが可能である、コンピューティングシステム。
【請求項１１】
前記管理者システムは、複数のタプルをそれぞれのラインに沿って表示し、各タプルは順序付けられた要素のシーケンスを含み、
前記複数のタプルが全体として前記複数の階層すべての値のカルテシアン積を表わすように、各要素は、前記複数の階層のうちの対応する階層の値のうちの１つに設定され、
前記選択は、前記複数のタプルに含まれている対象タプルに対応する第１のラインを指示することを含み、前記対象タプルは、前記第１の値および前記第２の値を含む前記第１の組の値を表わし、
前記サーバシステムは、前記対象タプルに一致する属性を有するオブジェクトが前記ユーザエンティティによってアクセスされたときに前記セキュリティルールを施行する、請求項１０に記載のコンピューティングシステム。
【請求項１２】
前記複数の階層は、ノードとしての複数のユーザエンティティを有する第３の階層を含み、
前記受付けは、前記複数のユーザエンティティから選択された一組のユーザエンティティを示すデータを受付け、前記管理者システムはさらに、
前記第１の組の値および前記一組のユーザエンティティの前記受付けに応じて、複数のタプルをそれぞれのラインに沿って表示するように作動することが可能であり、各タプルは順序付けられた要素のシーケンスを含み、
前記複数のタプルが全体として前記第１の組の値および前記一組のユーザエンティティのカルテシアン積を表わすように、前記順序付けられたシーケンス内の第１の位置および第２の位置の要素はそれぞれ、前記一組のユーザエンティティのうちの１つ、および、前記第１の組の値のうちの１つに設定され、
前記セキュリティルールは、前記複数のタプルのうちの第１の組のタプルに対応するラインを選択することによって指定され、前記第１の組のタプルのうちの各タプルは、前記第１の位置にある前記ユーザエンティティと、前記第２の位置にある前記第１の組の値のうちの１つとを有する、請求項１０または１１に記載のコンピューティングシステム。
【請求項１３】
前記リレーショナルデータベースサーバは、ＳＱＬ（構造化照会言語）クエリを用いて前記複数のオブジェクトにアクセスできるようにし、
前記サーバシステムは第１のＳＱＬクエリを用いて前記第１のオブジェクトにアクセスし、
前記判断および前記施行を実行するために、前記サーバシステムは、前記第１のＳＱＬクエリのＷＨＥＲＥ節に条件を追加し、前記条件は、前記第１のオブジェクトの属性が前記第１の組の値に一致するか否かを検査するように設計されている、請求項１０〜１２のいずれか一項に記載のコンピューティングシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
優先権主張
Ａ．本特許出願は、本明細書の開示と矛盾しない限りにおいてその全体を本明細書に引用する、２０１４年１０月８日に出願され「Access Control For Objects Having Attributes Defined Against Hierarchically Organized Domains Containing Fixed Number Of Values」と題された同時係属中のインド仮特許出願第５０５６／ＣＨＥ／２０１４号に関連し、かつこれに基づく優先権を主張する。
【０００２】
Ｂ．また、本特許出願は、本特許出願と同一の出願人により２０１５年２月２３日に出願され「Access Control For Objects Having Attributes Defined Against Hierarchically Organized Domains Containing Fixed Number Of Values」と題された米国非仮特許出願第１４／６２８，３０８号に関連し、かつこれに基づく優先権を主張する。
【０００３】
背景
技術分野
本開示は、アプリケーションサーバに関し、より具体的には、固定された数の値を含む階層的に組織されたドメインに対して規定された属性を有する（このようなアプリケーションサーバ内の）オブジェクトに対するアクセス制御に関する。
【背景技術】
【０００４】
関連技術
オブジェクトは、アプリケーションにおいて何らかの対象エンティティをデジタル表現するために用いられる。一般的に、各オブジェクトは属性を有し、各属性の値は対応するエンティティの特徴を表わす。関連技術ではよく知られているように、エンティティは、人、動物、組織、システム等の多様な生物／物事であることが可能である。
【０００５】
環境によっては、属性は固定された数の値を含むドメインに対して規定される。このことは、属性は対応するドメインの値からしか割当てることができないことを意味する。「固定された」という表現は、対応するドメイン内の値の数が有限であることを意味する。たとえば、「国」というドメインは、世界のさまざまな国に対応する、有限の数の値を含む。
【０００６】
環境によっては、便宜的にドメインは階層的に（ツリーデータ構造として）組織される。たとえば、「国」ドメイン内の各値はさらに「州」ドメインによって限定されてもよい。「州」ドメインも、固定された数の対応する値（すなわち州の名称）を有する。次に、「州」ドメイン内の各値がさらに「市」ドメインによって限定されて、階層的に組織されたドメインが形成されてもよい。他の例を挙げて説明すると、金融ドメイン内のアプリケーションは、バーゼル銀行監督委員会（Basel Committee on Banking Supervision：ＢＣＢＳ）によって指定された「資産クラス」、「商品タイプ」等の階層的に組織されたドメインに基づいて機能する。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
一般的に必要とされているのは、オブジェクトに対応する属性がこのような階層的に組織されたドメインに対して規定されているときに、このオブジェクトに対するアクセス制御を提供することである。アクセス制御は、どのユーザがどのオブジェクトにアクセスできるのか、このようなアクセスはいつどこで許可または拒否されるのか、オブジェクトに対する特定のアクション（追加、修正、削除等）が各ユーザに対して許可されるかまたは拒否されるか等の側面を特定し得る。
【０００８】
以下で例を挙げて説明するように、本開示の局面は、このような環境におけるアクセス制御を容易にする。
【０００９】
以下で簡単に説明する添付の図面を参照しながら本開示の代表的な実施形態について説明する。
【図面の簡単な説明】
【００１０】
【図１】本開示のいくつかの局面を実現できる代表的な環境（コンピューティングシステム）を示すブロック図である。
【図２】本開示のある局面に従う、オブジェクトに対するアクセスを制御する方法を示すフローチャートである。
【図３Ａ】一実施形態における、固定された数の値を含むドメインを階層的に組織する方法を示す。
【図３Ｂ】一実施形態における、複数のドメイン／階層からの有効な値の組を指示する方法を示す。
【図３Ｃ】一実施形態における、管理者が複数のドメイン／階層に対してセキュリティルールを指定できるようにする方法を示す。
【図４Ａ】一実施形態における、管理者がドメインの所望の階層を選択できるようにするユーザインターフェイスを示す。
【図４Ｂ】一実施形態における、管理者が選択された階層に基づいてセキュリティルールを指定できるようにするユーザインターフェイスを示す。
【図４Ｃ】一実施形態における、管理者が選択された階層に基づいてセキュリティルールを指定できるようにするユーザインターフェイスを示す。
【図５】デジタル処理システムの詳細を示すブロック図であり、このシステムにおいて、本開示のいくつかの局面は、適切なソフトウェア命令の実行によって機能することができる。
【発明を実施するための形態】
【００１１】
図中、同様の参照番号は、一般に、同一の要素、機能的に類似した要素、および／または構造的に類似した要素を示す。要素が最初に登場する図面は、対応する参照番号における最上位桁によって示される。
【００１２】
代表的な実施形態の説明
１．概要
本開示のある局面は、階層的に組織されたドメインに対して規定された属性を有するオブジェクトに対するアクセスの制御を容易にする。各ドメインは、対応する固定された数の値を含む。一実施形態において、階層的に組織されたドメインの特定の階層を示すデータを受けたことに応じて、各階層内の対応するドメインの対応する固定された数の値が表示される。対応するドメインの対応する固定された数の値から、所望の一組の値が（管理者によって）選択されると、選択された一組の値とユーザエンティティとの組合わせに対してセキュリティルールが指定される。
【００１３】
その後、上記選択された一組の値に一致する属性を有するオブジェクトが上記ユーザエンティティによってアクセスされたときに、このセキュリティルールは施行される。一実施形態において、セキュリティルールは、選択された一組の値に一致する属性を有するオブジェクトに対するアクセスを許可する。よって、オブジェクトに対するアクセスは、対応するいずれかのセキュリティルールによって許可されていないアクセスであれば、拒否される。
【００１４】
このように、管理者は、便宜的に、階層のいずれかのレベルの値を選択し、この階層に対して規定された属性を有するオブジェクトが特定のユーザエンティティによってアクセスされたときに、所望のセキュリティルールを適用させることができる。このような技術的解決策は特に、複雑な技術的記憶保持環境に適している。複雑な技術的記憶保持環境とは、場合によっては複数のレベルの多数のドメインが、オブジェクトの属性に対する値を指定するベースとして使用され、管理者が、さまざまなユーザエンティティに対するアクセス制御を指定する際により高精度の制御を望む環境である。
【００１５】
本開示の別の局面に従うと、（階層内のノードとしての）対応する値を含む複数の階層を受けたことに応じて、（値の）複数のタプルがそれぞれのラインに沿って表示される。各タプルは順序付けられた要素のシーケンスを含み、上記複数のタプルが全体として、受けた階層すべての値のカルテシアン積を表わすように、各要素は、対応する階層の値のうちの１つに設定される。ユーザエンティティに対する値の選択は、一組の対象タプルに対応するラインを指示することによって行なわれる。したがって、この選択との組合わせで指定されるセキュリティルールは、選択された対象タプルのうちのいずれかに一致する属性を有するオブジェクトがユーザエンティティによってアクセスされたときに、施行される。
【００１６】
本開示のさらに別の局面に従うと、（タプルに対応する）ラインは、第１の次元に沿って表示され、上記ユーザエンティティを含む一組のユーザエンティティは、第２の次元に沿って表示される。したがって、管理者は、ユーザエンティティごとに、対応する一組の対象ライン／タプルを選択することができる。この選択との組合わせで指定されるセキュリティルールは、選択された対象タプル／ラインのうちのいずれかに一致する属性を有するオブジェクトが、対応するユーザエンティティによってアクセスされたときに、施行される。
【００１７】
本開示の他の局面に従うと、（上記）カルテシアン積の中のタプルを表わすデータマップが表示される。（受けた）複数の階層各々の値が、データマップの対応する次元に沿って表示される。したがって、管理者は、（表示されたタプルの中から）一組の有効タプルを指示することができ、各有効タプルは、オブジェクトの属性に割当てられ得る対応する一組の値を表わす。管理者が有効タプルを指示したことに応じて、指示された有効タプルのみが、ラインとして（上記）第１の次元に沿って表示される。
【００１８】
本開示のある局面に従うと、管理者が、ノードとしての値を有する第１の階層から（上記）第１の一組の値を選択した後にノードとしてのユーザエンティティを有する第２の階層から一組のユーザエンティティを選択したことに応じて、これらの選択された値およびユーザエンティティから形成された複数のタプルが、それぞれのラインに沿って表示される。各タプルは、第１の位置にある要素および第２の位置にある要素を有する。タプルが全体として、選択された一組の値および選択された一組のユーザエンティティのカルテシアン積を表わすように、第１の位置の要素および第２の位置の要素はそれぞれ、選択された一組のユーザエンティティのうちの１つおよび選択された一組の値に、設定される。したがって、管理者は、（上記）セキュリティルールを、第１の位置の所望のユーザエンティティと第２の位置の所望の値とを有するライン／タプルを選択することによって指定する。
【００１９】
本開示のさらに別の局面に従うと、（階層からの）値の選択は、（その階層内においてより高いレベルにある）ドメインの値と、派生フラグとを含み、派生フラグは、上記ドメインの値よりも下にある（上記階層内において上記より高いレベルよりも低いレベルにある）サブドメインを、上記選択が含むか否かを示す。サブドメインが含まれる予定であることを派生フラグが示す場合、（セキュリティルールを施行する対象であるオブジェクトの決定に使用される）選択された一組の値は、第１のドメインの値と、この階層内における上記値よりも下にあるサブドメインの値とを含むが、そうでない場合は、ドメインの値のみを含む。
【００２０】
本開示の別の局面に従うと、オブジェクトはリレーショナルデータベースサーバに格納され、これらのオブジェクトへのアクセスは、ＳＱＬ（構造化紹介言語）クエリを用いて行なわれ、ユーザエンティティによる第１のオブジェクトへのアクセスは、第１のＳＱＬクエリを用いて行なわれる。セキュリティルールの施行は、第１のＳＱＬクエリのＷＨＥＲＥ節に条件を追加することによって行なわれる。この条件は、オブジェクトの属性が（セキュリティルールの一部として指定されている）選択された一組の値に一致するか否かを検査するように設計されている。
【００２１】
例示のために、以下では本開示のいくつかの局面について例を参照しながら説明する。しかしながら、本開示は、具体的な詳細のうちの１つ以上がなくても、または、他の方法、構成要素、材料等によって、実施できることを、当業者は認識するであろう。他の場合では、本開示の特徴を曖昧にすることを回避するために、周知の構造、材料またはオペレーションは詳細に示されていない。さらに、記載されている特徴／局面は、さまざまな組合わせで実施できるが、簡潔にするためにこの組合わせの一部のみが本明細書に記載されている。
【００２２】
２．代表的な環境
図１は、本開示のいくつかの局面を実現できる代表的な環境（コンピューティングシステム）を示すブロック図である。このブロック図は、エンドユーザシステム１１０Ａ〜１１０Ｚと、インターネット１２０と、イントラネット１３０と、サーバシステム１４０Ａ〜１４０Ｃと、管理者システム１５０と、データストア１８０Ａ〜１８０Ｂとを含むものとして示されている。
【００２３】
単に例示のために代表的な数／種類のシステムが図に示されているに過ぎない。環境を設計する目的に応じて、多くの環境は、数の点でも種類の点でも、より多くのシステムを含んでいることが多い。図１の各システム／装置について以下でさらに詳細に説明する。
【００２４】
イントラネット１３０は、（点線の境界線によって示される）企業内に設けられるサーバシステム１４０Ａ〜１４０Ｃと管理者システム１５０とデータストア１８０Ａ〜１８０Ｂとの間の接続を提供するネットワークを表わす。インターネット１２０は、これら（および企業の他のシステム）の接続性を、エンドユーザシステム１１０Ａ〜１１０Ｚ等の外部システムに対して拡張する。イントラネット１４０およびインターネット１２０の各々は、関連技術で周知の伝送制御プロトコル（Transmission Control Protocol：ＴＣＰ）および／またはインターネットプロトコル（Internet Protocol：ＩＰ）等のプロトコルを使用して実現されてもよい。一般に、ＴＣＰ／ＩＰ環境では、トランスポートの基本単位としてＩＰパケットが使用され、パケットの発生源のソースシステムに割当てられるＩＰアドレスにソースアドレスが設定され、パケットが最終的に送達される宛先システムのＩＰアドレスに宛先アドレスが設定される。
【００２５】
ＩＰパケットは、パケットの宛先ＩＰアドレスが宛先システムのＩＰアドレスに設定されると宛先システムに向けられ、その結果、パケットがネットワーク１２０および１３０によって最終的に宛先システムに送達されると考えられる。パケットは、宛先アプリケーションを指定するポート番号等のコンテンツを含む場合には、このようなアプリケーションにも向けられると考えることができる。宛先システムは、対応するポート番号を利用可能／オープンなままにして、対応する宛先ポートを用いてパケットを処理する必要があるであろう。インターネット１２０およびイントラネット１３０の各々は、有線または無線媒体の任意の組合わせを使用して実現されてもよい。
【００２６】
データストア１８０Ａ〜１８０Ｂの各々は、サーバシステム１４０Ａ〜１４０Ｃおよび管理者システム１５０等の企業の他のシステムで実行される企業アプリケーションによるデータの集合体の格納および検索を容易にする不揮発性（永続的）ストレージを表わす。データストア１８０Ａ〜１８０Ｂのうちの一部を、リレーショナルデータベース技術を用いてデータベースサーバとして実現することにより、ＳＱＬ（構造化照会言語）等の構造化クエリを用いたデータの格納および取出を提供してもよい。その他のデータストアは、関連技術では周知のように、１つ以上のディレクトリとして組織されたファイルの形態のデータの格納および取出を提供するファイルサーバとして実現してもよい。
【００２７】
一実施形態において、データストア１８０Ａ〜１８０Ｂ内で保持されているデータは、オブジェクトとしてモデル化されている（したがって企業アプリケーションによってアクセスされる）。周知のように、オブジェクトはさまざまな属性を含み、オブジェクトのインスタンス（「オブジェクトインスタンス」）は、それぞれの属性に対応する値を有する。オブジェクトは、リレーショナルデータベースシステムに格納されている場合、１つ以上のテーブルに対応し得る。各属性は、このようなテーブルのそれぞれの列に対応し、各オブジェクトインスタンスは、このようなテーブルの行に対応する。
【００２８】
エンドユーザシステム１１０Ａ〜１１０Ｚの各々は、企業の特定のシステムに向けられたユーザ要求を生成して送信するためにユーザによって使用される、パーソナルコンピュータ、ワークステーション、移動局、携帯電話、コンピューティングタブレット等のシステムを表わす。ユーザ要求は、適切なユーザインターフェイス（たとえば、企業内で実行されるアプリケーションによって提供されるウェブページ）を使用して生成されてもよい。たとえば、ユーザは、さまざまなタスクを実行するためのユーザ要求を、サーバシステム１４０Ａ〜１４０Ｃで実行される企業アプリケーションに送信し、タスクの実行結果をサーバシステムから受信してもよい。
【００２９】
サーバシステム１４０Ａ〜１４０Ｃの各々は、エンドユーザシステム１１０Ａ〜１１０Ｚを使用するユーザによって要求されたタスクを実行することができる企業アプリケーションを実行する、ウェブ／アプリケーションサーバ等のサーバを表わす。エンドユーザシステムから要求を受信したことに応答して、各サーバシステムは、この要求で指定されているタスクを実行し、タスクの実行結果を、要求を行なったエンドユーザシステムに送信する。各サーバシステムは、このようなタスクを実行する際に、内部に（たとえばサーバ内の不揮発性ストレージ／ハードディスクに）格納されているデータ、（たとえばデータストア１８０Ａ〜１８０Ｂ内で保持されている）外部データ、および／または、外部ソースから（たとえばユーザから）受信したデータを使用し得る。
【００３０】
サーバシステム１４０Ａ〜１４０Ｃの各々は属性を有するオブジェクトとしてモデル化されたデータを使用することがわかるであろう。タスク実行のために、サーバシステムは、１つ以上のオブジェクトにアクセスしそのオブジェクトに対してさまざまなアクション（追加、編集、削除等）をタスクの一部として実行し得る。セキュリティ上の理由から、一般的に、ユーザが要求するタスクの実行中、オブジェクトに対するアクセスが制御されることが望ましい。よって、（エンドユーザシステム１１０Ａ〜１１０Ｚのうちの１つを用いてユーザが生成した）ユーザ要求に応じて、この要求で指定されているタスクは、タスクの実行に必要なオブジェクトにアクセスすることをこのユーザが許可されている場合にのみ、実行される。
【００３１】
オブジェクトに対するアクセスの制御にはいくつかの課題がある。企業アプリケーションは一般的に多数／多種（１０００を超える範囲）のオブジェクトに対して機能する。このため、このような多数のオブジェクトに対するアクセスの制御は、アクセスを指定するという点においてもアクセスを実現するという点においても難しい。さらに、オブジェクトの中には、オブジェクトに対するアクセスが、オブジェクトの属性に対応付けられた値に基づいて許可／拒否されなければならないオブジェクトがある（たとえば「SAVINGS」という値に設定された属性「Type」および値が「INDIA」である属性「Country」を含むACCOUNT）。これは、オブジェクトの種類（たとえばACCOUNT）のみに基づいて許可／拒否されるのと対照的である。
【００３２】
本開示のいくつかの局面に従って設けられる管理者システム１５０は、以下で例を挙げて説明するように、固定された数の値を含む階層的に組織されたドメインに対して規定された属性を有するオブジェクトに対するアクセス制御を容易にする。
【００３３】
３．オブジェクトに対するアクセス制御
図２は、本開示のある局面に従う、オブジェクトに対するアクセスを制御する方法を示すフローチャートである。このフローチャートは、専ら説明のために、図１、具体的には管理者システム１５０に関して記載されている。しかしながら、本明細書の開示を読むことによって当業者には明白であるように、特徴のうちの多くは、本開示のいくつかの局面の範囲および精神から逸脱することなく、他の環境でも（場合によっては、他の種類のシステム／サーバを使用しても）実現可能である。
【００３４】
また、当業者には明白であるように、ステップのうちのいくつかは、特定の環境に合わせて、以下に示される順序と異なる順序で実行されてもよい。このような実装の多くは、本開示のいくつかの局面に包含されることが意図されている。フローチャートはステップ２０１から始まり、制御は直ちにステップ２１０に進む。
【００３５】
ステップ２１０において、管理者システム１５０は、階層的に組織されたドメインの複数の階層を示すデータを受信する。管理者は、さまざまな対象オブジェクトへのアクセスの制御のベースとなることが望ましいこれらの階層を選択してもよい。これに代えて、データは、エンドユーザシステム１１０Ａ〜１１０Ｚのうちの１つから（ユーザ要求として）受信されてもよい。
【００３６】
ステップ２３０において、管理者システム１５０は、各階層のドメインの固定された数の値を表示する。ドメインの値は、管理者システム１５０または要求を出したエンドユーザシステム（１１０Ａ〜１１０Ｚ）に関連する表示部に、何らかの都合の良いやり方で表示されればよい。これらの値を表示するためのいくつかのサンプルユーザインターフェイスについては以下のセクションで説明する。値の数が固定されているので、対応する情報は、いくつかの周知の手法のうちのいずれかを用いて特定することができる。たとえば、ドメインごとの固定された数の値は、管理者によって提供されるメタデータに示されていてもよい。
【００３７】
ステップ２５０において、管理者システム１５０は、（たとえばユーザ／管理者から受けた）各階層のドメインからの値の選択を受付ける。管理者は、対応する階層内の異なるレベルの１つ以上の値を選択してもよく、それに応じてこの選択は管理者システム１５０に受入れられる。より高いレベルの値を選択することは、階層内におけるそれよりも低いレベルのドメインすべてを含むことを意味し得る。一実施形態において、管理者は、より高いレベルの値を選択し、選択した値よりも低いレベルのサブドメイン（内の値）がこの選択に含まれるか否かを、派生フラグを用いて示すことができる。
【００３８】
ステップ２７０において、管理者システム１５０は（たとえば管理者から受けた入力に応じて）、ユーザエンティティと選択された一組の値との組合わせに対してセキュリティルールを指定する。ユーザエンティティは、対応する目的に適した、１ユーザであってもよいし、（役割、肩書等に基づいて定義される）ユーザのグループであってもよい。また、セキュリティルールは、目的に合うように選択されてもよい。セキュリティルールの例は、アクセスの許可または拒否、さまざまなアクションの許可等を含むが、このことは本明細書の開示を読むことによって当業者には明白になるであろう。
【００３９】
ユーザエンティティは、ステップ２５０および２７０で入力を提供したユーザ／管理者に対応し得ることがわかるであろう。さらに、このフローチャートは１つのセキュリティルールを規定するものとして示されているが、ステップ２１０〜２７０を繰返し実行することで、ユーザエンティティごとに所望のアクセス制御を実現する一組のセキュリティルールを規定し得ることがわかるはずである。
【００４０】
ステップ２９０において、指定されたセキュリティルールはその後、対応するユーザエンティティが、選択された一組の値に一致する属性を有するオブジェクトに対するアクセスを求めたときに、施行される。言い換えると、ユーザエンティティがアクションを実行するためにオブジェクトにアクセスすることを試みたときに、このオブジェクトに適用可能なセキュリティルール（ステップ２１０〜２７０に従って規定される）が、オブジェクトの属性とセキュリティルールにおいて指定されている対応する選択された一組の値とに基づいて、決定される。次に、適用可能なセキュリティルールが、指定されたオブジェクトに対するアクセス／アクションを完了することがユーザエンティティに対して許可されるべきか否かを調べるために、適用されてもよい。以下の説明における想定では、選択された一組の値に一致する属性を有するオブジェクトに対するアクセスをセキュリティルールが許可し、オブジェクトに対するアクセスは、対応するいずれかのセキュリティルールによって許可されていないアクセスである場合に限り、拒否される。
【００４１】
ある実施形態において、サーバシステム１４０Ａ内の企業アプリケーションは、エンドユーザシステム１１０Ａ／１１０Ｂからのさまざまな要求に応じてデータストア１８０Ａ／１８０Ｂを対象とするＳＱＬクエリを生成するように設計されてもよい。サーバシステム１４０Ａは、このようなＳＱＬクエリのＷＨＥＲＥ節に対して、ステップ２７０で指定されて選択された一組の値から形成された条件を追加する。したがって、サーバシステムにおけるアクセス制御は、データストア１８０Ａ／１８０Ｂにおいて実装されている何らかのデータベースタイプ技術を変更しなくても、実現される。上記フローチャートはステップ２９９で終了する。
【００４２】
このように、（オブジェクトの属性に割当てられた）さまざまな値の組とユーザエンティティとの組合わせに対してセキュリティルールを管理者が指定できるようにすることによって、多数／多種のオブジェクトに対するアクセスの制御は簡単になる。さらに、属性の値に基づいたアクセスも容易になる。管理者システム１５０が図２に従ってオブジェクトに対するアクセス制御を実施し得る方法を、以下で例を挙げて説明する。
【００４３】
４．説明のための例
図３Ａ〜図３Ｃおよび図４Ａ〜図４Ｃは、全体として、一実施形態における、固定された数の値を含む階層的に組織されたドメインに対して規定された属性を有するオブジェクトに対するアクセス制御を提供する方法を説明している。以下、各図面について詳細に説明する。
【００４４】
図３Ａは、一実施形態における、固定された数の値を含むドメインを階層的に組織する方法を示す。具体的には、ツリー３１０はドメインの階層を示し、そのルートはこの階層の名称「法的主体」である。なお、この名称は、すべてのドメイン（および対応する値）が同一の階層に属することを示すために、象徴的に（点線で）ルートとして示されている。
【００４５】
示されている「法的主体」階層は、「ＸＹＺ−銀行−株式会社」、「ＸＹＺ−投資」、および「ＸＹＺ−銀行−アジア−有限会社」という値を含む（レベル１の）第１のドメインを有する。示されている「ＸＹＺ−銀行−アジア−有限会社」という値はさらに、（第１のドメインとの比較でより低いレベルにある）「ＸＹＺ−銀行−シンガポール」および「ＸＹＺ−銀行−インド」を含む値のサブドメインとして限定されている。（ルート以外の）ツリー３１０のノードとして示されている値のうちのいずれの値もオブジェクトの属性に割当てられ得ることがわかるであろう。言い換えると、オブジェクトの属性は、「ＸＹＺ−銀行−株式会社」、「ＸＹＺ−投資」、「ＸＹＺ−銀行−アジア−有限会社」、「ＸＹＺ−銀行−シンガポール」、および「ＸＹＺ−銀行−インド」という値のうちのいずれか１つに設定し得る。
【００４６】
同様に、ツリー３２０は、象徴的なルートが階層名「地域」であるドメインの階層を示す。示されているツリー３２０は、「北米」および「その他」という値を含む（レベル１の）第１のドメインを有し、各値はさらに下位レベルのそれぞれのサブドメインによって限定されている。企業アプリケーションは、各々が固定された数の値を含む同様の階層的に組織された（より多くのレベルを有する）より多くのドメインを有し得ることがわかるであろう。
【００４７】
管理者システム１５０は、このようなドメインの階層（たとえば３１０、３２０等）を、管理者がこれらの階層を選択したことに応じて受信し得る。管理者システム１５０は次に、管理者システム１５０に関連する表示部にこれらのドメインの値を表示する。これに代えて、階層は、エンドユーザシステム１１０Ａ〜１１０Ｚのうちの１つからユーザ要求として受信されてもよい。この場合、管理者システム１５０は、要求を出したエンドユーザシステムに関連する表示部に表示する。
【００４８】
本開示の局面に従うと、管理者システム１５０により、管理者が、データストア１８０Ａ〜１８０Ｂに格納されているオブジェクトの属性に割当てられ得る有効な値の組を最初に指示し、次に、所望の有効な組とユーザエンティティとの組合わせに対してセキュリティルールを指定することが、容易になる。以下では、先ず、有効な値の組を指示できる方法を説明し、続いて、このような表示された値の組に基づいてセキュリティルールを指定できる方法について説明する。
【００４９】
５．有効な値の組の指示
図３Ｂは、一実施形態における、複数のドメイン／階層からの有効な値の組を指示する方法を示す。具体的には、対応する値を含む複数の階層を受信したことに応じて、管理者システム１５０はデータマップを表示する。このデータマップでは、（受信した）階層各々の値がデータマップの対応する次元に沿って表示される。言い換えると、データマップは（値の）タプルを表わし、各タプルは順序付けられた要素のシーケンスを含み、タプルが全体として、受信した階層すべての値のカルテシアン積を表わすように、各要素は、対応する階層の値のうちの１つに設定される。
【００５０】
周知のように、値のドメイン／組のカルテシアン積は、ドメインからの値のｎタプルの集合として定義され、各ｎタプルは各ドメイン／組の１つの値を含む。よって、２つのドメインＡおよびＢの場合、カルテシアン積は、すべての２タプルの集合として定義され、各２タプルはドメインＡからの値を含みかつドメインＢからの値も含む。タプルの数は、各ドメイン内の値の数を乗算したものに等しい（すなわち、ドメインＡがｍ個の値を含みドメインＢがｎ個の値を含む場合、ｍ×ｎ）。
【００５１】
一実施形態において、第１および第２の階層の値を受信したことに応じて、管理者システム１５０は、２次元マトリクスにおいて、第１の階層の値を行（第１の次元）として表示し、第２の階層の値を列（第２の次元）として表示する。図３Ａに示されるツリー３１０および３２０がセキュリティルールを指定するのに使用される階層として受信されたと想定して、以下説明を続ける。
【００５２】
テーブル３４０は、管理者システム１５０がツリー３１０および３２０を受信したことに応じて表示する２次元マトリクス／データマップを示す。ツリー３１０内のドメインの値はテーブル３４０の行（第１の次元）として示され、ツリー３２０内のドメインの値はテーブル３４０の列（第２の次元）として示されていることがわかるであろう。テーブル３４０内の各セルは値のタプルを表わし、このタプルの第１の値はツリー３１０からの値でありこのタプルの第２の値はツリー３２０からの値である。
【００５３】
管理者は、セキュリティルールのベースとなる有効な値のタプル／組の選択を実行する。たとえば、管理者は、テーブル３４０内に示される、（「ＸＹＺ−銀行−株式会社」，「米国」）、（「ＸＹＺ−銀行−株式会社」，「カナダ」）、（「ＸＹＺ−銀行−投資」，「英国」）、（「ＸＹＺ−銀行−シンガポール」，「シンガポール」）、および（「ＸＹＺ−銀行−インド」，「インド」）等のセルを選択し得る（対応するセル内のチェックマークで示されている）。選択された一組の値は、データストア１８０Ａ〜１８０Ｂに格納されているオブジェクトの（対応する）属性に割当てられ得る有効タプルを表わす。
【００５４】
このように、管理者は、特定の有効な値のタプル／組を指示する。先に示したのは２つの階層だけであるが、本開示の特徴は複数の（３つ以上の）階層にも及び得るものであり、この場合データマップは適切なやり方でｎ次元のマトリクスとして表示される（たとえば３次元の場合は複数のテーブル）ことがわかるであろう。このことは本明細書の開示を読むことによって当業者には明白になるであろう。なお、有効タプルは他の好都合なやり方で指示されてもよい。たとえば、有効ペアをコンフィギュレーションデータの一部として予め指定しておき、管理者システム１５０がこのようなコンフィギュレーションデータに基づいて(以下で説明する）テーブル３６０のインターフェイスを、テーブル３４０のインターフェイスは提供せずに、生成してもよい。
【００５５】
その後、管理者は、所望の／選択されたユーザエンティティに対してセキュリティルール（たとえば、選択された値を有するオブジェクトへのアクセスを許可する）を指定すればよい。管理者システム１５０によって、選択された階層内の値に基づいてセキュリティルールを管理者が指定できるようにする方法について、以下で例を挙げて説明する。
【００５６】
６．ユーザエンティティに対するセキュリティルールの指定
図３Ｃは、一実施形態における、複数のドメイン／階層に対してセキュリティルールを管理者が指定できるようにする方法を示す。具体的には、対応する値を含む複数の階層を受信したことに応じて、管理者システム１５０は、（値の）複数のタプルを、それぞれのラインとして、第１の次元（たとえば２次元マトリクスの行）に沿って表示し、一方で、複数のユーザエンティティは、第２の次元（たとえば２次元マトリクスの列）に沿って表示される。ユーザエンティティは企業アプリケーションにおいて規定されたユーザグループに対応すると想定して、以下説明を続ける。
【００５７】
テーブル３６０は、図３Ａに示されるツリー３１０および３２０の階層を受信しさまざまな対象ユーザグループを指示したことに応じて管理者システム１５０が表示する２次元マトリクスを示す。テーブル３４０において管理者によって指示された有効な値のタプル／組のみがテーブル３６０の行として示され、一方、（管理者によって指示された）対象ユーザグループはテーブル３６０の列として示されていることがわかるであろう。しかしながら、これに代わる実施形態では、カルテシアン積のすべてのタプル（すなわち有効でないタプルを含む）が第１の次元に沿って表示されることで管理者が値のタプルとユーザエンティティとの所望の組合わせを指定できるようにしてもよい。
【００５８】
このように、テーブル内の各セルは値の組合わせを表わし、この組合わせにおける第１の値はツリー３１０からの値であり、この組合わせにおける第２の値はツリー３２０からの値であり、この組合わせにおける第３の値はユーザグループ（ＵＧ１、ＵＧ２等）からの値である。各セルは、行に対応するカルテシアン積の２タプルから、列に対応するユーザグループに対するマッピングとみなすこともできる。
【００５９】
管理者は、（テーブル３６０内のセルである）値の組合わせを指示することによってユーザエンティティ（ここではユーザグループ）の値の選択を実行した後に、（行の）選択された値と（列に沿う）ユーザエンティティとの組合わせに対してセキュリティルールを指定してもよい。たとえば、管理者は、テーブル３６０に示されるように所望のセル／タプルを（対応するセル内のチェックマークで示されるように）選択してもよい。セル３６５の選択が示しているのは、２タプル（「ＸＹＺ−銀行−株式会社」，「カナダ」）に一致する属性を有するオブジェクトはユーザグループＵＧ３に属するユーザへのアクセスが許可されるということである。
【００６０】
テーブル３６０において管理者によって指定されたセキュリティルールは、不揮発性ストレージ（データストア１８０Ａ〜１８０Ｂ等）に格納され、その後、サーバシステム１４０Ａ〜１４０Ｃがエンドユーザシステム１１０Ａ〜１１０Ｚから受けたユーザ要求を処理したときに、施行されてもよい。たとえば、（サーバシステム内で実行される）企業アプリケーションは、ユーザ要求をエンドユーザシステムから受けたことに応じて、このユーザ要求が第１のユーザエンティティ（たとえばＵＧ１）から受けたものでありこのユーザ要求を処理するには第１のオブジェクトにアクセスする必要があることを、確認してもよい。
【００６１】
企業アプリケーション（または承認アプリケーション等の一般的なアプリケーション）は次に、（セキュリティルールにおいて指定されている階層に対する、第１のオブジェクトの属性が規定された階層の照合に基づいて）第１のオブジェクトに対して適用できる一組のセキュリティルールを決定してもよい。たとえば、テーブル３６０内のユーザエンティティＵＧ１に対して指定されたセキュリティルールは、第１のオブジェクトが、「法的主体」および「地域」という階層に対してそれぞれ規定された（したがってこれらの階層からの値が割当てられた）２つの属性を有する場合に、一組の適用可能なセキュリティルールに含まれ得る。
【００６２】
次に、企業アプリケーションは、第１のオブジェクトの（上記）２つの属性が、ユーザエンティティＵＧ１に対してテーブル３６０で指示されている値のペア（セル）のうちのいずれかに一致する（格納された）値を有する場合、第１のオブジェクトへのアクセス（およびユーザ要求の処理）が許可されてもよい。言い換えると、２つの属性が、（「ＸＹＺ−銀行−株式会社」，「米国」）および（「ＸＹＺ−銀行−シンガポール」，「シンガポール」）というペアのうちのいずれかを有する場合、アクセスは許可される。セキュリティルールは、選択された値の組に一致する属性を有するオブジェクトに対するアクセスを許可し、オブジェクトに対するアクセスは、対応するいずれかのセキュリティルールによってアクセスが許可されていない場合に限り拒否されると想定されている。
【００６３】
このように、管理者は、複数のユーザエンティティに対してセキュリティルールを指定することができる。セキュリティルールの指定を容易にするために提供し得るいくつかのサンプルユーザインターフェイスについて、以下で例を挙げて説明する。
【００６４】
７．サンプルユーザインターフェイス
図４Ａ〜図４Ｃは、一実施形態における、セキュリティルールの指定を容易にするために提供し得るサンプルユーザインターフェイスを示す。各図面の表示エリア４００は、管理者システム１５０に関連する表示部（図１には示されていない）上に設けられたユーザインターフェイスの一部を示す。一実施形態において、各表示エリアは、管理者システム１５０によって提供されるそれぞれのウェブページを表示するブラウザに対応する。ウェブページは、企業の管理者が管理者システム１５０のブラウザを用いて適切な要求を送信したことに応じて提供される。
【００６５】
図３Ｂおよび図３Ｃのマトリクス／テーブル３４０および３６０も同様にユーザインターフェイスの一部として提供し得ることがわかるであろう。たとえば、テーブル３４０／３６０は、図４Ｂ〜図４Ｃのユーザインターフェイスに示される他の情報とともに提供されてもよい。このことは本明細書の開示を読むことによって当業者には明白になるであろう。図４Ａ〜図４Ｃ各々について以下で詳細に説明する。
【００６６】
図４Ａは、一実施形態における、管理者が所望のドメインの階層を選択できるようにするユーザインターフェイスを示す。表示エリア４１０によって、管理者は、セキュリティルールの名称、説明およびその他の詳細事項を指定することができる。示されている選択されたマップタイプは「セキュリティフィルタ」であり、管理者がセキュリティルールを指定するために階層を選択していることを示していることがわかるであろう。
【００６７】
これに応じて、表示エリア４１５は、企業アプリケーションで規定されている（選択の対象となり得る）階層／ドメインの名称を表示し、一方、表示エリア４２０は、管理者によって（表示エリア４１５に示されるリストから）選択された階層／ドメインの名称を表示する。管理者が「リスク階層」を選択し「ユーザグループ」階層も選択したことを表示エリア４２０が示していることがわかるであろう。管理者が「保存」ボタン４２５をクリック／選択したことに応じて、管理者システム１５０は、表示エリア４２０内の階層が管理者から受けた階層であることを確認し、したがって、（表示エリア４２０）の管理者が選択した階層におけるドメインの値を表示する。値を表示できる方法については以下で例を挙げて説明する。
【００６８】
図４Ｂおよび図４Ｃは各々、一実施形態における、選択された階層に基づいて管理者がセキュリティルールを指定できるようにするユーザインターフェイスを示している。図４Ｂを参照して、表示エリア４３０は、管理者が図４Ａの表示エリア４２０の階層を選択したことに応じて表示される。表示エリア４６０および４６５の各々は、選択された階層のうちの一方の値を表示する、対応するパネルを示す。示されている表示エリア４６０は「リスク階層」からの値を表示しているのに対し、示されている表示エリア４６５は「ユーザグループ」からの値を示している。一般的に、表示エリア４３０は、管理者によって選択された階層の数（すなわち表示エリア４２０内の項目の数）に等しい数のパネルを含む。
【００６９】
選択された階層内のドメインの値は、表示エリア４６０および４６５内で、対応するツリー構造の形態で示されていることがわかるであろう。ツリー構造内の各ノードは、表示されている階層のさまざまなドメインから所望の値を管理者が選択し易いようにするチェックボックスに対応付けて示されている。管理者は、（対応するチェックボックスをクリック／選択することにより）表示エリア４３０内の（階層からの）値とユーザグループとの所望の組合わせを選択し、「進む」ボタン４３５をクリック／選択することにより、この組合わせを、表示エリア４４０においてセキュリティルールとして追加（および表示）してもよい。
【００７０】
なお、管理者は、上記のように値を選択しボタン４３５を選択するというアクションを繰返し実行することにより、複数のセキュリティルールを追加してもよい。一実施形態において、管理者は、表示エリア４３０に示される（４６０および４６５等の）階層から特定の値を選択し、「進む」ボタンのクリックに応じて、管理者システム１５０は、選択された値からタプルを生成する。管理者は一般的に、オブジェクトの属性に割当てることが可能な値（の組合わせ）を選択するので、有効なタプルのみが表示エリア４４０に示されていることがわかるであろう。
【００７１】
表示エリア４４０により、管理者は、選択された階層／ドメイン内の値に基づいて簡単にセキュリティルールを指定する。示されている表示エリア４４０は、それぞれ階層４６０および４６５から選択された値とユーザエンティティとのカルテシアン積を表示している。表示エリア４４０の各ラインは、管理者が指定し得る可能なセキュリティルールを表わしていることが、わかるであろう。
【００７２】
表示エリア４４０内の各ライン／セキュリティルールは、「リスク階層」というドメインから選択された値（たとえば「クレジットリスク」）と、このセキュリティルールはこのドメイン値のみに適用できる（オプション「Self」）のかまたはその値の下にあるすべての下位レベルのドメインに適用できる（オプション「Self & Desc」）のかを示す第１のマクロと、このルールを適用できるユーザグループ／エンティティ（たとえば「承認者」）と、このルールはこのグループのみに適用できる（オプション「Self」）のかまたはそのグループのすべての子孫（descendant）に適用できる（オプション「Self & Desc」）のかを示す第２のマクロとを示す。また、各ラインは、「除外」列において、ユーザグループがアクセスを許可される（オプション「No」)のかまたは拒否される（オプション「Yes」）のかを示す。
【００７３】
ドメイン値に対応付けられた（第１の）マクロは、値の選択が、ドメイン値よりも下にあるサブドメインを含むか否かを示す派生フラグとして機能することがわかるであろう。たとえば、「クレジットリスク」という値に対して指定されたオプション「Self」は、セキュリティルールは、その値にしか適用できないことを示す（すなわち選択は「クレジットリスク」という値のみを含む）のに対し、「マーケットリスク」という値に対して指定されたオプション「Self & Desc」は、セキュリティルールは、その値とその値の下にあるサブドメイン内のすべての値にも適用できることを示す（すなわち、選択は「マーケットリスク」という値と「マーケットリスク」の下にあるサブドメイン内のすべての値とを含む）。
【００７４】
さらに、セキュリティルールのほとんどは、選択された一組の値に属性が一致するとアクセスが許可される（「除外」列のオプション「No」）ことを示すことがわかるであろう。したがって、管理者システム１５０は、選択された一組の値に一致する属性を有するオブジェクトに対するアクセスを許可し、オブジェクトに対するアクセスを、対応するいずれかのセキュリティルールによって許可されていないアクセスであれば、拒否する。これに代わるものとして、管理者システム１５０は、セキュリティルールが対応する値とともに指定され「除外」列のオプション「Yes」が選択された場合に、オブジェクトに対するアクセスを拒否する。
【００７５】
次に、管理者は、（対応するチェックボックスを選択することにより）所望のセキュリティルールを選択してもよく、「保存」ボタン４４５をクリック／選択することによって、選択したルールが不揮発性ストレージ（データストア１８０Ａ〜１８０Ｂ等）に格納されるようにする。その後、このセキュリティルールは、上記のように、エンドユーザシステム１１０Ａ〜１１０Ｚから受けたユーザ要求をサーバシステム１４０Ａ〜１４０Ｃが処理するときに、取出されて施行されてもよい。
【００７６】
図４Ｃは、図４Ｂと同様のユーザインターフェイスを示すが、図４Ｃのインターフェイスの場合、管理者は、最初にユーザグループを選択しその次に異なるドメインからの値の所望の組合わせを選択することができる。よって、表示エリア４７０は表示エリア４３０と同様であるが、表示エリア４７０では、最初に、ユーザグループのパネル／階層が示され、次に、選択された「リスク階層」のパネル／階層が示される。この場合も、管理者は、ユーザグループ階層からの所望のユーザエンティティと、これに対応する他の階層からの値の選択との組合わせを選択し、（「進む」ボタンをクリックすることによって）この組合わせを対応するセキュリティルールとして追加してもよい。表示エリア４８０は、表示エリア４４０と同様であり、選択された階層／ドメイン内の値に基づいて可能なセキュリティルールのリストを表示する。しかしながら、表示エリア４８０内の各ライン／セキュリティルールは、指定されたユーザグループが最初に示され、それに続いて「資産タイプ」（選択された値）が表示される。
【００７７】
表示エリア４８０内の第２および第３のライン／セキュリティルールが示しているのは、ユーザエンティティ「管理者」が、「クレジットリスク」という値またはサブドメイン内の値のうちのいずれかに一致する属性を有するオブジェクトにアクセスすることを、許可される（「除外」列のオプション「No」）が、（「クレジットリスク」という値の下にあるサブドメイン内の）「ＣＶＡ−標準化法」という値に一致する属性を有するオブジェクトにアクセスすることを、拒否される（オプション「Yes」）ことであることが、わかるであろう。言い換えると、第２および第３のセキュリティルールは、「クレジットリスク」か、または、「クレジットリスク」の下にあるサブドメイン内の「ＣＶＡ−標準化法」という値以外の他のいずれかの値に一致する属性を有するオブジェクトへのアクセスのみを許可するように、機能する。
【００７８】
このように、管理者は、固定された数の値を含む階層的に組織されたドメインに対して規定された属性を有するオブジェクトに対するアクセスを簡単に制御する。具体的には、（オブジェクトの属性に割当てられる）さまざまな値の組とユーザエンティティとの組合わせに対してセキュリティルールを指定することにより、多数／多種のオブジェクトへのアクセスを制御するというタスクは簡単になる。
【００７９】
上記特徴は、ハードウェア、実行可能なモジュール、およびファームウェアのうちの１つ以上の所望の組合わせとしてさまざまな実施形態において実現可能であることが、認識されるはずである。実行可能なモジュールにおける命令が実行されたときにさまざまな特徴が機能する実施形態に関して、以下で説明を続ける。
【００８０】
８．デジタル処理システム
図５は、適切なソフトウェア命令の実行によって本開示のいくつかの局面が機能するデジタル処理システム５００の詳細を示すブロック図である。デジタル処理システム５００は、管理者システム１５０に、または、上記さまざまな特徴の提供元になることができるその他のシステム（たとえばエンドユーザシステム１１０Ａ〜１１０Ｚ）に対応する。
【００８１】
デジタル処理システム５００は、（中央処理装置（central processing unit：ＣＰＵ）５１０等の）１つ以上のプロセッサと、ランダムアクセスメモリ（random access memory：ＲＡＭ）５２０と、二次メモリ５３０と、グラフィックスコントローラ５６０と、表示部５７０と、ネットワークインターフェイス５８０と、入力インターフェイス５９０とを含み得る。表示部５７０以外の構成要素はすべて、通信経路５５０を介して互いに通信することができ、この通信経路５５０は、関連技術で周知であるようにいくつかのバスを含み得る。図５の構成要素について以下でさらに詳細に説明する。
【００８２】
ＣＰＵ５１０は、本開示のいくつかの特徴を提供するように、ＲＡＭ５２０に格納された命令を実行し得る。ＣＰＵ５１０は、複数の処理ユニットを含んでいてもよく、各処理ユニットは、場合によっては、特定のタスク向けに設計される。これに代えて、ＣＰＵ５１０は、単一の汎用処理ユニットのみを含んでいてもよい。ＲＡＭ５２０は、通信経路５５０を使用して二次メモリ５３０から命令を受信し得る。
【００８３】
ＲＡＭ５２０は、共有環境５２５および／または（企業アプリケーション、承認アプリケーション等の）ユーザプログラム５２６を構成するソフトウェア命令を現在のところ含むものとして示されている。共有環境５２５は、ユーザプログラムによって共有されるユーティリティを含み、このような共有ユーティリティは、ユーザプログラム５２６を実行するための（共通の）ランタイム環境を提供する、オペレーティングシステム、デバイスドライバ、仮想マシン、フローエンジン等を含む。
【００８４】
グラフィックスコントローラ５６０は、ＣＰＵ５１０から受信されたデータ／命令に基づいて、表示部５７０に対する（たとえば、ＲＧＢフォーマットの）表示信号を生成する。表示部５７０は、表示信号によって定義される画像を表示するための表示画面（図３Ｂ〜図３Ｃおよび図４Ａ〜図４Ｃのユーザインターフェイスの部分等）を含む。入力インターフェイス５９０は、（図３Ｂ〜図３Ｃおよび図４Ａ〜図４Ｃのユーザインターフェイスにおいて所望の入力等を指定する等）さまざまな入力を提供するために使用可能なキーボードおよびポインティング装置（たとえば、タッチパッド、マウス）に対応し得る。ネットワークインターフェイス５８０は、（たとえば、インターネットプロトコルを使用して）ネットワークとの接続を提供し、（サーバシステム１４０Ａ〜１４０Ｃ、データストア１８０Ａ〜１８０Ｂ等の）他の接続されたシステムとの通信に使用可能である。
【００８５】
二次メモリ５３０は、ハードドライブ５３５と、フラッシュメモリ５３６と、リムーバブルストレージドライブ５３７とを含み得る。二次メモリ５３０は、非一時的な媒体を表わし、デジタル処理システム５００が本開示に従ったいくつかの特徴を提供することができるようにデータ（たとえば、図３Ａ〜図３Ｂに示されるデータの部分）および（たとえば、図２のステップを実行するための）ソフトウェア命令を格納し得る。二次メモリ５３０に格納されるコード／命令は、実行速度の高速化のために、ＣＰＵ５１０による実行に先立ってＲＡＭ５２０にコピーされてもよく、またはＣＰＵ５１０によって直接実行されてもよい。
【００８６】
二次メモリ５３０は、ハードドライブ５３５と、フラッシュメモリ５３６と、リムーバブルストレージドライブ５３７とを含み得る。データおよび命令の一部またはすべては、リムーバブルストレージユニット５４０に提供されてもよく、データおよび命令は、リムーバブルストレージドライブ５３７によって読出されてＣＰＵ５１０に提供されてもよい。リムーバブルストレージユニット５４０は、リムーバブルストレージドライブ５３７がデータおよび命令を読出すことができるように、リムーバブルストレージドライブ５３７に適合した媒体およびストレージフォーマットを使用して実現されてもよい。したがって、リムーバブルストレージユニット５４０は、コンピュータソフトウェアおよび／またはデータが格納されたコンピュータ読取可能な（記憶）媒体を含む。しかしながら、コンピュータ（または、一般に機械）読取可能な媒体は、他の形態（たとえば、非リムーバブル、ランダムアクセス等）であってもよい。
【００８７】
本文献では、「コンピュータプログラムプロダクト」という用語は、概してリムーバブルストレージユニット５４０またはハードドライブ５３５にインストールされたハードディスクを指すものとして用いられる。これらのコンピュータプログラムプロダクトは、デジタル処理システム５００にソフトウェアを提供するための手段である。ＣＰＵ５１０は、ソフトウェア命令を検索し、命令を実行して、上記の本開示のさまざまな特徴を提供してもよい。
【００８８】
本明細書で用いられる「記憶媒体」という語は、特定の態様でマシンを動作させるデータおよび／または命令を格納する任意の非一時的な媒体を指す。このような記憶媒体は、不揮発性媒体および／または揮発性媒体を含み得る。不揮発性媒体は、たとえば、ストレージメモリ５３０等の、光ディスク、磁気ディスク、またはソリッドステートドライブを含む。揮発性媒体は、ＲＡＭ５２０等のダイナミックメモリを含む。記憶媒体の共通の形態は、たとえば、フロッピー（登録商標）ディスク、フレキシブルディスク、ハードディスク、ソリッドステートドライブ、磁気テープまたはその他の磁気データ記憶媒体、ＣＤ−ＲＯＭ、その他の光学式データ記憶媒体、穴のパターンを有する任意の物理的媒体、ＲＡＭ、ＰＲＯＭおよびＥＰＲＯＭ、フラッシュＥＰＲＯＭ、ＮＶＲＡＭ、その他のメモリチップまたはカートリッジを含む。
【００８９】
記憶媒体は、伝送媒体とは別のものであるが、伝送媒体と併用されてもよい。伝送媒体は、記憶媒体間で情報を転送することに関与する。たとえば、伝送媒体は、バス５５０を備えるワイヤを含む、同軸ケーブル、銅線および光ファイバを含む。また、伝送媒体は、電波および赤外線データ通信中に生成されるような音波または光波の形態をとってもよい。
【００９０】
本発明のある実施形態に従い、上記特徴、機能、またはステップのうちのいずれかまたはすべてを実現し得るコンピューティングシステムが提供される。このコンピューティングシステムは、上記デジタル処理システム５００に対応し得る。
【００９１】
このコンピューティングシステムは入力インターフェイスを含み得る。このインターフェイスを通して、階層的に組織されたドメインの複数の階層を示すデータが、ユーザエンティティ、たとえばエンドユーザシステムから受信される。また、コンピューティングシステムは、たとえばグラフィックコントローラの制御のもとで、上記複数の階層のうちの各階層内の対応するドメインの値を表示するように構成された表示部を含み得る。コンピューティングシステムはまた、上記入力インターフェイスを介して、対応するドメインの表示された値から第１の組の値を選択するための入力と、上記第１の組の値とユーザエンティティとの組合わせに対してセキュリティルールを指定するための入力とを受信し得る。コンピューティングシステムはまた、上記第１の組の値に一致する属性を有するオブジェクトが上記ユーザエンティティによってアクセスされたときに上記セキュリティルールを施行するように構成された１つ以上のプロセッサを含み得る。
【００９２】
表示部は、複数のタプルをそれぞれのラインに沿って表示してもよく、各タプルは順序付けられた要素のシーケンスを含む。上記複数のタプルが全体として上記複数の階層すべての値のカルテシアン積を表わすように、各要素は、上記複数の階層のうちの対応する階層の値のうちの１つに設定される。第１の組の値を選択するための入力は、上記複数のタプルに含まれている一組の対象タプルに対応する第１の組のラインを指示してもよい。上記１つ以上のプロセッサはさらに、上記一組の対象タプルのうちのいずれかのタプルに一致する属性を有するオブジェクトに対してセキュリティルールを施行するように構成されてもよい。
【００９３】
表示部はさらに、上記ラインを第１の次元に沿って表示し上記ユーザエンティティを含む複数のユーザエンティティを第２の次元に沿って表示するように構成されてもよい。第１の組の値を選択するための入力は、上記複数のユーザエンティティのうちの各エンティティについて、対応する一組の対象ラインを示してもよく、上記第１の組のラインは上記ユーザエンティティに対して示される。上記１つ以上のプロセッサはさらに、上記選択された一組の対象ラインに対応するタプルのうちのいずれかに一致する属性を有するオブジェクトが対応するユーザエンティティによってアクセスされたときに、上記セキュリティルールを施行するように、構成されてもよい。
【００９４】
上記表示部はさらに、上記複数のタプルを表わすデータマップを表示するように構成されてもよく、上記複数の階層のうちの各階層の値は、上記データマップの対応する次元に沿って表示される。コンピューティングシステムはまた、上記ユーザから、入力インターフェイスを介して、上記複数のタプルに含まれる一組の有効タプルを受信してもよく、各有効タプルは、オブジェクトの属性に割当てられ得る、対応する一組の値を表わす。表示部はさらに、上記一組の有効タプルのみを上記ラインとして上記第１の次元に沿って表示するように構成されてもよい。
【００９５】
好ましくは、上記複数の階層は第１の階層と第２の階層とを含み、上記第１の階層は複数の値をノードとして有し、上記第２の階層は複数のエンティティをノードとして有する。上記第１の組の値は、上記ユーザによって上記複数の値から選択され、上記ユーザはまた、上記複数のユーザエンティティのうちの一組のユーザエンティティを選択する。表示部はさらに、上記第１の組の値と上記一組のユーザエンティティの選択に応じて、複数のタプルをそれぞれのラインに沿って表示するように構成されてもよく、各タプルは順序付けられた要素のシーケンスを含む。上記複数のタプルが全体として上記第１の組の値および上記一組のユーザエンティティのカルテシアン積を表わすように、上記順序付けられたシーケンス内の第１の位置および第２の位置の要素はそれぞれ、上記一組のユーザエンティティのうちの１つ、および、上記第１の組の値のうちの１つに設定される。コンピューティングシステムは、ユーザ入力に従って上記複数のタプルのうちの第１の組のタプルに対応するラインを選択することによって、上記セキュリティルールを指定してもよく、上記第１の組のタプルのうちの各タプルは、上記第１の位置にあるユーザエンティティと、上記第２の位置にある上記第１の組の値のうちの１つとを有する。
【００９６】
第１の組の値を選択するための入力は、上記第１の階層内の第１のドメインの第１の値と、派生フラグとを含み得る。上記第１のドメインは上記第１の階層内においてより高いレベルにあり、上記第１の値は、上記第１の階層内において上記より高いレベルよりも低いレベルにあるサブドメインに対応付けられている。上記派生フラグは、上記第１の値よりも下にあるサブドメインが上記選択に含まれるか否かを示す。第１の組の値を選択するための入力はまた、上記派生フラグが、サブドメインが上記選択に含まれる予定であることを示す場合、上記第１のドメインの値と、上記第１の組の値のうちの上記第１の値よりも下にあるサブドメインの値とを含み得るが、そうでない場合は、上記第１のドメインの値のみを含み得る。
【００９７】
好ましくは、上記セキュリティルールは、上記第１の組の値に一致する属性を有する対応するオブジェクトに対するアクセスを許可し、オブジェクトに対するアクセスは、対応するいずれかのセキュリティルールによってアクセスが許可されていなければ拒否される。上記オブジェクトはリレーショナルデータベースサーバに格納されていてもよく、上記オブジェクトへのアクセスはＳＱＬ（構造化照会言語）クエリを用いて実施されてもよく、上記ユーザエンティティによる第１のオブジェクトへのアクセスは、第１のＳＱＬクエリを用いて行なわれる。上記１つ以上のプロセッサはさらに、上記第１のＳＱＬクエリのＷＨＥＲＥ節に条件を追加するように構成され、上記条件は、上記オブジェクトの属性が上記第１の組の値に一致するか否かを検査するように設計されている。
【００９８】
コンピューティングシステムに含まれる上記構成要素は、図５に関して説明したものと同一であっても異なっていてもよいことは、当業者によって理解される。コンピューティングシステムに含まれる構成要素は、組合わされてまたは分割されてサブブロックを構成することにより、上記発明の先の実施形態を実現してもよい。したがって、本明細書の記載は、本明細書に記載のこれらの構成要素に可能ないかなる組合わせまたは分割またはその他の定義もサポートし得る。
【００９９】
本明細書全体を通して「一実施形態」、「ある実施形態」または同様の表現を用いるときは、当該実施形態に関連して記載される特定の特徴、構造または特性が本開示の少なくとも１つの実施形態に含まれることを意味する。したがって、本明細書全体を通して「一実施形態において」、「ある実施形態において」というフレーズおよび同様の表現は、すべて同一の実施形態を指すかもしれないが、必ずしも同一の実施形態を指すとは限らない。
【０１００】
さらに、本開示の記載されている特徴、構造または特性は、１つ以上の実施形態において任意の好適な態様で組合わせられてもよい。上記の説明では、本開示の実施形態の完璧な理解を提供するために、プログラミング、ソフトウェアモジュール、ユーザ選択、ネットワークトランザクション、データベースクエリ、データベース構造、ハードウェアモジュール、ハードウェア回路、ハードウェアチップ等の例等の、多数の具体的な詳細が提供されている。
【０１０１】
９．結論
本開示のさまざまな実施形態について上記してきたが、それらは限定的ではなく単に一例として提示されているということが理解されるべきである。したがって、本開示の広さおよび範囲は、上記の代表的な実施形態のうちのいずれかによって限定されるべきではなく、以下の特許請求の範囲およびそれらの等価物に従ってのみ規定されるべきである。
【０１０２】
本開示の機能および利点を強調する添付物に示される図面および／またはスクリーンショットは、単に例示的な目的で提示されているということが理解されるべきである。本開示は、十分に柔軟性があり、構成可能であるので、添付の図面に示されている態様以外の態様で利用できる。
【０１０３】
さらに、以下の要約書の目的は、特許庁および公衆、一般におよび特に、特許または法律用語または語法に精通していない当該技術分野における科学者、技術者および専門家が、本願の技術的開示の性質および本質を大まかな検証により素早く判断できるようにすることである。要約書は、本開示の範囲について限定的であるよう意図されたものでは決してない。
【図１】
0006578356.tif 000002
【図２】
0006578356.tif 000003
【図３Ａ】
0006578356.tif 000004
【図３Ｂ】
0006578356.tif 000005
【図３Ｃ】
0006578356.tif 000006
【図４Ａ】
0006578356.tif 000007
【図４Ｂ】
0006578356.tif 000008
【図４Ｃ】
0006578356.tif 000009
【図５】
0006578356.tif 000010