JP4467257B2 - データベース管理方法および装置並びにその処理プログラム - Google Patents
データベース管理方法および装置並びにその処理プログラム Download PDFInfo
- Publication number
- JP4467257B2 JP4467257B2 JP2003177458A JP2003177458A JP4467257B2 JP 4467257 B2 JP4467257 B2 JP 4467257B2 JP 2003177458 A JP2003177458 A JP 2003177458A JP 2003177458 A JP2003177458 A JP 2003177458A JP 4467257 B2 JP4467257 B2 JP 4467257B2
- Authority
- JP
- Japan
- Prior art keywords
- database
- data
- attribute
- deletion
- request
- 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 - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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/6227—Protecting 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99938—Concurrency, e.g. lock management in shared database
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99939—Privileged access
Description
【発明の属する技術分野】
本発明はデータベースのアクセス権限を管理するデータベース管理技術に関する。
【0002】
【従来の技術】
データベースのアクセス権限を管理するデータベース管理システムにおいて、データベースへのアクセス権限は、データベース所有者及びデータベース所有者からアクセス権限を許可された者が持つことができ、テーブル毎やユーザ毎のデータベースへのアクセス権限の設定や管理を行うためには極めて有用である。
【0003】
しかし、更新を不可としたいデータベースに対して、所有者や更新権限を許可された者またはこれらの者になりすました者が、不正にまたは誤って更新されてしまうことがある。分散データベースにおけるデータベースへの不正なアクセスを防止しようとする技術として、特許文献1のような技術が開示されている。
【0004】
【特許文献1】
米国特許5,924,094号
【0005】
【発明が解決しようとする課題】
従来の技術においては、更新を不可としたいデータに対して、表所有者や更新権限を譲渡された者またはこれらの者になりすました者が、不正にまたは誤って更新することを防ぐことはできないという課題があった。
【0006】
本発明の目的は、改竄防止属性が設定された場合、不正にまたは誤ってデータベースへの処理が実行されることを防ぐことにある。
【0007】
【課題を解決するための手段】
本発明は、データベース定義時に改竄防止属性を指定した場合に、データベースの属性としてディクショナリに登録し、データ更新要求時にデータベースの属性をチェックし、当該データベースが改竄防止属性有りの場合は、データベースの所有者であっても表の変更を不可とする。これにより、不正にまたは誤って表データを更新することを防ぐことが可能となる。
【0008】
また、データベース定義時に改竄防止属性に加え行削除禁止期間及び行挿入日時保持列名を指定した場合、これらの情報をデータベースの属性としてディクショナリに登録し、行挿入時に行挿入日時保持列にデータベース管理システムが行挿入日時を設定し、データベース所有者またはデータベース所有者から表更新権限を譲渡された者であっても当該列データを更新不可とする。そして、行削除要求時に表の属性及び行挿入日時をチェックし、当該データベースが改竄防止属性を持ち、かつ、行削除禁止期間を指定されている場合は、行挿入後、行削除禁止期間を経過するまでの間は、データベース所有者であっても行の削除を不可とすることが可能となる。これにより、データが挿入された日より一定の期間すなわち行削除禁止期間で指定した期間、当該データの削除を禁止することが可能となる。
【0009】
さらに、データベースのアクセス制御情報が格納されているディクショナリに登録した改竄防止属性情報を参照することで、データベース定義削除又はデータベース定義変更によるデータの不正削除・更新を防ぐことが可能となる。
【0010】
さらに、アンロード日時をステータスファイル及び外部記憶媒体に記録し、ディクショナリに登録した改竄防止属性情報を参照することで、リロード時に不正に改竄防止属性有りのデータを削除又は更新することを防ぐことが可能となる。
【0011】
【発明の実施の形態】
以下、本発明の一実施例を図1から図10を参照しながら説明する。
【0012】
本発明に係わるデータベース管理方法及び装置を図1に示す。データベース管理システムは、CPU、メモリ、端末装置、ハードディスク装置等から構成される電子計算機システムにおいて、オペレーティングシステム上で動作し、論理的なデータベース格納領域及び表や格納領域の定義情報を格納するディクショナリは、ハードディスク装置上に割り当てられる。
【0013】
ディクショナリは、データベースのテーブル構造、列定義、インデクス定義などを含むデータベース設計仕様を格納するものであり、データベース参照・更新時にディクショナリの情報が必要となる。本発明の特徴となる改竄防止情報を管理するディクショナリ表は、表名列、改竄防止属性列、行削除禁止期間列、行挿入日時保持列名列から構成され、ディクショナリに格納される。このディクショナリ表は、図2における202に相当する。本発明はリレーショナル・データベースを一例に説明しているがリレーショナル・データベースに限定されることなく種々のデータベースに適用可能である。ここでは、改竄防止とは、データベース所有者およびデータベース所有者から権限を許可されたものについてもデータベースに登録済みのデータの変更を許可しないアクセス権限の機能をいう。この改竄防止属性は、データベース所有者およびデータベース所有者から権限を許可されたものでは変更不可能であり、更に上位のデータベース管理者のレベルでないと変更はできない。
【0014】
図2は、本発明の特長を表す表定義文の一例と、改竄防止定義情報がディクショナリに格納されている様子を示す図である。SQL1に示す表1及びSQL2に示す表2は、201に示すパラメタ名P1にYを指定することで、改竄防止属性有りの表となり、ディクショナリ202の改竄防止属性列にその旨を示す「Y」が格納される。また、表2には改竄防止属性に加え、201に示すパラメタ名P2に行削除禁止期間を指定し、かつ201に示すパラメタ名P3に行挿入日時保持列を指定することで、行挿入後、削除禁止期間を経過した行のみ削除可能となる表となり、ディクショナリの行削除禁止期間列及び行挿入日時保持列名列に各々指定された値が格納される。本例では、リレーショナルデータベースの例で説明したので行挿入、行削除の例を説明したが、データベース一般にはデータの挿入、削除についても同様にデータの挿入は許可するがデータの削除は禁止することになる。なお、図2においてはパラメタP3をユーザ設定とする例としているが、ユーザ設定とはせずシステムで暗黙的に自動設定とすることも可能である。
【0015】
表データ更新不可・行削除不可の表を定義する場合のSQLの一例がSQL1である。SQL1で定義される表1は、行挿入および検索(もしくは参照)は可能であるが、表データ更新および行削除は不可の表となる。一方、表データ更新不可である点はSQL1と同様であるが、挿入後、一定期間を経過した行に限り削除可能となるオプションを指定したSQLの一例がSQL2である。このSQL例では、行挿入後、3年を経過した行に限り削除可能となる。SQL2で定義される表2は、行挿入・検索は可能、表データ更新は不可である点は表1と同様であるが、行挿入後、一定期間を経過した行については削除可能となる点が表1とは異なる。SQL2のSQL例では、行削除禁止期間に「3YEARS(3年)」を指定し、行挿入履歴保持列名として「カルテ作成日」を指定している。これにより、表2に行挿入時、行挿入日時が「カルテ作成日」にシステムにより自動的に格納され、表2の行削除要求時、「カルテ作成日」に格納された行挿入日時に3年を加算した結果と行削除要求日時とを比較し、削除しようとする行が挿入後3年を経過した行であれば削除可能となる。データベースに設定されたこれらの属性は、当該データベースの所有者やその権限を許可されたものでは変更することができない。つまり、一度設定されると、当該データベースの所有者やその権限を許可されたものでは変更することができないことになる。このようにすることにより、データベースが不正にまたは誤って変更されることを防ぐ。
【0016】
図3は、表に対するデータ挿入処理の流れを示す図である。表に対しデータを挿入する場合、まず改竄防止属性有りの表か否かをチェックし(301)、改竄防止属性無しの場合はそのままデータ挿入処理を実行する(304)。301で改竄防止属性有りの表の場合は、行削除禁止期間の指定が有るか否かチェックし(302)、行削除禁止期間の指定が無い場合はデータ挿入処理を実行する。302で行削除禁止期間の指定が有る場合は、行挿入履歴保持列に格納するデータ(時刻印)を作成後、データ挿入処理を実行する。ここで、行挿入履歴保持列に格納するデータをユーザが指定することはできない。例え指定されていたとしても、指定値を無視し、システムが作成したデータを格納する。具体例としては、図4の表2は、「カルテID」列が「001」の行を2002年6月1日に挿入し、同様に「カルテID」列が「002」の行を2002年6月10日に挿入、「カルテID」列が「003」の行を2002年6月18日に挿入した場合の例である。
【0017】
図2で定義した表1及び表2にデータ挿入後、表データの更新SQL及び行削除SQLを実行した場合の例を図4に示す。ここで、SQL1は表1のある行に対する更新を指示するSQL、SQL2は表1のある行の削除を指示するSQL、SQL3は表2のある行に対する更新を指示するSQL、SQL4は表2の「カルテID」列の値が「001」である行の削除を指示するSQLである。改竄防止属性有りの表1又は表2に対し、表データ更新を指示するSQL(SQL1又はSQL3)を実行した場合、データベース管理システムはUPDATE不可の旨を示す情報をUAPに返す(401)。行削除禁止期間指定無しの表1に対し、行削除を指示するSQL(SQL2)を実行した場合、データベース管理システムはDELETE不可の旨を示す情報をUAPに返す。行削除禁止期間有りの表2に対し、行削除を指示するSQL(SQL4)を実行した場合、削除対象の行が行削除禁止期間経過前であればデータベース管理システムはDELETE不可の旨をUAPに返し、削除対象の行が行削除禁止期間経過後であればデータベース管理システムはDELETE処理を実施する。
【0018】
図5は、表データの更新処理の流れを示す図である。表データ更新要求があった場合、まず改竄防止属性有りの表か否かをチェックし(501)、改竄防止属性無しの場合は表データ更新実行者が表の所有者か否かチェックし(502)、表の所有者であれば更新処理を実行する(504)。502で表の所有者でない場合は、表データ更新実行者が表の所有者から当該表に対する更新権限を譲渡されているかチェックし(503)、譲渡されていれば更新処理を実行し(504)、譲渡されていなければ更新不可とする(505)。一方、501で改竄防止属性有りの場合は、例え表の所有者であったとしても更新不可となる(506)。具体例として、図4のSQL1及びSQL3のSQL例では、501のチェックでYESとなり、更新不可となる。
【0019】
図6は、行削除処理の流れを示す図である。行削除要求があった場合、まず改竄防止属性有りの表か否かをチェックし(601)、改竄防止属性無しの場合は行削除実行者が表の所有者か否かチェックし(602)、表の所有者であれば行削除処理を実行する(604)。602で表の所有者でない場合は、行削除実行者が表の所有者から当該表に対する行削除権限を譲渡されているかチェックし(603)、譲渡されていれば更新処理を実行し(604)、譲渡されていなければ行削除不可とする(605)。一方、601で改竄防止属性有りの場合は、次に行削除禁止期間指定有りの表か否かをチェックし(606)、行削除禁止期間の指定が無しであれば、例え表の所有者であったとしても削除不可となる(608)。606で行削除禁止期間の指定が有りの場合は、削除対象の行中の行挿入日時保持列の値に行削除禁止期間列の値を加算し行削除実行日と比較することで、削除禁止期間を経過した行か否かをチェックし(607)、削除禁止期間を経過した行であれば602の処理に分岐し、削除禁止期間を経過していない行であれば行削除不可とする(608)。具体例として、図4のSQL2のSQL例では、601でYES、606でNOとなり、行削除不可となり、SQL3のSQL例では、601でYES、606でYES、607の判定で削除禁止期間を経過後の行ではYESとなり表所有者又は表所有者から削除権限を譲渡されている者であれば行削除可、削除禁止期間を経過前の行ではNOとなり行削除不可となる。
【0020】
図7は、表定義の削除処理の流れを示す図である。表定義削除要求があった場合、まず改竄防止属性有りの表か否かをチェックし(701)、改竄防止属性無しの場合は表定義削除実行者が表の所有者又はDBA権限者か否かをチェックし(702)、表の所有者又はDBA権限者であれば表定義削除処理を実行する(703)。ここでの「DBA権限者」とは、データベース管理システムにおける管理者権限を持つユーザのことである。通常、データベース管理システムにおいては、「DBA権限者」と「一般利用者」に大別され、DBA権限者は一般利用者には利用できないデータベースを管理する機能を利用することが可能である。702で表の所有者又はDBA権限者でない場合は、表定義削除不可となる(704)。一方、701で改竄防止属性有りの表の場合は、表にデータがあるか否かをチェックし(705)、表にデータが有る場合は、例え表の所有者又はDBA権限者であったとしても表定義削除不可となる(706)。705で表にデータが1件も無い場合は、702に分岐する。具体例として、図4の表1・表2に対する表定義削除要求があった場合を考える。この場合、701でYES、705でYESとなり表定義削除不可となる。
【0021】
図8は、表定義の変更処理の流れを示す図である。表定義変更要求があった場合、まず改竄防止属性有りの表か否かをチェックし(801)、改竄防止属性無しの場合は表定義変更実行者が表の所有者又はDBA権限者か否かをチェックし(802)、表の所有者又はDBA権限者であれば表定義変更処理を実行する(803)。802で表の所有者又はDBA権限者でない場合は、
表定義変更不可となる(804)。一方、801で改竄防止属性有りの表の場合は、表名の変更、改竄防止属性の解除、行削除禁止期間の変更、又は行挿入日時保持列の削除のいずれかであるか否かをチェックし(805)、805のいずれかに合致する場合は、例え表の所有者又はDBA権限者であったとしても表定義変更不可となる(806)。805でいずれの条件にも合致しない場合は、802に分岐する。具体例として、図4の表1・表2に対する表定義変更要求(表名の変更、改竄防止属性の解除、行削除禁止期間の変更、又は行挿入日時保持列の削除)があった場合を考える。この場合、801でYES、805でYESとなり表定義変更不可となる。
【0022】
図9は、本発明における表データのアンロード・リロード処理を示す図である。ここで、ステータスファイルとは、データベース管理システムの状態やデータベースの状態等の情報を格納し、データベース管理システムを再起動するときに参照するファイルのことである。また、アンロードとは、データベースの内容を、磁気テープ等の外部記憶媒体に複写することであり、バックアップとも呼ばれる。また、リロードとは、アンロードしたデータをデータベースに書き戻すことを言う。図9では、改竄防止属性有りの表(表1及び表2)と改竄防止属性無しの表(表3)をそれぞれ2002年6月20日、同25日、同18日にアンロードし、その後の表1及び表3のアンロード媒体の各表へにおけるリロード可否について説明する。まず、改竄防止属性有りの表(表1)のデータをアンロードする場合について説明する。アンロードユティリティ901は、改竄防止属性有りの表1のデータを外部記憶媒体903にコピーする。この時、アンロードユティリティは、表名及びアンロード日時をステータスファイル(905)及び外部記憶媒体903に記録する。903をリロードユティリティ902でデータベースに書き戻す際、同一表(表1)へのリロードは、ステータスファイル中のアンロード日時と903中のアンロード日時及び表名とが一致する場合にのみ実行できる。他の改竄防止属性有りの表(表2)へのリロードは不可となる。改竄防止属性無しの他表(表3)へのリロードは可である。次に、改竄防止属性無しの表(表3)のデータをアンロードする場合について説明する。アンロードユティリティで表3のデータを904にコピーする。904は、改竄防止属性無しの表に対してはリロード可能であるが、改竄防止属性有りの表(表1又は表2)に対してはリロードできない。
【0023】
図10は、リロード処理の流れを示す図である。リロード処理では、まずアンロード元が改竄防止属性有りの表か否かをチェックし(1001)、アンロード元が改竄防止属性無しの表の場合は次にリロード先が改竄防止属性有りの表か否かをチェックし(1002)、リロード先が改竄防止属性無しの表であればリロード処理を実行する(1003)。1002で改竄防止属性有りの表の場合は、リロード不可(1004)となる。1001で改竄防止属性有りの表の場合は、次にリロード先が改竄防止属性有りの表か否かをチェックし(1005)、リロード先が改竄防止属性無しの表であればリロード処理を実行する(1003)。1005でリロード先が改竄防止属性有りの表であれば、次にアンロード元の表名とリロード先の表名が同じか否かチェックし(1006)、表名が異なればリロード不可(1008)となる。1006で表名が同じ場合は、次にステータスファイル中の当該ファイルのアンロード日時と外部記憶媒体中のそれとを比較し(1007)、一致する場合はリロード処理を実行し、不一致の場合はリロード不可(1008)となる。具体例として、図9の表1をアンロードした903を表2にリロードする場合を考える。アンロード元の表1は改竄防止属性有りの表なので1001でYES、リロード先の表2も改竄防止属性有りの表なので1005でYES、表1と表2は表名が異なるので1006でNOとなり、リロード不可となる。さらに具体例として、図9の表1をアンロードした903を表1自身にリロードする場合を考える。この場合は、1001でYES、1005でYES、1006でYESとなり、903中のアンロード日時とステータスファイル中の表1アンロード日時とが一致するため1007でYESとなりアンロード可となる。表1に対する古い世代のアンロード媒体を使用した場合、1007でアンロード日時が不一致となるため、アンロード不可となる。さらに具体例として、図9の表3をアンロードした904を表1にリロードする場合を考える。アンロード元の表3は改竄防止属性無しのため1001でNO、リロード先の表1は改竄防止属性有りのため1002でYESとなり、リロード不可となる。
【0024】
以上述べたように処理することにより、ディクショナリに表の属性として改竄防止属性、行削除禁止期間、及び行挿入日時保持列名を持ち、表データ更新または行削除要求時に表の属性及び行挿入日時をチェックすることで、更新を不可としたい表データに対し、表所有者や更新権限を譲渡された者であっても更新を不可とし、不正にまたは誤って更新することを防ぐことを可能とし、また、行挿入後、一定期間行データを削除不可としたい表データに対し、表所有者や行削除権限を譲渡された者であっても行削除を不可とし、不正にまたは誤って行を削除することを防ぐことを可能とする。
【0025】
図11から図14は図2から図8と同様に改竄防止属性有りの表に対するデータ更新を不可とする実施例を示す図であるが、図2から図8と異なり、図2に示すパラメタP3を利用者が指定をしなくともパラメタP1の指定の有無により暗黙的に設定する実施例、およびデータ挿入日であればデータの更新を可能とする実施例、および列単位で改竄防止属性の定義を可能とする実施例である。
【0026】
図11は図2と同様に本発明の特長を表す表定義文の一例と、改竄防止定義情報がディクショナリに格納されている様子を示す図であり、パラメタP3を利用者が指定をしなくともパラメタP1の指定の有無により暗黙的に設定する一例および列単位で改竄防止属性の定義を可能とする一例である。SQL1は、図2で示した表2と同じ属性を持ち、パラメタP3を指定せずに定義する場合のSQLの一例である。このSQL例では、行挿入後、3年を経過した行に限り削除可能となる。SQL1では、行削除禁止期間に「3YEARS(3年)」を指定し、行挿入履歴保持列名は指定していない。DB定義処理1104はSQL中にパラメタP2が指定され、かつパラメタP3が指定されていない場合は、行挿入日時保持列を暗黙的に設定する必要があると判断し、行挿入保持列として列「XXXXX」を暗黙的に定義する。これにより、ディクショナリ1102の表3に対応する行挿入日時保持列名列に「XXXXX」が格納される。本例では、DB定義処理1104が行挿入日時保持列名として「XXXXX」を定義する例を示したが、一般的なデータベース管理システムにおいては、利用者が任意に列名の変更や追加を行うことが可能である。従って、DB定義処理1104が行挿入日時保持列名を暗黙的に設定する際の列名称に関しては、利用者が指定できない名称にするなどの配慮が必要となる。SQL2に示す表4は1101に示すパラメタ名P1を列単位に指定することにより、列単位で改竄防止属性の設定を可能とする例である。表4は「カルテID」に対し「Y」を指定することで、改竄防止属性有りの表でかつ、列「カルテID」は改竄防止属性有りの列となり、ディクショナリ1102の改竄防止属性列にその旨を示す「Y」が格納され、さらに列の定義情報を管理するディクショナリ表1103の改竄防止属性列にその旨を示す「Y」が格納される。また、表4は改竄防止属性に加え、1101に示すパラメタ名P2に行削除禁止期間が指定されているが、行削除禁止期間の定義の流れについては表3と同じであるため説明は省略する。
【0027】
図12は図11で定義した列単位に改竄防止属性を定義した表4にデータ挿入後、表データの更新SQLを実行した場合の例を示し、さらに改竄防止属性有りの表あるいは改竄防止表あり列に対する表データ更新を行挿入日当日であれば可能とする例を示す。図2においては、表全体を改竄防止属性とする例を示したが、例えば人員管理データベースにおいて、姓と名を列を分けているような場合、婚姻等により姓が変更となる場合は姓の変更、すなわちデータの更新を必要とする場合が想定される。また、図4においては行挿入後、削除禁止期間内は一切の更新を不可とする例を示したが、挿入したデータ中にキー入力ミスなどによる誤りがあり、データの修正および更新をしたい場合が実際の運用上では少なくないと想定される。ここで、SQL1は表4の改竄星属性有りの列に対する更新を指示するSQL、SQL2は表4の改竄防止属性無しの列に対する更新を指示するSQLである。行削除SQL実行時の流れについては、図4と同じであるため説明は省略する。改竄防止属性有りの表4に対し、改竄防止属性有りの列に対する表データ更新を指示するSQL(SQL1)を実行した場合、データベース管理システムは更新対象となる行が挿入日当日であればUPDATE可、挿入日当日でなければ不可の旨を示す情報をUAPに返す(1201)。改竄防止属性有りの表4に対し、改竄防止属性有りの列に対する表データ更新を指示するSQL(SQL2)を実行した場合、データベース管理システムはUPDATE可の旨を示す情報をUAPに返す。(1201)
図13は、図5と同様に表データの更新処理の流れを示す図であり、列単位での改竄防止属性の有無により更新可/不可の制御を行い、かつ行挿入日当日であれば表データの更新を可能とする例を示す。図5においては、表データ更新要求があった場合、まず改竄防止属性有りの表か否かをチェック(501)し、更新不可(506)としているが、行挿入当日であれば表データの更新を可能とする場合においては、改竄防止属性有りの表か否かをチェック後に更新する行の挿入日が行を挿入した当日であるかどうかのチェック(1306)を加えることで実現できる。表データ更新要求があった場合、まず改竄防止属性有りの表か否かをチェックし(1301)、改竄防止属性無しの場合は表データ更新実行者が表の所有者か否かチェックし(1302)、表の所有者であれば更新処理を実行する(1304)。1302で表の所有者でない場合は、表データ更新実行者が表の所有者から当該表に対する更新権限を譲渡されているかチェックし(1303)、譲渡されていれば更新処理を実行し(1304)、譲渡されていなければ更新不可とする(1305)。1301で改竄防止属性有りの場合は、更新する行の挿入日が行納入当日であるかをチェックし(1306)、行挿入当日の場合は1302以降の処理を実行する。行挿入当日でない場合は、更新する列が改竄防止属性有りの列であるかをチェックし(1307)、改竄防止属性有りの列である場合は例え表の所有者であったとしても更新不可となる(1308)。改竄防止属性有りの列でない場合は1302以降の処理を実行する。本実施例では、改竄防止属性有りの表においての行の更新猶予期間を行挿入日当日としているが、行挿入日時保持列を持つ表であれば、行挿入日時から24時間以内や12時間以内など、詳細な更新猶予期間を設けることも可能である。この場合は、更新する行の挿入日が行挿入当日であるかどうかのチェック(1306)内容を「行挿入日時保持列が持つ日時から24時間以内か」などに変更することで実現可能である。以上、図12および図13では、列単位で改竄防止属性が設定されている場合での更新猶予期間を設ける実施例を示したが、図2に示すような列単位での改竄防止属性が設定されていない場合においては、列単位での改竄防止属性が設定がされていないことを改竄防止属性ありと見なし、図13中の更新する列が改竄防止属性有りの列であるかをチェック(1307)に、「または、改竄防止属性が設定されていない列か」という条件を加えることで実現可能である。
【0028】
図14は、列単位での改竄防止属性が定義されている表への表定義の変更処理の流れを示す図である。表定義変更要求があった場合、まず改竄防止属性有りの表か否かをチェックし(1401)、改竄防止属性無しの場合は表定義変更実行者が表の所有者又はDBA権限者か否かをチェックし(1402)、表の所有者又はDBA権限者であれば表定義変更処理を実行する(1403)。ここでの「DBA権限者」とは、データベース管理システムにおける管理者権限を持つユーザのことである。通常、データベース管理システムにおいては、「DBA権限者」と「一般利用者」に大別され、DBA権限者は一般利用者には利用できないデータベースを管理する機能を利用することが可能である。1402で表の所有者又はDBA権限者でない場合は、表定義変更不可となる(1404)。1401で改竄防止属性有りの表の場合は、表名の変更、改竄防止属性の解除、行削除禁止期間の変更、又は行挿入日時保持列の削除のいずれかであるか否かをチェックし(1405)、1405のいずれかに合致する場合は、例え表の所有者又はDBA権限者であったとしても表定義変更不可となる(1408)。1405でいずれの条件にも合致しない場合は、列の定義変更であるかをチェックし(1406)、列の定義である場合は改竄防止属性有りの列かをチェックし(1407)、改竄防止有りの列である場合は、例え表の所有者又はDBA権限者であったとしても表定義変更不可となる(1408)。1407にて、改竄防止属性有りの列ではない場合は、1402以降の処理を行う。1406にて、列の定義変更で無い場合は、例え表の所有者又はDBA権限者であったとしても表定義変更不可となる(1408)。
【0029】
【発明の効果】
不正にまたは誤ってデータベースへの処理が実行されることを防ぐことが可能となる。
【図面の簡単な説明】
【図1】本発明に係わるデータベース管理方法及び装置である。
【図2】改竄防止を定義する定義文と改竄防止情報を格納するディクショナリ表の内容の一例である。
【図3】データ挿入時における流れを示す図である。
【図4】表データ削除SQL及び行削除SQLを実行した場合の例である。
【図5】データ更新時における流れを示す図である。
【図6】行削除時における流れを示す図である。
【図7】表定義削除時における流れを示す図である。
【図8】表定義変更時における流れを示す図である。
【図9】アンロード・リロード処理を実行した場合の例である。
【図10】リロード処理における流れを示す図である。
【図11】改竄防止を定義する定義文と改竄防止情報を格納するディクショナリ表の内容の一例である。
【図12】表データ更新SQLを実行した場合の例である。
【図13】データ更新時における流れを示す図である。
【図14】表定義変更時における流れを示す図である。
【符号の説明】
901:アンロードユティリティ
902:リロードユティリティ
903:外部記憶媒体
904:外部記憶媒体
Claims (8)
- データベースを格納する記憶装置及び前記データベースへのアクセスに関する管理情報を格納する管理情報記憶部と通信可能に接続され、通信線を介して接続された少なくとも1つの端末装置からの前記データベースへのアクセス要求を前記管理情報に基づいて制御する制御部を有するデータベース管理装置のデータベース管理方法であって、
前記制御部が、
前記少なくとも1つの端末装置から、前記データベースに含まれる表を特定する識別情報と前記データベースに含まれる表のアクセス属性情報とを含む表定義要求を受信するステップと、
該アクセス属性情報が改竄防止属性である場合、該改竄防止属性を前記管理情報記憶部に記憶し、当該表に対するデータ挿入及びデータ参照のアクセスを前記少なくとも1つの端末装置に許可するとともに当該表に挿入されたデータの更新、削除又は前記データの更新及び削除の両方を禁止する属性を設定するステップと、
前記設定後、前記少なくとも1つの端末装置から前記表の表定義を削除する要求を受信する場合、該表定義に関して、前記改竄防止属性が設定されているか否かを判断するステップと、
該判断の結果、該改竄防止属性が設定されている場合、前記設定後に受信した表定義を削除する要求を不可とするステップと、
を含むことを特徴とするデータベース管理方法。 - 請求項1に記載のデータベース管理方法であって、
前記表定義要求の改竄防止属性は、前記削除を禁止する属性情報とともに該表に挿入されたデータの削除を禁止する期間を示す削除禁止期間情報を更に含み、
前記制御部が、
前記削除禁止期間情報を前記管理情報記憶部に記憶するステップと、
前記データを前記表に挿入した時刻情報を記憶するステップと、
前記少なくとも1つの端末装置からの前記データに対する削除要求に対し、該データを前記データベースに含まれる表に挿入した時刻情報及び前記削除禁止期間情報に基づいて、該データの削除禁止期間が経過しているか否かを判断するステップと、
該判断の結果、該削除禁止期間が経過している場合、前記データの削除を許可し、該削除禁止期間を経過していない場合、前記データの削除を禁止するステップと、
を更に含むことを特徴とするデータベース管理方法。 - 請求項1又は2に記載のデータベース管理方法であって、
前記表定義要求の改竄防止属性は、データ更新猶予期間を更に含み、
前記制御部が、
前記少なくとも1つの端末装置から前記データベースに含まれる表のデータに対するデータ更新要求を受け付け、該データ更新要求の受付時間が、前記データ更新猶予期間内であるか否かを判断するステップと、
該判断の結果が、前記データ更新猶予期間内である場合、前記更新要求されたデータのデータ更新を行い、前記データ更新猶予期間内でない場合、前記更新要求されたデータのデータ更新を行わないステップと、
を更に含むことを特徴とするデータベース管理方法。 - 請求項1〜3のいずれか一項に記載のデータベース管理方法であって、
前記データベース管理装置は、前記記憶装置に格納されたデータベースのデータのアンロード先である他の記憶装置と更に接続され、
前記制御部が、
前記データベースに含まれる表のデータを前記他の記憶装置にアンロードする際、該データベースに含まれる表に前記改竄防止属性が設定されているか否かを判断するステップと、
該判断の結果が、設定されているものである場合、前記データベースのデータ及びアンロード時間を前記他の記憶装置に記憶するとともに該アンロード時間を前記データベースの状態情報を記憶する状態情報記憶部に記憶するステップと、
前記他の記憶装置に記憶されたデータを前記データベースにリロードする際、該他の記憶媒体に記憶されたアンロード時間と前記状態情報記憶部に記憶されたアンロード時間が一致するか否かを判定するステップと、
該判定の結果、前記アンロード時間が一致する場合、前記他の記憶装置に記憶されたデータベースのデータをリロードするステップと、
を更に含むことを特徴とするデータベース管理方法。 - 請求項4に記載のデータベース管理方法であって、
前記制御部が、
前記データベースに含まれる表を前記他の記憶装置にアンロードする際、該データベースに含まれる表に改竄防止属性が設定されているか否かを判断するステップでの判断結果が、設定されていないとするものである場合、前記データベースのデータを前記他の記憶装置に記憶するステップと、
前記他の記憶装置に記憶されたデータを前記データベースに含まれる表にリロードする際、該データベースに含まれる表に前記改竄防止属性が設定されているか否かを判断するステップと、
前記判断の結果、前記改竄防止属性が設定されていない場合、前記他の記憶装置に記憶されたデータを前記データベースにリロードし、前記改竄防止属性が設定されている場合、前記他の記憶装置に記憶されたデータを該データベースにリロードすることを禁止するステップと、
を更に含むことを特徴とするデータベース管理方法。 - 請求項1〜5のいずれか一項に記載のデータベース管理方法であって、
前記改竄防止属性は、前記データベースに含まれる表における列に設定することを特徴とするデータベース管理方法。 - データベースを格納する記憶装置及び前記データベースへのアクセスに関する管理情報を格納する管理情報記憶部と通信可能に接続され、通信線を介して接続された少なくとも1つの端末装置からの前記データベースへのアクセス要求を前記管理情報に基づいて制御する制御部を有するデータベース管理装置であって、
前記制御部が、
前記少なくとも1つの端末装置から、前記データベースに含まれる表を特定する識別情報と前記データベースに含まれる表のアクセス属性情報とを含む表定義要求を受信する手段と、
該アクセス属性情報が改竄防止属性である場合、該改竄防止属性を前記管理情報記憶部に記憶し、当該表に対するデータ挿入及びデータ参照のアクセスを前記少なくとも1つの端末装置に許可するとともに当該表に挿入されたのデータの更新、削除又は前記データ更新及び削除の両方を禁止する属性を設定する手段と、
前記設定後、前記少なくとも1つの端末装置から前記表の表定義を削除する要求を受信する場合、該表定義に関して、前記改竄防止属性が設定されているか否かを判断する手段と、
該判断の結果、該改竄防止属性が設定されている場合、前記設定後に受信した表定義を削除する要求を不可とする手段と、
を有することを特徴とするデータベース管理装置。 - データベースを格納する記憶装置及び前記データベースへのアクセスに関する管理情報を格納する管理情報記憶部と通信可能に接続され、通信線を介して接続された少なくとも1つの端末装置からの前記データベースへのアクセス要求を前記管理情報に基づいて制御する制御部を有するデータベース管理装置の前記制御部に、
前記少なくとも1つの端末装置から、前記データベースに含まれる表を特定する識別情報と前記データベースに含まれる表のアクセス属性情報とを含む表定義要求を受信する機能と、
該アクセス属性情報が改竄防止属性である場合、該改竄防止属性を前記管理情報記憶部に記憶し、当該表に対するデータ挿入及びデータ参照のアクセスを前記少なくとも1つの端末装置に許可するとともに当該表に挿入されたのデータの更新、削除又は前記データ更新及び削除の両方を禁止する属性を設定する機能と、
前記設定後、前記少なくとも1つの端末装置から前記表の表定義を削除する要求を受信する場合、該表定義に関して、前記改竄防止属性が設定されているか否かを判断する機能と、
該判断の結果、該改竄防止属性が設定されている場合、前記設定後に受信した表定義を削除する要求を不可とする機能と、
を実現させることを特徴とするプログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003177458A JP4467257B2 (ja) | 2002-06-28 | 2003-06-23 | データベース管理方法および装置並びにその処理プログラム |
US10/602,621 US7127462B2 (en) | 2002-06-28 | 2003-06-25 | Method and apparatus for managing a database and processing program therefor |
US11/583,884 US7831618B2 (en) | 2002-06-28 | 2006-10-20 | Method and apparatus for managing a database and processing program therefor |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002188931 | 2002-06-28 | ||
JP2003177458A JP4467257B2 (ja) | 2002-06-28 | 2003-06-23 | データベース管理方法および装置並びにその処理プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004086872A JP2004086872A (ja) | 2004-03-18 |
JP4467257B2 true JP4467257B2 (ja) | 2010-05-26 |
Family
ID=31996072
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003177458A Expired - Lifetime JP4467257B2 (ja) | 2002-06-28 | 2003-06-23 | データベース管理方法および装置並びにその処理プログラム |
Country Status (2)
Country | Link |
---|---|
US (2) | US7127462B2 (ja) |
JP (1) | JP4467257B2 (ja) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7765247B2 (en) * | 2003-11-24 | 2010-07-27 | Computer Associates Think, Inc. | System and method for removing rows from directory tables |
WO2005086003A1 (ja) * | 2004-03-08 | 2005-09-15 | Annex Systems Incorporated | データベース・システム |
US7743255B2 (en) * | 2005-06-17 | 2010-06-22 | Tanmoy Dutta | Trust model for a database management system supporting multiple authorization domains |
US7747597B2 (en) * | 2005-06-29 | 2010-06-29 | Microsoft Corporation | Security execution context for a database management system |
US7826842B2 (en) * | 2005-07-01 | 2010-11-02 | Research In Motion Limited | System and method for managing forbidden network lists on a wireless user equipment (UE) device |
CN100401299C (zh) * | 2006-01-10 | 2008-07-09 | 英业达股份有限公司 | 数据处理系统及方法 |
JP4931237B2 (ja) * | 2007-08-09 | 2012-05-16 | キヤノン株式会社 | 文書管理システム、文書管理方法、コンピュータプログラム、および記憶媒体 |
US9626421B2 (en) * | 2007-09-21 | 2017-04-18 | Hasso-Plattner-Institut Fur Softwaresystemtechnik Gmbh | ETL-less zero-redundancy system and method for reporting OLTP data |
WO2009061320A2 (en) * | 2007-11-08 | 2009-05-14 | Comodo Ca, Inc. | Method and system for protecting a computer against malicious software |
JP2009289040A (ja) * | 2008-05-29 | 2009-12-10 | Seiko Epson Corp | Id発行システムおよびこれに用いられるid発行サーバ |
WO2010103566A1 (en) | 2009-03-10 | 2010-09-16 | Hitachi, Ltd. | Storage apparatus, management apparatus, and method of controlling storage apparatus |
US9304753B2 (en) * | 2009-06-30 | 2016-04-05 | Sap Se | Handling data access requests in computer program updates |
JP5053402B2 (ja) * | 2010-03-24 | 2012-10-17 | 株式会社エヌ・ティ・ティ・ドコモ | 情報端末およびデータ削除方法 |
US8301610B2 (en) * | 2010-07-21 | 2012-10-30 | Sap Ag | Optimizing search for insert-only databases and write-once data storage |
JP5608633B2 (ja) * | 2011-12-21 | 2014-10-15 | 株式会社野村総合研究所 | データ利用システム |
US9218371B2 (en) | 2012-02-29 | 2015-12-22 | International Business Machines Corporation | Automatic table cleanup for relational databases |
US10492053B2 (en) * | 2012-10-01 | 2019-11-26 | Scott R. Copeland | System for a monitored and reconstructible personal rendezvous session |
US10178188B2 (en) * | 2012-10-01 | 2019-01-08 | Scott R. Copeland | System for a monitored and reconstructible personal rendezvous session |
US9870382B2 (en) * | 2014-03-25 | 2018-01-16 | Sap Se | Data encoding and corresponding data structure |
CN105718491A (zh) | 2014-12-04 | 2016-06-29 | 阿里巴巴集团控股有限公司 | 数据库之间更新的方法及其装置 |
WO2016183549A1 (en) | 2015-05-14 | 2016-11-17 | Walleye Software, LLC | Dynamic join processing using real time merged notification listener |
KR101905771B1 (ko) * | 2016-01-29 | 2018-10-11 | 주식회사 엔오디비즈웨어 | 시스템 환경 및 사용자 행동 분석 기반의 자기 방어 보안 서버와 이의 작동 방법 |
US10277561B2 (en) | 2016-07-22 | 2019-04-30 | International Business Machines Corporation | Database management system shared ledger support |
US20180067972A1 (en) | 2016-09-07 | 2018-03-08 | International Business Machines Corporation | Automatically setting an auto-purge value to multiple tables within a database |
CN107193910A (zh) * | 2017-05-14 | 2017-09-22 | 四川盛世天成信息技术有限公司 | 一种应用于数据安全类产品的数据库防篡改方法及系统 |
US10002154B1 (en) | 2017-08-24 | 2018-06-19 | Illumon Llc | Computer data system data source having an update propagation graph with feedback cyclicality |
US11107022B2 (en) * | 2018-09-26 | 2021-08-31 | CBRE, Inc. | Role-based access control with building information data model for managing building resources |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4899299A (en) * | 1987-12-23 | 1990-02-06 | International Business Machines Corporation | Method for managing the retention of electronic documents in an interactive information handling system |
US5347579A (en) * | 1989-07-05 | 1994-09-13 | Blandford Robert R | Personal computer diary |
US5150407A (en) * | 1991-12-16 | 1992-09-22 | Chan Steve S C | Secured data storage devices |
US5467396A (en) * | 1993-10-27 | 1995-11-14 | The Titan Corporation | Tamper-proof data storage |
US5586301A (en) * | 1994-11-09 | 1996-12-17 | Ybm Technologies, Inc. | Personal computer hard disk protection system |
US5924094A (en) * | 1996-11-01 | 1999-07-13 | Current Network Technologies Corporation | Independent distributed database system |
US6487552B1 (en) * | 1998-10-05 | 2002-11-26 | Oracle Corporation | Database fine-grained access control |
US6397228B1 (en) | 1999-03-31 | 2002-05-28 | Verizon Laboratories Inc. | Data enhancement techniques |
US6324548B1 (en) * | 1999-07-22 | 2001-11-27 | Unisys Corporation | Database backup and recovery using separate history files for database backup and audit backup |
US6389420B1 (en) * | 1999-09-30 | 2002-05-14 | Emc Corporation | File manager providing distributed locking and metadata management for shared data access by clients relinquishing locks after time period expiration |
US6529905B1 (en) * | 2000-01-11 | 2003-03-04 | Frontline Solutions, Inc. | Method and system for allowing multiple users to edit a hierarchical data structure |
US6823398B1 (en) * | 2000-03-31 | 2004-11-23 | Dphi Acquisitions, Inc. | File system management embedded in a storage device |
CA2453082A1 (en) * | 2001-07-06 | 2003-01-16 | Computer Associates Think, Inc. | Systems and methods of information backup |
JP3797361B2 (ja) * | 2001-08-02 | 2006-07-19 | トヨタ自動車株式会社 | モータ駆動制御装置 |
JP3979226B2 (ja) * | 2002-08-23 | 2007-09-19 | ソニー株式会社 | 記録再生装置、記録管理方法、記録媒体、並びにプログラム |
US7240046B2 (en) * | 2002-09-04 | 2007-07-03 | International Business Machines Corporation | Row-level security in a relational database management system |
US20040059734A1 (en) | 2002-09-23 | 2004-03-25 | Hubbert Smith | Data access control |
GB2397401A (en) | 2003-01-15 | 2004-07-21 | Luke Leonard Martin Porter | Time in databases and applications of databases |
US7155612B2 (en) | 2003-04-30 | 2006-12-26 | International Business Machines Corporation | Desktop database data administration tool with row level security |
-
2003
- 2003-06-23 JP JP2003177458A patent/JP4467257B2/ja not_active Expired - Lifetime
- 2003-06-25 US US10/602,621 patent/US7127462B2/en not_active Expired - Fee Related
-
2006
- 2006-10-20 US US11/583,884 patent/US7831618B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US7831618B2 (en) | 2010-11-09 |
JP2004086872A (ja) | 2004-03-18 |
US7127462B2 (en) | 2006-10-24 |
US20070038631A1 (en) | 2007-02-15 |
US20040054922A1 (en) | 2004-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4467257B2 (ja) | データベース管理方法および装置並びにその処理プログラム | |
US6055546A (en) | Method and apparatus for preserving non-current information that can be overwritten in a computer file | |
US5553279A (en) | Lossless distribution of time series data in a relational data base network | |
US8386533B2 (en) | Records management of database tables | |
US6243718B1 (en) | Building indexes on columns containing large objects | |
US6393435B1 (en) | Method and means for evaluating the performance of a database system referencing files external to the database system | |
US6510552B1 (en) | Apparatus for keeping several versions of a file | |
US8788457B2 (en) | Ensuring that the archival data deleted in relational source table is already stored in relational target table | |
US6393419B1 (en) | Multipoint database synchronization protocol to avoid data corruption | |
US7933870B1 (en) | Managing file information | |
US5592661A (en) | Detection of independent changes via change identifiers in a versioned database management system | |
US7472122B2 (en) | Computer system and method for managing file versions | |
US7801855B2 (en) | Method and apparatus for merging log entries in a database management system | |
US7281084B1 (en) | Method and apparatus for modifying a retention period | |
US8572027B2 (en) | Performing synchronization among relational database tables with minimal contention | |
EP1836622B1 (en) | Methods and apparatus for managing deletion of data | |
US20070239751A1 (en) | Generic database manipulator | |
US6675180B2 (en) | Data updating apparatus that performs quick restoration processing | |
US20060106889A1 (en) | Method, system, and program for managing revisions to a file | |
US6714935B1 (en) | Management of non-persistent data in a persistent database | |
US6675257B1 (en) | System and method for managing storage space on a sequential storage media | |
US7653663B1 (en) | Guaranteeing the authenticity of the data stored in the archive storage | |
US6768985B1 (en) | Method and apparatus for administration of database partitions | |
US20150302049A1 (en) | Method and apparatus for modifying a row in a database table to include meta-data | |
US20130268503A1 (en) | Database navigation of changes at commit time |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060216 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20061010 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20061010 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20061010 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090217 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090420 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090804 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091001 |
|
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: 20100209 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100223 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4467257 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130305 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130305 Year of fee payment: 3 |
|
EXPY | Cancellation because of completion of term |