JP5979304B2 - プログラム、情報処理装置および更新方法 - Google Patents
プログラム、情報処理装置および更新方法 Download PDFInfo
- Publication number
- JP5979304B2 JP5979304B2 JP2015506424A JP2015506424A JP5979304B2 JP 5979304 B2 JP5979304 B2 JP 5979304B2 JP 2015506424 A JP2015506424 A JP 2015506424A JP 2015506424 A JP2015506424 A JP 2015506424A JP 5979304 B2 JP5979304 B2 JP 5979304B2
- Authority
- JP
- Japan
- Prior art keywords
- information
- user
- authentication information
- authentication
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
Description
本発明はプログラム、情報処理装置および更新方法に関する。
現在、複数の情報処理装置(例えば、コンピュータ)を含むシステムが利用されている。各情報処理装置は、ネットワークを介して接続される。例えば、ユーザは、自身が操作する情報処理装置(クライアント装置ということがある)を用いて、サービスを提供する情報処理装置(サーバ装置ということがある)にアクセスし、サービスを利用し得る。
例えば、このようなシステムにおいて、物品の販売サービスや施設の予約サービスなどを提供するサービス提供サーバに対し、サービスの処理に用いられるユーザ情報の追加・更新を担う情報管理サーバを設ける提案がある。
なお、複数の計算機間で共有される共有データに対するアプリケーションからのアクセスパターンの情報に基づいて、共有データの管理方法を選択する提案がある。
アクセス先のサーバ装置(または、サービス)をユーザごとに制限することがある。サーバ装置への不正アクセスの防止を図るためである。例えば、クライアント装置とサーバ装置との間に、クライアント装置からサーバ装置へのアクセス許否の認証を行う認証装置を設けることが考えられる。このとき、当該認証を行うための認証情報をユーザごとに集中管理し、複数の認証装置に認証情報を配布する管理装置を設けることが考えられる。認証情報を変更する際は、管理装置が保持する認証情報を更新すればよく、個々の認証装置に対して管理者が設定変更を行う場合に比べて、作業コストを軽減し得るからである。
しかし、この場合、認証情報の更新方法が問題となる。例えば、あるユーザに対する認証情報が管理装置側で更新されたとき、何れかの認証装置に更新前の認証情報が既に配布されていることがある。このとき、更新後の認証情報が管理装置により別の認証装置に配布されると各認証装置で利用される認証情報に不整合が生じ得る。一方、配布済の全ての認証情報が各認証装置で利用されなくなったタイミングで更新を行うことも考えられる。ところが、そのようなタイミングを待っていると、当該更新が反映されるまでに時間がかかる可能性がある。そこで、各認証装置で利用される認証情報の不整合の防止を図りながら、認証情報の更新を迅速に行う仕組みをどのように実現するかが問題となる。
1つの側面では、本発明は、各装置により利用される認証情報の整合を維持しながら、認証情報を迅速に更新できるプログラム、情報処理装置および更新方法を提供することを目的とする。
1つの態様では、コンピュータによって実行されるプログラムが提供される。このプログラムは、複数のユーザのうちの何れかのユーザを示す情報に対応付けられており他の装置により行われる認証に用いられる認証情報を記憶する記憶部を参照して、当該他の装置からの要求に応じた認証情報を配布し、ユーザを示す情報に対して認証情報が配布されているか否かを示す情報を生成し、何れかのユーザを示す情報に対応付けられた認証情報の更新要求を受け付けると、生成された情報を参照して、当該ユーザを示す情報に対して認証情報が配布されていない場合は記憶部に記憶された更新対象の認証情報を更新し、当該ユーザを示す情報に対して認証情報が他の装置に配布されている場合は他の装置により当該認証情報が用いられなくなったことを確認してから記憶部に記憶された更新対象の認証情報を更新する、処理をコンピュータに実行させる。
また、1つの態様では、情報処理装置が提供される。この情報処理装置は、記憶部と演算部とを有する。記憶部は、複数のユーザのうちの何れかのユーザを示す情報に対応付けられており他の装置により行われる認証に用いられる認証情報を記憶する。演算部は、他の装置からの要求に応じた認証情報を当該他の装置に配布し、ユーザを示す情報に対して認証情報が配布されているか否かを示す情報を生成し、何れかのユーザを示す情報に対応付けられた認証情報の更新要求を受け付けると、生成された情報を参照して、当該ユーザを示す情報に対して認証情報が配布されていない場合は記憶部に記憶された更新対象の認証情報を更新し、また、当該ユーザを示す情報に対して認証情報が他の装置に配布されている場合は他の装置により当該認証情報が用いられなくなったことを確認してから記憶部に記憶された更新対象の認証情報を更新する。
また、1つの態様では、更新方法が提供される。この更新方法では、情報処理装置が、複数のユーザのうちの何れかのユーザを示す情報に対応付けられており他の装置により行われる認証に用いられる認証情報を記憶する記憶部を参照して、当該他の装置からの要求に応じた認証情報を配布し、ユーザを示す情報に対して認証情報が配布されているか否かを示す情報を生成し、何れかのユーザを示す情報に対応付けられた認証情報の更新要求を受け付けると、生成された情報を参照して、当該ユーザを示す情報に対して認証情報が配布されていない場合は記憶部に記憶された更新対象の認証情報を更新し、当該ユーザを示す情報に対して認証情報が他の装置に配布されている場合は他の装置により当該認証情報が用いられなくなったことを確認してから記憶部に記憶された更新対象の認証情報を更新する。
1つの側面では、各装置により利用される認証情報の整合を維持しながら、認証情報を迅速に更新できる。
本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
以下、本実施の形態を図面を参照して説明する。
[第1の実施の形態]
図1は、第1の実施の形態の情報処理システムを示す図である。第1の実施の形態の情報処理システムは、情報処理装置1および認証装置2,3を含む。情報処理装置1および認証装置2,3はネットワークを介して接続されている。認証装置2,3は、情報処理装置1から取得したユーザごとの認証情報に基づいて認証を行う装置である。この認証は、クライアント装置(図示を省略)からサーバ装置(図示を省略)に対するアクセスを制限するための認証でもよい。あるいは、クライアント装置からサーバ装置により提供されるサービスに対するアクセスを制限するための認証でもよい。認証装置2,3は、コンピュータなどの情報処理装置でもよいし、ルータなどの中継装置でもよい。
[第1の実施の形態]
図1は、第1の実施の形態の情報処理システムを示す図である。第1の実施の形態の情報処理システムは、情報処理装置1および認証装置2,3を含む。情報処理装置1および認証装置2,3はネットワークを介して接続されている。認証装置2,3は、情報処理装置1から取得したユーザごとの認証情報に基づいて認証を行う装置である。この認証は、クライアント装置(図示を省略)からサーバ装置(図示を省略)に対するアクセスを制限するための認証でもよい。あるいは、クライアント装置からサーバ装置により提供されるサービスに対するアクセスを制限するための認証でもよい。認証装置2,3は、コンピュータなどの情報処理装置でもよいし、ルータなどの中継装置でもよい。
情報処理装置1は、記憶部1aおよび演算部1bを有する。記憶部1aはRAM(Random Access Memory)などのメモリでもよい。演算部1bはCPU(Central Processing Unit)などのプロセッサでもよい。第1の実施の形態の情報処理は、記憶部1aに記憶されたプログラムを演算部1bが実行することで実現されてもよい。
記憶部1aは、認証装置2,3で行われる認証に用いられる認証情報を記憶する。認証情報は、例えば、アクセス元の装置の情報に対して許容されるアクセス先の装置やサービスなどの情報を定義したものでもよい。認証情報は、ユーザを示す情報に対応付けられている。例えば、記憶部1aはユーザAを示す情報に対応付けて認証情報Xを記憶している。記憶部1aはユーザBを示す情報に対応付けて認証情報Yを記憶している。
演算部1bは、記憶部1aを参照して、認証装置からの要求に応じた認証情報を要求元の認証装置に配布する。例えば、情報処理装置1がユーザのログイン処理などを行い、ログイン処理の結果に応じた認証情報を認証装置に提供することが考えられる。その場合、演算部1bは、ユーザのログイン要求を認証装置から受け付け、ログイン処理の結果に応じた認証情報を要求元の認証装置に提供してもよい。演算部1bは、ユーザを示す情報に対して認証情報が配布されているか否かを示す情報を生成する。演算部1bは、生成された情報を記憶部1aに格納してもよい。
演算部1bは、何れかのユーザを示す情報に対応付けられた認証情報の更新要求を受け付ける。認証情報の更新要求は情報処理装置1以外の装置から情報処理装置1に入力されてもよいし、管理者などにより情報処理装置1に直接入力されてもよい。
演算部1bは、更新要求を受け付けると生成された情報を参照して次の処理を行う。当該ユーザを示す情報に対して認証情報が配布されていない場合、演算部1bは更新要求を受けた認証情報を更新する。また、当該ユーザを示す情報に対して認証情報が認証装置に配布されている場合、演算部1bは当該認証装置により当該認証情報が用いられなくなったことを確認してから更新要求に応じて当該認証情報を更新する。すなわち、当該ユーザを示す情報に対して認証情報が配布されていない場合には、演算部1bはこの確認を行わずに更新要求を受けた認証情報を更新し得る。
例えば、演算部1bは次のような一連の処理を行う。演算部1bは、認証装置2からの要求に応じて認証装置2に認証情報Xを配布する(ステップS1)。このとき、演算部1bは、ユーザAを示す情報に対して認証情報Xが配布されていることを示す情報を生成し、記憶部1aに格納する。
演算部1bは、認証装置3からの要求に応じて認証装置3に認証情報Yを配布する(ステップS2)。このとき、演算部1bは、ユーザBを示す情報に対して認証情報Yが配布されていることを示す情報を生成し、記憶部1aに格納する。
演算部1bは、ユーザAを示す情報に対応する認証情報Xの更新要求を受け付ける(ステップS3)。演算部1bは、ステップS1,S2により生成された情報を参照することで、ユーザAを示す情報に対応する認証情報(本例では、認証情報X)が認証装置2に配布された状態であると判断する。このため、演算部1bは、認証情報Xの更新を保留する。演算部1bは、認証装置2により認証情報Xが利用されなくなったことを確認する(ステップS4)。
具体的には、演算部1bは、次のようにしてステップS4の確認を実行し得る。第1には、認証情報Xを用いた認証を行わなくなった旨の通知を認証装置2から受けることで当該確認を行ってもよい。第2には、演算部1bは認証情報Xを用いた認証を行っているか否かを認証装置2に対して定期または不定期に問い合わせてもよい。
なお、認証装置2において、認証情報Xを用いた認証が行われなくなる場合には、例えば次のような場合が考えられる。第1には、例えば認証装置2で認証情報Xを用いた認証が所定時間以上行われず、認証装置2で認証情報Xを破棄する場合である。第2には、例えば認証装置2を経由してサーバ装置にアクセスしていたクライアント装置が、ユーザAのログアウトなどにより当該サーバ装置へのアクセスを終了したことで、認証情報Xを用いた認証が行われなくなる場合である。
演算部1bは、ユーザAを示す情報に対応する認証情報Xが認証装置2により利用されなくなったことが確認されると、ステップS3の更新要求を受けた認証情報Xの更新を行う(ステップS5)。このとき、認証装置2では配布済の認証情報Xが用いられなくなくなるのだから、その後、認証装置2は認証情報Xを用いた認証を再度行おうとするとき、情報処理装置1から(更新後の)認証情報Xを取得することになる。
情報処理装置1によれば、演算部1bにより、認証装置2からの要求に応じて認証情報Xが認証装置2に配布される。演算部1bにより、ユーザAを示す情報に対して認証情報が配布されているか否かを示す情報が生成される。演算部1bにより、ユーザAを示す情報に対応する認証情報Xの更新要求が受け付けられると、生成された情報に基づいて、ユーザAを示す情報に対して認証情報が配布されていない場合は更新要求を受けた認証情報Xが更新される。また、演算部1bにより、ユーザAを示す情報に対して認証情報が何れかの認証装置に配布されている場合は当該認証装置により当該認証情報が用いられなくなったことが確認されてから更新要求を受けた認証情報Xが更新される。
これにより、認証装置2,3により利用される認証情報の整合を維持しながら、認証情報を迅速に更新できる。具体的には、次の通りである。
情報処理装置1は、認証装置2,3で用いられる認証情報を集中管理する。このため、認証情報を更新したいときは情報処理装置1が保持する認証情報を更新すればよい。ところが、例えば、更新前の認証情報Xが認証装置2に配布済の場合がある。その後、仮に認証装置3からの要求に応じて更新後の認証情報Xが認証装置3に配布されると、認証装置2は更新前の情報、認証装置3は更新後の情報をそれぞれ用いて認証を行うことになる。すなわち、認証装置2,3により認証に用いられる認証情報に不整合が生じてしまう。すると、例えば、同じユーザであるにも関わらず、認証装置2を経由すれば所定のサーバ装置(または、サービス)にアクセスできるが、認証装置3を経由すると当該サーバ装置(または、当該サービス)にアクセスできないという事態が生じ得る。
情報処理装置1は、認証装置2,3で用いられる認証情報を集中管理する。このため、認証情報を更新したいときは情報処理装置1が保持する認証情報を更新すればよい。ところが、例えば、更新前の認証情報Xが認証装置2に配布済の場合がある。その後、仮に認証装置3からの要求に応じて更新後の認証情報Xが認証装置3に配布されると、認証装置2は更新前の情報、認証装置3は更新後の情報をそれぞれ用いて認証を行うことになる。すなわち、認証装置2,3により認証に用いられる認証情報に不整合が生じてしまう。すると、例えば、同じユーザであるにも関わらず、認証装置2を経由すれば所定のサーバ装置(または、サービス)にアクセスできるが、認証装置3を経由すると当該サーバ装置(または、当該サービス)にアクセスできないという事態が生じ得る。
このような事態を回避するために、例えば、各認証装置で利用される全ユーザの認証情報が利用されなくなったタイミングで管理装置の認証情報を更新することも考え得る。しかし、当該タイミングまで待機していると、認証情報を更新するまでに時間を要するという問題がある。
具体的には、上述の例において、ユーザAに対する認証情報Xが認証装置2に配布され、ユーザBに対する認証情報Yが認証装置3に配布されている場合を考える。この場合、例えば、認証情報Xを更新するために、認証情報Yが利用されなくなるまで待機するものとすると、認証情報Xを更新するまでに時間がかかり得る。認証情報Xが認証装置2により利用されなくなったとしても、認証情報Yが認証装置3により利用された状態であると、認証情報Xの更新を行えないからである。この問題は、ユーザの数が多くなるほど深刻である。ユーザの数が多くなるほど、認証装置2,3を介したアクセス数も多くなり、配布された各ユーザの認証情報が認証装置2,3により利用されなくなるまでの時間も長引く可能性が高くなるからである。
この場合、ユーザAに対する認証情報Xを更新するために、ユーザBに対する認証情報Yが認証装置3により利用されなくなるまで待機するのは余計である。認証情報Xの更新の影響はユーザAのサービス利用に対して及ぶものであり、ユーザBのサービス利用に対して影響を及ぼすものではないからである。そこで、情報処理装置1では、ユーザAに対する認証情報Xの更新要求があった場合は、ユーザAに対する認証情報の配布を受けた認証装置2で当該認証情報が利用されなくなったことが確認できたタイミングで、記憶部1aに記憶された認証情報Xの更新を行う。また、ユーザAに対して認証情報が配布されていなければ、当該確認を行わずに記憶部1aに記憶された認証情報Xの更新を行う。このようにして、認証装置2,3により利用される認証情報の整合を維持しながら、認証情報を迅速に更新できる。
[第2の実施の形態]
図2は、第2の実施の形態の情報処理システムを示す図である。第2の実施の形態の情報処理システムは、管理サーバ100、中継装置200,200a,200b、業務サーバ300,300a,400,400aを含む。中継装置200は、ファイアウォール11に接続されている。ファイアウォール11はネットワーク10に接続されている。例えば、ネットワーク10はLAN(Local Area Network)でもよいし、インターネットやWAN(Wide Area Network)などの広域ネットワークでもよい。
図2は、第2の実施の形態の情報処理システムを示す図である。第2の実施の形態の情報処理システムは、管理サーバ100、中継装置200,200a,200b、業務サーバ300,300a,400,400aを含む。中継装置200は、ファイアウォール11に接続されている。ファイアウォール11はネットワーク10に接続されている。例えば、ネットワーク10はLAN(Local Area Network)でもよいし、インターネットやWAN(Wide Area Network)などの広域ネットワークでもよい。
ファイアウォール11は、ネットワーク10側(外部側)と中継装置200側(内部側)との間の通信(例えば、IP(Internet Protocol)パケット)を監視し、所定のルールに合致した通信のみを許可し、所定のルールに合致しない通信を拒否する。
管理サーバ100、中継装置200,200a,200bおよび業務サーバ300,300aは、ネットワーク20に接続されている。中継装置200bおよび業務サーバ400,400aは、ネットワーク30に接続されている。例えば、ネットワーク20,30はLANである。ネットワーク20,30は、同一拠点のネットワークでもよいし、異なる拠点(例えば、本社と支社)のネットワークでもよい。
管理サーバ100は、ユーザごとのアクセス制御の情報を一元管理するサーバコンピュータである。管理サーバ100は、中継装置200,200a,200bにアクセス制御の情報を提供する。なお、管理サーバ100をネットワーク20以外のネットワーク(例えば、ネットワーク30)に接続してもよい。
中継装置200,200a,200bは、通信データを中継するスイッチである。中継装置200,200a,200bは、異なるネットワークセグメント間のルーティングを行うL3(Layer 3)スイッチまたはルータでもよい。中継装置200,200a,200bは、管理サーバ100と通信して、ユーザごとのアクセス制御の情報を取得し、当該情報に基づいてアクセス制御を行う。中継装置200,200a,200bは、コンピュータによって実現されてもよい。
業務サーバ300,300a,400,400aは、業務アプリケーションを実行するサーバコンピュータである。業務サーバ300,300a,400,400aは業務アプリケーションによるサービスをクライアント500,500a,600,600aに提供する。例えば、業務サーバ300,300a,400,400aはWebサーバ機能を有する。クライアント500,500a,600,600aからは、例えばWebブラウザと呼ばれるソフトウェアを用いて、業務サーバ300,300a,400,400aが提供するサービスを利用できる。
その場合、ファイアウォール11では、HTTP(HyperText Transfer Protocol)やHTTPS(HTTP over Secure Socket Layer)などに対応するアプリケーションポートの通信を許可しておく。そうすれば、クライアント500,500aと業務サーバ300,300a,400,400aとの間で、HTTPのリクエストやレスポンスを送受信できる。FTP(File Transfer Protocol)なども同様である。
ユーザは、クライアント500,500a,600,600aを操作して第2の実施の形態の情報処理システムにアクセスできる。クライアント500,500a,600,600aは、クライアントコンピュータである。クライアント500,500a,600,600aは、携帯電話機やスマートデバイス(例えば、スマートフォンやタブレット端末)などの電子装置でもよい。
クライアント500,500aは、アクセスポイント12を介してネットワーク10に接続し、情報処理システムにアクセスする。アクセスポイント12は無線通信を中継する中継装置である。アクセスポイント12は移動通信網を介してネットワーク10に接続する無線基地局でもよい。クライアント600,600aは、中継装置200aに接続されている。クライアント600,600aは、他のネットワークを介して中継装置200aに接続されてもよい。
例えば、クライアント500からサービスを利用する場合を考える。例えば、ユーザはクライアント500で動作するWebブラウザ上で、利用したい業務アプリケーションのURL(Uniform Resource Locator)を指定する。クライアント500はURL中のFQDN(Fully Qualified Domain Name)を、ネットワーク10に接続されたDNS(Domain Name System)サーバに問い合わせることで、FQDNに対応するIPアドレスを解決し得る。Webブラウザは、解決したIPアドレスを宛先IPアドレスとしたリクエストを送信する。こうして、クライアント500から業務サーバが提供するサービスを利用できる。例えば、クライアント600,600aからサービスを利用する場合も同様である。FQDNでアクセス先を指定する場合、クライアント600,600aからアクセス可能なネットワークセグメントにDNSサーバを設けることが考えられる。
管理クライアント700は、管理サーバ100に対する各種の設定を行えるクライアントコンピュータである。例えば、管理クライアント700は、システムの管理者によって利用される。
ここで、一例として、第2の実施の形態の情報処理システムで用いるIPアドレスを次の通りとする。ネットワーク20のネットワークアドレスは“192.168.10.0/24”である。ネットワーク30のネットワークアドレスは“192.168.20.0/24”である。中継装置200は“192.168.10.1”である。中継装置200aは“192.168.10.2”である。中継装置200bは“192.168.20.1”である。ただし、中継装置200bがネットワーク20,30の間のルーティングをする場合にはネットワーク20側のIPアドレスを有してもよい。管理サーバ100は“192.168.10.10”である。業務サーバ300は“192.168.10.101”である。業務サーバ300aは“192.168.10.102”である。業務サーバ400は“192.168.20.101”である。業務サーバ400aは“192.168.20.102”である。
なお、IPv4(Internet Protocol version 4)による通信を例示するが、IPv6(Internet Protocol version 6)の場合も同様である。その場合、IPv4で示したアドレスに代えてIPv6のアドレスを用いることができる。
ネットワーク10がインターネットであれば、ファイアウォール11は各業務サーバに対する宛先IPアドレスをグローバルアドレスで受け付けることも考えられる。その場合、ファイアウォール11は、当該宛先アドレスをネットワーク20,30上の各業務サーバのIPアドレスへと変換することが考えられる。この変換はNAT(Network Address Translation)と呼ばれることがある。
または、例えばVPN(Virtual Private Network)の技術を用いて、クライアント500,500aに、所定のIPアドレス(例えば、ネットワーク20のIPアドレス)を割り当ててもよい。そして、各業務サーバのIPアドレスを宛先に指定したリクエストを発行させてもよい。その場合、例えば、クライアント500,500aにVPNクライアントのソフトウェアを実行させる。例えば、VPNクライアントと通信してIPアドレスを割り当てるVPNサーバをファイアウォール11と中継装置200との間などに設ける。VPNクライアントはリクエストを含むIPパケットを、所定のプロトコルを用いてカプセル化してVPNサーバへ送る。VPNサーバは、カプセル化を解除して得たリクエストを中継装置200に転送する。ファイアウォール11に代えて、UTM(Unified Threat Management)装置などを用いてVPNを実装してもよい。
図3は、第2の実施の形態の管理サーバのハードウェア例を示す図である。管理サーバ100は、プロセッサ101、RAM102、HDD(Hard Disk Drive)103、通信部104、画像信号処理部105、入力信号処理部106、ディスクドライブ107および機器接続部108を有する。各ユニットが管理サーバ100のバスに接続されている。業務サーバ300,300a,400,400aおよびクライアント500,500a,600,600aも管理サーバ100と同様のユニットを用いて実現できる。
プロセッサ101は、管理サーバ100の情報処理を制御する。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えばCPU、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)またはPLD(Programmable Logic Device)である。プロセッサ101は、CPU、MPU、DSP、ASIC、FPGA、PLDのうちの2以上の要素の組合せであってもよい。
RAM102は、管理サーバ100の主記憶装置である。RAM102は、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、RAM102は、プロセッサ101による処理に用いる各種データを記憶する。
HDD103は、管理サーバ100の補助記憶装置である。HDD103は、内蔵した磁気ディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。管理サーバ100は、フラッシュメモリやSSD(Solid State Drive)などの他の種類の補助記憶装置を備えてもよく、複数の補助記憶装置を備えてもよい。
通信部104は、ネットワーク20を介して他のコンピュータや中継装置200,200a,200bなどと通信を行えるインタフェースである。通信部104は、有線インタフェースでもよいし、無線インタフェースでもよい。
画像信号処理部105は、プロセッサ101からの命令に従って、管理サーバ100に接続されたディスプレイ13に画像を出力する。ディスプレイ13としては、CRT(Cathode Ray Tube)ディスプレイや液晶ディスプレイなどを用いることができる。
入力信号処理部106は、管理サーバ100に接続された入力デバイス14から入力信号を取得し、プロセッサ101に出力する。例えば、入力デバイス14としては、マウスやタッチパネルなどのポインティングデバイス、キーボードなどを用いることができる。
ディスクドライブ107は、レーザ光などを利用して、光ディスク15に記録されたプログラムやデータを読み取る駆動装置である。光ディスク15として、例えば、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などを使用できる。例えば、ディスクドライブ107は、プロセッサ101からの命令に従って、光ディスク15から読み取ったプログラムやデータをRAM102またはHDD103に格納する。
機器接続部108は、管理サーバ100に周辺機器を接続するための通信インタフェースである。例えば、機器接続部108にはメモリ装置16やリーダライタ装置17を接続することができる。メモリ装置16は、機器接続部108との通信機能を搭載した記録媒体である。リーダライタ装置17は、メモリカード18へのデータの書き込み、またはメモリカード18からのデータの読み出しを行う装置である。メモリカード18は、カード型の記録媒体である。例えば、機器接続部108は、プロセッサ101からの命令に従って、メモリ装置16またはメモリカード18から読み取ったプログラムやデータをRAM102またはHDD103に格納する。
図4は、第2の実施の形態の中継装置のハードウェア例を示す図である。中継装置200は、プロセッサ201、RAM202、ROM(Read Only Memory)203、スイッチ部204およびポート部205を有する。中継装置200a,200bも中継装置200と同様のユニットを用いて実現できる。
プロセッサ201は、ファームウェアプログラムを実行する。プロセッサ201は、マルチプロセッサであってもよい。プロセッサ201は、例えばCPU、MPU、DSP、ASIC、FPGAまたはPLDである。プロセッサ201は、CPU、MPU、DSP、ASIC、FPGA、PLDのうちの2以上の要素の組合せであってもよい。
RAM202は、ファームウェアプログラムやデータを一時的に記憶する。
ROM203は、ファームウェアプログラムやデータを予め記憶している。ROM203は、フラッシュメモリなど、書き換え可能な不揮発性メモリであってもよい。
ROM203は、ファームウェアプログラムやデータを予め記憶している。ROM203は、フラッシュメモリなど、書き換え可能な不揮発性メモリであってもよい。
スイッチ部204は、ポート部205の各ポートで受信されたフレームを取得し、プロセッサ201に出力する。スイッチ部204は、中継すると判定されたフレームをプロセッサ201から取得する。スイッチ部204は、当該フレームに含まれる宛先MAC(Media Access Control)アドレスに基づき、当該フレームを出力するポートを判定する。スイッチ部204は転送先のポートを判定するための転送テーブルを保持してもよい。ネットワーク層でルーティングを行う場合には、フレーム内のIPパケットに含まれる宛先IPアドレスから、ARP(Address Resolution Protocol)などを用いて、MACアドレスおよび転送先ポートを解決してもよい。スイッチ部204は当該フレームを判定したポートに対して出力する。
ポート部205は、ファイアウォール11やネットワーク20を介して、管理サーバ100などの他の装置と通信する複数のポートを有する。例えば、ポート部205の一部がファイアウォール11と所定のケーブルにより直接または間接に接続される。また、ポート部205の他の一部がネットワーク20と所定のケーブルにより直接または間接に接続される。
図5は、第2の実施の形態のソフトウェア例を示す図である。図5に示す各ユニットの一部または全部は、管理サーバ100および中継装置200,200a,200bのプロセッサが実行するプログラムのモジュールであってもよい。また、図5に示す各ユニットの一部または全部は、管理サーバ100および中継装置200,200a,200bが備えるASICやFPGAなどの電子回路であってもよい。なお、図5ではファイアウォール11やアクセスポイント12および管理クライアント700の図示を省略している。管理サーバ100は、記憶部110および管理部120を有する。
記憶部110は、管理部120の処理に用いられる情報を記憶する。当該情報は、ユーザ管理テーブル、グループ管理テーブル、ユーザ制御テーブル、グループ制御テーブルおよび接続管理テーブルを含む。ユーザ管理テーブルは、ユーザの基本情報を登録した情報である。例えば、ユーザの基本情報は、ユーザID(IDentifier)、パスワードおよび複数クライアントを用いた同時接続(以下では多重接続ということがある)の可否などを示す情報を含む。
グループ管理テーブルは、ユーザと当該ユーザが所属するグループ(例えば、組織内の部署など)との対応関係を含む。ユーザ制御テーブルは、アクセス制限の条件をユーザごとに登録した情報である。グループ制御テーブルは、アクセス制限の条件をグループごとに登録した情報である。接続管理テーブルは、中継装置200,200a,200bにおけるユーザごとのアクセス状態を管理するための情報である。例えば、記憶部110はRAM102やHDD103を用いて実装できる。
管理部120は、中継装置200,200a,200bからネットワークログインの認証の依頼を受信する。ここで、ネットワークログインとは、ネットワーク20,30に接続するために行われるログインである。以下の説明では単にログインという場合、ネットワークログインを指すものとする。すると、管理部120は、記憶部110に記憶された情報に基づいて、ログイン処理を実行する。管理部120は、ログイン処理の結果に応じて、セッション情報を生成する。管理部120は、生成されたセッション情報をログイン処理の依頼元の中継装置に提供する。
ここで、セッション情報はアクセス元のクライアントからアクセス先のサーバに対するアクセス許否の認証に用いられる情報である。例えば、クライアントのIPアドレスやMACアドレスなどを用いてクライアントを認証し得る。セッション情報は、第1の実施の形態における認証情報の一例である。セッション情報は、中継することが許容されたIPアドレスの組合せを登録したアクセス制御のための情報ということもできる。
中継装置200は、記憶部210およびアクセス制御部220を有する。記憶部210は、アクセス制御部220の処理に用いられる情報を記憶する。当該情報には、セッション管理テーブルが含まれる。セッション管理テーブルは、管理サーバ100から提供されたセッション情報が登録されるテーブルである。例えば、記憶部210はRAM220を用いて実装できる。
アクセス制御部220は、クライアント500,500aからログイン用の情報を受信する。アクセス制御部220は、当該ログイン用の情報を管理サーバ100に送信してログイン処理を依頼する。ログイン用の情報は、ユーザIDおよびパスワードを含む。また、ログイン用の情報は、クライアントのアドレス情報(IPアドレスやMACアドレス)などを含んでもよい。
アクセス制御部220は、ログイン用の情報を入力するためのGUI(Graphical User Interface)をクライアント500,500aに提供してもよい。例えば、中継装置200がWebサーバ機能を備えれば、当該GUIをWebページ(ログインページ)としてクライアント500,500aに提供できる。
あるいは、ログインページを提供するWebサーバを別個に設けてもよい。そして、ログイン処理前に業務サーバを宛先に指定したアクセスをクライアント500,500aから受け付けた場合、ログインページのURLへアクセス先をリダイレクトさせてもよい。更に、アクセス制御部220は当該ログインページで入力されたユーザIDやパスワードを受信してもよい。
アクセス制御部220は、ログイン処理の結果に応じたセッション情報を管理サーバ100から受信し、記憶部210に記憶されたセッション管理テーブルに登録する。そして、アクセス制御部220は、ログイン処理後、業務サーバ300,300a,400,400a宛のリクエストを中継するとき、記憶部210に記憶されたセッション管理テーブルに基づいて、当該リクエストを中継するか否かの認証を行う。この認証を、前述のログインに対して、アクセス認証と呼べる。ログインを第1段階の認証といえば、アクセス認証を第2段階の認証ということもできる。当該リクエストを中継する場合、アクセス制御部220は、スイッチ部204に当該リクエストを出力する。スイッチ部204は、当該リクエストの宛先を参照し、所定のポートから当該リクエストを送出する。当該リクエストを中継しない場合、アクセス制御部220は当該リクエストを破棄する。
中継装置200aは、記憶部210aおよびアクセス制御部220aを有する。中継装置200bは、記憶部210bおよびアクセス制御部220bを有する。ここで、記憶部210a,210bは記憶部210と同様に、セッション管理テーブルを記憶する。また、アクセス制御部220aはアクセス制御部220と同様に、記憶部210aに記憶されたセッション管理テーブルに基づいて業務サーバ300,300a,400,400aに対するアクセス制御を行う。また、アクセス制御部220bはアクセス制御部220と同様に、記憶部210bに記憶されたセッション管理テーブルに基づいて業務サーバ300,300a,400,400aに対するアクセス制御を行う。
図6は、第2の実施の形態のユーザ管理テーブルの例を示す図である。ユーザ管理テーブル111は、記憶部110に格納される。ユーザ管理テーブル111には、ユーザID、パスワード、多重接続設定および閉塞フラグの項目を含む。
ユーザIDの項目には、ユーザIDが登録される。パスワードの項目には、パスワードが登録される。多重接続設定の項目には、多重接続が許容されているか否かを示す情報が登録される。例えば、多重接続が許容されている場合には“可”という情報が、多重接続が許容されていない場合には“不可”という情報が、多重接続設定の項目に登録される。
閉塞フラグの項目には、当該ユーザの新規のログインが許容されているか否かを示す情報が登録される。閉塞とは当該ユーザについて新規のログインが許容されていない状態を指す。この場合、ログインが許容されている状態を、閉塞されていない状態ということができる。ログインが許容されている状態を、閉塞されている状態ということができる。閉塞の状態では、既存のログイン状態は維持され得る。閉塞フラグの項目には、ログインが許容されていない場合(すなわち、閉塞された状態の場合)には“true”が登録される。一方、ログインが許容されている状態(すなわち、閉塞されていない状態の場合)には“false”が登録される。
例えば、ユーザ管理テーブル111には、ユーザIDが“U0001”、パスワードが“pass1”、多重接続設定が“可”、閉塞フラグが“false”という情報が登録されている。これは、ユーザID“U0001”に対してログイン用のパスワードとして“pass1”が設定されていること、当該ユーザの多重接続が許容されていることを示す。また、当該ユーザについて、新規のログインが許容されている状態(閉塞されていない状態)であることを示す。
以下ではユーザID“U0001”のユーザをユーザAと呼ぶことがある。ユーザID“U0002”のユーザをユーザBと呼ぶことがある。ユーザID“U0003”のユーザをユーザCと呼ぶことがある。
図7は、第2の実施の形態のグループ管理テーブルの例を示す図である。グループ管理テーブル112は、記憶部110に格納される。グループ管理テーブル112には、グループID、メンバおよび接続禁止サーバの項目が含まれる。
グループIDの項目には、グループIDが登録される。ここで、グループとはユーザの集合である。例えば、ユーザの集合は組織や部署単位に定義され得る。メンバの項目には、グループに属するユーザのユーザIDが登録される。メンバの項目には、グループに属するグループのグループIDが登録されてもよい。すなわち、グループを階層的に捉えて、相対的に上位のグループに相対的に下位のグループが属するような定義も可能である。下位のグループに属するメンバは、上位のグループにも属することになる。接続禁止サーバの項目には、メンバからの接続を禁止するアクセス先を示す情報が登録される。
例えば、グループ管理テーブル112には、グループIDが“G0001”、メンバが“U0001”および“U0002”、接続禁止サーバが“192.168.10.10”という情報が登録される。これは、グループID“G0001”のグループには、ユーザA,Bが属していることを示す。また、当該グループに属するユーザA,Bからの管理サーバ100へのアクセスを禁止することを示す。
図8は、第2の実施の形態のユーザ制御テーブルの例を示す図である。ユーザ制御テーブル113は、記憶部110に格納される。ユーザ制御テーブル113には、ROLE、ユーザID、端末IPアドレス、端末MACアドレスおよびACL(Access Control List)の項目を含む。
ROLEの項目には、レコード(1行分のデータ単位)を識別するためのROLE番号が登録される。例えば、“ROLE1”という場合、ユーザ制御テーブル113のROLEの項目にROLE番号“1”が設定されたレコードを示す。ROLEという用語をユーザ制御テーブル113のある1つのレコードを指す用語として用いることがある。
ユーザIDの項目には、ユーザIDが登録される。端末IPアドレスの項目には、クライアントのIPアドレスが登録される。端末MACアドレスの項目には、クライアントのMACアドレスが登録される。ACLの項目には、アクセスが許容された業務サーバのIPアドレスのリストが登録される。接続許可IPアドレスの項目には、1つのROLEにつき複数のIPアドレスを登録できる。ACLの項目を細分化した“1”、“2”、“3”、“4”の番号は便宜的に付したものである。更に多数のアクセス先サーバが存在する場合には、5以上のIPアドレスが登録されてもよい。
ユーザ制御テーブル113には、各レコードにおいて情報が登録されていない項目もある。その場合にはハイフン記号“−”を表記している。端末IPアドレスの項目で“−”が登録されている場合は、任意の端末IPアドレスに対する設定であることを示す。端末MACアドレスの項目で“−”が登録されている場合は、任意のMACアドレスに対する設定であることを示す。
例えば、ユーザ制御テーブル113には、ROLEが“1”、ユーザIDが“U0001”、端末IPアドレスが“192.168.10.11”、端末MACアドレスが“MAC1”、ACLが“192.168.10.101”、“192.168.10.102”、“192.168.20.101”、“192.168.20.102”という情報が登録されている。
これは、ユーザID“U0001”のユーザAが、IPアドレス“192.168.10.11”、MACアドレス“MAC1”であるクライアントからアクセスする場合、当該ACLのIPアドレスへのアクセスが許容されることを示す。この場合、業務サーバ300,300a,400,400aへのアクセスが許容されていることになる。
これに対し、“ROLE2”では、同一のユーザID“U0001”およびアクセス元のIPアドレス“192.168.10.11”に対して、ACLが“192.168.10.101”、“192.168.20.101”である。
これは、ユーザID“U0001”のユーザAが、IPアドレス“192.168.10.11”であるクライアントからアクセスする場合、当該ACLのIPアドレスへのアクセスが許容されることを示す。この場合、業務サーバ300,400へのアクセスが許容されていることになる。“ROLE2”では、“ROLE1”に比べて、MACアドレスの一致を課していない点が異なる。なお、IPアドレス“192.168.10.11”およびMACアドレス“MAC1”の両方がログイン用の情報から検出される場合は、“ROLE2”よりも“ROLE1”が優先して適用される。
また、“ROLE3”では、同一のユーザID“U0001”に対して、ACLが“192.168.10.101”という情報が登録されている。この場合、業務サーバ300へのアクセスが許容されていることになる。“ROLE3”では、“ROLE1”や“ROLE2”に比べて、IPアドレスおよびMACアドレスの一致を課していない点が異なる。なお、IPアドレス“192.168.10.11”およびMACアドレス“MAC1”の両方がログイン用の情報から検出される場合は、“ROLE3”よりも“ROLE1”が優先して適用される。IPアドレス“192.168.10.11”のみがログイン用の情報から検出される場合は、“ROLE3”よりも“ROLE2”が優先して適用される。それ以外の場合に“ROLE3”が適用される。
このように、ユーザ制御テーブル113にはユーザごとのROLEが登録される。1ユーザに対して複数のROLEを登録してもよい。また、ACLにはネットワークアドレスなどを用いてアクセスを許容するIPアドレスの範囲を登録してもよい。
1つの業務サーバで(例えば、提供するサービスごとに)複数のIPアドレスを利用することもある。その場合には、当該1つの業務サーバの複数のIPアドレスのうち、アクセスを許容したいIPアドレスのみをACLに登録すればよい。あるいは、IPアドレスとTCP(Transmission Control Protocol)のポート番号との組合せを用いて、1つの業務サーバ内の複数のサービスを区別することもある。その場合は、IPアドレスとTCPのポート番号との組合せをACLに登録すればよい。
図9は、第2の実施の形態のグループ制御テーブルの例を示す図である。グループ制御テーブル114は、記憶部110に格納される。グループ制御テーブル114には、ROLE、グループID、接続許可時間帯および接続許可中継装置の項目が含まれる。
ROLEの項目には、ROLE番号が登録される。グループIDの項目には、グループIDが登録される。接続許可時間帯の項目には、ACLで示されるアクセス先へのアクセスを許容する時間帯が登録される。接続許可中継装置の項目には、アクセス元として許容される中継装置のIPアドレスが登録される。接続許可時間帯の項目および接続許可中継装置の項目において、設定なしの場合にはハイフン記号“−”を表記している。ハイフン記号の場合はアクセス元として全ての中継装置が許容されていることを示す。
例えば、グループ制御テーブル114には、ROLEが“101”、グループIDが“G0001”、接続許可時間帯が“9:00−20:00”、接続許可中継装置が“−”という情報が登録される。これは、グループID“G0001”のグループに属するユーザについて、ACLで示されるアクセス先へのアクセスを許容する時間帯が9時から20時の間であることを示す。
一方、グループ制御テーブル114には、“ROLE102”のレコードが登録されている。“ROLE102”は、“ROLE101”と同じグループ(グループID“G0001”)に属するユーザについて、ACLで示されるアクセス先へのアクセスを許容する時間帯が20時から24時の間であることを示す。ただし、“ROLE102”では、接続許可中継装置が“192.168.10.2”が設定されている。すなわち、20時から24時の時間帯において、中継装置200aのみを介したアクセスが許容されていることになる。
このように、接続許可時間帯と接続許可中継装置との設定内容を組合せることで、アクセスを許容する時間と、アクセスを許容する場所とを制限することができる。
図10は、第2の実施の形態の接続管理テーブルの例を示す図である。接続管理テーブル115は、記憶部110に格納される。接続管理テーブル115は、ユーザID、端末IPアドレス、中継装置IPアドレスおよび適用ROLEの項目を含む。
図10は、第2の実施の形態の接続管理テーブルの例を示す図である。接続管理テーブル115は、記憶部110に格納される。接続管理テーブル115は、ユーザID、端末IPアドレス、中継装置IPアドレスおよび適用ROLEの項目を含む。
ユーザIDの項目には、ユーザIDが登録される。端末IPアドレスの項目には、クライアントのIPアドレスが登録される。中継装置IPアドレスの項目には、ログイン処理の依頼を行った中継装置のIPアドレスが登録される。適用ROLEの項目には、ログイン処理された結果、適用されるROLEを示す情報が登録される。ここで、適用されるROLEとは、管理サーバ100によりログイン処理の依頼元の中継装置に提供されるROLEである。ROLEの提供を受けた後、当該中継装置は、当該ROLEに基づくアクセス認証を行えるようになる。接続管理テーブル115は、中継装置に対するセッション情報(あるいは、ROLE)の配布状況を示す情報ということもできる。
例えば、接続管理テーブル115には、ユーザIDが“U0001”、端末IPアドレスが“50.223.3.4”、中継装置IPアドレスが“192.168.10.1”、適用ROLEが“ROLE1,101”という情報が登録されている。
これは、ユーザID“U0001”のユーザAがIPアドレス“50.223.3.4”のクライアントを用いて、中継装置200(IPアドレス“192.168.10.1”)を介した業務サーバへアクセスが可能であることを示す。また、アクセス認証のために適用されるROLEが“ROLE1”および“ROLE101”であることを示す。“ROLE101”が適用される理由は、ユーザAの属するグループがグループID“G0001”のグループだからである。
ここで、IPアドレス“50.223.3.4”は、例えばクライアント500のIPアドレスである。当該IPアドレスがグローバルアドレスである場合、当該IPアドレスは“クライアント500に対応するIPアドレス”でもよい。例えば、当該IPアドレスは、クライアント500がインターネットに接続する際に経由するルータ(例えば、アクセスポイント12)などのIPアドレスでもよい。クライアント500側の当該ルータがクライアント500のIPアドレスを変換する(NAT)ことも考えられるからである。すなわち、“クライアント500を示すIPアドレス”または“クライアント500のIPアドレス”というとき、クライアント500に直接的に示すIPアドレスおよびクライアント500を間接的に示すIPアドレスの両方を含む。
また、例えば接続管理テーブル115には、ユーザIDが“U0001”、端末IPアドレスが“192.168.10.11”、中継装置IPアドレスが“192.168.10.2”、適用ROLEが“ROLE1,101”という情報が登録されている。
これは、ユーザID“U0001”のユーザAが、IPアドレス“192.168.10.11”のクライアントを用いて、中継装置200a(IPアドレス“192.168.10.2”)を介した業務サーバへのアクセスが可能であることを示す。また、アクセス制御のために適用されるROLEが“ROLE1”および“ROLE101”であることを示す。ここで、IPアドレス“192.168.10.11”は、例えばクライアント600のIPアドレスである。
例えば、接続管理テーブル115には、ユーザID“U0002”のユーザBおよびユーザID“U0003”のユーザCに対しても同様のレコードが登録されている。レコードに登録された各情報の意味は上述した通りである。ここで、ユーザBはクライアント500aを利用しているとする。接続管理テーブル115において、IPアドレス“50.223.5.5”はクライアント500aのIPアドレスである。また、ユーザCはクライアント600aを利用しているとする。接続管理テーブル115において、IPアドレス“192.168.10.12”はクライアント600aのIPアドレスである。
1つのクライアントに対して、2つのレコードが接続管理テーブル115に登録されることもある。例えば、クライアント600,600aについて2つ目のレコードが次のように登録されている。
例えば、接続管理テーブル115には、ユーザIDが“U0001”、端末IPアドレスが“192.168.10.11”、中継装置IPアドレスが“192.168.20.1”、適用ROLEが“ROLE1,101”という情報が登録されている。
これは、ユーザID“U0001”のユーザAが、クライアント600(IPアドレス“192.168.10.11”)を用いて、中継装置200b(IPアドレス“192.168.20.1”)を介した業務サーバへのアクセスが可能であることを示す。また、アクセス制御のために適用されるROLEが“ROLE1,101”であることを示す。
また、例えば接続管理テーブル115には、ユーザIDが“U0003”、端末IPアドレスが“192.168.10.12”、中継装置IPアドレスが“192.168.20.1”、適用ROLEが“ROLE6”という情報が登録されている。
これは、ユーザID“U0003”のユーザCが、クライアント600a(IPアドレス“192.168.10.12”)を用いて、中継装置200b(IPアドレス“192.168.20.1”)を介した業務サーバへのアクセスが可能であることを示す。またアクセス制御のために適用されるROLEが“ROLE6,102”であることを示す。“ROLE102”が適用される理由は、ユーザCの属するグループがグループID“G0002”のグループだからである。
なお、接続管理テーブル115では、中継装置IPアドレス以外を用いて、中継装置を登録してもよい。例えば、中継装置200,200a,200bそれぞれに所定の識別名称を予め付与しておく。そして、接続管理テーブル115には、中継装置IPアドレスの項目に代えて、当該識別名称を設定する項目を設けてもよい。
図11は、第2の実施の形態の同期制御テーブルの例を示す図である。同期制御テーブル116は、記憶部110に格納される。同期制御テーブル116は、同期範囲および変更内容の項目を含む。
同期範囲の項目には、設定内容を同期させる範囲を示す情報が登録される。変更内容の項目には、ユーザ管理テーブル111、グループ管理テーブル112、ユーザ制御テーブル113およびグループ制御テーブル114の各項目に対する設定変更の内容を示す情報が登録される。例えば、同期制御テーブル116には、同期範囲が“なし”、変更内容が“ユーザの追加”という情報が登録される。これは、新規のユーザの追加を行う場合には、同期制御を行わなくてよいことを示している。
また、例えば同期制御テーブル116には、同期範囲が“ユーザ”、変更内容が“ユーザの削除”、“ユーザパスワード”、“ユーザロール”、“ACL”および“多重ログイン”という情報が登録される。これは、既存ユーザの設定の削除、ユーザパスワードの変更、ユーザロール(ROLE)の設定変更、ACLの設定変更および多重ログインの可否の設定変更を行う場合には、ユーザ単位の同期制御を行うことを示す。ユーザ単位の同期制御とは、管理サーバ100や中継装置200,200a,200bが保持する情報の内容をユーザ単位に同期させるための制御である。
なお、既存ユーザの設定の削除とは、ユーザ管理テーブル111およびユーザ制御テーブル113から何れかの既存ユーザのエントリを削除することである。ユーザパスワードの変更とは、ユーザ管理テーブル111において何れかのユーザのパスワードを変更することである。ユーザロールの設定変更とは、グループ管理テーブル112におけるユーザの所属グループを変更したり、ユーザ制御テーブル113の何れかのエントリの内容を変更したりすることである。ACLの設定変更とは、ユーザ制御テーブル113のACLの内容を変更することである。多重ログインの可否の設定変更とは、ユーザ管理テーブル111で多重接続設定を変更することである。
また、例えば同期制御テーブル116には、同期範囲が“ユーザグループ”、変更内容が“接続許可時間帯”、“接続許可中継装置の追加/変更”および“接続禁止サーバ”という情報が登録される。これは、接続許可時間帯の設定変更、接続許可中継装置の追加/変更および接続禁止サーバの設定変更を行う場合には、グループ単位の同期制御を行うことを示す。グループ単位の同期制御とは、管理サーバ100や中継装置200,200a,200bが保持する情報の内容をグループ単位に同期させるための制御である。
なお、接続許可時間帯の設定変更とは、グループ制御テーブル114において、接続許可時間を変更することである。接続許可中継装置の追加/変更とは、グループ制御テーブル114において、接続許可中継装置の設定を追加/変更することである。接続禁止サーバの設定変更とは、グループ管理テーブル112において、接続禁止サーバの設定を追加/変更することである。
また、例えば同期制御テーブル116には、同期範囲が“全ユーザ”、変更内容が“システムポリシー”および“中継装置の削除”という情報が登録される。これは、システムポリシーの変更および中継装置の削除を行う場合には、全ユーザ単位の同期制御を行うことを示す。全ユーザ単位の同期制御とは、管理サーバ100や中継装置200,200a,200bが保持する情報の内容を全ユーザで同期させるための制御である。
なお、システムポリシーの変更とは、第2の実施の形態の情報処理システム全体の運用に関するポリシー設定の変更である。例えば、同期制御テーブル116自体の設定内容を変更する場合が考えられる。中継装置の削除とは、グループ制御テーブル114から何れかの接続許可中継装置の設定を完全に削除することである。
図12は、第2の実施の形態のセッション管理テーブルの例を示す図である。セッション管理テーブル211は、記憶部210に格納される。セッション管理テーブル211aは、記憶部210aに格納される。セッション管理テーブル211bは、記憶部210bに格納される。セッション管理テーブル211,211a,211bは、項番、端末IPアドレス、接続許可時間帯およびACLの項目を含む。
項番の項目には、レコードを識別するための番号が登録される。端末IPアドレスの項目には、クライアントのIPアドレスが登録される。接続許可時間帯の項目には、ACLを有効とする時間帯が登録される。ACLの項目には、中継を許容する業務サーバのIPアドレスが登録される。ACLの項目を細分化した“1”、“2”、“3”、“4”の番号は、ユーザ制御テーブル113と同様に便宜的に付したものである。セッション管理テーブル211,211a,211bには、各レコードにおいて情報が登録されていない箇所もある。その箇所にはハイフン記号“−”を表記している。
例えば、セッション管理テーブル211には、項番が“1”、端末IPアドレスが“50.223.3.4”、接続許可時間帯が“9:00−20:00”、ACLが“192.168.10.101”という情報が登録されている。これは、送信元/宛先IPアドレスの組が“50.223.3.4”、“192.168.10.101”である通信データの中継を9時から20時の間に許容することを示す。送信元IPアドレス“50.223.3.4”、宛先IPアドレス“192.168.10.101”の場合(上り)も、送信元IPアドレス“192.168.10.101”、宛先IPアドレス“50.223.3.4”の場合(下り)も中継を許容する。
また、例えばセッション管理テーブル211には、項番が“2”、端末IPアドレスが“50.223.5.5”、接続許可時間帯が“9:00−20:00”、ACLが“192.168.10.101”、“192.168.10.102”という情報が登録されている。これは、送信元/宛先IPアドレスの組が“50.223.5.5”、“192.168.10.101”である通信データの中継を9時から20時の間に許容することを示す。また、送信元/宛先IPアドレスの組が“50.223.5.5”、“192.168.10.102”である通信データの中継を9時から20時の間に許容することを示す。
セッション管理テーブル211a,211bの設定内容に関しても同様である。ここで、セッション管理テーブル211,211a,211bは、接続管理テーブル213で例示した接続状態である場合に、中継装置200,200a,200bが保持するセッション情報群に相当している。1レコードが1つのセッション情報である。
なお、セッション管理テーブル211,211a,211bはユーザIDやパスワードの項目を含んでもよい。管理サーバ100は、ユーザIDやパスワードを含むセッション情報を中継装置200,200a,200bに提供してもよい。このようにすれば、例えば、中継装置200はセッション管理テーブル211に登録された端末IPアドレスからアクセスを受け付けたとき、当該端末IPアドレスに対するユーザIDをアクセスログに記録できる。
また、セッション管理テーブル211,211a,211bは、MACアドレスの項目を含んでもよい。管理サーバ100は端末MACアドレスを含むセッション情報を中継装置200,200a,200bに提供してもよい。例えば、中継装置200aにおけるクライアント600などの識別(認証)にMACアドレス(あるいは、IPアドレスとMACアドレスとの組合せ)を用いたい場合も考えられるからである。
図13は、第2の実施の形態の通信データの例を示す図である。図13では、第2の実施の形態の情報処理システムで送受信される通信データを例示している。フレーム40は、イーサネットフレーム(イーサネットおよびEthernetは登録商標)の例である。フレーム40は、プリアンブル、宛先MACアドレス、送信元MACアドレス、タイプ、ペイロード、FCS(Frame Check Sequence)のフィールドを含む。
プリアンブルは同期用の信号を含むフィールドである。宛先MACアドレスはOSI参照モデルの第2層(データリンク層)の経路選択に用いられる宛先のMACアドレスが設定されるフィールドである。送信元MACアドレスは送信元のMACアドレスが設定されるフィールドである。タイプは上位層プロトコル(例えば、IP)を示す情報が設定されるフィールドである。ペイロードは上位層プロトコルで扱われるデータの本体が設定されるフィールドである。ペイロードはIPパケット50を含む。FCSはフレームエラーを検出するための情報が設定されるフィールドである。
IPパケット50は、送信元IPアドレス、宛先IPアドレスおよびユーザデータのフィールドを含む。送信元IPアドレスは、OSI参照モデルの第3層(ネットワーク層)の経路選択に用いられる送信元のIPアドレスが設定されるフィールドである。宛先IPアドレスは、宛先のIPアドレスが設定されるフィールドである。ユーザデータは、通信データ本体が設定されるフィールドである。データのフィールドは、ユーザデータ60を含む。なお、IPパケット50はデータグラムと呼ばれることもある。
ユーザデータ60は、各中継装置や各サーバなどの処理で用いられるデータを含む。例えば、何れかのクライアントが何れかの中継装置に対してログイン用の情報を送信する場合、ユーザデータ60にはユーザIDおよびパスワードが含まれ得る。また、何れかの中継装置が管理サーバ100に認証依頼などを行う場合、ユーザデータ60にはクライアントのIPアドレスやMACアドレスなどが含まれ得る。ユーザデータ60に含まれるユーザID、パスワードおよび各種アドレス情報(例えば、IPアドレスやMACアドレス)などは、OSI参照モデルの第7層(アプリケーション層)で用いられる情報でもよい。
次に、第2の実施の形態における各処理の手順を説明する。以下では、クライアント500が中継装置200などを介して業務サーバにアクセスする場合を主に例示するが、他のクライアントおよび他の中継装置を用いる場合も同様の手順である。まず、ネットワークログインの手順を説明する。
図14は、第2の実施の形態のログイン処理の例を示すフローチャートである。以下、図14に示す処理をステップ番号に沿って説明する。
(ステップS11)アクセス制御部220は、クライアント500からログイン用の情報(ログイン情報)を受信する。例えば、ユーザAは、クライアント500上のWebブラウザを用いてユーザIDやパスワードを入力するためのWebページ(ログインページ)へアクセスする。例えば、ユーザAは自身のユーザID“U0001”およびパスワード“pass1”を当該ログインページに入力する。クライアント500は、入力された情報を含むフレームを中継装置200へ宛てて送信する。アクセス制御部220は当該フレームを受信する。フレーム内のIPパケットには送信元IPアドレスおよび送信元MACアドレスが含まれる。この場合、送信元IPアドレスは“50.223.3.4”である。送信元MACアドレスは所定のMACアドレスである。アクセス制御部220は、これらのアドレス情報も抽出し、ログイン情報に加える。
(ステップS11)アクセス制御部220は、クライアント500からログイン用の情報(ログイン情報)を受信する。例えば、ユーザAは、クライアント500上のWebブラウザを用いてユーザIDやパスワードを入力するためのWebページ(ログインページ)へアクセスする。例えば、ユーザAは自身のユーザID“U0001”およびパスワード“pass1”を当該ログインページに入力する。クライアント500は、入力された情報を含むフレームを中継装置200へ宛てて送信する。アクセス制御部220は当該フレームを受信する。フレーム内のIPパケットには送信元IPアドレスおよび送信元MACアドレスが含まれる。この場合、送信元IPアドレスは“50.223.3.4”である。送信元MACアドレスは所定のMACアドレスである。アクセス制御部220は、これらのアドレス情報も抽出し、ログイン情報に加える。
(ステップS12)アクセス制御部220は、ログイン情報を含むログイン要求を管理サーバ100に送信する。ログイン情報は、IPパケットのユーザデータ部分に格納されて管理サーバ100に送信される。管理部120は中継装置200からログイン要求を受信する。
(ステップS13)管理部120は、記憶部110に記憶されたユーザ管理テーブル111を参照して、ログインの照合を行う。ログインの照合は、(1)当該ユーザのログインが閉塞されていないことの照合、(2)ユーザIDとパスワードとの照合および(3)ログイン要求の送信元の中継装置の照合を含む。(1)の照合は、ユーザ管理テーブル111の閉塞フラグが“false”であれば照合成功である。(2)の照合は、ログイン要求に含まれるユーザIDとパスワードとの組合せをユーザ管理テーブル111の設定と照合することで行える。(3)の照合は、ログイン要求(のフレームに含まれるIPパケット)に設定された送信元IPアドレスを、グループ制御テーブル114の設定と照合することで行える。(3)では照合を行う時間帯も考慮する。例えば、グループ制御テーブル114には、グループID“G0001”に対して、2つの時間帯で異なる接続許可中継装置が登録されている。管理部120は、現時刻が属する時間帯の接続許可中継装置を抽出して照合を行う。接続許可中継装置の設定がない場合には、任意のIPアドレスとの照合が成功する。ユーザIDが属するグループのグループIDは、グループ管理テーブル112から得られる。(1)〜(3)の照合に成功すると、処理をステップS14に進める。(1)〜(3)の何れかの照合に失敗すると、処理をステップS19に進める。ステップS14に進む場合、管理部120は(3)の照合で用いたグループ制御テーブル114のROLEを保持する。
(ステップS14)管理部120は、記憶部110に記憶されたユーザ制御テーブル113を参照して、ACLを検索する。検索のキーは、ログイン要求(のIPパケットのデータ部分)に含まれるユーザID、送信元IPアドレスおよび送信元MACアドレスである。管理部120は、少なくともユーザIDが一致するレコードがあれば、該当のレコードを検索結果として抽出する。検索結果が複数件になる場合もある。その場合は、一致するキーが最大のものを1件抽出して検索結果とする。本例の場合は、ユーザID“U0001”、クライアント500のIPアドレス“50.223.3.4”(および送信元MACアドレス)を取得している。この場合、“ROLE3”のレコードが検索結果として得られることになる。
(ステップS15)管理部120は、ステップS14においてACLを検索できたか否かを判定する。検索できた場合、処理をステップS16に進める。検索できなかった場合、処理をステップS19に進める。
(ステップS16)管理部120は、処理中のユーザにつき多重接続の制約があるか否かを判定する。多重接続の制約がある場合、処理をステップS19に進める。多重接続の制約がない場合、処理をステップS17に進める。多重接続の制約がある場合とは次の場合である。すなわち、(1)処理中のユーザにつきユーザ管理テーブル111の多重接続設定が“不可”であり、かつ、(2)当該ユーザにつき認証依頼で受け付けた送信元IPアドレスとは別の端末IPアドレスのレコードが接続管理テーブル115に登録済の場合である。(1)、(2)の何れか一方が満たされていない場合は、多重接続の制約はないと判定する。
(ステップS17)管理部120は、接続管理テーブル115を更新する。具体的には、管理部120はログイン要求で受け付けたユーザID、送信元IPアドレス(端末IPアドレス)およびステップS13,S14の処理で取得されたレコードのROLE番号(適用ROLE)を接続管理テーブル115に登録する。また、ログイン要求(のフレームに含まれるIPパケットのヘッダ部分)には、送信元IPアドレスとして中継装置200のIPアドレスが設定されている。管理部120は、中継装置200のIPアドレス(中継装置IPアドレス)も接続管理テーブル115に登録する。
(ステップS18)管理部120は、ステップS13,S14で取得されたROLEに基づいて、セッション情報を生成する。セッション情報は、端末IPアドレスおよびACLの情報を含む。また、セッション情報は、接続許可時間帯の情報を含む。ここで、管理部120は、該当のユーザIDが属するグループのグループIDに対して接続禁止サーバがグループ管理テーブル112に設定されている場合は、接続禁止のIPアドレスをACLから除外してセッション情報を生成する。管理部120は、生成されたセッション情報とログイン成功とを中継装置200に応答する。そして、処理をステップS20に進める。
(ステップS19)管理部120は、ログイン失敗を中継装置200に応答する。
(ステップS20)アクセス制御部220は、ログイン要求に対する応答を管理サーバ100から受信し、当該応答に基づいてログイン成功であるか否かを判定する。ログイン成功である場合、処理をステップS21に進める。ログイン失敗である場合、処理をステップS23に進める。
(ステップS20)アクセス制御部220は、ログイン要求に対する応答を管理サーバ100から受信し、当該応答に基づいてログイン成功であるか否かを判定する。ログイン成功である場合、処理をステップS21に進める。ログイン失敗である場合、処理をステップS23に進める。
(ステップS21)アクセス制御部220は、ログイン成功とともに受信したセッション情報を記憶部210に記憶されたセッション管理テーブル211に登録する。例えば、セッション管理テーブル211に項番“1”のレコードが登録される。
(ステップS22)アクセス制御部220は、クライアント500にログイン成功を応答する。そして、処理を終了する。
(ステップS23)アクセス制御部220は、クライアント500にログイン失敗を応答する。そして、処理を終了する。
(ステップS23)アクセス制御部220は、クライアント500にログイン失敗を応答する。そして、処理を終了する。
このようにして、管理サーバ100および中継装置200は、ネットワークログイン処理を行う。ステップS18では、受け付けた送信元IPアドレスと一致する端末IPアドレスのレコードが存在しない場合でも、対応するユーザにつき所定のROLE(端末IPアドレスが設定されていないROLE)を抽出してセッション情報を生成する。このため、例えば、クライアント500のIPアドレスが動的に割り当てられている場合にも、当該所定のROLEを適用することができる。具体的には、クライアント500が移動通信を介して通信する場合やクライアント600に固定のIPアドレスを割り当てない場合など、DHCP(Dynamic Host Configuration Protocol)を用いてクライアントに動的にIPアドレスが割り当てられることもある。すなわち、クライアントに静的IPアドレスが割り当てられている場合に限らず、動的IPアドレスが割り当てられている場合にもクライアントからのアクセスを制限できる。
なお、ステップS18では、ユーザ制御テーブル113のROLEにおいて、端末IPアドレスが未設定のものを用いてセッション情報を生成する際に、中継装置200から取得されたクライアント500のIPアドレスを管理部120が設定するものとした。一方、アクセス制御部220が当該設定の処理を行ってもよい。具体的には、管理部120は、“ROLE3”について端末IPアドレスを未設定の状態でセッション情報を生成し、中継装置200に送る。そして、ステップS21においてアクセス制御部220の責任によりステップS11で抽出された送信元IPアドレス(クライアント500のIPアドレス)を当該セッション情報に設定し、セッション管理テーブル211に登録する。
また、ユーザ管理テーブル111でパスワードを管理するものとしたが、ユーザ制御テーブル113でパスワードを管理してもよい。そうすれば、同一ユーザであってもROLEごとに異なるパスワードをログイン用に利用できる。この場合、管理部120は、ステップS14においてACLを検索する際にパスワードもキーに用いる。
次に、中継装置200によるアクセス認証の手順を説明する。中継装置200についてのみ説明するが、中継装置200a,200bについても同様の手順である。
図15は、第2の実施の形態のアクセス認証の例を示すフローチャートである。以下、図15に示す処理をステップ番号に沿って説明する。
図15は、第2の実施の形態のアクセス認証の例を示すフローチャートである。以下、図15に示す処理をステップ番号に沿って説明する。
(ステップS31)アクセス制御部220は、中継対象の通信データを受信する。例えば、この通信データはクライアント500により業務サーバ300へ宛てて送信されたリクエストである。その場合、当該リクエストの宛先IPアドレスは“192.168.10.101”である。また、当該リクエストの送信元IPアドレスは“50.223.3.4”である。アクセス制御部220は、通信データのIPパケットから送信元IPアドレスを抽出する。
(ステップS32)アクセス制御部220は、記憶部210に記憶されたセッション管理テーブル211を参照して、当該送信元IPアドレスに対応するセッション情報があるか否かを判定する。送信元IPアドレスに対応するセッション情報がある場合、処理をステップS38に進める。送信元IPアドレスに対応するセッション情報がない場合、処理をステップS33に進める。
(ステップS33)アクセス制御部220は、当該送信元IPアドレスが接続管理テーブル115に登録済であるか否かを問い合わせるための確認要求を管理サーバ100に送信する。この確認要求をログインの確認要求と呼ぶことがある。このように呼ぶ理由は次の通りである。図14で説明したログイン処理に成功していれば(ログイン済であれば)、管理サーバ100は接続管理テーブル115に当該送信元IPアドレスを登録しているはずである。このため、当該送信元IPアドレスが接続管理テーブル213に登録済であるか否かの確認は、結果的にログイン済か否かを確認することになるからである。当該確認要求に対する管理サーバ100の処理手順は後述する。
(ステップS34)アクセス制御部220は、ログインの確認要求に対する応答を管理サーバ100から受信する。当該応答には、ログイン済であるか否かの確認結果が含まれる。また、確認結果がログイン済である場合、適用ROLEに対応するセッション情報が当該応答に含まれる。セッション情報は、ステップS31で抽出された送信元IPアドレスとACLと接続許可時間帯との組合せを含む。
(ステップS35)アクセス制御部220は、当該応答に基づいてログイン済であるか否かを判定する。ログイン済である場合、処理をステップS36に進める。ログイン済でない場合、処理をステップS37に進める。
(ステップS36)アクセス制御部220は、受信されたセッション情報をセッション管理テーブル211に登録する。そして、処理をステップS38に進める。
(ステップS37)アクセス制御部220は、クライアント500のアクセスをログインページにリダイレクトさせる。例えば、クライアント500から受信されたHTTPのリクエスト(ステップS31のリクエスト)を、ログインページのURLを指定したリクエストに置き換えて転送する。ログインページの提供は中継装置200が行ってもよいし、他のWebサーバが行ってもよい。すると、クライアント500のWebブラウザにはログインページが表示され、ユーザIDやパスワード(ログイン用の情報)の入力がユーザに促される。そして、処理を終了する。ユーザIDおよびパスワードを受け付けた後の手順は図14のログイン処理の手順となる。この場合、ステップS31で受信した通信データの中継は行われないことになる。例えば、当該通信データをRAMなどに格納して中継を保留しておき、ログインに成功した後に、中継を行うかを再度判断するようにしてもよい。
(ステップS37)アクセス制御部220は、クライアント500のアクセスをログインページにリダイレクトさせる。例えば、クライアント500から受信されたHTTPのリクエスト(ステップS31のリクエスト)を、ログインページのURLを指定したリクエストに置き換えて転送する。ログインページの提供は中継装置200が行ってもよいし、他のWebサーバが行ってもよい。すると、クライアント500のWebブラウザにはログインページが表示され、ユーザIDやパスワード(ログイン用の情報)の入力がユーザに促される。そして、処理を終了する。ユーザIDおよびパスワードを受け付けた後の手順は図14のログイン処理の手順となる。この場合、ステップS31で受信した通信データの中継は行われないことになる。例えば、当該通信データをRAMなどに格納して中継を保留しておき、ログインに成功した後に、中継を行うかを再度判断するようにしてもよい。
(ステップS38)アクセス制御部220は、セッション管理テーブル211を参照して、ステップS31で抽出された送信元/宛先IPアドレス間の中継が許容されているか否かを判定する。中継が許容されている場合、処理をステップS39に進める。中継が許容されていない場合、処理をステップS40に進める。
(ステップS39)アクセス制御部220は、ステップS31で受信した通信データをスイッチ部204に出力する。スイッチ部204は宛先IPアドレスに対して通信データを転送する(通信データが中継される)。そして、処理を終了する。
(ステップS40)アクセス制御部220は、ステップS31で受信した通信データを破棄する。すなわち、当該通信データを中継しない。そして、処理を終了する。
このようにして、中継装置200は通信データの中継を行う。中継装置200は、通信データに含まれる送信元IPアドレスおよび宛先IPアドレスの組合せと、セッション管理テーブル211とを照合して、通信データを中継するか否かを判定する。通信データを中継しない場合には、当該宛先IPアドレスへのアクセスが許可されていない旨をクライアント500に通知してもよい。
このようにして、中継装置200は通信データの中継を行う。中継装置200は、通信データに含まれる送信元IPアドレスおよび宛先IPアドレスの組合せと、セッション管理テーブル211とを照合して、通信データを中継するか否かを判定する。通信データを中継しない場合には、当該宛先IPアドレスへのアクセスが許可されていない旨をクライアント500に通知してもよい。
また、ステップS33,S34のように管理サーバ100にログインの確認要求を行う理由は、1つのクライアントが複数の中継装置を介して異なる業務サーバにアクセスする可能性があるからである。例えば、クライアント600,600aは中継装置200a,200bの両方を経由して業務サーバ400,400aにアクセスする可能性がある。ログインの確認要求を行うことで、ユーザが中継装置200aでログイン操作を行った後、中継装置200bで再度のログイン操作を当該ユーザに課さずに済む。すなわち、再度のログイン操作を課す場合よりもユーザの手間を省ける。
次に、ステップS33,S34の間で実行される管理サーバ100の処理手順を説明する。
図16は、第2の実施の形態のログイン確認例を示すフローチャートである。以下、図16に示す処理をステップ番号に沿って説明する。
図16は、第2の実施の形態のログイン確認例を示すフローチャートである。以下、図16に示す処理をステップ番号に沿って説明する。
(ステップS41)管理部120は、ステップS33の確認要求を中継装置200から受信する。確認要求には確認対象のクライアントのIPアドレスが含まれる。
(ステップS42)管理部120は、記憶部110に記憶された接続管理テーブル115を参照して、当該IPアドレスが登録済であるか否かを判定する。登録済である場合、処理をステップS43に進める。登録済でない場合、処理をステップS45に進める。接続管理テーブル115の端末IPアドレスの項目に、当該IPアドレスが設定されたレコードが存在する場合、登録済である。一方、接続管理テーブル115の端末IPアドレスの項目に当該IPアドレスが設定されたレコードが存在しない場合、登録済でない。
(ステップS42)管理部120は、記憶部110に記憶された接続管理テーブル115を参照して、当該IPアドレスが登録済であるか否かを判定する。登録済である場合、処理をステップS43に進める。登録済でない場合、処理をステップS45に進める。接続管理テーブル115の端末IPアドレスの項目に、当該IPアドレスが設定されたレコードが存在する場合、登録済である。一方、接続管理テーブル115の端末IPアドレスの項目に当該IPアドレスが設定されたレコードが存在しない場合、登録済でない。
(ステップS43)管理部120は、接続管理テーブル115を更新する。具体的には、管理部120は、確認要求で受け付けたクライアントのIPアドレス(端末IPアドレス)を含むレコードを接続管理テーブル115に追加する。追加されるレコードは、ステップS42で登録済と判断した根拠となるレコードのユーザIDおよび適用ROLEの設定値を含む。また、追加されるレコードは、確認要求の送信元IPアドレスである中継装置200のIPアドレス(中継装置IPアドレス)を含む。具体的には、確認要求(のフレームに含まれるIPパケットのヘッダ部分)は送信元IPアドレスとして中継装置200のIPアドレスを含む。このIPアドレスを当該レコードの中継装置IPアドレスの項目に設定する。
(ステップS44)管理部120は、ユーザ制御テーブル113およびグループ制御テーブル114に基づいて、セッション情報を生成する。具体的には、ステップS43で新たなレコードに設定した適用ROLEに対応する端末IPアドレス、ACLおよび接続許可時間帯の組合せをセッション情報とする。そして、管理部120は、確認要求に対して、ログイン済である旨を中継装置200に応答する。当該応答には、生成されたセッション情報が含まれる。そして、処理を終了する。
(ステップS45)管理部120は、未ログインである旨を中継装置200に応答する。そして、処理を終了する。
このようにして、管理サーバ100は中継装置200からの確認要求に対してログイン確認の処理を実行する。次に、図14〜16の手順を実行する管理サーバ100および中継装置200,200a,200bの通信の具体例を説明する。
このようにして、管理サーバ100は中継装置200からの確認要求に対してログイン確認の処理を実行する。次に、図14〜16の手順を実行する管理サーバ100および中継装置200,200a,200bの通信の具体例を説明する。
図17は、第2の実施の形態の通信の具体例(その1)を示す図である。以下、図17に示す処理をステップ番号に沿って説明する。ステップST101の直前では、接続管理テーブル115およびセッション管理テーブル211のエントリ(登録されたレコード)はないものとする。また、以下の通信が行われる時間帯は、9時から20時の時間帯に含まれるとする。
(ステップST101)クライアント500は、ログインページでユーザAにより入力されたログイン用の情報(ログイン情報)を中継装置200に送信する。ログイン情報には、ユーザID“U0001”およびパスワード“pass1”が含まれる。中継装置200はログイン情報を受信する。ログイン情報は、図13で説明したフレームを用いて中継装置200に送られる。
(ステップST102)中継装置200は、当該フレームから送信元IPアドレス“50.223.3.4”および送信元MACアドレスを抽出する。中継装置200は送信元IPアドレスおよび送信元MACアドレスを、ステップST101で受信したログイン情報に加える。すなわち、抽出した送信元IPアドレスおよび送信元MACアドレスをIPパケットのデータ部分に設定した新たなフレームを生成する。中継装置200は、当該フレームを管理サーバ100に送信する。このフレームはログイン要求に相当する。ログイン要求は、ユーザID、パスワード、ステップST101で受信したフレームの送信元IPアドレスおよび送信元MACアドレスを含む。管理サーバ100はログイン要求を受信する。
(ステップST103)管理サーバ100は、ユーザ管理テーブル111を参照して、ユーザAについて閉塞状態でないことを確認する。管理サーバ100は、ログイン要求に含まれるユーザIDおよびパスワードを、ユーザ管理テーブル111の登録内容と照合する。ユーザ管理テーブル111には、ユーザID“U0001”とパスワード“pass1”との組が登録されている。このため本照合は成功する。また、グループ管理テーブル112によれば、ユーザID“U0001”はグループID“G0001”のグループに属している。そして、グループ制御テーブル114によれば、9時から20時の時間帯において、当該グループでは任意の中継装置を経由したアクセスが許容されている。よって、アクセス元の中継装置の照合も成功する。更に、ユーザID“U0001”、送信元IPアドレス“50.223.3.4”に対して、ユーザ制御テーブル113にはユーザID“U0001”、端末IPアドレス“−”、MACアドレス“−”の“ROLE3”が存在する。管理サーバ100は適用ROLEとして“ROLE3”を特定する。また、ユーザ管理テーブル111によれば、ユーザAには多重接続の制約はない(多重接続設定が“可”であるため)。よって、管理サーバ100は“ROLE3”を用いて送信元IPアドレス“50.223.3.4”および接続許可時間帯“9:00−20:00”を含むセッション情報を生成し、ログイン成功の通知とともに、中継装置200に送信する。中継装置200はセッション情報と認証成功の通知とを受信する。また、管理サーバ100は接続管理テーブル115の更新も行う。具体的には、ユーザID“U0001”、端末IPアドレス“50.223.3.4”、中継装置IPアドレス“192.168.10.1”、適用ROLE“ROLE3,101”のレコードを接続管理テーブル213に追加する。
(ステップST104)中継装置200は、受信したセッション情報をセッション管理テーブル211に登録する。この場合、セッション管理テーブル211の項番“1”で例示したレコードが登録されることになる。中継装置200は、ログイン成功の通知をクライアント500に送信する。クライアント500はログイン成功の通知を受信する。
(ステップST105)クライアント500は、業務サーバ300へ宛てたリクエストを送信する。例えば、リクエストの宛先IPアドレスは“192.168.10.101”である。また、送信元IPアドレスは“50.223.3.4”である。中継装置200は当該リクエストを受信する。
(ステップST106)中継装置200は、受信したリクエストのIPパケットに含まれる送信元/宛先IPアドレスの組をセッション管理テーブル211の登録内容と照合する。セッション管理テーブル211には、ステップST104で登録された項番“1”のレコードが存在する。すなわち、当該リクエストの中継は許容されている。よって、中継装置200は業務サーバ300に対して当該リクエストを転送する。業務サーバ300は当該リクエストを受信する。
(ステップST107)業務サーバ300は、受信したリクエストに応じた処理を実行する。業務サーバ300は、処理結果に応じたレスポンスをクライアント500に送信する。当該レスポンスは、中継装置200を介してクライアント500に送信される。前述のように中継装置200は、業務サーバ300からクライアント500への通信についても、セッション管理テーブル211に基づいて中継が許容されていると判断する。よって、中継装置200は当該レスポンスを中継する。クライアント500は当該レスポンスを受信する。
(ステップST108)クライアント500は、業務サーバ300aへ宛てたリクエストを送信する。当該リクエストのIPパケットに含まれる宛先IPアドレスは“192.168.10.102”である。送信元IPアドレスは“50.223.3.4”である。中継装置200は当該リクエストを受信する。
(ステップST109)中継装置200は、受信したリクエストのIPパケットに含まれる送信元/宛先IPアドレスの組を、セッション管理テーブル211の登録内容と照合する。この時点でセッション管理テーブル211には、送信元IPアドレス“50.223.3.4”を含むレコードは存在する。しかし、対応するACLには宛先IPアドレス“192.168.10.102”は含まれていない。すなわち、当該リクエストの中継は許容されていない。よって、中継装置200は当該リクエストの中継を行わずに、当該リクエストを破棄する。
このように、クライアント500はネットワークログインを経て、“ROLE3”のACLに登録された業務サーバ300にアクセス可能となる。一方、”ROLE3”のACLで他の業務サーバについてはアクセスが許されていない。このため、中継装置200により業務サーバ300以外の業務サーバに対するクライアント500からのアクセスは制限される。
次に、ネットワークログインを経ずに、クライアント500から業務サーバ300へのアクセスを受け付けた場合の通信を例示する。
図18は、第2の実施の形態の通信の具体例(その2)を示す図である。以下、図18に示す処理をステップ番号に沿って説明する。ステップST111の直前では、接続管理テーブル115およびセッション管理テーブル211のエントリはないものとする。また、以下の通信が行われる時間帯は、9時から20時の時間帯に含まれるとする。
図18は、第2の実施の形態の通信の具体例(その2)を示す図である。以下、図18に示す処理をステップ番号に沿って説明する。ステップST111の直前では、接続管理テーブル115およびセッション管理テーブル211のエントリはないものとする。また、以下の通信が行われる時間帯は、9時から20時の時間帯に含まれるとする。
(ステップST111)クライアント500は、業務サーバ300へ宛てたリクエストを送信する。当該リクエストはファイアウォール11を介して中継装置200へ転送される。中継装置200はリクエストを受信する。中継装置200により受信されるリクエストのIPパケットに含まれる宛先IPアドレスは“192.168.10.101”である。送信元IPアドレスは“50.223.3.4”である。
(ステップST112)中継装置200は、受信したリクエストのIPパケットに含まれる送信元/宛先IPアドレスの組を、セッション管理テーブル211の登録内容と照合する。セッション管理テーブル211には、この時点でエントリはない。すなわち、送信元IPアドレス“50.223.3.4”を含むレコードは存在しない。よって、中継装置200は、ログインの確認要求を管理サーバ100に送信する。当該確認要求(IPパケットのデータ部分)には送信元IPアドレス“50.223.3.4”が含まれる。管理サーバ100は確認要求を受信する。
(ステップST113)管理サーバ100は、確認要求に含まれる送信元IPアドレスを、接続管理テーブル115の登録内容と照合する。接続管理テーブル115には、この時点でエントリはない。すなわち、送信元IPアドレス“50.223.3.4”を含むレコードは存在しない。よって、管理サーバ100は、未ログインである旨を中継装置200に応答する。中継装置200は当該応答を受信する。
(ステップST114)中継装置200は、受信したリクエストをログインページへリダイレクトさせる。中継装置200がログインページを提供可能な場合には、例えば、当該ログインページのデータをクライアント500に提供する。クライアント500はログインページのデータを受信する。他のWebサーバが提供するログインページにリダイレクトさせてもよい。すると、クライアント500のWebブラウザはログインページをユーザAに提示する。
(ステップST115)クライアント500は、ログインページでユーザAにより入力されたログイン用の情報を中継装置200に送信する。当該ログイン用の情報には、ユーザID“U0001”およびパスワード“pass1”が含まれる。中継装置200はログイン情報(フレーム)を受信する。
(ステップST116)中継装置200は、受信したフレームから送信元IPアドレス“50.223.3.4”および送信元MACアドレスを抽出する。中継装置200は、抽出された送信元IPアドレスおよび送信元MACアドレスをIPパケットのデータ部分に設定した新たなフレーム(ログイン要求)を生成し、管理サーバ100に送信する。管理サーバ100はログイン要求を受信する。ログイン要求にはユーザIDおよびパスワードも含まれる。
(ステップST117)管理サーバ100は、図17のステップST103と同様にして、セッション情報を生成する。また、接続管理テーブル115に新たなレコードを追加する。管理サーバ100は、生成されたセッション情報とログイン成功の通知とを中継装置200に送信する。中継装置200はセッション情報とログイン成功の通知とを受信する。
(ステップST118)中継装置200は、図17のステップST104と同様に、管理サーバ100から受信したセッション情報をセッション管理テーブル211に登録する。中継装置200は、ログイン成功の通知をクライアント500に送信する。クライアント500はログイン成功の通知を受信する。
以後、図17のステップST105以降と同様の手順により、クライアント500から業務サーバ300へのアクセスが可能となる。次に、ユーザAがクライアント500,600の両方を用いてネットワークログインを行う場合の通信を例示する。
図19は、第2の実施の形態の通信の具体例(その3)を示す図である。以下、図19に示す処理をステップ番号に沿って説明する。ステップST121の直前では、接続管理テーブル115およびセッション管理テーブル211,211aのエントリはないものとする。また、以下の通信が行われる時間帯は9時から20時の時間帯に含まれるとする。
(ステップST121)クライアント500は、ログインページでユーザAにより入力されたログイン情報を中継装置200に送信する。当該ログイン情報には、ユーザID“U0001”およびパスワード“pass1”が含まれる。中継装置200はログイン情報(フレーム)を受信する。
(ステップST122)中継装置200は、受信したフレームから送信元IPアドレス“50.223.3.4”および送信元MACアドレスを抽出する。中継装置200は、抽出した送信元IPアドレスおよび送信元MACアドレスをIPパケットのデータ部分に設定した新たなフレーム(ログイン要求)を生成し、管理サーバ100に送信する。管理サーバ100はログイン要求を受信する。ログイン要求にはユーザIDおよびパスワードも含まれる。
(ステップST123)管理サーバ100は、図17のステップST103と同様にして、セッション情報を生成する。また、接続管理テーブル115にレコードを追加する。具体的には、ユーザID“U0001”、端末IPアドレス“50.223.3.4”、中継装置IPアドレス“192.168.10.1”、適用ROLE“ROLE3,101”のレコードである。管理サーバ100は、生成したセッション情報とログイン成功の通知とを中継装置200に送信する。中継装置200はセッション情報とログイン成功の通知とを受信する。
(ステップST124)中継装置200は、図17のステップST104と同様に、管理サーバ100から受信したセッション情報をセッション管理テーブル211に登録する。中継装置200は、ログイン成功の通知をクライアント500に送信する。クライアント500はログイン成功の通知を受信する。
(ステップST125)クライアント600は、ログインページでユーザAにより入力されたログイン情報を中継装置200aに送信する。当該ログイン情報には、ユーザID“U0001”およびパスワード“pass1”が含まれる。中継装置200aはログイン情報(フレーム)を受信する。
(ステップST126)中継装置200aは、受信したフレームから送信元IPアドレス“192.168.10.11”および送信元MACアドレス“MAC1”を抽出する。中継装置200aは、抽出した送信元IPアドレスおよび送信元MACアドレスをIPパケットのデータ部分に設定した新たなフレーム(ログイン要求)を生成し、管理サーバ100に送信する。管理サーバ100はログイン要求を受信する。ログイン要求にはユーザIDおよびパスワードも含まれる。
(ステップST127)管理サーバ100は、ユーザ管理テーブル111を参照して、ユーザAについて閉塞状態でないことを確認する。管理サーバ100は、ログイン要求に含まれるユーザIDおよびパスワードを、ユーザ管理テーブル111の登録内容と照合する。ユーザ管理テーブル111には、ユーザID“U0001”とパスワード“pass1”との組が登録されている。このため、本照合は成功する。また、グループ管理テーブル112によれば、ユーザID“U0001”はグループID“G0001”のグループに属している。そして、グループ制御テーブル114によれば、9時から20時の時間帯において、当該グループでは任意の中継装置を経由したアクセスが許容されている。よって、アクセス元の中継装置の照合も成功する。更に、ユーザID“U0001”、送信元IPアドレス“192.168.10.11”、送信元MACアドレス“MAC1”を含むレコードとして、ユーザ制御テーブル113には“ROLE1”が存在する。管理サーバ100は適用ROLEとして“ROLE1”を特定する。更に、接続管理テーブル115にはステップST123で“ROLE3”のレコードが既に追加されている。これに対し、ユーザ管理テーブル111によればユーザID“U0001”は多重接続設定が“可”である。よって、管理サーバ100は“ROLE1”での新たな接続が許容されている(すなわち、多重接続の制約がない)と判断する。
(ステップST128)管理サーバ100は、ユーザ制御テーブル113の“ROLE1”およびグループ制御テーブル114の“ROLE101”を用いてセッション情報を生成し、ログイン成功の通知とともに、中継装置200aに送信する。中継装置200aはセッション情報とログイン成功の通知とを受信する。管理サーバ100は接続管理テーブル115の更新も行う。具体的には、ユーザID“U0001”、端末IPアドレス“192.168.10.11”、中継装置IPアドレス“192.168.10.2”、適用ROLE“ROLE1,101”のレコードを接続管理テーブル115に追加する。
(ステップST129)中継装置200aは、管理サーバ100から受信したセッション情報をセッション管理テーブル211aに登録する(項番“1”のレコード)。中継装置200aは、ログイン成功の通知をクライアント600に送信する。クライアント600はログイン成功の通知を受信する。
このようにして、ユーザ管理テーブル111の設定により、多重接続を許容するか否かを制御できる。ユーザ管理テーブル111において、ユーザA(“U0001”)は多重接続設定が“可”である。このため、ユーザAはクラアント500,600の両方を用いて業務サーバにアクセス可能となる。これに対し、ユーザB(“U0002”)は多重接続設定が“不可”である。このため、ユーザBに対しては複数のクライアントを用いたアクセスは許容されていないことになる。
また、このように多重接続した場合にも、クライアント500,600からアクセス可能な業務サーバの範囲は、クライアント500,600の通信を中継する中継装置200,200aそれぞれにより制限されることになる。アクセス可能な業務サーバの範囲は、クライアント500,600で相違し得る。このように、1ユーザが複数のクライアントを利用する場合にもクライアント単位のアクセス制御を行える。
次に、クライアント600から中継装置200a,200bを介したアクセスを行う場合を例示する。
図20は、第2の実施の形態の通信の具体例(その4)を示す図である。以下、図20に示す処理をステップ番号に沿って説明する。ステップST131の直前では、接続管理テーブル115およびセッション管理テーブル211,211a,211bのエントリはないものとする。また、以下の通信が行われる時間帯は、9時から20時の時間帯に含まれるとする。
図20は、第2の実施の形態の通信の具体例(その4)を示す図である。以下、図20に示す処理をステップ番号に沿って説明する。ステップST131の直前では、接続管理テーブル115およびセッション管理テーブル211,211a,211bのエントリはないものとする。また、以下の通信が行われる時間帯は、9時から20時の時間帯に含まれるとする。
(ステップST131)クライアント600は、ログインページでユーザAにより入力されたログイン情報を中継装置200aに送信する。当該ログイン情報には、ユーザID“U0001”およびパスワード“pass1”が含まれる。中継装置200aはログイン用の情報(フレーム)を受信する。
(ステップST132)中継装置200aは、受信したフレームから送信元IPアドレス“192.168.10.11”および送信元MACアドレス“MAC1”を抽出する。中継装置200aは、抽出した送信元IPアドレスおよび送信元MACアドレスをIPパケットのデータ部分に設定した新たなフレーム(ログイン要求)を生成し、管理サーバ100に送信する。管理サーバ100はログイン要求を受信する。ログイン要求にはユーザIDおよびパスワードも含まれる。
(ステップST133)管理サーバ100は、ユーザIDとパスワードの照合などを行う。管理サーバ100は、ユーザ制御テーブル113およびグループ制御テーブル114を参照して“ROLE1”および“ROLE101”に対応するセッション情報を生成する。“ROLE1”が選択される理由は、ユーザID“U0001”、端末IPアドレス“192.168.10.11”および送信元MACアドレス“MAC1”を含み、これらがログイン要求に含まれる情報に一致するからである。“ROLE101”が選択される理由は、ユーザID“U0001”はグループID“G0001”のグループに属し、当該グループに対する9時から20時の時間帯の“ROLE101”がグループ制御テーブル114から選択されたからである。また、接続管理テーブル115にレコードを追加する。具体的には、“U0001”、端末IPアドレス“192.168.10.11”、中継装置IPアドレス“192.168.10.2”、適用ROLE“ROLE1,101”のレコードである。管理サーバ100は、生成したセッション情報とログイン成功の通知とを中継装置200aに送信する。中継装置200aはセッション情報とログイン成功の通知とを受信する。
(ステップST134)中継装置200aは、管理サーバ100から受信したセッション情報をセッション管理テーブル211aに登録する(項番“1”のレコード)。中継装置200aは、ログイン成功の通知をクライアント600に送信する。クライアント600はログイン成功の通知を受信する。
(ステップST135)クライアント600は、業務サーバ400へ宛てたリクエストを送信する。当該リクエストは中継装置200aへ転送される。当該リクエストのIPパケットに含まれる宛先IPアドレスは“192.168.20.101”である。送信元IPアドレスは“192.168.10.11”である。中継装置200aは当該リクエストを受信する。
(ステップST136)中継装置200aは、受信したリクエストのIPパケットに含まれる送信元/宛先IPアドレスの組を、セッション管理テーブル211aの登録内容と照合する。セッション管理テーブル211aには、ステップST134で登録された項番“1”のレコードが存在する。項番“1”のレコードでは、端末IPアドレス“192.168.10.11”に対し、ACLに“192.168.20.101”がある。すなわち、当該リクエストの中継は許容されている。よって、中継装置200aは業務サーバ400に対して当該リクエストを転送する。業務サーバ400への通信経路には、中継装置200bが存在している。中継装置200bは当該リクエストを受信する。
(ステップST137)中継装置200bは、受信したリクエストのIPパケットに含まれる送信元/宛先IPアドレスの組を、セッション管理テーブル211bの登録内容と照合する。セッション管理テーブル211bには、この時点でエントリはない。すなわち、送信元IPアドレス“192.168.10.11”を含むレコードは存在しない。よって、中継装置200bは、ログインの確認要求を管理サーバ100に送信する。当該確認要求(IPパケットのデータ部分)にはクライアント600のIPアドレス“192.168.10.11”が含まれる。管理サーバ100は確認要求を受信する。なお、中継装置200bは、ステップST136で受信したリクエストを保留する(例えば、RAMに格納する)。
(ステップST138)管理サーバ100は、確認要求に含まれる送信元IPアドレスを、接続管理テーブル115の登録内容と照合する。接続管理テーブル115には、ステップST133で登録されたレコードが存在する。このレコードの端末IPアドレスは“192.168.10.11”である。これは確認対象のクライアント600のIPアドレスと一致するので、管理サーバ100はログイン済であると判断する。管理サーバ100は、当該レコードから適用ROLE“ROLE1,101”を特定する。管理サーバ100は、ユーザ制御テーブル113の“ROLE1”とグループ制御テーブル114の“ROLE101”とを参照して、セッション情報を生成する。管理サーバ100は、生成したセッション情報とログイン済の通知とを中継装置200bに送信する。中継装置200bはセッション情報とログイン済の通知とを受信する。管理サーバ100は、接続管理テーブル115にレコードを追加する。具体的には、ユーザID“U0001”、端末IPアドレス“192.168.10.11”、中継装置IPアドレス“192.168.20.1”、適用ROLE“ROLE1,101”のレコードである。
(ステップST139)中継装置200bは、管理サーバ100から受信したセッション情報をセッション管理テーブル211bに登録する(項番“1”のレコード)。中継装置200bは、ステップST137で中継を保留したリクエストのIPパケットに含まれる送信元/宛先IPアドレスの組を、セッション管理テーブル211bの登録内容と照合する。この時点でセッション管理テーブル211bには項番“1”のレコードが存在する。項番“1”のレコードでは、端末IPアドレス“192.168.10.11”に対し、ACLに“192.168.20.101”が含まれる。すなわち、当該リクエストの中継は許容されている。よって、中継装置200bは業務サーバ400に対して当該リクエストを転送する。業務サーバ400は当該リクエストを受信する。
(ステップST140)業務サーバ400は、受信したリクエストに応じた処理を実行する。業務サーバ400は、処理結果に応じたレスポンスをクライアント600に送信する。当該レスポンスは中継装置200b,200aの順に経由してクライアント600に転送される。クライアント600は当該レスポンスを受信する。
このようにして、クライアント600は、中継装置200a,200bを介して業務サーバ400にアクセスできる。すなわち、1つのクライアントから複数の中継装置を介して業務サーバにアクセスする場合にも、最初の中継装置に適用されたROLEを用いて、適正にアクセス制御を行える。このとき、中継装置200bはユーザAに対してログイン情報を再度入力させずに済むので、ユーザAによる重複した情報を入力する手間を省ける。また、ログイン処理を重複して行わずに済む。
次に、ネットワークログインに対するログアウトの手順を説明する。
図21は、第2の実施の形態のログアウト処理の例を示すフローチャートである。以下、図21に示す処理をステップ番号に沿って説明する。
図21は、第2の実施の形態のログアウト処理の例を示すフローチャートである。以下、図21に示す処理をステップ番号に沿って説明する。
(ステップS61)アクセス制御部220は、クライアント500からログアウト要求を受信する。
(ステップS62)アクセス制御部220は、ログアウト要求のIPパケットに含まれる送信元IPアドレスを抽出する。ここでは、抽出される送信元IPアドレスは、“50.223.3.4”である。アクセス制御部220は、抽出したクライアント500のIPアドレスをIPパケットのデータ部分に含めたログアウト要求を生成し、管理サーバ100に送信する。
(ステップS62)アクセス制御部220は、ログアウト要求のIPパケットに含まれる送信元IPアドレスを抽出する。ここでは、抽出される送信元IPアドレスは、“50.223.3.4”である。アクセス制御部220は、抽出したクライアント500のIPアドレスをIPパケットのデータ部分に含めたログアウト要求を生成し、管理サーバ100に送信する。
(ステップS63)管理部120は、中継装置200が送信したログアウト要求を受信する。
(ステップS64)管理部120は、記憶部110に記憶された接続管理テーブル115を参照し、ログアウト要求(IPパケットのデータ部分)に含まれるクライアント500のIPアドレスが、端末IPアドレスの項目に設定されたレコードを検索する。管理サーバ100は、検索されたレコードに含まれる中継装置IPアドレスおよび適用ROLEの設定を取得する。管理サーバ100は、当該中継装置IPアドレスを宛先として、当該適用ROLEに対応するセッション情報を削除するように指示する。例えば、クライアント500からのログアウト要求では、端末IPアドレス“50.223.3.4”を含むセッション情報をセッション管理テーブルから削除するように指示する。当該削除の指示は、複数の中継装置に対して行われることもある。また、管理サーバ100は、接続管理テーブル115上から検索されたレコードを削除する。例えば、クライアント500からのログアウト要求では、端末IPアドレス“50.223.3.4”の全レコードが接続管理テーブル115から削除されることになる。
(ステップS64)管理部120は、記憶部110に記憶された接続管理テーブル115を参照し、ログアウト要求(IPパケットのデータ部分)に含まれるクライアント500のIPアドレスが、端末IPアドレスの項目に設定されたレコードを検索する。管理サーバ100は、検索されたレコードに含まれる中継装置IPアドレスおよび適用ROLEの設定を取得する。管理サーバ100は、当該中継装置IPアドレスを宛先として、当該適用ROLEに対応するセッション情報を削除するように指示する。例えば、クライアント500からのログアウト要求では、端末IPアドレス“50.223.3.4”を含むセッション情報をセッション管理テーブルから削除するように指示する。当該削除の指示は、複数の中継装置に対して行われることもある。また、管理サーバ100は、接続管理テーブル115上から検索されたレコードを削除する。例えば、クライアント500からのログアウト要求では、端末IPアドレス“50.223.3.4”の全レコードが接続管理テーブル115から削除されることになる。
(ステップS65)アクセス制御部220は、管理サーバ100からの指示に基づいて、記憶部210に記憶されたセッション管理テーブル211のレコード(セッション情報)を削除する。例えば、アクセス制御部220は、端末IPアドレス“50.223.3.4”を含むレコードをセッション管理テーブル211から削除する。
(ステップS66)アクセス制御部220は、セッション情報の削除が完了した旨を管理サーバ100に応答する。
(ステップS67)管理部120は、ステップS64で削除の指示を行った中継装置から削除完了の応答を受信する。複数の中継装置に対して削除の指示を行った場合には、管理部120は複数の中継装置から削除完了の応答を受信する。
(ステップS67)管理部120は、ステップS64で削除の指示を行った中継装置から削除完了の応答を受信する。複数の中継装置に対して削除の指示を行った場合には、管理部120は複数の中継装置から削除完了の応答を受信する。
(ステップS68)管理部120は、指示を行った全ての中継装置から削除完了の応答を受信するとログアウト完了を中継装置200に応答する。
(ステップS69)アクセス制御部220は、管理サーバ100から当該応答を受信すると、ログアウト完了をクライアントに応答する。
(ステップS69)アクセス制御部220は、管理サーバ100から当該応答を受信すると、ログアウト完了をクライアントに応答する。
このようにして、管理サーバ100および中継装置200はログアウト処理を実行する。管理サーバ100は、1つの中継装置からあるクライアントのログアウト要求を受信すると、当該クライアントに係るセッション情報を保持する全ての中継装置に対してセッション情報の削除を指示する。このため、各中継装置に余計なセッション情報が残留することを防げる。次に、ログアウト処理における通信の具体例を説明する。
図22は、第2の実施の形態の通信の具体例(その5)を示す図である。以下、図22に示す処理をステップ番号に沿って説明する。ステップST141の直前では、セッション管理テーブル211a,211bには、それぞれ項番“1”のレコードが存在するものとする。接続管理テーブル115には、ユーザID“U0001”、端末IPアドレス“192.168.10.11”、中継装置IPアドレス“192.168.10.2”、適用ROLE“ROLE1,101”のレコードが存在するものとする。また、接続管理テーブル115には、ユーザID“U0001”、端末IPアドレス“192.168.10.11”、中継装置IPアドレス“192.168.20.1”、適用ROLE“ROLE1,101”のレコードが存在するものとする。
(ステップST141)クライアント600は、中継装置200a宛にログアウト要求を送信する。中継装置200aはログアウト要求を受信する。中継装置200aが受信するログアウト要求には、IPパケットの送信元IPアドレスとしてクライアント600のIPアドレス“192.168.10.11”が含まれる。
(ステップST142)中継装置200aは、当該送信元IPアドレスを抽出する。中継装置200aは、抽出されたクライアント600のIPアドレスをIPパケットのデータ部分に含めたログアウト要求を生成して管理サーバ100に送信する。管理サーバ100は当該ログアウト要求を受信する。
(ステップST143)管理サーバ100は、接続管理テーブル115を参照して、当該IPアドレスが端末IPアドレスの項目に設定されたレコードを検索する。ここでは、端末IPアドレスの項目の設定値が“192.168.10.11”である上記の2つのレコードが存在している。管理サーバ100は、これらのレコードから2つの中継装置IPアドレス“192.168.10.2”、“192.168.20.1”を取得する。管理サーバ100は、端末IPアドレス“192.168.10.11”を含むセッション情報の削除を中継装置200aに指示する。
(ステップST144)管理サーバ100は、端末IPアドレス“192.168.10.11”を含むセッション情報の削除を中継装置200bに指示する。ただし、ステップST144の指示はステップST143と同時または逆の順序で行われてもよい。
(ステップST145)管理サーバ100は、ステップST143で検索された2つのレコード(エントリ)を接続管理テーブル115から削除する。
(ステップST146)中継装置200aは、管理サーバ100からの削除指示に基づいて、セッション管理テーブル211aから端末IPアドレス“192.168.10.11”のレコードを削除する。そして、中継装置200aは削除完了を管理サーバ100に応答する。管理サーバ100は当該応答を受信する。
(ステップST146)中継装置200aは、管理サーバ100からの削除指示に基づいて、セッション管理テーブル211aから端末IPアドレス“192.168.10.11”のレコードを削除する。そして、中継装置200aは削除完了を管理サーバ100に応答する。管理サーバ100は当該応答を受信する。
(ステップST147)中継装置200bは、管理サーバ100からの削除指示に基づいて、セッション管理テーブル211bから端末IPアドレス“192.168.10.11”のレコードを削除する。そして、中継装置200bは削除完了を管理サーバ100に応答する。管理サーバ100は当該応答を受信する。
(ステップST148)管理サーバ100は、ステップST142のログアウト要求に対してログアウト完了を中継装置200aに応答する。中継装置200aは当該応答を受信する。
(ステップST149)中継装置200aは、ステップST141のログアウト要求に対してログアウト完了をクライアント600に応答する。クライアント600は当該応答を受信する。
このようにして、管理サーバ100および中継装置200a,200bはログアウト処理を実行する。例えば、図20で説明したように、クライアント600から中継装置200a,200bの両方を経由した業務サーバへのアクセスも格納である。このような場合にも、クライアント600からの1回のログアウト要求で、中継装置200a,200bの両方が保持するセッション情報を適正に消去できる。これによって、クライアント600からのユーザAに関するログインセッションを終了させることができる。
図23は、第2の実施の形態のセッション管理の例を示すフローチャートである。以下、図23に示す処理をステップ番号に沿って説明する。
(ステップS71)アクセス制御部220は、記憶部210に記憶されたセッション管理テーブル211を監視する。
(ステップS71)アクセス制御部220は、記憶部210に記憶されたセッション管理テーブル211を監視する。
(ステップS72)アクセス制御部220は、セッション管理テーブル211に登録されたセッション情報のうち、接続許可時間帯を超過したセッション情報があるか否かを判定する。接続許可時間帯を超過したセッション情報がある場合、処理をステップS73に進める。接続許可時間帯を超過したセッション情報がない場合、処理をステップS71に進める。例えば、アクセス制御部220は、中継装置200が備えるRTC(Real Time Clock)の時刻と、セッション管理テーブル211の各レコード(セッション情報)の接続許可時間帯とを比較することで、当該判定を行える。
(ステップS73)アクセス制御部220は、ステップS72で接続許可時間帯を超過したと判断されたセッション情報をセッション管理テーブル211から削除する。例えば、セッション管理テーブル211の項番“1”のセッション情報は接続許可時間帯が9時から20時である。よって、アクセス制御部220は、20時を超えると、当該項番“1”のセッション情報を削除する。
(ステップS74)アクセス制御部220は、セッション情報を削除した旨を管理サーバ100に通知する。当該通知には、削除したセッション情報に含まれる端末IPアドレスの情報が含まれる。セッション情報を削除した旨の通知は、接続許可時間帯の終端時刻(期限)に達した旨の通知ということもできる。
(ステップS75)アクセス制御部220は、ステップS74の通知に対して、削除したセッション情報と同一の端末IPアドレスを含む次の時間帯のセッション情報を管理サーバ100から受信したか否かを判定する。受信した場合、処理をステップS76に進める。受信していない場合、処理をステップS71に進める。例えば、セッション管理テーブル211から項番“1”のレコードを削除した場合、アクセス制御部220は、次の時間帯のセッション情報として(グループ制御テーブル114に含まれる)“ROLE102”の内容を含むセッション情報を管理サーバ100から受信し得る。
(ステップS76)アクセス制御部220は、受信した次の時間帯のセッション情報をセッション管理テーブル211に登録する。そして、処理をステップS71に進める。
このようにして、中継装置200は、接続許可時間帯を超過したセッション情報を削除する。すると、ユーザが次に中継装置200を介したアクセスを試みるとき、当該ユーザに対して再度の認証が課されることになる。これにより、接続許可時間帯を超過したアクセスを制限することができる。なお、ステップS74において、アクセス制御部220は、ユーザを示す情報とともに接続許可時間帯が終了した旨を管理サーバ100に通知してもよい。
このようにして、中継装置200は、接続許可時間帯を超過したセッション情報を削除する。すると、ユーザが次に中継装置200を介したアクセスを試みるとき、当該ユーザに対して再度の認証が課されることになる。これにより、接続許可時間帯を超過したアクセスを制限することができる。なお、ステップS74において、アクセス制御部220は、ユーザを示す情報とともに接続許可時間帯が終了した旨を管理サーバ100に通知してもよい。
更に、管理サーバ100において、管理部120は、セッション情報の削除の通知、または接続許可時間帯が終了した旨の通知を受け付けると、接続管理テーブル115から当該通知元に対応するレコードを削除する。また、管理部120は、削除の通知があったセッション情報に関するユーザのグループIDにつき次の時間帯のレコードをグループ制御テーブル114から検索する。次の時間帯のレコードとは削除の通知があったセッション情報に含まれる時間帯の次の時間帯を接続許可時間帯に含むレコードである。このとき、管理部120は、接続許可中継装置の照合も行う。例えば、管理部120は、当該ユーザについてネットワークログインを行った際のログイン要求元の中継装置のIPアドレスを記憶部110に格納しておく。そして、格納されたIPアドレスと次の時間帯とを含むレコードをグループ制御テーブル114から検索する。
管理部120は、何れかのレコードが検索された場合は、当該レコードに基づいてセッション情報を新たに生成し、中継装置200に提供する。何れのレコードも検索されない場合は、管理部120は次の時間帯のセッション情報の提供を行わない。管理部120は、新たなセッション情報を中継装置200に提供した場合、当該セッション情報の配布状況を接続管理テーブル115に登録する。何れのレコードも検索されない場合は、接続管理テーブル115から削除されたセッション情報に対応するレコードを削除する。
このようにすれば、次の時間帯のACLを適用する場合に、ユーザに対して再度のログイン操作を課さずに済む。
図24は、第2の実施の形態のアクセス可能範囲の例(その1)を示す図である。図24では、ユーザA,B,Cそれぞれが12時の時点で、クライアント500,500a,600aを用いてアクセスできる業務サーバを例示している。図8〜10および図12で例示した各テーブル内容が管理サーバ100および中継装置200,200a,200bに保持されている場合である。
図24は、第2の実施の形態のアクセス可能範囲の例(その1)を示す図である。図24では、ユーザA,B,Cそれぞれが12時の時点で、クライアント500,500a,600aを用いてアクセスできる業務サーバを例示している。図8〜10および図12で例示した各テーブル内容が管理サーバ100および中継装置200,200a,200bに保持されている場合である。
この場合、ユーザAはクライアント500を用いて業務サーバ300にアクセス可能である。クライアント500のリクエストを中継する中継装置200がセッション管理テーブル211の項番“1”のセッション情報(“ROLE3”のACLを含む)を保持するからである。
また、ユーザBはクライアント500aを用いて業務サーバ300,300aにアクセス可能である。クライアント500aのリクエストを中継する中継装置200がセッション管理テーブル211の項番“2”のセッション情報(“ROLE5”のACLを含む)を保持するからである。
更に、ユーザCはクライアント600aを用いて業務サーバ400,400aにアクセス可能である。クライアント600aのリクエストを中継する中継装置200aがセッション管理テーブル211aの項番“2”のセッション情報(“ROLE6”のACLを含む)を保持するからである。また、当該リクエストを中継する中継装置200bがセッション管理テーブル211bの項番“2”のセッション情報(“ROLE6”のACLを含む)を保持するからである。
図25は、第2の実施の形態のアクセス可能範囲の例(その2)を示す図である。図25では、ユーザAがクライアント500,600を用いてアクセスできる業務サーバを例示している。図8〜10および図12で例示した各テーブル内容が管理サーバ100および中継装置200,200a,200bに保持されている場合である。
この場合、ユーザAはクライアント500を用いて業務サーバ300にアクセス可能である。クライアント500のリクエストを中継する中継装置200がセッション管理テーブル211の項番“1”のセッション情報(“ROLE3”のACLを含む)を保持するからである。
また、ユーザAはクライアント600を用いて業務サーバ300,300a,400,400aにアクセス可能である。クライアント600のリクエストを中継する中継装置200aがセッション管理テーブル211aの項番“1”のセッション情報(“ROLE1”のACLを含む)を保持するからである。また、当該リクエストを中継する中継装置200bがセッション管理テーブル211bの項番“1”のセッション情報(“ROLE1”のACLを含む)を保持するからである。
このようにして、第2の実施の形態の情報処理システムでは、ユーザごとおよび、ユーザが利用するクライアントごとにアクセス可能な業務サーバの範囲を制限することができる。
図26は、第2の実施の形態のアクセス可能範囲の例(その3)を示す図である。図26では、グループ制御テーブル114における“ROLE101”および“ROLE102”によるアクセス可能範囲の違いを示している。例えば、“ROLE1”、“ROLE3”および“ROLE101”によれば、9時から20時の時間帯において、ユーザAは、クライアント500を用いて業務サーバ300にアクセス可能である。また、9時から20時の時間帯において、ユーザAは、クライアント600を用いて業務サーバ300,300a,400,400aにアクセス可能である。
他方、“ROLE102”によれば、20時から24時の時間帯では、中継装置200aを介したアクセスのみが許容されることになる。したがって、ユーザAは、例えばクライアント600を用いて業務サーバ300,300a,400,400aにアクセス可能である。しかし、20時から24時の時間帯では、クライアント500を用いて業務サーバ300にアクセスすることはできない。このように、アクセスされる時間帯に応じて、アクセス元の中継装置を制限することができる。
第2の実施の形態の情報処理システムのように、アクセス元とアクセス先との認証を行う中継装置の要求に応じて、要求元の中継装置に当該認証用のセッション情報を配布する場合、管理サーバ100側での制御情報の更新が問題となる。ここで、制御情報は、ユーザ管理テーブル111、グループ管理テーブル112、ユーザ制御テーブル113およびグループ制御テーブル114を含む。
クライアントが業務サービスを利用している間は、セッション情報が各中継装置によって保持される。このため、ポリシーの一貫性を保つためには、各中継装置によって保持されるセッション情報が、各中継装置から全て削除(全ユーザのログアウト状態の同期がとれた際)に行うことが考えられる。しかし、全ユーザがログアウト状態となるようなタイミングを待ち合わせていると、制御情報の更新までに時間がかかるおそれがある。
そこで、第2の実施の形態では図11の同期制御テーブル116で示したように、制御情報の変更内容を、ポリシーの一貫性を保ちたい範囲(同期範囲)ごとに4段階に区分する。具体的には、前述のように同期範囲なし、ユーザ、ユーザグループおよび全ユーザである。以下では、同期制御テーブル116に基づく、制御情報の更新の手順を説明する。
図27は、第2の実施の形態の制御情報の更新例を示すフローチャートである。以下、図27に示す処理をステップ番号に沿って説明する。
(ステップS81)管理部120は、制御情報の更新内容を受け付ける。
(ステップS81)管理部120は、制御情報の更新内容を受け付ける。
(ステップS82)管理部120は、同期制御テーブル116に基づいて、受け付けた更新内容が同期制御の対象であるか否かを判定する。同期制御の対象である場合、処理をステップS83に進める。同期制御の対象でない場合、処理をステップS88に進める。例えば、同期制御テーブル116を参照して、更新内容が同期範囲なしに対応するものであれば、同期制御の対象ではない。同期制御テーブル116の例によれば、ユーザの追加は同期範囲なしに対応する更新内容である。他方、同期範囲がユーザ、ユーザグループおよび全ユーザに該当する更新内容であった場合は、同期制御の対象である。
(ステップS83)管理部120は、同期制御テーブル116を参照して、更新内容に応じた同期範囲を特定する。同期制御テーブル116の例によれば、ユーザの削除、ユーザパスワードの更新などは同期範囲がユーザである。同様に、例えば、接続許可時間帯の更新および接続許可中継装置の追加/変更などは同期範囲がユーザグループである。同様に、例えば、システムポリシーの変更や中継装置の削除は同期範囲が全ユーザである。
(ステップS84)管理部120は、同期範囲に含まれるユーザについて、何れかの中継装置にセッション情報が配布されているか否かを判定する。配布されている場合、処理をステップS85に進める。配布されていない場合、処理をステップS88に進める。管理部120は、接続管理テーブル115に基づいて当該判定を行える。同期範囲がユーザグループである場合、管理部120は、グループ管理テーブル112を参照して、同期制御の対象のグループに属するユーザのユーザIDを取得できる。なお、セッション情報が配布されているか否かの判定は、ユーザがログインしているか否かの判定ということもできる。ユーザがログイン状態である場合に、セッション情報が中継装置に保持されるからである。
(ステップS85)管理部120は、同期範囲において新規のネットワークログインを不可とする(閉塞状態とする)。例えば、同期範囲がユーザであれば、更新対象の制御情報に対応するユーザによる新規のネットワークログインを不可とする。例えば、同期範囲がユーザグループであれば、更新対象の制御情報に対応するグループに属する全ユーザによる新規のネットワークログインを不可とする。例えば、同期範囲が全ユーザであれば、全ユーザによる新規のネットワークログインを不可とする。管理部120は、閉塞対象のユーザについて、ユーザ管理テーブル111の閉塞フラグに“true”を設定する。
(ステップS86)管理部120は、同期範囲におけるセッション情報の配布状況を監視しながら待機する。接続管理テーブル115には、各ユーザに対するセッション情報の配布状況が記録されている。また、接続管理テーブル115に記録されたエントリは、前述のようにユーザのログアウトによって削除される。よって、管理部120は、接続管理テーブル115に基づいて、同期範囲におけるセッション情報の配布状況を監視し得る。例えば、同期範囲がユーザであれば、同一ユーザについてセッション情報の配布状況を監視する。同期範囲がユーザグループであれば、同一グループに属する複数のユーザについてセッション情報の配布状況を監視する。ユーザが属するグループはグループ管理テーブル112に基づいて把握できる。同期範囲が全ユーザであれば、全ユーザについてセッション情報の配布状況を監視する。
(ステップS87)管理部120は、ステップS83で特定された同期範囲で、ログアウト状態の同期が完了したことを検出する。例えば、同期範囲がユーザであれば、接続管理テーブル115において、当該ユーザのエントリがなくなったときにログアウト状態の同期が完了したことになる。同期範囲がユーザグループであれば、接続管理テーブル115において、対象のグループに属する全てのユーザのエントリがなくなったときにログアウト状態の同期が完了したことになる。同期範囲が全ユーザであれば、接続管理テーブル115において、全ユーザのエントリがなくなったときにログアウト状態の同期が完了したことになる。
(ステップS88)管理部120は、ステップS81で受け付けた更新内容を制御情報に反映させる。
(ステップS89)管理部120は、ステップS88の処理により、更新前の情報が残っている場合には、当該更新前の情報を削除する。
(ステップS89)管理部120は、ステップS88の処理により、更新前の情報が残っている場合には、当該更新前の情報を削除する。
(ステップS90)管理部120は、ステップS85の閉塞を行っている場合、当該閉塞を解除する。具体的には、管理部120は、ユーザ管理テーブル111において、ステップS85で閉塞フラグに“true”を設定した箇所を“false”に更新する。ステップS85の閉塞を行っていない場合は、当該ステップS90をスキップしてよい。
このようにして、管理部120は、更新内容に応じた範囲でログアウト状態の同期をとってから制御情報の更新を行う。また、管理部120は、同期制御の対象となる範囲でログイン状態のユーザが存在する場合には、当該ユーザからの新規のネットワークログインを不可とする。これにより、同期制御の対象となる範囲内でのログアウト状態の同期を迅速に行える。
なお、ステップS87において、接続管理テーブル115に登録されたエントリは、前述したように例えば次の場合に削除される。第1には、ユーザのログアウト要求を受信したときである。第2には、中継装置200,200a,200bにおいてタイムアウトなどにより何れかのユーザのセッション情報が削除されたときである。この場合、管理サーバ100は、中継装置200,200a,200bから当該ユーザのセッション情報が削除された旨の通知を受信する。第3には、中継装置200,200a,200bからセッション情報に登録された期限(接続許可時間帯の終端の時間)に達した旨の通知を受けた場合である。次に、第2の実施の形態の制御情報の更新のための通信例を説明する。
図28は、第2の実施の形態の制御情報の第1の更新例を示す図である。以下、図28に示す処理をステップ番号に沿って説明する。
(ステップST161)クライアント500は、ユーザAのログイン要求を、中継装置200を介して、管理サーバ100に送信する。管理サーバ100は、当該ログイン要求を受信する。
(ステップST161)クライアント500は、ユーザAのログイン要求を、中継装置200を介して、管理サーバ100に送信する。管理サーバ100は、当該ログイン要求を受信する。
(ステップST162)管理サーバ100は、ユーザAに関するログイン処理を行い、中継装置200を介してログイン成功をクライアント500に応答する。このとき、管理サーバ100は、ユーザAに対応するセッション情報を中継装置200に配布する。
(ステップST163)管理サーバ100は、管理クライアント700から制御情報の更新要求を受け付ける。当該更新要求は、ユーザID“U0001”(ユーザA)の“ROLE2,3”においてACLに業務サーバ300a(“192.168.10.102”)を追加する更新を示すとする。同期制御テーブル116によれば、ACLを変更する際にはユーザ単位に同期を行うことになっている。
(ステップST164)管理サーバ100は、ユーザAについて新規のログインを閉塞させる。
(ステップST165)クライアント600は、ユーザAのログイン要求を、中継装置200aを介して管理サーバ100に送信する。管理サーバ100は、当該ログイン要求を受信する。
(ステップST165)クライアント600は、ユーザAのログイン要求を、中継装置200aを介して管理サーバ100に送信する。管理サーバ100は、当該ログイン要求を受信する。
(ステップST166)管理サーバ100では、ユーザAの新規ネットワークログインは閉塞されている。よって、管理サーバ100は、中継装置200aを介してクライアント600にログイン失敗を応答する。
図29は、第2の実施の形態の制御情報の第1の更新例(続き)を示す図である。以下、図29に示す処理をステップ番号に沿って説明する。
(ステップST171)クライアント500は、中継装置200を介して、管理サーバ100にユーザAのログアウト要求を送信する。管理サーバ100は、ログアウト処理を行う。ログアウト処理の結果、中継装置200は、管理サーバ100から配布されたユーザAのセッション情報を削除する。
(ステップST171)クライアント500は、中継装置200を介して、管理サーバ100にユーザAのログアウト要求を送信する。管理サーバ100は、ログアウト処理を行う。ログアウト処理の結果、中継装置200は、管理サーバ100から配布されたユーザAのセッション情報を削除する。
(ステップST172)管理サーバ100は、ユーザAに対して、何れの中継装置にもセッション情報が配布されていないことを検出する。すなわち、当該グループに対して、ログアウト状態の同期が完了したことを検出する。
(ステップST173)管理サーバ100は、ステップST163で受け付けた更新内容を制御情報に反映させる。
(ステップST174)管理サーバ100は、更新内容の反映を行ったことを管理クライアント700に通知する。
(ステップST174)管理サーバ100は、更新内容の反映を行ったことを管理クライアント700に通知する。
(ステップST175)管理サーバ100は、ユーザAに関する閉塞状態を解除する。これにより、ユーザAの新規のネットワークログインが可能となる。
(ステップST176)クライアント600は、ユーザAのログイン要求を、中継装置200aを介して、管理サーバ100に送信する。管理サーバ100は、当該ログイン要求を受信すると、ログイン処理を行う。
(ステップST176)クライアント600は、ユーザAのログイン要求を、中継装置200aを介して、管理サーバ100に送信する。管理サーバ100は、当該ログイン要求を受信すると、ログイン処理を行う。
(ステップST177)管理サーバ100は、中継装置200aを介して、クライアント600にログイン成功を応答する。
このようにして、管理サーバ100は、ユーザ単位にログアウト状態の同期を検出してから、当該ユーザに関する制御情報を更新する。
このようにして、管理サーバ100は、ユーザ単位にログアウト状態の同期を検出してから、当該ユーザに関する制御情報を更新する。
図30は、第2の実施の形態の制御情報の第2の更新例を示す図である。以下、図30に示す処理をステップ番号に沿って説明する。
(ステップST181)クライアント500は、ユーザAのログイン要求を、中継装置200を介して、管理サーバ100に送信する。管理サーバ100は、当該ログイン要求を受信する。
(ステップST181)クライアント500は、ユーザAのログイン要求を、中継装置200を介して、管理サーバ100に送信する。管理サーバ100は、当該ログイン要求を受信する。
(ステップST182)管理サーバ100は、ユーザAに関するログイン処理を行い、中継装置200を介してログイン成功をクライアント500に応答する。このとき、管理サーバ100は、ユーザAに対応するセッション情報を中継装置200に配布する。
(ステップST183)クライアント500aは、ユーザBのログイン要求を、中継装置200を介して、管理サーバ100に送信する。管理サーバ100は、当該ログイン要求を受信する。
(ステップST184)管理サーバ100は、ユーザBに関するログイン処理を行い、中継装置200を介してログイン成功をクライアント500aに応答する。このとき、管理サーバ100は、ユーザBに対応するセッション情報を中継装置200に配布する。
(ステップST185)管理サーバ100は、管理クライアント700から制御情報の更新要求を受け付ける。当該更新要求は、グループID“G0001”の“ROLE101”における接続許可時間帯の変更であるとする。同期制御テーブル116によれば、接続許可時間帯を変更する際には、ユーザグループ単位に同期を行うことになっている。
(ステップST186)管理サーバ100は、グループID“G0001”のグループに所属するユーザA,Bについて新規のログインを閉塞させる。
(ステップST187)クライアント600は、ユーザAのログイン要求を、中継装置200aを介して管理サーバ100に送信する。管理サーバ100は、当該ログイン要求を受信する。
(ステップST187)クライアント600は、ユーザAのログイン要求を、中継装置200aを介して管理サーバ100に送信する。管理サーバ100は、当該ログイン要求を受信する。
(ステップST188)管理サーバ100では、ユーザAの新規ネットワークログインは閉塞されている。よって、管理サーバ100は、中継装置200aを介してクライアント600にログイン失敗を応答する。
図31は、第2の実施の形態の制御情報の第2の更新例(続き)を示す図である。以下、図31に示す処理をステップ番号に沿って説明する。
(ステップST191)クライアント500は、中継装置200を介して、管理サーバ100にユーザAのログアウト要求を送信する。管理サーバ100は、ログアウト処理を行う。ログアウト処理の結果、中継装置200は、管理サーバ100から配布されたユーザAのセッション情報を削除する。
(ステップST191)クライアント500は、中継装置200を介して、管理サーバ100にユーザAのログアウト要求を送信する。管理サーバ100は、ログアウト処理を行う。ログアウト処理の結果、中継装置200は、管理サーバ100から配布されたユーザAのセッション情報を削除する。
(ステップST192)クライアント500aは、中継装置200を介して、管理サーバ100にユーザBのログアウト要求を送信する。管理サーバ100は、ログアウト処理を行う。ログアウト処理の結果、中継装置200は、管理サーバ100から配布されたユーザBのセッション情報を削除する。
(ステップST193)管理サーバ100は、グループID“G0001”のグループに所属するユーザA,Bに対して、何れの中継装置にもセッション情報が配布されていないことを検出する。すなわち、当該グループに対して、ログアウト状態の同期が完了したことを検出する。
(ステップST194)管理サーバ100は、ステップST185で受け付けた更新内容を制御情報に反映させる。
(ステップST195)管理サーバ100は、更新内容の反映を行ったことを管理クライアント700に通知する。
(ステップST195)管理サーバ100は、更新内容の反映を行ったことを管理クライアント700に通知する。
(ステップST196)管理サーバ100は、ステップST186の閉塞状態を解除する。これにより、ユーザA,Bの新規のネットワークログインが可能となる。
(ステップST197)クライアント600は、ユーザAのログイン要求を、中継装置200aを介して管理サーバ100に送信する。管理サーバ100は、当該ログイン要求に応じたログイン処理を行う。
(ステップST197)クライアント600は、ユーザAのログイン要求を、中継装置200aを介して管理サーバ100に送信する。管理サーバ100は、当該ログイン要求に応じたログイン処理を行う。
(ステップST198)管理サーバ100は、中継装置200aを介して、クライアント600にログイン成功を応答する。
このようにして、管理サーバ100は、ユーザグループ単位にログアウト状態の同期を検出してから、当該ユーザに関する制御情報を更新する。
このようにして、管理サーバ100は、ユーザグループ単位にログアウト状態の同期を検出してから、当該ユーザに関する制御情報を更新する。
このようにすると、中継装置200,200a,200bにより認証のために利用されるユーザごとのセッション情報の整合を維持しながら、管理サーバ100により利用される制御情報(セッション情報の内容を含む)を迅速に更新できる。例えば、中継装置200,200a,200bにおいて全ユーザに関するセッション情報が利用されなくなったタイミングで管理サーバ100の制御情報を更新することも考え得る。しかし、当該タイミングまで待機していると、制御情報を更新するまでに時間を要するという問題がある。
そこで、第2の実施の形態の管理サーバ100では、ユーザ単位に影響を及ぼす更新内容については、ユーザ単位にログアウト状態の同期をとる。また、複数のユーザ単位(グループ単位)に影響を及ぼす更新内容については、複数のユーザ単位にログアウト状態の同期をとる。1ユーザについてログアウト状態の同期をとるとは、各中継装置が当該ユーザについて配布されていたセッション情報を利用しない状態(例えば、各中継装置で当該セッション情報が破棄された状態)とすることを意味する。また、複数のユーザについてログアウト状態の同期をとるとは、各中継装置が当該複数のユーザについて配布されていたセッション情報を利用しない状態(例えば、各中継装置で当該セッション情報が破棄された状態)とすることを意味する。
更新の影響が及ぶ範囲に応じて、ユーザ単位または複数のユーザ単位にログアウト状態の同期をとってから制御情報を更新するので、ユーザ単位または複数のユーザ単位で、各中継装置により利用されるセッション情報で不整合が生ずることの防止を図れる。
また、更新の影響が及ぶ範囲においてのみログアウト状態の同期がとれさえすれば、更新対象のユーザまたはグループに対する制御情報を更新できるので、例えば、全ユーザについてログアウト状態の同期をとる場合よりも迅速な更新を行える。すなわち、更新が頻繁に行われるような場合でも、ポリシーの一貫性を保ちたい範囲ごとに局所的にポリシーを整合させながら、迅速な更新を行える。
また、更新内容によっては、ログアウト状態の同期をとらずに制御情報の更新を行えるため、更に迅速な更新を行える。更に、更新の影響が及ぶ範囲において、新規のログインを閉塞させることで、ログアウト状態の同期がとれるまでの時間を短縮できる。このとき、更新の影響が及ぶ範囲においてのみ新規のログインを閉塞させるので、当該範囲外のユーザについてはアクセスを中断させずに済む。
なお、同期制御テーブル116の設定内容は、システムの要件などに応じて変更することもできる。更に、管理サーバ100はその負荷に応じて複数設けてもよい。例えば、ネットワーク20,30の両方に設けてもよい。その場合、各管理サーバで、ユーザ管理テーブル111、グループ管理テーブル112、ユーザ制御テーブル113、グループ制御テーブル114、接続管理テーブル115および同期制御テーブル116の設定内容を同期してもよい。
また、上述したように中継装置200,200a,200bはL3スイッチやルータでもよい。更に、中継装置200,200a,200bは、業務サーバ300,300a,400,400aに対するアクセス負荷を分散する負荷分散装置でもよい。あるいは、中継装置200にファイアウォール11の機能を集約してもよい。その場合、中継装置200をファイアウォールと呼ぶことができる。中継装置200は、ファイアウォールやVPNサーバの機能を組み込んだUTM装置などのアプライアンス装置でもよい。中継装置200,200a,200bを管理サーバ100と同様の構成を有するコンピュータによって実現することもできる。
[第3の実施の形態]
以下、第3の実施の形態を説明する。前述の第2の実施の形態との相違する事項を主に説明し、共通する事項説明を省略する。
以下、第3の実施の形態を説明する。前述の第2の実施の形態との相違する事項を主に説明し、共通する事項説明を省略する。
第2の実施の形態では、制御情報を用いて、クライアント500,500a,600,600aからの各業務サーバへのアクセスを制限する場合を例示した。第3の実施の形態では、管理サーバ100に対する制御情報の入力の方法を提供する。
ここで、第3の実施の形態の情報処理システムおよび各装置のハードウェア例/ソフトウェア例は、図2〜5で説明した第2の実施の形態の情報処理システムおよび各装置のハードウェア例/ソフトウェア例と同様であるため説明を省略する。また、第3の実施の形態の各装置についても第2の実施の形態と同一の名称・符号を用いる。次に、第3の実施の形態で管理サーバ100へのデータ入力に用いられるフォーマットを例示する。
図32は、第3の実施の形態のアクセス元情報の例を示す図である。アクセス元情報は、アクセス元に関する情報であり、次の情報を含む。第1には、ユーザ情報810およびユーザグループ情報820である。第2には、場所情報840および拠点情報850である。第3には、ユーザ端末情報870およびユーザ端末グループ情報880である。
ユーザ情報810には、ユーザ単位の情報が登録される。ユーザ情報810は、ユーザID、氏名、パスワード、割当ロールIDおよび多重ログイン設定の情報を含む。ここで、割当ロールIDは、1つのユーザに関するユーザ情報を識別するための識別情報である。それ以外の情報は、第2の実施の形態で説明したユーザ管理テーブル111の設定項目と同様である。
ユーザグループ情報820には、ユーザグループ単位の情報が登録される。ユーザグループ情報820は、グループID(Group ID)、グループ(Group)名、割当ロールID、メンバリストおよび接続禁止サーバの情報を含む。ここで、グループIDは、ユーザグループのグループIDである。グループ名は、ユーザグループのグループ名である。割当ロールIDは、1つのグループに関するユーザグループ情報を識別するために付与される識別情報である。メンバリストは、第2の実施の形態で説明したグループ管理テーブル112のメンバの設定項目と同様である。
管理部120は、ユーザ情報810およびユーザグループ情報に基づいて、ユーザ展開情報830を生成する。ユーザ展開情報830は、ユーザIDおよび割当ロールリストの情報を含む。ユーザ展開情報830における割当ロールリストは、ユーザIDに対応付けられた割当ロールIDのリストである。ユーザIDに対応付けられた割当ロールIDは、ユーザ情報810およびユーザグループ情報820に含まれる割当ロールIDから得られる。例えば、あるユーザが2つのユーザグループに属することもある。その場合、割当ロールリストには、ユーザIDに対応する割当ロールID(ユーザ情報810から得られる)および当該ユーザIDをメンバリストに含む2つのグループのグループIDに対応する2つの割当ロールID(ユーザグループ情報820から得られる)が設定されることになる。
場所情報840には、中継装置単位の情報が登録される。場所情報840は、中継装置ID、場所名、IPアドレスおよび割当ロールIDの情報を含む。中継装置IDは、中継装置ごとの識別情報である。場所名は、中継装置の設置場所の名称である。IPアドレスは、中継装置のIPアドレスである。割当ロールIDは、1つの中継装置の場所情報を識別するための識別情報である。
拠点情報850には、拠点(中継装置が設定された場所の集合)単位の情報が登録される。拠点情報850は、拠点ID、拠点名、割当ロールIDおよび中継装置リストの情報を含む。拠点IDは、拠点ごとの識別情報である。拠点名は、拠点の名称である。割当ロールIDは、1つの拠点の拠点情報を識別するための識別情報である。中継装置リストは、当該拠点に設置された中継装置の中継装置IDのリストである。
管理部120は、場所情報840および拠点情報850に基づいて、場所展開情報860を生成する。場所展開情報860は、中継装置IDおよび割当ロールリストの情報を含む。場所展開情報860における割当ロールリストは、中継装置IDに対応付けられた割当ロールIDのリストである。中継装置IDに対応付けられた割当ロールIDは、場所情報840および拠点情報850に含まれる割当ロールIDから得られる。例えば、割当ロールリストには、ある中継装置IDに対応する割当ロールID(場所情報840から得られる)および当該中継装置IDを中継装置リストに含む拠点の拠点IDに対応する割当ロールID(拠点情報850から得られる)が設定されることになる。
ユーザ端末情報870には、ユーザ端末(クライアント)単位の情報が登録される。ユーザ端末情報870は、ユーザ端末ID、ユーザ端末名、MACアドレス、IPアドレスおよび割当ロールIDの情報を含む。ユーザ端末IDは、クライアントごとの識別情報である。ユーザ端末名は、クライアントの名称である。MACアドレスは、クライアントのMACアドレスである。IPアドレスは、クライアントのIPアドレスである。割当ロールIDは、1つのクライアントに関するユーザ端末情報を識別するための識別情報である。
ユーザ端末グループ情報880には、ユーザ端末グループ(ユーザ端末G(Group)ということがある)単位の情報が登録される。ユーザ端末グループ情報880は、ユーザ端末GID、ユーザ端末G名、割当ロールIDおよびユーザ端末リストの情報を含む。ユーザ端末GIDは、ユーザ端末グループごとの識別情報である。ユーザ端末G名は、ユーザ端末グループの名称である。割当ロールIDは、1つのユーザ端末グループのユーザ端末グループ情報を識別するための識別情報である。ユーザ端末リストは、当該ユーザ端末グループに含まれるクライアントのユーザ端末IDのリストである。
管理部120は、ユーザ端末情報870およびユーザ端末グループ情報880に基づいて、ユーザ端末展開情報890を生成する。ユーザ端末展開情報890は、ユーザ端末IDおよび割当ロールリストの情報を含む。ユーザ端末展開情報890における割当ロールリストは、ユーザ端末IDに対応付けられた割当ロールIDのリストである。ユーザ端末IDに対応付けられた割当ロールIDは、ユーザ端末情報870およびユーザ端末グループ情報880に含まれる割当ロールIDから得られる。例えば、割当ロールリストには、あるユーザ端末IDに対応する割当ロールID(ユーザ端末情報870から得られる)および当該ユーザ端末IDをユーザ端末リストに含むユーザ端末グループのユーザ端末GIDに対応する割当ロールID(ユーザ端末グループ情報880から得られる)が設定されることになる。
図33は、第3の実施の形態のアクセス先情報の例を示す図である。アクセス先情報は、アクセス先に関する情報であり、サービス情報910、サービスグループ情報920およびACL情報930を含む。サービス情報910には、各業務サーバによって提供されるサービス単位の情報が登録される。サービス情報910は、サービスID、サービス名、IPアドレス、ポート番号およびURLの情報を含む。ここで、サービスIDは、サービスを識別するための識別情報である。サービス名は、サービスの名称である。IPアドレスは、当該サービスを提供するサーバのIPアドレスである。ポート番号は、業務サーバが当該サービスを提供するために用いられるポートの番号である。URLは、当該サービスへアクセスするために指定するURLである。
サービスグループ情報920には、サービスグループ単位の情報が登録される。サービスグループ情報920は、サービスGID、サービスG名、サービスリストの情報を含む。サービスGIDは、サービスグループの識別情報である。サービスG名は、サービスグループの名称である。サービスリストは、当該サービスグループに含まれるサービスのサービスIDのリストである。
ACL情報930は、ACLの情報が登録される。ACL情報930は、適用ロールID、適用ロール名および可能サービスリストの情報を含む。適用ロールIDは、1つのACL情報を識別するための識別情報である。適用ロール名は、当該ACL情報の名称である。可能サービスリストは、サービス情報910およびサービスグループ情報920に含まれるサービスIDおよびサービスGIDの組合せ(サービスIDまたはサービスGIDの何れか1つでもよい)である。
図34は、第3の実施の形態の時間情報の例を示す図である。時間情報は、アクセスを許容する時間に関する情報であり、次の情報を含む。第1には、時間帯パターン情報940である。第2には、曜日パターン情報950である。第3には、期日パターン情報960である。
時間帯パターン情報940は、時間帯パターンID、時間帯パターン名および1日のアクセス可能時間帯の情報を含む。時間帯パターンIDは、1つの時間帯パターン情報を識別するための識別情報である。時間帯パターン名は、当該時間帯パターン情報の名称である。1日のアクセス可能時間帯は、業務サービスへのアクセスを許容する時間帯である。1日のアクセス可能時間帯は、第2の実施の形態のグループ制御テーブル114における接続許可時間帯に相当する。
曜日パターン情報950は、曜日パターンID、曜日パターン名および各曜日のアクセス可能時間帯の情報を含む。曜日パターンIDは、1つの曜日パターン情報を識別するための識別情報である。曜日パターン名は、当該曜日パターン情報の名称である。各曜日のアクセス可能時間帯は、業務サービスへのアクセスを許容する曜日ごとの時間帯である。例えば、月曜日の9時から18時、火曜日の8時から19時などのように、曜日ごとにアクセスを許容する時間帯のリストを設定可能である。
期日パターン情報960は、期日パターンID、期日パターン名および各期日(年月日を指定した日付)のアクセス可能時間帯の情報を含む。期日パターンIDは、1つの期日パターン情報を識別するための識別情報である。期日パターン名は、当該期日パターン情報の名称である。各期日のアクセス可能時間帯は、業務サービスへのアクセスを許容する期日ごとの時間帯である。例えば、2012年11月1日の10時から15時、2012年11月2日の7時から18時などのように期日ごとにアクセスを許容する時間帯のリストを設定可能である。期日の指定方法として、日付の範囲の指定を許容してもよい。例えば、2012年11月1日から2012年11月7日の範囲に対して、9時から18時のように時間帯を設定可能とすることも考えられる。
図35は、第3の実施の形態の関連付け情報の例を示す図である。関連付け情報970は、図32〜34で示した各情報を関連付けるための情報である。関連付け情報970は、ユーザ割当ロールID、場所割当ロールID、ユーザ端末割当ロールID、適用ロールIDおよびアクセス可能時間パターンIDの情報を含む。
ユーザ割当ロールIDは、ユーザ情報810またはユーザグループ情報820の何れかに含まれる割当ロールIDである。場所割当ロールIDは、場所情報840または拠点情報850の何れかに含まれる割当ロールIDである。ユーザ端末割当ロールIDは、ユーザ端末情報870およびユーザ端末グループ情報880の何れかに含まれる割当ロールIDである。適用ロールIDは、ACL情報930に含まれる適用ロールIDである。アクセス可能時間パターンIDは、時間帯パターン情報940に含まれる時間帯パターンID、曜日パターン情報950に含まれる曜日パターンIDおよび期日パターン情報960に含まれる期日パターンIDの何れかのIDである。
なお、場所割当ロールIDおよびユーザ端末割当ロールIDの設定の有無を任意としてもよい。アクセス可能時間パターンIDについても設定がない場合は全ての時間帯でアクセスを許容するなどと決定しておき、関連付け情報970へのアクセス可能時間パターンIDの設定を任意としてもよい。また、図32〜34で示した各情報は、例えばcsv(Comma Separated Values)形式のデータとして、管理サーバ100に入力されてもよい。
ここで、図32〜35で示した各情報は記憶部110に格納される。これらの情報は、システムの管理者により管理サーバ100に直接入力されてもよいし、管理クライアント700を用いて管理サーバ100に入力されてもよい。また、管理部120は、第2の実施の形態のユーザ管理テーブル111における閉塞フラグ(デフォルトでは“false”)をユーザIDごとに記憶部110に格納する。
次に、第3の実施の形態のログイン処理の手順を説明する。なお、以下では、管理サーバ100側の処理を説明する。中継装置側の手順は図14で説明した手順と同様である。また、以下では、管理サーバ100、中継装置200およびクライアント500の間の手順を例示するが、他の中継装置およびクライアントに関しても同様の手順である。
図36は、第3の実施の形態のログイン処理の例を示すフローチャートである。以下、図36に示す処理をステップ番号に沿って説明する。
(ステップS91)管理部120は、中継装置200からログイン要求を受信する。ログイン要求には、前述のように、ユーザID、パスワード、クライアント500のMACアドレス/IPアドレスおよび中継装置200のIPアドレスが含まれ得る。
(ステップS91)管理部120は、中継装置200からログイン要求を受信する。ログイン要求には、前述のように、ユーザID、パスワード、クライアント500のMACアドレス/IPアドレスおよび中継装置200のIPアドレスが含まれ得る。
(ステップS92)管理部120は、当該ユーザIDの閉塞フラグが“false”であることを照合する(閉塞フラグが“true”の場合は照合失敗)。管理部120は、ユーザ情報810を用いてパスワードを照合する。管理部120は、各照合に成功したか否かを判定する。成功した場合、処理をステップS93に進める。失敗した場合、処理をステップS99に進める。
(ステップS93)管理部120は、ユーザ情報810および接続管理テーブル115に基づいて、多重接続の制約がないか否かを判定する。多重接続の制約がある場合、処理をステップS99に進める。多重接続の制約がない場合、処理をステップS94に進める。多重接続の制約の有無の判定方法は、図14のステップS16の方法と同様である。ただし、ユーザ管理テーブル111の代わりに、ユーザ情報810を参照する点が異なる。
(ステップS94)管理部120は、ログイン要求に含まれる各種の情報に基づいて、割当ロールIDを取得する。具体的には、管理部120は、ユーザ展開情報830を参照して、ユーザIDに対応するユーザ割当ロールIDのリストを得る。また、管理部120は、場所情報840を参照して、中継装置200のIPアドレスに対応する中継装置IDを得る。管理部120は、場所展開情報860を参照して中継装置IDに対応する場所割当ロールIDのリストを得る。また、管理部120は、ユーザ端末情報870を参照して、クライアント500のMACアドレス/IPアドレスの両方または何れか一方に対応するユーザ端末IDを得る。管理部120は、ユーザ端末展開情報890を参照して、ユーザ端末IDに対応するユーザ端末割当ロールIDのリストを得る。
(ステップS95)管理部120は、ステップS94で取得した各リストのうち、ユーザ割当ロールID、場所割当ロールIDおよびユーザ端末割当ロールIDを1つずつ組合せる(複数の組合せを取得し得る)。管理部120は、関連付け情報970の中から、各組合せに対応する適用ロールIDおよびアクセス可能時間パターンIDを取得する。何れの組合せに対応する適用ロールIDおよびアクセス可能時間パターンIDも取得できない場合、処理をステップS99に進めてもよい。
(ステップS96)管理部120は、ログイン要求で取得した情報およびステップS95で取得した適用ロールIDおよびアクセス可能時間パターンIDに基づいてセッション情報を生成する。ユーザはグループに属することもあるから、セッション情報は、ユーザ単位に登録されたセッション情報およびグループ単位に登録されたセッション情報のように複数生成されることもある。このとき、管理部120は、ユーザグループ情報820を参照して、接続禁止サーバの設定をACLから除外し得る。なお、セッション情報の内容は、第2の実施の形態と同様である。
(ステップS97)管理部120は、接続管理テーブル115を更新する。すなわち、管理部120は、セッション情報の配布状況を接続管理テーブル115に登録する。
(ステップS98)管理部120は、生成されたセッション情報とログイン成功とを中継装置200に応答する。そして、処理を終了する。
(ステップS98)管理部120は、生成されたセッション情報とログイン成功とを中継装置200に応答する。そして、処理を終了する。
(ステップS99)管理部120は、ログイン失敗を中継装置200に応答する。そして、処理を終了する。
なお、ステップS95では、場所割当ロールIDおよびユーザ端末割当ロールIDの両方または何れか一方を除いて処理を行ってもよい。すなわち、(1)ユーザ割当ロールIDのみ、(2)ユーザ割当ロールIDと場所割当ロールIDとの組合せ、(3)ユーザ割当ロールIDとユーザ端末割当ロールIDとの組合せ、の何れかを用いて、適用ロールIDおよびアクセス可能時間パターンIDを関連付け情報970から取得してもよい。
なお、ステップS95では、場所割当ロールIDおよびユーザ端末割当ロールIDの両方または何れか一方を除いて処理を行ってもよい。すなわち、(1)ユーザ割当ロールIDのみ、(2)ユーザ割当ロールIDと場所割当ロールIDとの組合せ、(3)ユーザ割当ロールIDとユーザ端末割当ロールIDとの組合せ、の何れかを用いて、適用ロールIDおよびアクセス可能時間パターンIDを関連付け情報970から取得してもよい。
また、ステップS95では、アクセス可能時間パターンIDで示されるアクセス許容時間帯に現時刻が含まれている場合に、当該アクセス可能時間パターンIDおよび適用ロールIDを取得の対象としてもよい。
このように、第3の実施の形態で示したデータ形式でも、第2の実施の形態と同様に、管理サーバ100はセッション情報を各中継装置に配布し得る。また、管理サーバ100はセッション情報の配布状況を、接続管理テーブル115を用いて管理し得る。したがって、このようなデータ形式を用いた場合でも、第2の実施の形態と同様にして、制御情報の更新の際の同期制御を行える。特に、第3の実施の形態のデータ形式によれば、例えば、システムの管理者は、csv形式で記述されたファイルの追加、内容の変更、削除などにより、制御情報を容易に更新できる。
なお、管理部120は、関連付け情報970に基づいて、ユーザ管理テーブル111、グループ管理テーブル112、ユーザ制御テーブル113およびグループ制御テーブル114を生成し、第2の実施の形態の処理を行うこともできる。
ところで、前述のように、第1の実施の形態の情報処理は、演算部1bにプログラムを実行させることで実現できる。また、第2の実施の形態の情報処理は、CPU101にプログラムを実行させることで実現できる。プログラムは、コンピュータ読み取り可能な記録媒体(例えば、光ディスク15、メモリ装置16およびメモリカード18など)に記録できる。
プログラムを流通させる場合、例えば、当該プログラムを記録した可搬記録媒体が提供される。また、プログラムを他のコンピュータの記憶装置に格納しておき、ネットワーク経由でプログラムを配布することもできる。コンピュータは、例えば、可搬記録媒体に記録されたプログラムまたは他のコンピュータから受信したプログラムを、記憶装置に格納し、当該記憶装置からプログラムを読み込んで実行する。ただし、可搬記録媒体から読み込んだプログラムを直接実行してもよく、他のコンピュータからネットワークを介して受信したプログラムを直接実行してもよい。
また、上記の情報処理の少なくとも一部を、DSP、ASIC、PLDなどの電子回路で実現することもできる。
上記については単に本発明の原理を示すものである。更に、多数の変形や変更が当業者にとって可能であり、本発明は上記に示し、説明した正確な構成および応用例に限定されるものではなく、対応する全ての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。
上記については単に本発明の原理を示すものである。更に、多数の変形や変更が当業者にとって可能であり、本発明は上記に示し、説明した正確な構成および応用例に限定されるものではなく、対応する全ての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。
1 情報処理装置
1a 記憶部
1b 演算部
2,3 認証装置
1a 記憶部
1b 演算部
2,3 認証装置
Claims (11)
- 複数のユーザのうちの何れかのユーザを示す情報に対応付けられており他の装置により行われる認証に用いられる認証情報を記憶する記憶部を参照して、当該他の装置からの要求に応じた認証情報を配布し、
ユーザを示す情報に対して認証情報が配布されているか否かを示す情報を生成し、
何れかのユーザを示す情報に対応付けられた認証情報の更新要求を受け付けると、生成された情報を参照して、当該ユーザを示す情報に対して認証情報が配布されていない場合は前記記憶部に記憶された更新対象の認証情報を更新し、当該ユーザを示す情報に対して認証情報が他の装置に配布されている場合は他の装置により当該認証情報が用いられなくなったことを確認してから前記記憶部に記憶された更新対象の認証情報を更新する、
処理をコンピュータに実行させるプログラム。 - 前記更新要求を受け付けた際に、前記記憶部に記憶された認証情報を直ちに更新してよいか否かが更新要求の更新内容に応じて設定された情報を参照し、直ちに更新してよい更新内容であれば、他の装置により認証情報が用いられなくなったことの確認を行わずに、前記記憶部に記憶された更新対象の認証情報を更新する、請求項1記載のプログラム。
- 前記記憶部は複数のユーザに対応付けられた認証情報を記憶しており、
複数のユーザに対応付けられた認証情報の更新要求を受け付けると、当該複数のユーザそれぞれを示す情報に対して認証情報が配布されていない場合は前記記憶部に記憶された更新対象の認証情報を更新し、また、当該複数のユーザそれぞれを示す情報に対して認証情報が他の装置に配布されている場合は他の装置により当該認証情報が用いられなくなったことを確認してから前記記憶部に記憶された更新対象の認証情報を更新する、
請求項1または2記載のプログラム。 - ユーザを示す情報に対応付けられた認証情報の更新要求を受け付けると、前記記憶部に記憶された当該認証情報を更新するまで、当該ユーザを示す情報に対応付けられた認証情報の要求を他の装置から受け付けても拒否する、請求項1乃至3の何れか1項に記載のプログラム。
- ユーザのログインの要求を他の装置から受け付けると、ログインの要求に応じて、当該ユーザを示す情報に対応付けられた認証情報を当該他の装置に配布し、
当該ユーザのログアウトの要求を受け付けた旨の通知を当該他の装置から受け付けると当該他の装置により当該認証情報が用いられなくなったことを検出する、
請求項1乃至4の何れか1項に記載のプログラム。 - 他の装置に配布された認証情報が、当該他の装置から破棄された旨の通知を受け付けると、当該他の装置により当該認証情報が用いられなくなったことを検出する、請求項1乃至5の何れか1項に記載のプログラム。
- 他の装置に配布する認証情報に、当該認証情報を用いた認証を許容する期限を含め、当該他の装置により前記期限に達した旨の通知を受け付けると、当該他の装置により当該認証情報が用いられなくなったことを検出する、請求項1乃至6の何れか1項に記載のプログラム。
- 前記記憶部は、1ユーザに対して、当該ユーザを示す情報とクライアント装置に関する情報との組合せに対応付けられた複数の認証情報を記憶し、
他の装置からの要求に含まれるユーザを示す情報およびクライアント装置に関する情報に基づいて、前記複数の認証情報の中から当該他の装置に配布する認証情報を選択する、
請求項1乃至7の何れか1項に記載のプログラム。 - クライアント装置の識別情報と当該クライアント装置によるアクセスが許容されるサーバ装置の識別情報との対応関係を示す情報、または、当該クライアント装置の識別情報と当該クライアント装置によるアクセスが許容され当該サーバ装置により提供されるサービスの識別情報との対応関係を示す情報を認証情報として他の装置に配布する、請求項1乃至8の何れか1項に記載のプログラム。
- 複数のユーザのうちの何れかのユーザを示す情報に対応付けられており他の装置により行われる認証に用いられる認証情報を記憶する記憶部と、
他の装置からの要求に応じた認証情報を当該他の装置に配布し、ユーザを示す情報に対して認証情報が配布されているか否かを示す情報を生成し、何れかのユーザを示す情報に対応付けられた認証情報の更新要求を受け付けると、生成された情報を参照して、当該ユーザを示す情報に対して認証情報が配布されていない場合は前記記憶部に記憶された更新対象の認証情報を更新し、また、当該ユーザを示す情報に対して認証情報が他の装置に配布されている場合は他の装置により当該認証情報が用いられなくなったことを確認してから前記記憶部に記憶された更新対象の認証情報を更新する演算部と、
を有する情報処理装置。 - 情報処理装置が、
複数のユーザのうちの何れかのユーザを示す情報に対応付けられており他の装置により行われる認証に用いられる認証情報を記憶する記憶部を参照して、当該他の装置からの要求に応じた認証情報を配布し、
ユーザを示す情報に対して認証情報が配布されているか否かを示す情報を生成し、
何れかのユーザを示す情報に対応付けられた認証情報の更新要求を受け付けると、生成された情報を参照して、当該ユーザを示す情報に対して認証情報が配布されていない場合は前記記憶部に記憶された更新対象の認証情報を更新し、当該ユーザを示す情報に対して認証情報が他の装置に配布されている場合は他の装置により当該認証情報が用いられなくなったことを確認してから前記記憶部に記憶された更新対象の認証情報を更新する、
更新方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2013/057797 WO2014147741A1 (ja) | 2013-03-19 | 2013-03-19 | プログラム、情報処理装置および更新方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP5979304B2 true JP5979304B2 (ja) | 2016-08-24 |
JPWO2014147741A1 JPWO2014147741A1 (ja) | 2017-02-16 |
Family
ID=51579475
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015506424A Expired - Fee Related JP5979304B2 (ja) | 2013-03-19 | 2013-03-19 | プログラム、情報処理装置および更新方法 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP5979304B2 (ja) |
WO (1) | WO2014147741A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6345092B2 (ja) * | 2014-11-25 | 2018-06-20 | エイチ・シー・ネットワークス株式会社 | 通信システム |
JP6347732B2 (ja) * | 2014-12-03 | 2018-06-27 | エイチ・シー・ネットワークス株式会社 | 認証システム |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003283489A (ja) * | 2002-03-20 | 2003-10-03 | Hitachi Ltd | パケット認証システムおよび認証方法、ならびにグループ管理サーバとグループメンバー装置 |
JP2006072493A (ja) * | 2004-08-31 | 2006-03-16 | Ntt Docomo Inc | 中継装置及び認証方法 |
JP2008219670A (ja) * | 2007-03-06 | 2008-09-18 | Ntt Communications Kk | デジタル証明書配布システム、デジタル証明書配布方法、及びデジタル証明書配布プログラム |
JP2009223452A (ja) * | 2008-03-14 | 2009-10-01 | Hitachi Ltd | 認証システム並びに認証サーバ装置および利用者装置,アプリケーションサーバ装置 |
JP2012194722A (ja) * | 2011-03-16 | 2012-10-11 | Fujitsu Ltd | システム、認証情報管理方法、およびプログラム |
-
2013
- 2013-03-19 JP JP2015506424A patent/JP5979304B2/ja not_active Expired - Fee Related
- 2013-03-19 WO PCT/JP2013/057797 patent/WO2014147741A1/ja active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003283489A (ja) * | 2002-03-20 | 2003-10-03 | Hitachi Ltd | パケット認証システムおよび認証方法、ならびにグループ管理サーバとグループメンバー装置 |
JP2006072493A (ja) * | 2004-08-31 | 2006-03-16 | Ntt Docomo Inc | 中継装置及び認証方法 |
JP2008219670A (ja) * | 2007-03-06 | 2008-09-18 | Ntt Communications Kk | デジタル証明書配布システム、デジタル証明書配布方法、及びデジタル証明書配布プログラム |
JP2009223452A (ja) * | 2008-03-14 | 2009-10-01 | Hitachi Ltd | 認証システム並びに認証サーバ装置および利用者装置,アプリケーションサーバ装置 |
JP2012194722A (ja) * | 2011-03-16 | 2012-10-11 | Fujitsu Ltd | システム、認証情報管理方法、およびプログラム |
Also Published As
Publication number | Publication date |
---|---|
WO2014147741A1 (ja) | 2014-09-25 |
JPWO2014147741A1 (ja) | 2017-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7000121B2 (en) | Computer systems, in particular virtual private networks | |
US8910248B2 (en) | Terminal connection status management with network authentication | |
US7801998B2 (en) | Establishing and maintaining a connection by a client to a server within a network | |
JPWO2011089712A1 (ja) | 認証方法、認証システムおよび認証プログラム | |
US11444954B2 (en) | Authentication/authorization server, client, service providing system, access management method, and medium | |
JP2009111859A (ja) | 利用者のアドレス情報を登録する装置、方法およびプログラム | |
CN105873055B (zh) | 一种无线网络接入认证方法及装置 | |
US8918847B2 (en) | Layer 7 authentication using layer 2 or layer 3 authentication | |
JP3961112B2 (ja) | パケット通信制御システム及びパケット通信制御装置 | |
JP2005020112A (ja) | ネットワーク設定システム、管理装置、端末装置及びネットワーク設定方法 | |
CN110266674B (zh) | 一种内网访问方法及相关装置 | |
US20180331886A1 (en) | Systems and methods for maintaining communication links | |
WO2011040192A1 (ja) | 仮想マシン、仮想マシンのプログラム、アプリケーションサービス提供システム及びアプリケーションサービス提供方法 | |
JP5979304B2 (ja) | プログラム、情報処理装置および更新方法 | |
JP2016072793A (ja) | 遠隔会議システム、プログラム、セキュリティサーバ及びアプリケーションサーバ | |
US20130100857A1 (en) | Secure Hotspot Roaming | |
US11784993B2 (en) | Cross site request forgery (CSRF) protection for web browsers | |
US20150100784A1 (en) | Communication apparatus and control method therefor | |
JP4750750B2 (ja) | パケット転送システムおよびパケット転送方法 | |
JP5800089B2 (ja) | 中継装置、情報処理装置、アクセス制御方法およびプログラム | |
CN113660356B (zh) | 网络访问方法、系统、电子设备及计算机可读存储介质 | |
JP6351426B2 (ja) | 作業支援システムおよび作業支援方法 | |
JP4886651B2 (ja) | Lan制御情報管理装置、lan制御システムおよびlan制御情報管理方法 | |
WO2015004744A1 (ja) | 認証装置、認証方法、およびプログラム | |
JP2002108729A (ja) | ネットワーク接続装置及び同装置に適用されるファイアウォール制御プログラムを記憶したコンピュータ読み取り可能な記憶媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20160628 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160711 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5979304 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |