説明

中継装置、中継プログラムおよび中継方法

【課題】HTTPプロトコルでデータのやりとりをする場合であっても、データのアクセス制限をデータやファイル単位で指定できる。
【解決手段】中継装置1は、インターネット5を介して自装置に接続される外部ウェブサーバ4または自装置を介してインターネット5に接続される内部ウェブサーバ3と、ウェブクライアント2と、自装置を介してインターネット5に接続される社内記憶装置6との間でデータを中継し、社内記憶装置6に格納されるデータごとにデータの公開に係る公開ポリシーを記憶する記憶部11と、社内記憶装置6に格納されるデータのうちウェブクライアント2から送信されたリクエストに含まれるアクセス対象のデータについて、記憶部11に記憶された公開ポリシーを参照し、公開に制限がない場合には、リクエストを外部ウェブサーバ4に転送し、公開に制限がある場合には、リクエストを内部ウェブサーバ3に転送する転送部12とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、中継装置、中継プログラムおよび中継方法に関する。
【背景技術】
【0002】
近年、インターネットを経由して必要な機能をサービスとして利用するSaaS(Software as a Service)と呼ばれる形態が普及しつつある。サービスとして利用される機能には、ウェブサービスとしてインターネットで提供されるアプリケーション(以降、「ウェブアプリケーション」という。)が含まれる。ウェブアプリケーションのほとんどは、HTTP(Hyper Text Transfer Protocol)プロトコルでデータをやりとりするので、URL(Uniform Resource Locator)を用いたデータのアクセス制御を必要とする。このため、ウェブアプリケーションは、盗聴やなりすましなどの安全性の面で利用が限られる場合がある。特に、企業の経営戦略に関するような企業秘密とされるデータには、たとえ暗号化してもインターネットに公開できない場合もある。
【0003】
つまり、HTTPプロトコルでデータをやりとりするウェブアプリケーションでは、データのアクセス制限をホスト(ドメイン)単位で指定できるが、データやファイル単位で指定できない。また、HTTPプロトコルの下位レイヤのOS(Operating System)では、プロトコル単位のポートの開閉(HTTPプロトコルのデータを通すか否か)を制御できるが、個別のデータやファイル単位でポートの開閉を制御できない。
【0004】
ところで、企業秘密とされるデータの安全性を考慮した技術がある。例えば、第1の技術では、企業秘密とされるデータについて当該データを保有するサーバと当該データの送信指令を出すアプリケーションとを対応付けたステータス情報を記憶する。そして、データの送信指令が出された場合に、送信指令を出したアプリケーションがステータス情報に登録され、且つ送信指令の送信先がステータス情報に登録されたサーバと一致しない場合には、データの送信指令を無効にする。
【0005】
また、第2の技術では、ネットワークを介してコンピュータが保持しているデータを転送する中継装置が、データに対する要求元装置からの転送要求を受付け、当該要求元装置自身または要求元ユーザのアクセス権限の認証を行う。そして、中継装置が、認証結果に応じて、転送要求を受け付けたデータをコンピュータから取得し、取得したデータを要求元装置にネットワークを介して転送する。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2005−275669号公報
【特許文献2】特開2002−41347号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、機密情報とされるデータの安全性を考慮した従来の技術では、HTTPプロトコルでデータのやりとりをする場合、データのアクセス制限をドメイン(ホスト名)単位で可能であったが、データやファイル単位で指定することができないという問題があった。
【0008】
第1の技術および第2の技術であっても、仮にHTTPプロトコルでデータのやりとりをする場合には、データのアクセス制限をデータ単位で指定することができない。つまり、第1の技術および第2の技術は、データについてのステータス情報や要求元装置自身などのファイルシステムのアクセス権限を用いて、機密情報とされるデータのアクセスを禁止する制御が可能となるだけである。
【0009】
この結果、従来の技術では、ウェブアプリケーションのデータ参照先のホストと同一ホスト内に機密情報とされるデータが格納されている場合、機密情報とされるデータがウェブアプリケーションから参照および書き換えがなされてしまうおそれがある。すなわち、SaaSを利用して実行されるウェブアプリケーションであっても、データのアクセス制限として指定可能なのはホスト単位であるので、データ参照先のホスト内に格納されている機密情報とされるデータを参照してしまう場合がある。
【0010】
開示の技術は、HTTPプロトコルでデータのやりとりをする場合であっても、データやファイル単位でデータ記憶装置に記憶されたデータのアクセスを制限することができることを目的とする。
【課題を解決するための手段】
【0011】
1つの側面では、中継装置は、インターネットを介して自装置に接続される第1のウェブサーバまたは自装置を介して前記インターネットに接続される第2のウェブサーバと、ウェブクライアントと、自装置を介してインターネットに接続されるデータ記憶装置との間でデータを中継する中継装置であって、前記データ記憶装置に格納されるデータごとにデータの公開に係る公開ポリシーを記憶する記憶部と、前記データ記憶装置に格納されるデータのうち前記ウェブクライアントから送信されたリクエストに含まれるアクセス対象のデータについて、前記記憶部に記憶された公開ポリシーを参照し、前記リクエストに含まれるアクセス対象のデータの公開に制限がない場合には、前記リクエストを前記第1のウェブサーバに転送し、前記リクエストに含まれるアクセス対象のデータの公開に制限がある場合には、前記リクエストを前記第1のウェブサーバに転送する転送部とを備える。
【発明の効果】
【0012】
本願の開示する中継装置の一つの態様によれば、HTTPプロトコルでデータのやりとりをする場合であっても、データやファイル単位でデータ記憶装置に記憶されたデータのアクセスを制限することができる。
【図面の簡単な説明】
【0013】
【図1】図1は、実施例1に係る中継装置の構成を示す機能ブロック図である。
【図2】図2は、実施例2に係る中継装置の構成を示す機能ブロック図である。
【図3】図3は、データ管理テーブルのデータ構造の一例を示す図である。
【図4】図4は、アプリケーション管理テーブルのデータ構造の一例を示す図である。
【図5】図5は、URL書き換えの具体例を説明する図である。
【図6】図6は、ウェブアプリケーションのデプロイ先を参照する方法の具体例を説明する図である。
【図7】図7は、実施例2に係る中継装置における中継処理の手順を示すフローチャートである。
【図8】図8は、中継処理のうちウェブアプリケーション取得処理のシーケンス図である。
【図9】図9は、中継処理のうち社外秘データへのアクセス処理のシーケンス図である。
【図10】図10は、中継装置を経由してデータにアクセスする場合の効果を説明する図である。
【図11】図11は、中継処理プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【0014】
以下に、本願の開示する中継装置、中継プログラムおよび中継方法の実施例を図面に基づいて詳細に説明する。なお、実施例によりこの発明が限定されるものではない。
【実施例1】
【0015】
図1は、実施例1に係る中継装置の構成を示す機能ブロック図である。図1に示すように、中継装置1は、ウェブクライアント2、内部ウェブサーバ3および社内記憶装置6と接続し、インターネット5を介して外部ウェブサーバ4と接続する。中継装置1がウェブクライアント2、内部ウェブサーバ3および社内記憶装置6とインターネット5を介さないで接続する形態は、例えば社内LAN(Local Area Network)であったり、社内におけるイントラネットであったりする。
【0016】
中継装置1は、外部ウェブサーバ4または内部ウェブサーバ3と、ウェブクライアント2と、社内記憶装置6との間でデータを中継する。ウェブクライアント2は、例えばウェブサービスを利用するパーソナルコンピュータを示す。内部ウェブサーバ3は、ウェブサービスとしてインターネット5で提供されるウェブアプリケーションを実施し、中継装置1の管理内のウェブサーバを意味する。外部ウェブサーバ4は、ウェブサービスとしてウェブアプリケーションを実施し、中継装置1の管理外のウェブサーバを意味する。外部ウェブサーバ4は、例えば、SaaS(Software as a Service)を取り入れたウェブサーバであったり、クラウド環境下のウェブサーバであったりする。このような外部ウェブサーバ4のウェブアプリケーションをダウンロードして実施できる環境であって中継装置1の管理内で整備された環境を、オンプレミス環境というものとする。これに対し、中継装置1の管理外にある外部ウェブサーバ4でウェブアプリケーションを実施できる環境を、オフプレミス環境というものとする。
【0017】
社内記憶装置6は、公開に制限があるデータや公開に制限がないデータを記憶する。例えば、公開に制限があるデータとは、社外秘データなどの機密データを指す。
【0018】
中継装置1は、記憶部11および転送部12を有する。記憶部11は、社内記憶装置6に格納されるデータごとにデータの公開に係る公開ポリシーを記憶する。例えば、記憶部11は、公開に制限がある旨のポリシーや公開に制限がない旨のポリシーを、データごとに記憶する。
【0019】
転送部12は、社内記憶装置6に格納されるデータのうちウェブクライアント2から送信されたHTTPリクエストに含まれるアクセス対象のデータについて、記憶部11に記憶された公開ポリシーを参照する。また、転送部12は、HTTPリクエストに含まれるアクセス対象のデータの公開に制限がない場合には、HTTPリクエストをオフプレミス環境の外部ウェブサーバ4に転送する。そして、外部ウェブサーバ4は、HTTPリクエストを受信し、HTTPリクエストに応じて自装置内のウェブアプリケーションを実施すべく、アクセス対象のデータを、中継装置1を介して社内記憶装置6から取り込む。そして、外部ウェブサーバ4は、取り込んだデータを用いてウェブアプリケーションを実施し、公開に制限がないデータに対応する処理結果を、中継装置1を介してウェブクライアント2に通知することとなる。
【0020】
一方、転送部12は、HTTPリクエストに含まれるアクセス対象のデータの公開に制限がある場合には、HTTPリクエストをオンプレミス環境の内部ウェブサーバ3のサンドボックスに転送する。そして、内部ウェブサーバ3は、HTTPリクエストを受信し、HTTPリクエストに応じてサンドボックスにダウンロードしたウェブアプリケーションを実施すべく、アクセス対象のデータを、中継装置1を介して社内記憶装置6から取り込む。そして、内部ウェブサーバ3は、取り込んだデータを用いてウェブアプリケーションをサンドボックス内で安全に実施し、公開に制限があるデータに対応する処理結果を、中継装置1を介してウェブクライアント2に通知することとなる。なお、本実施例のサンドボックスとは、外部から受け取ったプログラムを保護された領域で動作させることによってシステムが不正に操作されるのを防ぐセキュリティモデルのことを指す。実行されるプログラムは保護された領域に入り、ほかのプログラムやデータなどを操作できない状態にされて動作するため、プログラムが暴走したりウイルスを動作させたりしようとしてもシステムに影響が及ばないようにできる。
【0021】
このようにして、中継装置1は、HTTPリクエストに含まれるアクセス対象のデータの公開ポリシーに基づいて、オフプレミス環境およびオンプレミス環境のいずれのウェブサーバにHTTPリクエストを転送するかを選択的に決定できる。このため、中継装置1は、公開に制限がある、アクセス対象のデータについて、オンプレミス環境のウェブサーバにHTTPリクエストを転送できるので、当該アクセス対象のデータのオフプレミス環境への流出を防止できる。一方、中継装置1は、公開に制限がない、アクセス対象のデータについては、オフプレミス環境のウェブサーバにHTTPリクエストを転送できるので、オフプレミス環境も合わせて使用しながら公開に制限があるデータの流出を防止できる。
【0022】
また、中継装置1は、ウェブアプリケーションに、アクセス対象のデータを、一意に識別できるURLで、自装置を介して、社内記憶装置6から取り込ませることとしたので、アクセス対象のデータのアクセス先をデータ単位で指定させることができることとなる。この結果、アクセス対象のデータのアクセス先のホストと同一ホスト内に公開が制限されるデータが格納されている場合であっても、中継装置1は、公開が制限されるデータがウェブアプリケーションから参照されてしまうことを防止できる。
【実施例2】
【0023】
[実施例2に係る中継装置の構成]
図2は、実施例2に係る中継装置の構成を示す機能ブロック図である。図2に示すように、中継装置1Aは、ウェブクライアント2、内部ウェブサーバ3および社内記憶装置6と接続し、インターネット5を介して外部ウェブサーバ4と接続する。中継装置1がウェブクライアント2、内部ウェブサーバ3および社内記憶装置6とインターネット5を介さないで接続する形態は、例えば社内LAN(Local Area Network)であったり、社内におけるイントラネットであったりする。
【0024】
また、内部ウェブサーバ3は、オンプレミス環境のウェブサーバであって中継装置1の管理内のウェブサーバを意味する。また、外部ウェブサーバ4は、オフプレミス環境のウェブサーバであって中継装置1の管理外のウェブサーバを意味する。外部ウェブサーバ4は、例えばクラウド環境のウェブサーバを指すものとする。社内記憶装置6は、オンプレミス環境およびオフプレミス環境のウェブアプリケーションで使用されるデータを記憶する。そして、社内記憶装置6には、例えば外部ウェブサーバ4に公開できない社外秘のデータおよび外部ウェブサーバ4に公開できる公開可能なデータを含む。なお、社内記憶装置6に、外部ウェブサーバ4にも内部ウェブサーバ3にも公開できないデータを含むものとしても良い。
【0025】
中継装置1Aは、制御部20および記憶部30を有する。なお、中継装置1Aは、実施例1の中継装置1の一例である。制御部20は、HTTPリクエストを制御するリクエスト受け付け部21、リクエスト解析部22、振り分け部23、リクエスト転送部24およびデータ中継部25を有する。また、制御部20は、HTTPレスポンスを制御するレスポンス受け付け部26、レスポンス解析部27、URL書き換え部28およびレスポンス転送部29を有する。なお、振り分け部23、リクエスト転送部24およびレスポンス転送部29は、実施例1の転送部12の一例である。また、制御部20は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路またはCPU(Central Processing Unit)やMPU(Micro Processing Unit)などの電子回路である。
【0026】
記憶部30は、データ管理テーブル31およびアプリケーション管理テーブル32を有する。なお、データ管理テーブル31は、実施例1の記憶部11の一例である。記憶部30は、例えば、RAM(Random Access Memory)、フラッシュメモリ(flash memory)などの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。
【0027】
リクエスト受け付け部21は、各種HTTPリクエストを受け付け、受け付けたHTTPリクエストをリクエスト解析部22に出力する。例えば、リクエスト受け付け部21は、ウェブクライアント2から送信された、ウェブアプリケーションの実行依頼を示すHTTPリクエストを受け付け、受け付けたHTTPリクエストをリクエスト解析部22に出力する。このHTTPリクエストには、実行が依頼されるウェブアプリケーションのURLおよびアクセス対象のデータのURLが含まれる。
【0028】
また、リクエスト受け付け部21は、後にオンプレミス環境の内部ウェブサーバ3またはオフプレミス環境の外部ウェブサーバ4のウェブアプリケーションで、ウェブクライアント2からのHTTPリクエストに基づく処理が開始された結果、ウェブアプリケーションから送信されてくる、HTTPリクエストに基づく処理の実行に必要なデータのアクセス要求を示すHTTPリクエストを受け付ける。すなわち、オンプレミス環境またはオフプレミス環境のウェブアプリケーションによりウェブクライアント2からのHTTPリクエストが処理される場合には、ウェブアプリケーションから実行に必要なデータを直接的にアクセスさせないで、中継装置1Aを経由して間接的にアクセスさせるようにするのである。この説明については後述する。
【0029】
リクエスト解析部22は、リクエスト受け付け部21によって受け付けられたHTTPリクエストを解析する。
【0030】
振り分け部23は、リクエスト解析部22によって解析されたHTTPリクエストに含まれる、アクセス対象のデータの公開に係る公開ポリシーに基づいて、HTTPリクエストの振り分けるべきウェブアプリケーションを判断する。具体的には、振り分け部23は、リクエスト解析部22によって解析されたHTTPリクエストに含まれるアクセス対象のデータについて後述するデータ管理テーブル31に記憶された公開ポリシーを参照する。また、振り分け部23は、参照した公開ポリシーが例えば社外秘でない場合には、HTTPリクエストを外部ウェブサーバ4のウェブアプリケーションに振り分けるものと判断する。そして、振り分け部23は、外部ウェブサーバ4のウェブアプリケーションを送信先とするHTTPリクエストをリクエスト転送部24に出力する。
【0031】
また、振り分け部23は、参照した公開ポリシーが例えば社外秘である場合には、HTTPリクエストをオンプレミス環境の内部ウェブサーバ3に振り分けるものと判断する。そして、振り分け部23は、HTTPリクエストに含まれたウェブアプリケーションのURLおよびデータ管理テーブル31に記憶されたアクセス対象のデータの識別番号を対応付けて、アプリケーション管理テーブル32に登録する。また、振り分け部23は、外部ウェブサーバ4にウェブアプリケーションの転送を依頼するHTTPリクエストをリクエスト転送部24に出力する。
【0032】
ここで、データ管理テーブル31のデータ構造について、図3を参照しながら説明する。図3は、データ管理テーブル31のデータ構造の一例を示す図である。図3に示すように、データ管理テーブル31は、データID31aおよび社外秘データURL31bを対応付けて記憶する。データID31aは、データの識別番号を示す。社外秘データURL31bは、ウェブアプリケーションからのアクセスを許可するデータのうち社外秘データのURLを示す。すなわち、社外秘データURL31bは、社外での公開に制限があるデータのURLを示している。なお、データ管理テーブル31は、中継処理が行われる前にあらかじめ作成されるものとする。
【0033】
また、アプリケーション管理テーブル32のデータ構造について、図4を参照しながら説明する。図4は、アプリケーション管理テーブル32のデータ構造の一例を示す図である。図4に示すように、アプリケーション管理テーブル32は、サービス提供元ウェブアプリケーションURL32a、データID32bおよびウェブアプリケーションデプロイ場所URL32cを対応付けて記憶する。サービス提供元ウェブアプリケーションURL32aは、ウェブアプリケーションのサービスを提供するウェブサーバ、すなわち、ここでは外部ウェブサーバ4内のURLを指す。データID32bは、ウェブアプリケーションからアクセスするデータの識別番号を示し、データ管理テーブル31のデータID31aと対応付けられる。ウェブアプリケーションデプロイ場所URL32cは、ウェブアプリケーションをデプロイする場所のURL、すなわち、ここでは内部ウェブサーバ3のURLを指す。なお、本実施例で、デプロイとは、ウェブアプリケーションのコンパイルしたプログラムやクラスファイルなどを配置して、ウェブクライアント2から実行可能な状態にすることを指す。
【0034】
図2に戻って、リクエスト転送部24は、各種HTTPリクエストを外部ウェブサーバ4に転送する。例えば、リクエスト転送部24は、振り分け部23によってウェブアプリケーションへのHTTPリクエストがオンプレミス環境の内部ウェブサーバ3に振り分けられた場合には、ウェブアプリケーションの転送を依頼するHTTPリクエストを、外部ウェブサーバ4に転送する。
【0035】
なお、リクエスト転送部24は、振り分け部23によってウェブアプリケーションへの
HTTPリクエストが外部ウェブサーバ4に振り分けられた場合には、ウェブアプリケーションへのHTTPリクエストを、外部ウェブサーバ4に転送する。このとき、HTTPリクエストに含まれるアクセス対象のデータのURLは、中継装置1Aを経由して間接的にアクセスされるように書き換えられたURLであるものとする。このURLの書き換えは、例えば振り分け部23によって行われる。
【0036】
レスポンス受け付け部26は、リクエスト転送部24によって転送されたHTTPリクエストに対応するHTTPレスポンスを外部ウェブサーバ4から受け付け、受け付けたHTTPレスポンスをレスポンス解析部27に出力する。例えば、レスポンス受け付け部26は、ウェブアプリケーションの転送を依頼するHTTPリクエストに対するHTTPレスポンスを、外部ウェブサーバ4から受け付ける。すなわち、レスポンス受け付け部26は、リクエスト転送部24によって転送が依頼されたウェブアプリケーションを外部ウェブサーバ4から取得する。そして、レスポンス受け付け部26は、受け付けたウェブアプリケーションをレスポンス解析部27に出力する。
【0037】
レスポンス解析部27は、レスポンス受け付け部26によって受け付けられたHTTPレスポンスを解析する。
【0038】
URL書き換え部28は、外部ウェブサーバ4からウェブアプリケーションを取得し、取得したウェブアプリケーションを内部ウェブサーバ3のサンドボックスにデプロイする。具体的には、URL書き換え部28は、レスポンス解析部27によって解析された、HTTPレスポンスであるウェブアプリケーションを取得し、取得したウェブアプリケーションを内部ウェブサーバ3のサンドボックスにデプロイする。そして、URL書き換え部28は、ウェブアプリケーションのデプロイ先のURLを取得し、取得したURLをアクセス対象のデータのデータID32bに対応付けてアプリケーション管理テーブル32を更新する。
【0039】
また、URL書き換え部28は、デプロイされたウェブアプリケーションで使用されるアクセス対象のデータのアクセス経路を、自装置を経由するように当該データのアクセス経路を含むURLを書き換える。具体的には、URL書き換え部28は、HTTPレスポンスに含まれるアクセス対象のデータのURLを、中継装置1Aを経由するように書き換える。すなわち、URL書き換え部28は、アクセス対象のデータをウェブアプリケーションから直接的にアクセスさせないで、中継装置1Aを経由させてウェブアプリケーションから間接的にアクセスさせるようにする。
【0040】
ここで、URL書き換え部29によるアクセス対象のデータのURLを書き換える具体例について、図5を参照して説明する。図5は、URL書き換えの具体例を説明する図である。図5(A)は、書き換え前のURLを示し、図5(B)は、書き換え後のURLを示す。図5(A)に示すように、アクセス対象のデータの書き換え前のURLには、アクセス対象のデータである社外秘データ(U1)が、直接的にアクセスされるようにクエリ文字列として記載されている。一方、図5(B)に示すように、アクセス対象のデータの書き換え後のURLには、アクセス対象のデータである社外秘データが、間接的にアクセスされるように記載されている。すなわち、社外秘データ(U3)が、中継サーバ(U2)を経由してからアクセスされるように、URL書き換え部28によって書き換えられる。なお、ここでは、書き換え後のURLは、英数字以外の文字列などの記号を安全な形に変換するために、URLエンコードされている。
【0041】
図2に戻って、URL書き換え部28は、ウェブアプリケーションのデプロイ先のURLおよびURLが書き換えられたデータのURLを用いた当該ウェブアプリケーションへの処理依頼をレスポンス転送部29に出力する。
【0042】
レスポンス転送部29は、各種HTTPレスポンスを各HTTPレスポンスに応じて転送する。例えば、レスポンス転送部29は、URL書き換え部28によるウェブアプリケーションへの処理依頼に対応するHTTPレスポンスを、内部ウェブサーバ3に転送する。すなわち、レスポンス転送部29は、ウェブクライアント2から送信されたHTTPリクエストに含まれるデータの公開ポリシーが社外秘である場合には、当該HTTPリクエストを、外部ウェブサーバ4を介して間接的に内部ウェブサーバ3のサンドボックスに転送することとなる。なお、HTTPリクエストに含まれるデータのURLは、URL書き換え部28によって中継装置1Aを経由してアクセスされるように書き換えられたURLである。この結果、内部ウェブサーバ3では、HTTPレスポンスに基づいて、処理に必要なアクセス対象のデータをアクセスすべく、当該データのURLに基づいて当該データのアクセス要求を示すHTTPリクエストを中継装置1Aに送信することとなる。
【0043】
データ中継部25は、HTTPリクエストによりアクセス要求があったデータのアクセスを許可するか否かを判定する。具体的には、データ中継部25は、リクエスト解析部22によって解析されたHTTPリクエストに含まれるアクセス対象のデータについて、データ管理テーブル31に公開ポリシーが記憶されているか否かを判定する。そして、データ中継部25は、アクセス対象のデータについて、公開ポリシーが記憶されている場合には、アクセスを許可することが可能であると判定する。一方、データ中継部25は、アクセス対象のデータについて、公開ポリシーが記憶されていない場合には、不正なアクセスであると判断し、アクセスを許可しないものと判定する。
【0044】
また、データ中継部25は、アクセス対象のデータのアクセスを許可することが可能であると判定する場合には、アプリケーション管理テーブル32に基づいて、ウェブアプリケーションのデプロイ先が一致するか否かを判定する。さらに具体的には、データ中継部25は、データ管理テーブル31に記憶されたアクセス対象のデータのデータID31aを参照する。そして、データ中継部25は、参照したデータID31aと一致したデータIDに対応するウェブアプリケーションデプロイ場所URL32cをアプリケーション管理テーブル32から参照する。そして、データ中継部25は、参照したウェブアプリケーションデプロイ場所URL32cが、リクエストされたウェブアプリケーションのデプロイ先と一致するか否かを判定する。そして、データ中継部25は、参照したウェブアプリケーションデプロイ場所URL32cがリクエストされたウェブアプリケーションのデプロイ先と一致する場合には、正常なアクセスであると判断し、アクセスを許可するものと判定する。一方、データ中継部25は、参照したウェブアプリケーションデプロイ場所URL32cがリクエストされたウェブアプリケーションのデプロイ先と一致しない場合には、不正なアクセスであると判断し、アクセスを許可しないものと判定する。
【0045】
ここで、データ中継部25によるリクエストされたウェブアプリケーションのデプロイ先を参照する方法の具体例について、図6を参照しながら説明する。図6は、ウェブアプリケーションのデプロイ先を参照する方法の具体例を説明する図である。図6(A)は、HTTPリクエストのリファラー(Referer)ヘッダに記述されているRefererを参照する例であり、図6(B)は、TCP/IP通信における送信元IPアドレスを参照する例である。
【0046】
図6(A)に示すように、ウェブアプリケーションのデプロイ先は、HTTPリクエストのRefererヘッダに記述されている送信元(d1)となる。このため、データ中継部25は、ウェブアプリケーションのデプロイ先を、HTTPリクエストのRefererヘッダから参照することができる。
【0047】
また、図6(B)に示すように、ウェブアプリケーションがサーバ単位でデプロイする場合には、ウェブアプリケーションのデプロイ先は、TCP/IP通信におけるパケットヘッダ部に記述されている送信元IPアドレスd2となる。このため、データ中継部25は、ウェブアプリケーションのデプロイ先を、TCP/IP通信におけるパケットヘッダ部から参照することができる。
【0048】
図2に戻って、データ中継部25は、アクセスを許可するものと判定された場合には、社内記憶装置6からアクセス対象のデータを取得し、取得したデータをデータのアクセス要求のあったウェブアプリケーションに渡す。
【0049】
なお、データ中継部25は、HTTPリクエストに含まれるアクセス対象のデータについて、データ管理テーブル31に公開ポリシーが記憶されているか否かを判定し、公開ポリシーが記憶されている場合に、アクセスを許可することが可能であると判定した。しかしながら、データ中継部25は、これに限定されることはなく、公開ポリシーの判定を行う前に、アクセス対象のデータのアクセス要求およびアクセス要求時のHTTPリクエストの双方に含まれる所定の識別情報が一致するか否かを判定しても良い。この場合には、データ中継部25は、一致する場合に、アクセス対象のデータについて、データ管理テーブル31に公開ポリシーが記憶されているか否かを判定し、公開ポリシーが記憶されている場合に、アクセスを許可することが可能であると判定する。所定の識別情報は、例えば利用者の識別IDであっても良いし、HTTPリクエストの識別IDであっても良いし、セッションIDであっても良く、アクセス要求およびHTTPリクエストの双方に含まれる識別情報であれば良い。
【0050】
[実施例2に係る中継処理の手順]
次に、実施例2に係る中継処理の手順を、図7を参照して説明する。図7は、実施例2に係る中継処理の手順を示すフローチャートである。
【0051】
まず、リクエスト受け付け部21は、利用者(ウェブクライアント2)からウェブアプリケーションの実行依頼を示すHTTPリクエストを受け付けたか否かを判定する(ステップS11)。利用者から当該HTTPリクエストを受け付けなかったと判定された場合には(ステップS11;No)、リクエスト受け付け部21は、HTTPリクエストを待ち合わせるべく、ステップS11に移行する。
【0052】
一方、利用者から当該HTTPリクエストを受け付けたと判定された場合には(ステップS11;Yes)、振り分け部23は、HTTPリクエストに含まれるアクセス対象のデータが社外秘データであるか否かを判定する(ステップS12)。具体的には、振り分け部23は、HTTPリクエストに含まれるアクセス対象のデータのURLがデータ管理テーブル31の社外秘データURL31bに記憶されているか否かを判定する。
【0053】
アクセス対象のデータが社外秘データであると判定された場合には(ステップS12;Yes)、振り分け部23は、ウェブアプリケーションのURLおよびアクセス対象データのデータIDを、アプリケーション管理テーブル32に登録する(ステップS13)。具体的には、振り分け部23は、HTTPリクエストに含まれたウェブアプリケーションのURLおよびデータ管理テーブル31に記憶されたアクセス対象のデータのデータID31aを対応付けて、アプリケーション管理テーブル32に登録する。
【0054】
続いて、振り分け部23は、ウェブアプリケーションの転送を依頼するHTTPリクエストを、リクエスト転送部24を介して、サービス提供元である外部ウェブサーバ4に転送する(ステップS14)。そして、レスポンス受け付け部26は、サービス提供元からウェブアプリケーションを取得する。そして、URL書き換え部28は、取得されたウェブアプリケーションを内部ウェブサーバ3のサンドボックスにデプロイし、デプロイ先のウェブアプリケーションのURLを受け取る(ステップS15)。
【0055】
そして、URL書き換え部28は、受け取ったウェブアプリケーションのURLをアクセス対象のデータのデータID32bに対応付けてアプリケーション管理テーブル32cに更新する。そして、URL書き換え部28は、アクセス対象のデータのURLを、中継装置1Aを経由するように書き換えて、ウェブアプリケーションに処理を依頼する(ステップS16)。
【0056】
続いて、リクエスト受け付け部21は、ウェブアプリケーションから、実行に必要なアクセス対象のデータのアクセス要求を示すHTTPリクエストを受け付ける(ステップS17)。HTTPリクエストには、アクセス対象のデータのURLが含まれる。すなわち、アクセス対象のデータのURLは、URL書き換え部28によって中継装置1Aを経由するように書き換えられているので、当該データのアクセス要求がウェブアプリケーションから中継装置1Aに送信されるのである。
【0057】
そして、データ中継部25は、HTTPリクエストに含まれるアクセス対象のデータのURLがアクセスを許可するURLであるか否かを判定する(ステップS18)。アクセス対象のデータのURLがアクセスを許可するURLであると判定された場合には(ステップS18;Yes)、データ中継部25は、正常なデータであると判断する。そして、データ中継部25は、社内記憶装置6からアクセス対象のデータを取得し、取得したデータをアクセス要求のあったウェブアプリケーションに渡す(ステップS19)。すなわち、データ中継部25は、ウェブアプリケーションにアクセス対象のデータを社内記憶装置6から直接的に取得させないで、中継装置1Aを経由して間接的に取得させるのである。そして、ウェブアプリケーションは、処理結果を受け取り、利用者に通知する(ステップS20)。
【0058】
一方、アクセス対象のデータのURLがアクセスを許可するURLでないと判定された場合には(ステップS18;No)、データ中継部25は、不正なアクセスであると判断する。そして、データ中継部25は、中継処理を中断させる(ステップS21)。そして、データ中継部25は、不正なアクセスがあったことを利用者(ウェブクライアント2)に通知する(ステップS22)。
【0059】
なお、振り分け部23によってHTTPリクエストに含まれるアクセス対象のデータが社外秘データでないと判定された場合には(ステップS12;No)、例えば振り分け部23が、アクセス対象のデータのURLを、中継装置1Aを経由するように書き換える。そして、振り分け部23は、サービス提供元である外部ウェブサーバ4に対してウェブアプリケーションを送信先とするHTTPリクエストを送信する(ステップS23)。続いて、リクエスト受け付け部21は、ウェブアプリケーションから、実行に必要なアクセス対象のデータのアクセス要求を示すHTTPリクエストを受け付け(ステップS24)、ステップS18に移行することとなる。
【0060】
また、内部ウェブサーバ3にデプロイされたウェブアプリケーションはウェブクライアント2からのリクエストの処理終了の都度、内部ウェブサーバ3から削除されるようにしても良い。例えば、S17やS24のデータアクセス要求元が内部ウェブサーバ3のウェブアプリケーションであった場合、S20やS22の処理の後、中継装置1Aが、内部ウェブサーバ3にこのウェブアプリケーションの削除を依頼し、内部ウェブサーバ3がこの依頼に基づき自身のサンドボックスからこのウェブアプリケーションを削除する方法が考えられる。または、内部ウェブサーバ3でウェブアプリケーションの稼動を監視し、最後に稼動してから所定時間経過した場合にこのウェブアプリケーションを削除するようにしても良い。そして、削除の後、アプリケーション管理テーブル32からこのウェブアプリケーションの情報を削除しても良い。この処理により、ウェブクライアント2からのリクエストの処理を終了したウェブアプリケーションを内部ウェブサーバ3のサンドボックス内から削除することができる。
【0061】
[実施例2に係る中継処理のうちウェブアプリケーション取得処理のシーケンス]
次に、実施例2に係る中継処理のうちウェブアプリケーション取得処理のシーケンスを、図8を参照して説明する。図8は、実施例2に係る中継処理のうちウェブアプリケーション取得処理のシーケンス図である。
【0062】
まず、ウェブクライアント2が、ウェブアプリケーションおよびアクセス対象データを選択し、ウェブアプリケーションの実行依頼を示すHTTPリクエストを送信する(ステップS31)。ここでは、HTTPリクエストの内容は以下のとおりである。POSTメソッドを「/api/input HTTP/1.1」とする。ホスト名を中継装置1A(gw.company.com)とする。ウェブアプリケーションのURLを外部ウェブサーバ4に配置されたもの(http://www.cloud.com/api/app1)とする。アクセス対象データのURLを社内記憶装置6に記憶されたもの(http://data.company.com/private/data1.xml)とする。このアクセス対象データのURLが、社外秘データとしてデータID(例えば「1」)と対応付けられてデータ管理テーブル31に記憶されているものとする。
【0063】
そして、中継装置1Aは、HTTPリクエストを受け取り、受け取ったHTTPリクエストに含まれるアクセス対象データについて、データ管理テーブル31に基づいて、公開ポリシーを判定する(ステップS32)。ここでは、アクセス対象データのURL(http://data.company.com/private/data1.xml)がデータ管理テーブル31に記憶されているので、公開ポリシーを社外秘であるものと判定する。そして、中継装置1Aは、HTTPリクエストに含まれたウェブアプリケーションのURL(http://www.cloud.com/api/app1)およびアクセス対象データのデータIDを対応付けて、アプリケーション管理テーブル32に登録する(ステップS33)。
【0064】
続いて、中継装置1Aは、アクセス対象データの公開ポリシーが社外秘であると判定されたので、HTTPリクエストをオンプレミス環境の内部ウェブサーバ3に振り分けるものと判断する。そして、中継装置1Aは、外部ウェブサーバ4(www.cloud.com)にウェブアプリケーションの転送を依頼するHTTPリクエストを送信する(ステップS34)。ここでは、HTTPリクエストの内容は、以下のとおりである。GETメソッドを「/api/app1.war HTTP/1.1」とする。ホスト名を外部ウェブサーバ4(www.cloud.com)とする。
【0065】
その後、中継装置1Aは、外部ウェブサーバ4からウェブアプリケーションを取得し(ステップS35)、取得したウェブアプリケーションを内部ウェブサーバ3(www.company.com)のサンドボックスにデプロイする(ステップS36)。ここでは、HTTPレスポンスの内容は、以下のとおりである。POSTメソッドを「/app HTTP/1.1」とする。ホスト名を内部ウェブサーバ3(www.company.com)とする。
【0066】
続いて、中継装置1Aは、内部ウェブサーバ3からウェブアプリケーションのデプロイ先のURLを取得し(ステップS37)、取得したURLとなるようにアプリケーション管理テーブル32を更新する(ステップS38)。ここでは、アプリケーション管理テーブル32に記憶されたデプロイ先のURLを「http://www.company.com:1111/app/app1」とする。そして、中継装置1Aは、ウェブアプリケーションで使用されるアクセス対象のデータのアクセス経路を、中継装置1Aを経由するように当該データのURLを書き換える(ステップS39)。
【0067】
その後、中継装置1Aは、デプロイ先のウェブアプリケーションに処理を依頼する(ステップS40)。ここでは、HTTPレスポンスの内容は、以下のとおりである。GETメソッドを「/app/app1?data=・・・data1.xml」とする。ホスト名を内部ウェブサーバ3(www.company.com:1111)とする。
【0068】
[実施例2に係る中継処理のうち社外秘データへのアクセス処理のシーケンス]
次に、実施例2に係る中継処理のうち社外秘データへのアクセス処理のシーケンスを、図9を参照して説明する。図9は、実施例2に係る中継処理のうち社外秘データへのアクセス処理のシーケンス図である。
【0069】
内部ウェブサーバ3のデプロイ先のウェブアプリケーションが実行されると、内部ウェブサーバ3は、処理に必要なデータを依頼すべく、データのアクセス要求を示すHTTPリクエストを中継装置1Aに送信する(ステップS41)。ここでは、HTTPリクエストの内容は以下のとおりである。GETメソッドを「http://data.company.com/private/data1.xml HTTP/1.1」とする。ホスト名を中継装置1A(gw.company.com)とする。
【0070】
続いて、中継装置1Aは、データのアクセス要求を取得すると、アクセス要求がされたデータ(http://data,company.com/private/data1.xml)について、アクセスを許可するか否かを判定する(ステップS42)。例えば、中継装置1Aは、データ管理テーブル31に公開ポリシーが記憶されているか否かを判定する。ここでは、中継装置1Aは、データ管理テーブル31に公開ポリシーが記憶されているので、アクセスを許可することが可能であると判定する。さらに、中継装置1Aは、アプリケーション管理テーブル32に基づいて、ウェブアプリケーションのデプロイ先が一致するか否かを判定する。ここでは、仮にHTTPリクエストのリファラーが「http://www.company.com:1111/app/app1」であるとする。すると、中継装置1Aは、HTTPリクエストのリファラーとアプリケーション管理テーブル32に記憶したデプロイ先のURLとが一致するので、正常なアクセスであると判断し、アクセスを許可するものと判定する。
【0071】
そして、中継装置1Aは、社内記憶装置6にデータ取得を依頼する(ステップS43)。ここでは、HTTPレスポンスの内容は、以下のとおりである。GETメソッドを「/private/data1.xml HTTP/1.1」とする。ホスト名を社内記憶装置6(data.company.com)とする。そして、中継装置1Aは、社内記憶装置6からデータを取得し(ステップS44)、取得したデータを内部ウェブサーバ3に送信する(ステップS45)。さらに、中継装置1Aは、内部ウェブサーバ3から処理結果の通知を受け取ると(ステップS46)、処理結果をウェブクライアント2に通知する(ステップS47)。
【0072】
[実施例2の効果]
上記実施例2によれば、中継装置1Aの振り分け部23は、ウェブクライアント2から送信されたHTTPリクエストに含まれるアクセス対象のデータについて、データ管理テーブル31に記憶された公開ポリシーを参照する。そして、振り分け部23は、当該データが社外秘でない場合には、HTTPリクエストをオフプレミス環境である外部ウェブサーバ4に転送する。一方、振り分け部23は、当該データが社外秘である場合には、HTTPリクエストをオンプレミス環境である内部ウェブサーバ3のサンドボックスに転送する。かかる構成によれば、中継装置1Aは、HTTPリクエストに含まれるアクセス対象のデータの公開ポリシーに基づいて、オフプレミス環境およびオンプレミス環境のいずれのウェブサーバにHTTPリクエストを転送するかを選択的に決定できる。このため、中継装置1Aは、社外秘である、アクセス対象のデータについて、オンプレミス環境のウェブサーバにHTTPリクエストを転送できるので、当該アクセス対象のデータのオフプレミス環境への流出を防止できる。
【0073】
上記実施例2によれば、中継装置1AのURL書き換え部28は、オフプレミス環境である外部ウェブサーバ4からHTTPリクエストに関わるウェブアプリケーションを取得する。そして、URL書き換え部28は、取得したウェブアプリケーションをオンプレミス環境の内部ウェブサーバ3にデプロイする。そして、URL書き換え部28は、デプロイしたウェブアプリケーションで使用されるアクセス対象のデータのアクセス経路を、自装置を経由するように、当該データのアクセス先となるURLを書き換える。かかる構成によれば、URL書き換え部28は、ウェブアプリケーションで使用されるアクセス対象のデータのアクセス経路を、中継装置1Aを経由することとした。このため、URL書き換え部29は、HTTPプロトコルで社外秘データをやり取りする場合であっても、データのアクセス先をデータ単位で指定することができる。この結果、URL書き換え部28は、社外秘データの外部への流出を防止できる。
【0074】
ここで、WWW(World Wide Web)において中継装置1Aを経由してデータにアクセスする場合の効果について、図10を参照しながら説明する。図10は、中継装置1Aを経由してデータにアクセスする場合の効果を説明する図である。図10に示すように、中継装置1Aは、イーサネット(Ethernet)(登録商標)によって、ウェブクライアント2、社内記憶装置6および内部ウェブサーバ3と物理的に接続されている。
【0075】
WWWにおいて、ウェブアプリケーションでは、TCP/IPの上にさらにHTTPプロトコルを構築し、データのやりとりを行う。このため、HTTPプロトコルでデータをやりとりする内部ウェブサーバ3のサンドボックス内で動作するウェブアプリケーションでは、データのアクセス制限をホスト単位(ここでは、社内記憶装置6)で指定できるが、データやファイル単位で指定できない。ところで、社内記憶装置6には、アクセス対象のデータ以外に機密データが格納されている場合がある。このような場合に、内部ウェブサーバ3のウェブアプリケーションが、アクセス対象のデータを直接的に社内記憶装置6にアクセスする(a1)と、当該データ以外の機密データをアクセスするおそれがある。
【0076】
ところが、内部ウェブサーバ3のウェブアプリケーションが、アクセス対象のデータを、中継装置1Aを経由して間接的に社内記憶装置6にアクセスする(a2)と、当該データ以外の機密データをアクセスすることを防止できる。すなわち、ウェブアプリケーションは、データのアクセス先をデータ単位で指定することができることとなる。この結果、アクセス対象のデータ以外の機密データの外部への流出を防止できる。
【0077】
上記実施例2によれば、データ中継部25は、URL書き換え部28にてURLが書き換えられたデータのアクセス要求をウェブアプリケーションから取得すると、当該データについてデータ管理テーブル31に公開ポリシーが記憶されているか否かを判定する。そして、データ中継部25は、当該データについて公開ポリシーが記憶されていると判定された場合に、当該データのアクセス処理を中継する。かかる構成によれば、データ中継部25は、HTTPリクエストに含まれるアクセス対象のデータと、ウェブアプリケーションからのアクセス要求のあったデータとの対応関係を判別することができ、不正なデータのアクセスを防止できる。この結果、データ中継部25は、ウェブアプリケーションを介する、社外秘データの外部への流出を防止できる。
【0078】
上記実施例2によれば、データ中継部25は、アクセス対象のデータのアクセス要求およびアクセス要求時のHTTPリクエストの双方に含まれる所定の識別情報が一致するか否かを判定する。そして、データ中継部25は、所定の識別情報が一致する場合に、データ管理テーブル31に当該アクセス対象のデータについて公開ポリシーが記憶されているか否かを判定する。そして、データ中継部25は、当該アクセス対象のデータについて公開ポリシーが記憶されていると判定された場合に、当該アクセス対象のデータのアクセス処理を中継する。かかる構成によれば、データ中継部25は、HTTPリクエストとウェブアプリケーションからのアクセス要求の双方に含まれる所定の識別情報が一致する場合に、アクセス対象のデータを中継可能とするので、さらに不正なデータのアクセスを防止できる。
【0079】
上記実施例2によれば、データ管理テーブル31は、社内記憶装置6に記憶されたデータのうち、ウェブクライアント2からのHTTPリクエストに基づき内部ウェブサーバ3または外部ウェブサーバ4からアクセスされるデータごとに、内部ウェブサーバ3および外部ウェブサーバ4へのデータの公開に係る公開ポリシーを記憶する。そして、振り分け部23は、さらに、ウェブクライアント2から送信されたHTTPリクエストに含まれるアクセス対象のデータについて、データ管理テーブル31に記憶された公開ポリシーを参照する。そして、振り分け部23は、当該データについて内部ウェブサーバ3および外部ウェブサーバ4のいずれへも公開ポリシーがない場合には、HTTPリクエストの転送を無効とする。かかる構成によれば、振り分け部23は、当該データについて内部ウェブサーバ3および外部ウェブサーバ4のいずれへも公開ポリシーがない場合には、HTTPリクエストの転送を無効とすることとしたので、さらに機密データの外部および内部への流出を防止できる。
【0080】
なお、外部ウェブサーバ4は、例えばクラウド環境のウェブサーバを指すものとして説明した。しかしながら、外部ウェブサーバ4は、ウェブサービスを提供可能なウェブサーバであればこれに限定されるものではない。
【0081】
また、オンプレミス環境とは、社内で整備された環境であって外部ウェブサーバ4のアプリケーションをダウンロードして実施できる環境を意味するものとして説明した。しかしながら、オンプレミス環境とは、外部ウェブサーバ4のアプリケーションをダウンロードして実施できる環境であればこれに限定されるものではない。
【0082】
また、中継装置1Aがウェブクライアント2、内部ウェブサーバ3および社内記憶装置6とインターネットを介さないで接続する形態は、例えば社内LAN(Local Area Network)であったり、社内におけるイントラネットであったりするものとして説明した。しかしながら、この接続形態は、HTTPプロトコルで通信するネットワークであればこれらに限定されるものではない。
【0083】
また、データ管理テーブル31は、内部ウェブサーバ3からウェブクライアント2に送信されるデータごとに、公開ポリシーとして、社外での公開に制限がある社外秘データを記憶するものとして説明した。しかしながら、データ管理テーブル31は、内部ウェブサーバ3からウェブクライアント2に送信されるデータごとに、公開ポリシーとして、社外秘データと、社外および社内での公開に制限がある機密データとを含んで記憶するものとしても良い。この場合、振り分け部23は、さらに、ウェブクライアント2から送信されたHTTPリクエストに含まれるアクセス対象のデータについてデータ管理テーブル31に記憶された公開ポリシーを参照する。そして、振り分け部23は、当該データについて社外および社内でも公開しない場合または公開ポリシーがない場合には、HTTPリクエストの転送を無効とするようにすれば良い。
【0084】
また、振り分け部23は、HTTPリクエストに含まれる、アクセス対象のデータに係る公開ポリシーが例えば社外秘である場合には、HTTPリクエストをオンプレミス環境の内部ウェブサーバ3に振り分けるものと判断する。この場合に、振り分け部23は、アクセス対象のデータの識別番号およびウェブアプリケーションのURLを対応付けてアプリケーション管理テーブル32に登録する。そして、振り分け部23は、内部ウェブサーバ3にウェブアプリケーションをデプロイさせるべく、外部ウェブサーバ4にウェブアプリケーションの転送を依頼するものとして説明した。しかしながら、振り分け部23は、ウェブアプリケーションのURLがアプリケーション管理テーブル32に登録されているか否かを判定するようにしても良い。そして、振り分け部23は、登録されている場合には、当該データの識別番号をアプリケーション管理テーブル32に登録し、当該データのURLを中継装置1Aを経由するように書き換えたHTTPリクエストを内部ウェブサーバ3のウェブアプリケーションに送信するものとしても良い。一方、振り分け部23は、登録されていない場合には、内部ウェブサーバ3にウェブアプリケーションをデプロイさえるべく、外部ウェブサーバ4にウェブアプリケーションの転送を依頼するものとしても良い。
【0085】
[プログラムなど]
なお、中継装置1Aは、既知のパーソナルコンピュータ、ワークステーションなどの情報処理装置に、上記した振り分け部23、URL書き換え部28およびデータ中継部25などの各機能を搭載することによって実現することができる。
【0086】
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的態様は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、リクエスト解析部22と振り分け部23とデータ中継部25とを1個の部として統合しても良い。一方、URL書き換え部28を、外部ウェブサーバ4から取得されたウェブアプリケーションをデプロイするデプロイ部とウェブアプリケーションで使用されるデータのURLを書き換える書き換え部とに分散しても良い。また、データ管理テーブル31やアプリケーション管理テーブル32などの記憶部30を中継装置1Aの外部装置としてネットワーク経由で接続するようにしても良い。
【0087】
また、上記実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図11を用いて、図2に示した中継装置1Aの制御部20と同様の機能を有する中継処理プログラムを実行するコンピュータの一例を説明する。
【0088】
図11は、中継処理プログラムを実行するコンピュータを示す図である。図11に示すように、コンピュータ1000は、RAM1010と、ネットワークインタフェース装置1020と、HDD1030と、CPU1040、媒体読取装置1050およびバス1060とを有する。RAM1010、ネットワークインタフェース装置1020、HDD1030、CPU1040、媒体読取装置1050は、バス1060によって接続されている。
【0089】
そして、HDD1030には、図2に示した制御部20と同様の機能を有する中継処理プログラム1031が記憶される。また、HDD1030には、図2に示したデータ管理テーブル31およびアプリケーション管理テーブル32に対応する中継処理関連情報1032が記憶される。
【0090】
そして、CPU1040が中継処理プログラム1031をHDD1030から読み出してRAM1010に展開することにより、中継処理プログラム1031は、中継処理プロセス1011として機能するようになる。そして、中継処理プロセス1011は、中継処理関連情報1032から読み出した情報などを適宜RAM1010上の自身に割り当てられた領域に展開し、この展開したデータなどに基づいて各種データ処理を実行する。
【0091】
媒体読取装置1050は、中継処理プログラム1031がHDD1030に格納されていない場合であっても中継処理プログラム1031を記憶する媒体などから中継処理プログラム1031を読み取る。媒体読取装置1050には、例えばCD−ROMや光ディスク装置がある。また、ネットワークインタフェース装置1020は、外部装置とネットワーク経由で接続する装置であり、有線、無線に対応するものである。
【0092】
なお、上記の中継処理プログラム1031は、必ずしもHDD1030に格納されている必要はなく、CD−ROMなどの媒体読取装置1050に記憶されたこのプログラムを、コンピュータ1000が読み出して実行するようにしてもよい。また、公衆回線、インターネット、LAN、WAN(Wide Area Network)などを介してコンピュータ1000に接続される他のコンピュータ(またはサーバ)などにこのプログラムを記憶させておいても良い。この場合には、コンピュータ1000がネットワークインタフェース装置1020を介してこれらからプログラムを読み出して実行する。
【0093】
以上の実施例1〜2を含む実施形態に関し、さらに以下の付記を開示する。
【0094】
(付記1)インターネットを介して自装置に接続される第1のウェブサーバまたは自装置を介して前記インターネットに接続される第2のウェブサーバと、ウェブクライアントと、自装置を介してインターネットに接続されるデータ記憶装置との間でデータを中継する中継装置であって、
前記データ記憶装置に格納されるデータごとにデータの公開に係る公開ポリシーを記憶する記憶部と、
前記データ記憶装置に格納されるデータのうち前記ウェブクライアントから送信されたリクエストに含まれるアクセス対象のデータについて、前記記憶部に記憶された公開ポリシーを参照し、前記リクエストに含まれるアクセス対象のデータの公開に制限がない場合には、前記リクエストを前記第1のウェブサーバに転送し、前記リクエストに含まれるアクセス対象のデータの公開に制限がある場合には、前記リクエストを前記第1のウェブサーバに転送する転送部と
を有することを特徴とする中継装置。
【0095】
(付記2)前記転送部によって前記リクエストを前記第2のウェブサーバに転送する場合、前記第1のウェブサーバから前記リクエストに関わるウェブアプリケーションを取得し、該取得したウェブアプリケーションを前記第2のウェブサーバに配置し、該配置したウェブアプリケーションで使用されるアクセス対象のデータのアクセス経路を、自装置を経由するように前記リクエストを書き換える書き換え部
を更に有することを特徴とする付記1に記載の中継装置。
【0096】
(付記3)前記書き換え部によってアクセス経路が書き換えられたアクセス対象のデータのアクセス要求を前記第2のウェブサーバに配置したウェブアプリケーションから受信すると、前記記憶部に当該アクセス対象のデータについて公開ポリシーが記憶されているか否かを判定し、当該アクセス対象のデータについて公開ポリシーが記憶されていると判定された場合に、当該アクセス対象のデータのアクセス処理を中継する中継部
を更に有することを特徴とする付記2に記載の中継装置。
【0097】
(付記4)前記中継部は、
前記アクセス対象のデータのアクセス要求および前記アクセス要求時のリクエストの双方に含まれる所定の識別情報が一致する場合に、前記記憶部に当該アクセス対象のデータについて公開ポリシーが記憶されているか否かを判定し、当該アクセス対象のデータについて公開ポリシーが記憶されていると判定された場合に、当該アクセス対象のデータのアクセス処理を中継することを特徴とする付記3に記載の中継装置。
【0098】
(付記5)前記記憶部は、
前記データ記憶装置に格納されたデータのうち、前記ウェブクライアントからのリクエストに基づき前記第1のウェブサーバまたは第2のウェブサーバからアクセスされるデータごとに、前記第1のウェブサーバおよび前記第2のウェブサーバへのデータの公開に係る公開ポリシーを記憶し、
前記転送部は、
前記ウェブクライアントから送信されたリクエストに含まれるアクセス対象のデータについて、前記記憶部に記憶された公開ポリシーを参照し、当該データについて前記第1のウェブサーバおよび前記第2のウェブサーバのいずれへも公開ポリシーがない場合には、前記リクエストの転送を無効とすることを特徴とする付記1から付記4のいずれか1つに記載の中継装置。
【0099】
(付記6)前記転送部は、
データの公開に制限がない場合には、ウェブアプリケーションで使用されるアクセス対象のデータのアクセス経路を、自装置を経由するように書き換え、該書き換えたリクエストを前記第1のウェブサーバに転送することを特徴とする付記1に記載の中継装置。
【0100】
(付記7)インターネットを介して自装置に接続される第1のウェブサーバまたは自装置を介してインターネットに接続される第2のウェブサーバと、ウェブクライアントと、自装置を介してインターネットに接続されるデータ記憶装置との間でデータを中継する中継装置によって実行される中継方法であって、
前記データ記憶装置に格納されるデータのうち前記ウェブクライアントから送信されたリクエストに含まれるアクセス対象のデータについて、前記前記データ記憶装置に格納されるデータごとにデータの公開に係る公開ポリシーを記憶する記憶部に記憶された公開ポリシーを参照し、前記リクエストに含まれるアクセス対象のデータの公開に制限がない場合には、前記リクエストを前記第1のウェブサーバに転送し、前記リクエストに含まれるアクセス対象のデータの公開に制限がある場合には、前記リクエストを前記第2のウェブサーバに転送する
ことを特徴とする中継方法。
【0101】
(付記8)コンピュータに、
データを記憶するデータ記憶装置に記憶されるデータのうちウェブクライアントから送信されたリクエストに含まれるアクセス対象のデータについて、前記データ記憶装置に記憶されるデータごとにデータの公開に係る公開ポリシーを記憶する記憶部に記憶された公開ポリシーを参照し、当該リクエストに含まれるアクセス対象のデータの公開に制限がない場合には、前記リクエストを、インターネットを介して自装置に接続される第1のウェブサーバに転送し、当該リクエストに含まれるアクセス対象のデータの公開に制限がある場合には、前記リクエストを、自装置を介してインターネットに接続される第2のウェブサーバに転送する
処理を実行させる中継プログラム。
【符号の説明】
【0102】
1、1A 中継装置
11、30 記憶部
12 転送部
2 ウェブクライアント
3 内部ウェブサーバ
4 外部ウェブサーバ
5 インターネット
6 社内記憶装置
20 制御部
21 リクエスト受け付け部
22 リクエスト解析部
23 振り分け部
24 リクエスト転送部
25 データ中継部
26 レスポンス受け付け部
27 レスポンス解析部
28 URL書き換え部
29 レスポンス転送部
31 データ管理テーブル
32 アプリケーション管理テーブル

【特許請求の範囲】
【請求項1】
インターネットを介して自装置に接続される第1のウェブサーバまたは自装置を介して前記インターネットに接続される第2のウェブサーバと、ウェブクライアントと、自装置を介してインターネットに接続されるデータ記憶装置との間でデータを中継する中継装置であって、
前記データ記憶装置に格納されるデータごとにデータの公開に係る公開ポリシーを記憶する記憶部と、
前記データ記憶装置に格納されるデータのうち前記ウェブクライアントから送信されたリクエストに含まれるアクセス対象のデータについて、前記記憶部に記憶された公開ポリシーを参照し、前記リクエストに含まれるアクセス対象のデータの公開に制限がない場合には、前記リクエストを前記第1のウェブサーバに転送し、前記リクエストに含まれるアクセス対象のデータの公開に制限がある場合には、前記リクエストを前記第1のウェブサーバに転送する転送部と
を有することを特徴とする中継装置。
【請求項2】
前記転送部によって前記リクエストを前記第2のウェブサーバに転送する場合、前記第1のウェブサーバから前記リクエストに関わるウェブアプリケーションを取得し、該取得したウェブアプリケーションを前記第2のウェブサーバに配置し、該配置したウェブアプリケーションで使用されるアクセス対象のデータのアクセス経路を、自装置を経由するように前記リクエストを書き換える書き換え部
を更に有することを特徴とする請求項1に記載の中継装置。
【請求項3】
前記書き換え部によってアクセス経路が書き換えられたアクセス対象のデータのアクセス要求を前記第2のウェブサーバに配置したウェブアプリケーションから受信すると、前記記憶部に当該アクセス対象のデータについて公開ポリシーが記憶されているか否かを判定し、当該アクセス対象のデータについて公開ポリシーが記憶されていると判定された場合に、当該アクセス対象のデータのアクセス処理を中継する中継部
を更に有することを特徴とする請求項2に記載の中継装置。
【請求項4】
前記中継部は、
前記アクセス対象のデータのアクセス要求および前記アクセス要求時のリクエストの双方に含まれる所定の識別情報が一致する場合に、前記記憶部に当該アクセス対象のデータについて公開ポリシーが記憶されているか否かを判定し、当該アクセス対象のデータについて公開ポリシーが記憶されていると判定された場合に、当該アクセス対象のデータのアクセス処理を中継することを特徴とする請求項3に記載の中継装置。
【請求項5】
前記記憶部は、
前記データ記憶装置に格納されたデータのうち、前記ウェブクライアントからのリクエストに基づき前記第1のウェブサーバまたは第2のウェブサーバからアクセスされるデータごとに、前記第1のウェブサーバおよび前記第2のウェブサーバへのデータの公開に係る公開ポリシーを記憶し、
前記転送部は、
前記ウェブクライアントから送信されたリクエストに含まれるアクセス対象のデータについて、前記記憶部に記憶された公開ポリシーを参照し、当該データについて前記第1のウェブサーバおよび前記第2のウェブサーバのいずれへも公開ポリシーがない場合には、前記リクエストの転送を無効とすることを特徴とする請求項1から請求項4のいずれか1つに記載の中継装置。
【請求項6】
インターネットを介して自装置に接続される第1のウェブサーバまたは自装置を介してインターネットに接続される第2のウェブサーバと、ウェブクライアントと、自装置を介してインターネットに接続されるデータ記憶装置との間でデータを中継する中継装置によって実行される中継方法であって、
前記データ記憶装置に格納されるデータのうち前記ウェブクライアントから送信されたリクエストに含まれるアクセス対象のデータについて、前記前記データ記憶装置に格納されるデータごとにデータの公開に係る公開ポリシーを記憶する記憶部に記憶された公開ポリシーを参照し、前記リクエストに含まれるアクセス対象のデータの公開に制限がない場合には、前記リクエストを前記第1のウェブサーバに転送し、前記リクエストに含まれるアクセス対象のデータの公開に制限がある場合には、前記リクエストを前記第2のウェブサーバに転送する
ことを特徴とする中継方法。
【請求項7】
コンピュータに、
データを記憶するデータ記憶装置に記憶されるデータのうちウェブクライアントから送信されたリクエストに含まれるアクセス対象のデータについて、前記データ記憶装置に記憶されるデータごとにデータの公開に係る公開ポリシーを記憶する記憶部に記憶された公開ポリシーを参照し、当該リクエストに含まれるアクセス対象のデータの公開に制限がない場合には、前記リクエストを、インターネットを介して自装置に接続される第1のウェブサーバに転送し、当該リクエストに含まれるアクセス対象のデータの公開に制限がある場合には、前記リクエストを、自装置を介してインターネットに接続される第2のウェブサーバに転送する
処理を実行させる中継プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2012−84092(P2012−84092A)
【公開日】平成24年4月26日(2012.4.26)
【国際特許分類】
【出願番号】特願2010−231997(P2010−231997)
【出願日】平成22年10月14日(2010.10.14)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】