(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023034929
(43)【公開日】2023-03-13
(54)【発明の名称】情報処理装置、情報処理システム、情報処理方法、及びプログラム
(51)【国際特許分類】
G06F 21/45 20130101AFI20230306BHJP
G06F 21/31 20130101ALI20230306BHJP
【FI】
G06F21/45
G06F21/31
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2021141422
(22)【出願日】2021-08-31
(71)【出願人】
【識別番号】000006747
【氏名又は名称】株式会社リコー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】田中 健介
(57)【要約】
【課題】異なる認証サービスにより認証された同一のユーザが別ユーザとして扱われることを避けること。
【解決手段】複数のアプリケーションを利用するユーザを認証するために異なる認証サービスを利用する情報処理装置であって、前記ユーザを認証した認証サーバから前記ユーザのユーザ情報を受信する第1通信部と、第1のアプリケーションを利用する第1のユーザ及び第2のアプリケーションを利用する第2のユーザのユーザ情報の予め定めた項目の内容が同一である場合、前記第1のユーザと前記第2のユーザは同一ユーザとする検証部と、同一ユーザとして前記第1のアプリケーション及び前記第2のアプリケーションを用いるために、前記同一ユーザの第1ユーザ情報と第2ユーザ情報を統合した統合ユーザ情報を生成する統合部と、を有することを特徴とする。
【選択図】
図3
【特許請求の範囲】
【請求項1】
複数のアプリケーションを利用するユーザを認証するために異なる認証サービスを利用する情報処理装置であって、
前記ユーザを認証した認証サーバから前記ユーザのユーザ情報を受信する第1通信部と、
第1のアプリケーションを利用する第1のユーザ及び第2のアプリケーションを利用する第2のユーザのユーザ情報の予め定めた項目の内容が同一である場合、前記第1のユーザと前記第2のユーザは同一ユーザとする検証部と、
同一ユーザとして前記第1のアプリケーション及び前記第2のアプリケーションを用いるために、前記同一ユーザの第1のユーザ情報と第2のユーザ情報を統合した統合ユーザ情報を生成する統合部と、
を有する情報処理装置。
【請求項2】
前記第1通信部は、前記第1のユーザの認証時に、ユーザ検証情報を前記第1のユーザが利用する端末装置に送信し、
前記検証部は、前記第2のユーザの認証時に、前記ユーザ検証情報を用いて、前記第1のユーザと前記第2のユーザが同一のユーザであるかを検証する請求項1に記載の情報処理装置。
【請求項3】
前記検証部は、前記ユーザの認証時に、前記ユーザのユーザ情報に含まれるメールアドレスに送信したメールに含まれるアクセス情報にアクセスしたことを確認することにより、前記第1のユーザと前記第2のユーザが同一ユーザであることを検証する請求項1に記載の情報処理装置。
【請求項4】
前記統合ユーザ情報を記憶する記憶部を更に有する請求項1に記載の情報処理装置。
【請求項5】
複数のアプリケーションを利用するユーザを認証するために異なる認証サービスを利用する情報処理装置と前記認証サービスを提供する認証サーバを有する情報処理システムであって、
前記ユーザを認証した認証サーバから前記ユーザのユーザ情報を受信する第1通信部と、
第1のアプリケーションを利用する第1のユーザ及び第2のアプリケーションを利用する第2のユーザのユーザ情報の予め定めた項目の内容が同一である場合、前記第1のユーザと前記第2のユーザは同一ユーザとする検証部と、
同一ユーザとして前記第1のアプリケーション及び前記第2のアプリケーションを用いるために、前記同一ユーザの第1のユーザ情報と第2のユーザ情報を統合した統合ユーザ情報を生成する統合部と、
を有する情報処理装置と、
前記ユーザの認証を実行する認証部と、
前記ユーザのユーザ情報を前記情報処理装置に送信する第2通信部と、
を有する認証サーバと、
を有する情報処理システム。
【請求項6】
複数のアプリケーションを利用するユーザを認証するために異なる認証サービスを利用する情報処理装置が実行する情報処理方法であって、
前記ユーザを認証した認証サーバから前記ユーザのユーザ情報を受信するステップと、
第1のアプリケーションを利用する第1のユーザ及び第2のアプリケーションを利用する第2のユーザのユーザ情報の予め定めた項目の内容が同一である場合、前記第1のユーザと前記第2のユーザは同一ユーザとするステップと、
同一ユーザとして前記第1のアプリケーション及び前記第2のアプリケーションを用いるために、前記同一ユーザの第1のユーザ情報と第2のユーザ情報を統合した統合ユーザ情報を生成するステップと、
を有する情報処理方法。
【請求項7】
複数のアプリケーションを利用するユーザを認証するために異なる認証サービスを利用する情報処理装置に、
前記ユーザを認証した認証サーバから前記ユーザのユーザ情報を受信するステップと、
第1のアプリケーションを利用する第1のユーザ及び第2のアプリケーションを利用する第2のユーザのユーザ情報の予め定めた項目の内容が同一である場合、前記第1のユーザと前記第2のユーザは同一ユーザとするステップと、
同一ユーザとして前記第1のアプリケーション及び前記第2のアプリケーションを用いるために、前記同一ユーザの第1のユーザ情報と第2のユーザ情報を統合した統合ユーザ情報を生成するステップと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理システム、情報処理方法、及びプログラムに関する。
【背景技術】
【0002】
近年では、社内ネットワークやクラウドネットワークにおいて様々なアプリケーションやサービスが提供され、ユーザには、それぞれのアプリケーション、サービス、あるいは認証サービス毎に異なるユーザ名などのユーザ情報が与えられる場合がある。ここで、アプリケーションやサービスの間で連携した機能を用いる場合、ユーザ名などのユーザ情報が異なっていても同一ユーザとして扱える仕組みが必要である。特許文献1には、同一ユーザにおける異なる認証サービスのユーザ名(個別名)を統合した情報を用いて、異なるユーザ名(個別名)であっても同一ユーザとして認証を行う技術が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【0003】
しかしながら、従来の技術では、異なる認証サービスにより認証されたユーザを同一ユーザとして扱うためには、それぞれの認証サービスにおける同一ユーザのユーザ情報を予め統合しておく必要があるという問題があった。
【0004】
本発明の実施形態は、上記課題に鑑み、同一ユーザの異なる認証サービスにおけるユーザ情報を統合した情報を予め作成することなく、異なる認証サービスにより認証された同一のユーザが別ユーザとして扱われることを避けることを目的とする。
【課題を解決するための手段】
【0005】
上述した課題を解決するために、本発明は、複数のアプリケーションを利用するユーザを認証するために異なる認証サービスを利用する情報処理装置であって、前記ユーザを認証した認証サーバから前記ユーザのユーザ情報を受信する第1通信部と、第1のアプリケーションを利用する第1のユーザ及び第2のアプリケーションを利用する第2のユーザのユーザ情報の予め定めた項目の内容が同一である場合、前記第1のユーザと前記第2のユーザは同一ユーザとする検証部と、同一ユーザとして前記第1のアプリケーション及び前記第2のアプリケーションを用いるために、前記同一ユーザの第1ユーザ情報と第2ユーザ情報を統合した統合ユーザ情報を生成する統合部と、を有することを特徴とする。
【発明の効果】
【0006】
本発明の実施形態によれば、同一ユーザの異なる認証サービスにおけるユーザ情報を統合した情報を予め作成することなく、異なる認証サービスにおけるユーザを同一ユーザとして扱うことができる。
【図面の簡単な説明】
【0007】
【
図1】本発明の実施形態に係る情報処理システムの概略図の一例を示す図である。
【
図2】本発明の実施形態に係るサーバ装置等のハードウェア構成の一例を示す図である。
【
図3】本発明の実施形態に係る情報処理システムの機能ブロックの構成図の一例を示す図である。
【
図4】本発明の実施形態に係るユーザ情報の一例を示す図である。
【
図5】本発明の実施形態に係る統合設定の一例を示す図である。
【
図6】本発明の実施形態に係る統合ユーザ情報の一例を示す図である。
【
図7】本発明の実施形態に係る統合認証処理のフローチャートの一例を示す図である。
【
図8】本発明の実施形態に係る統合認証のパスワード表示画面の一例を示す図である。
【
図9】本発明の実施形態に係る統合認証のパスワード要求画面の一例を示す図である。
【
図10】本発明の実施形態に係るURLを含むメール文書の一例を示す図である。
【
図11】本発明の実施形態に係る統合認証処理のシーケンスの一例を示す図である。
【
図12】本発明の実施形態に係るメニュー画面の一例を示す図である。
【
図13】本発明の実施形態に係る認証情報入力画面の一例を示す図である。
【
図14】本発明の実施形態に係る統合ユーザ情報の一例(2)を示す図である。
【
図15】本発明の実施形態に係る統合ユーザ情報の一例(3)を示す図である。
【
図16】本発明の実施形態に係るアプリB(ストレージサービス)の画面の一例を示す図である。
【
図17】本発明の実施形態に係るIDトークンの一例を示す図である。
【発明を実施するための形態】
【0008】
以下、添付図面を参照しながら、本発明に係る情報処理装置、情報処理システム、情報処理方法、及びプログラムの実施形態を詳細に説明する。
【0009】
[第1の実施形態]
<システム概要>
図1は、本発明の実施形態に係る情報処理システムの概略図の一例を示す図である。
図1に示す情報処理システム5において、端末装置4(4A、4B、…)、統合認証サーバ2、および認証サーバ3(3A、3B、…)が、通信ネットワーク1に接続されている。また、統合認証サーバ2には、アプリサーバ6が接続されている。また、統合認証サーバ2は、ユーザ情報記憶部7、統合設定記憶部8、統合ユーザ情報記憶部9を有する記憶装置10を備える。端末装置4は、ノートパソコンやデスクトップパソコンであるか、あるいはタブレット端末やスマートフォンなどであってもよい。記憶装置10が有する各記憶部の詳細については後述する。
【0010】
ユーザは、アプリサーバ6により提供されるアプリケーション(アプリA)の利用を要求するために、端末装置4を操作して、通信ネットワーク1を介して、統合認証サーバ2にアクセスする。統合認証サーバ2は、ユーザが利用を要求するアプリケーション(アプリA)に対応するユーザ認証を認証サーバ3に実行させる。ユーザ認証が成功した場合、統合認証サーバ2は、ユーザが同一であるかを検証するためのユーザ検証情報(パスワードまたはアクセス情報)を発行し、更に、ユーザに関する情報(ユーザ名やホームディレクトリなど)を統合ユーザ情報記憶部9に記憶する。次に、同一のユーザが別のアプリケーション(アプリB)の利用を要求した場合、統合認証サーバ2は、アプリBに対応するユーザ認証を認証サーバ3に実行させる。その後、統合認証サーバ2は、ユーザ検証情報を用いて、アプリAとアプリBの利用を要求した各々のユーザが同一のユーザであるか否かの検証を実行する。ユーザ検証が成功した場合、統合認証サーバ2は、アプリBを利用する際のユーザ認証時に取得したユーザに関する情報を用いて統合ユーザ情報記憶部9に記憶した情報を更新する。
【0011】
これらの処理により、ユーザは、アプリAとアプリBを同一のユーザとして実行することが可能となる。例えば、アプリAが文書作成アプリ、アプリBがストレージサービスであるとすると、統合ユーザ情報記憶部9にはアプリBのユーザ情報として、ストレージの場所(ホームディレクトリなど)が含まれる。従って、ユーザは、アプリAで作成した文書ファイルをアプリBで提供されるストレージに保存することが可能となる。
【0012】
すなわち、情報処理システム5は、ユーザが複数のアプリケーションを利用する際に、異なる認証サービスのユーザが同一ユーザであるか否かを検証するユーザ検証と、アプリケーション間で共有する統合ユーザ情報の生成を行う。
【0013】
また、
図1に示す情報処理システム5の構成は一例であって、他の構成であっても良い。例えば、アプリサーバ6は、統合認証サーバ2の内部に含まれる、あるいは通信ネットワーク1に接続される構成であってもよい。また、認証サーバ3は、統合認証サーバ2に接続される構成であってもよい。また、以降、アプリケーションは、単にアプリと省略して呼ぶ場合もある。
【0014】
<ハードウェア構成例>
図2は、本発明の実施形態に係るサーバ装置等(統合認証サーバ2、認証サーバ3、アプリサーバ6、端末装置4)のハードウェア構成の一例を示す図である。
図2に示されるように、サーバ装置等はコンピュータによって構築されており、CPU501、ROM502、RAM503、HD(Hard Disk)504、HDD(Hard Disk Drive)コントローラ505、ディスプレイ506、外部機器接続I/F(Interface)508、ネットワークI/F509、バスライン510、キーボード511、ポインティングデバイス512、DVD-RW(Digital Versatile Disk Rewritable)ドライブ514、メディアI/F516を備えている。
【0015】
これらのうち、CPU501は、サーバ装置等全体の動作を制御する。ROM502は、IPL等のCPU501の駆動に用いられるプログラムを記憶する。RAM503は、CPU501のワークエリアとして使用される。HD504は、プログラム等の各種データを記憶する。HDDコントローラ505は、CPU501の制御にしたがってHD504に対する各種データの読み出し又は書き込みを制御する。ディスプレイ506は、カーソル、メニュー、ウィンドウ、文字、又は画像などの各種情報を表示する。外部機器接続I/F508は、各種の外部機器を接続するためのインターフェースである。この場合の外部機器は、例えば、USB(Universal Serial Bus)メモリやプリンタ等である。ネットワークI/F509は、ネットワークN2を利用してデータ通信をするためのインターフェースである。バスライン510は、
図2に示されているCPU501等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
【0016】
また、キーボード511は、文字、数値、又は各種指示などの入力に使用される複数のキーを備えた入力手段の一種である。ポインティングデバイス512は、各種指示の選択や実行、処理対象の選択、カーソルの移動などを行う入力手段の一種である。DVD-RWドライブ514は、着脱可能な記録媒体の一例としてのDVD-RW513に対する各種データの読み出し又は書き込みを制御する。なお、DVD-RWドライブ514は、DVD-RWに限らず、DVD-R等であってもよい。メディアI/F516は、フラッシュメモリ等の記録メディア515に対するデータの読み出し又は書き込み(記憶)を制御する。
【0017】
<機能について>
図3は、本発明の実施形態に係る情報処理システム5の機能ブロックの構成図の一例を示す図である。
【0018】
統合認証サーバ2は、検証部20、統合部21、および第1通信部22を有する。これら各部は、統合認証サーバ2にインストールされた1以上のプログラムに含まれる命令をCPU501が実行することで実現される機能又は手段である。また、統合認証サーバ2は、記憶装置10を備える。記憶装置10は、ユーザ情報記憶部7、統合設定記憶部8、および統合ユーザ情報記憶部9を有する。
【0019】
検証部20は、異なる認証サービスのユーザが同一のユーザであるかを検証する。検証部20は、まず、ユーザ認証時に取得したユーザ情報やユーザ統合する際のルールである統合設定などを用いて、認証したユーザがすでに登録済みのユーザと同一のユーザであるかを検証する。更に、検証部20は、ユーザ検証用のパスワードを用いる方法(パスワード方式)、あるいはユーザのメールアドレスにURLなどのアクセス情報を送付する方法(メール方式)によって、ユーザの検証を行う。
【0020】
パスワード方式の場合、検証部20は、ユーザを最初に認証する際に、検証で用いるためのパスワードを発行してユーザに通知する。次に、同一のユーザを別の認証方式で認証する際に、検証部20は、ユーザにパスワードを要求して、発行したパスワードと受信したパスワードが一致するか否かを確認することによりユーザの検証を実行する。
【0021】
メール方式の場合、検証部20は、ユーザを最初に認証する際に、検証で用いるためのURL(Uniform Resource Locator)などのアクセス情報を発行して、ユーザのメールアドレスに発行したURLを含むメール文書を送信する。更に、検証部20は、ユーザが予め定めた一定時間内にURLにアクセスしたか否かを確認することにより、ユーザの検証を実行する。次に、同一のユーザを別の認証方式で認証する際にも、検証部20は、ユーザのメールアドレスに発行したURLを含むメール文書を送信し、ユーザが予め定めた一定時間内にURLにアクセスしたか否かを確認することにより、ユーザの検証を実行する。
【0022】
統合部21は、異なる認証サービスにより認証が成功した同一ユーザのユーザ情報を統合して、統合ユーザ情報記憶部9に記憶させる。まず、統合部21は、第1の認証サービスで認証されたユーザのユーザ情報に、認証サービスの情報を加えて、統合ユーザ情報とする。次に、統合部21は、第2の認証サービスで認証された同一ユーザのユーザ情報を統合ユーザ情報に統合する際に、第2の認証サービスの情報と、第1のユーザ情報に無いが第2のユーザ情報に有る情報を統合ユーザ情報に統合する。ここで、第1のユーザ情報のみの情報を含む統合ユーザ情報に第2のユーザ情報を統合することを、第1のユーザ情報と第2ユーザ情報を統合するとよんでもよい。
【0023】
第1通信部22は、統合認証サーバ2が有する通信機能であり、例えば、通信ネットワーク1を介して端末装置4の第3通信部42と情報の送受信を行う。
【0024】
制御部23は、統合認証サーバ2内で実行する各種処理の制御などを行う。
【0025】
ユーザ情報記憶部7は、認証に成功したユーザに関するユーザ情報を記憶する。
図4は、本発明の実施形態に係るユーザ情報の一例を示す図である。
図4に示すユーザ情報100は、行番号101、認証サービス102、ユーザ名103、ユーザ代替名104、表示名105、グループ名106、メールアドレス107、およびホームディレクトリ108の項目を有する。ユーザ情報100は、認証サービス102の種類によって、情報を有する項目が異なってもよい。例えば、認証サービス102がLDAPの場合、ホームディレクトリ108の項目の情報を有していない。以下、各項目について説明する。
【0026】
行番号101は、ユーザ情報100における行番号である。
【0027】
認証サービス102は、認証サーバ3において用いられる認証サービスの種類であり、LDAP(Lightweigh Directory Access Protocol)、Kerberos、OpenID Connectなどの種類がある。
【0028】
ユーザ名103は、ユーザの名前であり、ユーザ認証時にパスワードとともに認証情報として用いる情報である。
【0029】
ユーザ代替名104は、ユーザ名の代替として用いることが可能な別のユーザ名である。
【0030】
表示名105は、アプリケーションの画面などに表示されるユーザの名前である。
【0031】
グループ名106は、ユーザが所属するグループの名前である。
【0032】
メールアドレス107は、ユーザのメールアドレスである。
【0033】
ホームディレクトリ108は、ユーザが所有するファイルを格納することができるストレージの場所である。
【0034】
【0035】
統合設定記憶部8は、異なる認証サービスのユーザのユーザ情報100に対して、同一のユーザの情報であるかを検証して統合する際に用いる設定(統合設定と呼ぶ)を記憶する。
図5は、本発明の実施形態に係る統合設定の一例を示す図である。
図5に示す統合設定110は、統合設定ID111、統合認証サービス112、および検証項目113の項目を有する。
【0036】
統合設定ID111は、統合設定を特定するためのIDである。IDは、Identificationの略である。ここでは、統合設定IDとして3桁の数字を用いる。以降、IDは同じ意味で用いられる。
【0037】
統合認証サービス112は、ユーザ情報100を統合する2つの各々の認証サービス名である。
【0038】
検証項目113は、異なる認証サービスのユーザに対して、同一ユーザのユーザ情報であるかを判断する際に検証する項目である。例えば、統合設定ID111が「001」の統合設定においては、統合認証サービスがLDAPとKerberosのユーザ情報100におけるユーザ名103の項目が一致するか否かで、同一ユーザのユーザ情報100であるか否かの検証を行う。ここで、ユーザ名103ではなくユーザ代替名104が一致する場合でもよいものとする。すなわち、第1の認証サービスのユーザ名103またはユーザ代替名104が、第2の認証サービスのユーザ名103またはユーザ代替名104と一致すれば、同一ユーザのユーザ情報100であるとする。同様に、統合設定ID111が「002」の統合設定においては、統合認証サービスがLDAPとOpenID Connectのユーザ情報100におけるメールアドレス107の項目が一致するかにより、同一ユーザのユーザ情報100であるかの検証を行う。
【0039】
【0040】
統合ユーザ情報記憶部9は、異なる認証サービスのユーザのユーザ情報100を統合した統合ユーザ情報120を記憶する。ユーザ情報100を統合することにより、例えば、第1の認証サービスのユーザ情報100の設定されない項目があっても、第2の認証サービスのユーザ情報100により設定される。統合ユーザ情報120を用いることで、同一ユーザのユーザ情報を複数のアプリケーション間で共有することが可能となる。
図6は、本発明の実施形態に係る統合ユーザ情報の一例を示す図である。
図6に示す統合ユーザ情報120は、統合ユーザID121、認証サービス122、ユーザ名123、ユーザ代替名124、表示名125、グループ名126、メールアドレス127、ホームディレクトリ128の項目を有する。
【0041】
統合ユーザID121は、異なる認証サービスのユーザのユーザ情報100を統合した同一ユーザの統合ユーザ情報120を特定するIDである。
【0042】
認証サービス122は、統合ユーザ情報120に登録したユーザ情報100の認証サービスであり、複数ある場合は全て記載する。統合ユーザID121が「001」の統合ユーザ情報120には3つの認証サービス122のユーザ情報100が統合されている。
【0043】
ユーザ名123は、統合したユーザのユーザ情報100におけるユーザ名103と同じ情報であるが、ユーザ代替名124となる場合もある。
【0044】
ユーザ代替名124は、統合したユーザのユーザ情報100におけるユーザ代替名104と同じ情報であるが、ユーザ名103となる場合もある。
【0045】
表示名125は、統合したユーザのユーザ情報100における表示名105と同じ情報である。
【0046】
グループ名126は、統合したユーザのユーザ情報100におけるグループ名106と同じ情報である。
【0047】
メールアドレス127は、統合したユーザのユーザ情報100におけるメールアドレス107と同じ情報である。
【0048】
ホームディレクトリ128は、統合したユーザのユーザ情報100におけるホームディレクトリ108と同じ情報である。
【0049】
ここで、これらの項目以外の情報(電話番号など)をユーザ情報100および統合ユーザ情報120の項目として用いてもよい。また、認証サービスがOpenID Connectである場合、認証時に得られるトークンIDをユーザ情報100および統合ユーザ情報120の項目として用いてもよい。
図17は、本発明の実施形態に係るIDトークンの一例を示す図である。
図17には、OpenID Connectでユーザ認証を実行した際に取得したIDトークン150が示されている。IDトークン150において、「:」で区切られた文字列の左側が項目を示し、右側がその値を示す。
【0050】
【0051】
認証サーバ3は、認証部30と第2通信部31を有する。これら各部は、認証サーバ3にインストールされた1以上のプログラムに含まれる命令をCPU501が実行することで実現される機能又は手段である。
【0052】
認証部30は、端末装置4から受信したユーザが入力した認証情報(ユーザ名とパスワード)が、認証サーバ3が保持している認証情報と一致するか否かを確認することにより、ユーザの認証を実行する。
【0053】
第2通信部31は、認証サーバ3が有する通信機能であり、例えば、通信ネットワーク1を介して統合認証サーバ2の第1通信部22と情報の送受信を行う。
【0054】
端末装置4は、表示制御部40、操作受付部41、および第3通信部42を有する。これら各部は、端末装置4にインストールされた1以上のプログラムに含まれる命令をCPU501が実行することで実現される機能又は手段である。
【0055】
表示制御部40は、端末装置4の画面にメニュー画面や認証画面などの画像情報を表示する。
【0056】
操作受付部41は、端末装置4のキーボードやポインティングデバイスを介して、ユーザによる文字入力やボタンの押下などの操作を受け付ける。
【0057】
第3通信部42は、端末装置4が有する通信機能であり、例えば、通信ネットワーク1を介して統合認証サーバ2の第1通信部22と情報の送受信を行う。
【0058】
<統合認証処理のフローチャート>
図7は、本発明の実施形態に係る統合認証処理のフローチャートの一例を示す図である。統合認証サーバ2は、ユーザからアプリケーションの利用要求を受信すると、アプリケーションに対応した認証サーバ3にユーザ認証を実行させ、取得したユーザ情報を登録する。この時、すでに別のアプリケーションを実行している登録済みユーザに対しては、統合認証サーバ2は、同一ユーザであるか否かを検証するユーザ検証を実行した後、統合ユーザ情報120をアプリケーション間で共有させる。以下、各ステップの処理について説明する。
【0059】
ステップS81:認証サーバ3の認証部30は、アプリケーションの利用要求を送信したユーザの認証を実行する。認証は、ユーザが送信した認証情報(ユーザ名とパスワード)が、認証サーバ3が有する認証情報と一致するか否かを確認することにより実行する。
【0060】
ステップS82:統合認証サーバ2の制御部23は、ステップS81のユーザ認証が成功した場合、処理をステップS83に遷移させ、そうでない場合は、処理をステップS91に遷移させる。
【0061】
ステップS83:統合認証サーバ2の第1通信部22は、認証したユーザのユーザ情報100を認証サーバ3から取得する。
【0062】
ステップS84:統合認証サーバ2の検証部20は、ステップS83で取得したユーザ情報100と同一の情報が、ユーザ情報記憶部7に記憶されていないならば、取得したユーザ情報をユーザ情報記憶部7に記憶させる。次に、統合認証サーバ2の検証部20は、取得したユーザ情報100が統合ユーザ情報120として統合ユーザ情報記憶部9に記憶されているか否かについて、統合設定110を用いて検証する。すなわち、統合設定110に対応する次の2点について確認し、どちらか一方でも一致すれば、ユーザ情報100は統合ユーザ情報記憶部9にすでに登録済みである(ユーザは登録済み)とする。
・取得したユーザ情報100におけるユーザ名103またはユーザ代替名104が、統合ユーザ情報120のユーザ名123またはユーザ代替名124に一致するか。(統合設定ID111の「001」に対応する検証)
・取得したユーザ情報100におけるメールアドレス107と統合ユーザ情報120のメールアドレス127が一致するか。(統合設定ID111の「002」に対応する検証)
あるいは、検証部20は、ユーザ認証時に得られたユーザ情報100と統合ユーザ情報120の項目において、管理者が予め定めた項目の内容が一致するか否かにより、ユーザ(ユーザ情報100)が登録済であるか決定してもよい。
【0063】
統合認証サーバ2の制御部23は、ユーザが登録済みであれば、処理をステップS85に遷移させ、そうで無い場合は、処理をステップS86に遷移させる。
【0064】
ステップS85:統合認証サーバ2の統合部21は、ステップS81で認証したユーザを新規ユーザとして登録するために、取得したユーザ情報100を統合ユーザ情報記憶部9に記録させる。更に、統合認証サーバ2の検証部20は、以降、異なる認証サービスにおけるユーザが同一のユーザであるかを検証するためのユーザ検証情報(パスワードまたはアクセス情報)を発行する。検証方法は、ユーザ検証用のパスワードを用いる方法(パスワード方式)とユーザのメールアドレスにURLなどのアクセス情報を送付する方法(メール方式)の2種類がある。
【0065】
パスワード方式の場合、まず、統合認証サーバ2の検証部20は、検証で用いるパスワードを発行する。次に、統合認証サーバ2の第1通信部22は、発行したパスワードをユーザの端末装置4に送信して、画面にパスワードを表示させる。
図8は、本発明の実施形態に係る統合認証のパスワード表示画面の一例を示す図である。
図8に示すパスワード表示画面140には、統合認証パスワード141が表示されている。ユーザが、別のアプリケーションを実行する(すなわち、別の認証サービスでユーザ認証を実行する)際に、統合認証サーバ2の検証部20は、このパスワードを用いて、ユーザの検証を行う。
図9は、本発明の実施形態に係る統合認証のパスワード要求画面の一例を示す図である。
図9に示すパスワード要求画面142には、認証パスワードの入力欄143と入力したパスワードを確定して送信する確定ボタン144が表示されている。
【0066】
【0067】
メール方式の場合、まず、統合認証サーバ2の検証部20は、検証で用いるURL(Uniform Resource Locator)などのアクセス情報を発行する。次に、統合認証サーバ2の第1通信部22は、発行したURLをユーザのメールアドレスに送信して、ユーザにURLにアクセスさせる。ここで、ユーザ情報100にメールアドレス107の情報がない場合は、メール方式を利用することはできない。統合認証サーバ2の検証部20は、ユーザが予め定めた一定時間内にURLにアクセスすることを確認する。
図10は、本発明の実施形態に係るURLを含むメール文書の一例を示す図である。
図10に示すメール文書145には、認証URL146が表示されている。
【0068】
【0069】
ステップS86:統合認証サーバ2の検証部20は、ステップS83で取得したユーザ情報100と一致した統合ユーザ情報120において、ユーザ情報100の認証サービス102が、統合ユーザ情報120の認証サービス122に登録されているか否かを確認する。登録されている場合、統合認証サーバ2の制御部23は、ステップS90に処理を遷移させ、そうでない場合は、ステップS87に処理を遷移させる。
【0070】
ステップS87:統合認証サーバ2の検証部20は、ステップS85で説明したパスワード方式あるいはメール方式によるユーザ検証を実行する。
【0071】
パスワード方式の場合、統合認証サーバ2の第1通信部22は、パスワードの入力を要求する画面をユーザの端末装置4の第3通信部42に送信し、ユーザが入力したパスワードを受信する。統合認証サーバ2の検証部20は、受信したパスワードが、ステップS85で発行したパスワードと一致することが確認できれば、ユーザ検証は成功し、そうでなければ、ユーザ検証は失敗とする。
【0072】
メール方式の場合、統合認証サーバ2の第1通信部22は、ステップS85で送信したメールアドレスにURLなどのアクセス情報を含むメール文書を送信して、ユーザにURLにアクセスさせる。統合認証サーバ2の検証部20は、ユーザが予め定めた一定時間内にURLにアクセスしたことを確認できれば、検証は成功とするが、予め定めた一定時間が経過しても、アクセスの確認ができなかった場合、検証は失敗とする。
【0073】
ステップS88:統合認証サーバ2の制御部23は、ステップS87で実行したユーザ検証が成功であれば処理をステップS89に遷移させ、そうでなければ、処理をステップS91に遷移させる。
【0074】
ステップS89:統合認証サーバ2の統合部21は、ステップS81で認証したユーザのユーザ情報100を統合ユーザ情報記憶部9に記憶させる。具体的には、
図6の認証サービス122に
図4のユーザ情報100の認証サービス102を追加し、その他の項目に関して、統合ユーザ情報120に情報の無い項目に、ユーザ情報100に追加できる情報があれば追加する。
【0075】
ステップS90:ユーザ認証は成功とし、統合認証サーバ2の第1通信部22は、アプリサーバ6にユーザが要求したアプリケーションの実行を要求するメッセージを送信する。また、ステップS89において、統合ユーザ情報120が更新された場合、統合認証サーバ2の第1通信部22は、アプリサーバ6に更新された統合ユーザ情報120を送信する。
【0076】
ステップS91:ユーザ認証は失敗とし、統合認証サーバ2の第1通信部22は、ユーザの端末装置4にユーザ認証失敗を通知するメッセージを送信する。
【0077】
<統合認証処理のシーケンス>
図11は、本発明の実施形態に係る統合認証処理のシーケンスの一例を示す図である。本シーケンスでは、最初に、ユーザ(ユーザ名:user_b)は、端末装置4を操作して、統合認証サーバ2に文書作成のアプリケーション(アプリAとする)の利用要求を送信する。統合認証サーバ2は、LDAPによるユーザ認証を認証サーバ3Aに対して実行させる。次に、ユーザは、端末装置4を操作して、統合認証サーバ2にストレージサービスのアプリケーション(アプリBとする)の利用要求を送信する。統合認証サーバ2は、Kerberosによるユーザ認証を認証サーバ3Bに対して実行させる。ここで、ユーザは、アプリAとアプリBは利用していない状態でシーケンスを開始するする。以下、各ステップの処理について説明する。
【0078】
ステップS51:端末装置4の第3通信部42は、統合認証サーバ2の第1通信部22にメニュー画面を表示する要求メッセージを送信する。
【0079】
ステップS52:統合認証サーバ2の第1通信部22は、端末装置4の第3通信部42にメニュー画面の画面情報を送信する。
【0080】
ステップS53:端末装置4の表示制御部40は、受信した画面情報を用いて、端末装置4の画面にメニュー画面を表示する。
図12は、本発明の実施形態に係るメニュー画面の一例を示す図である。
図12に示すメニュー画面130には、アプリケーションA(アプリA)の利用を要求するメッセージを送信するためのボタン131とアプリケーションB(アプリB)の利用を要求するメッセージを送信するためのボタン132が表示されている。
【0081】
【0082】
端末装置4の操作受付部41は、ユーザによる
図12に示すボタン131の押下を受け付ける。端末装置4の第3通信部42は、統合認証サーバ2の第1通信部22にアプリAの利用を要求するメッセージを送信する。
【0083】
ステップS54:統合認証サーバ2の第1通信部22は、受信したアプリAの利用を要求するメッセージに基づいて、アプリAの認証サービスを提供する認証サーバ3Aの第2通信部31に認証要求を送信する。
【0084】
ステップS55:認証サーバ3Aの第2通信部31は、統合認証サーバ2の第1通信部22に認証情報入力画面の画面情報を送信する。
【0085】
ステップS56:統合認証サーバ2の第1通信部22は、端末装置4の第3通信部42に認証情報入力画面の画面情報を送信する。
【0086】
ステップS57:端末装置4の表示制御部40は、端末装置4の画面に認証情報入力画面を表示する。
図13は、本発明の実施形態に係る認証情報入力画面の一例を示す図である。
図13に示す認証情報入力画面133には、ユーザ名を入力する入力欄134、パスワードを入力する入力欄135、および入力した認証情報を確定して送信する確定ボタン136が表示されている。
【0087】
【0088】
端末装置4の操作受付部41は、ユーザによる認証情報(ユーザ名とパスワード)の入力、および確定ボタン136の押下を受け付ける。端末装置4の第3通信部42は、統合認証サーバ2の第1通信部22にユーザにより入力された認証情報を送信する。
【0089】
ステップS58:統合認証サーバ2の第1通信部22は、認証サーバ3Aの第2通信部31に受信した認証情報を送信する。
【0090】
ステップS59:認証サーバ3Aの認証部30は、受信した認証情報を用いて、ユーザ認証を実行する。ユーザの認証は、受信した認証情報(ユーザ名とパスワード)が、認証サーバ3Aが保持する認証情報と一致(認証成功)するか一致しない(認証失敗)かを確認することにより実行する。
【0091】
ステップS60:認証サーバ3Aの第2通信部31は、統合認証サーバ2の第1通信部22に認証結果と
図4に示すユーザ情報100(ここでは行番号101が「4」の情報)を送信する。
【0092】
ステップS61:統合認証サーバ2は、
図7に示したフローチャートに基づいた統合認証処理を実行する。ここで、
図7のステップS81におけるユーザ認証は、ステップS59のユーザ認証と同じである。このユーザ認証は成功するものとし、更に、
図7のステップS84において、ユーザは登録済みではないため、
図7のステップS85による新規ユーザ登録の処理が実行される。新規ユーザ登録の処理において、統合認証サーバ2の統合部21は、
図4に示すユーザ情報100(ここでは行番号101が「4」の情報)を統合ユーザ情報記憶部9に記録させる。統合ユーザ情報記憶部9は、
図14に示すように統合ユーザ情報120に新規の統合ユーザID121である「002」を新たな行に記憶し、この行の項目にユーザ情報100の行番号101が「4」の情報を記憶する。具体的には、認証サービス122に「LDAP」、ユーザ名123に「user_a」、ユーザ代替名124に「a_user」、表示名125に「ユーザA」、グループ名126に「グループA」、メールアドレス127に「user_a@abc.com」を記憶する。
【0093】
【0094】
ステップS62:ここでは、ステップS59でユーザ認証が成功するものとするが、もし、ユーザがパスワードの入力を誤る等してユーザ認証が失敗した場合、統合認証サーバ2の第1通信部22は、端末装置4の第3通信部42に認証失敗通知を送信する。端末装置4の表示制御部40は、端末装置4の画面に認証失敗のメッセージを表示する。
【0095】
ステップS63:統合認証サーバ2の第1通信部22は、アプリサーバ6にアプリAの実行を要求するメッセージとともにステップS61で記憶した
図6に示す統合ユーザ情報120(統合ユーザID121が「002」の情報)を送信する。
【0096】
ステップS64:アプリサーバ6は、アプリAを実行し、統合認証サーバ2の第1通信部22にアプリAの画面情報を送信する。
【0097】
ステップS65:統合認証サーバ2の第1通信部22は、端末装置4の第3通信部42にアプリAの画面情報を送信する。端末装置4の表示制御部40は、受信した画面情報を用いて、端末装置4の画面にアプリAの画面を表示する。
【0098】
ステップS66:ユーザは、文書作成アプリ(アプリA)で文章を作成した後、作成した文書ファイルをストレージサービス(アプリB)に保存するために、再度、メニュー画面を要求する。端末装置4の第3通信部42は、統合認証サーバ2の第1通信部22にメニュー画面を表示する要求メッセージを送信する。
【0099】
ステップS67:統合認証サーバ2の第1通信部22は、端末装置4の第3通信部42にメニュー画面の画面情報を送信する。
【0100】
ステップS68:端末装置4の表示制御部40は、受信した画面情報を用いて、端末装置4の画面にメニュー画面を表示する。端末装置4の操作受付部41は、ユーザによる
図12に示すメニュー画面におけるアプリBの利用を要求するメッセージを送信するボタン132の押下を受け付ける。端末装置4の第3通信部42は、統合認証サーバ2の第1通信部22にアプリBの利用を要求するメッセージを送信する。
【0101】
ステップS69:統合認証サーバ2の第1通信部22は、受信したアプリBの利用を要求するメッセージに基づいて、アプリBの認証サービスを提供する認証サーバ3Bの第2通信部31に認証要求を送信する。
【0102】
ステップS70:認証サーバ3Bの第2通信部31は、統合認証サーバ2の第1通信部22に認証情報入力画面の画面情報を送信する。
【0103】
ステップS71:統合認証サーバ2の第1通信部22は、端末装置4の第3通信部42に認証情報入力画面の画面情報を送信する。
【0104】
ステップS72:端末装置4の表示制御部40は、端末装置4の画面に
図13に示す認証情報入力画面133を表示する。端末装置4の操作受付部41は、ユーザによる認証情報(ユーザ名とパスワード)の入力、および確定ボタン136の押下を受け付ける。端末装置4の第3通信部42は、統合認証サーバ2の第1通信部22にユーザにより入力された認証情報を送信する。
【0105】
ステップS73:統合認証サーバ2の第1通信部22は、認証サーバ3Bの第2通信部31に受信した認証情報を送信する。
【0106】
ステップS74:認証サーバ3Bの認証部30は、受信した認証情報を用いて、ユーザ認証を実行する。ユーザの認証は、受信した認証情報(ユーザ名とパスワード)が、認証サーバ3Bが保持する認証情報と一致(認証成功)するか一致しない(認証失敗)か確認することにより実行する。
【0107】
ステップS75:認証サーバ3Bの第2通信部31は、統合認証サーバ2の第1通信部22に認証結果と
図4に示すユーザ情報100(ここでは行番号101が「5」の情報)を送信する。
【0108】
ステップS76:統合認証サーバ2は、
図7に示したフローチャートに基づいた統合認証処理を実行する。ここで、
図7のステップS81におけるユーザ認証は、ステップS74のユーザ認証と同じである。このユーザ認証は成功するものとする。更に、
図7のステップS84において、ユーザは登録済みであり、
図7のステップS86において、認証サービス(Kerberos)は登録済でないため、
図7のステップS89によるユーザ登録の更新処理が実行される。統合認証サーバ2の統合部21は、
図4に示すユーザ情報100(ここでは行番号101が「5」の情報)を統合ユーザ情報記憶部9に記録させる。ここで、ステップS61において、
図14に示すように統合ユーザID121が「002」の統合ユーザ情報120は、ホームディレクトリ128以外の項目の情報は既に与えられていることから、統合ユーザ情報記憶部9は、
図15に示すように統合ユーザID121が「002」の統合ユーザ情報120のホームディレクトリ128の項目に「¥¥server¥user_b」を記憶する。
【0109】
【0110】
ステップS77:ここでは、ステップS74でユーザ認証が成功するものとするが、もし、ユーザがパスワードの入力を誤る等して認証が失敗した場合、統合認証サーバ2の第1通信部22は、端末装置4の第3通信部42に認証失敗通知を送信する。端末装置4の表示制御部40は、端末装置4の画面に認証失敗のメッセージを表示する。
【0111】
ステップS78:統合認証サーバ2の第1通信部22は、アプリサーバ6にアプリBの実行を要求するメッセージとともにステップS76で記憶した
図15に示す統合ユーザ情報120(統合ユーザID121が「002」の情報)を送信する。ここで、アプリサーバ6は、受信した統合ユーザ情報120をユーザ(user_b)が利用している文書作成アプリ(アプリA)とストレージサービス(アプリB)で共有する。これにより、ユーザが作成した文書ファイルをユーザのストレージサービス(ホームディレクトリ)に保存することが可能となる。
【0112】
ステップS79:アプリサーバ6は、アプリBを実行し、統合認証サーバ2の第1通信部22にアプリBの画面情報を送信する。
【0113】
ステップS80:統合認証サーバ2の第1通信部22は、端末装置4の第3通信部42にアプリBの画面情報を送信する。端末装置4の表示制御部40は、受信した画面情報を用いて、端末装置4の画面にアプリB(ストレージサービス)の画面を表示する。
図16は、本発明の実施形態に係るアプリB(ストレージサービス)の画面の一例を示す図である。画面147には、アプリB(ストレージサービス)の画面として、ホームディレクトリ148内に格納されたファイル名149(文書.doc)が表示されている。
【0114】
以上、ステップS51~ステップS80による統合認証処理を示した。ここで、ユーザによるアプリBの利用要求後の認証処理であるステップS69~ステップS75については、既にユーザがアプリAで認証済みであることから、ユーザ認証を成功として、これらの処理を省略するようにしてもよい。
【0115】
また、統合認証サーバ2の第1通信部22は、ユーザ認証処理(ステップS59、S74)で得られるユーザ情報100や統合認証処理(ステップS61、S76)で得られる統合ユーザ情報120を端末装置4の第3通信部42に送信するようにしてもよい。
【0116】
<効果について>
本発明の第1の実施形態において、情報処理システム5は、ユーザが複数のアプリケーションを利用する際に、異なる認証サービスのユーザが同一ユーザであるか否かを検証するユーザ検証を実行する。更に、情報処理システム5は、同一ユーザの異なる認証サービスにおけるユーザ情報を統合した統合ユーザ情報を生成して、アプリケーション間で共有する。これにより、同一ユーザの異なる認証サービスにおけるユーザ情報を統合した情報を予め作成することなく、異なる認証サービスにおけるユーザを同一ユーザとして扱うことが可能な統合認証システムを実現することができる。また、統合した情報を予め作成する必要がないことから、システム構築における初期コストや、アプリケーションやユーザに関する設計変更や拡張時におけるコストを削減することが可能である。
【0117】
以上、本発明を実施するための幾つかの形態について説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【0118】
例えば、
図3の機能ブロックの構成図の一例は、情報処理システム5による処理の理解を容易にするために、主な機能に応じて分割したものである。処理単位の分割の仕方や名称によって本願発明が制限されることはない。情報処理システム5の処理は、処理内容に応じて更に多くの処理単位に分割することもできる。また、1つの処理単位が更に多くの処理を含むように分割することもできる。
【0119】
また、上記で説明した実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(digital signal processor)、FPGA(field programmable gate array)や従来の回路モジュール等のデバイスを含むものとする。
【0120】
また、記載された装置群は、本明細書に開示された実施形態を実施するための複数のコンピューティング環境のうちの1つを示すものにすぎない。ある実施形態では、情報処理システム5は、サーバクラスタといった複数のコンピューティングデバイスを含む。複数のコンピューティングデバイスは、ネットワークや共有メモリなどを含む任意のタイプの通信リンクを介して互いに通信するように構成されており、本明細書に開示された処理を実施する。
【0121】
また、第1通信部22、第2通信部31、第3通信部42は単に通信部と呼んでもよく、ユーザ情報記憶部7、統合設定記憶部8、統合ユーザ情報記憶部9は単に記憶部と呼んでもよい。
【符号の説明】
【0122】
1 通信ネットワーク
2 統合認証サーバ
3 認証サーバ
4 端末装置
5 情報処理システム
6 アプリサーバ
7 ユーザ情報記憶部
8 統合設定記憶部
9 統合ユーザ情報記憶部
10 記憶装置
20 検証部
21 統合部
22 第1通信部
23 制御部
30 認証部
31 第2通信部
40 表示制御部
41 操作受付部
42 第3通信部
【先行技術文献】
【特許文献】
【0123】