(57)【要約】【課題】セキュアなＰａａＳを提供すること。【解決手段】アプリ６２を実行するＲＮ６と、アプリ６２への通信パケットをＲＮ６へ転送するＧＲ５と、トンネルで受信した通信パケットをＧＲ５へ転送するＧＷ３を有するＣＦ１において、テナント毎にＧＲ５を設ける。そして、ＧＷ３が、テナント毎に設定されたトンネルから通信パケットを受信すると、テナントに対応付けられたＧＲ５に通信パケットを送信する。そして、ＧＲ５が、ＧＷ３から通信パケットを受信すると、宛先のＵＲＩが許可されているかを判定し、許可されている場合にＲＮ６に通信パケットを送信する。【選択図】図１
2018082310.tif 000002
【特許請求の範囲】
【請求項１】
ＰａａＳによりサービスを提供するアプリケーションが動作する実行環境への接続を行うＰａａＳ接続プログラムにおいて、
前記アプリケーションが属するテナント毎に設定されたトンネルからデータを受信したときに、該トンネルに対応付けられた転送先に該データを転送し、
前記転送先が、転送されたデータを該データに含まれる宛先に対応付けられた前記実行環境に転送することが許可されているか否かを判定し、許可されている場合に該データを前記実行環境に転送する
処理をコンピュータに実行させることを特徴とするＰａａＳ接続プログラム。
【請求項２】
前記転送先は、前記宛先と許否とを対応付けたフィルタリング情報に基づいて前記データを前記実行環境に転送することが許可されているか否かを判定し、許可されている場合に、前記宛先と前記実行環境とを対応付けた転送先情報に基づいて前記データを前記実行環境に転送することを特徴とする請求項１に記載のＰａａＳ接続プログラム。
【請求項３】
前記転送先は、前記宛先と前記実行環境とを対応付けた転送先情報に前記宛先が含まれているか否かに基づいて、前記データを前記実行環境に転送することが許可されているか否かを判定し、許可されている場合に、前記転送先情報に基づいて前記データを前記実行環境に転送することを特徴とする請求項１に記載のＰａａＳ接続プログラム。
【請求項４】
前記フィルタリング情報を作成して前記転送先に設定する処理をさらに前記コンピュータに実行させることを特徴とする請求項２に記載のＰａａＳ接続プログラム。
【請求項５】
テナントとのセキュア接続の設定要求を受け取ると、当該ＰａａＳ接続プログラムを管理するＰａａＳ管理装置に該テナントに対応する前記転送先の作成を要求し、作成された前記転送先について前記フィルタリング情報を作成し、作成された前記転送先に前記フィルタリング情報を設定することを特徴とする請求項４に記載のＰａａＳ接続プログラム。
【請求項６】
前記転送先から応答データを受け取ると、前記トンネルに該応答データを送信する処理をさらに前記コンピュータに実行させることを特徴とする請求項１〜５のいずれか１つに記載のＰａａＳ接続プログラム。
【請求項７】
ＰａａＳによりサービスを提供するアプリケーションが動作する実行環境への接続を行うＰａａＳ接続方法において、
前記アプリケーションが属するテナント毎に設定されたトンネルからデータを受信したときに、該トンネルに対応付けられた転送先に該データを転送し、
前記転送先が、転送されたデータを該データに含まれる宛先に対応付けられた前記実行環境に転送することが許可されているか否かを判定し、許可されている場合に該データを前記実行環境に転送する
ことを特徴とするＰａａＳ接続方法。
【請求項８】
ＰａａＳによりサービスを提供するアプリケーションが動作する処理部への接続を行うＰａａＳ接続装置において、
前記アプリケーションが属するテナント毎に設定されたトンネルからデータを受信したときに、該トンネルに対応付けられた転送判定部に該データを転送するゲートウェイ部と、
前記ゲートウェイ部により転送されたデータを該データに含まれる宛先に対応付けられた前記処理部に転送することが許可されているか否かを判定し、許可されている場合に該データを前記処理部に転送する転送判定部と
を有することを特徴とするＰａａＳ接続装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＰａａＳ接続プログラム、ＰａａＳ接続方法及びＰａａＳ接続装置に関する。
【背景技術】
【０００２】
インターネットに接続されたパブリッククラウド上で情報処理サービスを提供するＰａａＳ（Platform  as  ａ  Service）の利用が進んでいる。図３１は、ＰａａＳを説明するための図である。図３１に示すように、ＰａａＳでは、ユーザＡ及びユーザＢは、インターネット９を介してパブリッククラウド上のアプリケーションであるアプリ＃１、アプリ＃２、アプリ＃３等を利用することができる。
【０００３】
ただし、ＰａａＳ上に構築されたアプリはインターネット９に接続されるために、アプリ利用時のセキュリティ対策が重要となる。図３２は、セキュリティ脅威の例を示す図である。図３２は、ＰａａＳをＣＦ（Cloud  Foundry）９１で実現する場合を示す。ＣＦ９１は、ＰＸ９４と、ＧＲ９５と、ＲＮ９６とを有する。
【０００４】
ＰＸ９４は、Ｐｒｏｘｙサーバであり、ＣＦ９１上のアプリ９６２へのＵＲＩ（Uniform  Resource  Identifier）を用いたアクセスを受け付け、受け付けたアクセスをＧＲ９５に転送する。
【０００５】
ＧＲ９５は、ＵＲＩ対応テーブル９５ｂを用いてＵＲＩからホスト及びポートを特定し、特定したホストのポートにアクセスを転送するＧｏＲｏｕｔｅｒである。ＵＲＩ対応テーブル９５ｂは、ＵＲＩとホストのＩＰ（Internet  Protocol）アドレス及びポート名とを対応付けるテーブルである。図３２では、ＵＲＩ「ａｐｐ１．ｆｌａｂ．ｃｏｍ」がＩＰアドレス「１０．０．０．２」及びポート名「１０００」に対応付けられている。
【０００６】
ＲＮ９６は、アプリ９６２を実行するＲｕｎｎｅｒである。ＲＮ９６は、コンテナ９６１を有する。コンテナ９６１は、アプリ９６２を実行する環境であり、ポートを有する。図３２では、アプリ＃１で表されるテナントＡ用のアプリ９６２がコンテナ９６１で実行される。アプリ＃１は、インターネット９を介して外部からＵＲＩ「ａｐｐ１．ｆｌａｂ．ｃｏｍ」を用いてアクセスされる。
【０００７】
ＰＸ９４、ＧＲ９５及びＲＮ９６は仮想マシン（ＶＭ）で実行される。図３２では、ＰＸ９４はＶＭ＃３で表されるＶＭで実行され、ＧＲ９５はＶＭ＃２で表されるＶＭで実行され、ＲＮ９６はＶＭ＃１で表されるＶＭで実行される。各ＶＭは、それぞれ別の物理マシンで実行されてもよく、全てが同一の物理マシンで実行されてもよく、一部が同一の物理マシンで実行されてもよい。
【０００８】
ＣＦ９１内のネットワークのプライベートＩＰアドレスは「１０．０．０．０／２４」である。ＲＮ９６のＩＰアドレスは「１０．０．０．２」であり、ＧＲ９５のＩＰアドレスは「１０．０．０．３」であり、ＰＸ９４のＩＰアドレスは「１０．０．０．４」である。
【０００９】
テナントＡのオンプレミス１０にあり、サーバ＃１で表されるサーバ１１は、ＵＲＩ「ａｐｐ１．ｆｌａｂ．ｃｏｍ」を用いて、インターネット９を介してアプリ＃１にアクセスする。ここで、「オンプレミス（on-premises）」とは、ユーザ自身が管理して運用する情報処理設備である。
【００１０】
テナントＡのオンプレミス１０内のネットワークのプライベートＩＰアドレスは「１０．１．０．０／２４」であり、サーバ１１のＩＰアドレスは「１０．１．０．２」である。また、図３２では、別のテナントであるテナントＢのオンプレミス１０内のネットワークのプライベートＩＰアドレスも「１０．１．０．０／２４」であり、サーバ１１のＩＰアドレスも「１０．１．０．２」である。
【００１１】
サーバ１１とＣＦ９１との間の通信はインターネット９を経由するため盗聴される可能性がある。すなわち、ＰａａＳでは、インターネット９での通信の盗聴というセキュリティ脅威がある。
【００１２】
また、テナントＢのオンプレミス１０のサーバ１１は、アプリ＃１のＵＲＩ「ａｐｐ１．ｆｌａｂ．ｃｏｍ」を特定することによって、アプリ＃１にアクセスすることができる。すなわち、ＰａａＳでは、アプリ９６２が別テナントからアクセスされるというセキュリティ脅威がある。
【００１３】
このため、ＰａａＳでは、セキュリティ対策が重要となる。インターネット９での通信の盗聴に対しては、セキュリティ対策として暗号化が用いられる。図３３は、暗号化の方法を説明するための図である。図３３に示すように、オンプレミス１０とＣＦ９１との間はトンネルで接続され、トンネル内の通信は暗号化される。このため、オンプレミス１０及びＣＦ９１にトンネリング処理用のＧＷ１２及びＧＷ９３がそれぞれ構築される。図３３では、ＧＷ１２は、サーバ＃２で表される。
【００１４】
また、アプリ９６２が別テナントからアクセスされるというセキュリティ脅威に対しては、テナントのアクセスを制限することが行われる。図３４は、テナントのアクセスを制限する方法を説明するための図である。図３４に示すように、ＧＲ９５は、フィルタリングテーブル９５ａを有する。フィルタリングテーブル９５ａは、宛先ＵＲＩと、送信元ＩＰアドレスと、ルールとを対応付けるテーブルである。宛先ＵＲＩは、アプリ９６２にアクセスするために用いられるＵＲＩであり、送信元ＩＰアドレスは、アプリ９６２のアクセス元のＩＰアドレスであり、ルールは「許可」又は「拒否」である。
【００１５】
ＧＲ９５は、フィルタリングテーブル９５ａを用いてアクセスのフィルタリングを行う。ＧＲ９５は、受信した通信パケットに含まれる宛先ＵＲＩと送信元ＩＰアドレス（ＳＡ）に対応するルールが「許可」である場合には、アクセスを許可し、「拒否」である場合には、アクセスを拒否する。図３４では、通信パケットの宛先ＵＲＩは「ａｐｐ１．ｆｌａｂ．ｃｏｍ」であり、ＳＡは「１０．１．０．１」であって、フィルタリングテーブル９５ａで対応するルールが「許可」であるので、アクセスが許可される。
【００１６】
なお、オンプレミスプラットフォームからクラウドリソースへのリソース消費要求及びクラウドリソースからオンプレミスプラットフォームへの応答をセキュアトンネルを介して送信することによって、ハイブリッドアプリケーション動作を提供する技術がある。
【００１７】
また、データセンターとエンタープライズ・プライベート・ネットワークとの間に仮想ネットワークオーバーレイを確立することで、それぞれに常駐するサービスアプリケーションエンドポイント間の接続をセキュアにする技術がある。
【先行技術文献】
【特許文献】
【００１８】
【特許文献１】特開２０１５−２２６３２２号公報
【特許文献２】特表２０１３−５１０５０６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１９】
図３４に示したアクセス制限方法には、各テナントのオンプレミス内で使用するプライベートＩＰアドレスが同じ場合に、フィルタリングが正しく行えないという問題がある。図３５は、図３４に示したアクセス制限方法の問題を説明するための図である。
【００２０】
図３５に示すように、テナントＡのサーバ１１とテナントＢのサーバ１１のプライベートＩＰアドレスは、ともに「１０．１．０．２」である。したがって、ＧＲ９５が受信する通信パケットの送信元ＩＰアドレス（ＳＡ）はテナントＡとテナントＢで同じであり、ＧＲ９５はフィルタリングができない。
【００２１】
なお、図３４に示したアクセス制限方法以外にもテナントのアクセスを制限する方法がある。図３６は、テナントのアクセスを制限する他の方法を説明するための図である。図３６に示すように、送信元は通信パケットに証明書を付加してＣＦ９１に送信する。ＧＲ９５は、宛先ＵＲＩと証明書とルールとを対応付けたフィルタリングテーブル９５ｃを用いてアクセスの許否を判定することで、アクセスを制限することができる。
【００２２】
しかしながら、図３６に示したアクセス制限方法には、ＣＦアプリの開発コストが増加するという欠点がある。ここで、ＣＦアプリとは、ＣＦ９１で実行されるアプリ９６２である。図３７は、図３６に示したアクセス制限方法の欠点を説明するための図である。図３７に示すように、通信パケットに証明書を付加するためには、オンプレミス１０においてそれぞれ証明書を作成して管理する必要がある。また、アプリ９６２にアクセスするときに証明書を付与する等のアクセス方法の変更が必要になる。
【００２３】
本発明は、１つの側面では、セキュアなＰａａＳを提供することを目的とする。
【課題を解決するための手段】
【００２４】
１つの態様では、ＰａａＳ接続プログラムは、ＰａａＳによりサービスを提供するアプリケーションが動作する実行環境への接続を行うプログラムである。ＰａａＳ接続プログラムは、アプリケーションが属するテナント毎に設定されたトンネルからデータを受信したときに、該トンネルに対応付けられた転送先に該データを転送する処理をコンピュータに実行させる。そして、転送先は、転送されたデータを該データに含まれる宛先に対応付けられた実行環境に転送することが許可されているか否かを判定し、許可されている場合に該データを実行環境に転送する処理をコンピュータに実行させる。
【発明の効果】
【００２５】
１つの側面では、本発明は、セキュアなＰａａＳを提供することができる。
【図面の簡単な説明】
【００２６】
【図１】図１は、実施例１に係るＣＦの構成を示す図である。
【図２】図２は、ＧＷによる通信パケットの振り分けを説明するための図である。
【図３】図３は、ＧＲによるフィルタリングを説明するための図である。
【図４】図４は、ＧＷによるオンプレミスへのデータ送信を説明するための図である。
【図５】図５は、ＣＦアプリのセキュア接続を説明するための図である。
【図６】図６は、通信パケットのアドレス変換の流れ（オンプレミス→ＣＦ）を説明するための図である。
【図７Ａ】図７Ａは、通信パケットに対するデータ処理（オンプレミス→ＣＦ）を説明するための第１の図である。
【図７Ｂ】図７Ｂは、通信パケットに対するデータ処理（オンプレミス→ＣＦ）を説明するための第２の図である。
【図８】図８は、通信パケットのアドレス変換の流れ（戻りの通信）を説明するための図である。
【図９Ａ】図９Ａは、通信パケットに対するデータ処理（戻りの通信）を説明するための第１の図である。
【図９Ｂ】図９Ｂは、通信パケットに対するデータ処理（戻りの通信）を説明するための第２の図である。
【図１０】図１０は、管理部の機能構成を示す図である。
【図１１Ａ】図１１Ａは、管理部による処理のフローを示す第１のフローチャートである。
【図１１Ｂ】図１１Ｂは、管理部による処理のフローを示す第２のフローチャートである。
【図１１Ｃ】図１１Ｃは、管理部による処理のフローを示す第３のフローチャートである。
【図１２】図１２は、初期構成を示す図である。
【図１３】図１３は、管理部内のテーブル構成（初期構成）を示す図である。
【図１４】図１４は、アプリの配備を説明するための図である。
【図１５】図１５は、管理部内のテーブル構成（アプリの配備後）を示す図である。
【図１６】図１６は、トンネル設定を説明するための図である。
【図１７】図１７は、管理部内のテーブル構成（トンネル設定後）を示す図である。
【図１８】図１８は、セキュア接続設定を説明するための第１の図である。
【図１９】図１９は、管理部内のテーブル構成（セキュア接続設定後）を示す図である。
【図２０】図２０は、セキュア接続設定を説明するための第２の図である。
【図２１】図２１は、アプリ＃１に対するテナントＡからのアクセスを説明するための図である。
【図２２】図２２は、アプリ＃１に対するテナントＢからのアクセスを説明するための図である。
【図２３】図２３は、アプリとトンネル＃１の構築後のＣＦの状態を示す図である。
【図２４】図２４は、管理部内のテーブル構成（トンネル設定後）を示す図である。
【図２５】図２５は、実施例２に係るセキュア接続設定を説明するための第１の図である。
【図２６】図２６は、管理部内のテーブル構成（セキュア接続設定後）を示す図である。
【図２７】図２７は、実施例２に係るセキュア接続設定を説明するための第２の図である。
【図２８】図２８は、アプリ＃１に対するテナントＡからのアクセスを説明するための図である。
【図２９】図２９は、アプリ＃１に対するテナントＢからのアクセスを説明するための図である。
【図３０】図３０は、ＶＭを実行するコンピュータのハードウェア構成を示す図である。
【図３１】図３１は、ＰａａＳを説明するための図である。
【図３２】図３２は、セキュリティ脅威の例を示す図である。
【図３３】図３３は、暗号化の方法を説明するための図である。
【図３４】図３４は、テナントのアクセスを制限する方法を説明するための図である。
【図３５】図３５は、図３４に示したアクセス制限方法の問題を説明するための図である。
【図３６】図３６は、テナントのアクセスを制限する他の方法を説明するための図である。
【図３７】図３７は、図３６に示したアクセス制限方法の欠点を説明するための図である。
【発明を実施するための形態】
【００２７】
以下に、本願の開示するＰａａＳ接続プログラム、ＰａａＳ接続方法及びＰａａＳ接続装置の実施例を図面に基づいて詳細に説明する。なお、実施例は開示の技術を限定するものではない。
【実施例１】
【００２８】
まず、実施例１に係るＣＦの構成について説明する。図１は、実施例１に係るＣＦの構成を示す図である。図１に示すように、実施例１に係るＣＦ１は、管理部２と、ＧＷ３と、ＰＸ４と、ＧＲ＃１及びＧＲ＃２で表されるＧＲ５と、ＲＮ＃１で表されるＲＮ６と、仮想ルータ７とを有する。
【００２９】
管理部２は、ＣＦ１を管理するＣＦ管理装置１ａ又はＣＦ１の運用者１ｂの要求に基づいて、ＧＷ３及びＧＲ５が使用するテーブルの情報を作成し、ＧＷ３及びＧＲ５に設定する。また、管理部２は、ＣＦ管理装置１ａ又はＣＦ１の運用者１ｂの要求に基づいて、ＧＲ５の管理を行う。なお、管理部２の詳細については後述する。
【００３０】
ＧＷ３は、ＣＦ１とオンプレミスとの間を接続するトンネルに関する処理を行う。ＧＷ３は、オンプレミスとの間の各トンネルから受信した通信パケットを対応するＧＲ５に振り分ける。また、ＧＷ３は、ＧＲ５から受信した通信パケットを対応するトンネルに送信する。ＰＸ４は、Ｐｒｏｘｙサーバであり、ＣＦ１の外部との通信を行う。ただし、トンネル接続されている外部環境との通信は、ＧＷ３によって行われる。
【００３１】
ＧＲ５は、通信パケットに含まれるＵＲＩからアプリ６２が動作するコンテナ６１のホスト及びポートを特定し、特定したホストのポートに通信パケットを転送するＧｏＲｏｕｔｅｒである。また、ＧＲ５は、アプリ６２がオンプレミスへ送信する通信パケットを受信すると、ＧＷ３へ通信パケットを送信する。ＧＲ５は、テナント毎に設けられる。図１はテナントＡ用のＧＲ＃１とテナントＢ用のＧＲ＃２のみを示すが、ＧＲ５の数は、トンネル接続するテナントの数と同じである。
【００３２】
ＲＮ６は、アプリ６２を実行するＲｕｎｎｅｒである。ＲＮ６は、コンテナ６１を有する。コンテナ６１は、アプリ６２を実行する環境であり、ポートを有する。ＲＮ６は、ＧＲ５から通信パケットを受信してアプリ６２に渡し、アプリ６２から通信パケットを受け取ってアプリ６２が属するテナントに対応するＧＲ５へ送信する。アプリ＃１は、テナントＡに属するアプリ６２である。アプリ＃１は、インターネットを介して外部からＵＲＩ「ａｐｐ１．ｆｌａｂ．ｃｏｍ」を用いてアクセスされる。
【００３３】
ＧＷ３、ＰＸ４、ＧＲ５、ＲＮ６及び管理部２はＶＭで実行される。各ＶＭは、それぞれ別の物理マシンで実行されてもよく、全てが同一の物理マシンで実行されてもよく、一部が同一の物理マシンで実行されてもよい。
【００３４】
仮想ルータ７は、インターネットを介して外部から受信した通信パケットをＰＸ４又はＧＷ３へ転送する。また、仮想ルータ７は、ＰＸ４又はＧＷ３から受信した通信パケットをインターネットを介して外部に送信する。ＧＷ３、ＰＸ４、ＧＲ＃１、ＧＲ＃２、ＲＮ６、仮想ルータ７は、ネットワーク９ａにより接続される。
【００３５】
次に、実施例１に係るＰａａＳ接続方法について図２〜図５を用いて説明する。図２は、ＧＷ３による通信パケットの振り分けを説明するための図である。図２に示すように、ＧＷ３は、テナントＡのオンプレミス１０とトンネル＃１で表されるトンネル８で接続し、テナントＢのオンプレミス１０とトンネル＃２で表されるトンネル８で接続する。
【００３６】
ＧＷ３は、ルールテーブル３ａを有する。ルールテーブル３ａは、受信ＩＦと処理とを対応付けるテーブルである。受信ＩＦは、通信パケットを受信したトンネル８の識別子である。処理は、トンネル８が受信した通信パケットに対する処理を示す。ＧＷ３は、トンネル８が通信パケットを受信すると、ルールテーブル３ａを参照し、トンネル８に対応付けられている処理を実行する。例えば、トンネル＃１が通信パケットを受信すると、ＧＷ３は、通信パケットの宛先ＩＰアドレスをＧＲ＃１宛てに変更し、ＧＲ＃１に通信パケットを送信する。
【００３７】
図３は、ＧＲ５によるフィルタリングを説明するための図である。図３に示すように、ＧＲ５は、フィルタリングテーブル５ａとＵＲＩ対応テーブル５ｂとを有する。フィルタリングテーブル５ａは、宛先ＵＲＩとルールとを対応付けるテーブルである。宛先ＵＲＩは、通信パケットの宛先を示す。ルールは、通信パケットのアプリ６２への転送を許可するか拒否するかを示す。フィルタリングテーブル５ａでは、ＧＲ５のテナントに属するアプリ６２の宛先ＵＲＩに対応するルールは「許可」であり、ＧＲ５のテナントに属しないアプリ６２の宛先ＵＲＩに対応するルールは「拒否」である。
【００３８】
ＧＲ５は、ＧＷ３から通信パケットを受信すると、フィルタリングテーブル５ａを参照して、通信パケットの転送が許可されているか否かを判定し、転送が許可されている場合には通信パケットをＲＮ６に送信する。例えば、ＧＲ＃１は、宛先のＵＲＩが「ａｐｐ１．ｆｌａｂ．ｃｏｍ」である通信パケットを受信すると、転送が許可されているので、通信パケットをＲＮ６に送信する。一方、ＧＲ＃２は、宛先のＵＲＩが「ａｐｐ１．ｆｌａｂ．ｃｏｍ」である通信パケットを受信すると、転送が拒否されているので、通信パケットを廃棄する。
【００３９】
ＵＲＩ対応テーブル５ｂは、ＵＲＩ名とホスト：ポート名とを対応付けるテーブルである。ＵＲＩ名は、アプリ６２のアクセスに用いられるＵＲＩである。ホストは、アプリ６２を実行するＲＮ６のＩＰアドレスである。ポート名は、アプリ６２が動作するコンテナ６１のポート番号である。
【００４０】
ＧＲ５は、ＧＷ３から受信した通信パケットの転送が許可されている場合、ＵＲＩ対応テーブル５ｂを用いて、転送先のＩＰアドレスとポート番号を特定し、特定したＩＰアドレスとポート番号を用いて通信パケットをアプリ６２へ転送する。例えば、ＧＲ＃１は、宛先のＵＲＩが「ａｐｐ１．ｆｌａｂ．ｃｏｍ」である通信パケットをＩＰアドレスが「１０．０．０．２」であるＲＮ６のポート番号が「１０００」であるコンテナ６１に転送する。
【００４１】
図４は、ＧＷ３によるオンプレミス１０へのデータ送信を説明するための図である。図４に示すように、ＧＷ３は、ルールテーブル３ａを有する。ただし、図４のルールテーブル３ａは、図２のルールテーブル３ａと異なり、１列目は送信元ＩＰである。すなわち、ルールテーブル３ａの１列目は、受信ＩＦ又は送信元ＩＰである。送信元ＩＰは、通信パケットの送信元のＧＲ５のＩＰアドレスである。
【００４２】
ＧＷ３は、ＧＲ５から通信パケットを受信すると、ルールテーブル３ａを参照し、送信元のＧＲ５のＩＰアドレスに対応する処理を行う。例えば、ＧＷ３は、ＧＲ＃１から通信パケットを受信すると、ＧＲ＃１のＩＰアドレスである「ＧＲ＃１ＩＰＡ」に対応する処理を特定し、通信パケットをトンネル＃１から送信する。
【００４３】
図５は、ＣＦアプリのセキュア接続を説明するための図である。図５に示すように、テナントＡのオンプレミス１０のサーバ＃１からアプリ＃１へ送信された通信パケットは、ＧＷ１２、ルータ１３、インターネット９及び仮想ルータ７経由でＧＷ３に転送される。そして、通信パケットは、ＧＷ３によりＧＲ＃１に転送され、ＧＲ＃１からＲＮ６へ転送される。
【００４４】
一方、テナントＢのオンプレミス１０のサーバ＃１からアプリ＃１へ送信された通信パケットは、ＧＷ１２、ルータ１３、インターネット９及び仮想ルータ７経由でＧＷ３に転送される。そして、通信パケットは、ＧＷ３によりＧＲ＃２に転送され、ＧＲ＃２で廃棄される。
【００４５】
このように、ＣＦ１は、テナント毎に専用のＧＲ５を保持し、ＧＷ３が通信パケットを受信したトンネル８に対応するテナント用のＧＲ５に通信パケットを転送する。そして、ＧＲ５が、フィルタリングテーブル５ａを参照して通信パケットの転送可否を判定する。したがって、実施例１に係るＰａａｓ接続では、フィルタリング時に送信元情報が不要であり、テナント間でサーバ１１のプライベートＩＰアドレスが重複した場合でも、アプリ６２が属するテナントのサーバ１１からのアクセスだけが許可される。また、実施例１に係るＰａａｓ接続では、証明書が不要なため、開発コストの増加は発生しない。
【００４６】
次に、通信パケットのアドレス変換の流れ及び関連する処理について図６〜図９Ｂを用いて説明する。図６は、通信パケットのアドレス変換の流れ（オンプレミス１０→ＣＦ１）を説明するための図である。図６に示すように、オンプレミス１０のプライベートＩＰアドレスは「１０．１．０．０／２４」である。サーバ＃１のプライベートＩＰアドレスは「１０．１．０．３」であり、ＧＷ＃１のプライベートＩＰアドレスは「１０．１．０．２」である。ルータ１３のプライベートＩＰアドレスは「１０．１．０．１」であり、ＤＮＳサーバ１４のプライベートＩＰアドレスは「１０．１．０．４」である。
【００４７】
ルータ１３のグローバルＩＰアドレスは「２．１．１．１」であり、仮想ルータ７のグローバルＩＰアドレスは「１．１．１．１」である。また、仮想ルータ７のＮＡＴテーブル７ａが示すように、ＧＷ＃２のグローバルＩＰアドレスは、「１．１．１．５」であり、ルータ１３のＮＡＴテーブル１３ａが示すように、ＧＷ＃１のグローバルＩＰアドレスは「２．１．１．５」である。
【００４８】
ＣＦ１のプライベートＩＰアドレスは「１０．０．０．０／２４」である。仮想ルータ７のプライベートＩＰアドレスは「１０．０．０．１」であり、ＧＷ＃２のプライベートＩＰアドレスは「１０．０．０．５」であり、ＧＲ５のプライベートＩＰアドレスは「１０．０．０．６」である。ＲＮ６のプライベートＩＰアドレスは「１０．０．０．２」であり、ＰＸ４のプライベートＩＰアドレスは「１０．０．０．４」である。
【００４９】
なお、ＳＡポートは送信元のポート番号であり、ＤＡポートは送信先のポート番号であり、ＳＡ  ＩＰは送信元のＩＰアドレスであり、ＤＡ  ＩＰは送信先のＩＰアドレスである。
【００５０】
図６に示すように、サーバ＃１からＧＷ＃１へ送信される通信パケット（１）では、ＳＡ  ＩＰは、サーバ＃１のＩＰアドレス「１０．１．０．３」である。また、ＤＡ  ＩＰは、ＰＸ４のＩＰアドレス「１０．０．０．４」である。なお、通信パケット（１）は、サーバ＃１のルーティングテーブル１１ａに基づいてサーバ＃１からＧＷ＃１へ送信される。また、ＰＸ４のＩＰアドレス「１０．０．０．４」は、ＤＮＳサーバ１４が有するＤＮＳテーブル１４ａによりＵＲＩ「ａｐｐ１．ｆｌａｂ．ｃｏｍ」から特定される。
【００５１】
そして、ＧＷ＃１からルータ１３に送信される通信パケット（２）では、トンネルヘッダ、トンネルＳＡ  ＩＰ及びトンネルＤＡ  ＩＰがＧＷ＃１によって付加される。トンネルＳＡ  ＩＰは、ＧＷ＃１のＩＰアドレス「１０．１．０．２」である。また、トンネルＤＡ  ＩＰは、ＧＷ＃２のグローバルＩＰアドレス「１．１．１．５」である。
【００５２】
そして、ルータ１３から仮想ルータ７に送信される通信パケット（３）では、ルータ１３のＮＡＴテーブル１３ａに基づいて、トンネルＳＡ  ＩＰがグローバルＩＰアドレスの「２．１．１．５」にルータ１３によって変換される。
【００５３】
そして、仮想ルータ７からＧＷ＃２に送信される通信パケット（４）では、仮想ルータ７のＮＡＴテーブル７ａに基づいて、トンネルＤＡ  ＩＰがプライベートＩＰアドレスの「１０．０．０．５」に仮想ルータ７によって変換される。
【００５４】
そして、ＧＷ＃２からＧＲ５へ送信される通信パケット（５）では、トンネルヘッダ、トンネルＳＡ  ＩＰ及びトンネルＤＡ  ＩＰがＧＷ＃２によって取り除かれる。また、ＤＡ  ＩＰが「１０．０．０．６」にＧＷ＃２によって変換される。
【００５５】
そして、ＧＲ５からＲＮ６に送信される通信パケット（６）では、ＤＡ  ＩＰが「１０．０．０．２」に、ＳＡ  ＩＰが「１０．０．０．６」に、ＤＡポートが「１０００」にＧＲ５によって変換される。
【００５６】
図７Ａ及び図７Ｂは、通信パケットに対するデータ処理（オンプレミス１０→ＣＦ１）を説明するための図である。図７Ａに示すように、サーバ＃１はＤＮＳサーバ１４に「ａｐｐ１．ｆｌａｂ．ｃｏｍ」の名前解決を要求し、ＤＮＳサーバ１４から「１０．０．０．４」のＩＰアドレスが返信される（ステップＳ１）。そして、サーバ＃１はルーティングテーブル１１ａを参照し、「１０．１．０．２」宛てに通信パケットを送信する（ステップＳ２）。送信される通信パケットは、図６の（１）に示した通信パケットである。
【００５７】
通信パケットを受信したＧＷ＃１は、ルーティングテーブル１２ａを参照し、「トンネル＃１」宛てに通信パケットを送信することを特定する（ステップＳ３）。そして、ＧＷ＃１は、トンネル８でカプセル化を行う（ステップＳ４）。カプセル化された通信パケットは図６の（２）に示したパケットである。そして、ＧＷ＃１は、ルータ１３宛てに通信パケットを送信する（ステップＳ５）。
【００５８】
通信パケットを受信したルータ１３は、ＮＡＴテーブル１３ａを参照し、送信元ＩＰアドレスを「２．１．１．５」に変換する（ステップＳ６）。変換された通信パケットは図６の（３）に示した通信パケットである。そして、ルータ１３は、通信パケットを仮想ルータ７に送信する。
【００５９】
通信パケットを受信した仮想ルータ７は、図７Ｂに示すように、ＮＡＴテーブル７ａを参照し、宛先ＩＰアドレスを「１０．０．０．５」に変換（ステップＳ７）する。変換された通信パケットは図６の（４）に示した通信パケットである。そして、仮想ルータ７は、「１０．０．０．５」宛てに通信パケットを送信する（ステップＳ８）。
【００６０】
通信パケットを受信したＧＷ＃２は、通信パケットのデカプセル化を行う（ステップＳ９）。そして、ＧＷ＃２は、ルールテーブル３ａを参照し、宛先ＩＰアドレスを「１０．０．０．６」に変換する（ステップＳ１０）。変換された通信パケットは図６の（５）に示した通信パケットである。そして、ＧＷ＃２は、「１０．０．０．６」宛てに通信パケットを送信する（ステップＳ１１）。
【００６１】
通信パケットを受信したＧＲ５は、フィルタリングテーブル５ａを参照し、転送が許可されていると判定する（ステップＳ１２）。そして、ＧＲ５は、ＵＲＩ対応テーブル５ｂを参照し、宛先ＩＰアドレスを「１０．０．０．２」に、ポート番号を「１０００」に変換する（ステップＳ１３）。変換された通信パケットは図６の（６）に示した通信パケットである。そして、ＧＲ５は、「１０．０．０．２」宛てに通信パケットを送信する（ステップＳ１４）。
【００６２】
図８は、通信パケットのアドレス変換の流れ（戻りの通信）を説明するための図である。図８に示すように、ＲＮ６からＧＲ５へ送信される通信パケット（７）では、、ＳＡ  ＩＰは、ＲＮ６のＩＰアドレス「１０．０．０．２」である。また、ＤＡ  ＩＰは、ＧＲ５のＩＰアドレス「１０．０．０．６」である。
【００６３】
そして、ＧＲ５からＧＷ＃２へ送信される通信パケット（８）では、ＳＡ  ＩＰが「１０．０．０．６」に、ＤＡ  ＩＰがサーバ＃１の「１０．１．０．３」に、ＳＡポートが「４４３」にＧＲ５によって変換される。
【００６４】
そして、ＧＷ＃２から仮想ルータ７へ送信される通信パケット（９）では、トンネルヘッダ、トンネルＳＡ  ＩＰ及びトンネルＤＡ  ＩＰがＧＷ＃２によって付加される。トンネルＳＡ  ＩＰは、ＧＷ＃２のＩＰアドレス「１０．０．０．５」である。また、トンネルＤＡ  ＩＰは、ＧＷ＃１のグローバルＩＰアドレス「２．１．１．５」である。
【００６５】
そして、仮想ルータ７からルータ１３に送信される通信パケット（１０）では、仮想ルータ７のＮＡＴテーブル７ａに基づいて、トンネルＳＡ  ＩＰが仮想ルータ７のグローバルＩＰアドレス「１．１．１．５」に仮想ルータ７によって変換される。
【００６６】
そして、ルータ１３からＧＷ＃１に送信される通信パケット（１１）では、ルータ１３のＮＡＴテーブル１３ａに基づいて、トンネルＤＡ  ＩＰがＧＷ＃１のプライベートＩＰアドレス「１０．１．０．２」にルータ１３によって変換される。
【００６７】
そして、ＧＷ＃１からサーバ＃１に送信される通信パケット（１２）では、トンネルヘッダ、トンネルＳＡ  ＩＰ及びトンネルＤＡ  ＩＰがＧＷ＃１によって取り除かれる。
【００６８】
図９Ａ及び図９Ｂは、通信パケットに対するデータ処理（戻りの通信）を説明するための図である。図９Ａに示すように、アプリ＃１は、オンプレミス１０からの受信パケット（通信パケット（６））に基づいて返信する（ステップＳ２１）。そして、ＲＮ６は、アプリ＃１が返信した通信パケットを「１０．０．０．６」宛てに送信する（ステップＳ２２）。送信された通信パケットは図８の（７）に示した通信パケットである。
【００６９】
通信パケットを受信したＧＲ５は、受信パケット（通信パケット（５））の情報を参照し、ＩＰアドレスとポート番号に関して、送信する通信パケットの宛先及び送信元を受信パケットの送信元及び宛先にそれぞれ入れ替えた値に設定する（ステップＳ２３）。この動作はＧＲ５が通常行う動作である。そして、ＧＲ５は、ルーティングテーブル５ｃを参照し、「１０．０．０．５」宛てに通信パケットを送信する（ステップＳ２４）。送信された通信パケットは図８の（８）に示した通信パケットである。
【００７０】
通信パケットを受信したＧＷ＃２は、ルールテーブル３ａを参照し、「トンネル＃１」宛てに通信パケットを送信することを特定する（ステップＳ２５）。そして、ＧＷ＃２は、トンネル８でカプセル化を行う（ステップＳ２６）。カプセル化された通信パケットは図８の（９）に示した通信パケットである。そして、ＧＷ＃２は、仮想ルータ７に通信パケットを送信する（ステップＳ２７）。
【００７１】
通信パケットを受信した仮想ルータ７は、ＮＡＴテーブル７ａを参照し、送信元ＩＰアドレスを「１．１．１．５」に変換する（ステップＳ２８）。変換された通信パケットは図８の（１０）に示した通信パケットである。
【００７２】
図９Ｂに示すように、通信パケットを受信したルータ１３は、ＮＡＴテーブル１３ａを参照し、宛先ＩＰアドレスを「１０．１．０．２」に変換する（ステップＳ２９）。変換された通信パケットは図８の（１１）に示した通信パケットである。そして、ルータ１３は、「１０．１．０．２」宛てに通信パケットを送信する（ステップＳ３０）。
【００７３】
通信パケットを受信したＧＷ＃１は、データのデカプセル化を行い（ステップＳ３１）、「１０．１．０．３」宛てに通信パケットを送信する（ステップＳ３２）。送信された通信パケットは図８の（１２）に示した通信パケットである。
【００７４】
次に、管理部２の機能構成について説明する。図１０は、管理部２の機能構成を示す図である。図１０に示すように、管理部２は、トンネル管理テーブル２ａと、ＧＲ管理テーブル２ｂと、ＵＲＩ管理テーブル２ｃとを有する。トンネル管理テーブル２ａ、ＧＲ管理テーブル２ｂ及びＵＲＩ管理テーブル２ｃは管理部２が有する記憶部に記憶される。また、管理部２は、ルールテーブル作成部２１と、ＧＲ作成要求部２２と、フィルタリングテーブル作成部２３とを有する。
【００７５】
トンネル管理テーブル２ａは、トンネル８を管理するためのテーブルである。図１０に示すように、トンネル管理テーブル２ａでは、ＧＷ名とトンネルＩＦと接続先テナントがトンネル８毎に対応付けられる。ＧＷ名は、トンネル処理を行うＧＷ３を識別する名前である。トンネルＩＦは、トンネル８を識別する名前である。接続先テナントは、トンネル８に接続するテナントの名前である。例えば、名前が「トンネル＃１」であるトンネル８は、名前が［ＧＷ＃１］であるＧＷ３でトンネル処理が行われ、名前が「Ａ」のテナントに接続する。
【００７６】
管理部２は、ＣＦ管理装置１ａ又は運用者１ｂからのトンネル登録要求に基づいて、トンネル管理テーブル２ａにトンネル８の情報を登録する。また、ＣＦ管理装置１ａ及び運用者１ｂは、ＰａａＳ利用者１ｃの要求に基づいてトンネル８の登録を管理部２に要求する。
【００７７】
ＧＲ管理テーブル２ｂは、ＧＲ５を管理するためのテーブルである。図１０に示すように、ＧＲ管理テーブル２ｂでは、ＧＲ名とＩＰアドレスとテナント名がＧＲ５毎に対応付けられる。ＧＲ名は、ＧＲ５を識別する名前である。ＩＰアドレスは、ＧＲ５のＩＰアドレスである。テナント名は、ＧＲ５により処理される通信パケットを用いて通信を行うテナントの名前である。例えば、名前が「ＧＲ＃１」であるＧＲ５は、ＩＰアドレスが「１０．０．０．６」であり、名前が「Ａ」であるテナントの通信パケットを処理する。
【００７８】
ＵＲＩ管理テーブル２ｃは、ＣＦ１上のアプリ６２のアクセスに用いられるＵＲＩを管理するテーブルである。図１０に示すように、ＵＲＩ管理テーブル２ｃでは、ＵＲＩ名とテナント名が、ＣＦ１上のアプリ６２のアクセスに用いられるＵＲＩ毎に対応付けられる。ＵＲＩ名は、ＣＦ１上のアプリ６２のアクセスに用いられるＵＲＩの名前である。テナント名は、ＣＦ１上のアプリ６２が属するテナントの名前である。例えば、ＵＲＩ名「ａｐｐ１．ｆｌａｂ．ｃｏｍ」によりアクセスされるアプリ６２は名前が「Ａ」であるテナントに属する。
【００７９】
管理部２は、ＣＦ管理装置１ａ又は運用者１ｂからのアプリ登録要求に基づいて、ＵＲＩ管理テーブル２ｃにＵＲＩの情報を登録する。また、ＣＦ管理装置１ａ及び運用者１ｂは、ＰａａＳ利用者１ｃの要求に基づいてアプリの登録を管理部２に要求する。
【００８０】
ルールテーブル作成部２１は、ＣＦ管理装置１ａ又は運用者１ｂからのセキュア接続設定要求に基づいて、トンネル管理テーブル２ａ及びＧＲ管理テーブル２ｂを用いて、ルールテーブル３ａの情報を作成し、ＧＷ３のルールテーブル３ａに設定する。
【００８１】
ＧＲ作成要求部２２は、ＣＦ管理装置１ａ又は運用者１ｂからのセキュア接続設定要求に基づいて、ＧＲ５の作成をＣＦ管理装置１ａに要求し、作成されたＧＲ５の情報でＧＲ管理テーブル２ｂを更新する。
【００８２】
フィルタリングテーブル作成部２３は、ＣＦ管理装置１ａ又は運用者１ｂからのセキュア接続設定要求に基づいて、ＵＲＩ管理テーブル２ｃ及びＧＲ管理テーブル２ｂを用いて、フィルタリングテーブル５ａの情報を作成する。そして、フィルタリングテーブル作成部２３は、作成した情報をＧＲ５のフィルタリングテーブル５ａに設定する。
【００８３】
次に、管理部２による処理のフローについて説明する。図１１Ａ〜図１１Ｃは、管理部２による処理のフローを示すフローチャートである。図１１Ａに示すように、管理部２は、ＣＦ管理装置１ａ又は運用者１ｂから要求メッセージを受信したか否かを判定し（ステップＳ１）、要求メッセージを受信するまで待つ。
【００８４】
そして、要求メッセージを受信すると、管理部２は、トンネル登録要求であるか否かを判定する（ステップＳ２）。そして、トンネル登録要求である場合には、管理部２は、トンネル８に関する情報をトンネル管理テーブル２ａへ登録し（ステップＳ３）、ＣＦ管理装置１ａ又は運用者１ｂに完了を通知する（ステップＳ４）。
【００８５】
一方、トンネル登録要求でない場合には、管理部２は、アプリ登録要求であるか否かを判定し（ステップＳ５）、アプリ登録要求である場合には、アプリ６２へのアクセスに用いられるＵＲＩに関する情報をＵＲＩ管理テーブル２ｃへ登録する（ステップＳ６）。
【００８６】
そして、管理部２は、テナントに該当するＧＲ５が存在するか否かを判定し（ステップＳ７）、ＧＲ５が存在しない場合には、テナントへのセキュア接続の設定は行われていないので、ＣＦ管理装置１ａ又は運用者１ｂに完了を通知する（ステップＳ４）。一方、テナントに該当するＧＲ５が存在する場合には、テナントへのセキュア接続の設定が行われているので、ステップＳ１２に進む。
【００８７】
また、アプリ登録要求でない場合には、セキュア接続設定要求であるので、管理部２のＧＲ作成要求部２２が、テナント用のＧＲ５の作成要求をＣＦ管理装置１ａに通知し（ステップＳ８）、作成されたＧＲ５の情報をＧＲ管理テーブル２ｂへ登録する（ステップＳ９）。
【００８８】
そして、図１１Ｂに示すように、管理部２のフィルタリングテーブル作成部２３が、ＵＲＩ管理テーブル２ｃからテナントに該当するアプリ６２のＵＲＩを検索し（ステップＳ１０）、全アプリ６２のＵＲＩを検索済みであるか否かを判定する（ステップＳ１１）。そして、検索していないＵＲＩがある場合には、フィルタリングテーブル作成部２３は、ステップＳ１０に戻る。
【００８９】
一方、全アプリ６２のＵＲＩを検索済みである場合には、フィルタリングテーブル作成部２３は、検索した全ＵＲＩに関して、アプリ６２のＵＲＩを許可するルールを作成し（ステップＳ１２）、テナントに該当するＧＲ５を検索する（ステップＳ１３）。そして、フィルタリングテーブル作成部２３は、作成したルールをＧＲ５のフィルタリングテーブル５ａに設定する（ステップＳ１４）。
【００９０】
そして、フィルタリングテーブル作成部２３は、検索した全ＵＲＩに関して、アプリ６２のＵＲＩを拒否するルールを作成し（ステップＳ１５）、他の全てのテナントに該当するＧＲ５を検索する（ステップＳ１６）。そして、フィルタリングテーブル作成部２３は、作成したルールを、検索したＧＲ５のフィルタリングテーブル５ａに設定する（ステップＳ１７）。なお、ステップＳ１２〜ステップＳ１４とステップＳ１５〜ステップＳ１７の処理の順序は逆でもよい。そして、管理部２は、ＣＦ管理装置１ａ又は運用者１ｂに完了を通知する（ステップＳ１８）。
【００９１】
そして、図１１Ｃに示すように、管理部２のルールテーブル作成部２１が、トンネル管理テーブル２ａからテナントに該当するトンネルＩＦを検索し（ステップＳ１９）、全トンネルＩＦを検索済みであるか否かを判定する（ステップＳ２０）。そして、検索していないトンネルＩＦがある場合には、ルールテーブル作成部２１は、ステップＳ１９に戻る。
【００９２】
一方、全トンネルＩＦを検索済みである場合には、ルールテーブル作成部２１は、ＧＲ管理テーブル２ｂからテナントに該当するＧＲ５を検索する（ステップＳ２１）。そして、ルールテーブル作成部２１は、全トンネルＩＦについて、トンネル８からの受信データの宛先をＧＲ５に設定するルールを作成し（ステップＳ２２）、ＧＲ５からの受信データの送信先をトンネル８に設定するルールを作成する（ステップＳ２３）。
【００９３】
そして、ルールテーブル作成部２１は、作成したルールをＧＷ３のルールテーブル３ａに設定し（ステップＳ２４）、ＣＦ管理装置１ａ又は運用者１ｂに完了を通知する（ステップＳ２５）。
【００９４】
このように、フィルタリングテーブル作成部２３がフィルタリングルールを作成してＧＲ５のフィルタリングテーブル５ａに設定し、ルールテーブル作成部２１がトンネル８とＧＲ５に関するルールを作成してＧＷ３のルールテーブル３ａに設定する。したがって、ＣＦ１は、アプリ６２が属するテナント以外のテナントからのアプリ６２へのアクセスを防ぐことができる。
【００９５】
次に、ＣＦ１によるＰａａＳ接続例について図１２〜図２２を用いて説明する。図１２は、初期構成を示す図である。図１２に示すように、初期構成では、ＣＦ１は、管理部２、ＧＷ３、ＰＸ４、ＧＲ＃３、ＲＮ６及び仮想ルータ７を有する。ここで、ＧＲ＃３は、セキュア接続を行うテナントを除く全テナント共通のＧＲ５である。ＧＷ３のルールテーブル３ａ及びＧＲ＃３のフィルタリングテーブル５ａには情報は登録されていない。また、テナントＡのオンプレミス１０及びテナントＢのオンプレミス１０ではＶＭ＃１で表されるＶＭ１５が動作する。
【００９６】
図１３は、管理部２内のテーブル構成（初期構成）を示す図である。図１３に示すように、トンネル管理テーブル２ａ及びＵＲＩ管理テーブル２ｃには情報は登録されていない。ＧＲ管理テーブル２ｂには、ＧＲ＃３の情報だけが登録されている。図１３において、「ａｌｌ」はセキュア接続を行うテナントを除く全テナントを示す。
【００９７】
まず、アプリ６２がＲＮ６に配備される。図１４は、アプリ６２の配備を説明するための図である。図１４に示すように、ＲＮ６にアプリ＃１が配備され、管理部２にアプリ登録要求が通知される。アプリ登録要求には、アプリ＃１のテナント名「Ａ」及びＵＲＩ「ａｐｐ１．ｆｌａｂ．ｃｏｍ」が含まれる。
【００９８】
すると、管理部２は、ＵＲＩ管理テーブル２ｃを更新する。図１５は、管理部２内のテーブル構成（アプリ６２の配備後）を示す図である。図１５に示すように、更新後のＵＲＩ管理テーブル２ｃには、アプリ＃１のＵＲＩ名「ａｐｐ１．ｆｌａｂ．ｃｏｍ」とテナント名「Ａ」が登録されている。
【００９９】
次に、トンネル８が設定される。図１６は、トンネル設定を説明するための図である。オンプレミス１０とＣＦ１との間にトンネル８が設定されると、図１６に示すように、管理部２にトンネル登録要求が通知される。トンネル登録要求には、トンネル名「トンネル＃１」、ＧＷ名「１０．０．０．５」、接続先テナント「Ａ」が含まれる。
【０１００】
すると、管理部２は、トンネル管理テーブル２ａを更新する。図１７は、管理部２内のテーブル構成（トンネル８設定後）を示す図である。図１７に示すように、更新後のトンネル管理テーブル２ａには、設定されたトンネル８について、ＧＷ名「１０．０．０．５」、トンネルＩＦ「トンネル＃１」及び接続先テナント「Ａ」が登録されている。なお、ここでは、ＧＷ名はＧＷ３のＩＰアドレスとしている。また、オンプレミス１０には、ＧＷ用のＶＭ１５がＶＭ＃２として生成される。
【０１０１】
次に、セキュア接続が設定される。図１８は、セキュア接続設定を説明するための第１の図である。図１８に示すように、管理部２にセキュア接続設定要求が通知される。セキュア接続設定要求にはテナント名「Ａ」が含まれる。すると、管理部２は、ＣＦ管理装置１ａにＧＲ５の作成を要求する。そして、ＧＲ＃４で表されるＧＲ５が作成される。また、管理部２は、作成されたＧＲ＃４の情報でＧＲ管理テーブル２ｂを更新する。
【０１０２】
図１９は、管理部２内のテーブル構成（セキュア接続設定後）を示す図である。図１９に示すように、更新後のＧＲ管理テーブル２ｂには、ＧＲ名「ＧＲ＃４」、ＩＰアドレス「１０．０．０．６」及びテナント名「Ａ」が登録されている。
【０１０３】
図２０は、セキュア接続設定を説明するための第２の図である。図２０に示すように、管理部２は、ＧＲ＃４のフィルタリングテーブル５ａを設定する。ＧＲ＃４のフィルタリングテーブル５ａには、宛先ＵＲＩ「ａｐｐ１．ｆｌａｂ．ｃｏｍ」に対応付けて「許可」が登録される。また、管理部２は、ＧＲ＃３のフィルタリングテーブル５ａを設定する。ＧＲ＃３のフィルタリングテーブル５ａには、宛先ＵＲＩ「ａｐｐ１．ｆｌａｂ．ｃｏｍ」に対応付けて「拒否」が登録される。
【０１０４】
また、管理部２は、ＧＷ３のルールテーブル３ａを設定する。ＧＷ３のルールテーブル３ａには、トンネル＃１に対応付けて、トンネル＃１から受信した通信パケットの宛先ＩＰアドレスを「１０．０．０．６」に変更する処理が登録され、ＧＲ＃４のＩＰアドレスに対応付けて、トンネル＃１から送信する処理が登録される。
【０１０５】
次に、アプリ＃１に対してテナントＡからアクセスが発生する。図２１は、アプリ＃１に対するテナントＡからのアクセスを説明するための図である。図２１に示すように、テナントＡのＶＭ＃１から「ａｐｐ１．ｆｌａｂ．ｃｏｍ」宛てに通信が発生する。そして、通信パケットがトンネル＃１を経由してＧＷ３に到着すると、ＧＷ３はルールテーブル３ａを参照し、宛先ＩＰアドレスを「１０．０．０．６」に変換し、ＧＲ＃４に送信する。そして、通信パケットがＧＲ＃４に到着すると、ＧＲ＃４は、フィルタリングテーブル５ａを参照し、「ａｐｐ１．ｆｌａｂ．ｃｏｍ」宛ての通信を許可して通信パケットをＲＮ６へ送信する。
【０１０６】
次に、アプリ＃１に対してテナントＢからアクセスが発生する。図２２は、アプリ＃１に対するテナントＢからのアクセスを説明するための図である。なお、図２２では、テナントＢのオンプレミス１０とＣＦ１は、トンネル＃２で接続される。また、テナントＢ用のＧＲ＃５が作成されており、ＧＲ＃５のフィルタリングテーブル５ａには、「ａｐｐ１．ｆｌａｂ．ｃｏｍ」宛ての通信を拒否することが登録されている。また、ＧＷ３のルールテーブル３ａには、トンネル＃２から受信した通信パケットをＧＲ＃５に転送する処理が登録されている。また、テナントＢのオンプレミス１０には、ＧＷ用のＶＭ１５であるＶＭ＃２が動作する。
【０１０７】
図２２に示すように、テナントＢのＶＭ＃１から「ａｐｐ１．ｆｌａｂ．ｃｏｍ」宛てに通信が発生する。そして、通信パケットがトンネル＃２を経由してＧＷ３に到着すると、ＧＷ３はルールテーブル３ａを参照し、宛先ＩＰアドレスを「１０．０．０．７」に変換し、通信パケットをＧＲ＃５に送信する。そして、通信パケットがＧＲ＃５に到着すると、ＧＲ＃５は、フィルタリングテーブル５ａを参照し、「ａｐｐ１．ｆｌａｂ．ｃｏｍ」宛ての通信を拒否して通信パケットを破棄する。
【０１０８】
上述してきたように、実施例１では、ＧＷ３が、テナント毎に設定されたトンネル８から通信パケットを受信すると、ルールテーブル３ａを参照し、トンネル８に対応付けられたＧＲ５に通信パケットを送信する。そして、テナントに対応付けられたＧＲ５が、ＧＷ３から通信パケットを受信すると、フィルタリングテーブル５ａを参照し、宛先のＵＲＩが許可されているかを判定し、許可されている場合にＲＮ６に通信パケットを送信する。したがって、ＣＦ１は、アプリ６２への不正なアクセスを防ぐことができ、セキュアなＰａａＳを提供することができる。
【０１０９】
また、実施例１では、管理部２が、ルールテーブル３ａの情報を作成してルールテーブル３ａに設定し、フィルタリングテーブル５ａの情報を作成してフィルタリングテーブル５ａに設定する。したがって、ＣＦ１の運用者１ｂは、セキュアなＰａａＳを簡単に実現することができる。
【実施例２】
【０１１０】
ところで、上記実施例１では、ＧＲ５はフィルタリングテーブル５ａを用いて通信パケットのＲＮ６への転送の許否を判定したが、ＧＲ５はフィルタリングテーブル５ａを用いることなく通信パケットのＲＮ６への転送の許否を判定することもできる。そこで、実施例２では、フィルタリングテーブル５ａを用いることなく通信パケットのＲＮ６への転送の許否を判定するＣＦ１ｄについて説明する。
【０１１１】
図２３は、アプリ６２とトンネル＃１の構築後のＣＦ１ｄの状態を示す図である。なお、ここでは説明の便宜上、図１６に示した各部と同様の役割を果たす機能部については同一符号を付すこととしてその詳細な説明を省略する。図１６と比較すると、ＣＦ１ｄは、管理部２の代わりに管理部２ｄを有し、ＧＲ５の代わりにＧＲ＃６で表されるＧＲ５ｄを有する。
【０１１２】
管理部２ｄは、管理部２と同様の機能を有するが、フィルタリングテーブル５ａの設定は行わない。また、管理部２ｄは、テナント専用のＧＲ５ｄのＵＲＩ対応テーブル５ｂにだけ当該テナントに属するアプリ６２のＵＲＩに関する情報を登録する。
【０１１３】
ＧＲ５ｄは、フィルタリングテーブル５ａを有しない。ＧＲ５ｄは、ＵＲＩ対応テーブル５ｂを用いて通信パケットのＲＮ６への転送の許否を判定する。すなわち、ＧＲ５ｄは、通信パケットの宛先のＵＲＩがＵＲＩ対応テーブル５ｂに登録されていれば通信パケットをＲＮ６に転送し、通信パケットの宛先のＵＲＩがＵＲＩ対応テーブル５ｂに登録されていなければ通信パケットをＲＮ６に転送しない。
【０１１４】
このように、ＧＲ５ｄがＵＲＩ対応テーブル５ｂを用いて通信パケットのＲＮ６への転送の許否を判定することで、ＣＦ１ｄはフィルタリングテーブル５ａを用いることなく通信パケットのＲＮ６への転送の許否を判定することができる。
【０１１５】
図２４は、管理部２ｄ内のテーブル構成（トンネル８設定後）を示す図である。図２４に示すように、管理部２ｄ内のテーブル構成（トンネル８設定後）は、ＧＲ管理テーブル２ｂに登録されるＧＲ５ｄの名前がＧＲ＃６である点を除いて、図１７に示した管理部２内のテーブル構成（トンネル８設定後）と同じである。
【０１１６】
図２５は、実施例２に係るセキュア接続設定を説明するための第１の図である。図２５に示すように、管理部２ｄにセキュア接続設定要求が通知される。セキュア接続設定要求にはテナント名「Ａ」が含まれる。すると、管理部２ｄは、ＣＦ管理装置１ａにＧＲ５ｄの作成を要求する。そして、ＧＲ＃７で表されるＧＲ５ｄが作成される。ＧＲ＃７のＵＲＩ対応テーブル５ｂには、アプリ＃１に関する情報が登録されている。また、管理部２ｄは、作成されたＧＲ＃７の情報でＧＲ管理テーブル２ｂを更新する。
【０１１７】
図２６は、管理部２ｄ内のテーブル構成（セキュア接続設定後）を示す図である。図２６に示すように、更新後のＧＲ管理テーブル２ｂには、ＧＲ名「ＧＲ＃７」、ＩＰアドレス「１０．０．０．６」及びテナント名「Ａ」が登録されている。
【０１１８】
図２７は、実施例２に係るセキュア接続設定を説明するための第２の図である。図２７に示すように、管理部２ｄは、ＧＲ＃６のＵＲＩ対応テーブル５ｂを変更する。すなわち、管理部２ｄは、アプリ＃１に関する情報をＧＲ＃６のＵＲＩ対応テーブル５ｂから削除する。
【０１１９】
また、管理部２ｄは、ＧＷ３のルールテーブル３ａを設定する。ＧＷ３のルールテーブル３ａには、トンネル＃１に対応付けて、トンネル＃１から受信した通信パケットの宛先ＩＰアドレスを「１０．０．０．６」に変更する処理が登録され、ＧＲ＃７のＩＰアドレスに対応付けて、トンネル＃１から送信する処理が登録される。
【０１２０】
次に、アプリ＃１に対してテナントＡからアクセスが発生する。図２８は、アプリ＃１に対するテナントＡからのアクセスを説明するための図である。図２８に示すように、テナントＡのＶＭ＃１から「ａｐｐ１．ｆｌａｂ．ｃｏｍ」宛てに通信が発生する。そして、通信パケットがトンネル＃１を経由してＧＷ３に到着すると、ＧＷ３はルールテーブル３ａを参照し、宛先ＩＰアドレスを「１０．０．０．６」に変換し、ＧＲ＃７に送信する。そして、通信パケットがＧＲ＃７に到着すると、ＧＲ＃７は、ＵＲＩ対応テーブル５ｂを参照し、「ａｐｐ１．ｆｌａｂ．ｃｏｍ」宛ての通信を許可して通信パケットをＲＮ６へ送信する。
【０１２１】
次に、アプリ＃１に対してテナントＢからアクセスが発生する。図２９は、アプリ＃１に対するテナントＢからのアクセスを説明するための図である。なお、図２９では、テナントＢのオンプレミス１０とＣＦ１ｄは、トンネル＃２で接続される。また、テナントＢ用のＧＲ＃８が作成されており、ＧＲ＃８のＵＲＩ対応テーブル５ｂには、アプリ＃１に関する情報は登録されていない。また、ＧＷ３のルールテーブル３ａには、トンネル＃２から受信した通信パケットをＧＲ＃８に転送する処理が登録されている。また、テナントＢのオンプレミス１０には、ＧＷ用のＶＭ１５であるＶＭ＃２が動作する。
【０１２２】
図２９に示すように、テナントＢのＶＭ＃１から「ａｐｐ１．ｆｌａｂ．ｃｏｍ」宛てに通信が発生する。そして、通信パケットがトンネル＃２を経由してＧＷ３に到着すると、ＧＷ３はルールテーブル３ａを参照し、宛先ＩＰアドレスを「１０．０．０．７」に変換し、ＧＲ＃８に送信する。そして、通信パケットがＧＲ＃８に到着すると、ＧＲ＃８は、ＵＲＩ対応テーブル５ｂを参照し、「ａｐｐ１．ｆｌａｂ．ｃｏｍ」が登録されていないので、「ａｐｐ１．ｆｌａｂ．ｃｏｍ」宛ての通信を拒否して通信パケットを破棄する。
【０１２３】
上述してきたように、実施例２では、ＧＲ５ｄは、通信パケットの宛先のＵＲＩがＵＲＩ対応テーブル５ｂに登録されていれば通信パケットをＲＮ６に転送し、登録されていなければ通信パケットをＲＮ６に転送しない。したがって、ＣＦ１ｄは、通信パケットのＲＮ６への転送を効率よく行うことができる。
【０１２４】
なお、実施例１及び２では、ＶＭについて説明したが、ＶＭは物理マシンすなわちコンピュータにより実行される。そこで、ＶＭを実行するコンピュータについて説明する。図３０は、ＶＭを実行するコンピュータのハードウェア構成を示す図である。図３０に示すように、コンピュータ５０は、メインメモリ５１と、ＣＰＵ（Central  Processing  Unit）５２と、ＬＡＮ（Local  Area  Network）インタフェース５３と、ＨＤＤ（Hard  Disk  Drive）５４とを有する。また、コンピュータ５０は、スーパーＩＯ（Input  Output）５５と、ＤＶＩ（Digital  Visual  Interface）５６と、ＯＤＤ（Optical  Disk  Drive）５７とを有する。
【０１２５】
メインメモリ５１は、プログラムやプログラムの実行途中結果などを記憶するメモリである。ＣＰＵ５２は、メインメモリ５１からプログラムを読み出して実行する中央処理装置である。ＣＰＵ５２は、メモリコントローラを有するチップセットを含む。
【０１２６】
ＬＡＮインタフェース５３は、コンピュータ５０をＬＡＮ経由で他のコンピュータに接続するためのインタフェースである。ＨＤＤ５４は、プログラムやデータを格納するディスク装置であり、スーパーＩＯ５５は、マウスやキーボードなどの入力装置を接続するためのインタフェースである。ＤＶＩ５６は、液晶表示装置を接続するインタフェースであり、ＯＤＤ５７は、ＤＶＤの読み書きを行う装置である。
【０１２７】
ＬＡＮインタフェース５３は、ＰＣＩエクスプレス（ＰＣＩｅ）によりＣＰＵ５２に接続され、ＨＤＤ５４及びＯＤＤ５７は、ＳＡＴＡ（Serial  Advanced  Technology  Attachment）によりＣＰＵ５２に接続される。スーパーＩＯ５５は、ＬＰＣ（Low  Pin  Count）によりＣＰＵ５２に接続される。
【０１２８】
また、実施例では、ＣＦについて説明したが、本発明はこれに限定されるものではなく、ＰａａＳを提供する他のソフトウェアにも同様に適用することができる。
【符号の説明】
【０１２９】
１，１ｄ，９１    ＣＦ
１ａ    ＣＦ管理装置
１ｂ    運用者
１ｃ    ＰａａＳ利用者
２，２ｄ    管理部
２ａ    トンネル管理テーブル
２ｂ    ＧＲ管理テーブル
２ｃ    ＵＲＩ管理テーブル
３，９３    ＧＷ
３ａ    ルールテーブル
４，９４    ＰＸ
５，５ｄ，９５    ＧＲ
５ａ，９５ａ，９５ｃ    フィルタリングテーブル
５ｂ，９５ｂ    ＵＲＩ対応テーブル
５ｃ    ルーティングテーブル
６，９６    ＲＮ
７    仮想ルータ
７ａ    ＮＡＴテーブル
８    トンネル
９    インターネット
９ａ    ネットワーク
１０    オンプレミス
１１    サーバ
１１ａ    ルーティングテーブル
１２    ＧＷ
１２ａ    ルーティングテーブル
１３    ルータ
１３ａ    ＮＡＴテーブル
１４    ＤＮＳサーバ
１４ａ    ＤＮＳテーブル
１５    ＶＭ
２１    ルールテーブル作成部
２２    ＧＲ作成要求部
２３    フィルタリングテーブル作成部
５０    コンピュータ
５１    メインメモリ
５２    ＣＰＵ
５３    ＬＡＮインタフェース
５４    ＨＤＤ
５５    スーパーＩＯ
５６    ＤＶＩ
５７    ＯＤＤ
６１，９６１    コンテナ
６２，９６２    アプリ
【図１】
2018082310.tif 000003
【図２】
2018082310.tif 000004
【図３】
2018082310.tif 000005
【図４】
2018082310.tif 000006
【図５】
2018082310.tif 000007
【図６】
2018082310.tif 000008
【図７Ａ】
2018082310.tif 000009
【図７Ｂ】
2018082310.tif 000010
【図８】
2018082310.tif 000011
【図９Ａ】
2018082310.tif 000012
【図９Ｂ】
2018082310.tif 000013
【図１０】
2018082310.tif 000014
【図１１Ａ】
2018082310.tif 000015
【図１１Ｂ】
2018082310.tif 000016
【図１１Ｃ】
2018082310.tif 000017
【図１２】
2018082310.tif 000018
【図１３】
2018082310.tif 000019
【図１４】
2018082310.tif 000020
【図１５】
2018082310.tif 000021
【図１６】
2018082310.tif 000022
【図１７】
2018082310.tif 000023
【図１８】
2018082310.tif 000024
【図１９】
2018082310.tif 000025
【図２０】
2018082310.tif 000026
【図２１】
2018082310.tif 000027
【図２２】
2018082310.tif 000028
【図２３】
2018082310.tif 000029
【図２４】
2018082310.tif 000030
【図２５】
2018082310.tif 000031
【図２６】
2018082310.tif 000032
【図２７】
2018082310.tif 000033
【図２８】
2018082310.tif 000034
【図２９】
2018082310.tif 000035
【図３０】
2018082310.tif 000036
【図３１】
2018082310.tif 000037
【図３２】
2018082310.tif 000038
【図３３】
2018082310.tif 000039
【図３４】
2018082310.tif 000040
【図３５】
2018082310.tif 000041
【図３６】
2018082310.tif 000042
【図３７】
2018082310.tif 000043