(58)【調査した分野】(Int.Cl.,DB名)
階層的に組織されたドメインに対して規定された属性を有するオブジェクトに対するアクセスを制御する方法であって、各ドメインは、対応する固定された数の値を含み、前記方法は、
前記階層的に組織されたドメインの複数の階層を示すデータを受信するステップを含み、前記複数の階層は第1の階層と第2の階層とを含み、
前記複数の階層のうちの各階層内の対応するドメインの値を表示するステップと、
ユーザエンティティと、前記表示された対応するドメインの値からの第1の組の値の選択とを示すデータを受付けるステップとを含み、前記第1の組の値は、前記第1の階層からの第1の値と前記第2の階層からの第2の値とを含み、
前記ユーザエンティティと前記第1の値および前記第2の値を含む前記第1の組の値との組合わせに対してセキュリティルールを指定するステップを含み、
前記セキュリティルールは、前記第1の組の値に一致する属性を有するオブジェクトが前記ユーザエンティティによってアクセスされたときに施行され、前記属性は、前記第1の値に一致する前記オブジェクトの第1の属性と、前記第2の値に一致する前記オブジェクトの第2の属性とを含む、方法。
前記選択は、前記第1の階層内の第1のドメインの第1の値と、派生フラグとを含み、前記第1のドメインは前記第1の階層内においてより高いレベルにあり、前記第1の値は前記第1の階層内において前記より高いレベルよりも低いレベルにあるサブドメインに対応付けられており、
前記派生フラグは、前記第1の値よりも下にある前記サブドメインを前記選択に含めるか否かを示し、
前記選択は、前記派生フラグが、前記選択にサブドメインが含まれる予定であることを示す場合は、前記第1のドメインの値と、前記第1の組の値のうちの前記第1の値よりも下にある前記サブドメインの値とを含み、そうでない場合は、前記第1のドメインの値のみを含む、請求項5に記載の方法。
前記セキュリティルールは、前記第1の組の値に一致する属性を有する対応するオブジェクトに対するアクセスを許可し、オブジェクトに対するアクセスは、対応するいずれかのセキュリティルールによって許可されていないアクセスであれば、拒否される、請求項6に記載の方法。
前記オブジェクトはリレーショナルデータベースサーバに格納され、前記オブジェクトへのアクセスはSQL(構造化照会言語)クエリを用いて行なわれ、前記ユーザエンティティによる第1のオブジェクトへのアクセスは、第1のSQLクエリを用いて行なわれ、
前記施行は、前記第1のSQLクエリのWHERE節に条件を追加するステップを含み、前記条件は、前記オブジェクトの属性が前記第1の組の値に一致するか否かを検査するように設計されている、請求項1〜7のいずれか一項に記載の方法。
【発明を実施するための形態】
【0011】
図中、同様の参照番号は、一般に、同一の要素、機能的に類似した要素、および/または構造的に類似した要素を示す。要素が最初に登場する図面は、対応する参照番号における最上位桁によって示される。
【0012】
代表的な実施形態の説明
1.概要
本開示のある局面は、階層的に組織されたドメインに対して規定された属性を有するオブジェクトに対するアクセスの制御を容易にする。各ドメインは、対応する固定された数の値を含む。一実施形態において、階層的に組織されたドメインの特定の階層を示すデータを受けたことに応じて、各階層内の対応するドメインの対応する固定された数の値が表示される。対応するドメインの対応する固定された数の値から、所望の一組の値が(管理者によって)選択されると、選択された一組の値とユーザエンティティとの組合わせに対してセキュリティルールが指定される。
【0013】
その後、上記選択された一組の値に一致する属性を有するオブジェクトが上記ユーザエンティティによってアクセスされたときに、このセキュリティルールは施行される。一実施形態において、セキュリティルールは、選択された一組の値に一致する属性を有するオブジェクトに対するアクセスを許可する。よって、オブジェクトに対するアクセスは、対応するいずれかのセキュリティルールによって許可されていないアクセスであれば、拒否される。
【0014】
このように、管理者は、便宜的に、階層のいずれかのレベルの値を選択し、この階層に対して規定された属性を有するオブジェクトが特定のユーザエンティティによってアクセスされたときに、所望のセキュリティルールを適用させることができる。このような技術的解決策は特に、複雑な技術的記憶保持環境に適している。複雑な技術的記憶保持環境とは、場合によっては複数のレベルの多数のドメインが、オブジェクトの属性に対する値を指定するベースとして使用され、管理者が、さまざまなユーザエンティティに対するアクセス制御を指定する際により高精度の制御を望む環境である。
【0015】
本開示の別の局面に従うと、(階層内のノードとしての)対応する値を含む複数の階層を受けたことに応じて、(値の)複数のタプルがそれぞれのラインに沿って表示される。各タプルは順序付けられた要素のシーケンスを含み、上記複数のタプルが全体として、受けた階層すべての値のカルテシアン積を表わすように、各要素は、対応する階層の値のうちの1つに設定される。ユーザエンティティに対する値の選択は、一組の対象タプルに対応するラインを指示することによって行なわれる。したがって、この選択との組合わせで指定されるセキュリティルールは、選択された対象タプルのうちのいずれかに一致する属性を有するオブジェクトがユーザエンティティによってアクセスされたときに、施行される。
【0016】
本開示のさらに別の局面に従うと、(タプルに対応する)ラインは、第1の次元に沿って表示され、上記ユーザエンティティを含む一組のユーザエンティティは、第2の次元に沿って表示される。したがって、管理者は、ユーザエンティティごとに、対応する一組の対象ライン/タプルを選択することができる。この選択との組合わせで指定されるセキュリティルールは、選択された対象タプル/ラインのうちのいずれかに一致する属性を有するオブジェクトが、対応するユーザエンティティによってアクセスされたときに、施行される。
【0017】
本開示の他の局面に従うと、(上記)カルテシアン積の中のタプルを表わすデータマップが表示される。(受けた)複数の階層各々の値が、データマップの対応する次元に沿って表示される。したがって、管理者は、(表示されたタプルの中から)一組の有効タプルを指示することができ、各有効タプルは、オブジェクトの属性に割当てられ得る対応する一組の値を表わす。管理者が有効タプルを指示したことに応じて、指示された有効タプルのみが、ラインとして(上記)第1の次元に沿って表示される。
【0018】
本開示のある局面に従うと、管理者が、ノードとしての値を有する第1の階層から(上記)第1の一組の値を選択した後にノードとしてのユーザエンティティを有する第2の階層から一組のユーザエンティティを選択したことに応じて、これらの選択された値およびユーザエンティティから形成された複数のタプルが、それぞれのラインに沿って表示される。各タプルは、第1の位置にある要素および第2の位置にある要素を有する。タプルが全体として、選択された一組の値および選択された一組のユーザエンティティのカルテシアン積を表わすように、第1の位置の要素および第2の位置の要素はそれぞれ、選択された一組のユーザエンティティのうちの1つおよび選択された一組の値に、設定される。したがって、管理者は、(上記)セキュリティルールを、第1の位置の所望のユーザエンティティと第2の位置の所望の値とを有するライン/タプルを選択することによって指定する。
【0019】
本開示のさらに別の局面に従うと、(階層からの)値の選択は、(その階層内においてより高いレベルにある)ドメインの値と、派生フラグとを含み、派生フラグは、上記ドメインの値よりも下にある(上記階層内において上記より高いレベルよりも低いレベルにある)サブドメインを、上記選択が含むか否かを示す。サブドメインが含まれる予定であることを派生フラグが示す場合、(セキュリティルールを施行する対象であるオブジェクトの決定に使用される)選択された一組の値は、第1のドメインの値と、この階層内における上記値よりも下にあるサブドメインの値とを含むが、そうでない場合は、ドメインの値のみを含む。
【0020】
本開示の別の局面に従うと、オブジェクトはリレーショナルデータベースサーバに格納され、これらのオブジェクトへのアクセスは、SQL(構造化紹介言語)クエリを用いて行なわれ、ユーザエンティティによる第1のオブジェクトへのアクセスは、第1のSQLクエリを用いて行なわれる。セキュリティルールの施行は、第1のSQLクエリのWHERE節に条件を追加することによって行なわれる。この条件は、オブジェクトの属性が(セキュリティルールの一部として指定されている)選択された一組の値に一致するか否かを検査するように設計されている。
【0021】
例示のために、以下では本開示のいくつかの局面について例を参照しながら説明する。しかしながら、本開示は、具体的な詳細のうちの1つ以上がなくても、または、他の方法、構成要素、材料等によって、実施できることを、当業者は認識するであろう。他の場合では、本開示の特徴を曖昧にすることを回避するために、周知の構造、材料またはオペレーションは詳細に示されていない。さらに、記載されている特徴/局面は、さまざまな組合わせで実施できるが、簡潔にするためにこの組合わせの一部のみが本明細書に記載されている。
【0022】
2.代表的な環境
図1は、本開示のいくつかの局面を実現できる代表的な環境(コンピューティングシステム)を示すブロック図である。このブロック図は、エンドユーザシステム110A〜110Zと、インターネット120と、イントラネット130と、サーバシステム140A〜140Cと、管理者システム150と、データストア180A〜180Bとを含むものとして示されている。
【0023】
単に例示のために代表的な数/種類のシステムが図に示されているに過ぎない。環境を設計する目的に応じて、多くの環境は、数の点でも種類の点でも、より多くのシステムを含んでいることが多い。
図1の各システム/装置について以下でさらに詳細に説明する。
【0024】
イントラネット130は、(点線の境界線によって示される)企業内に設けられるサーバシステム140A〜140Cと管理者システム150とデータストア180A〜180Bとの間の接続を提供するネットワークを表わす。インターネット120は、これら(および企業の他のシステム)の接続性を、エンドユーザシステム110A〜110Z等の外部システムに対して拡張する。イントラネット140およびインターネット120の各々は、関連技術で周知の伝送制御プロトコル(Transmission Control Protocol:TCP)および/またはインターネットプロトコル(Internet Protocol:IP)等のプロトコルを使用して実現されてもよい。一般に、TCP/IP環境では、トランスポートの基本単位としてIPパケットが使用され、パケットの発生源のソースシステムに割当てられるIPアドレスにソースアドレスが設定され、パケットが最終的に送達される宛先システムのIPアドレスに宛先アドレスが設定される。
【0025】
IPパケットは、パケットの宛先IPアドレスが宛先システムのIPアドレスに設定されると宛先システムに向けられ、その結果、パケットがネットワーク120および130によって最終的に宛先システムに送達されると考えられる。パケットは、宛先アプリケーションを指定するポート番号等のコンテンツを含む場合には、このようなアプリケーションにも向けられると考えることができる。宛先システムは、対応するポート番号を利用可能/オープンなままにして、対応する宛先ポートを用いてパケットを処理する必要があるであろう。インターネット120およびイントラネット130の各々は、有線または無線媒体の任意の組合わせを使用して実現されてもよい。
【0026】
データストア180A〜180Bの各々は、サーバシステム140A〜140Cおよび管理者システム150等の企業の他のシステムで実行される企業アプリケーションによるデータの集合体の格納および検索を容易にする不揮発性(永続的)ストレージを表わす。データストア180A〜180Bのうちの一部を、リレーショナルデータベース技術を用いてデータベースサーバとして実現することにより、SQL(構造化照会言語)等の構造化クエリを用いたデータの格納および取出を提供してもよい。その他のデータストアは、関連技術では周知のように、1つ以上のディレクトリとして組織されたファイルの形態のデータの格納および取出を提供するファイルサーバとして実現してもよい。
【0027】
一実施形態において、データストア180A〜180B内で保持されているデータは、オブジェクトとしてモデル化されている(したがって企業アプリケーションによってアクセスされる)。周知のように、オブジェクトはさまざまな属性を含み、オブジェクトのインスタンス(「オブジェクトインスタンス」)は、それぞれの属性に対応する値を有する。オブジェクトは、リレーショナルデータベースシステムに格納されている場合、1つ以上のテーブルに対応し得る。各属性は、このようなテーブルのそれぞれの列に対応し、各オブジェクトインスタンスは、このようなテーブルの行に対応する。
【0028】
エンドユーザシステム110A〜110Zの各々は、企業の特定のシステムに向けられたユーザ要求を生成して送信するためにユーザによって使用される、パーソナルコンピュータ、ワークステーション、移動局、携帯電話、コンピューティングタブレット等のシステムを表わす。ユーザ要求は、適切なユーザインターフェイス(たとえば、企業内で実行されるアプリケーションによって提供されるウェブページ)を使用して生成されてもよい。たとえば、ユーザは、さまざまなタスクを実行するためのユーザ要求を、サーバシステム140A〜140Cで実行される企業アプリケーションに送信し、タスクの実行結果をサーバシステムから受信してもよい。
【0029】
サーバシステム140A〜140Cの各々は、エンドユーザシステム110A〜110Zを使用するユーザによって要求されたタスクを実行することができる企業アプリケーションを実行する、ウェブ/アプリケーションサーバ等のサーバを表わす。エンドユーザシステムから要求を受信したことに応答して、各サーバシステムは、この要求で指定されているタスクを実行し、タスクの実行結果を、要求を行なったエンドユーザシステムに送信する。各サーバシステムは、このようなタスクを実行する際に、内部に(たとえばサーバ内の不揮発性ストレージ/ハードディスクに)格納されているデータ、(たとえばデータストア180A〜180B内で保持されている)外部データ、および/または、外部ソースから(たとえばユーザから)受信したデータを使用し得る。
【0030】
サーバシステム140A〜140Cの各々は属性を有するオブジェクトとしてモデル化されたデータを使用することがわかるであろう。タスク実行のために、サーバシステムは、1つ以上のオブジェクトにアクセスしそのオブジェクトに対してさまざまなアクション(追加、編集、削除等)をタスクの一部として実行し得る。セキュリティ上の理由から、一般的に、ユーザが要求するタスクの実行中、オブジェクトに対するアクセスが制御されることが望ましい。よって、(エンドユーザシステム110A〜110Zのうちの1つを用いてユーザが生成した)ユーザ要求に応じて、この要求で指定されているタスクは、タスクの実行に必要なオブジェクトにアクセスすることをこのユーザが許可されている場合にのみ、実行される。
【0031】
オブジェクトに対するアクセスの制御にはいくつかの課題がある。企業アプリケーションは一般的に多数/多種(1000を超える範囲)のオブジェクトに対して機能する。このため、このような多数のオブジェクトに対するアクセスの制御は、アクセスを指定するという点においてもアクセスを実現するという点においても難しい。さらに、オブジェクトの中には、オブジェクトに対するアクセスが、オブジェクトの属性に対応付けられた値に基づいて許可/拒否されなければならないオブジェクトがある(たとえば「SAVINGS」という値に設定された属性「Type」および値が「INDIA」である属性「Country」を含むACCOUNT)。これは、オブジェクトの種類(たとえばACCOUNT)のみに基づいて許可/拒否されるのと対照的である。
【0032】
本開示のいくつかの局面に従って設けられる管理者システム150は、以下で例を挙げて説明するように、固定された数の値を含む階層的に組織されたドメインに対して規定された属性を有するオブジェクトに対するアクセス制御を容易にする。
【0033】
3.オブジェクトに対するアクセス制御
図2は、本開示のある局面に従う、オブジェクトに対するアクセスを制御する方法を示すフローチャートである。このフローチャートは、専ら説明のために、
図1、具体的には管理者システム150に関して記載されている。しかしながら、本明細書の開示を読むことによって当業者には明白であるように、特徴のうちの多くは、本開示のいくつかの局面の範囲および精神から逸脱することなく、他の環境でも(場合によっては、他の種類のシステム/サーバを使用しても)実現可能である。
【0034】
また、当業者には明白であるように、ステップのうちのいくつかは、特定の環境に合わせて、以下に示される順序と異なる順序で実行されてもよい。このような実装の多くは、本開示のいくつかの局面に包含されることが意図されている。フローチャートはステップ201から始まり、制御は直ちにステップ210に進む。
【0035】
ステップ210において、管理者システム150は、階層的に組織されたドメインの複数の階層を示すデータを受信する。管理者は、さまざまな対象オブジェクトへのアクセスの制御のベースとなることが望ましいこれらの階層を選択してもよい。これに代えて、データは、エンドユーザシステム110A〜110Zのうちの1つから(ユーザ要求として)受信されてもよい。
【0036】
ステップ230において、管理者システム150は、各階層のドメインの固定された数の値を表示する。ドメインの値は、管理者システム150または要求を出したエンドユーザシステム(110A〜110Z)に関連する表示部に、何らかの都合の良いやり方で表示されればよい。これらの値を表示するためのいくつかのサンプルユーザインターフェイスについては以下のセクションで説明する。値の数が固定されているので、対応する情報は、いくつかの周知の手法のうちのいずれかを用いて特定することができる。たとえば、ドメインごとの固定された数の値は、管理者によって提供されるメタデータに示されていてもよい。
【0037】
ステップ250において、管理者システム150は、(たとえばユーザ/管理者から受けた)各階層のドメインからの値の選択を受付ける。管理者は、対応する階層内の異なるレベルの1つ以上の値を選択してもよく、それに応じてこの選択は管理者システム150に受入れられる。より高いレベルの値を選択することは、階層内におけるそれよりも低いレベルのドメインすべてを含むことを意味し得る。一実施形態において、管理者は、より高いレベルの値を選択し、選択した値よりも低いレベルのサブドメイン(内の値)がこの選択に含まれるか否かを、派生フラグを用いて示すことができる。
【0038】
ステップ270において、管理者システム150は(たとえば管理者から受けた入力に応じて)、ユーザエンティティと選択された一組の値との組合わせに対してセキュリティルールを指定する。ユーザエンティティは、対応する目的に適した、1ユーザであってもよいし、(役割、肩書等に基づいて定義される)ユーザのグループであってもよい。また、セキュリティルールは、目的に合うように選択されてもよい。セキュリティルールの例は、アクセスの許可または拒否、さまざまなアクションの許可等を含むが、このことは本明細書の開示を読むことによって当業者には明白になるであろう。
【0039】
ユーザエンティティは、ステップ250および270で入力を提供したユーザ/管理者に対応し得ることがわかるであろう。さらに、このフローチャートは1つのセキュリティルールを規定するものとして示されているが、ステップ210〜270を繰返し実行することで、ユーザエンティティごとに所望のアクセス制御を実現する一組のセキュリティルールを規定し得ることがわかるはずである。
【0040】
ステップ290において、指定されたセキュリティルールはその後、対応するユーザエンティティが、選択された一組の値に一致する属性を有するオブジェクトに対するアクセスを求めたときに、施行される。言い換えると、ユーザエンティティがアクションを実行するためにオブジェクトにアクセスすることを試みたときに、このオブジェクトに適用可能なセキュリティルール(ステップ210〜270に従って規定される)が、オブジェクトの属性とセキュリティルールにおいて指定されている対応する選択された一組の値とに基づいて、決定される。次に、適用可能なセキュリティルールが、指定されたオブジェクトに対するアクセス/アクションを完了することがユーザエンティティに対して許可されるべきか否かを調べるために、適用されてもよい。以下の説明における想定では、選択された一組の値に一致する属性を有するオブジェクトに対するアクセスをセキュリティルールが許可し、オブジェクトに対するアクセスは、対応するいずれかのセキュリティルールによって許可されていないアクセスである場合に限り、拒否される。
【0041】
ある実施形態において、サーバシステム140A内の企業アプリケーションは、エンドユーザシステム110A/110Bからのさまざまな要求に応じてデータストア180A/180Bを対象とするSQLクエリを生成するように設計されてもよい。サーバシステム140Aは、このようなSQLクエリのWHERE節に対して、ステップ270で指定されて選択された一組の値から形成された条件を追加する。したがって、サーバシステムにおけるアクセス制御は、データストア180A/180Bにおいて実装されている何らかのデータベースタイプ技術を変更しなくても、実現される。上記フローチャートはステップ299で終了する。
【0042】
このように、(オブジェクトの属性に割当てられた)さまざまな値の組とユーザエンティティとの組合わせに対してセキュリティルールを管理者が指定できるようにすることによって、多数/多種のオブジェクトに対するアクセスの制御は簡単になる。さらに、属性の値に基づいたアクセスも容易になる。管理者システム150が
図2に従ってオブジェクトに対するアクセス制御を実施し得る方法を、以下で例を挙げて説明する。
【0043】
4.説明のための例
図3A〜
図3Cおよび
図4A〜
図4Cは、全体として、一実施形態における、固定された数の値を含む階層的に組織されたドメインに対して規定された属性を有するオブジェクトに対するアクセス制御を提供する方法を説明している。以下、各図面について詳細に説明する。
【0044】
図3Aは、一実施形態における、固定された数の値を含むドメインを階層的に組織する方法を示す。具体的には、ツリー310はドメインの階層を示し、そのルートはこの階層の名称「法的主体」である。なお、この名称は、すべてのドメイン(および対応する値)が同一の階層に属することを示すために、象徴的に(点線で)ルートとして示されている。
【0045】
示されている「法的主体」階層は、「XYZ−銀行−株式会社」、「XYZ−投資」、および「XYZ−銀行−アジア−有限会社」という値を含む(レベル1の)第1のドメインを有する。示されている「XYZ−銀行−アジア−有限会社」という値はさらに、(第1のドメインとの比較でより低いレベルにある)「XYZ−銀行−シンガポール」および「XYZ−銀行−インド」を含む値のサブドメインとして限定されている。(ルート以外の)ツリー310のノードとして示されている値のうちのいずれの値もオブジェクトの属性に割当てられ得ることがわかるであろう。言い換えると、オブジェクトの属性は、「XYZ−銀行−株式会社」、「XYZ−投資」、「XYZ−銀行−アジア−有限会社」、「XYZ−銀行−シンガポール」、および「XYZ−銀行−インド」という値のうちのいずれか1つに設定し得る。
【0046】
同様に、ツリー320は、象徴的なルートが階層名「地域」であるドメインの階層を示す。示されているツリー320は、「北米」および「その他」という値を含む(レベル1の)第1のドメインを有し、各値はさらに下位レベルのそれぞれのサブドメインによって限定されている。企業アプリケーションは、各々が固定された数の値を含む同様の階層的に組織された(より多くのレベルを有する)より多くのドメインを有し得ることがわかるであろう。
【0047】
管理者システム150は、このようなドメインの階層(たとえば310、320等)を、管理者がこれらの階層を選択したことに応じて受信し得る。管理者システム150は次に、管理者システム150に関連する表示部にこれらのドメインの値を表示する。これに代えて、階層は、エンドユーザシステム110A〜110Zのうちの1つからユーザ要求として受信されてもよい。この場合、管理者システム150は、要求を出したエンドユーザシステムに関連する表示部に表示する。
【0048】
本開示の局面に従うと、管理者システム150により、管理者が、データストア180A〜180Bに格納されているオブジェクトの属性に割当てられ得る有効な値の組を最初に指示し、次に、所望の有効な組とユーザエンティティとの組合わせに対してセキュリティルールを指定することが、容易になる。以下では、先ず、有効な値の組を指示できる方法を説明し、続いて、このような表示された値の組に基づいてセキュリティルールを指定できる方法について説明する。
【0049】
5.有効な値の組の指示
図3Bは、一実施形態における、複数のドメイン/階層からの有効な値の組を指示する方法を示す。具体的には、対応する値を含む複数の階層を受信したことに応じて、管理者システム150はデータマップを表示する。このデータマップでは、(受信した)階層各々の値がデータマップの対応する次元に沿って表示される。言い換えると、データマップは(値の)タプルを表わし、各タプルは順序付けられた要素のシーケンスを含み、タプルが全体として、受信した階層すべての値のカルテシアン積を表わすように、各要素は、対応する階層の値のうちの1つに設定される。
【0050】
周知のように、値のドメイン/組のカルテシアン積は、ドメインからの値のnタプルの集合として定義され、各nタプルは各ドメイン/組の1つの値を含む。よって、2つのドメインAおよびBの場合、カルテシアン積は、すべての2タプルの集合として定義され、各2タプルはドメインAからの値を含みかつドメインBからの値も含む。タプルの数は、各ドメイン内の値の数を乗算したものに等しい(すなわち、ドメインAがm個の値を含みドメインBがn個の値を含む場合、m×n)。
【0051】
一実施形態において、第1および第2の階層の値を受信したことに応じて、管理者システム150は、2次元マトリクスにおいて、第1の階層の値を行(第1の次元)として表示し、第2の階層の値を列(第2の次元)として表示する。
図3Aに示されるツリー310および320がセキュリティルールを指定するのに使用される階層として受信されたと想定して、以下説明を続ける。
【0052】
テーブル340は、管理者システム150がツリー310および320を受信したことに応じて表示する2次元マトリクス/データマップを示す。ツリー310内のドメインの値はテーブル340の行(第1の次元)として示され、ツリー320内のドメインの値はテーブル340の列(第2の次元)として示されていることがわかるであろう。テーブル340内の各セルは値のタプルを表わし、このタプルの第1の値はツリー310からの値でありこのタプルの第2の値はツリー320からの値である。
【0053】
管理者は、セキュリティルールのベースとなる有効な値のタプル/組の選択を実行する。たとえば、管理者は、テーブル340内に示される、(「XYZ−銀行−株式会社」,「米国」)、(「XYZ−銀行−株式会社」,「カナダ」)、(「XYZ−銀行−投資」,「英国」)、(「XYZ−銀行−シンガポール」,「シンガポール」)、および(「XYZ−銀行−インド」,「インド」)等のセルを選択し得る(対応するセル内のチェックマークで示されている)。選択された一組の値は、データストア180A〜180Bに格納されているオブジェクトの(対応する)属性に割当てられ得る有効タプルを表わす。
【0054】
このように、管理者は、特定の有効な値のタプル/組を指示する。先に示したのは2つの階層だけであるが、本開示の特徴は複数の(3つ以上の)階層にも及び得るものであり、この場合データマップは適切なやり方でn次元のマトリクスとして表示される(たとえば3次元の場合は複数のテーブル)ことがわかるであろう。このことは本明細書の開示を読むことによって当業者には明白になるであろう。なお、有効タプルは他の好都合なやり方で指示されてもよい。たとえば、有効ペアをコンフィギュレーションデータの一部として予め指定しておき、管理者システム150がこのようなコンフィギュレーションデータに基づいて(以下で説明する)テーブル360のインターフェイスを、テーブル340のインターフェイスは提供せずに、生成してもよい。
【0055】
その後、管理者は、所望の/選択されたユーザエンティティに対してセキュリティルール(たとえば、選択された値を有するオブジェクトへのアクセスを許可する)を指定すればよい。管理者システム150によって、選択された階層内の値に基づいてセキュリティルールを管理者が指定できるようにする方法について、以下で例を挙げて説明する。
【0056】
6.ユーザエンティティに対するセキュリティルールの指定
図3Cは、一実施形態における、複数のドメイン/階層に対してセキュリティルールを管理者が指定できるようにする方法を示す。具体的には、対応する値を含む複数の階層を受信したことに応じて、管理者システム150は、(値の)複数のタプルを、それぞれのラインとして、第1の次元(たとえば2次元マトリクスの行)に沿って表示し、一方で、複数のユーザエンティティは、第2の次元(たとえば2次元マトリクスの列)に沿って表示される。ユーザエンティティは企業アプリケーションにおいて規定されたユーザグループに対応すると想定して、以下説明を続ける。
【0057】
テーブル360は、
図3Aに示されるツリー310および320の階層を受信しさまざまな対象ユーザグループを指示したことに応じて管理者システム150が表示する2次元マトリクスを示す。テーブル340において管理者によって指示された有効な値のタプル/組のみがテーブル360の行として示され、一方、(管理者によって指示された)対象ユーザグループはテーブル360の列として示されていることがわかるであろう。しかしながら、これに代わる実施形態では、カルテシアン積のすべてのタプル(すなわち有効でないタプルを含む)が第1の次元に沿って表示されることで管理者が値のタプルとユーザエンティティとの所望の組合わせを指定できるようにしてもよい。
【0058】
このように、テーブル内の各セルは値の組合わせを表わし、この組合わせにおける第1の値はツリー310からの値であり、この組合わせにおける第2の値はツリー320からの値であり、この組合わせにおける第3の値はユーザグループ(UG1、UG2等)からの値である。各セルは、行に対応するカルテシアン積の2タプルから、列に対応するユーザグループに対するマッピングとみなすこともできる。
【0059】
管理者は、(テーブル360内のセルである)値の組合わせを指示することによってユーザエンティティ(ここではユーザグループ)の値の選択を実行した後に、(行の)選択された値と(列に沿う)ユーザエンティティとの組合わせに対してセキュリティルールを指定してもよい。たとえば、管理者は、テーブル360に示されるように所望のセル/タプルを(対応するセル内のチェックマークで示されるように)選択してもよい。セル365の選択が示しているのは、2タプル(「XYZ−銀行−株式会社」,「カナダ」)に一致する属性を有するオブジェクトはユーザグループUG3に属するユーザへのアクセスが許可されるということである。
【0060】
テーブル360において管理者によって指定されたセキュリティルールは、不揮発性ストレージ(データストア180A〜180B等)に格納され、その後、サーバシステム140A〜140Cがエンドユーザシステム110A〜110Zから受けたユーザ要求を処理したときに、施行されてもよい。たとえば、(サーバシステム内で実行される)企業アプリケーションは、ユーザ要求をエンドユーザシステムから受けたことに応じて、このユーザ要求が第1のユーザエンティティ(たとえばUG1)から受けたものでありこのユーザ要求を処理するには第1のオブジェクトにアクセスする必要があることを、確認してもよい。
【0061】
企業アプリケーション(または承認アプリケーション等の一般的なアプリケーション)は次に、(セキュリティルールにおいて指定されている階層に対する、第1のオブジェクトの属性が規定された階層の照合に基づいて)第1のオブジェクトに対して適用できる一組のセキュリティルールを決定してもよい。たとえば、テーブル360内のユーザエンティティUG1に対して指定されたセキュリティルールは、第1のオブジェクトが、「法的主体」および「地域」という階層に対してそれぞれ規定された(したがってこれらの階層からの値が割当てられた)2つの属性を有する場合に、一組の適用可能なセキュリティルールに含まれ得る。
【0062】
次に、企業アプリケーションは、第1のオブジェクトの(上記)2つの属性が、ユーザエンティティUG1に対してテーブル360で指示されている値のペア(セル)のうちのいずれかに一致する(格納された)値を有する場合、第1のオブジェクトへのアクセス(およびユーザ要求の処理)が許可されてもよい。言い換えると、2つの属性が、(「XYZ−銀行−株式会社」,「米国」)および(「XYZ−銀行−シンガポール」,「シンガポール」)というペアのうちのいずれかを有する場合、アクセスは許可される。セキュリティルールは、選択された値の組に一致する属性を有するオブジェクトに対するアクセスを許可し、オブジェクトに対するアクセスは、対応するいずれかのセキュリティルールによってアクセスが許可されていない場合に限り拒否されると想定されている。
【0063】
このように、管理者は、複数のユーザエンティティに対してセキュリティルールを指定することができる。セキュリティルールの指定を容易にするために提供し得るいくつかのサンプルユーザインターフェイスについて、以下で例を挙げて説明する。
【0064】
7.サンプルユーザインターフェイス
図4A〜
図4Cは、一実施形態における、セキュリティルールの指定を容易にするために提供し得るサンプルユーザインターフェイスを示す。各図面の表示エリア400は、管理者システム150に関連する表示部(
図1には示されていない)上に設けられたユーザインターフェイスの一部を示す。一実施形態において、各表示エリアは、管理者システム150によって提供されるそれぞれのウェブページを表示するブラウザに対応する。ウェブページは、企業の管理者が管理者システム150のブラウザを用いて適切な要求を送信したことに応じて提供される。
【0065】
図3Bおよび
図3Cのマトリクス/テーブル340および360も同様にユーザインターフェイスの一部として提供し得ることがわかるであろう。たとえば、テーブル340/360は、
図4B〜
図4Cのユーザインターフェイスに示される他の情報とともに提供されてもよい。このことは本明細書の開示を読むことによって当業者には明白になるであろう。
図4A〜
図4C各々について以下で詳細に説明する。
【0066】
図4Aは、一実施形態における、管理者が所望のドメインの階層を選択できるようにするユーザインターフェイスを示す。表示エリア410によって、管理者は、セキュリティルールの名称、説明およびその他の詳細事項を指定することができる。示されている選択されたマップタイプは「セキュリティフィルタ」であり、管理者がセキュリティルールを指定するために階層を選択していることを示していることがわかるであろう。
【0067】
これに応じて、表示エリア415は、企業アプリケーションで規定されている(選択の対象となり得る)階層/ドメインの名称を表示し、一方、表示エリア420は、管理者によって(表示エリア415に示されるリストから)選択された階層/ドメインの名称を表示する。管理者が「リスク階層」を選択し「ユーザグループ」階層も選択したことを表示エリア420が示していることがわかるであろう。管理者が「保存」ボタン425をクリック/選択したことに応じて、管理者システム150は、表示エリア420内の階層が管理者から受けた階層であることを確認し、したがって、(表示エリア420)の管理者が選択した階層におけるドメインの値を表示する。値を表示できる方法については以下で例を挙げて説明する。
【0068】
図4Bおよび
図4Cは各々、一実施形態における、選択された階層に基づいて管理者がセキュリティルールを指定できるようにするユーザインターフェイスを示している。
図4Bを参照して、表示エリア430は、管理者が
図4Aの表示エリア420の階層を選択したことに応じて表示される。表示エリア460および465の各々は、選択された階層のうちの一方の値を表示する、対応するパネルを示す。示されている表示エリア460は「リスク階層」からの値を表示しているのに対し、示されている表示エリア465は「ユーザグループ」からの値を示している。一般的に、表示エリア430は、管理者によって選択された階層の数(すなわち表示エリア420内の項目の数)に等しい数のパネルを含む。
【0069】
選択された階層内のドメインの値は、表示エリア460および465内で、対応するツリー構造の形態で示されていることがわかるであろう。ツリー構造内の各ノードは、表示されている階層のさまざまなドメインから所望の値を管理者が選択し易いようにするチェックボックスに対応付けて示されている。管理者は、(対応するチェックボックスをクリック/選択することにより)表示エリア430内の(階層からの)値とユーザグループとの所望の組合わせを選択し、「進む」ボタン435をクリック/選択することにより、この組合わせを、表示エリア440においてセキュリティルールとして追加(および表示)してもよい。
【0070】
なお、管理者は、上記のように値を選択しボタン435を選択するというアクションを繰返し実行することにより、複数のセキュリティルールを追加してもよい。一実施形態において、管理者は、表示エリア430に示される(460および465等の)階層から特定の値を選択し、「進む」ボタンのクリックに応じて、管理者システム150は、選択された値からタプルを生成する。管理者は一般的に、オブジェクトの属性に割当てることが可能な値(の組合わせ)を選択するので、有効なタプルのみが表示エリア440に示されていることがわかるであろう。
【0071】
表示エリア440により、管理者は、選択された階層/ドメイン内の値に基づいて簡単にセキュリティルールを指定する。示されている表示エリア440は、それぞれ階層460および465から選択された値とユーザエンティティとのカルテシアン積を表示している。表示エリア440の各ラインは、管理者が指定し得る可能なセキュリティルールを表わしていることが、わかるであろう。
【0072】
表示エリア440内の各ライン/セキュリティルールは、「リスク階層」というドメインから選択された値(たとえば「クレジットリスク」)と、このセキュリティルールはこのドメイン値のみに適用できる(オプション「Self」)のかまたはその値の下にあるすべての下位レベルのドメインに適用できる(オプション「Self & Desc」)のかを示す第1のマクロと、このルールを適用できるユーザグループ/エンティティ(たとえば「承認者」)と、このルールはこのグループのみに適用できる(オプション「Self」)のかまたはそのグループのすべての子孫(descendant)に適用できる(オプション「Self & Desc」)のかを示す第2のマクロとを示す。また、各ラインは、「除外」列において、ユーザグループがアクセスを許可される(オプション「No」)のかまたは拒否される(オプション「Yes」)のかを示す。
【0073】
ドメイン値に対応付けられた(第1の)マクロは、値の選択が、ドメイン値よりも下にあるサブドメインを含むか否かを示す派生フラグとして機能することがわかるであろう。たとえば、「クレジットリスク」という値に対して指定されたオプション「Self」は、セキュリティルールは、その値にしか適用できないことを示す(すなわち選択は「クレジットリスク」という値のみを含む)のに対し、「マーケットリスク」という値に対して指定されたオプション「Self & Desc」は、セキュリティルールは、その値とその値の下にあるサブドメイン内のすべての値にも適用できることを示す(すなわち、選択は「マーケットリスク」という値と「マーケットリスク」の下にあるサブドメイン内のすべての値とを含む)。
【0074】
さらに、セキュリティルールのほとんどは、選択された一組の値に属性が一致するとアクセスが許可される(「除外」列のオプション「No」)ことを示すことがわかるであろう。したがって、管理者システム150は、選択された一組の値に一致する属性を有するオブジェクトに対するアクセスを許可し、オブジェクトに対するアクセスを、対応するいずれかのセキュリティルールによって許可されていないアクセスであれば、拒否する。これに代わるものとして、管理者システム150は、セキュリティルールが対応する値とともに指定され「除外」列のオプション「Yes」が選択された場合に、オブジェクトに対するアクセスを拒否する。
【0075】
次に、管理者は、(対応するチェックボックスを選択することにより)所望のセキュリティルールを選択してもよく、「保存」ボタン445をクリック/選択することによって、選択したルールが不揮発性ストレージ(データストア180A〜180B等)に格納されるようにする。その後、このセキュリティルールは、上記のように、エンドユーザシステム110A〜110Zから受けたユーザ要求をサーバシステム140A〜140Cが処理するときに、取出されて施行されてもよい。
【0076】
図4Cは、
図4Bと同様のユーザインターフェイスを示すが、
図4Cのインターフェイスの場合、管理者は、最初にユーザグループを選択しその次に異なるドメインからの値の所望の組合わせを選択することができる。よって、表示エリア470は表示エリア430と同様であるが、表示エリア470では、最初に、ユーザグループのパネル/階層が示され、次に、選択された「リスク階層」のパネル/階層が示される。この場合も、管理者は、ユーザグループ階層からの所望のユーザエンティティと、これに対応する他の階層からの値の選択との組合わせを選択し、(「進む」ボタンをクリックすることによって)この組合わせを対応するセキュリティルールとして追加してもよい。表示エリア480は、表示エリア440と同様であり、選択された階層/ドメイン内の値に基づいて可能なセキュリティルールのリストを表示する。しかしながら、表示エリア480内の各ライン/セキュリティルールは、指定されたユーザグループが最初に示され、それに続いて「資産タイプ」(選択された値)が表示される。
【0077】
表示エリア480内の第2および第3のライン/セキュリティルールが示しているのは、ユーザエンティティ「管理者」が、「クレジットリスク」という値またはサブドメイン内の値のうちのいずれかに一致する属性を有するオブジェクトにアクセスすることを、許可される(「除外」列のオプション「No」)が、(「クレジットリスク」という値の下にあるサブドメイン内の)「CVA−標準化法」という値に一致する属性を有するオブジェクトにアクセスすることを、拒否される(オプション「Yes」)ことであることが、わかるであろう。言い換えると、第2および第3のセキュリティルールは、「クレジットリスク」か、または、「クレジットリスク」の下にあるサブドメイン内の「CVA−標準化法」という値以外の他のいずれかの値に一致する属性を有するオブジェクトへのアクセスのみを許可するように、機能する。
【0078】
このように、管理者は、固定された数の値を含む階層的に組織されたドメインに対して規定された属性を有するオブジェクトに対するアクセスを簡単に制御する。具体的には、(オブジェクトの属性に割当てられる)さまざまな値の組とユーザエンティティとの組合わせに対してセキュリティルールを指定することにより、多数/多種のオブジェクトへのアクセスを制御するというタスクは簡単になる。
【0079】
上記特徴は、ハードウェア、実行可能なモジュール、およびファームウェアのうちの1つ以上の所望の組合わせとしてさまざまな実施形態において実現可能であることが、認識されるはずである。実行可能なモジュールにおける命令が実行されたときにさまざまな特徴が機能する実施形態に関して、以下で説明を続ける。
【0080】
8.デジタル処理システム
図5は、適切なソフトウェア命令の実行によって本開示のいくつかの局面が機能するデジタル処理システム500の詳細を示すブロック図である。デジタル処理システム500は、管理者システム150に、または、上記さまざまな特徴の提供元になることができるその他のシステム(たとえばエンドユーザシステム110A〜110Z)に対応する。
【0081】
デジタル処理システム500は、(中央処理装置(central processing unit:CPU)510等の)1つ以上のプロセッサと、ランダムアクセスメモリ(random access memory:RAM)520と、二次メモリ530と、グラフィックスコントローラ560と、表示部570と、ネットワークインターフェイス580と、入力インターフェイス590とを含み得る。表示部570以外の構成要素はすべて、通信経路550を介して互いに通信することができ、この通信経路550は、関連技術で周知であるようにいくつかのバスを含み得る。
図5の構成要素について以下でさらに詳細に説明する。
【0082】
CPU510は、本開示のいくつかの特徴を提供するように、RAM520に格納された命令を実行し得る。CPU510は、複数の処理ユニットを含んでいてもよく、各処理ユニットは、場合によっては、特定のタスク向けに設計される。これに代えて、CPU510は、単一の汎用処理ユニットのみを含んでいてもよい。RAM520は、通信経路550を使用して二次メモリ530から命令を受信し得る。
【0083】
RAM520は、共有環境525および/または(企業アプリケーション、承認アプリケーション等の)ユーザプログラム526を構成するソフトウェア命令を現在のところ含むものとして示されている。共有環境525は、ユーザプログラムによって共有されるユーティリティを含み、このような共有ユーティリティは、ユーザプログラム526を実行するための(共通の)ランタイム環境を提供する、オペレーティングシステム、デバイスドライバ、仮想マシン、フローエンジン等を含む。
【0084】
グラフィックスコントローラ560は、CPU510から受信されたデータ/命令に基づいて、表示部570に対する(たとえば、RGBフォーマットの)表示信号を生成する。表示部570は、表示信号によって定義される画像を表示するための表示画面(
図3B〜
図3Cおよび
図4A〜
図4Cのユーザインターフェイスの部分等)を含む。入力インターフェイス590は、(
図3B〜
図3Cおよび
図4A〜
図4Cのユーザインターフェイスにおいて所望の入力等を指定する等)さまざまな入力を提供するために使用可能なキーボードおよびポインティング装置(たとえば、タッチパッド、マウス)に対応し得る。ネットワークインターフェイス580は、(たとえば、インターネットプロトコルを使用して)ネットワークとの接続を提供し、(サーバシステム140A〜140C、データストア180A〜180B等の)他の接続されたシステムとの通信に使用可能である。
【0085】
二次メモリ530は、ハードドライブ535と、フラッシュメモリ536と、リムーバブルストレージドライブ537とを含み得る。二次メモリ530は、非一時的な媒体を表わし、デジタル処理システム500が本開示に従ったいくつかの特徴を提供することができるようにデータ(たとえば、
図3A〜
図3Bに示されるデータの部分)および(たとえば、
図2のステップを実行するための)ソフトウェア命令を格納し得る。二次メモリ530に格納されるコード/命令は、実行速度の高速化のために、CPU510による実行に先立ってRAM520にコピーされてもよく、またはCPU510によって直接実行されてもよい。
【0086】
二次メモリ530は、ハードドライブ535と、フラッシュメモリ536と、リムーバブルストレージドライブ537とを含み得る。データおよび命令の一部またはすべては、リムーバブルストレージユニット540に提供されてもよく、データおよび命令は、リムーバブルストレージドライブ537によって読出されてCPU510に提供されてもよい。リムーバブルストレージユニット540は、リムーバブルストレージドライブ537がデータおよび命令を読出すことができるように、リムーバブルストレージドライブ537に適合した媒体およびストレージフォーマットを使用して実現されてもよい。したがって、リムーバブルストレージユニット540は、コンピュータソフトウェアおよび/またはデータが格納されたコンピュータ読取可能な(記憶)媒体を含む。しかしながら、コンピュータ(または、一般に機械)読取可能な媒体は、他の形態(たとえば、非リムーバブル、ランダムアクセス等)であってもよい。
【0087】
本文献では、「コンピュータプログラムプロダクト」という用語は、概してリムーバブルストレージユニット540またはハードドライブ535にインストールされたハードディスクを指すものとして用いられる。これらのコンピュータプログラムプロダクトは、デジタル処理システム500にソフトウェアを提供するための手段である。CPU510は、ソフトウェア命令を検索し、命令を実行して、上記の本開示のさまざまな特徴を提供してもよい。
【0088】
本明細書で用いられる「記憶媒体」という語は、特定の態様でマシンを動作させるデータおよび/または命令を格納する任意の非一時的な媒体を指す。このような記憶媒体は、不揮発性媒体および/または揮発性媒体を含み得る。不揮発性媒体は、たとえば、ストレージメモリ530等の、光ディスク、磁気ディスク、またはソリッドステートドライブを含む。揮発性媒体は、RAM520等のダイナミックメモリを含む。記憶媒体の共通の形態は、たとえば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、ソリッドステートドライブ、磁気テープまたはその他の磁気データ記憶媒体、CD−ROM、その他の光学式データ記憶媒体、穴のパターンを有する任意の物理的媒体、RAM、PROMおよびEPROM、フラッシュEPROM、NVRAM、その他のメモリチップまたはカートリッジを含む。
【0089】
記憶媒体は、伝送媒体とは別のものであるが、伝送媒体と併用されてもよい。伝送媒体は、記憶媒体間で情報を転送することに関与する。たとえば、伝送媒体は、バス550を備えるワイヤを含む、同軸ケーブル、銅線および光ファイバを含む。また、伝送媒体は、電波および赤外線データ通信中に生成されるような音波または光波の形態をとってもよい。
【0090】
本発明のある実施形態に従い、上記特徴、機能、またはステップのうちのいずれかまたはすべてを実現し得るコンピューティングシステムが提供される。このコンピューティングシステムは、上記デジタル処理システム500に対応し得る。
【0091】
このコンピューティングシステムは入力インターフェイスを含み得る。このインターフェイスを通して、階層的に組織されたドメインの複数の階層を示すデータが、ユーザエンティティ、たとえばエンドユーザシステムから受信される。また、コンピューティングシステムは、たとえばグラフィックコントローラの制御のもとで、上記複数の階層のうちの各階層内の対応するドメインの値を表示するように構成された表示部を含み得る。コンピューティングシステムはまた、上記入力インターフェイスを介して、対応するドメインの表示された値から第1の組の値を選択するための入力と、上記第1の組の値とユーザエンティティとの組合わせに対してセキュリティルールを指定するための入力とを受信し得る。コンピューティングシステムはまた、上記第1の組の値に一致する属性を有するオブジェクトが上記ユーザエンティティによってアクセスされたときに上記セキュリティルールを施行するように構成された1つ以上のプロセッサを含み得る。
【0092】
表示部は、複数のタプルをそれぞれのラインに沿って表示してもよく、各タプルは順序付けられた要素のシーケンスを含む。上記複数のタプルが全体として上記複数の階層すべての値のカルテシアン積を表わすように、各要素は、上記複数の階層のうちの対応する階層の値のうちの1つに設定される。第1の組の値を選択するための入力は、上記複数のタプルに含まれている一組の対象タプルに対応する第1の組のラインを指示してもよい。上記1つ以上のプロセッサはさらに、上記一組の対象タプルのうちのいずれかのタプルに一致する属性を有するオブジェクトに対してセキュリティルールを施行するように構成されてもよい。
【0093】
表示部はさらに、上記ラインを第1の次元に沿って表示し上記ユーザエンティティを含む複数のユーザエンティティを第2の次元に沿って表示するように構成されてもよい。第1の組の値を選択するための入力は、上記複数のユーザエンティティのうちの各エンティティについて、対応する一組の対象ラインを示してもよく、上記第1の組のラインは上記ユーザエンティティに対して示される。上記1つ以上のプロセッサはさらに、上記選択された一組の対象ラインに対応するタプルのうちのいずれかに一致する属性を有するオブジェクトが対応するユーザエンティティによってアクセスされたときに、上記セキュリティルールを施行するように、構成されてもよい。
【0094】
上記表示部はさらに、上記複数のタプルを表わすデータマップを表示するように構成されてもよく、上記複数の階層のうちの各階層の値は、上記データマップの対応する次元に沿って表示される。コンピューティングシステムはまた、上記ユーザから、入力インターフェイスを介して、上記複数のタプルに含まれる一組の有効タプルを受信してもよく、各有効タプルは、オブジェクトの属性に割当てられ得る、対応する一組の値を表わす。表示部はさらに、上記一組の有効タプルのみを上記ラインとして上記第1の次元に沿って表示するように構成されてもよい。
【0095】
好ましくは、上記複数の階層は第1の階層と第2の階層とを含み、上記第1の階層は複数の値をノードとして有し、上記第2の階層は複数のエンティティをノードとして有する。上記第1の組の値は、上記ユーザによって上記複数の値から選択され、上記ユーザはまた、上記複数のユーザエンティティのうちの一組のユーザエンティティを選択する。表示部はさらに、上記第1の組の値と上記一組のユーザエンティティの選択に応じて、複数のタプルをそれぞれのラインに沿って表示するように構成されてもよく、各タプルは順序付けられた要素のシーケンスを含む。上記複数のタプルが全体として上記第1の組の値および上記一組のユーザエンティティのカルテシアン積を表わすように、上記順序付けられたシーケンス内の第1の位置および第2の位置の要素はそれぞれ、上記一組のユーザエンティティのうちの1つ、および、上記第1の組の値のうちの1つに設定される。コンピューティングシステムは、ユーザ入力に従って上記複数のタプルのうちの第1の組のタプルに対応するラインを選択することによって、上記セキュリティルールを指定してもよく、上記第1の組のタプルのうちの各タプルは、上記第1の位置にあるユーザエンティティと、上記第2の位置にある上記第1の組の値のうちの1つとを有する。
【0096】
第1の組の値を選択するための入力は、上記第1の階層内の第1のドメインの第1の値と、派生フラグとを含み得る。上記第1のドメインは上記第1の階層内においてより高いレベルにあり、上記第1の値は、上記第1の階層内において上記より高いレベルよりも低いレベルにあるサブドメインに対応付けられている。上記派生フラグは、上記第1の値よりも下にあるサブドメインが上記選択に含まれるか否かを示す。第1の組の値を選択するための入力はまた、上記派生フラグが、サブドメインが上記選択に含まれる予定であることを示す場合、上記第1のドメインの値と、上記第1の組の値のうちの上記第1の値よりも下にあるサブドメインの値とを含み得るが、そうでない場合は、上記第1のドメインの値のみを含み得る。
【0097】
好ましくは、上記セキュリティルールは、上記第1の組の値に一致する属性を有する対応するオブジェクトに対するアクセスを許可し、オブジェクトに対するアクセスは、対応するいずれかのセキュリティルールによってアクセスが許可されていなければ拒否される。上記オブジェクトはリレーショナルデータベースサーバに格納されていてもよく、上記オブジェクトへのアクセスはSQL(構造化照会言語)クエリを用いて実施されてもよく、上記ユーザエンティティによる第1のオブジェクトへのアクセスは、第1のSQLクエリを用いて行なわれる。上記1つ以上のプロセッサはさらに、上記第1のSQLクエリのWHERE節に条件を追加するように構成され、上記条件は、上記オブジェクトの属性が上記第1の組の値に一致するか否かを検査するように設計されている。
【0098】
コンピューティングシステムに含まれる上記構成要素は、
図5に関して説明したものと同一であっても異なっていてもよいことは、当業者によって理解される。コンピューティングシステムに含まれる構成要素は、組合わされてまたは分割されてサブブロックを構成することにより、上記発明の先の実施形態を実現してもよい。したがって、本明細書の記載は、本明細書に記載のこれらの構成要素に可能ないかなる組合わせまたは分割またはその他の定義もサポートし得る。
【0099】
本明細書全体を通して「一実施形態」、「ある実施形態」または同様の表現を用いるときは、当該実施形態に関連して記載される特定の特徴、構造または特性が本開示の少なくとも1つの実施形態に含まれることを意味する。したがって、本明細書全体を通して「一実施形態において」、「ある実施形態において」というフレーズおよび同様の表現は、すべて同一の実施形態を指すかもしれないが、必ずしも同一の実施形態を指すとは限らない。
【0100】
さらに、本開示の記載されている特徴、構造または特性は、1つ以上の実施形態において任意の好適な態様で組合わせられてもよい。上記の説明では、本開示の実施形態の完璧な理解を提供するために、プログラミング、ソフトウェアモジュール、ユーザ選択、ネットワークトランザクション、データベースクエリ、データベース構造、ハードウェアモジュール、ハードウェア回路、ハードウェアチップ等の例等の、多数の具体的な詳細が提供されている。
【0101】
9.結論
本開示のさまざまな実施形態について上記してきたが、それらは限定的ではなく単に一例として提示されているということが理解されるべきである。したがって、本開示の広さおよび範囲は、上記の代表的な実施形態のうちのいずれかによって限定されるべきではなく、以下の特許請求の範囲およびそれらの等価物に従ってのみ規定されるべきである。
【0102】
本開示の機能および利点を強調する添付物に示される図面および/またはスクリーンショットは、単に例示的な目的で提示されているということが理解されるべきである。本開示は、十分に柔軟性があり、構成可能であるので、添付の図面に示されている態様以外の態様で利用できる。
【0103】
さらに、以下の要約書の目的は、特許庁および公衆、一般におよび特に、特許または法律用語または語法に精通していない当該技術分野における科学者、技術者および専門家が、本願の技術的開示の性質および本質を大まかな検証により素早く判断できるようにすることである。要約書は、本開示の範囲について限定的であるよう意図されたものでは決してない。