JP4726563B2 - データベース内のデータに対する既定のクエリへの複数ユーザによるアクセスを管理する方法 - Google Patents

データベース内のデータに対する既定のクエリへの複数ユーザによるアクセスを管理する方法 Download PDF

Info

Publication number
JP4726563B2
JP4726563B2 JP2005207774A JP2005207774A JP4726563B2 JP 4726563 B2 JP4726563 B2 JP 4726563B2 JP 2005207774 A JP2005207774 A JP 2005207774A JP 2005207774 A JP2005207774 A JP 2005207774A JP 4726563 B2 JP4726563 B2 JP 4726563B2
Authority
JP
Japan
Prior art keywords
query
user
access
data
default
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005207774A
Other languages
English (en)
Other versions
JP2006040277A5 (ja
JP2006040277A (ja
Inventor
リチャード・ディー・デッティンガー
ダニエル・ピー・コルツ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2006040277A publication Critical patent/JP2006040277A/ja
Publication of JP2006040277A5 publication Critical patent/JP2006040277A5/ja
Application granted granted Critical
Publication of JP4726563B2 publication Critical patent/JP4726563B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9032Query formulation
    • G06F16/90324Query formulation using system suggestions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Automation & Control Theory (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は一般にクエリ処理に関し、より詳細には、永続的に格納されたクエリへの複数ユーザによるアクセスを管理することに関する。
データベースは、コンピュータ化された情報を格納し、取り出すシステムである。リレーショナル・データベース管理システムは、データの格納および取り出しにリレーショナル技術を使用するコンピュータ・データベース管理システム(DBMS)である。最も普及している種類のデータベースは、リレーショナル・データベース、すなわちデータをいくつかの異なる方法で再編成し、アクセスできるように定義した表形式のデータベースである。分散データベースは、ネットワーク中の様々なポイントに分散または複製できるデータベースである。オブジェクト指向プログラミング・データベースは、オブジェクト・クラスおよびオブジェクト・サブクラスの形で定義されたデータに適合するデータベースである。
特定のアーキテクチャにはかかわらず、DBMSは様々な異なる種類の操作をサポートするように構成することができる。このような操作は、DBMSによって格納され管理される情報を取り出し、追加し、変更し、削除するように構成することができる。標準のデータベース・アクセス方法では、SQL(構造化クエリ言語)などの高級クエリ言語を使用してこのような操作をサポートしている。「クエリ」という用語は、格納されたデータベースのデータを処理するための操作の実行をもたらす1組の命令を意味する。例えば、SQLは4種類のクエリ操作、すなわち、SELECT、INSERT、UPDATE、およびDELETEをサポートする。SELECT操作はデータベースからデータを取り出し、INSERT操作は新しいデータをデータベースに追加し、UPDATE操作はデータベース内のデータを変更し、DELETE操作はデータベースからデータを除去する。
アプリケーション、オペレーティング・システム、および最上位レベルであるユーザなど、任意の要求元エンティティは、1つまたは複数のデータベース内のデータに対してクエリを発行することができる。クエリはアプリケーションの一部としてハードコード化することもできるし、あるいは入力(例えば、ユーザ入力)に応答して生成することもできる。所与の要求元エンティティは、複数の異なるクエリを実行することができる。1つまたは複数のデータベースに対する各クエリが実行されるとすぐに、対応するクエリ結果が要求元エンティティに返される。クエリまたは対応するクエリ結果あるいはその両方はいずれも、永続的に格納することができる。
永続的に格納されたクエリまたはクエリ結果あるいはその両方は、複数のユーザで共用することができる。言い換えると、所与のユーザによって生成されたクエリは、永続的に格納し、他のユーザが使用できるようにすることができる。所与のユーザは、一人または複数人の他のユーザによって使用されることだけを意図したクエリを生成することもできる。例えば、1つまたは複数の基になるデータベースから情報を取り出す必要があるが、特定のクエリ言語に精通していないユーザのために、データベース管理者は、既定のクエリをその特定のクエリ言語で生成しておくことができる。したがって、このようなユーザが、基になるデータベースから必要な情報を取り出すためには、既定のクエリを単に実行することだけが必要になる。
しかし、永続的に格納されたクエリを複数のユーザ間で共用する上での1つの問題点は、特定の既定のクエリが、様々なユーザのニーズを厳密には満たしていない可能性があることである。例えば、ある企業のデータベース管理者が、その企業のセールス・マネージャによって使用されることを意図して、ある特定のクエリ言語を用いて既定のクエリを生成したと想定する。この既定のクエリは、様々なターゲット・グループの個人に関するデータを取り出すのに適した、比較的複雑なクエリであってもよい。さらに、所与のセールス・マネージャが、その企業の新しい製品の販売を開始しようとしていると想定する。したがって、所与のセールス・マネージャは、対応する既定のクエリを使用して、その新しい製品に対応するターゲット・グループを識別し、そのターゲット・グループ内の個人の情報を収集することができる。
次いで、所与のセールス・マネージャは、収集された情報を使用して識別されたターゲット・グループ内の各個人にぴったりの広告キャンペーンを行うことができる。次に、識別されたターゲット・グループが、14〜25歳で、特定の趣味を持つなど様々な条件を満たすティーンエイジャおよびヤング・アダルトからなると想定する。さらに、同一の様々な条件を満たす18〜25歳のティーンエイジャおよびヤング・アダルトの情報を取り出すように適合された既定のクエリが存在するものと想定する。所与のセールス・マネージャは、この既定のクエリを使用することもできるが、この既定のクエリは、14〜17歳のティーンエイジャに関連する必要な情報も併せて要求するためには修正が必要になる。
しかし、修正の後では、既定のクエリは、もはや元の18〜25歳のターゲット・グループを対象とするものではなくなる。言い換えると、既定のクエリの全体的な目的は修正によって変更されてしまう。この変更は、元のターゲット・グループに関連する情報だけを必要とする他のユーザによる、この既定のクエリのその後の実行に影響を与える可能性がある。さらに、場合によっては、特にそのセールス・マネージャが特定のクエリ言語に精通していない場合には、修正の間に既定のクエリが意図せずに損傷される可能性もある。
したがって、永続的に格納されたクエリを複数のユーザ間で共用し、しかもその永続的に格納されたクエリに対する望ましくない修正を不可能にする有効な技術が必要とされている。
本発明は一般に、クエリへのアクセスを管理する方法、およびプログラムに関し、より詳細には、永続的に格納されたクエリへの複数のユーザによるアクセスを管理するための方法、およびプログラムに関する。
一実施形態では、データベース内のデータに対する既定のクエリへの複数のユーザによるアクセスを管理する方法が提供される。この方法は、1つまたは複数のアクセス権と既定のクエリの少なくとも一部分を関連付ける方法を含む。第1のユーザによる、既定のクエリへのアクセス要求が受信されたとき、この第1のユーザによる既定のクエリへのアクセスは、アクセス権に基づいて制限される。
他の実施形態では、データベース内のデータに対する既定のクエリへの複数の要求元エンティティによるアクセスを管理する方法が提供される。この方法は、既定のクエリへのアクセスを制限するように構成されたアクセス権を生成すること、およびそのアクセス権を既定のクエリに関連付けることを含む。既定のクエリの一部または全体へのアクセスは、アクセス権に基づいて要求元エンティティに許可される。
他の実施形態においては、プログラムが提供される。このプログラムは、プロセッサによって実行されたときに、データベース内のデータに対する既定のクエリへの複数ユーザによるアクセスを管理する。このプロセスは、1つまたは複数のアクセス権を、既定のクエリの少なくとも一部分に関連付けることを含む。第1のユーザによる、既定のクエリへのアクセス要求が受信されたとき、この第1のユーザによる既定のクエリへのアクセスは、アクセス権に基づいて制限される。
本発明に関する上記の特徴、利点、および目的が達成され、詳細に理解されるように、上で要約した本発明のより詳細な説明を、添付の図面に例示された本発明の各実施形態を参照しながら行う。
しかし、添付の図面は本発明の代表的な実施形態を例示したものに過ぎず、したがって本発明の範囲を制限するものと見なすべきではないこと、したがって本発明には、他の同等に有効な実施形態を含み得ることに留意されたい。
本発明は一般に、クエリへのアクセスを管理するための方法、およびプログラムを対象とするものであり、より詳細には、永続的に格納された既定のクエリへの複数のユーザによるアクセスを管理するものである。一態様によれば、複数のユーザが既定のクエリを使用して1つまたは複数のデータベースを変更し検索することが可能になる。複数のユーザはさらに、少なくともある程度までは既定のクエリを操作することが可能であり、それによって、既定のクエリのある種の全般的な目的が損なわれることが回避される。この目的のために、アクセス権を既定のクエリの1つまたは複数の部分に関連付ける。例として、このようなアクセス権は、データベース・カラムのアクセス権と同じにすることができる。一実施形態では、所与の既定のクエリ内の各クエリ条件をアクセス権(「特権」とも呼ばれる)と関連づけることができる。特定のクエリ条件に関する特権は、対応するクエリ・ツールを用いて、特定のユーザがこのクエリ条件をどのように扱うことが可能になるかを定義するように構成される。
本発明の一実施形態は、コンピュータ・システムとともに使用されるプログラムとして実装される。プログラムは、(本明細書に記載の方法を含む)各実施形態の機能を定義する。また、プログラムは、様々な信号搬送媒体に含めることができる。例示的信号搬送媒体は、これに限定されるわけではないが、(i)非書込み可能記憶媒体(例えば、CD−ROMドライブで読出し可能なCD−ROMディスクなどコンピュータ内の読出し専用記憶装置)に永続的に格納された情報、(ii)書込み可能な記憶媒体(例えば、ディスケット・ドライブ内のフロッピー(R)ディスク、またはハードディスク・ドライブ)に格納された変更可能情報、あるいは(iii)無線通信を含む、コンピュータ・ネットワークまたは電話ネットワークなどを介して通信媒体によってコンピュータに伝えられる情報を含む。最後の実施形態は、特にインターネットや他のネットワークからダウンロードした情報も含む。このような信号搬送媒体は、本発明の機能を指示するコンピュータ可読の命令を運ぶときには、本発明の実施形態を表すものになる。
一般に、本発明の実施形態を実施するために実行されるルーチンは、オペレーティング・システムもしくは特定のアプリケーションの一部、コンポーネント、プログラム、モジュール、オブジェクト、または一連の命令であってもよい。本発明のソフトウェアは一般に、ネイティブ・コンピュータによってマシン可読のフォーマット、すなわち実行可能な命令に変換される複数の命令からなる。また、プログラムは、プログラムにローカルに備わっているか、またはメモリもしくは記憶装置上に存在する変数またはデータ構造からなる。さらに、以下で記述される様々なプログラムは、それらが本発明の特定の実施形態で実装されるアプリケーションに基づいて識別することもできる。しかし、以下で使用されるどのような用語も単に便宜のために使用されるものであり、したがって、本発明は、そのような用語によって識別されるアプリケーションまたはそれらが示唆するアプリケーション、あるいはその両方においてのみ使用されるものに限定すべきでないことを理解されたい。
本発明の各実施形態は、少なくとも1台のネットワーク・クライアントおよび少なくとも1台のサーバ・コンピュータを含むハードウェア/ソフトウェア構成の形で実装することができる。さらに、本発明の各実施形態は、コンピュータ・システムが複雑であるかどうか、あるいはマルチユーザ・コンピュータ装置、単一ユーザ・ワークステーション、またはそれ自体の中に不揮発性記憶装置を持たないネットワーク装置であるかどうかにかかわらず、任意の対応するハードウェア構成に適用することができる。さらに、SQLなど特定のクエリ言語を参照することもできるが、本発明が特定の言語、標準、またはバージョンに限定されるものではないことを理解されたい。したがって、当業者ならば、本発明が他のクエリ言語にも適合可能であり、また本発明が、特定のクエリ言語および現在知られていない他のクエリ言語における将来的な変更にも適合可能であることを理解されよう。
以下では、本発明の各実施形態を参照する。しかし、本発明が、記述した特定の実施形態に限定されるものではないことを理解されたい。むしろ、様々な実施形態に関連するか否かを問わず、以下の機能および要素の任意の組合せが、本発明を実装し実施するために考慮される。さらに、様々な実施形態において、本発明は従来技術に対して多くの利点を提供する。本発明の実施形態は他の可能な解決策または従来技術、あるいはその両方に対していくつかの利点を提供することができるが、しかし、所与の実施形態が特定の利点を達成するか否かは、本発明を限定するものではない。したがって、以下の態様、特徴、実施形態、および利点は、単に例示的なものであり、明示的に示された場合を除き、添付の特許請求の範囲の構成要素または制限と見なすべきものではない。
次に、図1を参照すると、一実施形態のソフトウェア・コンポーネントの関係ビューが示されている。一態様によれば、ソフトウェア・コンポーネントは、クエリを使用してデータ・ソースからデータのサブセットを取得するように構成される。ソフトウェア・コンポーネントはさらに、そのクエリを永続的に格納し、その永続的に格納されたクエリに関してアクセス権を生成することまたは関連付けすること、あるいはその両方を実施するように構成される。
例示として、ソフトウェア・コンポーネントは要求元エンティティ110、クエリ・マネージャ140、およびユーザ・インタフェース190を含む。一態様によれば、要求元エンティティ110は、データ・ソース130のデータ132に対して、クエリ、例えばクエリ120を発行する。データ・ソース130は、特定の物理的表現にはかかわらず、データの任意の集合体を表す。一実施形態では、データ・ソース130は1つまたは複数のデータベースを含む。1つまたは複数のデータベースはそれぞれ、(SQLクエリによってアクセス可能な)関係スキーマに従って、または(XMLクエリによってアクセス可能な)XMLスキーマに従って構成することができる。しかし、本発明は、特定のスキーマに限定されるものではなく、現在知られていないスキーマへの拡張も企図する。本明細書で使用する「スキーマ」という用語は、一般にデータの特定の配列を意味する。
要求元エンティティ110によって発行されたクエリ120は、事前に定義しておくこともできる。あるいは、例えば、ユーザ・インタフェース190(例えば、ユーザ入力部)を介して受信した入力に応答して生成することもできる。クエリ・マネージャ140は、データ・ソース130のデータ132に対するクエリ120を実行してクエリ結果170を取得する。その後、クエリ結果170は、要求元エンティティ110に提示される。
一実施形態では、クエリ120はSQLクエリである。最も一般的に実行されるSQLクエリは、SELECTステートメントである。SELECTステートメントは一般に、「SELECT<文節> FROM<文節> WHERE<文節> GROUP BY<文節> HAVING<文節> ORDERED BY<文節>」のフォーマットを有する。一般に、各文節はこの順序に従う必要がある。SELECT文節とFROM文節だけが必須であり、他の全ての文節は任意選択である。一般に、SELECTステートメントの結果は、リレーショナル・データベース(例えば、図1のデータ・ソース130)に格納された1つまたは複数の既存のテーブルから取り出されたデータ(例えば、データ132)のサブセットになる。この場合、FROM文節は、データが選択されている1つまたは複数のテーブル名を識別する。データのサブセットは、結果テーブルと呼ばれる新しいテーブルとして扱われる。WHERE文節は、結果テーブルにどの行を返すべきかを決定する。一般に、WHERE文節は、結果テーブルに返される各行が満たすべき1つまたは複数のクエリ条件を含む。一般に、クエリ条件は1つまたは複数の述部であり、各述部は、ある列、定数、または相関値からの2つの値の比較を、「=」、「>」、「<」など適切な比較演算子を使用して指定する。一般に、WHERE文節の複数の述部は、例えば、ブールAND演算子またはブールOR演算子、あるいはその両方によって接続される。
他の実施形態では、クエリ120は抽象クエリである。抽象クエリは、データ抽象モデルによって定義された論理フィールドを使用して構成される。各論理フィールドは、データ・ソース130で使用される基本のデータ表現(例えば、XML、SQL、その他のタイプの表現)によるデータの1つまたは複数の物理エンティティにマップされる。さらに、データ抽象モデルでは、論理フィールドは基本のデータ表現とは独立に定義され、それによって、基本のデータ表現と疎に結合したクエリを形成することが可能になる。抽象クエリは、データ132にアクセスしてクエリ結果を返す、あるいはデータ132を修正(すなわち、挿入、削除、または更新)するように構成することができる。データ132に対する実行のために、抽象クエリは、データ132の基本データ表現に適合する形(本明細書では具体的クエリと呼ぶ)に変換される。抽象クエリの具体的クエリへの変換は、2002年2月26日出願の「Application Portability And Extensibility Through Database SchemaAnd Query Abstraction」と題する、同一出願人による同時係属中の米国特許出願10/083075号に詳細に記載されている。
一実施形態では、クエリ・マネージャ140は、クエリ120を永続的データ・オブジェクト156「QUERY N」として、クエリ・リポジトリ150に格納する。例示として、クエリ・リポジトリ150には、すでに複数のクエリ、152「QUERY 1」および154「QUERY 2」(簡単のために2つだけを示す)が含まれており、それらもまた永続的データ・オブジェクトとして格納されているものとする。ただし、クエリ・リポジトリ150にクエリ152、154、および156を提供したのは単に例示のためであり、したがって本発明の制限を意図したものではないことに留意されたい。例えば、クエリ152、154、および156は、異なる要求元エンティティによって生成することができ、また対応するデータ処理システムの異なる位置に個別に格納することもできる。
一実施形態では、クエリ152、154、および156へのアクセスは、(破線192で示されるように)アクセス権134に基づいて制限される。例示として、アクセス権134は、データ・ソース130内に格納される。例として、アクセス権134には、複数の要求元エンティティの各々に対し、その対応する要求元エンティティに、1つまたは複数のクエリ152、154、156の一部または全体にアクセスする権限を与えるかどうかを定義することができる。アクセス権134にはさらに、要求元エンティティの1つまたは複数のグループに対して、その対応するグループに1つまたは複数のクエリ152、154、156の一部または全体にアクセスする権限を与えるかどうかを定義することもできる。また、アクセス権134にはさらに、1つまたは複数のクエリ152、154、156の様々な部分、または様々な要求元エンティティもしくは要求元エンティティのグループ、あるいはその両方に対して、様々な種類のアクセスを定義することもできる。より詳細には、所与のクエリへのアクセスは、所与のクエリに付与されたアクセス権に基づいて、対応する要求元エンティティに所与のクエリの限られた部分だけを提示することによって制限することができる。所与のクエリへのアクセスはさらに、所与のクエリに付与されたアクセス権に基づき、対応する要求元エンティティによる所与のクエリの少なくともある部分の修正を禁止することによって制限することができる。
一実施形態では、アクセス権134はユーザ・インタフェース190を用いて生成される。一態様によれば、アクセス権134は、データベース管理者など権限を与えられた要求元エンティティによって生成される。さらに、クエリ152、154、および156の所与の1つに対するアクセス権は、クエリ152、154、および156の所与の1つを生成する対応する要求元エンティティによって生成時に生成することができる。クエリ152、154、および156へのアクセスを制限するクエリ・マネージャ140の動作については、以下で図2および図3を参照しながらより詳細に説明する。
図2は、クエリ152、154、および156へのアクセスを管理するための一実施形態における、図1の各コンポーネントの関係ビューを示すものである。例示として、複数の要求元エンティティ110〜110は、クエリ152、154、および156に関連するデータを取得するためのデータ要求160を発行する。例として、要求元エンティティ110〜110(以下では、「要求元エンティティ110」と呼ぶ)の1つが、クエリ152「クエリ1」にアクセスするための複数のデータ要求160のうちの1つ(以下では、「データ要求160」と呼ぶ)を発行すると想定する。クエリ・マネージャ140は、データ要求160を受信し、その要求元エンティティ110にクエリ152の全体または少なくとも一部にアクセスする権限が与えられているかどうかを判断する。この目的で、クエリ・マネージャ140はデータ・ソース130のアクセス権134にアクセスする。次に、アクセス権134が、要求元エンティティ110に対し、クエリ152の1つまたは複数の部分にだけアクセスする権限は与えているが、クエリ152の全体へのアクセス権は与えていないと想定する。したがって、クエリ・マネージャ140は、アクセス権134に基づいて、クエリ152からその1つまたは複数の部分を識別する。次に、クエリ・マネージャ140は、クエリ152からその1つまたは複数の部分を、制限されたクエリ172として要求元エンティティ110に提示する。制限されたクエリ172は、提示されるクエリがアクセス権134に基づいて制限されているという指示とともに要求元エンティティ110に提示することができる。
一実施形態では、アクセス権134は、要求元エンティティ110〜110など、複数の潜在的な要求元エンティティに対して定義される。上記のように、アクセス権134は、要求元エンティティ110〜110のうちのどの要求元エンティティに、クエリ152、154、156へのアクセスが認められるかを定義するために実装することができる。さらに、アクセス権134には、ユーザまたはアプリケーション固有の細分性(granularity)を備えることもできる。例えば、アクセス権134は、全体のクエリまたはクエリ・コンポーネント、例えばクエリ条件などのへのアクセスを制限するように構成することができる。したがって、様々な要求元エンティティに対し、アクセス権134に基づいてクエリ152、154、156の1つへの様々なアクセス権が決定される、様々なシナリオが生ずる可能性がある。言い換えると、これらの要求元エンティティはすべて同一のクエリ、すなわちクエリ152に関して動作するが、これらの各要求元エンティティに対して異なるクエリ・データを提示することができる。例として、クエリ152の第1の部分を第1の要求元エンティティに提示し、クエリ152の第2の部分を第2の要求元エンティティに提示することができる。それによって、第1の部分は、第2の部分には提示されない1つまたは複数のデータ・オブジェクトを含むことになる。
例として、ユーザに代表される様々な要求元エンティティが、単一の既定のクエリにアクセスを試みる例示的シナリオを、以下でテーブルII〜Vを参照しながら説明する。例示的な既定のクエリについては、以下でテーブルIを参照しながら説明する。
テーブルI:例示的な既定のクエリ
001 SELECT *
002 FROM table−x
003 WHERE(条件1 AND 条件2 AND 条件3)
テーブルIから分かるように、例示のクエリはデータベース・テーブル「table−x」に対して実行されるように、あらかじめ定義されている(行002)。詳細には、特定のクエリ条件「条件1」および「条件2」および「条件3」を満たす(行003)、データベース・テーブル「table−x」のすべての行を決定するために(行001)、例示のクエリを使用することができる。
テーブルII:例示的シナリオ1
001 条件「条件1」は、ジョン・スミス(John Smith)が修正できる
002 条件「条件2」は、読出しだけが可能
003 条件は、「研究者(RESEARCHERS)」グループによって追加することができる
テーブルIIの例示的なシナリオ1において、テーブルIの例示的クエリに対するアクセス権134は、ユーザ「ジョン・スミス」だけがクエリ条件「条件1」を修正できるように定義されている(行001)。言い換えれば、行001によれば、ユーザ「ジョン・スミス」はクエリ条件「条件1」の演算子や値などのパラメータを変更することができる。行002によれば、アクセス権134は、すべてのユーザがクエリ条件「条件2」の読出しだけはできるが、その条件を修正することはできないように定義される。さらに、テーブルIの全体のクエリは、003行によって定義されたアクセス権と関連付けられている。より詳細には、行003によれば、アクセス権134は、「研究者」グループのユーザだけが1つまたは複数のクエリ条件をテーブルIの例示的クエリに追加できるように定義されている。シナリオ1のクエリ条件「条件3」には、アクセス権がまったく指定されていないので、一態様によれば、すべてのユーザが必要に応じてこのクエリ条件を操作することができる。
テーブルIII:例示的シナリオ2
001 条件「条件1」は補足することができる
002 条件「条件3」は隠蔽される
テーブルIIIの例示的シナリオ2では、テーブルIの例示的クエリに対するアクセス権134は、任意のユーザがクエリ条件「条件1」を補足できるように定義されている(行001)。一態様によれば、クエリ条件が補足できる場合に、ユーザは、クエリ条件の述部を変更せずに、1つまたは複数の追加の述部だけをそのクエリ条件に追加することができる。例えば、クエリ条件「条件1」が、18歳以上の個人を識別するように構成されていると想定する。したがって、クエリ条件「条件1」は、次のように定義することができる:「Age>=18」。次に、ユーザが、18歳以上だが、25歳以下の個人を決定したいと想定する。この場合ユーザは、「Age<=25」など、対応する補足クエリ条件を追加することによって、クエリ条件「条件1」を補足することができる。その結果、補足された条件は、クエリ条件「条件1」と補足クエリ条件の組合せに相当するもの、すなわち、「Age>=18 AND Age<=25」となる。行002によれば、アクセス権134は、クエリ条件「条件3」がすべてのユーザに隠蔽されるように定義される。したがって、テーブルIに定義されたクエリは、クエリ条件「条件3」がユーザに表示されないように提供することができる。しかし、いくつかの実施形態では、このような場合に、テーブルIIIのクエリの一部が表示されずに隠蔽されていることを示す何らかの指示をユーザに表示することができる。さらに、シナリオ2のクエリ条件「条件2」には、アクセス権がまったく指定されていないので、一態様によれば、すべてのユーザが必要に応じてこのクエリ条件を操作することができる。
テーブルIV:例示的シナリオ3
001 静的複製が可能
テーブルIVの例示的シナリオ3において、テーブルIの例示的クエリに対するアクセス権134は、任意のユーザが例示的クエリの個人用複製を作成できるように定義されている(行001)。次に、この個人用の複製が「静的」と定義されているので(テーブルIVの行001)、この個人用の複製はテーブルIの例示的クエリと同一のアクセス権(すなわちアクセス権134)に関連付けられることになる。
例として、図2の要求元エンティティ110はクエリ152の個人用複製114を作成し、その複製が、(破線116で示されるように)要求元エンティティ110に関連付けられたローカルのデータ・ソース112に例示として格納されている。クエリ152へのアクセスはアクセス権134に基づいて制限されているので、(破線136で示されるように)個人用複製114へのアクセスもアクセス権134によって制限される。したがって、要求元エンティティ110がクエリ152の個人用複製114にアクセスするとき、(破線174によって示されるように)制限されたクエリ172が有効にユーザに提示されることになる。
テーブルV: 例示的シナリオ4
001 動的複製が可能
テーブルVの例示的シナリオ4において、テーブルIの例示的クエリに対するアクセス権134は、任意のユーザが例示的クエリの動的個人用複製が作成できるように定義されている(行001)。動的個人用複製は、必要に応じてユーザによって修正することができる。言い換えると、動的個人用複製には、アクセス権134を関連づけることができなくなる。
次に図3を参照すると、クエリ152、154、および156へのアクセスを管理するための他の実施形態における、図1のソフトウェア・コンポーネントの関係ビューが示されている。例示として、複数の要求元エンティティ110〜110が、永続的データ・オブジェクトとしてクエリ・リポジトリ150に格納された複数のクエリ180に対してデータ要求160を発行する。各クエリ180は、クエリ・データ182および関連するアクセス権184を含む。一態様によれば、クエリ・データ182は既定のクエリ(例えば、図1のクエリ152〜156)のデータに対応する。
次に、例として、クエリ・マネージャ140は、いくつかのクエリ180のうちの所与のクエリ180(以下、「クエリ180」と呼ぶ)にアクセスしたいと思うユーザから、いくつかのデータ要求160のうちの所与のデータ要求(以下、「データ要求160」と呼ぶ)を受信するものと想定する。クエリ180の例示的実施形態については、以下で図6を参照しながら説明する。
データ要求160を受信するとすぐに、クエリ・マネージャ140は、そのユーザが、クエリ180のクエリ・データ182の全体、または少なくとも一部にアクセスする権限が与えられているかどうかを判断する。その目的で、クエリ・マネージャ140は、ユーザの属性を決定する。決定される属性は、ユーザを識別するために適したものである。例として、決定される属性は、ユーザ名、ユーザ識別子、ユーザの役割、またはユーザに関する権限レベルなどのことがある。クエリ・マネージャ140はさらに、クエリ・データ182に関するユーザのアクセス権を決定する。ユーザのアクセス権は、アクセス権184に基づいて決定される。
一実施形態では、アクセス権184は、図1のアクセス権134に基づいて生成される。したがって、アクセス権184は、クエリ・データ182の複数の潜在的ユーザに適したものにすることができる。言い換えると、アクセス権184は、クエリ・データ182の一部または全体について、各潜在ユーザごとに適切なものにすることができる。あるいは、アクセス権184には、アクセス権134へのリンクを定義することもできる。この場合、アクセス権134を使用して、潜在的ユーザがクエリ・データ182の一部または全体にアクセスする権限が与えられているかどうかを判断することができる。あるいは、アクセス権184をクエリ・データ182の生成時に生成し、クエリ・データ182とともに、永続的データ・オブジェクト180として格納しておくこともできる。
詳細には、図3に示した例において、クエリ・マネージャ140は、クエリ・データ182とともに格納されたアクセス権184に基づいて、クエリ・データ182にアクセスする権限が要求元エンティティ110に与えられているかどうかを判断する。より詳細には、クエリ・マネージャ140は、アクセス権184を使用して、クエリ・データ182中のそのユーザによるアクセスが許されている部分を識別する。次いで、クエリ・マネージャ140は、その識別された部分を制限されたクエリ176としてユーザに提供する。クエリ・マネージャ140の動作については、以下で図4を参照しながらより詳細に説明する。
次に図4を参照すると、複数のユーザによる既定のクエリ(例えば、図1のクエリ152、154、156のうちの1つ)へのアクセスを管理する方法200の一実施形態が示されている。方法200の諸ステップのうちの少なくとも一部は、クエリ・マネージャ(例えば、図1のクエリ・マネージャ140)およびユーザ・インタフェース(例えば、図1のユーザ・インタフェース190)を使用して実施することができる。方法200は、ステップ210で始まる。
ステップ220で、データ・ソース(例えば、図1のデータ・ソース130)に対する、第1の要求元エンティティ(例えば、図1の要求元エンティティ110)からのクエリ(例えば、図1のクエリ120)が受信される。ステップ230で、そのクエリに対するアクセス権が生成される。一態様によれば、アクセス権は、ユーザ・インタフェースを使用して第1の要求元エンティティによって生成される。アクセス権は、クエリへのアクセスを制限するように構成される。一実施形態では、アクセス権(例えば、図1のアクセス権134)の生成は、そのアクセス権をデータ・ソースに格納することを含む。したがって、クエリ・マネージャは、クエリへのアクセス要求を受信したとき、そのクエリとアクセス権(例えば、図2のアクセス権134)を実行時にリンクすることができる。他の実施形態では、アクセス権の生成は、アクセス権(例えば、図3のアクセス権184)を生成して、クエリとともに永続的データ・オブジェクト(例えば、図3のクエリ180)に格納することを含む。あるいは、永続的データ・オブジェクトのアクセス権では、データ・ソースに格納されたアクセス権へのリンクを定義することもできる。
ステップ240で、アクセス権とクエリが関連付けられる。一実施形態では、ステップ250で、アクセス権はクエリとともに永続的データ・オブジェクト(例えば、図3のクエリ180)として格納される。あるいは、アクセス権をデータ・ソースに格納するとき、クエリだけを永続的データ・オブジェクト(例えば、図2のクエリ152)として格納することもできる。
ステップ250で格納された永続的データ・オブジェクトは、その後、関連付けられたアクセス権に基づいて複数の要求元エンティティによってアクセスすることができる。例示として、ステップ260では、ステップ250で永続的データ・オブジェクトとして格納されたクエリにアクセスを求めるデータ要求(例えば、図2および3のデータ要求160)を、第2の要求元エンティティ(例えば、図2〜3の要求元エンティティ110)から受信する。
ステップ270では、永続的データ・オブジェクトの少なくとも1つまたは複数の部分へのアクセスがアクセス権に基づいて許可または拒絶される。永続的データ・オブジェクトへのアクセスを許可する例示的方法については、以下で図5を参照しながら説明する。次に、方法200は、ステップ280で終了する。
次に図5を参照すると、図4のステップ270に従って、永続的データ・オブジェクト(例えば、図2のクエリ152または図3のクエリ180)へのアクセスを許可する例示的方法300が示されている。方法300の諸ステップの少なくとも一部は、クエリ・マネージャ(例えば、図2〜3のクエリ・マネージャ140)を使用して実施することができる。方法300はステップ310で始まり、そのステップで永続的データ・オブジェクトがアクセス権(例えば、図3のアクセス権184)を含むかどうかが判断される。
永続的データ・オブジェクト(例えば、図3のクエリ180)にアクセス権が含まれている場合は、ステップ320で、要求元エンティティの1つまたは複数の属性が決定される。次に、ステップ330で、永続的データ・オブジェクトに含まれるアクセス権および決定された属性に基づいて、永続的データ・オブジェクトへのエンティティ固有のアクセス権が、要求元エンティティのために識別される。言い換えると、永続的データ・オブジェクトに含まれるアクセス権を解析して、そこからその要求元エンティティに固有のアクセス権を引き出せるかどうかが識別される。例えば、永続的データ・オブジェクトに含まれるアクセス権を解析して、決定された属性を有する要求元エンティティのアクセスに対して明確に権限を与えるアクセス権の部分を識別することができる。さらに、永続的データ・オブジェクトに含まれるアクセス権を解析して、決定された属性を有する要求元エンティティによるアクセスに対して明確には排除されていないアクセス権の部分を識別することもできる。しかし、アクセス権が、様々に異なる方法で実装できることに留意されたい。上で述べたように、アクセス権は、特定のユーザまたはユーザ・グループあるいはその両方と関連付けることができる。しかし、アクセス権は、特定のユーザまたはユーザ・グループを参照することなく、永続的データ・オブジェクトのクエリ・データの一部、例えばクエリ条件などに関して指定することもできる。したがって、本発明は、アクセス権についての特定の実装に限定されるものではなく、現在知られていない実装を含む他の実装への拡張を企図したものである。
ステップ340で、識別されたエンティティ固有のアクセス権に基づいて、何も提供されないか、あるいは、永続的データ・オブジェクトの1つまたは複数の部分、または全体が、制限されたクエリ(例えば、図3の制限されたクエリ176)として要求元エンティティに提供される。次に、処理は図4のステップ280に続く。
一方、ステップ310で、永続的データ・オブイジェクト(例えば、図2のクエリ152)にアクセス権が含まれていないと判断された場合は、ステップ350で、要求元エンティティの対応するエンティティ固有のアクセス権は、対応するデータ・ソース(例えば、図2のアクセス権134)に格納されたアクセス権から判断される。次いで、処理はステップ340に続く。
次に、図6を参照すると、例示的な永続的データ・オブジェクト(例えば、図3の永続的データ・オブジェクト180)を含むデータ構造400の一実施形態が示されている。例として、データ構造400が、複数の列410〜440および行450〜480を有する表形式で示されている。
行450は、列410〜440の項目名を表示する。ただし、行450が単に例示のために示されていること、したがって任意選択であることを理解されたい。行450から分かるように、列410〜420にはクエリ・データ(例えば、図3のクエリ・データ182)が含まれる。また、列430〜440には、アクセス権(例えば、図3のアクセス権184)の仕様が含まれる。より詳細には、列410は、例示として、既定のクエリの識別を含む。列420は、例示として、クエリ条件を含む。列430は、例示として、様々なクエリ条件に関連付けられたアクセス権を含む。列440は、例示として、列430に含まれたアクセス権が適用されるユーザ/ユーザ・グループの識別を含む。
例として、行460〜464は、3つのクエリ条件、すなわち「条件1」、「条件2」、および「条件3」を有する第1のクエリ「クエリ1」に関係する。列460〜464において、これら3つのクエリ条件にアクセス権が定義される。より詳細には、行460によれば、クエリ条件「条件1」に定義されたアクセス権は「読出し専用」タイプのものである(列430)。このアクセス権は、すべてのユーザに適用される。なぜならば、「条件1」に対して、列440で特定のユーザまたはユーザ・グループが定義されていないからである。言い換えると、クエリ条件「条件1」により、すべてのユーザによる読出し専用アクセスが可能になる。
行462によれば、クエリ条件「条件2」に定義されたアクセス権は「修正」タイプのものである(列430)。このアクセス権は、「研究者」グループのすべてのユーザに適用される(列440)。言い換えると、「研究者」グループのすべてのユーザは、クエリ条件「条件2」を修正することが可能になる。一態様によれば、定義されたアクセス権が「修正」であり、また他のユーザまたはユーザ・グループには「条件2」へのアクセス権が定義されていないので、クエリ条件「条件2」は、他のユーザ/ユーザ・グループに対しては、デフォルト設定で、隠蔽するかまたは読出し専用アクセスだけを可能にすることができる。この目的で、一実施形態では、ユーザ固有の、またはアプリケーション固有のデフォルトのアクセス権を定義することができる。
行464によれば、クエリ条件「条件3」に定義されたアクセス権は、「読出し専用」タイプである(列430)。このアクセス権は2人のユーザ、すなわち第1のユーザである「管理者」、例えばデータベース管理者、および第2のユーザである「ジョン・スミス」に適用される(列440)。言い換えると、「管理者」および「ジョン・スミス」だけがクエリ条件「条件3」を読み出すことが可能である。例えば、「クエリ1」が、ある企業Xで「ジョン・スミス」によって作成されたと想定する。「クエリ1」を用いると、「ジョン・スミス」のローカル・データ、例えば「ジョン・スミス」によって立ち上げられた研究プロジェクトに関連するデータにアクセスすることが可能になる。
「クエリ1」に基づいて、「ジョン・スミス」は、社内のすべてのユーザに対してローカル・データへのアクセスを可能にする。しかし、クエリ条件「条件3」を使用して機密データへのアクセスは禁止する。自分自身による、クエリ条件「条件3」の意図しない修正を避けるために、「ジョン・スミス」は、自らのアクセス権を「読出し専用」に設定している。さらに、企業Xの内部手続きに従って、データベース管理者は、企業Xの任意の既定のクエリに関するすべての部分にアクセスできる必要があるものと想定する。例えば、データベース管理者は、所与のクエリ条件が不必要にデータ・アクセスを制限していないかどうかを検証できなければならない。したがって、所与の例では、データベース管理者は、クエリ条件「条件3」を読み出すことはできるが、修正することはできない。さらに、2人の特定のユーザ、すなわち「管理者」および「ジョン・スミス」に対して定義されたアクセス権が「読出し専用」であり、また「条件3」へのアクセス権が、他のユーザまたはユーザ・グループには定義されていないので、クエリ条件「条件3」は、デフォルトで他のすべてのユーザ/ユーザ・グループに対して隠蔽することができる。
行470は、第2のクエリ「クエリ2」に関する。しかし、第2のクエリ「クエリ2」に対する特別なクエリ条件は列420には指示されていない。したがって、第2のクエリ「クエリ2」の列430に定義されたアクセス権は、そのクエリのすべてのコンポーネントに対して適用される。より詳細には、列430によれば、クエリ「クエリ2」に定義されたアクセス権は、「条件追加」である。このアクセス権はすべてのユーザに適用される。なぜならば、「クエリ2」の列440に特定のユーザまたはユーザ・グループが定義されていないからである。言い換えると、任意のユーザが、第2のクエリ「クエリ2」に、1つまたは複数のクエリ条件を追加することができる。
行480は第3のクエリ「クエリN」に関する。しかし、第3のクエリ「クエリN」の列420には、特別なクエリ条件は指示されていない。さらに、第3のクエリ「クエリN」の列430にアクセス権も定義されていない。したがって、任意のユーザが要望に応じて、第3のクエリ「クエリN」を操作することができる。
図6を参照しながら、例として、様々な種類のアクセス、すなわち「読出し専用」、「修正」、および「条件追加」を説明してきたことに留意されたい。しかし、所与の既定のクエリに関する1つまたは複数のクエリ条件を補足可能にするアクセス(例えば、テーブルIIIのシナリオ2)など、他の種類のアクセスを提供することもできる。他の種類のアクセスは、既定のクエリの静的または動的な複製を作成すること(例えば、それぞれテーブルIVのシナリオ3およびテーブルVのシナリオ4)を可能にする。したがって、本明細書で説明した、すべての種類のアクセスおよびアクセス権は、例示のためだけに提示されたものであり、本発明をそれらに限定するものではない。むしろ、クエリまたはクエリ条件、あるいはその両方に基づくセキュリティを提供するのに適した任意の種類のアクセスを広く企図したものである。
上記の説明は、本発明の諸実施形態を対象にしたものであるが、添付の特許請求の範囲で定められた本発明の基本的な範囲を逸脱することなく、本発明のその他の実施形態を考案することができる。
一実施形態における永続的に格納されるクエリを生成するための各ソフトウェア・コンポーネントの関係ビューを示す図である。 一実施形態における永続的に格納されたクエリへのアクセスを管理するための、図1の各ソフトウェア・コンポーネントの関係ビューを示す図である。 他の実施形態における永続的に格納されたクエリへのアクセスを管理するための、図1の各ソフトウェア・コンポーネントの関係ビューを示す図である。 一実施形態における永続的に格納されたクエリへのアクセスを管理するための方法を示す流れ図である。 一実施形態における永続的に格納されたクエリへのアクセスを管理するための方法を示す流れ図である。 一実施形態における永続的に格納されたクエリおよび関連するアクセス権の一覧を示す図である。
符号の説明
110 要求元エンティティ
1101〜N 要求元エンティティ
112 ローカル・データ・ソース
114 個人用複製
120 クエリ
130 データ・ソース
132 データ
134 アクセス権
140 クエリ・マネージャ
150 クエリ・リポジトリ
152 クエリ1
154 クエリ2
156 クエリN
160 データ要求
172 制限されたクエリ
176 制限されたクエリ
182 クエリX
184 アクセス権
190 ユーザ・インタフェース

Claims (8)

  1. データベース内のデータに対する既定のクエリへの複数ユーザによるアクセスを管理する方法であって、
    (a)1つまたは複数のアクセス権を前記既定のクエリの第1の部分と関連付けるステップを含み、
    前記既定のクエリが、前記データベース内の前記データを抽象的に記述するデータ抽象モデルによって定義された論理フィールドを使用して構成され、
    各論理フィールドが、前記データベース内で使用される基本のデータ表現による前記データの1つまたは複数の物理エンティティにマップされ、
    1つの前記アクセス権が、第1のユーザが前記既定のクエリに1つまたは複数のクエリ条件を追加することは可能にするが、前記第1の部分を修正することは不可能にし、
    (b)前記第1のユーザから前記既定のクエリへのアクセスを求める要求を受信するステップと、
    (c)前記第1のユーザの1つまたは複数の属性を決定するステップと、
    (d)前記アクセス権および前記1つまたは複数の属性に基づいて、前記第1のユーザによる前記既定のクエリの前記第1の部分へのアクセスを制限するステップとをさらに含み、
    前記ステップ(d)が、前記第1のユーザが前記既定のクエリの個人的複製を作成し且つ当該個人的複製を修正することを可能にするステップを含み、
    前記既定のクエリに関連付けられた前記アクセス権が、前記個人的複製にも関連付けられる、方法。
  2. 記ステップ(d)が、
    前記1つまたは複数の属性を使用して前記アクセス権の中から前記第1のユーザのためのユーザ固有のアクセス権を識別するステップを含み、
    前記第1のユーザによる前記既定のクエリの一部または全体へのアクセスが前記ユーザ固有のアクセス権に基づいて許可される、請求項に記載の方法。
  3. 前記1つまたは複数の属性が、
    (i)ユーザ名
    (ii)ユーザ役割
    (iii)ユーザ権限レベル
    のうちの少なくとも1つである、請求項に記載の方法。
  4. つの前記アクセス権が、前記第1のユーザが前記既定のクエリの前記第1の部分を読み出すことを阻止する、請求項1に記載の方法。
  5. データベース内のデータに対する既定のクエリへの複数ユーザによるアクセスを管理する方法であって、
    (a)前記既定のクエリの第1の部分へのアクセスを制限するように構成される1つまたは複数のアクセス権を生成するステップを含み、
    前記既定のクエリが、前記データベース内の前記データを抽象的に記述するデータ抽象モデルによって定義された論理フィールドを使用して構成され、
    各論理フィールドが、前記データベース内で使用される基本のデータ表現による前記データの1つまたは複数の物理エンティティにマップされ、
    1つの前記アクセス権が、前記第1のユーザが前記既定のクエリに1つまたは複数のクエリ条件を追加することは可能にするが、前記第1の部分を修正することを不可能にし、
    (b)前記アクセス権を前記既定のクエリの前記第1の部分と関連付けるステップと、
    (c)第1のユーザから前記既定のクエリへのアクセスを求める要求を受信するステップと、
    (d)前記第1のユーザの1つまたは複数の属性を決定するステップと、
    (e)前記アクセス権および前記1つまたは複数の属性に基づいて前記既定のクエリの前記第1の部分へのアクセスを前記第1のユーザに許可するステップとを含み、
    前記ステップ(e)が、前記第1のユーザが前記既定のクエリの個人的複製を作成し且つ当該個人的複製を修正することを可能にするステップを含み、
    (f)前記第1のユーザが前記既定のクエリの前記個人的複製に関連付けられた前記アクセス権を修正することを可能にするステップをさらに含む方法。
  6. 記アクセス権に基づいて、前記既定のクエリを前記第1のユーザ表示するステップと、
    前記第1のユーザの前記アクセス権の指示を、前記第1のユーザに表示するステップとをさらに含む、請求項に記載の方法。
  7. 記アクセス権に基づいて、前記既定のクエリを前記第1のユーザ表示するステップとをさらに含み、
    記既定のクエリの少なくとも1つのクエリ条件が前記既定のクエリ中に表示されない、請求項に記載の方法。
  8. 記ステップ(b)が、
    前記既定のクエリおよび前記アクセス権を永続的データ・オブジェクトとして格納するステップを含む、請求項に記載の方法。
JP2005207774A 2004-07-22 2005-07-15 データベース内のデータに対する既定のクエリへの複数ユーザによるアクセスを管理する方法 Expired - Fee Related JP4726563B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/897,335 2004-07-22
US10/897,335 US7720858B2 (en) 2004-07-22 2004-07-22 Query conditions-based security

Publications (3)

Publication Number Publication Date
JP2006040277A JP2006040277A (ja) 2006-02-09
JP2006040277A5 JP2006040277A5 (ja) 2008-08-14
JP4726563B2 true JP4726563B2 (ja) 2011-07-20

Family

ID=35658476

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005207774A Expired - Fee Related JP4726563B2 (ja) 2004-07-22 2005-07-15 データベース内のデータに対する既定のクエリへの複数ユーザによるアクセスを管理する方法

Country Status (3)

Country Link
US (3) US7720858B2 (ja)
JP (1) JP4726563B2 (ja)
CN (1) CN1725219A (ja)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4376075B2 (ja) * 2004-01-26 2009-12-02 モレックス インコーポレイテド カード用コネクタ
US7720858B2 (en) 2004-07-22 2010-05-18 International Business Machines Corporation Query conditions-based security
US20070118527A1 (en) * 2005-11-22 2007-05-24 Microsoft Corporation Security and data filtering
US11170879B1 (en) 2006-09-26 2021-11-09 Centrifyhealth, Llc Individual health record system and apparatus
US8533746B2 (en) * 2006-11-01 2013-09-10 Microsoft Corporation Health integration platform API
US20080104012A1 (en) * 2006-11-01 2008-05-01 Microsoft Corporation Associating branding information with data
US20080103818A1 (en) * 2006-11-01 2008-05-01 Microsoft Corporation Health-related data audit
US20080103794A1 (en) * 2006-11-01 2008-05-01 Microsoft Corporation Virtual scenario generator
US20080104617A1 (en) * 2006-11-01 2008-05-01 Microsoft Corporation Extensible user interface
US8239401B2 (en) * 2007-01-08 2012-08-07 Lsr Technologies System for sharing network accessible data sets
US7979711B2 (en) 2007-08-08 2011-07-12 International Business Machines Corporation System and method for privacy preserving query verification
US9449276B2 (en) * 2007-08-15 2016-09-20 Ca, Inc. Graphical model-driven system for knowledge management tools
US20090083240A1 (en) * 2007-09-24 2009-03-26 Microsoft Corporation Authorization agnostic based mechanism
US8234299B2 (en) * 2008-01-11 2012-07-31 International Business Machines Corporation Method and system for using fine-grained access control (FGAC) to control access to data in a database
US8108777B2 (en) * 2008-08-11 2012-01-31 Microsoft Corporation Sections of a presentation having user-definable properties
US8326868B2 (en) * 2009-02-10 2012-12-04 At&T Intellectual Property I, L.P. Web-enabled database access tools
CN102656553B (zh) 2009-09-09 2016-02-10 瓦欧尼斯***有限公司 企业级数据管理
US9009137B2 (en) * 2010-03-12 2015-04-14 Microsoft Technology Licensing, Llc Query model over information as a networked service
US8676844B2 (en) * 2010-05-26 2014-03-18 Hewlett-Packard Development Company, L.P. Graph authorization
WO2011148376A2 (en) 2010-05-27 2011-12-01 Varonis Systems, Inc. Data classification
US10296596B2 (en) 2010-05-27 2019-05-21 Varonis Systems, Inc. Data tagging
US11308490B2 (en) * 2010-07-28 2022-04-19 Cox Communications, Inc. Security system and method that allows users to securely setup and maintain system security for all business systems
US9177022B2 (en) 2011-11-02 2015-11-03 Microsoft Technology Licensing, Llc User pipeline configuration for rule-based query transformation, generation and result display
US9558274B2 (en) 2011-11-02 2017-01-31 Microsoft Technology Licensing, Llc Routing query results
US9189563B2 (en) 2011-11-02 2015-11-17 Microsoft Technology Licensing, Llc Inheritance of rules across hierarchical levels
WO2013076713A1 (en) * 2011-11-24 2013-05-30 Varonis Systems, Inc. Systems and methods of automatic generation and execution of database queries
US20130238636A1 (en) * 2012-03-06 2013-09-12 Salesforce.Com, Inc. Suggesting access-controlled related queries
US9069817B2 (en) 2012-11-28 2015-06-30 International Business Machines Corporation Database row access control
US9904702B2 (en) 2012-12-04 2018-02-27 Oracle International Corporation Dynamic generation of database queries in query builders
US9275121B2 (en) * 2013-01-03 2016-03-01 Sap Se Interoperable shared query based on heterogeneous data sources
US20160267293A1 (en) * 2013-10-29 2016-09-15 Hewlett Packard Enterprise Development Lp Validating a Query Execution
US9633060B2 (en) 2015-05-14 2017-04-25 Walleye Software, LLC Computer data distribution architecture with table data cache proxy
US9911001B2 (en) 2015-06-12 2018-03-06 Pearson Education, Inc. Automatic SQL query modification for data restriction
US20170169102A1 (en) * 2015-12-15 2017-06-15 Le Holdings (Beijing) Co., Ltd. Method and electronic device for controlling data query
CN109964219A (zh) * 2016-06-19 2019-07-02 数据.世界有限公司 经由分布式计算机网络的协作数据集整合
CN107391532B (zh) * 2017-04-14 2020-08-04 阿里巴巴集团控股有限公司 数据过滤的方法和装置
US10796013B2 (en) * 2017-11-13 2020-10-06 Veeva Systems Inc. User programmatic interface for supporting data access control in a database system
US10866943B1 (en) 2017-08-24 2020-12-15 Deephaven Data Labs Llc Keyed row selection
US11048815B2 (en) * 2018-08-06 2021-06-29 Snowflake Inc. Secure data sharing in a multi-tenant database system
CN109840250B (zh) * 2018-12-14 2024-02-13 平安科技(深圳)有限公司 中间字段的访问权限管理方法、装置、设备和存储介质
US11301461B2 (en) 2019-04-03 2022-04-12 Unitedhealth Group Incorporated Managing data objects for graph-based data structures
US20220414253A1 (en) * 2021-06-23 2022-12-29 International Business Machines Corporation Auditing of database search queries for privileged data

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0259952A (ja) * 1988-08-26 1990-02-28 Nec Corp アクセス権情報の保護方式
JPH11212849A (ja) * 1998-01-29 1999-08-06 Hitachi Ltd 共有ファイル送受信システム、アクセス権利判定装置
US6366915B1 (en) * 1998-11-04 2002-04-02 Micron Technology, Inc. Method and system for efficiently retrieving information from multiple databases
JP2003122615A (ja) * 2001-10-11 2003-04-25 Just Syst Corp ファイル処理方法とこの方法にて利用可能なファイル処理装置
JP2003281149A (ja) * 2002-03-26 2003-10-03 Toshiba Corp アクセス権限設定方法および構造化文書管理システム
JP2004062880A (ja) * 2003-06-12 2004-02-26 Hitachi Ltd 情報の埋め込み方法およびその装置
US20040073539A1 (en) * 2002-10-10 2004-04-15 International Business Machines Corporation Query abstraction high level parameters for reuse and trend analysis

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5941947A (en) * 1995-08-18 1999-08-24 Microsoft Corporation System and method for controlling access to data entities in a computer network
US6105027A (en) * 1997-03-10 2000-08-15 Internet Dynamics, Inc. Techniques for eliminating redundant access checking by access filters
US6122741A (en) * 1997-09-19 2000-09-19 Patterson; David M. Distributed method of and system for maintaining application program security
US6725227B1 (en) 1998-10-02 2004-04-20 Nec Corporation Advanced web bookmark database system
US6708166B1 (en) 1999-05-11 2004-03-16 Norbert Technologies, Llc Method and apparatus for storing data as objects, constructing customized data retrieval and data processing requests, and performing householding queries
US6643648B1 (en) * 1999-06-30 2003-11-04 Raf Technology, Inc. Secure, limited-access database system and method
US6581054B1 (en) * 1999-07-30 2003-06-17 Computer Associates Think, Inc. Dynamic query model and method
US7644366B1 (en) * 1999-07-30 2010-01-05 Computer Associates Think, Inc. Method and system for displaying a plurality of discrete files in a compound file
JP4078628B2 (ja) 2001-07-18 2008-04-23 日本ビクター株式会社 ポンプインポンプアウト判定方法
US7047234B2 (en) * 2001-12-19 2006-05-16 International Business Machines Corporation System and method for managing database access
US6996558B2 (en) * 2002-02-26 2006-02-07 International Business Machines Corporation Application portability and extensibility through database schema and query abstraction
US7240046B2 (en) * 2002-09-04 2007-07-03 International Business Machines Corporation Row-level security in a relational database management system
US20030122615A1 (en) 2003-01-03 2003-07-03 Zeff Robert Terry Improved Class BD Amplifier
US20040193952A1 (en) 2003-03-27 2004-09-30 Charumathy Narayanan Consistency unit replication in application-defined systems
US7146376B2 (en) 2003-04-24 2006-12-05 International Business Machines Corporation Data abstraction model driven physical layout
US7890928B2 (en) 2003-07-26 2011-02-15 Pilla Gurumurty Patrudu Mechanism and system for representing and processing rules
US7593929B2 (en) 2003-10-22 2009-09-22 International Business Machines Corporation Context sensitive term expansion with dynamic term expansion
US7761461B2 (en) 2004-04-08 2010-07-20 International Business Machines Corporation Method and system for relationship building from XML
US20050278306A1 (en) 2004-05-28 2005-12-15 International Business Machines Corporation Linked logical fields
US7720858B2 (en) 2004-07-22 2010-05-18 International Business Machines Corporation Query conditions-based security
US8055683B2 (en) 2004-10-14 2011-11-08 International Business Machines Corporation Management of relationships between database tables

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0259952A (ja) * 1988-08-26 1990-02-28 Nec Corp アクセス権情報の保護方式
JPH11212849A (ja) * 1998-01-29 1999-08-06 Hitachi Ltd 共有ファイル送受信システム、アクセス権利判定装置
US6366915B1 (en) * 1998-11-04 2002-04-02 Micron Technology, Inc. Method and system for efficiently retrieving information from multiple databases
JP2003122615A (ja) * 2001-10-11 2003-04-25 Just Syst Corp ファイル処理方法とこの方法にて利用可能なファイル処理装置
JP2003281149A (ja) * 2002-03-26 2003-10-03 Toshiba Corp アクセス権限設定方法および構造化文書管理システム
US20040073539A1 (en) * 2002-10-10 2004-04-15 International Business Machines Corporation Query abstraction high level parameters for reuse and trend analysis
JP2004062880A (ja) * 2003-06-12 2004-02-26 Hitachi Ltd 情報の埋め込み方法およびその装置

Also Published As

Publication number Publication date
US20170161514A1 (en) 2017-06-08
US9607099B2 (en) 2017-03-28
US10108813B2 (en) 2018-10-23
US7720858B2 (en) 2010-05-18
US20100185678A1 (en) 2010-07-22
CN1725219A (zh) 2006-01-25
JP2006040277A (ja) 2006-02-09
US20060020581A1 (en) 2006-01-26

Similar Documents

Publication Publication Date Title
JP4726563B2 (ja) データベース内のデータに対する既定のクエリへの複数ユーザによるアクセスを管理する方法
US8775470B2 (en) Method for implementing fine-grained access control using access restrictions
US8166070B2 (en) Techniques for sharing persistently stored query results between multiple users
US7672936B2 (en) Security model using security domains in a security model applied to abstract database
US7836078B2 (en) Techniques for managing access to physical data via a data abstraction model
CN111602131A (zh) 多租户数据库***中的安全数据共享
US8930382B2 (en) High performance secure data access in a parallel processing system
US8438141B2 (en) System and method for providing secure access to data with user defined table functions
US20040068661A1 (en) Intelligent use of user data to pre-emptively prevent execution of a query violating access controls
CA2427209A1 (en) Optimization of queries on views defined by conditional expressions having mutually exclusive conditions
JP2005050335A (ja) データ項目のためのゾーンベースのセキュリティ管理
EP1383055A2 (en) Map and data location provider
WO2015005765A2 (en) Security model switching for database management system
Patel et al. An efficient access control model for schema-based relational storage of XML documents
Sandhu Relational database access controls
Pernul et al. A multilevel secure relational data model based on views
Kumar et al. Review of database and prominent programmes
Cvrk et al. Advanced access control system for multi-tier server applications
Altamimi et al. OLAPSec: A Comprehensive End-to-End Security Framework for OLAP Cubes
Sciore Database Management: A Systems Approach Using Java
Brimhall et al. Managing Views
Kumar et al. DATABASE MANAGEMENT
Brimhall et al. Chapter 14: Managing Views: by Wayne Sheffield
Tseng The implementation of group authorization in a relational database system: revoking
Chanda Implementation of subqueries in a relational database management system

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080630

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080630

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20090206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110208

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110329

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110412

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4726563

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140422

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees