(57)【要約】【課題】詳細、かつ、動的なアクセスが可能なデータベースマネージメントシステムとアクセス制御方法を提供する。【解決手段】サブジェクト（６）からのオブジェクト（４２）へのアクセス要求を処理する機能を備えたデータベースマネージメントシステム（１）において、サブジェクト（６）からのアクセス要求の合否を決定するアクセスチェックモジュール（３）と、アクセスチェックモジュール（３）が合否を決定するために参照する関係データを含むアクセス管理データベース（５）と、を備えた。【選択図】図１
2006302191.tif 000002
【特許請求の範囲】
【請求項１】
サブジェクトからのオブジェクトへのアクセス要求を処理する機能を備えたデータベースマネージメントシステムにおいて、
サブジェクトからのアクセス要求の合否を決定するアクセスチェックモジュールと、
前記アクセスチェックモジュールが合否を決定するために参照する関係データを含むアクセス管理データベースと、
を備えたことを特徴とするデータベースマネージメントシステム。
【請求項２】
前記アクセスチェックモジュールは、サブジェクトからのアクセス要求を受信し、前記サブジェクトのどのオブジェクトに対するどのような操作を実行する要求であるかを解析し、前記オブジェクトがどのような操作を実行されたのかという関係に基づいたアクセスの合否を決定する機能を有することを特徴とする請求項１記載のデータベースマネージメントシステム。
【請求項３】
前記関係データを含むアクセス管理データベースは、管理者が定義するオブジェクトの関係を含むアクセス制御ルールテーブルと、前記アクセスルール制御テーブルのルールが有効か否かの状態を保持する状態制御テーブルと、を備えることを特徴とする請求項１記載のデータベースマネージメントシステム。
【請求項４】
前記アクセス制御ルールテーブルは、オブジェクトであるテーブルとレコードへのアクセスに関するルールとルールの関係を記述したことを特徴とする請求項３記載のデータベースマネージメントシステム。
【請求項５】
前記状態制御テーブルは、アクセス制御ルールを動的に変更することを特徴とする請求項３記載のデータベースマネージメントシステム。
【請求項６】
サブジェクトからのオブジェクトへのアクセス要求を処理する機能を備えたデータベースマネージメントシステムのアクセス制御方法において、
サブジェクトがオブジェクトに対する操作の要求を要求制御モジュールに送信するステップと、
要求制御モジュールがユーザデータベースを参照して認証をとるステップと、
要求制御モジュールがアクセスチェックモジュールにオブジェクトに対する操作のアクセスの合否を問い合わせるステップと、
アクセスチェックモジュールがアクセス管理データベースを参照してアクセスの合否を決定するステップと、
アクセスチェックモジュールが合否結果を要求制御モジュールに送信するステップと、
要求制御モジュールがアクセスが許可された場合は、ユーザデータテーブルに対して、要求を実行し、応答をサブジェクトに返すステップと、
要求制御モジュールがアクセス拒否された場合は、サブジェクトにエラーを返すステップと、
を備えることを特徴とするデータベースマネージメントシステムのアクセス制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベースマネージメントシステムとオブジェクトに対するアクセス制御方法に関する。  
【背景技術】
【０００２】
従来のデータベースマネージメントシステムのアクセス制御方法は、サブジェクトがどのオブジェクトにどの操作を実行できるかというルールによってのみ制御している。サブジェクトとオブジェクトは、それぞれユーザとテーブルであり、操作は、挿入、変更、削除、参照等がある。データベースマネージメントシステムにおける従来のアクセス制御方法とは、どのユーザがどのテーブルに対して、挿入、変更、削除、参照といった操作が可能かどうかを制御している。特許文献１では、分散型ネットワークにおけるオブジェクトへのアクセス制御システムを実現しているが、参照に関する制御のみを対象としている。
【０００３】
図４は特許文献１のネットワーク上の管理オブジェクトへのアクセスを制限するためのアクセス制御エンジンのブロック図である。図４において、イニシエータ１０４（例えば、ユーザ及びユーザに代わって動作するアプリケーションプログラム）によるネットワーク１０６上の管理オブジェクトへのアクセスを制限するアクセス制御エンジン（ＡＣＥ）１０２を有しているネットワーク管理システム１００が示されている。ネットワーク１０６は、管理機能を実行するために管理プロトコルを使用する、事実上いかなるタイプのコンピュータ実行ネットワークもなり得る。アクセス制御エンジンは、アクセス制御データベース１０８を含む。本来のネットワークそのもののように、アクセス制御データベース１０８は、オブジェクトの階層からできており、アクセス制御規則を含んでいて、規則はアクセス要求を認めないか認めるかを決定するために、アクセス要求に適用される。アクセス制御決定機能（ＡＣＤＦ）１１０は、管理オブジェクトへ要求されたアクセスを承認するか否定するかを決定するために、アクセス制御規則を各アクセス要求に適用するプロシージャ（又はプロシージャのセット）であり、アクセス要求が二つ以上の管理オブジェクトを目標にしている場合、アクセス要求のある部分は認められるが、他の部分は認められないということもある。アクセス制御実行機能１１２は、アクセス制御決定機能１１０によってなされる決定を強制するためのプロシージャ（又はプロシージャのセット）であり、特に、アクセス制御実行機能１１２は、アクセス制御決定機能１１０がアクセス否定を返した場合にアクセス否定応答を送り、アクセスが承認された場合には、アクセス要求を適切な管理オブジェクトに送るというものである。
【０００４】
特許文献２は階層構造を構成する複数のデータファイルを格納したデータベース手段と、データベース手段内のデータファイルに対するアクセスを行なう１以上の端末装置と、端末装置からデータファイルに対するアクセス要求に関する制御を実行するアクセス制御手段とを有するデータアクセス制御装置について開示しており、データベース手段は、ユーザ毎のユーザ情報を格納したユーザマスタテーブルと、前記データベースに格納された複数のデータファイル各々のデータファイルに対応するデータファイル固有情報を格納したメニューマスタテーブルとを有し、ユーザマスタテーブルは、ユーザ固有のユーザ識別子と、階層構造データメニューを一義的に決めるメニュー識別子と、ユーザ毎のデータファイルに対する処理権限として、ユーザ固有の入力権限、照会権限を設定した処理権限設定フィールドを有し、メニューマスタテーブルは、データファイルの各々に対応して設定され、階層構造データメニューを一義的に決めるメニュー識別子と、ユーザマスタテーブルの処理権限設定フィールドの設定に基づいて各ユーザ毎にそのデータファイルの起動の可否を設定した起動権限設定フィールドを有し、アクセス制御手段は、端末装置からのアクセス要求中に含まれるユーザ識別子に基づいて、ユーザマスタテーブルから対応するユーザ識別子を抽出するとともに、ユーザ識別子に対応して設定されたメニュー識別子を識別し、識別されたメニュー識別子を有するデータファイルをメニューマスターテーブルから選択して端末装置に表示メニューとして出力するとともに、メニューマスタテーブルの起動権限設定フィールドの設定値に応じてユーザマスタテーブルの処理権限設定フィールドの設定値を参照して、メニューマスタテーブルの起動権限設定フィールドの設定値、およびユーザマスタテーブルの処理権限設定フィールドの設定値に基づいて、個々のデータファイルの起動をユーザに応じて制御する構成を有するものである。図５は特許文献２のデータアクセス制御装置のシステム構成ブロック図を示しており、２３０はアクセス管理サーバ、２５０は情報ファイルデータベース、２５１はユーザマスタテーブルを記憶したユーザマスタ、２５２はメニューマスタテーブルを記憶したメニューマスタ、２１１〜２１３はユーザ端末、２２０はネットワークであり、複数のユーザ端末２１１、２１２、２１３がネットワーク２２０を介してアクセス管理サーバ２３０に接続され、アクセス管理サーバ２３０は、複数のデータファイルを構成要素とするデータを格納した情報ファイルデータベース２５０、個々のユーザ情報を格納したユーザマスタデータベース２５１、情報ファイルデータベース２５０に含まれる複数のデータファイルの各データファイルに対応させた固有情報およびデータファイルの階層構造情報に関するメニュー情報を格納したメニューマスタデータベース２５２の各々にアクセス可能な構成となっているというものである。
【特許文献１】特開２０００−４７９２４号公報（図１）
【特許文献２】特許第３３８２８８１号公報（請求項１）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
データベースマネージメントシステムにおける従来のアクセス制御方法のオブジェクトの粒度は、テーブル単位となっているために、レコード単位での詳細なアクセス制御ができないという問題があった。更に、あるサブジェクトのアクセスが、他のサブジェクトのアクセスを制御するような動的なアクセス制御ができないという問題があった。
【０００６】
本発明は、このような問題点に鑑みてなされたものであり、オブジェクトの粒度をレコードとし、動的なアクセスが可能なデータベースシステムとアクセス制御方法を提供し、データ漏洩や不正アクセス等の防止をすることを目的とする。
【課題を解決するための手段】
【０００７】
請求項１に記載の発明は、サブジェクトからのオブジェクトへのアクセス要求を処理する機能を備えたデータベースマネージメントシステムにおいて、サブジェクトからのアクセス要求の合否を決定するアクセスチェックモジュールと、前記アクセスチェックモジュールが合否を決定するために参照する関係データを含むアクセス管理データベースと、
を備えたことを特徴とするものである。
請求項２に記載の発明は、請求項１に記載のデータベースマネージメントシステムにおいて、前記アクセスチェックモジュールは、サブジェクトからのアクセス要求を受信し、前記サブジェクトのどのオブジェクトに対するどのような操作を実行する要求であるかを解析し、前記オブジェクトがどのような操作を実行されたのかという関係に基づいたアクセスの合否を決定する機能を有することを特徴とするものである。
請求項３に記載の発明は、請求項１に記載のデータベースマネージメントシステムにおいて、前記関係データを含むアクセス管理データベースは、管理者が定義するオブジェクトの関係を含むアクセス制御ルールテーブルと、前記アクセスルール制御テーブルが有効か否かの状態を保持する状態制御テーブルと、を備えることを特徴とするものである。
請求項４に記載の発明は、請求項３に記載のデータベースマネージメントシステムにおいて、前記アクセス制御ルールテーブルは、オブジェクトであるテーブルとレコードへのアクセスに関する記述をしたことを特徴とするものである。
請求項５に記載の発明は、請求項３に記載のデータベースマネージメントシステムにおいて、前記状態制御テーブルは、アクセス制御を動的に変更することを特徴とするものである
請求項６に記載の発明は、サブジェクトからのオブジェクトへのアクセス要求を処理する機能を備えたデータベースマネージメントシステムのアクセス制御方法において、サブジェクトがオブジェクトに対する操作の要求を要求制御モジュールに送信するステップと、要求制御モジュールがユーザデータベースを参照して認証をとるステップと、要求制御モジュールがアクセスチェックモジュールにオブジェクトに対する操作のアクセスの合否を問い合わせるステップと、アクセスチェックモジュールがアクセス管理データベースを参照してアクセスの合否を決定するステップと、アクセスチェックモジュールが合否結果を要求制御モジュールに送信するステップと、要求制御モジュールがアクセスが許可された場合は、ユーザデータテーブルに対して、要求を実行し、応答をサブジェクトに返すステップと、要求制御モジュールがアクセス拒否された場合は、サブジェクトにエラーを返すステップと、を備えることを特徴とするものである。
【発明の効果】
【０００８】
本発明によると、オブジェクトの粒度をレコードとし、動的なアクセスが可能なデータベースシステムとアクセス制御方法を提供することができる。これにより、アクセス制御を詳細に設計することが可能となることから、データ漏洩や不正アクセス等の防止をすることができる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の実施の形態について図を参照して説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例１】
【００１０】
図１は、本発明によるデータベースマネージメントシステムの構成図である。図１において、１はデータベースマネージメントシステム、２は要求制御モジュール、３はアクセスチェックモジュール、４はユーザデータベース、５はアクセス管理データベース、６はサブジェクトＳである。また４１はユーザデータテーブル、４２はオブジェクト、５１はアクセス制御ルールテーブル、５２は状態制御テーブルである。サブジェクト（Ｓ）６は、オブジェクト（Ｏ）４２に対する操作Ｖの要求ａを要求制御モジュールに送信する。要求ａを受信した要求制御モジュールは、サブジェクトＳの認証完了後、アクセスチェックモジュールにサブジェクト（Ｓ）のオブジェクト（Ｏ）４２に対する操作Ｖというアクセスの合否を問い合わせる（要求ｂ）。要求ｂを受信したアクセスチェックモジュールは、アクセス管理データベース５を参照してアクセスの合否を決定し、結果を要求制御モジュール２に送信する（応答ｆ）。要求制御モジュール２は、応答ｆによりアクセスが許可された場合は、ユーザデータテーブル４１に対して、要求ｄを実行し、応答ｅをサブジェクト（Ｓ）６に返す。要求制御モジュール２が応答ｆによりアクセス拒否された場合は、サブジェクト（Ｓ）６にエラーを返す。従来のデータベースマネージメントシステムにおけるアクセスの合否決定方法は、サブジェクト（Ｓ）６が操作Ｖによるオブジェクト（Ｏ）４２へのアクセスを許しているかどうかによってのみ実現されていた。すなわち、図１におけるアクセス制御ルールテーブル５１のサブジェクト（Ｓ）、操作（Ｖ）、オブジェクト（Ｏ）によってのみアクセスの合否を決定していた。ルールテーブルにアクセスルール＜Ｓ、Ｖ、Ｏ＞が存在する場合、前記アクセスは許可され、存在しない場合は拒否される。本発明は、前記オブジェクトＯがどのようなオブジェクトであるかという関係を考慮し、従来のアクセス制御方法に比べより詳細な制御が可能となる。図１におけるアクセス制御ルールテーブルのサブジェクト（Ｓ）、操作（Ｖ）、オブジェクト（Ｏ）のみではなく、オブジェクト−サブジェクト（ＯＳ）、オブジェクト−操作（ＯＶ）、種類（Ｔ）によって関係をルールに導入する。オブジェクト−サブジェクト（ＯＳ）とオブジェクト−操作（ＯＶ）は、それぞれ、前記オブジェクト（Ｏ）に対してサブジェクト（ＯＳ）が操作（ＯＶ）の操作を実施していた場合、アクセスの許可、拒否を決定することが可能となる。許可するか、拒否するかは、種類Ｔによって決定される。また、そのルールが有効か、否かの決定は、状態制御テーブル５２の状態（ＳＴ）によって決定される。ｒｉｄは、アクセス制御ルールテーブル５１のアクセスルールと状態制御テーブル５２の状態を結びつけるための関係に使用される。例えば、アクセス制御ルールテーブル＜ｒｉｄ、Ｓ、Ｏ、Ｖ、ＯＳ、ＯＶ、Ｔ＞と状態制御テーブル＜ｒｉｄ、ＳＴ＞が存在していた場合、サブジェクト（Ｓ）のオブジェクト（Ｏ）に対する操作（Ｖ）は、オブジェクト（Ｏ）がサブジェクト（ＯＳ）によって操作（ＯＶ）が実行されていた場合、許可（Ｔが許可の場合）、もしくは、拒否（Ｔが拒否の場合）される。サブジェクト（ＯＳ）がオブジェクト（Ｏ）に対して操作（ＯＶ）を実行したかどうかは、状態（ＳＴ）によって決定される。ここで、＜Ｏ、ＯＳ、ＯＶ＞は、オブジェクト（Ｏ）がサブジェクト（ＯＳ）によって操作（ＯＶ）された関係であると表現する。
【００１１】
図２は、アクセスチェックモジュール３がアクセスの合否を決定する例である。アクセス制御ルールテーブル５１におけるｒｉｄが、１と２のルールは、従来のアクセス制御方法によるアクセスルールを示す。ｒｉｄが１のルールは、ユーザｅｍｐがテーブルＲに操作ｉｎｓ（挿入）を許可し、ｒｉｄが２のルールは、ユーザｇｍがテーブルＲに対して操作ｓｅｌ（参照）を許可している。ｒｉｄが３と４のルールは、本発明による関係に基づくアクセスルールを示す。ｒｉｄが３のルールは、ユーザｅｍｐが操作ｉｎｓしたレコードＲｅｍｐに関して、ユーザｅｍｐの操作ｕｐｄ（変更）によるアクセスを許可（ｇｒ）する。ここで、Ｒｅｍｐは、ユーザｅｍｐが所有するテーブルＲ内のレコードを表すものとする。ｒｉｄが４のレコードは、ユーザｇｍが操作ｓｅｌしたテーブルＲに関して、ユーザｅｍｐの操作ｕｐｄによるアクセスを拒否（ｒｖ）する。状態制御テーブルのｒｉｄは、アクセス制御ルールテーブルのｒｉｄを示し、ｓｔは状態を示す。ｓｔには、ｉ（無効）とｖ（有効）があり、ｖの場合にのみ、該当のｒｉｄのアクセスルールが有効になる。初期状態では、すべてｉであるが、サブジェクトからのアクセスを契機に、アクセスチェックモジュール３により、ｖに変更されうる。
【００１２】
図３は、アクセスチェックモジュール３の処理フローである。図２を例にデータベースマネージメントシステム１における、アクセスチェックモジュール３の処理を説明する。ユーザｅｍｐは、ｒｉｄが１のルールによって、テーブルＲにレコードを挿入することが許可される（Ｓ１１、Ｓ１２）。その後、状態制御テーブルをチェックし（Ｓ２０）、状態制御テーブルのｒｉｄが３のｓｔをｖに変更する（Ｓ２２）。この処理で、アクセス制御ルールテーブルのｒｉｄが３のルールが有効になり、次回の要求送信からユーザｅｍｐは、テーブルＲに対して変更が可能となる（Ｓ１５、Ｓ１６）。しかし、ｒｉｄが３のルールには、＜Ｒｅｍｐ、ｅｍｐ、ｉｎｓ＞という関係が定義されているため、ユーザｅｍｐが挿入したレコードに対してのみ変更が可能となる。すなわち、ユーザｅｍｐは、テーブルＲの自分が挿入したレコードに対してのみ変更可能であるため、他のサブジェクトが挿入したレコードに対しては変更が許されない（Ｓ１１）。他のサブジェクトが挿入したレコードは、別のオブジェクトとしてアクセスされる。従来のアクセス制御方法では、関係という概念が存在しないため、ユーザｅｍｐがテーブルＲのすべてのレコードの変更ができるか否かという制御しかできない。すなわち、テーブル単位でのアクセスの制御しかできない。本発明では、関係に基づいたアクセス制御を導入しているため、テーブル単位ではなく、レコード単位でのアクセス制御が可能となる。
【００１３】
次に、ユーザｇｍがユーザｅｍｐによって挿入されたレコードを参照した場合を考える。ユーザｇｍは、ｒｉｄの２のルールによって、テーブル内のすべてのレコードを参照することが可能である。前記参照の実行の結果、状態制御テーブルのｒｉｄが４のｓｔがｖに変更され（Ｓ２２）、ｒｉｄが４のルールが有効になる。ユーザｇｍの参照後に、ユーザｅｍｐがレコードを変更する場合を考える。ユーザｅｍｐがテーブルＲのレコードを変更する場合、Ｓ１３において、ｒｉｄが４のルールがチェックされ、Ｓ１４でアクセス拒否の判定がなされ、Ｓ３０でアクセス拒否の処理が実行される。従来のアクセス制御方法では、他のサブジェクトのアクセスによって、その後のアクセス制御を動的に変更することはできないが、本発明では、関係に基づいたアクセス制御を導入しているため、動的なアクセス制御が可能となる。
【００１４】
図６は本発明のデータベースマネージメントシステムのアクセス制御方法を示したフローチャートである。ステップＳ４１でサブジェクトがオブジェクトに対する操作の要求を要求制御モジュールに送信する。次にステップＳ４２で要求制御モジュールがユーザデータベースを参照して認証をとる。次にステップＳ４３で要求制御モジュールがアクセスチェックモジュールにオブジェクトに対する操作のアクセスの合否を問い合わせる。次にステップＳ４４でアクセスチェックモジュールがアクセス管理データベースを参照してアクセスの合否を決定する。次にステップＳ４５でアクセスチェックモジュールが合否結果を要求制御モジュールに送信する。ステップ４６では、合格の場合はステップＳ４７へ不合格の場合はステップＳ４８へ移動させる。ステップＳ４７は合格の場合でユーザデータテーブルに対して要求を実行し、サブジェクトに応答を返す。ステップＳ４８は不合格の場合でサブジェクトにエラーを返す。
【産業上の利用可能性】
【００１５】
本発明により、アクセス制御を詳細に設計することが可能となることから、現在問題になっているデータ漏洩や不正アクセス等の防止が不可欠なデータベースマネージメントシステムへの適用が期待できる。
【図面の簡単な説明】
【００１６】
【図１】本発明の第１実施例を示すデータベースマネージメントシステムの構成図
【図２】本発明の第１実施例を示すアクセスルールの定義を説明する図
【図３】本発明のアクセスルールのチェック方法と状態制御テーブルの状態を操作する方法を説明する図
【図４】従来例のアクセス制御エンジンブロック図
【図５】従来例のシステム構成を示すブロック図
【図６】本発明のアクセス制御方法を示すフローチャート
【符号の説明】
【００１７】
１  データベースマネージメントシステム
２  要求制御モジュール
３  アクセスチェックモジュール
４  ユーザデータベース
５  アクセス管理データベース
６  サブジェクト（Ｓ）
４１  ユーザデータテーブル
４２  オブジェクト（ｏ）
５１  アクセス制御ルールテーブル
５２  状態制御テーブル
ａ、ｂ、ｃ、ｄ  要求
ｅ、ｆ、ｇ、ｈ  応答
【図１】
2006302191.tif 000003
【図２】
2006302191.tif 000004
【図３】
2006302191.tif 000005
【図４】
2006302191.tif 000006
【図５】
2006302191.tif 000007
【図６】
2006302191.tif 000008