(57)【特許請求の範囲】
【請求項１】
インターネットを介して自装置に接続される第１のウェブサーバまたは自装置を介して前記インターネットに接続される第２のウェブサーバと、ウェブクライアントと、自装置を介してインターネットに接続されるデータ記憶装置との間でデータを中継する中継装置であって、
前記データ記憶装置に格納されるデータごとにデータの公開に係る公開ポリシーを記憶する記憶部と、
前記データ記憶装置に格納されるデータのうち前記ウェブクライアントから送信されたリクエストに含まれるアクセス対象のデータについて、前記記憶部に記憶された公開ポリシーを参照し、前記リクエストに含まれるアクセス対象のデータの公開に制限がない場合には、前記リクエストを前記第１のウェブサーバに転送し、前記リクエストに含まれるアクセス対象のデータの公開に制限がある場合には、前記リクエストを前記第２のウェブサーバに転送する転送部と
を有することを特徴とする中継装置。
【請求項２】
前記転送部によって前記リクエストを前記第２のウェブサーバに転送する場合、前記第１のウェブサーバから前記リクエストに関わるウェブアプリケーションを取得し、該取得したウェブアプリケーションを前記第２のウェブサーバに配置し、該配置したウェブアプリケーションで使用されるアクセス対象のデータのアクセス経路を、自装置を経由するように前記リクエストを書き換える書き換え部
を更に有することを特徴とする請求項１に記載の中継装置。
【請求項３】
前記書き換え部によってアクセス経路が書き換えられたアクセス対象のデータのアクセス要求を前記第２のウェブサーバに配置したウェブアプリケーションから受信すると、前記記憶部に当該アクセス対象のデータについて公開ポリシーが記憶されているか否かを判定し、当該アクセス対象のデータについて公開ポリシーが記憶されていると判定された場合に、当該アクセス対象のデータのアクセス処理を中継する中継部
を更に有することを特徴とする請求項２に記載の中継装置。
【請求項４】
前記中継部は、
前記アクセス対象のデータのアクセス要求および前記アクセス要求時のリクエストの双方に含まれる所定の識別情報が一致する場合に、前記記憶部に当該アクセス対象のデータについて公開ポリシーが記憶されているか否かを判定し、当該アクセス対象のデータについて公開ポリシーが記憶されていると判定された場合に、当該アクセス対象のデータのアクセス処理を中継することを特徴とする請求項３に記載の中継装置。
【請求項５】
前記記憶部は、
前記データ記憶装置に格納されたデータのうち、前記ウェブクライアントからのリクエストに基づき前記第１のウェブサーバまたは第２のウェブサーバからアクセスされるデータごとに、前記第１のウェブサーバおよび前記第２のウェブサーバへのデータの公開に係る公開ポリシーを記憶し、
前記転送部は、
前記ウェブクライアントから送信されたリクエストに含まれるアクセス対象のデータについて、前記記憶部に記憶された公開ポリシーを参照し、当該データについて前記第１のウェブサーバおよび前記第２のウェブサーバのいずれへも公開ポリシーがない場合には、前記リクエストの転送を無効とすることを特徴とする請求項１から請求項４のいずれか１つに記載の中継装置。
【請求項６】
インターネットを介して自装置に接続される第１のウェブサーバまたは自装置を介してインターネットに接続される第２のウェブサーバと、ウェブクライアントと、自装置を介してインターネットに接続されるデータ記憶装置との間でデータを中継する中継装置によって実行される中継方法であって、
前記データ記憶装置に格納されるデータのうち前記ウェブクライアントから送信されたリクエストに含まれるアクセス対象のデータについて、前記前記データ記憶装置に格納されるデータごとにデータの公開に係る公開ポリシーを記憶する記憶部に記憶された公開ポリシーを参照し、前記リクエストに含まれるアクセス対象のデータの公開に制限がない場合には、前記リクエストを前記第１のウェブサーバに転送し、前記リクエストに含まれるアクセス対象のデータの公開に制限がある場合には、前記リクエストを前記第２のウェブサーバに転送する
ことを特徴とする中継方法。
【請求項７】
コンピュータに、
データを記憶するデータ記憶装置に記憶されるデータのうちウェブクライアントから送信されたリクエストに含まれるアクセス対象のデータについて、前記データ記憶装置に記憶されるデータごとにデータの公開に係る公開ポリシーを記憶する記憶部に記憶された公開ポリシーを参照し、当該リクエストに含まれるアクセス対象のデータの公開に制限がない場合には、前記リクエストを、インターネットを介して自装置に接続される第１のウェブサーバに転送し、当該リクエストに含まれるアクセス対象のデータの公開に制限がある場合には、前記リクエストを、自装置を介してインターネットに接続される第２のウェブサーバに転送する
処理を実行させる中継プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、中継装置、中継プログラムおよび中継方法に関する。
【背景技術】
【０００２】
近年、インターネットを経由して必要な機能をサービスとして利用するＳａａＳ（Software  as  a  Service）と呼ばれる形態が普及しつつある。サービスとして利用される機能には、ウェブサービスとしてインターネットで提供されるアプリケーション（以降、「ウェブアプリケーション」という。）が含まれる。ウェブアプリケーションのほとんどは、ＨＴＴＰ（Hyper  Text  Transfer  Protocol）プロトコルでデータをやりとりするので、ＵＲＬ（Uniform  Resource  Locator）を用いたデータのアクセス制御を必要とする。このため、ウェブアプリケーションは、盗聴やなりすましなどの安全性の面で利用が限られる場合がある。特に、企業の経営戦略に関するような企業秘密とされるデータには、たとえ暗号化してもインターネットに公開できない場合もある。
【０００３】
つまり、ＨＴＴＰプロトコルでデータをやりとりするウェブアプリケーションでは、データのアクセス制限をホスト（ドメイン）単位で指定できるが、データやファイル単位で指定できない。また、ＨＴＴＰプロトコルの下位レイヤのＯＳ（Operating  System）では、プロトコル単位のポートの開閉（ＨＴＴＰプロトコルのデータを通すか否か）を制御できるが、個別のデータやファイル単位でポートの開閉を制御できない。
【０００４】
ところで、企業秘密とされるデータの安全性を考慮した技術がある。例えば、第１の技術では、企業秘密とされるデータについて当該データを保有するサーバと当該データの送信指令を出すアプリケーションとを対応付けたステータス情報を記憶する。そして、データの送信指令が出された場合に、送信指令を出したアプリケーションがステータス情報に登録され、且つ送信指令の送信先がステータス情報に登録されたサーバと一致しない場合には、データの送信指令を無効にする。
【０００５】
また、第２の技術では、ネットワークを介してコンピュータが保持しているデータを転送する中継装置が、データに対する要求元装置からの転送要求を受付け、当該要求元装置自身または要求元ユーザのアクセス権限の認証を行う。そして、中継装置が、認証結果に応じて、転送要求を受け付けたデータをコンピュータから取得し、取得したデータを要求元装置にネットワークを介して転送する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−２７５６６９号公報
【特許文献２】特開２００２−４１３４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、機密情報とされるデータの安全性を考慮した従来の技術では、ＨＴＴＰプロトコルでデータのやりとりをする場合、データのアクセス制限をドメイン（ホスト名）単位で可能であったが、データやファイル単位で指定することができないという問題があった。
【０００８】
第１の技術および第２の技術であっても、仮にＨＴＴＰプロトコルでデータのやりとりをする場合には、データのアクセス制限をデータ単位で指定することができない。つまり、第１の技術および第２の技術は、データについてのステータス情報や要求元装置自身などのファイルシステムのアクセス権限を用いて、機密情報とされるデータのアクセスを禁止する制御が可能となるだけである。
【０００９】
この結果、従来の技術では、ウェブアプリケーションのデータ参照先のホストと同一ホスト内に機密情報とされるデータが格納されている場合、機密情報とされるデータがウェブアプリケーションから参照および書き換えがなされてしまうおそれがある。すなわち、ＳａａＳを利用して実行されるウェブアプリケーションであっても、データのアクセス制限として指定可能なのはホスト単位であるので、データ参照先のホスト内に格納されている機密情報とされるデータを参照してしまう場合がある。
【００１０】
開示の技術は、ＨＴＴＰプロトコルでデータのやりとりをする場合であっても、データやファイル単位でデータ記憶装置に記憶されたデータのアクセスを制限することができることを目的とする。
【課題を解決するための手段】
【００１１】
１つの側面では、中継装置は、インターネットを介して自装置に接続される第１のウェブサーバまたは自装置を介して前記インターネットに接続される第２のウェブサーバと、ウェブクライアントと、自装置を介してインターネットに接続されるデータ記憶装置との間でデータを中継する中継装置であって、前記データ記憶装置に格納されるデータごとにデータの公開に係る公開ポリシーを記憶する記憶部と、前記データ記憶装置に格納されるデータのうち前記ウェブクライアントから送信されたリクエストに含まれるアクセス対象のデータについて、前記記憶部に記憶された公開ポリシーを参照し、前記リクエストに含まれるアクセス対象のデータの公開に制限がない場合には、前記リクエストを前記第１のウェブサーバに転送し、前記リクエストに含まれるアクセス対象のデータの公開に制限がある場合には、前記リクエストを前記第１のウェブサーバに転送する転送部とを備える。
【発明の効果】
【００１２】
本願の開示する中継装置の一つの態様によれば、ＨＴＴＰプロトコルでデータのやりとりをする場合であっても、データやファイル単位でデータ記憶装置に記憶されたデータのアクセスを制限することができる。
【図面の簡単な説明】
【００１３】
【図１】図１は、実施例１に係る中継装置の構成を示す機能ブロック図である。
【図２】図２は、実施例２に係る中継装置の構成を示す機能ブロック図である。
【図３】図３は、データ管理テーブルのデータ構造の一例を示す図である。
【図４】図４は、アプリケーション管理テーブルのデータ構造の一例を示す図である。
【図５】図５は、ＵＲＬ書き換えの具体例を説明する図である。
【図６】図６は、ウェブアプリケーションのデプロイ先を参照する方法の具体例を説明する図である。
【図７】図７は、実施例２に係る中継装置における中継処理の手順を示すフローチャートである。
【図８】図８は、中継処理のうちウェブアプリケーション取得処理のシーケンス図である。
【図９】図９は、中継処理のうち社外秘データへのアクセス処理のシーケンス図である。
【図１０】図１０は、中継装置を経由してデータにアクセスする場合の効果を説明する図である。
【図１１】図１１は、中継処理プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【００１４】
以下に、本願の開示する中継装置、中継プログラムおよび中継方法の実施例を図面に基づいて詳細に説明する。なお、実施例によりこの発明が限定されるものではない。
【実施例１】
【００１５】
図１は、実施例１に係る中継装置の構成を示す機能ブロック図である。図１に示すように、中継装置１は、ウェブクライアント２、内部ウェブサーバ３および社内記憶装置６と接続し、インターネット５を介して外部ウェブサーバ４と接続する。中継装置１がウェブクライアント２、内部ウェブサーバ３および社内記憶装置６とインターネット５を介さないで接続する形態は、例えば社内ＬＡＮ（Local  Area  Network）であったり、社内におけるイントラネットであったりする。
【００１６】
中継装置１は、外部ウェブサーバ４または内部ウェブサーバ３と、ウェブクライアント２と、社内記憶装置６との間でデータを中継する。ウェブクライアント２は、例えばウェブサービスを利用するパーソナルコンピュータを示す。内部ウェブサーバ３は、ウェブサービスとしてインターネット５で提供されるウェブアプリケーションを実施し、中継装置１の管理内のウェブサーバを意味する。外部ウェブサーバ４は、ウェブサービスとしてウェブアプリケーションを実施し、中継装置１の管理外のウェブサーバを意味する。外部ウェブサーバ４は、例えば、ＳａａＳ（Software  as  a  Service）を取り入れたウェブサーバであったり、クラウド環境下のウェブサーバであったりする。このような外部ウェブサーバ４のウェブアプリケーションをダウンロードして実施できる環境であって中継装置１の管理内で整備された環境を、オンプレミス環境というものとする。これに対し、中継装置１の管理外にある外部ウェブサーバ４でウェブアプリケーションを実施できる環境を、オフプレミス環境というものとする。
【００１７】
社内記憶装置６は、公開に制限があるデータや公開に制限がないデータを記憶する。例えば、公開に制限があるデータとは、社外秘データなどの機密データを指す。
【００１８】
中継装置１は、記憶部１１および転送部１２を有する。記憶部１１は、社内記憶装置６に格納されるデータごとにデータの公開に係る公開ポリシーを記憶する。例えば、記憶部１１は、公開に制限がある旨のポリシーや公開に制限がない旨のポリシーを、データごとに記憶する。
【００１９】
転送部１２は、社内記憶装置６に格納されるデータのうちウェブクライアント２から送信されたＨＴＴＰリクエストに含まれるアクセス対象のデータについて、記憶部１１に記憶された公開ポリシーを参照する。また、転送部１２は、ＨＴＴＰリクエストに含まれるアクセス対象のデータの公開に制限がない場合には、ＨＴＴＰリクエストをオフプレミス環境の外部ウェブサーバ４に転送する。そして、外部ウェブサーバ４は、ＨＴＴＰリクエストを受信し、ＨＴＴＰリクエストに応じて自装置内のウェブアプリケーションを実施すべく、アクセス対象のデータを、中継装置１を介して社内記憶装置６から取り込む。そして、外部ウェブサーバ４は、取り込んだデータを用いてウェブアプリケーションを実施し、公開に制限がないデータに対応する処理結果を、中継装置１を介してウェブクライアント２に通知することとなる。
【００２０】
一方、転送部１２は、ＨＴＴＰリクエストに含まれるアクセス対象のデータの公開に制限がある場合には、ＨＴＴＰリクエストをオンプレミス環境の内部ウェブサーバ３のサンドボックスに転送する。そして、内部ウェブサーバ３は、ＨＴＴＰリクエストを受信し、ＨＴＴＰリクエストに応じてサンドボックスにダウンロードしたウェブアプリケーションを実施すべく、アクセス対象のデータを、中継装置１を介して社内記憶装置６から取り込む。そして、内部ウェブサーバ３は、取り込んだデータを用いてウェブアプリケーションをサンドボックス内で安全に実施し、公開に制限があるデータに対応する処理結果を、中継装置１を介してウェブクライアント２に通知することとなる。なお、本実施例のサンドボックスとは、外部から受け取ったプログラムを保護された領域で動作させることによってシステムが不正に操作されるのを防ぐセキュリティモデルのことを指す。実行されるプログラムは保護された領域に入り、ほかのプログラムやデータなどを操作できない状態にされて動作するため、プログラムが暴走したりウイルスを動作させたりしようとしてもシステムに影響が及ばないようにできる。
【００２１】
このようにして、中継装置１は、ＨＴＴＰリクエストに含まれるアクセス対象のデータの公開ポリシーに基づいて、オフプレミス環境およびオンプレミス環境のいずれのウェブサーバにＨＴＴＰリクエストを転送するかを選択的に決定できる。このため、中継装置１は、公開に制限がある、アクセス対象のデータについて、オンプレミス環境のウェブサーバにＨＴＴＰリクエストを転送できるので、当該アクセス対象のデータのオフプレミス環境への流出を防止できる。一方、中継装置１は、公開に制限がない、アクセス対象のデータについては、オフプレミス環境のウェブサーバにＨＴＴＰリクエストを転送できるので、オフプレミス環境も合わせて使用しながら公開に制限があるデータの流出を防止できる。
【００２２】
また、中継装置１は、ウェブアプリケーションに、アクセス対象のデータを、一意に識別できるＵＲＬで、自装置を介して、社内記憶装置６から取り込ませることとしたので、アクセス対象のデータのアクセス先をデータ単位で指定させることができることとなる。この結果、アクセス対象のデータのアクセス先のホストと同一ホスト内に公開が制限されるデータが格納されている場合であっても、中継装置１は、公開が制限されるデータがウェブアプリケーションから参照されてしまうことを防止できる。
【実施例２】
【００２３】
［実施例２に係る中継装置の構成］
図２は、実施例２に係る中継装置の構成を示す機能ブロック図である。図２に示すように、中継装置１Ａは、ウェブクライアント２、内部ウェブサーバ３および社内記憶装置６と接続し、インターネット５を介して外部ウェブサーバ４と接続する。中継装置１がウェブクライアント２、内部ウェブサーバ３および社内記憶装置６とインターネット５を介さないで接続する形態は、例えば社内ＬＡＮ（Local  Area  Network）であったり、社内におけるイントラネットであったりする。
【００２４】
また、内部ウェブサーバ３は、オンプレミス環境のウェブサーバであって中継装置１の管理内のウェブサーバを意味する。また、外部ウェブサーバ４は、オフプレミス環境のウェブサーバであって中継装置１の管理外のウェブサーバを意味する。外部ウェブサーバ４は、例えばクラウド環境のウェブサーバを指すものとする。社内記憶装置６は、オンプレミス環境およびオフプレミス環境のウェブアプリケーションで使用されるデータを記憶する。そして、社内記憶装置６には、例えば外部ウェブサーバ４に公開できない社外秘のデータおよび外部ウェブサーバ４に公開できる公開可能なデータを含む。なお、社内記憶装置６に、外部ウェブサーバ４にも内部ウェブサーバ３にも公開できないデータを含むものとしても良い。
【００２５】
中継装置１Ａは、制御部２０および記憶部３０を有する。なお、中継装置１Ａは、実施例１の中継装置１の一例である。制御部２０は、ＨＴＴＰリクエストを制御するリクエスト受け付け部２１、リクエスト解析部２２、振り分け部２３、リクエスト転送部２４およびデータ中継部２５を有する。また、制御部２０は、ＨＴＴＰレスポンスを制御するレスポンス受け付け部２６、レスポンス解析部２７、ＵＲＬ書き換え部２８およびレスポンス転送部２９を有する。なお、振り分け部２３、リクエスト転送部２４およびレスポンス転送部２９は、実施例１の転送部１２の一例である。また、制御部２０は、例えば、ＡＳＩＣ（Application Specific Integrated Circuit）やＦＰＧＡ（Field Programmable Gate Array）などの集積回路またはＣＰＵ（Central Processing Unit）やＭＰＵ（Micro Processing Unit）などの電子回路である。
【００２６】
記憶部３０は、データ管理テーブル３１およびアプリケーション管理テーブル３２を有する。なお、データ管理テーブル３１は、実施例１の記憶部１１の一例である。記憶部３０は、例えば、ＲＡＭ（Random Access Memory）、フラッシュメモリ（flash memory）などの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。
【００２７】
リクエスト受け付け部２１は、各種ＨＴＴＰリクエストを受け付け、受け付けたＨＴＴＰリクエストをリクエスト解析部２２に出力する。例えば、リクエスト受け付け部２１は、ウェブクライアント２から送信された、ウェブアプリケーションの実行依頼を示すＨＴＴＰリクエストを受け付け、受け付けたＨＴＴＰリクエストをリクエスト解析部２２に出力する。このＨＴＴＰリクエストには、実行が依頼されるウェブアプリケーションのＵＲＬおよびアクセス対象のデータのＵＲＬが含まれる。
【００２８】
また、リクエスト受け付け部２１は、後にオンプレミス環境の内部ウェブサーバ３またはオフプレミス環境の外部ウェブサーバ４のウェブアプリケーションで、ウェブクライアント２からのＨＴＴＰリクエストに基づく処理が開始された結果、ウェブアプリケーションから送信されてくる、ＨＴＴＰリクエストに基づく処理の実行に必要なデータのアクセス要求を示すＨＴＴＰリクエストを受け付ける。すなわち、オンプレミス環境またはオフプレミス環境のウェブアプリケーションによりウェブクライアント２からのＨＴＴＰリクエストが処理される場合には、ウェブアプリケーションから実行に必要なデータを直接的にアクセスさせないで、中継装置１Ａを経由して間接的にアクセスさせるようにするのである。この説明については後述する。
【００２９】
リクエスト解析部２２は、リクエスト受け付け部２１によって受け付けられたＨＴＴＰリクエストを解析する。
【００３０】
振り分け部２３は、リクエスト解析部２２によって解析されたＨＴＴＰリクエストに含まれる、アクセス対象のデータの公開に係る公開ポリシーに基づいて、ＨＴＴＰリクエストの振り分けるべきウェブアプリケーションを判断する。具体的には、振り分け部２３は、リクエスト解析部２２によって解析されたＨＴＴＰリクエストに含まれるアクセス対象のデータについて後述するデータ管理テーブル３１に記憶された公開ポリシーを参照する。また、振り分け部２３は、参照した公開ポリシーが例えば社外秘でない場合には、ＨＴＴＰリクエストを外部ウェブサーバ４のウェブアプリケーションに振り分けるものと判断する。そして、振り分け部２３は、外部ウェブサーバ４のウェブアプリケーションを送信先とするＨＴＴＰリクエストをリクエスト転送部２４に出力する。
【００３１】
また、振り分け部２３は、参照した公開ポリシーが例えば社外秘である場合には、ＨＴＴＰリクエストをオンプレミス環境の内部ウェブサーバ３に振り分けるものと判断する。そして、振り分け部２３は、ＨＴＴＰリクエストに含まれたウェブアプリケーションのＵＲＬおよびデータ管理テーブル３１に記憶されたアクセス対象のデータの識別番号を対応付けて、アプリケーション管理テーブル３２に登録する。また、振り分け部２３は、外部ウェブサーバ４にウェブアプリケーションの転送を依頼するＨＴＴＰリクエストをリクエスト転送部２４に出力する。
【００３２】
ここで、データ管理テーブル３１のデータ構造について、図３を参照しながら説明する。図３は、データ管理テーブル３１のデータ構造の一例を示す図である。図３に示すように、データ管理テーブル３１は、データＩＤ３１ａおよび社外秘データＵＲＬ３１ｂを対応付けて記憶する。データＩＤ３１ａは、データの識別番号を示す。社外秘データＵＲＬ３１ｂは、ウェブアプリケーションからのアクセスを許可するデータのうち社外秘データのＵＲＬを示す。すなわち、社外秘データＵＲＬ３１ｂは、社外での公開に制限があるデータのＵＲＬを示している。なお、データ管理テーブル３１は、中継処理が行われる前にあらかじめ作成されるものとする。
【００３３】
また、アプリケーション管理テーブル３２のデータ構造について、図４を参照しながら説明する。図４は、アプリケーション管理テーブル３２のデータ構造の一例を示す図である。図４に示すように、アプリケーション管理テーブル３２は、サービス提供元ウェブアプリケーションＵＲＬ３２ａ、データＩＤ３２ｂおよびウェブアプリケーションデプロイ場所ＵＲＬ３２ｃを対応付けて記憶する。サービス提供元ウェブアプリケーションＵＲＬ３２ａは、ウェブアプリケーションのサービスを提供するウェブサーバ、すなわち、ここでは外部ウェブサーバ４内のＵＲＬを指す。データＩＤ３２ｂは、ウェブアプリケーションからアクセスするデータの識別番号を示し、データ管理テーブル３１のデータＩＤ３１ａと対応付けられる。ウェブアプリケーションデプロイ場所ＵＲＬ３２ｃは、ウェブアプリケーションをデプロイする場所のＵＲＬ、すなわち、ここでは内部ウェブサーバ３のＵＲＬを指す。なお、本実施例で、デプロイとは、ウェブアプリケーションのコンパイルしたプログラムやクラスファイルなどを配置して、ウェブクライアント２から実行可能な状態にすることを指す。
【００３４】
図２に戻って、リクエスト転送部２４は、各種ＨＴＴＰリクエストを外部ウェブサーバ４に転送する。例えば、リクエスト転送部２４は、振り分け部２３によってウェブアプリケーションへのＨＴＴＰリクエストがオンプレミス環境の内部ウェブサーバ３に振り分けられた場合には、ウェブアプリケーションの転送を依頼するＨＴＴＰリクエストを、外部ウェブサーバ４に転送する。
【００３５】
なお、リクエスト転送部２４は、振り分け部２３によってウェブアプリケーションへの
ＨＴＴＰリクエストが外部ウェブサーバ４に振り分けられた場合には、ウェブアプリケーションへのＨＴＴＰリクエストを、外部ウェブサーバ４に転送する。このとき、ＨＴＴＰリクエストに含まれるアクセス対象のデータのＵＲＬは、中継装置１Ａを経由して間接的にアクセスされるように書き換えられたＵＲＬであるものとする。このＵＲＬの書き換えは、例えば振り分け部２３によって行われる。
【００３６】
レスポンス受け付け部２６は、リクエスト転送部２４によって転送されたＨＴＴＰリクエストに対応するＨＴＴＰレスポンスを外部ウェブサーバ４から受け付け、受け付けたＨＴＴＰレスポンスをレスポンス解析部２７に出力する。例えば、レスポンス受け付け部２６は、ウェブアプリケーションの転送を依頼するＨＴＴＰリクエストに対するＨＴＴＰレスポンスを、外部ウェブサーバ４から受け付ける。すなわち、レスポンス受け付け部２６は、リクエスト転送部２４によって転送が依頼されたウェブアプリケーションを外部ウェブサーバ４から取得する。そして、レスポンス受け付け部２６は、受け付けたウェブアプリケーションをレスポンス解析部２７に出力する。
【００３７】
レスポンス解析部２７は、レスポンス受け付け部２６によって受け付けられたＨＴＴＰレスポンスを解析する。
【００３８】
ＵＲＬ書き換え部２８は、外部ウェブサーバ４からウェブアプリケーションを取得し、取得したウェブアプリケーションを内部ウェブサーバ３のサンドボックスにデプロイする。具体的には、ＵＲＬ書き換え部２８は、レスポンス解析部２７によって解析された、ＨＴＴＰレスポンスであるウェブアプリケーションを取得し、取得したウェブアプリケーションを内部ウェブサーバ３のサンドボックスにデプロイする。そして、ＵＲＬ書き換え部２８は、ウェブアプリケーションのデプロイ先のＵＲＬを取得し、取得したＵＲＬをアクセス対象のデータのデータＩＤ３２ｂに対応付けてアプリケーション管理テーブル３２を更新する。
【００３９】
また、ＵＲＬ書き換え部２８は、デプロイされたウェブアプリケーションで使用されるアクセス対象のデータのアクセス経路を、自装置を経由するように当該データのアクセス経路を含むＵＲＬを書き換える。具体的には、ＵＲＬ書き換え部２８は、ＨＴＴＰレスポンスに含まれるアクセス対象のデータのＵＲＬを、中継装置１Ａを経由するように書き換える。すなわち、ＵＲＬ書き換え部２８は、アクセス対象のデータをウェブアプリケーションから直接的にアクセスさせないで、中継装置１Ａを経由させてウェブアプリケーションから間接的にアクセスさせるようにする。
【００４０】
ここで、ＵＲＬ書き換え部２９によるアクセス対象のデータのＵＲＬを書き換える具体例について、図５を参照して説明する。図５は、ＵＲＬ書き換えの具体例を説明する図である。図５（Ａ）は、書き換え前のＵＲＬを示し、図５（Ｂ）は、書き換え後のＵＲＬを示す。図５（Ａ）に示すように、アクセス対象のデータの書き換え前のＵＲＬには、アクセス対象のデータである社外秘データ（Ｕ１）が、直接的にアクセスされるようにクエリ文字列として記載されている。一方、図５（Ｂ）に示すように、アクセス対象のデータの書き換え後のＵＲＬには、アクセス対象のデータである社外秘データが、間接的にアクセスされるように記載されている。すなわち、社外秘データ（Ｕ３）が、中継サーバ（Ｕ２）を経由してからアクセスされるように、ＵＲＬ書き換え部２８によって書き換えられる。なお、ここでは、書き換え後のＵＲＬは、英数字以外の文字列などの記号を安全な形に変換するために、ＵＲＬエンコードされている。
【００４１】
図２に戻って、ＵＲＬ書き換え部２８は、ウェブアプリケーションのデプロイ先のＵＲＬおよびＵＲＬが書き換えられたデータのＵＲＬを用いた当該ウェブアプリケーションへの処理依頼をレスポンス転送部２９に出力する。
【００４２】
レスポンス転送部２９は、各種ＨＴＴＰレスポンスを各ＨＴＴＰレスポンスに応じて転送する。例えば、レスポンス転送部２９は、ＵＲＬ書き換え部２８によるウェブアプリケーションへの処理依頼に対応するＨＴＴＰレスポンスを、内部ウェブサーバ３に転送する。すなわち、レスポンス転送部２９は、ウェブクライアント２から送信されたＨＴＴＰリクエストに含まれるデータの公開ポリシーが社外秘である場合には、当該ＨＴＴＰリクエストを、外部ウェブサーバ４を介して間接的に内部ウェブサーバ３のサンドボックスに転送することとなる。なお、ＨＴＴＰリクエストに含まれるデータのＵＲＬは、ＵＲＬ書き換え部２８によって中継装置１Ａを経由してアクセスされるように書き換えられたＵＲＬである。この結果、内部ウェブサーバ３では、ＨＴＴＰレスポンスに基づいて、処理に必要なアクセス対象のデータをアクセスすべく、当該データのＵＲＬに基づいて当該データのアクセス要求を示すＨＴＴＰリクエストを中継装置１Ａに送信することとなる。
【００４３】
データ中継部２５は、ＨＴＴＰリクエストによりアクセス要求があったデータのアクセスを許可するか否かを判定する。具体的には、データ中継部２５は、リクエスト解析部２２によって解析されたＨＴＴＰリクエストに含まれるアクセス対象のデータについて、データ管理テーブル３１に公開ポリシーが記憶されているか否かを判定する。そして、データ中継部２５は、アクセス対象のデータについて、公開ポリシーが記憶されている場合には、アクセスを許可することが可能であると判定する。一方、データ中継部２５は、アクセス対象のデータについて、公開ポリシーが記憶されていない場合には、不正なアクセスであると判断し、アクセスを許可しないものと判定する。
【００４４】
また、データ中継部２５は、アクセス対象のデータのアクセスを許可することが可能であると判定する場合には、アプリケーション管理テーブル３２に基づいて、ウェブアプリケーションのデプロイ先が一致するか否かを判定する。さらに具体的には、データ中継部２５は、データ管理テーブル３１に記憶されたアクセス対象のデータのデータＩＤ３１ａを参照する。そして、データ中継部２５は、参照したデータＩＤ３１ａと一致したデータＩＤに対応するウェブアプリケーションデプロイ場所ＵＲＬ３２ｃをアプリケーション管理テーブル３２から参照する。そして、データ中継部２５は、参照したウェブアプリケーションデプロイ場所ＵＲＬ３２ｃが、リクエストされたウェブアプリケーションのデプロイ先と一致するか否かを判定する。そして、データ中継部２５は、参照したウェブアプリケーションデプロイ場所ＵＲＬ３２ｃがリクエストされたウェブアプリケーションのデプロイ先と一致する場合には、正常なアクセスであると判断し、アクセスを許可するものと判定する。一方、データ中継部２５は、参照したウェブアプリケーションデプロイ場所ＵＲＬ３２ｃがリクエストされたウェブアプリケーションのデプロイ先と一致しない場合には、不正なアクセスであると判断し、アクセスを許可しないものと判定する。
【００４５】
ここで、データ中継部２５によるリクエストされたウェブアプリケーションのデプロイ先を参照する方法の具体例について、図６を参照しながら説明する。図６は、ウェブアプリケーションのデプロイ先を参照する方法の具体例を説明する図である。図６（Ａ）は、ＨＴＴＰリクエストのリファラー（Ｒｅｆｅｒｅｒ）ヘッダに記述されているＲｅｆｅｒｅｒを参照する例であり、図６（Ｂ）は、ＴＣＰ／ＩＰ通信における送信元ＩＰアドレスを参照する例である。
【００４６】
図６（Ａ）に示すように、ウェブアプリケーションのデプロイ先は、ＨＴＴＰリクエストのＲｅｆｅｒｅｒヘッダに記述されている送信元（ｄ１）となる。このため、データ中継部２５は、ウェブアプリケーションのデプロイ先を、ＨＴＴＰリクエストのＲｅｆｅｒｅｒヘッダから参照することができる。
【００４７】
また、図６（Ｂ）に示すように、ウェブアプリケーションがサーバ単位でデプロイする場合には、ウェブアプリケーションのデプロイ先は、ＴＣＰ／ＩＰ通信におけるパケットヘッダ部に記述されている送信元ＩＰアドレスｄ２となる。このため、データ中継部２５は、ウェブアプリケーションのデプロイ先を、ＴＣＰ／ＩＰ通信におけるパケットヘッダ部から参照することができる。
【００４８】
図２に戻って、データ中継部２５は、アクセスを許可するものと判定された場合には、社内記憶装置６からアクセス対象のデータを取得し、取得したデータをデータのアクセス要求のあったウェブアプリケーションに渡す。
【００４９】
なお、データ中継部２５は、ＨＴＴＰリクエストに含まれるアクセス対象のデータについて、データ管理テーブル３１に公開ポリシーが記憶されているか否かを判定し、公開ポリシーが記憶されている場合に、アクセスを許可することが可能であると判定した。しかしながら、データ中継部２５は、これに限定されることはなく、公開ポリシーの判定を行う前に、アクセス対象のデータのアクセス要求およびアクセス要求時のＨＴＴＰリクエストの双方に含まれる所定の識別情報が一致するか否かを判定しても良い。この場合には、データ中継部２５は、一致する場合に、アクセス対象のデータについて、データ管理テーブル３１に公開ポリシーが記憶されているか否かを判定し、公開ポリシーが記憶されている場合に、アクセスを許可することが可能であると判定する。所定の識別情報は、例えば利用者の識別ＩＤであっても良いし、ＨＴＴＰリクエストの識別ＩＤであっても良いし、セッションＩＤであっても良く、アクセス要求およびＨＴＴＰリクエストの双方に含まれる識別情報であれば良い。
【００５０】
［実施例２に係る中継処理の手順］
次に、実施例２に係る中継処理の手順を、図７を参照して説明する。図７は、実施例２に係る中継処理の手順を示すフローチャートである。
【００５１】
まず、リクエスト受け付け部２１は、利用者（ウェブクライアント２）からウェブアプリケーションの実行依頼を示すＨＴＴＰリクエストを受け付けたか否かを判定する（ステップＳ１１）。利用者から当該ＨＴＴＰリクエストを受け付けなかったと判定された場合には（ステップＳ１１；Ｎｏ）、リクエスト受け付け部２１は、ＨＴＴＰリクエストを待ち合わせるべく、ステップＳ１１に移行する。
【００５２】
一方、利用者から当該ＨＴＴＰリクエストを受け付けたと判定された場合には（ステップＳ１１；Ｙｅｓ）、振り分け部２３は、ＨＴＴＰリクエストに含まれるアクセス対象のデータが社外秘データであるか否かを判定する（ステップＳ１２）。具体的には、振り分け部２３は、ＨＴＴＰリクエストに含まれるアクセス対象のデータのＵＲＬがデータ管理テーブル３１の社外秘データＵＲＬ３１ｂに記憶されているか否かを判定する。
【００５３】
アクセス対象のデータが社外秘データであると判定された場合には（ステップＳ１２；Ｙｅｓ）、振り分け部２３は、ウェブアプリケーションのＵＲＬおよびアクセス対象データのデータＩＤを、アプリケーション管理テーブル３２に登録する（ステップＳ１３）。具体的には、振り分け部２３は、ＨＴＴＰリクエストに含まれたウェブアプリケーションのＵＲＬおよびデータ管理テーブル３１に記憶されたアクセス対象のデータのデータＩＤ３１ａを対応付けて、アプリケーション管理テーブル３２に登録する。
【００５４】
続いて、振り分け部２３は、ウェブアプリケーションの転送を依頼するＨＴＴＰリクエストを、リクエスト転送部２４を介して、サービス提供元である外部ウェブサーバ４に転送する（ステップＳ１４）。そして、レスポンス受け付け部２６は、サービス提供元からウェブアプリケーションを取得する。そして、ＵＲＬ書き換え部２８は、取得されたウェブアプリケーションを内部ウェブサーバ３のサンドボックスにデプロイし、デプロイ先のウェブアプリケーションのＵＲＬを受け取る（ステップＳ１５）。
【００５５】
そして、ＵＲＬ書き換え部２８は、受け取ったウェブアプリケーションのＵＲＬをアクセス対象のデータのデータＩＤ３２ｂに対応付けてアプリケーション管理テーブル３２ｃに更新する。そして、ＵＲＬ書き換え部２８は、アクセス対象のデータのＵＲＬを、中継装置１Ａを経由するように書き換えて、ウェブアプリケーションに処理を依頼する（ステップＳ１６）。
【００５６】
続いて、リクエスト受け付け部２１は、ウェブアプリケーションから、実行に必要なアクセス対象のデータのアクセス要求を示すＨＴＴＰリクエストを受け付ける（ステップＳ１７）。ＨＴＴＰリクエストには、アクセス対象のデータのＵＲＬが含まれる。すなわち、アクセス対象のデータのＵＲＬは、ＵＲＬ書き換え部２８によって中継装置１Ａを経由するように書き換えられているので、当該データのアクセス要求がウェブアプリケーションから中継装置１Ａに送信されるのである。
【００５７】
そして、データ中継部２５は、ＨＴＴＰリクエストに含まれるアクセス対象のデータのＵＲＬがアクセスを許可するＵＲＬであるか否かを判定する（ステップＳ１８）。アクセス対象のデータのＵＲＬがアクセスを許可するＵＲＬであると判定された場合には（ステップＳ１８；Ｙｅｓ）、データ中継部２５は、正常なデータであると判断する。そして、データ中継部２５は、社内記憶装置６からアクセス対象のデータを取得し、取得したデータをアクセス要求のあったウェブアプリケーションに渡す（ステップＳ１９）。すなわち、データ中継部２５は、ウェブアプリケーションにアクセス対象のデータを社内記憶装置６から直接的に取得させないで、中継装置１Ａを経由して間接的に取得させるのである。そして、ウェブアプリケーションは、処理結果を受け取り、利用者に通知する（ステップＳ２０）。
【００５８】
一方、アクセス対象のデータのＵＲＬがアクセスを許可するＵＲＬでないと判定された場合には（ステップＳ１８；Ｎｏ）、データ中継部２５は、不正なアクセスであると判断する。そして、データ中継部２５は、中継処理を中断させる（ステップＳ２１）。そして、データ中継部２５は、不正なアクセスがあったことを利用者（ウェブクライアント２）に通知する（ステップＳ２２）。
【００５９】
なお、振り分け部２３によってＨＴＴＰリクエストに含まれるアクセス対象のデータが社外秘データでないと判定された場合には（ステップＳ１２；Ｎｏ）、例えば振り分け部２３が、アクセス対象のデータのＵＲＬを、中継装置１Ａを経由するように書き換える。そして、振り分け部２３は、サービス提供元である外部ウェブサーバ４に対してウェブアプリケーションを送信先とするＨＴＴＰリクエストを送信する（ステップＳ２３）。続いて、リクエスト受け付け部２１は、ウェブアプリケーションから、実行に必要なアクセス対象のデータのアクセス要求を示すＨＴＴＰリクエストを受け付け（ステップＳ２４）、ステップＳ１８に移行することとなる。
【００６０】
また、内部ウェブサーバ３にデプロイされたウェブアプリケーションはウェブクライアント２からのリクエストの処理終了の都度、内部ウェブサーバ３から削除されるようにしても良い。例えば、Ｓ１７やＳ２４のデータアクセス要求元が内部ウェブサーバ３のウェブアプリケーションであった場合、Ｓ２０やＳ２２の処理の後、中継装置１Ａが、内部ウェブサーバ３にこのウェブアプリケーションの削除を依頼し、内部ウェブサーバ３がこの依頼に基づき自身のサンドボックスからこのウェブアプリケーションを削除する方法が考えられる。または、内部ウェブサーバ３でウェブアプリケーションの稼動を監視し、最後に稼動してから所定時間経過した場合にこのウェブアプリケーションを削除するようにしても良い。そして、削除の後、アプリケーション管理テーブル３２からこのウェブアプリケーションの情報を削除しても良い。この処理により、ウェブクライアント２からのリクエストの処理を終了したウェブアプリケーションを内部ウェブサーバ３のサンドボックス内から削除することができる。
【００６１】
［実施例２に係る中継処理のうちウェブアプリケーション取得処理のシーケンス］
次に、実施例２に係る中継処理のうちウェブアプリケーション取得処理のシーケンスを、図８を参照して説明する。図８は、実施例２に係る中継処理のうちウェブアプリケーション取得処理のシーケンス図である。
【００６２】
まず、ウェブクライアント２が、ウェブアプリケーションおよびアクセス対象データを選択し、ウェブアプリケーションの実行依頼を示すＨＴＴＰリクエストを送信する（ステップＳ３１）。ここでは、ＨＴＴＰリクエストの内容は以下のとおりである。ＰＯＳＴメソッドを「/api/input HTTP/1.1」とする。ホスト名を中継装置１Ａ（gw.company.com）とする。ウェブアプリケーションのＵＲＬを外部ウェブサーバ４に配置されたもの（http://www.cloud.com/api/app1）とする。アクセス対象データのＵＲＬを社内記憶装置６に記憶されたもの（http://data.company.com/private/data1.xml）とする。このアクセス対象データのＵＲＬが、社外秘データとしてデータＩＤ（例えば「１」）と対応付けられてデータ管理テーブル３１に記憶されているものとする。
【００６３】
そして、中継装置１Ａは、ＨＴＴＰリクエストを受け取り、受け取ったＨＴＴＰリクエストに含まれるアクセス対象データについて、データ管理テーブル３１に基づいて、公開ポリシーを判定する（ステップＳ３２）。ここでは、アクセス対象データのＵＲＬ（http://data.company.com/private/data1.xml）がデータ管理テーブル３１に記憶されているので、公開ポリシーを社外秘であるものと判定する。そして、中継装置１Ａは、ＨＴＴＰリクエストに含まれたウェブアプリケーションのＵＲＬ（http://www.cloud.com/api/app1）およびアクセス対象データのデータＩＤを対応付けて、アプリケーション管理テーブル３２に登録する（ステップＳ３３）。
【００６４】
続いて、中継装置１Ａは、アクセス対象データの公開ポリシーが社外秘であると判定されたので、ＨＴＴＰリクエストをオンプレミス環境の内部ウェブサーバ３に振り分けるものと判断する。そして、中継装置１Ａは、外部ウェブサーバ４（www.cloud.com）にウェブアプリケーションの転送を依頼するＨＴＴＰリクエストを送信する（ステップＳ３４）。ここでは、ＨＴＴＰリクエストの内容は、以下のとおりである。ＧＥＴメソッドを「/api/app1.war HTTP/1.1」とする。ホスト名を外部ウェブサーバ４（www.cloud.com）とする。
【００６５】
その後、中継装置１Ａは、外部ウェブサーバ４からウェブアプリケーションを取得し（ステップＳ３５）、取得したウェブアプリケーションを内部ウェブサーバ３（www.company.com）のサンドボックスにデプロイする（ステップＳ３６）。ここでは、ＨＴＴＰレスポンスの内容は、以下のとおりである。ＰＯＳＴメソッドを「/app HTTP/1.1」とする。ホスト名を内部ウェブサーバ３（www.company.com）とする。
【００６６】
続いて、中継装置１Ａは、内部ウェブサーバ３からウェブアプリケーションのデプロイ先のＵＲＬを取得し（ステップＳ３７）、取得したＵＲＬとなるようにアプリケーション管理テーブル３２を更新する（ステップＳ３８）。ここでは、アプリケーション管理テーブル３２に記憶されたデプロイ先のＵＲＬを「http://www.company.com:1111/app/app1」とする。そして、中継装置１Ａは、ウェブアプリケーションで使用されるアクセス対象のデータのアクセス経路を、中継装置１Ａを経由するように当該データのＵＲＬを書き換える（ステップＳ３９）。
【００６７】
その後、中継装置１Ａは、デプロイ先のウェブアプリケーションに処理を依頼する（ステップＳ４０）。ここでは、ＨＴＴＰレスポンスの内容は、以下のとおりである。ＧＥＴメソッドを「/app/app1?data=・・・data1.xml」とする。ホスト名を内部ウェブサーバ３（www.company.com:1111）とする。
【００６８】
［実施例２に係る中継処理のうち社外秘データへのアクセス処理のシーケンス］
次に、実施例２に係る中継処理のうち社外秘データへのアクセス処理のシーケンスを、図９を参照して説明する。図９は、実施例２に係る中継処理のうち社外秘データへのアクセス処理のシーケンス図である。
【００６９】
内部ウェブサーバ３のデプロイ先のウェブアプリケーションが実行されると、内部ウェブサーバ３は、処理に必要なデータを依頼すべく、データのアクセス要求を示すＨＴＴＰリクエストを中継装置１Ａに送信する（ステップＳ４１）。ここでは、ＨＴＴＰリクエストの内容は以下のとおりである。ＧＥＴメソッドを「http://data.company.com/private/data1.xml HTTP/1.1」とする。ホスト名を中継装置１Ａ（gw.company.com）とする。
【００７０】
続いて、中継装置１Ａは、データのアクセス要求を取得すると、アクセス要求がされたデータ（http://data,company.com/private/data1.xml）について、アクセスを許可するか否かを判定する（ステップＳ４２）。例えば、中継装置１Ａは、データ管理テーブル３１に公開ポリシーが記憶されているか否かを判定する。ここでは、中継装置１Ａは、データ管理テーブル３１に公開ポリシーが記憶されているので、アクセスを許可することが可能であると判定する。さらに、中継装置１Ａは、アプリケーション管理テーブル３２に基づいて、ウェブアプリケーションのデプロイ先が一致するか否かを判定する。ここでは、仮にＨＴＴＰリクエストのリファラーが「http://www.company.com:1111/app/app1」であるとする。すると、中継装置１Ａは、ＨＴＴＰリクエストのリファラーとアプリケーション管理テーブル３２に記憶したデプロイ先のＵＲＬとが一致するので、正常なアクセスであると判断し、アクセスを許可するものと判定する。
【００７１】
そして、中継装置１Ａは、社内記憶装置６にデータ取得を依頼する（ステップＳ４３）。ここでは、ＨＴＴＰレスポンスの内容は、以下のとおりである。ＧＥＴメソッドを「/private/data1.xml HTTP/1.1」とする。ホスト名を社内記憶装置６（data.company.com）とする。そして、中継装置１Ａは、社内記憶装置６からデータを取得し（ステップＳ４４）、取得したデータを内部ウェブサーバ３に送信する（ステップＳ４５）。さらに、中継装置１Ａは、内部ウェブサーバ３から処理結果の通知を受け取ると（ステップＳ４６）、処理結果をウェブクライアント２に通知する（ステップＳ４７）。
【００７２】
［実施例２の効果］
上記実施例２によれば、中継装置１Ａの振り分け部２３は、ウェブクライアント２から送信されたＨＴＴＰリクエストに含まれるアクセス対象のデータについて、データ管理テーブル３１に記憶された公開ポリシーを参照する。そして、振り分け部２３は、当該データが社外秘でない場合には、ＨＴＴＰリクエストをオフプレミス環境である外部ウェブサーバ４に転送する。一方、振り分け部２３は、当該データが社外秘である場合には、ＨＴＴＰリクエストをオンプレミス環境である内部ウェブサーバ３のサンドボックスに転送する。かかる構成によれば、中継装置１Ａは、ＨＴＴＰリクエストに含まれるアクセス対象のデータの公開ポリシーに基づいて、オフプレミス環境およびオンプレミス環境のいずれのウェブサーバにＨＴＴＰリクエストを転送するかを選択的に決定できる。このため、中継装置１Ａは、社外秘である、アクセス対象のデータについて、オンプレミス環境のウェブサーバにＨＴＴＰリクエストを転送できるので、当該アクセス対象のデータのオフプレミス環境への流出を防止できる。
【００７３】
上記実施例２によれば、中継装置１ＡのＵＲＬ書き換え部２８は、オフプレミス環境である外部ウェブサーバ４からＨＴＴＰリクエストに関わるウェブアプリケーションを取得する。そして、ＵＲＬ書き換え部２８は、取得したウェブアプリケーションをオンプレミス環境の内部ウェブサーバ３にデプロイする。そして、ＵＲＬ書き換え部２８は、デプロイしたウェブアプリケーションで使用されるアクセス対象のデータのアクセス経路を、自装置を経由するように、当該データのアクセス先となるＵＲＬを書き換える。かかる構成によれば、ＵＲＬ書き換え部２８は、ウェブアプリケーションで使用されるアクセス対象のデータのアクセス経路を、中継装置１Ａを経由することとした。このため、ＵＲＬ書き換え部２９は、ＨＴＴＰプロトコルで社外秘データをやり取りする場合であっても、データのアクセス先をデータ単位で指定することができる。この結果、ＵＲＬ書き換え部２８は、社外秘データの外部への流出を防止できる。
【００７４】
ここで、ＷＷＷ（World Wide Web）において中継装置１Ａを経由してデータにアクセスする場合の効果について、図１０を参照しながら説明する。図１０は、中継装置１Ａを経由してデータにアクセスする場合の効果を説明する図である。図１０に示すように、中継装置１Ａは、イーサネット（Ethernet）（登録商標）によって、ウェブクライアント２、社内記憶装置６および内部ウェブサーバ３と物理的に接続されている。
【００７５】
ＷＷＷにおいて、ウェブアプリケーションでは、ＴＣＰ／ＩＰの上にさらにＨＴＴＰプロトコルを構築し、データのやりとりを行う。このため、ＨＴＴＰプロトコルでデータをやりとりする内部ウェブサーバ３のサンドボックス内で動作するウェブアプリケーションでは、データのアクセス制限をホスト単位（ここでは、社内記憶装置６）で指定できるが、データやファイル単位で指定できない。ところで、社内記憶装置６には、アクセス対象のデータ以外に機密データが格納されている場合がある。このような場合に、内部ウェブサーバ３のウェブアプリケーションが、アクセス対象のデータを直接的に社内記憶装置６にアクセスする（ａ１）と、当該データ以外の機密データをアクセスするおそれがある。
【００７６】
ところが、内部ウェブサーバ３のウェブアプリケーションが、アクセス対象のデータを、中継装置１Ａを経由して間接的に社内記憶装置６にアクセスする（ａ２）と、当該データ以外の機密データをアクセスすることを防止できる。すなわち、ウェブアプリケーションは、データのアクセス先をデータ単位で指定することができることとなる。この結果、アクセス対象のデータ以外の機密データの外部への流出を防止できる。
【００７７】
上記実施例２によれば、データ中継部２５は、ＵＲＬ書き換え部２８にてＵＲＬが書き換えられたデータのアクセス要求をウェブアプリケーションから取得すると、当該データについてデータ管理テーブル３１に公開ポリシーが記憶されているか否かを判定する。そして、データ中継部２５は、当該データについて公開ポリシーが記憶されていると判定された場合に、当該データのアクセス処理を中継する。かかる構成によれば、データ中継部２５は、ＨＴＴＰリクエストに含まれるアクセス対象のデータと、ウェブアプリケーションからのアクセス要求のあったデータとの対応関係を判別することができ、不正なデータのアクセスを防止できる。この結果、データ中継部２５は、ウェブアプリケーションを介する、社外秘データの外部への流出を防止できる。
【００７８】
上記実施例２によれば、データ中継部２５は、アクセス対象のデータのアクセス要求およびアクセス要求時のＨＴＴＰリクエストの双方に含まれる所定の識別情報が一致するか否かを判定する。そして、データ中継部２５は、所定の識別情報が一致する場合に、データ管理テーブル３１に当該アクセス対象のデータについて公開ポリシーが記憶されているか否かを判定する。そして、データ中継部２５は、当該アクセス対象のデータについて公開ポリシーが記憶されていると判定された場合に、当該アクセス対象のデータのアクセス処理を中継する。かかる構成によれば、データ中継部２５は、ＨＴＴＰリクエストとウェブアプリケーションからのアクセス要求の双方に含まれる所定の識別情報が一致する場合に、アクセス対象のデータを中継可能とするので、さらに不正なデータのアクセスを防止できる。
【００７９】
上記実施例２によれば、データ管理テーブル３１は、社内記憶装置６に記憶されたデータのうち、ウェブクライアント２からのＨＴＴＰリクエストに基づき内部ウェブサーバ３または外部ウェブサーバ４からアクセスされるデータごとに、内部ウェブサーバ３および外部ウェブサーバ４へのデータの公開に係る公開ポリシーを記憶する。そして、振り分け部２３は、さらに、ウェブクライアント２から送信されたＨＴＴＰリクエストに含まれるアクセス対象のデータについて、データ管理テーブル３１に記憶された公開ポリシーを参照する。そして、振り分け部２３は、当該データについて内部ウェブサーバ３および外部ウェブサーバ４のいずれへも公開ポリシーがない場合には、ＨＴＴＰリクエストの転送を無効とする。かかる構成によれば、振り分け部２３は、当該データについて内部ウェブサーバ３および外部ウェブサーバ４のいずれへも公開ポリシーがない場合には、ＨＴＴＰリクエストの転送を無効とすることとしたので、さらに機密データの外部および内部への流出を防止できる。
【００８０】
なお、外部ウェブサーバ４は、例えばクラウド環境のウェブサーバを指すものとして説明した。しかしながら、外部ウェブサーバ４は、ウェブサービスを提供可能なウェブサーバであればこれに限定されるものではない。
【００８１】
また、オンプレミス環境とは、社内で整備された環境であって外部ウェブサーバ４のアプリケーションをダウンロードして実施できる環境を意味するものとして説明した。しかしながら、オンプレミス環境とは、外部ウェブサーバ４のアプリケーションをダウンロードして実施できる環境であればこれに限定されるものではない。
【００８２】
また、中継装置１Ａがウェブクライアント２、内部ウェブサーバ３および社内記憶装置６とインターネットを介さないで接続する形態は、例えば社内ＬＡＮ（Local  Area  Network）であったり、社内におけるイントラネットであったりするものとして説明した。しかしながら、この接続形態は、ＨＴＴＰプロトコルで通信するネットワークであればこれらに限定されるものではない。
【００８３】
また、データ管理テーブル３１は、内部ウェブサーバ３からウェブクライアント２に送信されるデータごとに、公開ポリシーとして、社外での公開に制限がある社外秘データを記憶するものとして説明した。しかしながら、データ管理テーブル３１は、内部ウェブサーバ３からウェブクライアント２に送信されるデータごとに、公開ポリシーとして、社外秘データと、社外および社内での公開に制限がある機密データとを含んで記憶するものとしても良い。この場合、振り分け部２３は、さらに、ウェブクライアント２から送信されたＨＴＴＰリクエストに含まれるアクセス対象のデータについてデータ管理テーブル３１に記憶された公開ポリシーを参照する。そして、振り分け部２３は、当該データについて社外および社内でも公開しない場合または公開ポリシーがない場合には、ＨＴＴＰリクエストの転送を無効とするようにすれば良い。
【００８４】
また、振り分け部２３は、ＨＴＴＰリクエストに含まれる、アクセス対象のデータに係る公開ポリシーが例えば社外秘である場合には、ＨＴＴＰリクエストをオンプレミス環境の内部ウェブサーバ３に振り分けるものと判断する。この場合に、振り分け部２３は、アクセス対象のデータの識別番号およびウェブアプリケーションのＵＲＬを対応付けてアプリケーション管理テーブル３２に登録する。そして、振り分け部２３は、内部ウェブサーバ３にウェブアプリケーションをデプロイさせるべく、外部ウェブサーバ４にウェブアプリケーションの転送を依頼するものとして説明した。しかしながら、振り分け部２３は、ウェブアプリケーションのＵＲＬがアプリケーション管理テーブル３２に登録されているか否かを判定するようにしても良い。そして、振り分け部２３は、登録されている場合には、当該データの識別番号をアプリケーション管理テーブル３２に登録し、当該データのＵＲＬを中継装置１Ａを経由するように書き換えたＨＴＴＰリクエストを内部ウェブサーバ３のウェブアプリケーションに送信するものとしても良い。一方、振り分け部２３は、登録されていない場合には、内部ウェブサーバ３にウェブアプリケーションをデプロイさえるべく、外部ウェブサーバ４にウェブアプリケーションの転送を依頼するものとしても良い。
【００８５】
［プログラムなど］
なお、中継装置１Ａは、既知のパーソナルコンピュータ、ワークステーションなどの情報処理装置に、上記した振り分け部２３、ＵＲＬ書き換え部２８およびデータ中継部２５などの各機能を搭載することによって実現することができる。
【００８６】
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的態様は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、リクエスト解析部２２と振り分け部２３とデータ中継部２５とを１個の部として統合しても良い。一方、ＵＲＬ書き換え部２８を、外部ウェブサーバ４から取得されたウェブアプリケーションをデプロイするデプロイ部とウェブアプリケーションで使用されるデータのＵＲＬを書き換える書き換え部とに分散しても良い。また、データ管理テーブル３１やアプリケーション管理テーブル３２などの記憶部３０を中継装置１Ａの外部装置としてネットワーク経由で接続するようにしても良い。
【００８７】
また、上記実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図１１を用いて、図２に示した中継装置１Ａの制御部２０と同様の機能を有する中継処理プログラムを実行するコンピュータの一例を説明する。
【００８８】
図１１は、中継処理プログラムを実行するコンピュータを示す図である。図１１に示すように、コンピュータ１０００は、ＲＡＭ１０１０と、ネットワークインタフェース装置１０２０と、ＨＤＤ１０３０と、ＣＰＵ１０４０、媒体読取装置１０５０およびバス１０６０とを有する。ＲＡＭ１０１０、ネットワークインタフェース装置１０２０、ＨＤＤ１０３０、ＣＰＵ１０４０、媒体読取装置１０５０は、バス１０６０によって接続されている。
【００８９】
そして、ＨＤＤ１０３０には、図２に示した制御部２０と同様の機能を有する中継処理プログラム１０３１が記憶される。また、ＨＤＤ１０３０には、図２に示したデータ管理テーブル３１およびアプリケーション管理テーブル３２に対応する中継処理関連情報１０３２が記憶される。
【００９０】
そして、ＣＰＵ１０４０が中継処理プログラム１０３１をＨＤＤ１０３０から読み出してＲＡＭ１０１０に展開することにより、中継処理プログラム１０３１は、中継処理プロセス１０１１として機能するようになる。そして、中継処理プロセス１０１１は、中継処理関連情報１０３２から読み出した情報などを適宜ＲＡＭ１０１０上の自身に割り当てられた領域に展開し、この展開したデータなどに基づいて各種データ処理を実行する。
【００９１】
媒体読取装置１０５０は、中継処理プログラム１０３１がＨＤＤ１０３０に格納されていない場合であっても中継処理プログラム１０３１を記憶する媒体などから中継処理プログラム１０３１を読み取る。媒体読取装置１０５０には、例えばＣＤ−ＲＯＭや光ディスク装置がある。また、ネットワークインタフェース装置１０２０は、外部装置とネットワーク経由で接続する装置であり、有線、無線に対応するものである。
【００９２】
なお、上記の中継処理プログラム１０３１は、必ずしもＨＤＤ１０３０に格納されている必要はなく、ＣＤ−ＲＯＭなどの媒体読取装置１０５０に記憶されたこのプログラムを、コンピュータ１０００が読み出して実行するようにしてもよい。また、公衆回線、インターネット、ＬＡＮ、ＷＡＮ（Wide  Area  Network）などを介してコンピュータ１０００に接続される他のコンピュータ（またはサーバ）などにこのプログラムを記憶させておいても良い。この場合には、コンピュータ１０００がネットワークインタフェース装置１０２０を介してこれらからプログラムを読み出して実行する。
【００９３】
以上の実施例１〜２を含む実施形態に関し、さらに以下の付記を開示する。
【００９４】
（付記１）インターネットを介して自装置に接続される第１のウェブサーバまたは自装置を介して前記インターネットに接続される第２のウェブサーバと、ウェブクライアントと、自装置を介してインターネットに接続されるデータ記憶装置との間でデータを中継する中継装置であって、
前記データ記憶装置に格納されるデータごとにデータの公開に係る公開ポリシーを記憶する記憶部と、
前記データ記憶装置に格納されるデータのうち前記ウェブクライアントから送信されたリクエストに含まれるアクセス対象のデータについて、前記記憶部に記憶された公開ポリシーを参照し、前記リクエストに含まれるアクセス対象のデータの公開に制限がない場合には、前記リクエストを前記第１のウェブサーバに転送し、前記リクエストに含まれるアクセス対象のデータの公開に制限がある場合には、前記リクエストを前記第１のウェブサーバに転送する転送部と
を有することを特徴とする中継装置。
【００９５】
（付記２）前記転送部によって前記リクエストを前記第２のウェブサーバに転送する場合、前記第１のウェブサーバから前記リクエストに関わるウェブアプリケーションを取得し、該取得したウェブアプリケーションを前記第２のウェブサーバに配置し、該配置したウェブアプリケーションで使用されるアクセス対象のデータのアクセス経路を、自装置を経由するように前記リクエストを書き換える書き換え部
を更に有することを特徴とする付記１に記載の中継装置。
【００９６】
（付記３）前記書き換え部によってアクセス経路が書き換えられたアクセス対象のデータのアクセス要求を前記第２のウェブサーバに配置したウェブアプリケーションから受信すると、前記記憶部に当該アクセス対象のデータについて公開ポリシーが記憶されているか否かを判定し、当該アクセス対象のデータについて公開ポリシーが記憶されていると判定された場合に、当該アクセス対象のデータのアクセス処理を中継する中継部
を更に有することを特徴とする付記２に記載の中継装置。
【００９７】
（付記４）前記中継部は、
前記アクセス対象のデータのアクセス要求および前記アクセス要求時のリクエストの双方に含まれる所定の識別情報が一致する場合に、前記記憶部に当該アクセス対象のデータについて公開ポリシーが記憶されているか否かを判定し、当該アクセス対象のデータについて公開ポリシーが記憶されていると判定された場合に、当該アクセス対象のデータのアクセス処理を中継することを特徴とする付記３に記載の中継装置。
【００９８】
（付記５）前記記憶部は、
前記データ記憶装置に格納されたデータのうち、前記ウェブクライアントからのリクエストに基づき前記第１のウェブサーバまたは第２のウェブサーバからアクセスされるデータごとに、前記第１のウェブサーバおよび前記第２のウェブサーバへのデータの公開に係る公開ポリシーを記憶し、
前記転送部は、
前記ウェブクライアントから送信されたリクエストに含まれるアクセス対象のデータについて、前記記憶部に記憶された公開ポリシーを参照し、当該データについて前記第１のウェブサーバおよび前記第２のウェブサーバのいずれへも公開ポリシーがない場合には、前記リクエストの転送を無効とすることを特徴とする付記１から付記４のいずれか１つに記載の中継装置。
【００９９】
（付記６）前記転送部は、
データの公開に制限がない場合には、ウェブアプリケーションで使用されるアクセス対象のデータのアクセス経路を、自装置を経由するように書き換え、該書き換えたリクエストを前記第１のウェブサーバに転送することを特徴とする付記１に記載の中継装置。
【０１００】
（付記７）インターネットを介して自装置に接続される第１のウェブサーバまたは自装置を介してインターネットに接続される第２のウェブサーバと、ウェブクライアントと、自装置を介してインターネットに接続されるデータ記憶装置との間でデータを中継する中継装置によって実行される中継方法であって、
前記データ記憶装置に格納されるデータのうち前記ウェブクライアントから送信されたリクエストに含まれるアクセス対象のデータについて、前記前記データ記憶装置に格納されるデータごとにデータの公開に係る公開ポリシーを記憶する記憶部に記憶された公開ポリシーを参照し、前記リクエストに含まれるアクセス対象のデータの公開に制限がない場合には、前記リクエストを前記第１のウェブサーバに転送し、前記リクエストに含まれるアクセス対象のデータの公開に制限がある場合には、前記リクエストを前記第２のウェブサーバに転送する
ことを特徴とする中継方法。
【０１０１】
（付記８）コンピュータに、
データを記憶するデータ記憶装置に記憶されるデータのうちウェブクライアントから送信されたリクエストに含まれるアクセス対象のデータについて、前記データ記憶装置に記憶されるデータごとにデータの公開に係る公開ポリシーを記憶する記憶部に記憶された公開ポリシーを参照し、当該リクエストに含まれるアクセス対象のデータの公開に制限がない場合には、前記リクエストを、インターネットを介して自装置に接続される第１のウェブサーバに転送し、当該リクエストに含まれるアクセス対象のデータの公開に制限がある場合には、前記リクエストを、自装置を介してインターネットに接続される第２のウェブサーバに転送する
処理を実行させる中継プログラム。
【符号の説明】
【０１０２】
１、１Ａ  中継装置
１１、３０  記憶部
１２  転送部
２  ウェブクライアント
３  内部ウェブサーバ
４  外部ウェブサーバ
５  インターネット
６  社内記憶装置
２０  制御部
２１  リクエスト受け付け部
２２  リクエスト解析部
２３  振り分け部
２４  リクエスト転送部
２５  データ中継部
２６  レスポンス受け付け部
２７  レスポンス解析部
２８  ＵＲＬ書き換え部
２９  レスポンス転送部
３１  データ管理テーブル
３２  アプリケーション管理テーブル
【図１】
0005581961.tif 000002
【図２】
0005581961.tif 000003
【図３】
0005581961.tif 000004
【図４】
0005581961.tif 000005
【図５】
0005581961.tif 000006
【図６】
0005581961.tif 000007
【図７】
0005581961.tif 000008
【図８】
0005581961.tif 000009
【図９】
0005581961.tif 000010
【図１０】
0005581961.tif 000011
【図１１】
0005581961.tif 000012