(57)【要約】【課題】クライアント装置がデータベースのテーブルの列の値を取得する場合、クライアント装置及びデータベースの修正不要で、列単位でアクセス制御が可能な装置を提供する。【解決手段】受信部１１１はＳＱＬ文を含むＳＱＬ実行要求３１０を受信する。判定部１１２はテーブル名と、アクセス制御すべき列名と、列名を書き換える書き換え用データであるマスクパターンとの組を含むアクセス制御情報テーブル１２１を参照して、ＳＱＬ文にテーブル名及び列名が含まれているか判定する。書き換え部１１３はテーブル名及び列名が含まれると判定部１１２が判定した場合、列名をマスクパターンに書き換え、書き換えＳＱＬ文を含むＳＱＬ実行要求３２０をデータベース装置２００に送信する。結果送信部１１４はＳＱＬ実行要求３２０に対する実行結果を示す書き換えＳＱＬ実行結果３３０をデータベース装置２００から受信し、クライアント装置３００へ送信する。【選択図】図２
2018163490.tif 000002
【特許請求の範囲】
【請求項１】
ＳＱＬ文を含む要求であって、データベース装置に対する前記ＳＱＬ文の実行の要求であるＳＱＬ実行要求を送信するクライアント装置から、前記ＳＱＬ実行要求を受信する受信部と、
テーブル名と、前記テーブル名のテーブルにおいてアクセス制御すべき列の名称である列名と、前記列名を書き換える場合の書き換え用データであり、書き換えに対する前記データベース装置の応答が判明している書き換え用データであるマスクパターンとの組を含むアクセス制御情報を参照することにより、前記ＳＱＬ文に前記テーブル名及び前記列名が含まれているか判定する判定部と、
前記ＳＱＬ文に前記テーブル名及び前記列名が含まれると前記判定部が判定した場合に、前記ＳＱＬ文の前記列名を前記マスクパターンに書き換えて前記列名が前記マスクパターンに書き換えられた書き換えＳＱＬ文を前記データベース装置に送信する書き換え部と、
前記書き換えＳＱＬ文に対する実行結果を示す書き換えＳＱＬ実行結果を前記データベース装置から受信し、前記書き換えＳＱＬ実行結果を前記クライアント装置へ送信する結果送信部と、
を備えるアクセス制御装置。
【請求項２】
前記マスクパターンは、
前記データベース装置の判明している応答が、固定値を返す応答となる第１のマスクパターンと、
前記データベース装置の判明している応答が、ランダム値を返す応答となる第２のマスクパターンと、
前記データベース装置の判明している応答が、前記列名の値の一部を変更して返す応答となる第３のマスクパターンと、
のいずれかである請求項１に記載のアクセス制御装置。
【請求項３】
コンピュータに、
ＳＱＬ文を含む要求であって、データベース装置に対する前記ＳＱＬ文の実行の要求であるＳＱＬ実行要求を送信するクライアント装置から、前記ＳＱＬ実行要求を受信する受信処理と、
テーブル名と、前記テーブル名のテーブルにおいてアクセス制御すべき列の名称である列名と、前記列名を書き換える場合の書き換え用データであり、書き換えに対する前記データベース装置の応答が判明している書き換え用データであるマスクパターンとの組を含むアクセス制御情報を参照することにより、前記ＳＱＬ文に前記テーブル名及び前記列名が含まれているか判定する判定処理と、
前記ＳＱＬ文に前記テーブル名及び前記列名が含まれると前記判定処理で判定された場合に、前記ＳＱＬ文の前記列名を前記マスクパターンに書き換えて前記列名が前記マスクパターンに書き換えられた書き換えＳＱＬ文を前記データベース装置に送信する書き換え処理と、
前記書き換えＳＱＬ文に対する実行結果を示す書き換えＳＱＬ実行結果を前記データベース装置から受信し、前記書き換えＳＱＬ実行結果を前記クライアント装置へ送信する結果送信処理と、
を実行させるアクセス制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、クライアント装置からデータベース装置へ送信されるＳＱＬ文の内容を制御するアクセス制御装置に関する。
【背景技術】
【０００２】
データベースのテーブルに機微情報が含まれており、データベースにおけるテーブルの特定の列へのアクセスを制限したい場合は、データベース装置側、またはクライアント装置側に、テーブルの列単位のアクセス制御機能が必要となる。データベース装置側、クライアント装置側のどちらにも列単位のアクセス制御機能が無い場合は、テーブル単位のアクセス制御しか出来ない。非特許文献１に記載の技術は、クライアント装置に列単位のアクセス制御機能を有するエージェントをインストールする必要がある。
【先行技術文献】
【特許文献】
【０００３】
【非特許文献１】ＮＥＣエンジニアリング、”総合データベース  セキュリティソリューション”、［Ｏｎｌｉｎｅ］，［平成２９年３月２０日検索］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｊｐｎ．ｎｅｃ．ｃｏｍ／ｅｎｇｓｌ／ｐｒｏ／ｃａｔａｌｏｇ／ｐｄｆ／ｃｈａｋｒａｍａｘ＿ｌｅａｆ．ｐｄｆ＞
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、クライアント装置がデータベース装置におけるテーブルの列の値を取得しようとする場合に、クライアント装置及びデータベース装置の修正が不要であり、かつ、クライアント装置が列の値を取得する際のアクセス制御が可能な装置の提供を目的とする。
【課題を解決するための手段】
【０００５】
この発明のアクセス制御装置は、
ＳＱＬ文を含む要求であって、データベース装置に対する前記ＳＱＬ文の実行の要求であるＳＱＬ実行要求を送信するクライアント装置から、前記ＳＱＬ実行要求を受信する受信部と、
テーブル名と、前記テーブル名のテーブルにおいてアクセス制御すべき列の名称である列名と、前記列名を書き換える場合の書き換え用データであり、書き換えに対する前記データベース装置の応答が判明している書き換え用データであるマスクパターンとの組を含むアクセス制御情報を参照することにより、前記ＳＱＬ文に前記テーブル名及び前記列名が含まれているか判定する判定部と、
前記ＳＱＬ文に前記テーブル名及び前記列名が含まれると前記判定部が判定した場合に、前記ＳＱＬ文の前記列名を前記マスクパターンに書き換えて前記列名が前記マスクパターンに書き換えられた書き換えＳＱＬ文を前記データベース装置に送信する書き換え部と、
前記書き換えＳＱＬ文に対する実行結果を示す書き換えＳＱＬ実行結果を前記データベース装置から受信し、前記書き換えＳＱＬ実行結果を前記クライアント装置へ送信する結果送信部と、
を備える。
【０００６】
前記マスクパターンは、
前記データベース装置の判明している応答が、固定値を返す応答となる第１のマスクパターンと、
前記データベース装置の判明している応答が、ランダム値を返す応答となる第２のマスクパターンと、
前記データベース装置の判明している応答が、前記列名の値の一部を変更して返す応答となる第３のマスクパターンと、
のいずれかである。
【０００７】
この発明のアクセス制御プログラムは、
コンピュータに、
ＳＱＬ文を含む要求であって、データベース装置に対する前記ＳＱＬ文の実行の要求であるＳＱＬ実行要求を送信するクライアント装置から、前記ＳＱＬ実行要求を受信する受信処理と、
テーブル名と、前記テーブル名のテーブルにおいてアクセス制御すべき列の名称である列名と、前記列名を書き換える場合の書き換え用データであり、書き換えに対する前記データベース装置の応答が判明している書き換え用データであるマスクパターンとの組を含むアクセス制御情報を参照することにより、前記ＳＱＬ文に前記テーブル名及び前記列名が含まれているか判定する判定処理と、
前記ＳＱＬ文に前記テーブル名及び前記列名が含まれると前記判定処理で判定された場合に、前記ＳＱＬ文の前記列名を前記マスクパターンに書き換えて前記列名が前記マスクパターンに書き換えられた書き換えＳＱＬ文を前記データベース装置に送信する書き換え処理と、
前記書き換えＳＱＬ文に対する実行結果を示す書き換えＳＱＬ実行結果を前記データベース装置から受信し、前記書き換えＳＱＬ実行結果を前記クライアント装置へ送信する結果送信処理と、
を実行させる。
【発明の効果】
【０００８】
本発明によれば、クライアント装置がデータベース装置におけるテーブルの列の値を取得する場合に、クライアント装置及びデータベース装置の修正が不要であり、かつ、クライアント装置が列の値を取得する際のアクセス制御が可能な装置を提供できる。
【図面の簡単な説明】
【０００９】
【図１】実施の形態１の図で、アクセス制御システム１０００を示す図。
【図２】実施の形態１の図で、アクセス制御装置１００によるアクセス制御方式を示す図。
【図３】実施の形態１の図で、アクセス制御装置１００のハードウェア構成を示す図。
【図４】実施の形態１の図で、アクセス制御システム１０００の動作を示すフローチャート。
【図５】実施の形態１の図で、アクセス制御装置１００の動作を示すフローチャート。
【図６】実施の形態１の図で、アクセス制御情報テーブル１２１を示す図。
【図７】実施の形態１の図で、アクセス制御方式１を示す図。
【図８】実施の形態１の図で、アクセス制御方式４を示す図。
【発明を実施するための形態】
【００１０】
以下、本発明の実施の形態について、図を用いて説明する。なお、各図中、同一または相当する部分には、同一符号を付している。実施の形態の説明において、同一または相当する部分については、説明を適宜省略または簡略化する。
【００１１】
実施の形態１．
図１〜図８を参照して実施の形態１のアクセス制御システム１０００を説明する。
【００１２】
＊＊＊構成の説明＊＊＊
図１は、実施の形態１のアクセス制御システム１０００の構成図である。アクセス制御システム１０００は、アクセス制御装置１００と、データベース装置２００と、クライアント装置３００とを備えている。アクセス制御装置１００は後述するアクセス制御情報テーブル１２１を有する。図１において、データベース装置２００とアクセス制御装置１００の間、アクセス制御装置１００とクライアント装置３００の間の通信には、例えばＪＤＢＣ（登録商標）のような汎用的なＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）が用いられる。クライアント装置３００からは、アクセス制御装置１００が「列単位アクセス制御機能を備えたデータベース」のように見える。クライアント装置３００からデータベース装置２００への直接アクセスは、ファイアウォールで防止する。アクセス制御を行う列名、アクセス制御方式などの情報は、アクセス制御情報テーブル１２１に格納する。
【００１３】
アクセス制御装置１００は、クライアント装置３００とデータベース装置２００との間のアクセスを適切に制御して、クライアント装置３００とデータベース装置２００との通信を中継する。アクセス制御装置１００は、クライアント装置３００からデータベース装置２００へ中継するＳＱＬ文にアクセス制御が必要な列名が含まれる場合は、ＳＱＬ文の列名を書き換えるかＳＱＬ実行を拒否する。
図２は、アクセス制御装置１００で可能なアクセス制御方式を示す図である。図２の左列はアクセス制御方式を示し、中央の列はアクセス制御方式の説明であり、右列はデータベース装置２００から返される値の例である。図２に示すように、アクセス制御装置１００は、アクセス制御方式０からアクセス制御方式４までの５つのアクセス制御方式を有する。
（１）アクセス制御方式０は、アクセス制御無しの場合でありデータベース装置２００からは、列の値がそのまま返される。
（２）アクセス制御方式１は、列の値を固定値に変更して返す方式である。アクセス制御装置１００がＳＱＬ文の列名を、データベース装置２００が固定値を返すマスクパターンに書き換えることで、データベース装置２００は列の値を固定値に変更して返す。
（３）アクセス制御方式２は、列の値をランダム値に変更して返す方式である。アクセス制御装置１００がＳＱＬ文の列名を、データベース装置２００がランダム値を返すマスクパターンに書き換えることで、データベース装置２００は列の値をランダム値に変更して返す。
（４）アクセス制御方式３は、列の値を一部変更して返す方式である。一部変更は固定値でもよいしランダム値でもよい。アクセス制御装置１００がＳＱＬ文の列名を、データベース装置２００が列の値を一部変更して返すマスクパターンに書き換えることで、データベース装置２００は列の値を一部ランダム値あるいは一部固定値に変更して返す。
（５）アクセス制御方式４は、ＳＱＬ実行を拒否する方式である。アクセス制御装置１００は、ＳＱＬ文に該当する列名が存在する場合、ＳＱＬの実行を拒否する。
（６）マスクパターンとは、ＳＱＬ文の列名を書き換える場合の書き換え用データであり、書き換えに対するデータベース装置２００の応答が判明している書き換え用データである。「データベース装置２００の応答が判明している」とは、アクセス制御方式１であれば、そのマスクパターンに書き換えることで、データベース装置２００は列の値を固定値に変更して返すことが判明していることを意味する。また、アクセス制御方式２であれば、そのマスクパターンに書き換えることで、データベース装置２００は列の値をランダム値に変更して返すことが判明していることを意味する。また、アクセス制御方式３であれば、そのマスクパターンに書き換えることで、データベース装置２００は列の値の一部を変更して返すことが判明していることを意味する。
【００１４】
図３は、アクセス制御装置１００のハードウェア構成を示す。アクセス制御装置１００はコンピュータである。アクセス制御装置１００は、ハードウェアとして、プロセッサ１１０、記憶装置１２０及び入出力インタフェース装置１３０を備える。プロセッサ１１０は、信号線１４０を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【００１５】
プロセッサ１１０は、演算処理を行うＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）である。プロセッサ１１０は、具体例としては、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。
【００１６】
記憶装置１２０は、読み書きが可能な、主記憶装置及び補助記憶装置である。記憶装置１２０は、アクセス制御情報テーブル１２１を格納している。主記憶装置の具体例としては、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。補助記憶装置は、具体例としては、磁気ディスク装置である。補助記憶装置は、光ディスク、コンパクトディスク、ブルーレイ（登録商標）ディスク、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）といった可搬記憶媒体を使用する記憶装置であってもよい。補助記憶装置には、アクセス制御装置１００の機能を実現するためのプログラムが記憶される。
【００１７】
入出力インタフェース装置１３０は、プロセッサ１１０がデータベース装置２００及びクライアント装置３００と通信するためのインタフェース装置である。
【００１８】
アクセス制御装置１００は、機能要素として、受信部１１１、判定部１１２、書き換え部１１３、結果送信部１１４を備える。受信部１１１、判定部１１２、書き換え部１１３、結果送信部１１４の機能は、ソフトウェアにより実現される。記憶装置１２０を実現する補助記憶装置には、受信部１１１、判定部１１２、書き換え部１１３、結果送信部１１４の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ１１０により読み込まれ実行される。これにより、受信部１１１、判定部１１２、書き換え部１１３、結果送信部１１４の機能が実現される。
【００１９】
図３では、プロセッサ１１０は、１つだけ示されている。しかし、アクセス制御装置１００は、プロセッサ１１０を代替する複数のプロセッサを備えていてもよい。これら複数のプロセッサは、受信部１１１、判定部１１２、書き換え部１１３、結果送信部１１４のプログラムの実行を分担する。それぞれのプロセッサは、プロセッサ１１０と同じように、演算処理を行うＩＣである。
【００２０】
図３に示すデータベース装置２００はコンピュータである。データベース制御部２０１はプロセッサによって実現される。データベースを格納するデータベース記憶部２０２は、主記憶装置及び補助記憶装置によって実現される。入出力インタフェース装置２０３は入出力インタフェース装置１３０と同様のインタフェース装置である。
【００２１】
＊＊＊動作の説明＊＊＊
図４は、アクセス制御システム１０００の動作を示すフローチャートである。
図５は、アクセス制御装置１００の動作を示すフローチャートである。図５は図４のステップＳ１５からステップＳ１６ａまでのアクセス制御装置１００の動作を示す。
（１）ステップＳ１１からステップＳ１４は、クライアント装置３００がデータベース装置２００に接続するステップである。
（２）ステップＳ１５において、クライアント装置３００が、ＳＱＬ文３０１を含むＳＱＬ実行要求３１０を送信する。
（３）ステップＳ１６において、アクセス制御装置１００が、ＳＱＬ実行要求３１０に含まれるＳＱＬ文３０１を検査し、ＳＱＬ文３０１がアクセス制御の必要な列名を含む場合は、ＳＱＬ実行を拒否するか（ステップＳ１６ｂ）、または、マスキング用のＳＱＬ文に書き換える（ステップＳ１６ａ）。
【００２２】
図５を参照して、アクセス制御装置１００の動作を説明する。ステップＳ１６１において、受信部１１１が、入出力インタフェース装置１３０を介して、クライアント装置３００の送信したＳＱＬ実行要求３１０を受信する。ＳＱＬ実行要求３１０は、ＳＱＬ文３０１を含む要求であって、データベース装置２００に対するＳＱＬ文３０１の実行の要求である。
【００２３】
ステップＳ１６２において、判定部１１２は、後述の図６に示すアクセス制御情報１２１−１等を参照することにより、ＳＱＬ文３０１にテーブル名１２１ｂ及び列名１２１ｃが含まれているか判定する。判定部１１２はアクセス制御情報テーブル１２１を参照し、ＳＱＬ文３０１の列名をマスクパターン１２１ｅに書き換えるか、ＳＱＬ実行を拒否するかのいずれにするかを判定する。
【００２４】
＜アクセス制御情報テーブル１２１＞
図６は、アクセス制御情報テーブル１２１を示す。アクセス制御情報テーブル１２１には、アクセス制御情報１２１−１等が登録されている。図６では、アクセス制御情報１２１−１からアクセス制御情報１２１−４の４つが登録されている。特に区別の必要がない場合は、アクセス制御情報１２１−ｋと記す。アクセス制御情報１２１−ｋは、テーブル名１２１ｂと、テーブル名１２１ｂのテーブルにおいてアクセス制御すべき列の名称である列名１２１ｃと、列名１２１ｃを書き換える場合の書き換え用データであり、書き換えに対するデータベース装置２００の応答が判明している書き換え用データであるマスクパターン１２１ｅとの組を含む。また、アクセス制御情報１２１−ｋは、接続ユーザ名１２１ａ及びアクセス制御方式１２１ｄを含む。判定部１１２は、ｃｏｎｎｅｃｔ時に使用された接続ユーザ名によって接続ユーザ名１２１ａを認識可能である。アクセス制御方式１２１ｄは図２で述べたものである。アクセス制御情報テーブル１２１のアクセス制御情報１２１−ｋは、ｃｏｎｎｅｃｔ時（ステップＳ１１〜ステップＳ１４）に使用する接続ユーザ名ごとに設定される。テーブル名１２１ｂが設定されていないテーブルへのアクセスは「その他全て」として設定し、図６ではＳＱＬ実行は拒否する。
【００２５】
マスクパターン１２１ｅは、第１のマスクパターンと、第２のマスクパターンと、第３のマスクパターンとのいずれかである。
（１）第１のマスクパターンでは、データベース装置２００の判明している応答が、固定値を返す応答となる。第１のマスクパターンは図２の＜アクセス制御方式１＞の場合のマスクパターンである。
（２）第２のマスクパターンでは、データベース装置２００の判明している応答が、ランダム値を返す応答となる。第２のマスクパターンは図２の＜アクセス制御方式２＞の場合のマスクパターンである。
（３）第３のマスクパターンでは、データベース装置２００の判明している応答が、列名の値の一部を変更して返す応答となる。第３のマスクパターンは図２の＜アクセス制御方式３＞の場合のマスクパターンである。
（４）図６では、アクセス制御情報１２１−３のマスクパターン１２１ｅ＝「９９９９９９９９９」が、図６に示すように第１のマスクパターンに該当し、アクセス制御情報１２１−２のマスクパターン１２１ｅ＝「ＸＸＸ？？？」が、第３のマスクパターンに該当する。なお、図６では第２のマスクパターンは示していない。
【００２６】
ステップＳ１６３において、書き換え部１１３は、ＳＱＬ文３０１にテーブル名１２１ｂ及び列名１２１ｃが含まれると判定部１１２が判定した場合に、ＳＱＬ文３０１の列名１２１ｃをマスクパターン１２１ｅに書き換えて列名１２１ｃがマスクパターン１２１ｅに書き換えられた書き換えＳＱＬ文３０２を含むＳＱＬ実行要求３２０をデータベース装置２００に送信する。
【００２７】
その後、図４のステップＳ１８に示すように、結果送信部１１４は、書き換えＳＱＬ文３０２に対する実行結果を示す書き換えＳＱＬ実行結果３３０をデータベース装置２００から受信し、書き換えＳＱＬ実行結果３３０をクライアント装置３００へ送信する。
【００２８】
図７は、クライアント装置３００の送信したＳＱＬ実行要求３１０に含まれるＳＱＬ文３０１の例を示す。図７はアクセス制御方式１に該当する場合である。判定部１１２は、アクセス制御情報１２１−１等を参照することにより、図７の（ａ）のＳＱＬ文３０１に、テーブル名１２１ｂ及び列名１２１ｃが含まれているか判定する（Ｓ１６２）。この場合、判定部１１２は、アクセス制御情報１２１−３におけるテーブル名１２１ｂ「ＵＲＩＡＧＥ」及び列名１２１ｃ「ＧＥＮＫＡ」が含まれていると判定する。
【００２９】
書き換え部１１３は、ＳＱＬ文３０１にテーブル名１２１ｂ「ＵＲＩＡＧＥ」及び列名１２１ｃ「ＧＥＮＫＡ」が含まれると判定部１１２が判定した場合に、アクセス制御情報１２１−３に従って、ＳＱＬ文３０１の列名１２１ｃ「ＧＥＮＫＡ」を、マスクパターン１２１ｅ「９９９９９９９９９」に書き換えて列名１２１ｃ「ＧＥＮＫＡ」がマスクパターン１２１ｅ「９９９９９９９９９」に書き換えられた書き換えＳＱＬ文３０２をデータベース装置２００に送信する。データベース装置２００は、この書き換えＳＱＬ文３０２に応答して、テーブル名１２１ｂ「ＵＲＩＡＧＥ」の列の値を固定値に変更して、書き換えＳＱＬ実行結果３３０として返す。結果送信部１１４は、書き換えＳＱＬ実行結果３３０をデータベース装置２００から受信すると、クライアント装置３００へ送信する（Ｓ１８）。
【００３０】
図８は、クライアント装置３００の送信したＳＱＬ実行要求３１０に含まれるＳＱＬ文３０１の別の例を示す。図８はアクセス制御方式４に該当する場合である。判定部１１２は、アクセス制御情報１２１−１等を参照することにより、図８の（ａ）のＳＱＬ文３０１に、テーブル名１２１ｂ及び列名１２１ｃが含まれているか判定する（Ｓ１６２）。この場合、判定部１１２は、アクセス制御情報１２１−１におけるテーブル名１２１ｂ「ＵＲＩＡＧＥ」及び列名１２１ｃ「ＣＡＲＤ＿ＮＯ」が含まれていると判定する。
【００３１】
書き換え部１１３は、ＳＱＬ文３０１にテーブル名１２１ｂ「ＵＲＩＡＧＥ」及び列名１２１ｃ「ＣＡＲＤ＿ＮＯ」が含まれると判定部１１２が判定した場合に、アクセス制御情報１２１−１に従って、ＳＱＬ実行を拒否することを示すエラーメッセージをクライアント装置３００へ通知する（Ｓ１６ｂ）。
【００３２】
＊＊＊実施の形態１の効果＊＊＊
（１）アクセス制御装置１００によって、クライアント装置３００がデータベース装置２００におけるテーブルの列の値を取得する場合に、クライアント装置３００及びデータベース装置２００の修正が不要であり、かつ、クライアント装置３００が列の値を取得する際のアクセス制御が可能な装置を提供できる。
（２）また、アクセス制御装置１００は、第１のマスクパターンから第３のマスクパターンの３種類を使用するが、システム試験の際には、列の値に代替する代替値を変化させたい場合がある。この場合、アクセス制御装置１００では、第２のマスクパターンあるいは第３のマスクパターンを使用することで、列の実際の値を秘匿した上で、列の値に代替する代替値を変化させることができる。このため、システム試験を効率的に行うことができる。
（３）また、コンピュータにアクセス制御装置１００の動作を実行させるアクセス制御プログラムを、データベース装置２００のプログラムにアドオンとして追加することができる。これにより、データベース装置２００に簡易に、列単位のアクセス制御機能を追加することができる。
【符号の説明】
【００３３】
１００  アクセス制御装置、１１０  プロセッサ、１１１  受信部、１１２  判定部、１１３  書き換え部、１１４  結果送信部、１２０  記憶装置、１２１  アクセス制御情報テーブル、１２１ａ  接続ユーザ名、１２１ｂ  テーブル名、１２１ｃ  列名、１２１ｄ  アクセス制御方式、１２１ｅ  マスクパターン、１２１−１，１２１−２，１２１−３，１２１−４  アクセス制御情報、１３０  入出力インタフェース装置、１４０  信号線、２００  データベース装置、２０１  データベース制御部、２０２  データベース記憶部、２０３  入出力インタフェース装置、３００  クライアント装置、３０１  ＳＱＬ文、３０２  書き換えＳＱＬ文、３１０  ＳＱＬ実行要求、３２０  ＳＱＬ実行要求、３３０  書き換えＳＱＬ実行結果。
【図１】
2018163490.tif 000003
【図２】
2018163490.tif 000004
【図３】
2018163490.tif 000005
【図４】
2018163490.tif 000006
【図５】
2018163490.tif 000007
【図６】
2018163490.tif 000008
【図７】
2018163490.tif 000009
【図８】
2018163490.tif 000010