以下に、本願の開示するアクセス制御システム、ポリシー生成方法およびアクセス権限管理サーバ装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
次に、本実施例2にかかるアクセス制御システムの構成について説明する。図2は、本実施例2にかかるアクセス制御システムの構成を示す図である。図2に示すように、このアクセス制御システムは、複数の業務サーバ100a〜100c、複数の認証サーバ200a〜200c、利用者情報管理サーバ300、アクセス権限管理サーバ400を有する。業務サーバ100a〜100cをまとめて、業務システムとする。
また、複数の業務サーバ100a〜100c、複数の認証サーバ200a〜200c、利用者情報管理サーバ300、アクセス権限管理サーバ400はネットワークに接続する。このネットワークは、例えば、LAN(Local Area Network)に対応する。業務サーバ100a〜100c、認証サーバ200a〜200c、利用者情報管理サーバ300、アクセス権限管理サーバ400は、例えば、TCP(Transmission Control Protocol)/IP(Internet Protocol)プロトコルに基づいて相互にデータ通信を行う。
ここでは一例として、業務サーバ100a〜100c、認証サーバ200a〜200c、利用者情報管理サーバ300、アクセス権限管理サーバ400は社内に設置されているものとする。そして、アクセス権限管理サーバ400が、利用者情報管理サーバ300に記憶された情報を利用して、各業務サーバ100a〜100cにアクセス権限を設定する。なお、アクセス制御システムは、業務サーバ100a〜100c以外のサーバを有してもよい。また、アクセス制御システムは、認証サーバ200a〜200c以外の認証サーバを有してもよい。
なお、業務サーバ100a〜100c、認証サーバ200a〜200c、利用者情報管理サーバ300、アクセス権限管理サーバ400は必ずしも社内に設定されていなくてもよい。例えば、業務サーバ100a〜100cを社内に設置し、認証サーバ200a〜200c、利用者情報管理サーバ300、アクセス権限管理サーバ400を社外に設けてもよい。以下において、業務サーバ100a〜100c、認証サーバ200a〜200c、利用者情報管理サーバ300、アクセス権限管理サーバ400について説明する。
業務サーバ100aは、複数の利用者端末に対して業務サービスを提供する。例えば、業務サーバ100aは、利用者が業務に利用する業務情報を記憶し、かかる業務情報を利用者端末に通知する。なお、業務サーバ100aは、認証サーバ200a〜200cのうち、いずれかの認証サーバにネットワークを介して接続する。そして、業務サーバ100aは、接続した認証サーバを利用して利用者の認証を行い、利用者に与えられたアクセス権限の範囲内で利用者からのアクセスを許可する。業務サーバ100bおよび100cに関する説明は、業務サーバ100aに関する説明と同様である。
認証サーバ200aは、業務サーバ100a〜100cのうち、いずれかの業務サーバにネットワークを介して接続される。そして、認証サーバ200aは、接続した業務サーバにアクセス要求を行う利用者の認証を行う。認証サーバ200aは、例えば、利用者を識別する利用者識別情報とパスワードとを対応付けた認証情報を記憶する。認証サーバ200aは、かかる認証情報を利用して、利用者の認証を行う。認証サーバ200bおよび200cに関する説明は、認証サーバ200aに関する説明と同様である。
利用者情報管理サーバ300は、認証サーバ200a〜200cに認証情報を設定する。また、利用者情報管理サーバ300は、自身の持っている情報から、各認証サーバ(200aから200c)に、そのサーバで認証する利用者の情報と、その認証サーバを一意に識別するための認証サーバ識別情報とを記憶させる。その他に、利用者情報管理サーバ300は、グローバルアカウント情報、ロール情報を記憶する。
グローバルアカウント情報は、利用者が所属する部署および役職の情報を含む。ロール情報は、役職毎のアクセス権限の範囲を含む。ここで、役職毎のアクセス権限の範囲は、例えば、役職が「一般」の利用者は、データの読み出しのみを許可し、役職が「課長」の利用者は、データの読み出しとデータの書き込みを許可する旨の情報を含む。
アクセス権限管理サーバ400は、業務システム全体のアクセス権限を定義するグローバルポリシー情報から、業務サーバ毎のアクセス権限を定義するローカルポリシー情報を生成する。そしてアクセス権限管理サーバ400は、業務サーバごとに生成したローカルポリシー情報を各業務サーバに配付することによって、業務サーバ100a〜100cに利用者毎のアクセス権限を設定する。
アクセス権限管理サーバ400がグローバルポリシー情報からローカルポリシー情報を生成する場合には、アクセス権限管理サーバ400は認証サーバで認証を受ける際に使用する業務サーバ100a〜100cの利用者の利用者識別情報、グローバルアカウント情報およびロール情報を収集する。アクセス権限管理サーバ400は、グローバルアカウント情報およびロール情報を利用者情報管理サーバ300から収集する。また、アクセス権限管理サーバ400は、下記に示す手順で、認証サーバで認証を受ける際に使用する業務サーバ100a〜100cの利用者の利用者識別情報を収集する。
ここで、アクセス権限管理サーバ400が認証サーバで認証を受ける際に使用する業務サーバ100a〜100cの利用者の利用者識別情報を収集する処理手順の一例について説明する。図3は、アクセス権限管理サーバが認証サーバで認証を受ける際に使用する業務サーバ毎の利用者の利用者識別情報を収集する手順を説明する図である。
図3では説明の便宜上、アクセス権限管理サーバ400が認証サーバで認証を受ける際に使用する業務サーバ100aの利用者の利用者識別情報を収集する場合について説明する。また、業務サーバ100aは、認証を依頼する認証サーバとして、認証サーバ200aが設定されているものとする。認証サーバで認証を受ける際に使用する業務サーバ100aの利用者の利用者識別情報は、認証サーバ200aが認証する利用者の利用者識別情報となる。
なお、アクセス権限管理サーバ400が認証サーバで認証を受ける際に使用する業務サーバ100b,100cの利用者の利用者識別情報を収集する手順は、業務サーバ100aにおける手順と同様である。
図3において、アクセス権限管理サーバ400は、定義情報を業務サーバ100aに要求する(図3の(1)参照)。ここで定義情報は、業務サーバを識別する業務識別情報と業務サーバに接続された認証サーバを識別する認証識別情報とを対応付ける情報である。
業務サーバ100aがアクセス権限管理サーバ400から定義情報の要求を受け付けた場合に、業務サーバ100aは認証サーバ200aに認証識別情報を要求する(図3の(2)参照)。
認証サーバ200aが業務サーバ100aから認証識別情報の要求を受け付けた場合に、認証サーバ200aは、業務サーバ100aに認証識別情報を送信する(図3の(3)参照)。例えば、認証サーバ200aは、認証識別情報「認証サーバ200a」を記憶し、業務サーバ100aに認証識別情報「認証サーバ200a」を送信する。
業務サーバ100aが認証サーバ200aから認証識別情報を受信した場合に、業務サーバ100aは定義情報を生成し、生成した定義情報をアクセス権限管理サーバ400に送信する(図3の(4)参照)。業務サーバ100aが生成する定義情報は、業務サーバ100aの業務識別情報「業務サーバ100a」と、業務サーバ100aが受信した認証識別情報「認証サーバ200a」とを対応付けた情報である。
アクセス権限管理サーバ400が業務サーバ100aから定義情報を受信した場合に、アクセス権限管理サーバ400は、定義情報に含まれる認証識別情報を利用者情報管理サーバ300に送信する(図3の(5)参照)。例えば、アクセス権限管理サーバ400は、認証識別情報「認証サーバ200a」を利用者情報管理サーバ300に送信する。
利用者情報管理サーバ300がアクセス権限管理サーバ400から認証識別情報を受信した場合に、認証識別情報に対応する利用者識別情報をアクセス権限管理サーバ400に送信する(図3の(6)参照)。図3の(6)において、利用者情報管理サーバ300がアクセス権限管理サーバ400に送信する利用者識別情報が、業務サーバ100aの代わりに利用者認証を行う認証サーバ200aで認証する利用者の利用者識別情報となる。
例えば、利用者情報管理サーバ300が、認証識別情報「認証サーバ200a」と利用者識別情報「利用者01」、「利用者02」、「利用者03」とを対応付けた対応付情報を管理する。そして、利用者情報管理サーバ300が、認証識別情報「認証サーバ200a」を受信した場合には、利用者情報管理サーバ300は、利用者識別情報「利用者01」、「利用者02」、「利用者03」を、アクセス権限管理サーバ400に送信する。
上述したように、アクセス制御システムが図3の(1)〜(6)の処理を行うことで、アクセス権限管理サーバ400は、認証サーバで認証を受ける際に使用する業務サーバ100aの利用者の利用者識別情報を収集することができる。
次に、図2に示した業務サーバ100aの構成の一例について説明する。なお、業務サーバ100b,100cの構成に関する説明は、業務サーバ100aの構成に関する説明と同様である。図4は、業務サーバの構成を示す図である。図4に示すように、この業務サーバ100aは、通信制御部110、入力部120、出力部130、入出力制御部140、記憶部150、制御部160を有する。
通信制御部110は、ネットワークを介して、他の装置とデータ通信を実行する処理部である。例えば、通信制御部110は、認証サーバ200a〜200c、アクセス権限管理サーバ400および利用者の端末装置との間でデータ通信を実行する。この通信制御部110は、例えば、他の装置とデータ通信を実行するASIC(Application Specific Integrated Circuit)、通信用カード等に対応する。
入力部120は、キーボードやマウス等の入力装置に対応する。出力部130は、例えば、ディスプレイやモニタ等の出力装置に対応する。
入出力制御部140は、通信制御部110、入力部120、出力部130、記憶部150、制御部160の間におけるデータの入出力を制御する処理部である。入出力制御部140は、例えば、データの入出力を制御するASIC等に対応する。
記憶部150は、利用者が業務に利用する業務情報、利用者のアクセス権限および認証を依頼する認証サーバの宛先情報等を記憶する記憶部である。記憶部150は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ(flash memory)などの半導体メモリ素子、またはハードディスク、光ディスクなどの記憶装置に対応する。
図4に示すように、記憶部150は、業務情報150a、アクセス制御情報150b、認証サーバ宛先情報150cを記憶する。このうち、業務情報150aは、利用者が業務に利用する情報である。アクセス制御情報150bは、利用者の利用者識別情報と利用者のアクセス権限とを対応付けた情報である。認証サーバ宛先情報150cは、業務サーバ100aが利用者の認証を依頼する認証サーバの宛先情報である。この宛先情報は、例えば、認証サーバのIPアドレスを含む。
制御部160は、利用者の認証を認証サーバに依頼する処理、利用者が認証された場合に、利用者のアクセス権限に基づいて利用者のアクセスを制御する処理、定義情報を生成する処理等を実行する処理部である。制御部160は、例えば、ASICや、FPGA(Field Programmable Gate Array)などの集積装置、または、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等の電子回路に対応する。
図4に示すように、制御部160は、アクセス制御情報設定部160aと、認証要求部160bと、アクセス制御部160cと、定義情報生成処理部160dとを有する。このうち、アクセス制御情報設定部160aは、アクセス権限管理サーバ400からアクセス権限情報を受信し、受信したアクセス権限情報を記憶部150に記憶する処理部である。
認証要求部160bは、利用者の認証を認証サーバに要求する処理部である。具体的に、認証要求部160bの処理について説明する。認証要求部160bは、利用者の端末装置から業務サーバ100aに対するアクセス要求を受信した場合に、利用者識別情報とパスワードとをアクセス要求元の利用者の端末装置に要求する。以下の説明において、利用者識別情報とパスワードとの組を認証対象情報と表記する。
認証要求部160bが利用者の端末装置から認証対象情報を受信した場合には、認証要求部160bは、認証サーバ宛先情報150cに基づいて、認証を要求する認証サーバを判定する。
そして、認証要求部160bは、認証を要求する認証サーバに認証対象情報を送信し、認証を要求した認証サーバから認証結果を受信する。例えば、認証を要求する認証サーバが認証サーバ200aの場合には、認証要求部160bは、認証対象情報を認証サーバ200aに送信し、認証サーバ200aから認証結果を受信する。認証要求部160bは、受信した認証結果をアクセス制御部160cに出力する。
アクセス制御部160cは、利用者の認証結果とアクセス制御情報150bに基づいて、利用者のアクセスを制御する処理部である。具体的に、アクセス制御部160cの処理について説明する。まず、利用者の認証に失敗した旨の情報が認証結果に含まれている場合には、アクセス制御部160cは、認証に失敗した旨の情報を利用者の端末装置に送信し、例えば、再度、認証対象情報を要求する。再度送信される認証対象情報は、認証要求部160bが処理する。
一方、利用者の認証に成功した旨の情報が認証結果に含まれている場合には、認証に成功した利用者の利用者識別情報とアクセス制御情報150bとを比較して、利用者のアクセス権限の範囲を判定する。そして、アクセス制御部160cは、判定したアクセス権限の範囲内で、利用者の端末装置から業務情報150aに対するアクセスを許可する。
定義情報生成処理部160dは、定義情報を生成する処理部である。具体的に、定義情報生成処理部160dの処理について説明する。定義情報生成処理部160dがアクセス権限管理サーバ400から定義情報の要求を受け付けた場合に、定義情報生成処理部160dは、認証サーバ宛先情報150cに基づいて、業務サーバ100aが認証を要求する認証サーバを判定する。
そして、定義情報生成処理部160dは、業務サーバ100aが認証を要求する認証サーバに、認証サーバを識別する認証識別情報を要求する。定義情報生成処理部160dが認証サーバから認証識別情報を受信した場合には、定義情報生成処理部160dは、自身の業務サーバを識別する業務識別情報と認証識別情報とを対応付けることで、定義情報を生成する。定義情報生成処理部160dは、生成した定義情報をアクセス権限管理サーバ400に送信する。
ここで、定義情報生成処理部160dが生成する定義情報のデータ構造の一例について説明する。図5は、定義情報のデータ構造を示す図である。図5に示すように、この定義情報は、業務識別情報と認証識別情報とを対応付けて記憶する。例えば、業務サーバ100aにアクセスする利用者を認証する認証サーバが認証サーバ200aの場合には、業務識別情報に「業務サーバ100a」が格納され、認証識別情報に「認証サーバ200a」が格納される。この定義情報は、定義情報生成処理部160dが、認証サーバから認証識別情報を受信した後に、生成される。
次に、図4に示したアクセス制御情報150bのデータ構造の一例について説明する。図6は、アクセス制御情報のデータ構造を示す図である。図6に示すように、アクセス制御情報150bは、利用者識別情報とアクセス権限とを対応付けて記憶する。このアクセス制御情報150bは、アクセス制御情報設定部160aがアクセス権限情報をアクセス権限管理サーバ400から受信した場合に、アクセス制御情報設定部160aによって記憶部150に格納される。
図6において、例えば、利用者識別情報「利用者01」に対応するアクセス権限は「読取」である。したがって、アクセス制御部160cは、利用者識別情報「利用者01」となる利用者の端末装置からアクセスを受け付け、利用者の認証に成功した場合に、業務情報150aに対するデータの読取を許可する。
また、利用者識別情報「利用者02」に対応するアクセス権限は「読取・書込」である。したがって、アクセス制御部160cは、利用者識別情報「利用者02」となる利用者の端末装置からアクセスを受け付け、利用者の認証に成功した場合に、業務情報150aに対するデータの読取及び書込を許可する。
次に、図2に示した認証サーバ200aの構成の一例について説明する。なお、認証サーバ200b,200cの構成に関する説明は、認証サーバ200aに関する説明と同様である。図7は、認証サーバの構成を示す図である。図7に示すように、この認証サーバ200aは、通信制御部210、入力部220、出力部230、入出力制御部240、記憶部250、制御部260を有する。
通信制御部210は、ネットワークを介して、他の装置とデータ通信を実行する処理部である。例えば、通信制御部210は、業務サーバ100a〜100c、利用者情報管理サーバ300との間でデータ通信を実行する。この通信制御部210は、例えば、他の装置とデータ通信を実行するASIC、通信用カード等に対応する。
入力部220は、キーボードやマウス等の入力装置に対応する。出力部230は、例えば、ディスプレイやモニタ等の出力装置に対応する。
入出力制御部240は、通信制御部210、入力部220、出力部230、記憶部250、制御部260の間におけるデータの入出力を制御する処理部である。入出力制御部240は、例えば、データの入出力を制御するASIC等に対応する。
記憶部250は、利用者を認証するための情報を記憶する記憶部である。記憶部250は、例えば、RAM、ROM、フラッシュメモリなどの半導体メモリ素子、またはハードディスク、光ディスクなどの記憶装置に対応する。
図7に示すように、記憶部250は、認証情報250aを記憶する。認証情報250aは、例えば、利用者識別情報とパスワードとを対応付けて記憶する情報である。また、認証情報250aは、認証サーバを識別する認証識別情報も含む。
制御部260は、利用者を認証する処理、認証識別情報を業務サーバに送信する処理等を実行する処理部である。制御部260は、例えば、ASICや、FPGAなどの集積装置、または、CPUやMPU等の電子回路に対応する。
認証処理部260aは、業務サーバから利用者の認証要求を受け付けた場合に、利用者の認証を行い、認証要求を行った業務サーバに認証結果を送信する処理部である。具体的に、認証処理部260aの処理について説明する。ここでは、説明の便宜上、業務サーバ100aから認証要求を受付けるものとする。認証処理部260aは、認証要求として、認証対象情報を業務サーバ100aから受信する。
認証処理部260aが業務サーバ100aから認証対象情報を受信した場合には、認証処理部260aは、認証対象情報に含まれる利用者識別情報とパスワードとの組合せと同じ組合せが認証情報250aに含まれているか否かを判定する。
認証処理部260aは、認証対象情報に含まれる利用者識別情報とパスワードとの組合せと同じ組合せが、認証情報250aに含まれている場合には、認証に成功した旨の認証結果を業務サーバ100aに送信する。一方、認証処理部260aは、認証対象情報に含まれる利用者識別情報とパスワードとの組合せと同じ組合せが、認証情報250aに含まれていない場合には、認証に失敗した旨の認証結果を業務サーバ100aに送信する。
認証情報管理部260bは、利用者情報管理サーバ300から認証情報を受信し、受信した認証情報を記憶部250に記憶させる処理部である。また、認証情報管理部260bが業務サーバから認証識別情報の要求を受信した場合には、認証情報管理部260bは、認証情報250aに記憶された認証識別情報を、要求元の業務サーバに送信する。なお、認証情報管理部260bは、認証サーバの管理者による不正を防止するために、認証情報250aを暗号化してもよい。
ここで、図7に示した認証情報250aのデータ構造の一例について説明する。図8は、認証情報のデータ構造を示す図である。図8に示すように、この認証情報は、認証識別情報、利用者識別情報およびパスワードを含む。認証識別情報は、認証サーバを一意に識別することができれば、どのような識別情報でもよい。
次に、図2に示した利用者情報管理サーバ300の構成の一例について説明する。図9は、利用者情報管理サーバ300の構成を示す図である。図9に示すように、利用者情報管理サーバ300は、通信制御部310、入力部320、出力部330、入出力制御部340、記憶部350、制御部360を有する。
通信制御部310は、ネットワークを介して、他の装置とデータ通信を実行する処理部である。例えば、通信制御部310は、認証サーバ200a〜200c、アクセス権限管理サーバ400との間でデータ通信を実行する。この通信制御部310は、例えば、他の装置とデータ通信を実行するASIC、通信用カード等に対応する。
入力部320は、キーボードやマウス等の入力装置に対応する。出力部330は、例えば、ディスプレイやモニタ等の出力装置に対応する。
入出力制御部340は、通信制御部310、入力部320、出力部330、記憶部350、制御部360の間におけるデータの入出力を制御する処理部である。入出力制御部340は、例えば、データの入出力を制御するASIC等に対応する。
記憶部350は、利用者に関する情報等を記憶する記憶部である。記憶部350は、例えば、RAM、ROM、フラッシュメモリなどの半導体メモリ素子、またはハードディスク、光ディスクなどの記憶装置に対応する。
図9に示すように、記憶部350は、グローバルアカウント情報350a、ロール情報350b、認証配布先情報350c、対応付情報350dを記憶する。グローバルアカウント情報350aは、例えば、利用者の所属する部署、利用者の名前、利用者の役職を対応付けた情報である。
ロール情報350bは、役職毎のアクセス権限とアクセス先とを対応付けた情報である。認証配布先情報350cは、認証情報を送信する認証サーバの宛先情報である。この宛先情報は、例えば、認証サーバのIPアドレスを含む。対応付情報350dは、認証サーバを識別する認証識別情報と、認証サーバが認証する利用者の利用者識別情報とを対応付けた情報を含む。
制御部360は、認証サーバ200a〜200cに認証情報を設定する処理、アクセス権限管理サーバ400から認証識別情報を受信した場合に、認証識別情報に対応する利用者の情報をアクセス権限管理サーバ400に送信する処理等を行う処理部である。制御部360は、例えば、ASICや、FPGAなどの集積装置、または、CPUやMPU等の電子回路に対応する。
図9に示すように、制御部360は、認証情報設定部360aと、アカウント情報通知部360bとを有する。認証情報設定部360aは、認証情報を生成し、生成した認証情報を認証サーバ200a〜200cに送信する処理部である。具体的に、認証情報設定部360aの処理について説明する。例えば、認証情報設定部360aは、認証情報を送信する認証サーバの認証識別情報と、利用者名と、利用者の利用者識別情報とを対応付けた情報を、入力部320を介して管理者から取得する。そして、認証情報設定部360aは、ランダム関数等を用いて、各利用者識別情報に対応するパスワードを生成する。例えば、認証情報設定部360aは、利用者識別情報とパスワードとの関係を出力部330に出力することで、管理者に利用者識別情報とパスワードとの関係を通知する。
続いて、認証情報設定部360aは、認証識別情報と、利用者識別情報と、パスワードとを対応付けた認証情報を生成する。認証情報設定部360aは、認証情報に含まれる認証識別情報と、認証配布先情報350cとを比較して、認証情報の送信先となる認証サーバを判定し、判定した認証サーバに認証情報を送信する。また、認証情報設定部360aは、認証情報に含まれる認証識別情報と利用者識別情報と利用者名とを対応付けた情報を、対応付情報350dに記憶する。なお、利用者識別情報と利用者名との関係は、例えば、管理者が指定しておくものとする。
アカウント情報通知部360bは、アクセス権限管理サーバ400から認証識別情報を受信した場合に、認証識別情報に対応する利用者の情報をアクセス権限管理サーバ400に送信する処理部である。具体的に、アカウント情報通知部360bの処理について説明する。アカウント情報通知部360bは、認証識別情報を受信した場合に、認証識別情報と対応付情報350dとを比較して、認証識別情報に対応する利用者名と利用者識別情報を検出する。
そして、アカウント情報通知部360bは、利用者識別情報をアクセス権限管理サーバ400に送信する。アカウント情報通知部360bがアクセス権限管理サーバ400に送信する利用者識別情報は、各利用者識別情報に利用者名が対応付けられているものとする。また、アカウント情報通知部360bは、グローバルアカウント情報350aおよびロール情報350bをアクセス権限管理サーバ400に送信する。
ここで、図9に示したグローバルアカウント情報350aのデータ構造の一例について説明する。図10は、グローバルアカウント情報のデータ構造を示す図である。図10に示すように、このグローバルアカウント情報350aは、部署情報、利用者名および役職を対応付けて記憶する。例えば、図10を参照すると、「総務部」には、「山田太郎」と「富士花子」が所属しており、山田太郎の役職は「一般」であり、富士花子の役職は「課長」である。例えば、管理者が入力部320を介して、グローバルアカウント情報350aを記憶部350に格納する。
次に、図9に示したロール情報350bのデータ構造の一例について説明する。図11は、ロール情報のデータ構造を示す図である。図11に示すように、このロール情報350bは、役職、アクセス権限およびアクセス先を対応付けて記憶する。例えば、図11を参照すると、役職「一般」の利用者のアクセス権限は「読取」であり、アクセス先は「業務システム」である。例えば、管理者が入力部320を介して、ロール情報350bを記憶部350に格納する。
次に、図9に示した認証配布先情報350cのデータ構造の一例について説明する。図12は、認証配布先情報のデータ構造を示す図である。図12に示すように、認証配布先情報350cは、認証識別情報と認証サーバのIPアドレスとを対応付けて記憶する。例えば、認証識別情報「認証サーバ200a」に対応するIPアドレスは「xxx.xxx.xxx」となる。「x」は任意の数字に対応する。例えば、管理者が入力部320を介して、認証配布先情報350cを記憶部350に格納する。
次に、図9に示した対応付情報350dのデータ構造の一例について説明する。図13は、対応付情報のデータ構造を示す図である。図13に示すように、この対応付情報350dは、認証識別情報と利用者識別情報との関係および利用者識別情報と利用者名との関係を含む。例えば、図13を参照すると、認証識別情報「認証サーバ200a」に対応する利用者識別情報は、「利用者01」、「利用者02」、「利用者03」となる。
つまり、認証識別情報「認証サーバ200a」で識別される認証サーバ200aが認証を行う利用者識別情報は、「利用者01」、「利用者02」、「利用者03」となる。また、利用者01に対応する利用者名は「山田太郎」であり、利用者02に対応する利用者名は「富士花子」であり、利用者03に対応する利用者名は「鈴木一郎」である。なお、同じ利用者名であっても、認証サーバ毎に利用者識別情報が異なる理由は、同一の利用者が異なる利用者識別情報を利用して、複数の業務サーバにアクセスする場合があるからである。
ここで、アカウント情報通知部360bが、アクセス権限管理サーバ400から認証識別情報を受信した場合の処理を説明する。図14は、アカウント情報通知部の処理を説明するための図である。ここでは一例として、認証識別情報は、「認証サーバ200a」を含むものとする。
アカウント情報通知部360bは、アクセス権限管理サーバ400から受信した認証識別情報と対応付情報350dとを比較し、認証識別情報に対応する利用者識別情報と、利用者識別情報に対応する利用者名を判定する。図14に示すように、認証識別情報「認証サーバ200a」に対応する利用者識別情報は「利用者01」、「利用者02」、「利用者03」となる。また、利用者01に対応する利用者名は「山田太郎」、利用者02に対応する利用者名は「富士花子」、利用者03に対応する利用者名は「鈴木一郎」となる。アカウント情報通知部360bは、利用者識別情報と利用者識別情報に対応する利用者名とを対応付けた情報をアクセス権限管理サーバ400に送信する。
次に、図2に示したアクセス権限管理サーバ400の構成の一例について説明する。図15は、アクセス権限管理サーバの構成を示す図である。図15に示すように、このアクセス権限管理サーバ400は、通信制御部410、入力部420、出力部430、入出力制御部440、記憶部450、制御部460を有する。
通信制御部410は、ネットワークを介して、他の装置とデータ通信を実行する処理部である。例えば、通信制御部410は、業務サーバ100a〜100c、利用者情報管理サーバ300との間でデータ通信を実行する。この通信制御部410は、例えば、他の装置とデータ通信を実行するASIC、通信用カード等に対応する。
入力部420は、キーボードやマウス等の入力装置に対応する。出力部430は、例えば、ディスプレイやモニタ等の出力装置に対応する。
記憶部450は、業務サーバ100a〜100cに設定するアクセス制御情報を生成するための情報を記憶する。記憶部450は、例えば、RAM、ROM、フラッシュメモリなどの半導体メモリ素子、またはハードディスク、光ディスクなどの記憶装置に対応する。
図15に示すように、記憶部450は、グローバルポリシー情報450a、構成情報450b、ローカルポリシー情報450c、配布先情報450dを記憶する。グローバルポリシー情報450aは、業務サーバ100a〜100c全体のアクセス権限を定義する情報である。構成情報450bは、業務システムと業務サーバとの関係を示す図である。ローカルポリシー情報450cは、各業務サーバ固有のアクセス権限を定義する情報である。配布先情報450dは、アクセス権限を設定する業務サーバの宛先情報である。例えば、管理者が入力部420を介して、グローバルポリシー情報450a、構成情報450b、配布先情報450dを、記憶部450に入力する。なお、ローカルポリシー情報450cは、グローバルポリシー情報450aから生成される。
制御部460は、グローバルポリシー情報450aからローカルポリシー情報450cを生成する処理、ローカルポリシー情報450cに基づいて業務サーバ100a〜100cにアクセス権限を設定する処理等を行う処理部である。制御部460は、例えば、ASICや、FPGAなどの集積装置、または、CPUやMPU等の電子回路に対応する。
図15に示すように、制御部460は、定義情報要求部460aと、利用者情報要求部460bと、ローカルポリシー情報生成部460cと、アクセス制御情報送信部460dとを有する。
定義情報要求部460aは、業務サーバ100a〜100cに定義情報を要求する処理部である。例えば、管理者が入力部420を介して所定のコマンドを入力した場合に、定義情報要求部460aは、定義情報を業務サーバ100a〜100cに要求する。定義情報要求部460aが業務サーバ100a〜100cから定義情報を受信した場合には、受信した定義情報を利用者情報要求部460bに出力する。
利用者情報要求部460bは、定義情報に含まれる認証識別情報を利用者情報管理サーバ300に送信することで、認証識別情報に対応する利用者の情報を要求する処理部である。ここで、認証識別情報に対応する利用者の情報は、認証識別情報に対応する利用者識別情報と利用者識別情報に対応する利用者名、グローバルアカウント情報、ロール情報を含む。利用者情報要求部460bは、認証識別情報に対応する利用者の情報を利用者情報管理サーバ300から受信した場合に、受信した利用者の情報をローカルポリシー情報生成部460cに出力する。
なお、利用者情報要求部460bは、利用者の情報と業務識別情報とを対応付けて、利用者の情報をローカルポリシー情報生成部460cに出力するものとする。例えば、利用者情報要求部460bが、業務識別情報「業務サーバ100a」と認証識別情報「認証サーバ200a」とを対応付けた定義情報に含まれる認証識別情報「認証サーバ200a」を利用者情報管理サーバ300に送信したとする。そして、利用者情報管理サーバ300から、利用者識別情報と利用者識別情報に対応する利用者名を受信した場合には、受信した各情報は、業務識別情報「業務サーバ100a」に対応する。
ローカルポリシー情報生成部460cは、認証識別情報に対応する利用者の情報を基にして、グローバルポリシー情報450aからローカルポリシー情報450cを生成する処理部である。ローカルポリシー情報生成部460cの具体的な処理は後述する。
アクセス制御情報送信部460dは、ローカルポリシー情報450cを業務サーバ毎のOS(Operating System)等にあわせたデータ構造に変換する。そして、アクセス制御情報送信部460dは、変換したローカルポリシー情報450cをアクセス制御情報として、該当する業務サーバに送信する。アクセス制御情報の送信先となる業務サーバの宛先は、配布先情報450dに含まれる。また、各業務サーバが使用するOSの情報は、配布先情報450dに含まれる。
ここで、図15に示したグローバルポリシー情報450aのデータ構造の一例について説明する。図16は、グローバルポリシー情報のデータ構造を示す図である。図16に示すように、このグローバルポリシー情報450aは、システムを識別するシステム識別情報、部署を識別する部署情報、アクセス権限を含む。図16に示すように、システム識別情報は「業務システム」を含み、部署情報は「総務部」を含み、アクセス権限は「アクセス可能」を含む。したがって、図16に示すグローバルポリシー情報450aは、「総務部は業務システムにアクセス可能」という情報を示す。
次に、図15に示した構成情報450bのデータ構造の一例について説明する。図17は、構成情報のデータ構造を示す図である。図17に示すように、この構成情報450bは、システム識別情報と業務識別情報とを含む。図17に示す例では、業務システムは業務サーバ100a〜100cを有することを示す。
次に、図15に示したローカルポリシー情報450cのデータ構造の一例について説明する。図18は、ローカルポリシー情報のデータ構造を示す図である。図18に示すように、このローカルポリシー情報450cは、業務識別情報と利用者識別情報とアクセス権限とを対応付けて記憶する。例えば、図18において、業務識別情報「業務サーバ100a」に対応する利用者識別情報は「利用者01」、「利用者02」である。また、利用者01のアクセス権限は「読取」、利用者02のアクセス権限は「読取・書込」となる。したがって、業務サーバ100aに対応するローカルポリシー情報は、「利用者01は、業務サーバ100aのデータを読取可能」、「利用者02は、業務サーバ100aのデータを読取・書込可能」という情報を示す。
また、図18に示すように、業務サーバ100bに対応するローカルポリシー情報は、「利用者11は、業務サーバ100bのデータを読取可能」、「利用者12は、業務サーバ100bのデータを読取・書込可能」という情報を示す。また、業務サーバ100cに対応するローカルポリシー情報は、「利用者21は、業務サーバ100cのデータを読取可能」、「利用者22は、業務サーバ100cのデータを読取・書込可能」という情報を示す。
次に、図15に示した配布先情報450dのデータ構造の一例について説明する。図19は、配布先情報450dのデータ構造を示す図である。図19に示すように、この配布先情報450dは、業務識別情報と、IPアドレスと、各業務サーバが使用するOSを識別する使用OS情報とを対応付けて記憶する。例えば、業務識別情報「業務サーバ100a」に対応するIPアドレスは「xxx.xxx.xxx」となる。「x」は任意の数字に対応する。また、業務識別情報「業務サーバ100a」で識別される業務サーバ100aの使用OS情報は「使用OS○○」となる。
次に、ローカルポリシー情報生成部460cが、グローバルポリシー情報450aからローカルポリシー情報450cを生成する処理の一例について説明する。図20は、グローバルポリシー情報からローカルポリシー情報を生成する処理を説明するための図である。
図20に示すように、ローカルポリシー情報生成部460cは、グローバルポリシー情報450aとグローバルアカウント情報350aとを比較して、第1変換過程テーブルを生成する(ステップS10)。例えば、第1変換過程テーブルは、システム識別情報と、利用者名と、役職と、アクセス権限とを対応付けて記憶する。
ステップS10において、ローカルポリシー情報生成部460cは、グローバルポリシー情報450aの部署情報「総務部」に所属する利用者名と役職との組をグローバルアカウント情報350aから検出する。部署情報「総務部」に対応する利用者名と役職との組は「山田太郎」と「一般」、「富士花子」と「課長」となる。ローカルポリシー情報生成部460cは、部署情報「総務部」に対応する利用者名と役職との組を、部署情報「総務部」の代わりにグローバルポリシー情報450aに登録することで、第1変換過程テーブルを生成する。
ローカルポリシー情報生成部460cは、第1変換過程テーブルとロール情報350bとを比較して、第2変換過程テーブルを生成する(ステップS11)。例えば、第2変換過程テーブルは、システム識別情報と、利用者名と、アクセス権限とを対応付けて記憶する。
ステップS11において、ローカルポリシー情報生成部460cは、第1変換過程テーブルのシステム識別情報と役職との組に対応するアクセス権限をロール情報350bから検出する。例えば、システム識別情報「業務システム」と役職「一般」との組に対応するアクセス権限は「読取」となる。また、システム識別情報「業務システム」と役職「課長」との組に対応するアクセス権限は「読取・書込」となる。ローカルポリシー情報生成部460cは、ロール情報350bから検出したアクセス権限にて、第1変換過程テーブルのアクセス権限を更新することで、第2変換過程テーブルを生成する。
ローカルポリシー情報生成部460cは、第2変換過程テーブルと構成情報450bとを比較して、第3変換過程テーブルを生成する(ステップS12)。例えば、第3変換過程テーブルは、業務識別情報と、利用者名と、アクセス権限とを対応付けて記憶する。
ステップS12において、ローカルポリシー情報生成部460cは、システム識別情報に対応する業務識別情報を構成情報450bから検出する。例えば、システム識別情報「業務システム」に対応する業務識別情報は「業務サーバ100a」、「業務サーバ100b」、「業務サーバ100c」となる。ローカルポリシー情報生成部460cは、システム識別情報に対する利用者名とアクセス権限との関係を、業務識別情報に対応する利用者名とアクセス権限との関係に変換することで、第3変換過程テーブルを生成する。
ローカルポリシー情報生成部460cは、第3変換過程テーブルと、認証サーバで認証を受ける際に使用する業務サーバ毎の利用者の利用者識別情報とを比較することで、ローカルポリシー情報450cを生成する(ステップS13)。
ステップS13において、例えば、業務サーバ100aの利用者名「山田太郎」に対応する利用者識別情報が「利用者01」の場合には、第3変換過程テーブルの業務サーバ100aに対する利用者名「山田太郎」の利用者識別情報は「利用者01」となる。このように、ローカルポリシー情報生成部460cは、業務サーバの各利用者名を、対応する利用者識別情報に変換することで、ローカルポリシー情報450cを生成する。
上述したように、ローカルポリシー情報生成部460cが、ステップS10〜ステップS13の処理を順に実行することで、グローバルポリシー情報450aからローカルポリシー情報450cを生成する。
次に、本実施例2にかかるアクセス制御システムの処理手順について説明する。図21および図22は、本実施例2にかかるアクセス制御システムの処理手順を示すフローチャートである。ここでは説明の便宜上、アクセス権限管理サーバ400は業務サーバ100aに定義情報の要求を行うものとする。また、業務サーバ100aは、認証サーバ200aを利用して利用者の認証を行うものとする。
図21に示すように、アクセス権限管理サーバ400はコマンドを受付(ステップS101)、定義情報を業務サーバ100aに要求する(ステップS102)。ここで、アクセス権限管理サーバ400が受けるコマンドは、例えば、定義情報の要求を指示するコマンドである。業務サーバ100aは、定義情報の要求をアクセス権限管理サーバ400から受付ける(ステップS103)。
業務サーバ100aは、接続先の認証サーバ200aに認証識別情報を要求し(ステップS104)、認証サーバ200aは、認証識別情報の要求を受付ける(ステップS105)。認証サーバ200aは、認証情報250aに設定された認証識別情報を検出し(ステップS106)、認証識別情報を業務サーバ100aに送信する(ステップS107)。
業務サーバ100aは、認証識別情報を受信し(ステップS108)、業務識別情報と認証識別情報とを対応付けることで定義情報を生成する(ステップS109)。業務サーバ100aは、定義情報をアクセス権限管理サーバ400に送信する(ステップS110)。
アクセス権限管理サーバ400は、定義情報を受信し(ステップS111)、定義情報に含まれる認証識別情報を利用者情報管理サーバ300に送信する(ステップS112)。利用者情報管理サーバ300は、認証識別情報を受信し(ステップS113)、認証識別情報に対応する利用者識別情報を判定する(ステップS114)。
利用者情報管理サーバ300は、利用者識別情報、グローバルアカウント情報、ロール情報をアクセス権限管理サーバ400に送信する(ステップS115)。ステップS115で送信される利用者識別情報は、利用者名に対応付けられているものとする。アクセス権限管理サーバ400は、利用者識別情報、グローバルアカウント情報、ロール情報を受信する(ステップS116)。
続いて、図22の説明に移行する。アクセス権限管理サーバ400は、グローバルポリシー情報を受付ける(ステップS117)。アクセス権限管理サーバ400は、グローバルポリシー情報、グローバルアカウント情報、ロール情報、利用者識別情報に基づいて、ローカルポリシー情報を生成する(ステップS118)。
アクセス権限管理サーバ400は、ローカルポリシー情報をアクセス制御情報に変換し(ステップS119)、アクセス制御情報を業務サーバ100aに送信する(ステップS120)。業務サーバ100aは、アクセス制御情報を受信し(ステップS121)、アクセス制御情報を格納する(ステップS122)。
上述してきたように、本実施例2にかかるアクセス制御システムは、認証識別情報と利用者識別情報とを対応付けた対応付情報350dを管理する利用者情報管理サーバ300を設ける。このため、アクセス権限管理サーバ400は、認証サーバ200a〜200cに利用者識別情報を問い合わせるのではなく、利用者情報管理サーバ300に利用者識別情報を問い合わせる。そして、アクセス権限管理サーバ400は、利用者情報管理サーバ300から利用者識別情報を得ることで、業務サーバ100a〜100cが認証を依頼する認証サーバが認証する利用者の利用者識別情報を得ることができる。この利用者識別情報が得られれば、アクセス権限管理サーバ400は、グローバルポリシー情報450aで定義した認証対象を、利用者情報管理サーバ300から得た利用者識別情報に設定することで、ローカルポリシー情報450cを生成することができる。したがって、本実施例2にかかるアクセス制御システムによれば、認証情報およびアクセス権限の情報を一元管理しつつ、共通ポリシーに基づく統合アクセス制御を効率よく実現することができる。
また、アクセス権限管理サーバ400は、アクセス権限情報を業務サーバ100a〜100cに設定する場合に、各業務サーバから定義情報を取得する。そして、アクセス権限管理サーバ400は、定義情報に含まれる認証識別情報を利用して、利用者情報管理サーバ300から、認証サーバで認証する利用者の利用者識別情報を得る。すなわち、業務サーバ100a〜100cが認証を依頼する認証サーバが固定でなくても、アクセス権限管理サーバ400は、定義情報を利用することで、アクセス権限情報を設定する時点の、業務サーバと、利用者の利用者識別情報との関係を得ることができる。この結果、アクセス権限管理サーバ400は、適切なアクセス権限を各業務サーバ100a〜100cに設定することができる。
また、アクセス権限管理サーバ400は、認証サーバ200a〜200cに直接アクセスすることなく、業務サーバ100a〜100cから定義情報を取得することで、認証サーバ200a〜200cで認証を受ける利用者の利用者識別情報を取得する。したがって、認証サーバ200a〜200cの業務効率を低下させることを防止することができる。なお、業務サーバ100a〜100cが定義情報を生成する場合には、認証サーバ200a〜200cは、認証識別情報を該当する業務サーバに送信する処理を実行する。しかし、かかる処理は、認証識別情報を送信するのみであり、処理負荷も軽く、業務効率を低下させるものではない。
また、アクセス権限管理サーバ400は、業務サーバ100a〜100cにアクセスを許可する利用者の所属部署や利用者の役職などの属性を基にして、グローバルポリシー情報450aからローカルポリシー情報450cを生成する。したがって、管理者が、グローバルポリシー情報450aを構築する段階で、業務サーバ100a〜100cにアクセスを許可する利用者を属性により細かく指定した場合でも、業務サーバ毎に適したローカルポリシー情報450cを生成することができる。例えば、グローバルポリシー情報450cで利用者の属性を「総務部」と定義した場合には、ローカルポリシー情報450cに、総務部に属する利用者の利用者識別情報が認証対象として設定される。
ところで、図4に示した業務サーバ100a〜100cの各構成要素、図7に示した認証サーバ200a〜200cの各構成要素、図9に示した利用者情報管理サーバ300、図15に示したアクセス権限管理サーバ400の各構成要素は機能概念的なものである。このため、図4、図7、図9、図15に示した各構成要素は、必ずしも図示の如く構成されていることを要しない。すなわち、各構成要素の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図4、図7、図9、図15に示した制御部160,260,360,460の機能を拡張カードなどの外部装置に搭載し、拡張カードを該当するサーバに接続してもよい。
また、本実施例2では、業務サーバ100a〜100cが生成する各定義情報を利用者情報管理サーバ300が管理してもよい。例えば、アクセス権限管理サーバ400は、各業務サーバ100a〜100cから定義情報を受信し、記憶部350に各定義情報を記憶する。
利用者情報管理サーバ300が各定義情報を記憶した状態で、アクセス権限管理サーバ400が業務サーバで認証を受ける利用者の利用者識別情報を取得する場合には、アクセス権限管理サーバ400は、業務識別情報を、利用者情報管理サーバ300に送信する。業務識別情報を受信した利用者情報管理サーバ300は、定義情報と、業務識別情報とを比較して、業務識別情報に対応する認証識別情報を判定する。そして、利用者情報管理サーバは、判定した認証識別情報と対応付情報350dとを比較して、認証識別情報に対応する利用者識別情報を判定し、判定した利用者識別情報をアクセス権限管理サーバ400に送信する。したがって、例えば、利用者情報管理サーバ300は、各業務サーバ100a〜100cの各定義情報を記憶する場合でも、アクセス権限管理サーバ400は、業務サーバで認証を受ける利用者の利用者識別情報を取得することができる。
なお、制御部160,260,360,460の機能をソフトウェアとして実装し、これをコンピュータで実行することにより、制御部160,260,360,460と同様の機能を実現することもできる。
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)複数のサーバ装置と、各サーバ装置へアクセスする利用者の利用者認証処理を行う認証サーバ装置と、
前記認証サーバを一意に識別する認証識別情報と、該認証サーバ装置によって利用者認証を受ける利用者を一意に識別する利用者識別情報とを対応付けた対応情報、利用者識別情報に対応する利用者の属性を示す属性情報を管理する利用者情報管理サーバ装置と、
複数のサーバ装置のアクセス権限に共通する共通ポリシーでアクセスを許可する利用者の属性と前記属性情報とを比較し、前記認証サーバ装置で認証を受ける利用者の利用者識別情報のうち、前記共通ポリシーでアクセスを許可する利用者の属性を有する利用者の利用者識別情報から各サーバ装置に依存したアクセス権限に係る固有ポリシーを生成するアクセス権限管理サーバ装置と
を備えたことを特徴とするアクセス制御システム。
(付記2)前記アクセス権限管理サーバ装置は、前記サーバ装置を一意に識別するサーバ識別情報と、当該サーバ装置が利用者認証を依頼する認証サーバ装置の認証識別情報とを対応付けた定義情報を前記サーバ装置から取得する定義情報取得部と、
前記定義情報取得部が取得した定義情報に含まれる認証識別情報を前記利用者情報管理サーバ装置に通知することで、前記利用者情報管理サーバ装置から前記認証サーバ装置によって利用者認証を受ける利用者の利用者識別情報、グローバルアカウント情報およびロール情報を取得する利用者情報取得部と、
前記利用者情報取得部が取得した利用者識別情報、グローバルアカウント情報およびロール情報に基づいて、前記共通ポリシーから前記固有ポリシーを生成するポリシー生成部と
を備えたことを特徴とする付記1に記載のアクセス制御システム。
(付記3)アクセス権限管理サーバ装置が、
サーバ装置へアクセスする利用者の利用者認証を行う認証サーバ装置を一意に識別する認証識別情報と、該認証サーバ装置によって利用者認証を受ける利用者を一意に識別する利用者識別情報とを対応付けた対応付情報、利用者識別情報に対応する利用者の属性を示す属性情報を管理する利用者情報管理サーバ装置に、認証識別情報を通知することで、該認証識別情報に対応する利用者識別情報と当該利用者識別情報に対応する属性情報とを取得する取得ステップと、
複数のサーバ装置のアクセス権限に共通する共通ポリシーでアクセスを許可する利用者の属性と前記属性情報とを比較し、前記認証サーバ装置で認証を受ける利用者の利用者識別情報のうち、前記共通ポリシーでアクセスを許可する利用者の属性を有する利用者の利用者識別情報から各サーバ装置に依存したアクセス権限に係る固有ポリシーを生成する生成ステップと、
を含むことを特徴とするポリシー生成方法。
(付記4)サーバ装置へアクセスする利用者の利用者認証を行う認証サーバ装置によって利用者認証を受ける利用者を一意に識別する利用者識別情報、利用者識別情報に対応する利用者の属性を示す属性情報を記憶する利用者識別情報記憶部と、
前記利用者識別情報記憶部に記憶された利用者識別情報および前記属性情報に基づいて、複数のサーバ装置のアクセス権限に共通する共通ポリシーでアクセスを許可する利用者の属性と前記属性情報とを比較し、前記認証サーバ装置で認証を受ける利用者の利用者識別情報のうち、前記共通ポリシーでアクセスを許可する利用者の属性を有する利用者の利用者識別情報から各サーバ装置に依存したアクセス権限に係る固有ポリシーを生成するポリシー生成部と、
を備えたことを特徴とするアクセス権限管理サーバ装置。
(付記5)コンピュータに、
サーバ装置へアクセスする利用者の利用者認証を行う認証サーバ装置によって利用者認証を受ける利用者を一意に識別する利用者識別情報、利用者識別情報に対応する利用者の属性を示す属性情報を記憶装置に記憶するステップと、
前記記憶装置に記憶された利用者識別情報および前記属性情報に基づいて、複数のサーバ装置のアクセス権限に共通する共通ポリシーでアクセスを許可する利用者の属性と前記属性情報とを比較し、前記認証サーバ装置で認証を受ける利用者の利用者識別情報のうち、前記共通ポリシーでアクセスを許可する利用者の属性を有する利用者の利用者識別情報から各サーバ装置に依存したアクセス権限に係る固有ポリシーを生成するステップと
を実行させることを特徴とするポリシー生成プログラム。