(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0012】
以下、図面を参照して本発明の実施の形態を説明する。なお、以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。例えば、本実施の形態では、利用者端末10とアプリケーションサーバ30間でHTTPによりテキストデータ(HTML文書等)を送受信することを想定しているが、プロトコルはHTTPに限られるわけではない。
【0013】
(システムの構成)
図1に、本発明の実施の形態に係るシステムの全体構成図を示す。
図1に示すように、本実施の形態のシステムは、利用者端末10、中継装置20、及びアプリケーションサーバ30が、通信ネットワーク40で接続された構成を有する。
図1には、利用者端末10、中継装置20、及びアプリケーションサーバ30がそれぞれ1つづつ示されているが、これは説明の便宜上のものであり、それぞれが複数であってもよい。
【0014】
本実施の形態における通信ネットワーク40は例えばインターネットであるが、本発明はどのような通信ネットワークにおいても適用可能である。利用者端末10は例えばWebブラウザを備えたPC(パーソナルコンピュータ)やスマートフォン等である。
【0015】
中継装置20は、本発明に係るログ取得装置の一実施形態に係る装置であり、詳細動作は後述するが、概して、利用者端末10から受信した要求メッセージに含まれるデータに対し、所定の条件に基づきログ取得符号を付与し、ログ取得符号付与後の要求メッセージをアプリケーションサーバ30に送信する。また、アプリケーションサーバ30から応答メッセージを受信する場合、受信した応答メッセージに含まれる、ログ取得符号が付与されたデータをログとして抽出し、データからログ取得符号を除いた応答メッセージを利用者端末10に送信する。
【0016】
アプリケーションサーバ30は、いわゆるクラウドサービスを提供するサーバである。
図2に、アプリケーションサーバ30の機能構成例を示す。
図2に示すように、アプリケーションサーバ30は、サービス提供部31、及びデータ格納部32を含む。
【0017】
サービス提供部31は、顧客データ管理サービス等のアプリケーションサービスを提供する機能部である。顧客データ管理サービスの場合、サービス提供部31は、例えば利用者端末10から顧客データを受信し、顧客データを所定の形式でデータ格納部32に格納(登録)する。また、サービス提供部31は、例えば利用者端末10から検索クエリーデータとともに検索要求を受信した場合には、当該検索クエリーデータに該当するデータを検索して利用者端末10に提供する。本実施の形態では、サービス提供部31は、このようにデータの登録、検索等を行う機能部である。
【0018】
図3に、アプリケーションサーバ30のデータ格納部32に格納されるテーブルデータの一例を示す。
図3に示す例では、データ格納部32には、項目(名前、住所、等)毎に、その項目に該当するデータがテーブルとして格納される。
【0019】
図4に、中継装置20の機能構成図を示す。
図4に示すように、中継装置20は、要求メッセージ処理部21、応答メッセージ処理部22、ログ取得対象情報格納部23、ログ格納部24を有する。要求メッセージ処理部21は、利用者端末10から受信した要求メッセージを解析し、要求メッセージからログ取得対象情報に基づく判断に必要な情報を抽出し、当該情報とログ取得対象情報とを比較することで、データに対するログ取得符号の付与の要否を決定し、ログ取得要のデータに対してログ取得符号の付与を行って、要求メッセージをアプリケーションサーバ30に転送する。
【0020】
応答メッセージ処理部22は、アプリケーションサーバ30から受信した応答メッセージから、ログ取得符号が付与されたデータをログとして抽出し、当該データをログ格納部24に格納し、ログ取得符号を除いた応答メッセージを利用者端末10に転送する。
【0021】
ログ取得対象情報格納部23はログ取得対象情報を格納する。ログ格納部24は応答メッセージ処理部22により抽出されたログを格納する。なお、ログ取得対象情報格納部23、ログ格納部24の両方又はいずれかは中継装置20の外部の装置(中継装置20にネットワーク接続されたデータベース装置等)に備えてもよい。
【0022】
図5に、ログ取得対象情報格納部23に格納されるログ取得対象情報の例を示す。ログ取得対象情報は、予めログ取得対象情報格納部23に格納される情報である。
図5に示すように、ログ取得対象情報はデータの項目毎のログ取得要否の情報である。この「項目」とは、例えば
図3に示した項目A、項目B、...等の項目に相当する。本実施の形態においては、要求メッセージ処理部21は、要求メッセージに含まれる、HTMLのフォームにおけるInput要素のname属性によって「項目」を識別する。
【0023】
図5の例では、例えば「名前」の項目に対応するデータはログ取得要である。従って、要求メッセージ処理部21は、ログ取得対象情報に基づき、要求メッセージからname属性として「名前」を探し、name属性として「名前」がある場合に、「名前」に対応する入力データをログ取得要と判定し、ログ取得符号を付与する。なお、name属性によってログ取得対象を指定することは一例に過ぎない。他の属性、あるいは、データ自体の内容に基づいてログ取得対象を指定することとしてもよい。なお、データ自体の内容は、データの属性の一例である。
【0024】
図5に示すようなログ取得対象情報を、アプリケーションサーバ30へのログインID毎に備え、該当するログインのセッションにおいて当該ログインIDに対応するログ取得対象情報を用いることとしてもよい。更に、ログ取得対象情報を、要求メッセージの宛先となるURL毎に備え、URLに対応するログ取得対象情報を用いることとしてもよい。当該URLは例えば、アプリケーションサーバ30が提供するサービスのデータ登録画面等の画面単位の要素に対応する。
【0025】
本実施の形態に係る中継装置20は、コンピュータに、本実施の形態で説明する処理内容を記述したプログラムを実行させることにより実現可能である。すなわち、中継装置20が有する機能は、当該コンピュータに内蔵されるCPUやメモリ、ハードディスクなどのハードウェア資源を用いて、中継装置20で実施される処理に対応するプログラムを実行することによって実現することが可能である。また、上記プログラムは、コンピュータが読み取り可能な記録媒体(可搬メモリ等)に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メールなど、ネットワークを通して提供することも可能である。
【0026】
なお、本実施の形態では、本発明に係るログ取得装置の例として、プロキシサーバに相当する中継装置20を用いているが、ログ取得装置の機能を、利用者端末内のソフトウェアで実現することも可能である。
【0027】
(システムの動作例)
以下、本実施の形態に係るシステムの動作例を説明する。
【0028】
<データ登録時の動作例>
図6のシーケンス図を参照して、利用者端末10からアプリケーションサーバ30に対してデータを登録する際の動作例を説明する。
【0029】
利用者端末10には、アプリケーションサーバ30から提供された入力画面が表示されており、利用者が登録を希望する項目の欄にデータを入力する(ステップ101)。利用者が画面上の送信ボタンを押す等の操作を行うことで、入力されたデータ、及び当該データの属性としての項目名(例:名前)を含む要求メッセージが送出される(ステップ102)。
【0030】
中継装置20の要求メッセージ処理部21は要求メッセージを受信して、ログ取得符号付与の処理を行う(ステップ103)。
【0031】
ログ取得符号付与に関する処理を
図7のフローチャートを参照して説明する。中継装置20の要求メッセージ処理部21は利用者端末30から要求メッセージを受信する(ステップ10)。要求メッセージ処理部21が利用者端末30から要求メッセージを受信したときの要求メッセージに含まれるデータの例を
図8に示す。
図8には、項目毎のデータが示されている。
【0032】
図7に戻り、要求メッセージ処理部21は、ログ取得対象情報格納部23からログ取得対象情報(例:
図5)を取得する(ステップ11)。要求メッセージ処理部21は、ログ取得対象情報に従って、利用者端末10から受信した要求メッセージに含まれる項目のデータのうち、ログ取得要である項目のデータに対し、ログ取得符号を付与する(ステップ12)。本実施の形態では、ログ取得符号として、ログ取得対象データの前後に先頭子:Prefix、接尾子:Suffixを付与することとしている。
【0033】
そして、要求メッセージ処理部21は、ログ取得対象データにログ取得符号が付与された要求メッセージをアプリケーションサーバ30に送信する(ステップ13)。
図9に、アプリケーションサーバ30に送信される要求メッセージに含まれるデータの例を示す。この例は、
図8に示したデータに対し、
図5に示したログ取得対象情報に従ってログ取得符号を付与した例である。
【0034】
図6に戻り、中継装置20の要求メッセージ処理部21は、上記のようにしてログ取得符号が付与されたデータを含む要求メッセージをアプリケーションサーバ30に転送する(ステップ104)。
【0035】
要求メッセージを受信したアプリケーションサーバ30において、サービス提供部31が、ログ取得符号が付与されたデータを含むデータをデータ格納部32に格納(登録)する(ステップ105)。
図10に、データ格納部32に格納されるテーブルデータの例を示す。
【0036】
<データ検索時の動作例>
次に、利用者端末10からアプリケーションサーバ30に格納されたデータを検索する場合の動作例を説明する。この動作例では、アプリケーションサーバ30のサービス提供部31は、検索クエリーデータ(検索文字列)を含む検索要求メッセージを受信したときに、データ格納部32に格納されたデータ(例:
図10)において複数の項目にわたって横断的な検索を行い、例えば、検索クエリーデータに該当する項目のデータ及び当該データに関連付けられたデータを検索結果として要求元に返す機能を備える。
【0037】
図11のシーケンス図を参照してデータ検索時の動作例を説明する。
【0038】
利用者端末10には、アプリケーションサーバ30から提供された検索欄を含む入力画面が表示されており、利用者が検索したい文字列(検索クエリーデータ)を検索欄に入力する(ステップ201)。利用者が画面上の検索ボタンを押す等の操作を行うことで、検索クエリーデータを含む検索要求メッセージが送出される(ステップ202)。
【0039】
検索要求メッセージは、中継装置20の要求メッセージ処理部21によりアプリケーションサーバ30に転送される(ステップ203)。
【0040】
検索要求メッセージを受信したアプリケーションサーバ30において、サービス提供部31は、データ格納部32に格納されているデータの各項目に対し、検索クエリーデータで検索を行う(ステップ204)。
【0041】
例えば、検索クエリーデータが"営業"であり、
図10に示すテーブルデータに対して"営業"で検索が行われるとすると、テーブルデータから"営業"に関連するデータが抽出され、
図13に示す検索結果データを含む応答メッセージが中継装置20に送信される(
図11のステップ205)。その後、中継装置20においてログ取得処理が行われる(ステップ206)。ログ取得に関わる処理を
図12のフローチャートに沿って説明する。
【0042】
中継装置20の応答メッセージ処理部22がアプリケーションサーバ30から検索結果を含む応答メッセージを受信する(ステップ20)。検索結果のデータ例は
図13に示したとおりである。
【0043】
応答メッセージ処理部22は、検索結果のデータにログ取得符号(接頭子及び接尾子の組)が存在するか否かをパターンマッチングにより判定し、存在する場合に、ログ取得対象データであると判断し、接頭子と接尾子に囲まれたデータを抽出する(ステップ21)。
【0044】
応答メッセージ処理部22は、例えば、アクセス日時、アクセス元、ステップ21で抽出したデータをアクセスログとして抽出し、ログ格納部24に格納する(ステップ22)。そして、応答メッセージ処理部22は、ログ取得符号を除去した検索結果のデータを含む応答メッセージを利用者端末10に送信する(ステップ23)。
【0045】
図14に、ログ取得処理で取得され、ログ格納部24に格納されるログの例を示す。
図14に示すアクセス日時、アクセス元は、応答メッセージに含まれているものとする。また、この例では、ログとして取得したデータに対応する項目("名前"等)は、例えばデータの並び等から判別可能であるものとする。利用者端末10に送信される、ログ取得符号を除去した検索結果のデータの例を
図15に示す。
【0046】
例えば、上記のようにして中継装置20のログ格納部24に格納されたログに対し、アクセス元毎にデータ数のカウントを行うことで、一定数以上のセンシティブデータを参照したユーザの特定等を実施できる。また、一定数以上のセンシティブデータが参照された操作が行われた場合に管理者にアラートを上げたり、該当利用者端末に対して応答メッセージ自体の転送を中断したりする制御を行うことも可能である。これにより、例えば、社員による大量の重要データ持ち出しの抑止を図ることができる。
【0047】
またユーザ毎に単位時間あたりのセンシティブデータ参照数を抑止することや、そのユーザの普段のアクセス傾向から見て突飛な参照が行われた場合の抑止によりセンシティブデータに対する量的なアクセスコントロール手段を提供することもできる。
【0048】
(変形例)
上述した実施形態においては、
図5に示したログ取得対象情報に基づきログ取得対象であると判定されたデータに接頭子と接尾子からなるログ取得符号を付加していた。しかし、アプリケーションサーバ30から受信する応答メッセージ内において、どの項目のデータがどのデータ位置に入るかは、アプリケーションの処理に依存するため、一般にはログ取得対象データがどの項目に対応するものかは判別できない。もちろん、重要な(センシティブな)データのみをログ取得対象として取得することでも十分に実用的であるが、データに対する項目(あるいは他の属性)が識別できることが望ましい。
【0049】
そこで、この変形例では、データ登録時に、中継装置20の要求メッセージ処理部21が、ログ取得対象のデータに、ログ取得符号に加えて、項目識別子を付与する。具体的には、中継装置20のログ取得対象情報格納部23に、例えば
図16に示すログ取得対象情報が格納される。
図16に示す例では、ログ取得要である項目のデータに対して項目識別子が付されることが示されている。
【0050】
そして、
図6のステップ103のログ取得符号付与の処理において、中継装置20の要求メッセージ処理部21は、ログ取得対象情報に基づいて、ログ取得対象のデータにログ取得符号(接頭子と接尾子)に加えて項目識別子を付加する。
図16のように、「名前」のデータがログ取得要であり、項目識別子が「あ」であるとすると、入力データとして名前=鈴木一郎を含む要求メッセージを受信した要求メッセージ処理部21は、「鈴木一郎」を、ログ取得符号と項目識別子を付加した「Prefixあ鈴木一郎suffix」というデータに置き換えて、置き換えを行った要求メッセージをアプリケーションサーバ30に送信する。
【0051】
中継装置20の応答メッセージ処理部22が、検索結果としての「Prefixあ鈴木一郎suffix」を受信した場合、応答メッセージ処理部22は、接頭子と接尾子によりログ取得対象データを識別するとともに、ログ取得対象情報(
図16)を参照して、「あ」が付された「鈴木一郎」の項目が「名前」であることを識別し、アクセスログとして名前=鈴木一郎をログ格納部24に格納する。その後、応答メッセージ処理部22は、応答メッセージからログ取得符号と項目識別子を除去し、除去を行った応答メッセージを利用者端末10に送信する。
【0052】
上記の例では、項目を識別するための項目識別子を用いることとしたが、例えば、データを暗号化するか否かを示す識別子、データの重要度のランクを示す識別子等を用いることとしてもよい。これらの識別子の用い方は項目識別子と同じである。つまり、ログ取得対象情報にこれら識別子を定義し、「Prefixあ鈴木一郎suffix」のように識別子を付加する。
【0053】
上記のように識別子を使用することで、項目とデータをログとして取得できるので、例えば、「メールアドレス」のデータを一定数以上参照したユーザの特定等を行うことが可能となる。
【0054】
(実施の形態のまとめ)
本実施の形態では、アプリケーションサーバと通信ネットワークを介して接続する機能を備えるログ取得装置であって、前記アプリケーションサーバに対する要求メッセージの中に所定の条件を満たすデータが存在する場合に、当該データにログ取得符号を付与し、当該ログ取得符号を付与したデータを含む要求メッセージを前記アプリケーションサーバに送信する要求メッセージ処理手段と、前記アプリケーションサーバから応答メッセージを受信した場合に、当該応答メッセージから、前記ログ取得符号が付与されたデータをログとして取得する応答メッセージ処理手段とを備えるログ取得装置が提供される。
【0055】
前記ログ取得装置は、通信ネットワークを介して利用者端末と接続する機能を備え、前記要求メッセージ処理手段は、前記要求メッセージを前記利用者端末から受信し、前記応答メッセージ処理手段は、前記アプリケーションサーバから受信した応答メッセージから、前記ログ取得符号を除去した応答メッセージを前記利用者端末に送信するようにしてもよい。
【0056】
前記所定の条件は、例えば、前記データの属性が、ログ取得対象とするデータが有すべき属性として予め定めた属性であることである。また、前記要求メッセージ処理手段は、前記所定の条件を満たすデータに前記ログ取得符号とともに前記属性を示す識別子を付与することとしてもよい。
【0057】
また、本実施の形態では、アプリケーションサーバと通信ネットワークを介して接続する機能を備えるログ取得装置が実行するログ取得方法であって、前記アプリケーションサーバに対する要求メッセージの中に所定の条件を満たすデータが存在する場合に、当該データにログ取得符号を付与し、当該ログ取得符号を付与したデータを含む要求メッセージを前記アプリケーションサーバに送信する要求メッセージ処理ステップと、前記アプリケーションサーバから応答メッセージを受信した場合に、当該応答メッセージから、前記ログ取得符号が付与されたデータをログとして取得する応答メッセージ処理ステップとを備えるログ取得方法が提供される。
【0058】
(第1項)
アプリケーションサーバと通信ネットワークを介して接続する機能を備えるログ取得装置であって、
前記アプリケーションサーバに対する要求メッセージの中に所定の条件を満たすデータが存在する場合に、当該データにログ取得符号を付与し、当該ログ取得符号を付与したデータを含む要求メッセージを前記アプリケーションサーバに送信する要求メッセージ処理手段と、
前記アプリケーションサーバから応答メッセージを受信した場合に、当該応答メッセージから、前記ログ取得符号が付与されたデータをログとして取得する応答メッセージ処理手段と
を備えることを特徴とするログ取得装置。
(第2項)
前記所定の条件は、前記データの属性が、ログ取得対象とするデータが有すべき属性として予め定めた属性であることである
ことを特徴とする第1項に記載のログ取得装置。
(第3項)
前記要求メッセージ処理手段は、前記所定の条件を満たすデータに前記ログ取得符号とともに前記属性を示す識別子を付与する
ことを特徴とする第2項に記載のログ取得装置。
(第4項)
アプリケーションサーバと通信ネットワークを介して接続する機能を備えるログ取得装置が実行するログ取得方法であって、
前記アプリケーションサーバに対する要求メッセージの中に所定の条件を満たすデータが存在する場合に、当該データにログ取得符号を付与し、当該ログ取得符号を付与したデータを含む要求メッセージを前記アプリケーションサーバに送信する要求メッセージ処理ステップと、
前記アプリケーションサーバから応答メッセージを受信した場合に、当該応答メッセージから、前記ログ取得符号が付与されたデータをログとして取得する応答メッセージ処理ステップと
を備えることを特徴とするログ取得方法。
(第5項)
コンピュータを、第1項ないし第3項のうちいずれか1項に記載のログ取得装置における各手段として機能させるためのプログラム。
本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。