(57)【要約】【課題】利用者が複数のシステムにおいて認証され得る場合に、複数のシステムにおいて同時に当該利用者の認証状態が形成されることを防止する。【解決手段】認証管理システム１０は、作業用システムであるシステムＸ及びシステムＹ、並びに認証管理装置１４を含む。認証管理装置１４の記憶部３２には、ユーザがシステムＸで利用する第１アカウントと、同一ユーザがシステムＹで利用する第２アカウントとを関連付けて記憶するアカウントＤＢ３４が構築される。ユーザがシステムＹに第２アカウントを利用してログインしている状態において、当該ユーザがシステムＸに第１アカウントを利用してログインした場合、ログアウト処理部４０は、システムＹにおける第２アカウントのログイン状態を解除させるためのログアウト指示イベントを生成する。【選択図】図１
2018036873.tif 000002
【特許請求の範囲】
【請求項１】
利用者の認証を行って前記利用者の認証状態を形成する第１及び第２システムと、
認証管理装置と、
を備え、
前記認証管理装置は、
前記第１及び第２システムにおける前記利用者の認証状態を取得する認証状態取得部と、
前記第２システムで前記利用者の認証状態が形成された状態において前記第１システムで当該利用者の認証が行われた場合に、前記第２システムにおける当該利用者の認証状態を解除する認証解除処理部と、
を含む、
ことを特徴とする認証管理システム。
【請求項２】
前記認証管理装置は、
前記第１システムに登録された前記利用者が利用する第１アカウント、及び前記第２システムに登録された当該利用者が利用する第２アカウントを関連付けて記憶するアカウント情報記憶部、
をさらに含み、
前記認証状態取得部は、前記第１及び第２アカウントの認証状態を取得し、
前記認証解除処理部は、前記第２アカウントが認証状態であるときに前記第１アカウントの認証が行われた場合に、前記第２アカウントの認証状態を解除する、
ことを特徴とする請求項１に記載の認証管理システム。
【請求項３】
前記認証状態取得部は、前記第１アカウントで前記第１システムへ認証した利用者が使用する端末を識別する第１端末識別情報、及び、前記第２アカウントで前記第２システムへ認証した利用者が使用する端末を識別する第２端末識別情報を取得し、
前記認証解除処理部は、さらに、前記第１端末識別情報及び前記第２端末識別情報が同じ端末を示す場合に、前記第２アカウントの認証状態を解除する、
ことを特徴とする請求項２に記載の認証管理システム。
【請求項４】
利用者の認証を行って前記利用者の認証状態を形成する第１及び第２システムにおける前記利用者の認証状態を取得する認証状態取得部と、
前記第２システムで前記利用者の認証状態が形成された状態において前記第１システムで当該利用者の認証が行われた場合に、前記第２システムにおける当該利用者の認証状態を解除する認証解除処理部と、
を備えることを特徴とする認証管理装置。
【請求項５】
コンピュータを、
利用者の認証を行って前記利用者の認証状態を形成する第１及び第２システムにおける前記利用者の認証状態を取得する認証状態取得部と、
前記第２システムで前記利用者の認証状態が形成された状態において前記第１システムで当該利用者の認証が行われた場合に、前記第２システムにおける当該利用者の認証状態を解除する認証解除処理部と、
として機能させることを特徴とする認証管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、認証管理システム、認証管理装置、及び認証管理プログラムに関する。
【背景技術】
【０００２】
利用者を認証して認証状態を形成するシステムが知られている。例えば、ウェブシステムを構築する作業を行う場合、開発者は、サーバなどにおいて構築された開発作業を行うための開発環境システムに所定のアカウントでログインし、認証状態（ログイン状態）において開発作業を行う。従来、このようなシステムにおいて、利用者による誤操作を防止する技術が提案されている。
【０００３】
例えば、特許文献１には、利用者毎に実行可能なコマンドを予め設定しておき、認証された利用者が、当該利用者に対して設定されたコマンドのみを実行可能となるシステムが開示されている。また、特許文献２には、利用者毎に権限レベルを予め設定しておき、認証された利用者の権限レベルに応じて作業可能範囲を決定するシステムが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平６−１２３４７号公報
【特許文献２】特許２００６−７９２５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
利用者を認証して認証状態を形成するシステムが複数存在する場合、利用者は複数のシステムにおいて同時に認証状態を形成し得る。例えば、上述のウェブシステムの構築作業の例においては、当該ウェブシステムの開発作業を行う開発環境システムと、当該ウェブシステムを公開するシステムである本番環境システムとが用意され、開発者は、両システムにログインし得るようになっている場合がある。このような場合、開発者は、開発環境システムにログインして開発作業を行い、ウェブシステムが完成すると、当該ウェブシステムを本番環境システムへ移植した上で、本番環境システムへログインして公開作業を行うのである。
【０００６】
利用者が複数のシステムに対して同時に認証状態を形成し得る場合、当該複数のシステムのうち１つのシステムに利用者が認証した場合、他のシステムにおける当該利用者の認証状態を解除したい場合がある。例えば、上述のウェブシステムの構築作業の例においては、開発環境システムと本番環境システムとの両方に同時にログイン可能となっていると、両システムにおいて作業あるいは操作が可能な状態となる。このような状態においては、開発者としては開発環境システムにおいて作業を行っているつもりが、実際には本番環境システムにおいて作業を行ってしまっているという場合が生じ得る。また、逆に、本番環境システムにおいて作業を行っているつもりが、実際には開発環境システムにおいて作業を行ってしまっているという場合も生じ得る。つまり、作業を行うシステムを間違えることによる誤操作が生じるおそれがある。
【０００７】
本発明の目的は、利用者が複数のシステムにおいて認証され得る場合に、複数のシステムにおいて同時に当該利用者の認証状態が形成されることを防止することにある。
【課題を解決するための手段】
【０００８】
請求項１に係る発明は、利用者の認証を行って前記利用者の認証状態を形成する第１及び第２システムと、認証管理装置と、を備え、前記認証管理装置は、前記第１及び第２システムにおける前記利用者の認証状態を取得する認証状態取得部と、前記第２システムで前記利用者の認証状態が形成された状態において前記第１システムで当該利用者の認証が行われた場合に、前記第２システムにおける当該利用者の認証状態を解除する認証解除処理部と、を含む、ことを特徴とする認証管理システムである。
【０００９】
請求項２に係る発明は、前記認証管理装置は、前記第１システムに登録された前記利用者が利用する第１アカウント、及び前記第２システムに登録された当該利用者が利用する第２アカウントを関連付けて記憶するアカウント情報記憶部、をさらに含み、前記認証状態取得部は、前記第１及び第２アカウントの認証状態を取得し、前記認証解除処理部は、前記第２アカウントが認証状態であるときに前記第１アカウントの認証が行われた場合に、前記第２アカウントの認証状態を解除する、ことを特徴とする請求項１に記載の認証管理システムである。
【００１０】
請求項３に係る発明は、前記認証状態取得部は、前記第１アカウントで前記第１システムへ認証した利用者が使用する端末を識別する第１端末識別情報、及び、前記第２アカウントで前記第２システムへ認証した利用者が使用する端末を識別する第２端末識別情報を取得し、前記認証解除処理部は、さらに、前記第１端末識別情報及び前記第２端末識別情報が同じ端末を示す場合に、前記第２アカウントの認証状態を解除する、ことを特徴とする請求項２に記載の認証管理システムである。
【００１１】
請求項４に係る発明は、利用者の認証を行って前記利用者の認証状態を形成する第１及び第２システムにおける前記利用者の認証状態を取得する認証状態取得部と、前記第２システムで前記利用者の認証状態が形成された状態において前記第１システムで当該利用者の認証が行われた場合に、前記第２システムにおける当該利用者の認証状態を解除する認証解除処理部と、を備えることを特徴とする認証管理装置である。
【００１２】
請求項５に係る発明は、コンピュータを、利用者の認証を行って前記利用者の認証状態を形成する第１及び第２システムにおける前記利用者の認証状態を取得する認証状態取得部と、前記第２システムで前記利用者の認証状態が形成された状態において前記第１システムで当該利用者の認証が行われた場合に、前記第２システムにおける当該利用者の認証状態を解除する認証解除処理部と、として機能させることを特徴とする認証管理プログラムである。
【発明の効果】
【００１３】
請求項１、４及び５に記載の発明によれば、利用者が複数のシステムにおいて認証され得る場合に、複数のシステムにおいて同時に当該利用者の認証状態が形成されることを防止することができる。
【００１４】
請求項２に記載の発明によれば、利用者が第１アカウントで第１システムに認証した場合に、当該利用者が第２システムにおいて利用する第２アカウントの認証状態を解除することができる。
【００１５】
請求項３に記載の発明によれば、第２アカウントが認証状態であるときに第１アカウントの認証が行われた場合であっても、第１端末識別情報と第２端末識別情報が異なる端末を示す場合は、第２アカウントの認証状態を維持することができる。
【図面の簡単な説明】
【００１６】
【図１】本実施形態に係る認証管理システムの構成概略図である。
【図２】アカウントＤＢの例を示す概念図である。
【図３】認証状態ＤＢの例を示す概念図である。
【図４】本実施形態に係る認証管理システムにおける処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１７】
以下、本発明の実施形態を図面に基づいて説明する。
【００１８】
図１は、本実施形態に係る認証管理システム１０の構成概略図である。認証管理システム１０は、利用者であるユーザが使用するユーザ端末１２、複数のシステム、及び認証管理装置１４を含んで構成される。複数のシステムは作業用システムである。ユーザは、ユーザ端末１２から作業用システムにアクセスすることで、作業用システム上で作業あるいは操作を行う。本実施形態では、作業用システムとして、第１システムとしてのシステムＸ、及び第２システムとしてのシステムＹを含んでいる。もちろん、認証管理システム１０は３以上の作業用システムを有していてもよい。ユーザ端末１２と、複数のシステムとの間は、ＬＡＮ（Local Area Network）あるいはインターネットなどの通信回線を介して通信可能に接続されている。また、認証管理装置１４と、複数のシステムとの間も、ＬＡＮあるいはインターネットなどの通信回線を介して通信可能に接続されている。なお、図１にはユーザ端末１２が１つのみ示されているが、認証管理システム１０は、複数のユーザが使用する複数のユーザ端末１２を有していてもよい。
【００１９】
ユーザ端末１２は、例えばＰＣ（Personal Computer）あるいはタブレット端末などである。ユーザ端末１２は、通常のコンピュータが有する、ＣＰＵ（Central Processing Unit）などからなる制御部、ハードディスク、ＲＯＭ（Read Only Memory）あるいはＲＡＭ（Random Access Memory）などからなる記憶部、マウス、キーボードなどからなる入力部、液晶パネルなどからなる表示部、ネットワークアダプタなどからなる通信部、などを含んでいる。ユーザ端末１２は、作業用システムへのログインあるいはログアウト、及び作業用システム上での作業あるいは操作のために用いられる。
【００２０】
システムＸ及びＹは、例えばサーバなどのハードウェアにおいて構築されたシステムである。本実施形態では、システムＸ及びＹは、ウェブシステムを開発及び公開するためのシステムである。詳しくは、システムＸはウェブシステムの開発作業を行うための開発環境システムであり、システムＹはウェブシステムを公開するための本番環境システムである。ユーザ（開発者）は、システムＸにおいてウェブシステムの開発作業を行い、完成したウェブシステムをシステムＸからシステムＹに移植し、システムＹにおいて当該ウェブシステムを一般公開する。
【００２１】
システムＸは、認証部２０Ｘ、イベント送信部２２Ｘ、及びイベント受信部２４Ｘを含んで構成される。
【００２２】
認証部２０Ｘは、例えば、システムＸが構築されたサーバのＣＰＵなどから構成される。認証部２０Ｘは、システムＸを利用するユーザを認証して、当該ユーザの認証状態（ログイン状態）を形成する認証処理（ログイン処理）を行う。本実施形態では、認証部２０Ｘは、ユーザ端末１２から送信される認証情報に基づいてログイン処理を行う。認証情報とは、例えばユーザ端末１２においてユーザにより入力された認証用ＩＤ及びパスワードであるが、もちろんこれに限られない。
【００２３】
システムＸの記憶部（不図示）、あるいはシステムＸから通信可能な他のサーバにおいてユーザＤＢ（DataBase）が記憶されている。当該ユーザＤＢには、予めシステムＸに登録された、つまりシステムＸを利用可能なユーザに関する情報が登録されている。具体的には、ユーザＤＢには、システムＸにおいてユーザを一意に識別するアカウントのアカウント名と、当該ユーザがシステムＸにログインするための認証情報（例えば当該ユーザの認証用ＩＤ及びパスワード）が関連付けられて登録されている。なお、アカウント名と認証用ＩＤは同一であってもよい。
【００２４】
認証部２０Ｘは、ユーザ端末１２から受信した認証情報とユーザＤＢとを照合することでログイン処理を行う。認証部２０Ｘによりユーザがログインすると、当該ユーザは、システムＸ上において開発作業が可能になる。
【００２５】
また、認証部２０Ｘは、ユーザのログイン状態を解除する認証解除処理（ログアウト処理）も行う。認証部２０Ｘは、ログインしたユーザからの指示、あるいは、後述する認証管理装置１４からの指示により、ログアウト処理を行う。ログアウトしたユーザは、システムＸ上における開発作業が禁止される。
【００２６】
望ましくは、認証部２０Ｘは、システムＸにログインしたユーザが使用するユーザ端末１２を識別する端末識別情報を取得する。本実施形態では、システムＸのログイン時に、ユーザ端末１２から認証情報と共に端末識別情報がシステムＸに送信される。これにより、認証部２０Ｘが端末識別情報を取得する。
【００２７】
本実施形態では、端末識別情報として、ユーザ端末１２のＩＰ（Internet Protocol）アドレスが利用されるが、端末識別情報としてはＩＰアドレスに限られるものではない。端末識別情報としては、例えば、ユーザ端末１２に記憶された、ユーザ端末１２を一意に特定するデバイスＩＤであってもよいし、また、ユーザ端末１２のＭＡＣ（Media Access Control）アドレスであってもよい。あるいは、ユーザ端末１２がＧＰＳ（Global Positioning System）機能を有しているならば、ユーザ端末１２の位置を示すＧＰＳ情報を端末識別情報として利用してもよい。
【００２８】
イベント送信部２２Ｘは、例えば、システムＸが構築されたサーバのネットワークアダプタなどから構成される。イベント送信部２２Ｘは、認証部２０Ｘがログイン処理を行った際に、ユーザがシステムＸにログインしたことを示すログイン通知イベントを認証管理装置１４に送信する。当該ログイン通知イベントには、システムＸにログインしたユーザのアカウントを識別する情報（本実施形態ではアカウント名）、及びログイン先のシステムを示すログイン先情報が含まれる。望ましくは、ログイン通知イベントには、上述の端末識別情報が含まれる。
【００２９】
また、イベント送信部２２Ｘは、認証部２０Ｘがログアウト処理を行った際に、ユーザがシステムＸからログアウトしたことを示すログアウト通知イベントを認証管理装置１４に送信する。当該ログアウト通知イベントには、システムＸからログアウトしたユーザのアカウントを識別する情報（本実施形態ではアカウント名）、及びログアウトしたシステムを示すログアウト元情報が含まれる。なお、ログイン通知イベント及びログアウト通知イベントは認証部２０Ｘにより生成される。
【００３０】
イベント受信部２４Ｘは、イベント送信部２２Ｘ同様、ネットワークアダプタなどから構成される。イベント受信部２４Ｘは、認証管理装置１４から送信されるログアウト指示イベントを受信する。ログアウト指示イベントの詳細については後述する。
【００３１】
システムＹは、システムＸ同様、認証部２０Ｙ、イベント送信部２２Ｙ、及びイベント受信部２４Ｙを含んで構成される。認証部２０Ｙ、イベント送信部２２Ｙ、及びイベント受信部２４Ｙの機能は、それぞれ認証部２０Ｘ、イベント送信部２２Ｘ、及びイベント受信部２４Ｘと同様であるため、詳細な説明は省略する。
【００３２】
なお、本実施形態では、システムＸ及びＹがそれぞれ認証部２０Ｘ、２０Ｙを有しているが、システムＸ及びＹに認証部２０Ｘ、２０Ｙを持たせず、認証部２０Ｘ、２０Ｙが発揮する機能を有する認証装置をシステムＸ及びＹの外部に設けるようにしてもよい。この場合、ユーザ端末１２は、ログイン先を示す情報を含む認証情報を認証装置に送信し、認証装置が当該認証情報に基づいて、ユーザ所望のシステムにおいてログイン処理を行う。
【００３３】
認証管理装置１４は、例えばサーバなどのコンピュータから構成される。認証管理装置１４としては、以下に説明する機能を発揮可能である限りにおいてどのような装置であってもよい。以下、認証管理装置１４の各部について説明する。
【００３４】
イベント受信部３０は、例えばネットワークアダプタなどから構成される。イベント受信部３０は、システムＸ及びシステムＹから、ログイン通知イベント及びログアウト通知イベントを受信する。これにより、認証管理装置１４は、システムＸ及びシステムＹにおけるユーザのログイン状態を取得することができる。つまり、イベント受信部３０は、認証状態取得部として機能する。ログイン通知イベントには、ログインしたユーザのアカウント名及びログイン先情報が含まれ、また、ログアウト通知イベントにはログアウトしたユーザのアカウント名及びログアウト元情報が含まれるから、イベント受信部３０は、システムＸ及びシステムＹにおける各アカウントの認証状態を取得することができる。イベント受信部３０は、受信したログイン通知イベント及びログアウト通知イベントを後述の制御部３８に出力する。
【００３５】
記憶部３２は、ハードディスク、ＲＯＭ、あるいはＲＡＭなどから構成される。記憶部３２には、認証管理装置１４の各部を機能させるためのプログラムが記憶される。また、記憶部３２においては、アカウントＤＢ３４及び認証状態ＤＢ３６が構築される。
【００３６】
アカウントＤＢ３４には、認証管理システム１０に含まれる各作業用システムにおいて登録されたアカウントに関するアカウント情報が記憶されている。図２に、アカウントＤＢ３４の例が示されている。図２に示される通り、本実施形態においては、アカウントＤＢ３４はテーブル形式となっており、１つのレコードが１つのアカウント情報に対応している。各アカウント情報においては、アカウント名、及び当該アカウントが登録されたシステムを示すシステム名情報が関連付けられている。なお、本実施形態では、同一のシステムにおいては同一のアカウント名を登録することができなくなっている。つまり、アカウント名及びシステム名情報によりアカウント情報を一意に特定することができる。アカウント情報に含まれるアカウント番号は、アカウント情報の識別番号である。
【００３７】
ユーザは、システムＸとシステムＹにおいてそれぞれアカウントを登録し得る。そして、アカウントＤＢ３４は、複数の作業用システムに登録されたアカウントに関するアカウント情報を含んでいる。したがって、アカウントＤＢ３４には、同一のユーザが利用する複数のアカウントに対応する複数のアカウント情報が含まれ得る。アカウント情報には、同一のユーザが利用する他のアカウント情報を示す関連アカウント情報が含まれる。図２の例においては、関連アカウント情報は「関連アカウント」列に示されている。例えば、一番上のレコードを参照すると、関連アカウント情報として「０００４」が付されている。これは、同じユーザが利用するアカウントのアカウント番号を示すものである。つまり、アカウント番号「０００１」及びアカウント名「アカウントＸＡ」が示す「システムＸ」のアカウント（第１アカウント）と、アカウント番号「０００４」及びアカウント名「アカウントＹＧ」が示す「システムＹ」のアカウント（第２アカウント）は、同一のユーザが利用することが示されている。このように、アカウントＤＢ３４においては、同一のユーザが利用する複数のアカウントが関連付けられて記憶されている。
【００３８】
アカウントＤＢ３４は、認証管理システム１０の管理者などによって予め生成され、記憶部３２に記憶される。以上のように、記憶部３２は、アカウント情報記憶部としても機能する。
【００３９】
認証状態ＤＢ３６には、アカウントＤＢ３４に記憶されている各アカウントのログイン状態が記憶される。図３に、認証状態ＤＢ３６の例が示されている。図３に示される通り、本実施形態においては認証状態ＤＢ３６もテーブル形式となっている。認証状態ＤＢ３６の各レコードは、アカウントＤＢ３４が有する各レコード（つまりアカウント）に対応したものとなっている。認証状態ＤＢ３６は、アカウント番号と、当該アカウント番号が示すアカウントの認証状態を示す認証状態情報が関連付けられて記憶されている。認証状態情報としては、「ログイン状態」及び「ログアウト状態」のいずれかを取り得る。望ましくは、ログイン状態のアカウント番号には、ログインのときに認証情報を送信したユーザ端末１２を識別する端末識別情報である送信元ＩＰアドレスが関連付けられて記憶される。認証状態ＤＢ３６の内容は、後述のログアウト処理部４０により適宜更新される。その処理については後述する。
【００４０】
制御部３８は、例えばＣＰＵなどから構成される。制御部３８は、記憶部３２に記憶されたプログラムに従って、認証管理装置１４の各部を制御する。また、制御部３８は、当該プログラムにより認証解除処理部としてのログアウト処理部４０としても機能する。
【００４１】
ログアウト処理部４０は、認証状態ＤＢ３６の更新処理、及び、認証管理システムに含まれる、つまり認証管理装置１４が管理する複数の作業用システムにおいて同一のユーザが同時にログイン状態を形成することを防止するためのログアウト指示イベント作成処理を行う。
【００４２】
まず、認証状態ＤＢ３６の更新処理について説明する。イベント受信部３０がログイン通知イベントを受信すると、ログアウト処理部４０は、当該ログイン通知イベントに含まれるアカウント名及びログイン先情報をキーとしてアカウントＤＢ３４を参照し、当該ログイン通知イベントに係るアカウントのアカウント番号を特定する。例えば、図２に示すアカウントＤＢ３４が記憶されているとすると、受信したログイン通知イベントに含まれるアカウント名が「アカウントＹＧ」であり、ログイン先情報が「システムＹ」である場合、ログアウト処理部４０はアカウント番号「０００４」を特定する。そして、認証状態ＤＢ３６におけるアカウント番号「０００４」に関連付けられた認証状態情報を「ログイン状態」に更新する。
【００４３】
ログイン通知イベントにユーザ端末１２のＩＰアドレスが含まれている場合には、ログアウト処理部４０は、認証状態ＤＢ３６において、アカウント番号「０００４」と当該ＩＰアドレスとを関連付けて記憶させる。図３の例では、送信元ＩＰアドレスとして「１９２．１６８．ｘｘｘ．ｘｘｘ」がアカウント番号「０００４」に関連付けられて記憶されている。
【００４４】
同様に、イベント受信部３０がログアウト通知イベントを受信すると、ログアウト処理部４０は、当該ログアウト通知イベントに含まれるアカウント名及びログアウト元情報をキーとしてアカウントＤＢ３４を参照し、当該ログアウト通知イベントに係るアカウントのアカウント番号を特定する。例えば、受信したログアウト通知イベントに含まれるアカウント名が「アカウントＹＧ」であり、ログアウト元情報が「システムＹ」である場合、アカウント番号「０００４」を特定する。そして、認証状態ＤＢ３６におけるアカウント番号「０００４」に関連付けられた認証状態情報を「ログアウト状態」に更新する。また、認証状態ＤＢ３６において、特定したアカウント番号に送信元ＩＰアドレスが関連付けられて記憶されている場合は、当該送信元ＩＰアドレスを削除する。
【００４５】
次に、ログアウト指示イベント作成処理について説明する。ログアウト指示イベントは、認証管理装置１４が管理する複数の作業用システムのうち一の作業用システムにおいてユーザがログイン状態となっている場合に、当該ユーザが他の作業用システムにログインしようとした場合に、当該一の作業用システムから当該ユーザをログアウトさせるためのイベントである。
【００４６】
イベント受信部３０がログイン通知イベントを受信すると、ログアウト処理部４０は、当該ログイン通知イベントに含まれるアカウント名及びログイン先情報をキーとしてアカウントＤＢ３４を参照し、アカウント情報を特定する。例えば、図２に示すアカウントＤＢ３４が記憶されているとすると、受信したログイン通知イベントに含まれるアカウント名が「アカウントＸＡ」であり、ログイン先情報が「システムＸ」である場合、ログアウト処理部４０はアカウント番号「０００１」が示すアカウント情報を特定する。そして、特定したアカウント情報に関連アカウント情報が付されているか否かを判定し、付されている場合は当該関連アカウント情報を特定する。ここでは、図２に示す通り、特定されたアカウント情報には、関連アカウント情報として「０００４」が付されているため、関連アカウント情報「０００４」が特定される。なお、特定したアカウント情報に関連アカウント情報が付されていない場合は、ログアウト処理部４０はログアウト指示イベントを作成しない。
【００４７】
次に、ログアウト処理部４０は、認証状態ＤＢ３６を参照し、特定された関連アカウントのアカウント番号「０００４」の認証状態情報を判定する。当該アカウント番号の認証状態情報が「ログイン状態」である場合、ログアウト処理部４０は、アカウントＤＢ３４に基づいて、アカウント番号「０００４」が示すアカウントをログアウトさせるためのログアウト指示イベントを作成する。
【００４８】
ログアウト指示イベントには、アカウント番号「０００４」が示すアカウントのアカウント名「アカウントＹＧ」が含まれる。また、ログアウト指示イベントには、送信先の作業用システムにおいて、当該アカウント名のログイン状態を解除（つまりログアウト）させるログアウト指示情報が含まれる。なお、特定したアカウント番号の認証状態情報が「ログアウト状態」である場合は、ログアウト処理部４０はログアウト指示イベントを作成しない。
【００４９】
望ましくは、システムＸから受信したログイン通知イベントにユーザ端末１２のＩＰアドレスが含まれている場合に、当該ＩＰアドレスを考慮してログアウト指示イベントを作成するか否かを判定するようにしてもよい。具体的には、ログアウト処理部４０は、特定された関連アカウントのアカウント番号「０００４」の認証状態情報が「ログイン状態」である場合、受信したログイン通知イベントに含まれたＩＰアドレス（第１端末識別情報）と、認証状態ＤＢ３６においてアカウント番号「０００４」に関連付けられている送信元ＩＰアドレス（第２端末識別情報）とを比較する。そして、両者が一致した場合に、アカウント番号「０００４」が示すアカウントをログアウトさせるためのログアウト指示イベントを作成する。両ＩＰアドレスが異なる場合、つまりシステムＸにログインしたユーザが使用するユーザ端末１２と、システムＹにログインしたユーザが使用するユーザ端末１２が異なる場合には、ログアウト処理部４０はログアウト指示イベントを生成しない。
【００５０】
イベント送信部４２は、イベント受信部３０と同様に、例えばネットワークアダプタなどから構成される。イベント送信部４２は、ログアウト処理部４０が生成したログアウト指示イベントを作業用システムに送信する。ログアウト処理部４０は、ログアウト指示イベントの生成処理において、特定した関連アカウント情報（上述の例ではアカウント番号「０００４」が示すアカウント情報）に含まれるシステム名情報（上述の例では「システムＹ」）を、当該ログアウト指示イベントの送信先としてイベント送信部４２に指示する。イベント送信部４２は、指示された送信先であるシステムＹに当該ログアウト指示イベントを送信する。
【００５１】
システムＹのイベント受信部２４Ｙは、受信したログアウト指示イベントに基づいて、システムＹにおいてアカウント名「アカウントＹＧ」が示すアカウントのログアウト処理を行う。
【００５２】
認証管理システム１０の概要は以上の通りである。認証管理システム１０によれば、ユーザがシステムＹにログインした状態で、当該ユーザがシステムＸにログインする場合に、ユーザが別途の操作を必要とせずに、当該ユーザがシステムＹからログアウトされる。つまり、複数の作業用システムにおいて同一のユーザが同時にログイン状態を形成することが防止される。これにより、本実施形態においては、開発環境システム（システムＸ）と本番環境システム（システムＹ）における同時ログインが防止され、開発環境システムで作業しているつもりが、実は本番環境システムにおいて作業してしまっていたといった事態が未然に防止される。つまり、作業を行う作業用システムを間違えることによって生じる誤操作が防止される。
【００５３】
また、望ましくは、ユーザがシステムＹにログインした状態で、当該ユーザがシステムＸにログインする場合であって、システムＹにログインしたときに用いられたユーザ端末１２と、システムＸにログインしたときに用いられたユーザ端末１２が同じであると判定された場合に、当該ユーザはシステムＹからログアウトされる。
【００５４】
例えば、システムＹに登録されたアカウント「アカウントＹＧ」が共有アカウントである場合が考えられる。共有アカウントとは複数のユーザが利用可能なアカウントである。アカウント「アカウントＹＧ」は、アカウント「アカウントＸＡ」を利用する第１のユーザ、及び第１のユーザとは異なる第２のユーザが利用可能であるとする。このような場合、共有アカウント「アカウントＹＧ」を利用して第２のユーザがシステムＹで作業中に、第１のユーザがアカウント「アカウントＸＡ」を用いてシステムＸにログインした場合、当該共有アカウント「アカウントＹＧ」がシステムＹからログアウトされ、第２のユーザの作業が中断されるのは望ましくない。
【００５５】
このような事態を避けるために、端末識別情報に基づいて、システムＹに共有アカウント「アカウントＹＧ」でログインしたときに第２のユーザが使用したユーザ端末１２と、システムＸにアカウント「アカウントＸＡ」でログインしたときに第１のユーザが使用したユーザ端末１２が異なると判定される場合は、異なるユーザが両システムにログインしたと判定し、ログアウト処理部４０はログアウト指示イベントを生成しない。これにより、作業用システムに共有アカウントが登録された場合であっても、同一のユーザが複数の作業用システムに同時にログインすることを防止しつつ、異なるユーザについては、複数の作業用システムに同時にログインすることが許容される。
【００５６】
このように、本質的には、システムＸにログインしたユーザとシステムＹにログインしたユーザとが異なるか否かを判定し、異なる場合にはログアウト指示イベントは生成されない。実質的には、システムＸ及びシステムＹにログインしたユーザ自体を識別することが困難であることから、本実施形態では、システムＸにログインしたときに用いられたユーザ端末１２と、システムＹにログインしたときに用いられたユーザ端末１２が同じである場合に、システムＸ及びシステムＹにログインしたユーザが同一である、と擬制しているのである。
【００５７】
なお、端末識別情報としてＧＰＳ情報が利用される場合は、システムＹに第２のユーザがログインしたときに使用したユーザ端末１２の位置を示すＧＰＳ情報（これが認証状態ＤＢ３６に登録される）と、システムＸに第１のユーザがログインしたときに使用したユーザ端末１２の位置を示すＧＰＳ情報とを比較して、両ＧＰＳ情報が示す位置が所定距離以内である場合に、同じユーザ端末１２が用いられてシステムＸ及びＹにログインされた、と判定する。
【００５８】
以下、図４に示すフローチャートに従って、認証管理システム１０における処理の流れについて説明する。なお、図４に示すフローチャートの開始時点において、ユーザが「アカウントＹＧ」にてシステムＹにログイン済みであるとする。また、当該フローチャート開始時点において、図２に示すアカウントＤＢ３４、及び図３に示す認証状態ＤＢ３６が記憶部３２に記憶されているとする。
【００５９】
ステップＳ１０において、ユーザは、ユーザ端末１２に認証情報を入力し、入力した認証情報をシステムＸに送信する。
【００６０】
ステップＳ１２において、システムＸの認証部２０Ｘは、ユーザ端末１２からの認証情報に基づいてログイン処理を行う。
【００６１】
ステップＳ１４において、イベント送信部２２Ｘは、システムＸにユーザがログインしたことを通知するログイン通知イベントを認証管理装置１４に送信する。ここでは、ログイン通知イベントには、ステップＳ１２でログインしたユーザが利用するアカウント名「アカウントＸＡ」、ログイン先情報「システムＸ」、及び、当該ユーザがログイン時に使用したユーザ端末１２のＩＰアドレス「１９２．１６８．ｘｘｘ．ｘｘｘ」が含まれるとする。
【００６２】
ステップＳ１６において、認証管理装置１４のログアウト処理部４０は、システムＸから受信したログイン通知イベントに基づいて認証状態ＤＢ３６を更新する。具体的には、ログイン通知イベントに含まれるアカウント名「アカウントＸＡ」及びログイン先情報「システムＸ」に基づいてアカウントＤＢ３４においてアカウント番号「０００１」を特定し、認証状態ＤＢ３６においてアカウント番号「０００１」に関連付けられた認証状態を「ログイン状態」に更新する。さらに、ログアウト処理部４０は、ログイン通知イベントに含まれるＩＰアドレス「１９２．１６８．ｘｘｘ．ｘｘｘ」を認証状態ＤＢ３６においてアカウント番号「０００１」に関連付けて記憶させる。
【００６３】
ステップＳ１８において、ログアウト処理部４０は、受信したログイン通知イベントに係るアカウントが、アカウントＤＢにおいて他のアカウントに関連付けられているか否かを判定する。ここでは、図２を参照し、受信したアカウント名「アカウントＸＡ」及びログイン先情報「システムＸ」が示すアカウント情報は、関連アカウント情報「０００４」を有するため、ステップＳ２０に進む。なお、受信したアカウントに関連アカウント情報が関連付けられていない場合は処理を終了する。
【００６４】
ステップＳ２０において、ログアウト処理部４０は、ステップＳ１８で特定された関連アカウントの認証状態がログイン状態であるか否かを判定する。ここでは、図３を参照し、アカウント番号「０００４」には認証状態「ログイン状態」が関連付けられているため、ステップＳ２２に進む、なお、関連アカウントが「ログアウト状態」である場合は処理を終了する。
【００６５】
ステップＳ２２において、ログアウト処理部４０は、さらに、受信したログイン通知イベントに含まれるＩＰアドレスと、関連アカウントに関連付けられた送信元ＩＰアドレスが同一であるか否かを判定する。ここでは、ログイン通知イベントに含まれるＩＰアドレス「１９２．１６８．ｘｘｘ．ｘｘｘ」と、認証状態ＤＢ３６においてアカウント番号「０００４」に関連付けられた送信元ＩＰアドレス「１９２．１６８．ｘｘｘ．ｘｘｘ」とが一致するため、ステップＳ２４に進む。なお、両ＩＰアドレスが異なる場合は処理を終了する。
【００６６】
ステップＳ２４において、ログアウト処理部４０は、ステップＳ１８で特定された関連アカウントをログアウトさせるためのログアウト指示イベントを生成する。ログアウト指示イベントには、ステップＳ１８で特定された関連アカウントのアカウント名「アカウントＹＧ」、及び当該アカウント名のログイン状態を解除させるログアウト指示情報が含まれる。イベント送信部４２は、当該ログアウト指示情報をシステムＹに送信する。
【００６７】
ステップＳ２６において、システムＹのイベント受信部２４Ｙがログアウト指示イベントを受信すると、認証部２０Ｙは、システムＹにおいて、アカウント「アカウントＹＧ」をログアウトさせる処理を行う。これにより、当該ユーザによるシステムＹにおける作業あるいは操作が禁止される。
【００６８】
ステップＳ２８において、イベント送信部２２Ｙは、システムＹからユーザがログアウトしたことを通知するログアウト通知イベントを認証管理装置１４に送信する。ログアウト通知イベントには、ログアウトしたアカウントのアカウント名「アカウントＹＧ」及びログアウト元情報「システムＹ」が含まれる。
【００６９】
ステップＳ３０において、ログアウト処理部４０は、システムＹから受信したログアウト通知イベントに基づいて認証状態ＤＢ３６を更新する。具体的には、ログアウト通知イベントに含まれるアカウント名「アカウントＹＧ」及びログアウト元情報「システムＹ」に基づいてアカウントＤＢ３４においてアカウント番号「０００４」を特定し、認証状態ＤＢ３６においてアカウント番号「０００４」に関連付けられた認証状態を「ログアウト状態」に更新する。さらに、ログアウト処理部４０は、アカウント番号「０００４」に関連付けられた送信元ＩＰアドレス「１９２．１６８．ｘｘｘ．ｘｘｘ」を削除する。
【００７０】
以上、本発明に係る実施形態を説明したが、本発明は上記実施形態に限られるものではなく、本発明の趣旨を逸脱しない限りにおいて種々の変更が可能である。
【符号の説明】
【００７１】
１０  認証管理システム、１２  ユーザ端末、１４  認証管理装置、２０Ｘ，２０Ｙ  認証部、２２Ｘ，２２Ｙ，４２  イベント送信部、２４Ｘ，２４Ｙ，３０  イベント受信部、３２  記憶部、３４  アカウントＤＢ、３６  認証状態ＤＢ、３８  制御部、４０  ログアウト処理部。
【図１】
2018036873.tif 000003
【図２】
2018036873.tif 000004
【図３】
2018036873.tif 000005
【図４】
2018036873.tif 000006