以下、本発明の実施の形態について、図を用いて説明する。なお、各図中、同一または相当する部分には、同一符号を付している。実施の形態の説明において、同一または相当する部分については、説明を適宜省略または簡略化する。
実施の形態1.
図1を参照して、本実施の形態に係る認可システム101の利用例を説明する。
利用者としては、業務アプリケーション112を直接利用する利用者、および、リバースプロキシサーバ122越しに業務アプリケーション123,124を利用する利用者がいる。
入退室管理システム102およびGPS103(Global PositioningSystem)は、認可システム101に対して、利用者の通行履歴および位置情報をそれぞれ提供する。
業務アプリケーション112およびリバースプロキシサーバ122は、利用者からのコンテンツへのアクセスに対して、そのアクセスを許可できる権限を利用者が持っているかどうかを、認可システム101へ問い合わせる。認可システム101は、問い合わせに対して、保持する情報を用いてその利用者がそのコンテンツに対して所持する権限を判定し、その結果を業務アプリケーション112およびリバースプロキシサーバ122へ提供する。業務アプリケーション112およびリバースプロキシサーバ122は、認可システム101から受け取った判定結果に従い、アクセスの可否を判定する。
***構成の説明***
図2を参照して、認可システム101の構成を説明する。
認可システム101は、コンピュータである。認可システム101は、プロセッサ131を備えるとともに、メモリ132、通信装置133といった他のハードウェアを備える。プロセッサ131は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
認可システム101は、機能要素として、アクセス制御部200と、アクセス制御情報取得部202と、利用者情報取得部207と、在場情報取得部208と、在場情報生成部211とを備える。アクセス制御部200は、アクセス権限決定部201と、アクセス権限判定部203と、利用者条件判定部204と、在エリア条件判定部205と、過去条件判定部206とを有する。アクセス制御部200、アクセス制御情報取得部202、利用者情報取得部207、在場情報取得部208、在場情報生成部211といった「部」の機能は、ソフトウェアにより実現される。
プロセッサ131は、プロセッシングを行うIC(Integrated Circuit)である。プロセッサ131は、具体的には、CPU(Central Processing Unit)である。
メモリ132には、アクセス制御情報221と、利用者情報222と、在場情報223とが記憶される。メモリ132は、具体的には、フラッシュメモリ、または、RAM(Random Access Memory)である。
通信装置133は、情報を受信するレシーバおよび情報を送信するトランスミッタを含む。通信装置133は、具体的には、通信チップまたはNIC(Network Interface Card)である。
認可システム101は、ハードウェアとして、入力装置およびディスプレイを備えていてもよい。
入力装置は、具体的には、マウス、キーボード、または、タッチパネルである。
ディスプレイは、具体的には、LCD(Liquid Crystal Display)である。
メモリ132には、「部」の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ131に読み込まれ、プロセッサ131によって実行される。メモリ132には、OS(Operating System)も記憶されている。プロセッサ131は、OSを実行しながら、「部」の機能を実現するプログラムを実行する。なお、「部」の機能を実現するプログラムの一部または全部がOSに組み込まれていてもよい。
「部」の機能を実現するプログラムおよびOSは、補助記憶装置に記憶されていてもよい。補助記憶装置は、具体的には、フラッシュメモリ、または、HDD(Hard Disk Drive)である。補助記憶装置に記憶されているプログラムおよびOSは、メモリ132にロードされ、プロセッサ131によって実行される。
認可システム101は、プロセッサ131を代替する複数のプロセッサを備えていてもよい。これら複数のプロセッサは、「部」の機能を実現するプログラムの実行を分担する。それぞれのプロセッサは、プロセッサ131と同じように、プロセッシングを行うICである。
「部」の処理の結果を示す情報、データ、信号値、および、変数値は、メモリ132、補助記憶装置、または、プロセッサ131内のレジスタまたはキャッシュメモリに記憶される。
「部」の機能を実現するプログラムは、磁気ディスク、光ディスクといった可搬記録媒体に記憶されてもよい。
メモリ132に記憶されている在場情報223は、複数の利用者のそれぞれが居る場所を示す情報である。本実施の形態では、在場情報223には、複数の利用者のそれぞれが居る場所を時系列で示す情報が含まれている。すなわち、在場情報223は、複数の利用者のそれぞれが居る場所の履歴を示す情報である。
メモリ132に記憶されている利用者情報222は、複数の利用者のそれぞれが持つ属性を示す情報である。本実施の形態では、利用者情報222には、複数の利用者のそれぞれが属する階層を属性として示す情報が含まれている。具体的には、利用者情報222には、複数の利用者のそれぞれが属する組織における役職を階層として示す情報が含まれている。
ここで、利用者情報222の例を図3に示す。
図3の例において、利用者情報222は、テーブル形式でメモリ132に格納される。利用者情報222のテーブルは、利用者を識別するユーザID(IDentifier)を示すユーザID COL11と、利用者の所属先組織を示す所属先組織COL12と、利用者の所属先組織での役職を示す役職COL13という3つのカラムを含む。
メモリ132に記憶されているアクセス制御情報221は、コンテンツへのアクセスを認める条件を指定する情報である。具体的には、アクセス制御情報221は、指定条件として、コンテンツへのアクセスの要求元の利用者がコンテンツへのアクセスの要求時点に居る場所と、要求元の利用者が要求時点よりも過去の期間に居た場所との組み合わせを示す情報である。あるいは、アクセス制御情報221は、指定条件として、要求元の利用者がコンテンツへのアクセスの要求時点に居る場所と、要求元の利用者とは別の属性を持つ利用者が要求時点に居る場所との組み合わせを示す情報である。なお、指定条件には、要求元の利用者が要求時点よりも過去の期間に居た場所、および、要求元の利用者とは別の属性を持つ利用者が要求時点に居る場所のいずれか一方だけでなく両方が含まれていてもよい。本実施の形態では、アクセス制御情報221には、要求元の利用者が要求時点に居る場所を第1指定場所、要求時点よりも過去の期間を指定期間、要求元の利用者が指定期間に居た場所を第2指定場所として示す情報が含まれている。あるいは、アクセス制御情報221には、要求元の利用者が居る場所を第1指定場所、要求元の利用者が属する階層よりも上位の階層を指定階層、指定階層と同じか指定階層よりも上位の階層に属する利用者が居る場所を第2指定場所として示す情報が含まれている。すなわち、本実施の形態では、ある指定条件には、第1指定場所、指定期間および第2指定場所が含まれ、別の指定条件には、第1指定場所、指定階層および第2指定場所が含まれている。
ここで、アクセス制御情報221の例を図4に示す。
図4の例において、アクセス制御情報221は、テーブル形式でメモリ132に格納される。アクセス制御情報221のテーブルは、少なくとも7つのカラムを含む。1つ目のカラムは、制御対象となる対象コンテンツCOL01というカラムである。2つ目のカラムは、1つの対象コンテンツに対して複数の指定条件が設定された場合の識別コードとして用いるID COL02というカラムである。3つ目のカラムは、指定条件を満たすために必要な認証レベルを示す認証レベルCOL03というカラムである。4つ目のカラムは、指定条件を満たす場合に適用する権限の内容を示す適用内容COL04というカラムである。5つ目のカラムは、指定条件を構成する要素の1つである利用者条件の内容を示す利用者条件COL05というカラムである。6つ目のカラムは、指定条件を構成する要素の1つである在エリア条件の内容を示す在エリア条件COL06というカラムである。7つ目のカラムは、指定条件を構成する要素の1つである過去条件の内容を示す過去条件COL07というカラムである。
本例のアクセス制御情報221では、対象コンテンツCOL01に対応する指定条件が、必要とする認証レベルCOL03と、適用する権限の内容を示す適用内容COL04と、その権限の内容を適用する条件となる利用者条件COL05と、在エリア条件COL06と、過去条件COL07とで構成されている。1つのコンテンツには、複数の指定条件を設定することができる。本例では、その識別のためにID COL02を使用している。1つのコンテンツに設定されている複数の指定条件を満たす場合には、満足できる認証レベルCOL03を持つ指定条件の適用内容COL04の論理和をとった権限を適用する。1つの指定条件では、利用者条件COL05、在エリア条件COL06および過去条件COL07の3種類の条件を、複数設定することが可能である。設定されたすべての条件を満足する場合に、その認証レベルCOL03および適用内容COL04が適用される。
利用者条件COL05は、アクセスを要求している利用者本人の属性に関する条件である。利用者条件COL05により、所属先組織、役職等により対象者を限定することが可能となる。具体例として、No.1の指定条件では、「所属先が人事部」であることが利用者条件COL05として設定されている。No.5の指定条件では、「所属先が人事部」かつ「役職が課長以上」であることが利用者条件COL05として設定されている。
在エリア条件COL06は、指定のエリアに指定の条件を満たす利用者が居るという条件である。具体例として、No.1の指定条件では、「人事部サーバ室にアクセスを要求している利用者本人が居ること」が在エリア条件COL06として設定されている。No.2の指定条件では、「人事部サーバ室に、アクセスを要求している利用者本人と、所属先が人事部で役職が課長以上の利用者が居ること」が在エリア条件COL06として設定されている。No.3の指定条件では、在エリア条件COL06が「無制限」に設定されている。No.4の指定条件では、「人事部サーバ室にアクセスを要求している利用者本人が居ること」かつ「人事部居室に、所属先が人事部で役職が課長以上の利用者が居ること」が在エリア条件COL06として設定されている。
過去条件COL07は、アクセスを要求している利用者本人の過去の在場状況に関する条件である。具体例として、No.1の指定条件では、過去条件COL07が「無制限」に設定されている。No.8の指定条件では、「営業部居室に過去10分以内に在室していたこと」が過去条件COL07として設定されている。
図4に記載のアクセス制御情報221を用いた場合、次のような制御が可能となる。
No.1の指定条件の適用により、人事部に所属する利用者は、人事部サーバ室に居る場合のみ、Secret01.jspのコンテンツを参照可能となる。No.2の指定条件の適用により、さらに、人事部の課長または部長が人事部サーバ室にいる場合は、Secret01.jspのコンテンツの更新も可能となる。用途としては、コンテンツ更新時のダブルチェック等が考えられる。
No.3の指定条件の適用により、人事部に所属する利用者は、どのような場合でも、Secret02.jspのコンテンツを参照可能である。No.4の指定条件の適用により、人事部に所属する担当者は、人事部サーバ室に居て、かつ、人事部の課長または部長が人事部居室に居る場合のみ、Secret02.jspのコンテンツの更新も可能となる。一方、No.5の指定条件の適用により、人事部の課長および部長は、人事部居室でSecret02.jspのコンテンツを更新可能である。このように、利用者の役職等により、作業場所を変更することが可能である。
No.6の指定条件の適用により、利用者は、レベル2の認証方法を用いた認証を受けることで、Public01.phpのコンテンツを参照可能となる。No.7の指定条件の適用により、営業部に所属する利用者は、営業部居室にてレベル2の認証方法を用いた認証を受けることで、Public01.phpのコンテンツの更新が可能となる。その後、No.8の指定条件の適用により、営業部に所属する利用者は、現時点を除く過去10分以内に営業部居室にてレベル2の認証方法を用いた認証を受けていれば、再度認証を受けることなく、Public01.phpのコンテンツの更新が可能である。用途としては、トイレ休憩等が想定される。
No.2の指定条件では、在エリア条件COL06の「人事部サーバ室」が第1指定場所および第2指定場所、在エリア条件COL06の「人事部の課長」が指定階層に相当する。No.4の指定条件では、在エリア条件COL06の「人事部サーバ室」が第1指定場所、在エリア条件COL06の「人事部の課長」が指定階層、在エリア条件COL06の「人事部居室」が第2指定場所に相当する。No.2の指定条件では、第1指定場所および第2指定場所として同じ場所が指定されているが、No.4の指定条件では、第1指定場所および第2指定場所として別々の場所が指定されている。
No.8の指定条件では、在エリア条件COL06の「営業部居室」が第1指定場所、過去条件COL07の「10分以内」が指定期間、過去条件COL07の「営業部居室」が第2指定場所に相当する。この指定条件では、第1指定場所および第2指定場所として同じ場所が指定されているが、別々の場所が指定されていてもよい。
***動作の説明***
図2を参照して、本実施の形態に係る認可システム101の動作の概要を説明する。認可システム101の動作は、本実施の形態に係るアクセス制御方法に相当する。認可システム101の動作は、本実施の形態に係るアクセス制御プログラムの処理手順に相当する。
在場情報生成部211は、入退室管理システム102から提供される通行履歴、GPS103から提供される位置情報等から在場情報223を逐次作成し、メモリ132へ格納する。
在場情報取得部208は、特定の在場情報223をメモリ132から取得する。
利用者情報取得部207は、特定の利用者情報222をメモリ132から取得する。
アクセス制御情報取得部202は、アクセス制御情報221をメモリ132から取得する。
アクセス制御部200は、コンテンツへのアクセスの要求を受けると、在場情報取得部208により取得された在場情報223と、利用者情報取得部207により取得された利用者情報222とから、アクセス制御情報取得部202により取得されたアクセス制御情報221の指定条件が満たされているかどうかを判定する。そして、アクセス制御部200は、判定の結果に応じて、コンテンツへのアクセスを制御する。
ここで、あるコンテンツに対応する指定条件に、第1指定場所、指定期間および第2指定場所が含まれていたとする。アクセス制御部200は、第1指定場所に居る利用者による当該コンテンツへのアクセスの要求を受けると、在場情報取得部208により取得された在場情報223から、同じ利用者が指定期間に居た場所を特定する。そして、アクセス制御部200は、特定した場所と第2指定場所とを比較し、比較の結果に応じて、指定条件が満たされているかどうかを判定する。本実施の形態では、アクセス制御部200は、第1指定場所に居て指定期間に認証済の利用者によるコンテンツへのアクセスの要求を受けると、在場情報取得部208により取得された在場情報223から、同じ利用者が指定期間に居た場所を特定する。アクセス制御部200は、特定した場所と第2指定場所とが一致する場合、指定条件が満たされていると判定してコンテンツへのアクセスを認める。アクセス制御部200は、特定した場所と第2指定場所とが一致しない場合、指定条件が満たされていないと判定して再認証を要求する。
また、別のコンテンツに対応する指定条件に、第1指定場所、指定階層および第2指定場所が含まれていたとする。アクセス制御部200は、第1指定場所に居て指定階層よりも下位の階層に属する利用者による当該別のコンテンツへのアクセスの要求を受けると、在場情報取得部208により取得された在場情報223から、第2指定場所に居る利用者を特定する。そして、アクセス制御部200は、利用者情報取得部207により取得された利用者情報222から、特定した利用者が属する階層を特定し、特定した階層と指定階層とを比較し、比較の結果に応じて、指定条件が満たされているかどうかを判定する。
アクセス制御部200において、アクセス権限決定部201は、業務アプリケーション112またはリバースプロキシサーバ122からの問い合わせを受け、アクセス制御情報取得部202からアクセス制御情報221を取得し、アクセス制御情報221の指定条件を、アクセス権限判定部203を用いて判定し、判定結果を返す。アクセス権限判定部203は、アクセス権限決定部201から通知されたアクセス制御情報221の指定条件を、利用者条件判定部204と在エリア条件判定部205と過去条件判定部206とを用いて判定し、その結果を返す。利用者条件判定部204は、アクセス権限判定部203から指定された利用者条件を、利用者情報取得部207から取得した利用者情報222を用いて判定する。在エリア条件判定部205は、アクセス権限判定部203から指定された在エリア条件を、利用者情報取得部207から取得した利用者情報222と在場情報取得部208から取得した在場情報223とを用いて判定する。過去条件判定部206は、アクセス権限判定部203から指定された過去条件を、在場情報取得部208から取得した在場情報223を用いて判定する。
図5から図9を参照して、認可システム101の動作の詳細を説明する。
図5は、認可システム101が、業務アプリケーション112またはリバースプロキシサーバ122から権限判定の要求を受け、その結果を返すまでの動作例を示している。
ステップS11において、業務アプリケーション112またはリバースプロキシサーバ122は、認可システム101へアクセス可否の判定のための権限の内容を要求する。その際に、業務アプリケーション112またはリバースプロキシサーバ122は、URL等のコンテンツの情報に加え、アクセスを要求している利用者のユーザID等の情報と現在の認証レベルについても通知する。アクセス権限決定部201は、通信装置133を用いて、業務アプリケーション112またはリバースプロキシサーバ122からの情報を受信する。
ステップS12において、アクセス権限決定部201は、アクセス制御情報取得部202に対して、対象コンテンツのアクセス制御情報221の取得を要求する。
ステップS13において、アクセス制御情報取得部202は、メモリ132から対象コンテンツのアクセス制御情報221を取得し、アクセス権限決定部201へ提供する。
ステップS14において、アクセス権限決定部201は、取得したアクセス制御情報221の指定条件をアクセス権限判定部203へ通知する。
ステップS15において、アクセス権限判定部203は、通知された指定条件を、利用者条件判定部204、在エリア条件判定部205および過去条件判定部206を用いて判定し、結果をアクセス権限決定部201へ返す。
ステップS16において、アクセス権限決定部201は、受け取った結果の内容が、いずれの指定条件も満たせていなかった場合には、ステップS17の処理を行い、1つでも指定条件を満たせている場合には、ステップS18の処理を行う。
ステップS17において、アクセス権限決定部201は、通信装置133を用いて、アクセス権限がないことを業務アプリケーション112またはリバースプロキシサーバ122へ通知し、処理を終了する。
ステップS18において、アクセス権限決定部201は、満たせている指定条件の認証レベルを確認し、1つでも認証レベルを満足できている場合には、ステップS19の処理を行い、いずれの認証レベルも満足できていない場合には、ステップS20の処理を行う。
ステップS19において、アクセス権限決定部201は、通信装置133を用いて、満足できている範囲の指定条件の適用内容をまとめて業務アプリケーション112またはリバースプロキシサーバ122へ通知し、処理を終了する。
ステップS20において、アクセス権限決定部201は、通信装置133を用いて、不足している認証レベル分の追加認証を、業務アプリケーション112またはリバースプロキシサーバ122へ要求し、処理を終了する。
図6は、アクセス権限判定部203の動作例を示している。
ステップS31において、アクセス権限判定部203は、アクセス権限決定部201から、判定対象となる指定条件を示すアクセス制御情報221を取得する。
ステップS32において、アクセス権限判定部203は、取得したアクセス制御情報221のすべての指定条件に対して、ステップS33からステップS40の処理を行う。
ステップS33において、アクセス権限判定部203は、指定条件に含まれているすべての利用者条件に対して、ステップS34の処理を行う。
ステップS34において、アクセス権限判定部203は、利用者条件判定部204へ利用者条件の判定を要求し、結果を受け取る。
ステップS35において、アクセス権限判定部203は、指定条件に含まれているすべての在エリア条件に対して、ステップS36の処理を行う。
ステップS36において、アクセス権限判定部203は、在エリア条件判定部205へ在エリア条件の判定を要求し、結果を受け取る。
ステップS37において、アクセス権限判定部203は、指定条件に含まれているすべての過去条件に対して、ステップS38の処理を行う。
ステップS38において、アクセス権限判定部203は、過去条件判定部206へ過去条件の判定を要求し、結果を受け取る。
ステップS39において、アクセス権限判定部203は、判定対象の指定条件に含まれている利用者条件、在エリア条件および過去条件をすべて満足できていた場合、ステップS40の処理を行う。
ステップS40において、アクセス権限判定部203は、判定対象の指定条件を返信リストに追加する。
アクセス権限判定部203は、すべての指定条件に対して判定を実施後、ステップS41の処理を行う。
ステップS41において、アクセス権限判定部203は、返信リストに格納されている指定条件をアクセス権限決定部201へ通知する。
図7は、主に、アクセス制御情報221の利用者条件を判定する利用者条件判定部204の動作例を示している。
ステップS51において、利用者条件判定部204は、アクセス権限判定部203から利用者条件の判定の要求を受ける。このとき、利用者条件判定部204は、判定対象の利用者条件の情報を取得する。
ステップS52において、利用者条件判定部204は、利用者情報取得部207へ、アクセスを要求している利用者の利用者情報222を要求する。
ステップS53において、利用者情報取得部207は、対象利用者の利用者情報222をメモリ132から取得し、利用者条件判定部204へ返す。
ステップS54において、利用者条件判定部204は、取得した利用者情報222を用いて、利用者条件が満たされるか判定する。
ステップS55において、利用者条件判定部204は、判定の結果、利用者条件が満足できている場合には、ステップS56の処理を行い、満足できていない場合には、ステップS57の処理を行う。
ステップS56において、利用者条件判定部204は、利用者条件が満足できていることを示すブール値「真」をアクセス権限判定部203へ返す。
ステップS57において、利用者条件判定部204は、利用者条件が満足できていないことを示すブール値「偽」をアクセス権限判定部203へ返す。
図8は、主に、アクセス制御情報221の在エリア条件を判定する在エリア条件判定部205の動作例を示している。
ステップS61において、在エリア条件判定部205は、アクセス権限判定部203から在エリア条件の判定の要求を受ける。このとき、在エリア条件判定部205は、判定対象の在エリア条件の情報を取得する。
ステップS62において、在エリア条件判定部205は、在場情報取得部208へ、在エリア条件で指定されているエリアにその時点で在室する利用者のリストを要求する。
ステップS63において、在場情報取得部208は、指定のエリアにその時点で在室する利用者のユーザIDのリストを在場情報223としてメモリ132から取得し、在エリア条件判定部205へ返す。
ステップS64において、在エリア条件判定部205は、取得したリストにユーザIDが記載されているすべての利用者に対して、ステップS65およびステップS66の処理を行う。
ステップS65において、在エリア条件判定部205は、利用者情報取得部207へ、取得したリストにユーザIDが記載されている利用者の利用者情報222を要求する。
ステップS66において、利用者情報取得部207は、対象利用者の利用者情報222をメモリ132から取得し、利用者条件判定部204へ返す。
ステップS67において、在エリア条件判定部205は、取得したリストと利用者情報222を用いて、在エリア条件が満たされるか判定する。
ステップS68において、在エリア条件判定部205は、判定の結果、在エリア条件が満足できている場合には、ステップS69の処理を行い、満足できていない場合には、ステップS70の処理を行う。
ステップS69において、在エリア条件判定部205は、在エリア条件が満足できていることを示すブール値「真」をアクセス権限判定部203へ返す。
ステップS70において、在エリア条件判定部205は、在エリア条件が満足できていないことを示すブール値「偽」をアクセス権限判定部203へ返す。
図9は、主に、アクセス制御情報221の過去条件を判定する過去条件判定部206の動作例を示している。
ステップS81において、過去条件判定部206は、アクセス権限判定部203から過去条件の判定の要求を受ける。このとき、過去条件判定部206は、判定対象の過去条件の情報を取得する。
ステップS82において、過去条件判定部206は、在場情報取得部208へ、アクセスを要求している利用者の過去の在室状況を示すリストを要求する。
ステップS83において、在場情報取得部208は、対象利用者の過去の在室状況を示すリストを在場情報223としてメモリ132から取得し、過去条件判定部206へ返す。
ステップS84において、過去条件判定部206は、取得したリストを用いて、過去条件が満たされるか判定する。
ステップS85において、過去条件判定部206は、判定の結果、過去条件が満足できている場合には、ステップS86の処理を行い、満足できていない場合には、ステップS87の処理を行う。
ステップS86において、過去条件判定部206は、過去条件が満足できていることを示すブール値「真」をアクセス権限判定部203へ返す。
ステップS87において、過去条件判定部206は、過去条件が満足できていないことを示すブール値「偽」をアクセス権限判定部203へ返す。
***動作の具体例の説明***
図3に記載の利用者情報222と図4に記載のアクセス制御情報221とを用いた場合の認可システム101の動作例を3つ説明する。
第1動作例として、Secret01.jspへのアクセスを制御する動作を説明する。
本動作例は、特定の場所での作業が必要で、ダブルチェック等の2人以上での作業が必要な場合を想定したものである。
まず、利用者U0001Aが共用エリアからSecret01.jspへのアクセスを要求した場合について説明する。
ステップS11において、利用者U0001Aが認証レベル1の状態でSecret01.jspへのアクセスを要求すると、業務アプリケーション112またはリバースプロキシサーバ122が認可システム101へ、利用者U0001Aが認証レベル1でSecret01.jspへアクセスした際のアクセス権限について問い合わせる。ステップS12およびステップS13において、この問い合わせを受けたアクセス権限決定部201は、アクセス制御情報取得部202を通じて、図4に記載のアクセス制御情報221の指定条件のうち、対象コンテンツCOL01が「Secret01.jsp」であるNo.1とNo.2を取得する。ステップS14において、アクセス権限決定部201は、No.1とNo.2の判定をアクセス権限判定部203へ要求する。ステップS15において、アクセス権限判定部203は、利用者条件判定部204、在エリア条件判定部205および過去条件判定部206を用いて判定を行う。
No.1の指定条件の判定について説明する。
ステップS33およびステップS34において、アクセス権限判定部203は、利用者条件判定部204へ、利用者U0001Aに対するNo.1の利用者条件COL05の値「所属=人事部」の判定を要求する。ステップS51からステップS54において、利用者条件判定部204は、利用者情報取得部207へユーザIDがU0001Aの利用者情報222を要求してメモリ132から該当情報を取得し、その内容が指定された利用者条件を満たすか判定する。利用者U0001Aの所属先組織COL12の値は「人事部」であることから、利用者条件を満足すると判定し、ステップS56において、利用者条件判定部204は、アクセス権限判定部203へ「真」を返す。
続いて、ステップS35およびステップS36において、アクセス権限判定部203は、在エリア条件判定部205へ、利用者U0001Aに対するNo.1の在エリア条件COL06の値「人事部サーバ室(本人)」の判定を要求する。ステップS61からステップS66において、在エリア条件判定部205は、在エリア条件値の「人事部サーバ室」に従い、人事部サーバ室に現在在室している利用者のユーザIDのリストを、在場情報取得部208へ要求してメモリ132からユーザIDリストを取得する。ここでは「人事部サーバ室に本人が居ること」が条件となるため、ステップS67において、在エリア条件判定部205は、人事部サーバ室在室のユーザIDリストに、利用者U0001AのユーザIDがないか判定する。ここでは利用者U0001Aが共用エリアに居るため、ユーザIDリストにはU0001Aは入っておらず、在エリア条件は満たせないこととなり、ステップS70において、在エリア条件判定部205は、アクセス権限判定部203へ「偽」を返す。
さらに続いて、ステップS37およびステップS38において、アクセス権限判定部203は、過去条件判定部206へ、利用者U0001Aに対するNo.1の過去条件COL07の値「無制限」の判定を要求する。ここでは「無制限」であるため、ステップS81からステップS85の処理が省略され、ステップS86において、過去条件判定部206は、アクセス権限判定部203へ「真」を返す。
この結果を受け、ステップS39において、アクセス権限判定部203は、在エリア条件が「偽」となったため、No.1の指定条件は満たせていないと判断する。
No.2の指定条件の判定について説明する。
ステップS33およびステップS34において、アクセス権限判定部203は、利用者条件判定部204へ、利用者U0001Aに対するNo.2の利用者条件COL05の値「所属=人事部」の判定を要求する。No.1の指定条件の判定時と同様に、ステップS56において、利用者条件判定部204は、アクセス権限判定部203へ「真」を返す。
続いて、ステップS35およびステップS36において、アクセス権限判定部203は在エリア条件判定部205へ、利用者U0001Aに対するNo.2の在エリア条件COL06の値「人事部サーバ室(本人,所属=人事部&役職>=課長)」の判定を要求する。ステップS61からステップS63において、在エリア条件判定部205は、在エリア条件値の「人事部サーバ室」に従い、人事部サーバ室に現在在室している利用者のユーザIDのリストを、在場情報取得部208へ要求してメモリ132からユーザIDリストを取得する。さらに、取得したユーザIDの利用者情報222を取得するために、ステップS64からステップS66において、在エリア条件判定部205は、利用者情報取得部207へ利用者情報222を要求し、メモリ132に格納されている利用者情報222を取得する。ステップS67において、在エリア条件判定部205は、これにより入手した利用者情報222を用いて、人事部サーバ室に在室する利用者が在エリア条件COL5に記載の「人事部サーバ室(本人,所属=人事部&役職>=課長)」を満足するか判定する。ここでは、人事部サーバ室に「本人と、人事部所属の課長以上の役職者」が居ることが条件とある。しかし、利用者U0001Aは共用エリアに居るため、人事部サーバ室の在室利用者には入らない。そのため、在エリア条件は満たせないこととなり、ステップS70において、在エリア条件判定部205は、アクセス権限判定部203へ「偽」を返す。
さらに続いて、ステップS37およびステップS38において、アクセス権限判定部203は、過去条件判定部206へ、利用者U0001Aに対するNo.2の過去条件COL07の値「無制限」の判定を要求する。No.1の指定条件の判定時と同様に、ステップS86において、過去条件判定部206は、アクセス権限判定部203へ「真」を返す。
この結果を受け、ステップS39において、アクセス権限判定部203は、在エリア条件が「偽」となったため、No.2の指定条件は満たせていないと判断する。
ステップS41において、アクセス権限判定部203は、アクセス権限決定部201から指定されたアクセス制御情報221のNo.1とNo.2とのいずれの指定条件も満足できなかったことをアクセス権限決定部201へ通知する。ステップS15からステップS17において、アクセス権限決定部201は、それを受けて業務アプリケーション112またはリバースプロキシサーバ122へ、「アクセス不可」の判定を通知する。
次に、利用者U0002Bが共用エリアからSecret01.jspへのアクセスを要求した場合について説明する。
No.1の指定条件の判定について説明する。
利用者U0002Bの所属先組織COL12の値は「人事部」であることから、No.1の利用者条件COL05は満たしており、ステップS56において、利用者条件判定部204は、アクセス権限判定部203へ「真」を返す。
利用者U0002Bが共用エリアに居るため、No.1の在エリア条件COL06は満たせないこととなり、ステップS70において、在エリア条件判定部205は、アクセス権限判定部203へ「偽」を返す。
No.1の過去条件COL07は「無制限」であるため、ステップS86において、過去条件判定部206は、アクセス権限判定部203へ「真」を返す。
この結果を受け、ステップS39において、アクセス権限判定部203は、在エリア条件が「偽」となったため、No.1の指定条件は満たせていないと判断する。
No.2の指定条件の判定について説明する。
No.1の指定条件の判定時と同様に、ステップS39において、アクセス権限判定部203は、在エリア条件が「偽」となるため、No.2の指定条件は満たせていないと判断する。
ステップS41において、アクセス権限判定部203は、アクセス権限決定部201から指定されたアクセス制御情報221のNo.1とNo.2とのいずれの指定条件も満足できなかったことをアクセス権限決定部201へ通知する。ステップS15からステップS17において、アクセス権限決定部201は、それを受けて業務アプリケーション112またはリバースプロキシサーバ122へ、「アクセス不可」の判定を通知する。
次に、利用者U0003Cが共用エリアからSecret01.jspへのアクセスを要求した場合について説明する。
No.1の指定条件の判定について説明する。
利用者U0003Cの所属先組織COL12の値は「営業部」であることから、No.1の利用者条件COL05は満たせないこととなり、ステップS57において、利用者条件判定部204は、アクセス権限判定部203へ「偽」を返す。
利用者U0003Cが共用エリアに居るため、No.1の在エリア条件COL06は満たせないこととなり、ステップS70において、在エリア条件判定部205は、アクセス権限判定部203へ「偽」を返す。
No.1の過去条件COL07は「無制限」であるため、ステップS86において、過去条件判定部206は、アクセス権限判定部203へ「真」を返す。
この結果を受け、ステップS39において、アクセス権限判定部203は、利用者条件および在エリア条件が「偽」となったため、No.1の指定条件は満たせていないと判断する。
No.2の指定条件の判定について説明する。
No.1の指定条件の判定時と同様に、ステップS39において、アクセス権限判定部203は、利用者条件および在エリア条件が「偽」となるため、No.2の指定条件は満たせていないと判断する。
ステップS41において、アクセス権限判定部203は、アクセス権限決定部201から指定されたアクセス制御情報221のNo.1とNo.2とのいずれの指定条件も満足できなかったことをアクセス権限決定部201へ通知する。ステップS15からステップS17において、アクセス権限決定部201は、それを受けて業務アプリケーション112またはリバースプロキシサーバ122へ、「アクセス不可」の判定を通知する。
次に、利用者U0001Aが人事部サーバ室からSecret01.jspへのアクセスを要求した場合について説明する。
ステップS11において、利用者U0001Aが認証レベル1の状態でSecret01.jspへのアクセスを要求すると、業務アプリケーション112またはリバースプロキシサーバ122が認可システム101へ、利用者U0001Aが認証レベル1でSecret01.jspへアクセスした際のアクセス権限について問い合わせる。ステップS12およびステップS13において、この問い合わせを受けたアクセス権限決定部201は、アクセス制御情報取得部202を通じて、図4に記載のアクセス制御情報221の指定条件のうち、対象コンテンツCOL01が「Secret01.jsp」であるNo.1とNo.2を取得する。ステップS14において、アクセス権限決定部201は、No.1とNo.2の判定をアクセス権限判定部203へ要求する。ステップS15において、アクセス権限判定部203は、利用者条件判定部204、在エリア条件判定部205および過去条件判定部206を用いて判定を行う。
No.1の指定条件の判定について説明する。
利用者U0001Aの所属先組織COL12の値は「人事部」であることから、No.1の利用者条件COL05は満たしており、ステップS56において、利用者条件判定部204は、アクセス権限判定部203へ「真」を返す。
ステップS35およびステップS36において、アクセス権限判定部203は、在エリア条件判定部205へ、利用者U0001Aに対するNo.1の在エリア条件COL06の値「人事部サーバ室(本人)」の判定を要求する。ステップS61からステップS66において、在エリア条件判定部205は、在エリア条件値の「人事部サーバ室」に従い、人事部サーバ室に現在在室している利用者のユーザIDのリストを、在場情報取得部208へ要求してメモリ132からユーザIDリストを取得する。ここでは「人事部サーバ室に本人が居ること」が条件となるため、ステップS67において、在エリア条件判定部205は、人事部サーバ室在室のユーザIDリストに、利用者U0001AのユーザIDがないか判定する。ここでは利用者U0001Aが人事部サーバ室に居るため、ユーザIDリストにはU0001Aが入っており、在エリア条件を満たしていることになり、ステップS69において、在エリア条件判定部205は、アクセス権限判定部203へ「真」を返す。
No.1の過去条件COL07は「無制限」であるため、ステップS86において、過去条件判定部206は、アクセス権限判定部203へ「真」を返す。
この結果を受け、ステップS39およびステップS40において、アクセス権限判定部203は、利用者条件、在エリア条件および過去条件のいずれも「真」となったため、No.1の指定条件は満たせていると判断し、返信リストに追加する。
No.2の指定条件の判定について説明する。
利用者U0001Aの所属先組織COL12の値は「人事部」であることから、No.2の利用者条件COL05は満たしており、ステップS56において、利用者条件判定部204は、アクセス権限判定部203へ「真」を返す。
続いて、ステップS35およびステップS36において、アクセス権限判定部203は在エリア条件判定部205へ、利用者U0001Aに対するNo.2の在エリア条件COL06の値「人事部サーバ室(本人,所属=人事部&役職>=課長)」の判定を要求する。ステップS61からステップS63において、在エリア条件判定部205は、在エリア条件値の「人事部サーバ室」に従い、人事部サーバ室に現在在室している利用者のユーザIDのリストを、在場情報取得部208へ要求してメモリ132からユーザIDリストを取得する。さらに、取得したユーザIDの利用者情報222を取得するために、ステップS64からステップS66において、在エリア条件判定部205は、利用者情報取得部207へ利用者情報222を要求し、メモリ132に格納されている利用者情報222を取得する。ステップS67において、在エリア条件判定部205は、これにより入手した利用者情報222を用いて、人事部サーバ室に在室する利用者が在エリア条件COL5に記載の「人事部サーバ室(本人,所属=人事部&役職>=課長)」を満足するか判定する。ここでは、人事部サーバ室に「本人と、人事部所属の課長以上の役職者」が居ることが条件とある。利用者U0001Aは人事部サーバ室に居るが、「所属=人事部&役職>=課長」を満たす利用者が人事部サーバ室に居ない。そのため、在エリア条件は満たせないこととなり、ステップS70において、在エリア条件判定部205は、アクセス権限判定部203へ「偽」を返す。
No.2の過去条件COL07は「無制限」であるため、ステップS86において、過去条件判定部206は、アクセス権限判定部203へ「真」を返す。
この結果を受け、ステップS39において、アクセス権限判定部203は、在エリア条件が「偽」となったため、No.2の指定条件は満たせていないと判断する。
ステップS41において、アクセス権限判定部203は、アクセス権限決定部201から指定されたアクセス制御情報221のNo.1の指定条件のみを満足できたことをアクセス権限決定部201へ通知する。ステップS15、ステップS16、ステップS18およびステップS19において、アクセス権限決定部201は、それを受けてアクセス制御情報221のNo.1の認証レベルCOL03の「レベル1」を満足できていることを確認した後、業務アプリケーション112またはリバースプロキシサーバ122へ、アクセス制御情報221のNo.1の適用内容COL03に記載の「参照」権限のみを適用することを通知する。
次に、利用者U0002Bが認証レベル1の状態で人事部サーバ室からSecret01.jspへのアクセスを要求した場合について説明する。
No.1の指定条件の判定について説明する。
利用者U0002Bの所属先組織COL12の値は「人事部」であることから、No.1の利用者条件COL05は満たしており、ステップS56において、利用者条件判定部204は、アクセス権限判定部203へ「真」を返す。
利用者U0002Bが人事部サーバ室に居るため、No.1の在エリア条件COL06は満たしており、ステップS69において、在エリア条件判定部205は、アクセス権限判定部203へ「真」を返す。
No.1の過去条件COL07は「無制限」であるため、ステップS86において、過去条件判定部206は、アクセス権限判定部203へ「真」を返す。
この結果を受け、ステップS39およびステップS40において、アクセス権限判定部203は、利用者条件、在エリア条件および過去条件のいずれも「真」となったため、No.1の指定条件は満たせていると判断し、返信リストに追加する。
No.2の指定条件の判定について説明する。
利用者U0002Bの所属先組織COL12の値は「人事部」であることから、No.2の利用者条件COL05は満たしており、ステップS56において、利用者条件判定部204は、アクセス権限判定部203へ「真」を返す。
人事部サーバ室に居る利用者U0002Bは、「本人」であり、「人事部所属の課長以上の役職者」でもあるため、No.2の在エリア条件COL06は満たしており、ステップS69において、在エリア条件判定部205は、アクセス権限判定部203へ「真」を返す。
No.2の過去条件COL07は「無制限」であるため、ステップS86において、過去条件判定部206は、アクセス権限判定部203へ「真」を返す。
この結果を受け、ステップS39およびステップS40において、アクセス権限判定部203は、利用者条件、在エリア条件および過去条件のいずれも「真」となったため、No.2の指定条件は満たせていると判断し、返信リストに追加する。
ステップS41において、アクセス権限判定部203は、アクセス権限決定部201から指定されたアクセス制御情報221のNo.1とNo.2のいずれの指定条件も満足できたことをアクセス権限決定部201へ通知する。ステップS15、ステップS16、ステップS18およびステップS19において、アクセス権限決定部201は、それを受けてアクセス制御情報221のNo.1とNo.2の認証レベルCOL03の「レベル1」を満足できていることを確認した後、業務アプリケーション112またはリバースプロキシサーバ122へ、アクセス制御情報221のNo.1とNo.2の適用内容COL03に記載の「参照」と「参照・更新」の論理和である「参照・更新」の権限を適用することを通知する。
次に、利用者U0001Aと利用者U0002Bの2人が人事部サーバ室に居て、利用者U0001AがSecret01.jspへのアクセスを要求した場合について説明する。
No.1の指定条件の判定については、前述の利用者U0001Aが1人で人事部サーバ室に居る場合と変わらないが、No.2の指定条件の判定については、以下のように、在エリア条件の判定結果が変わる。
人事部サーバ室に居る利用者U0001Aは、「本人」であり、同じく人事部サーバ室に居る利用者U0002Bは、「人事部所属の課長以上の役職者」であるため、No.2の在エリア条件COL06は満たしており、ステップS69において、在エリア条件判定部205は、アクセス権限判定部203へ「真」を返す。
この結果を受け、ステップS39およびステップS40において、アクセス権限判定部203は、利用者条件、在エリア条件および過去条件のいずれも「真」となったため、No.2の指定条件は満たせていると判断し、返信リストに追加する。
ステップS41において、アクセス権限判定部203は、アクセス権限決定部201から指定されたアクセス制御情報221のNo.1とNo.2のいずれの指定条件も満足できたことをアクセス権限決定部201へ通知する。ステップS15、ステップS16、ステップS18およびステップS19において、アクセス権限決定部201は、それを受けてアクセス制御情報221のNo.1とNo.2の認証レベルCOL03の「レベル1」を満足できていることを確認した後、業務アプリケーション112またはリバースプロキシサーバ122へ、アクセス制御情報221のNo.1とNo.2の適用内容COL03に記載の「参照」と「参照・更新」の論理和である「参照・更新」の権限を適用することを通知する。
この動作例は、ダブルチェックが必要な業務等に利用可能であり、必ず実施者と確認者が在室しなくてはならない状況を作り出すことが可能である。
第2動作例として、Secret02.jspへのアクセスを制御する動作を説明する。
本動作例は、利用者の権限によって操作可能な場所を変更する場合や、複数の場所に分かれての作業が必要な場合に適用可能である。
まず、利用者U0001Aが共用エリアからSecret02.jspへのアクセスを要求した場合について説明する。
ステップS11において、利用者U0001Aが認証レベル1の状態でSecret02.jspへのアクセスを要求すると、業務アプリケーション112またはリバースプロキシサーバ122が認可システム101へ、利用者U0001Aが認証レベル1でSecret02.jspへアクセスした際のアクセス権限について問い合わせる。ステップS12およびステップS13において、この問い合わせを受けたアクセス権限決定部201は、アクセス制御情報取得部202を通じて、図4に記載のアクセス制御情報221の指定条件のうち、対象コンテンツCOL01が「Secret02.jsp」であるNo.3とNo.4とNo.5を取得する。ステップS14において、アクセス権限決定部201は、No.3とNo.4とNo.5の判定をアクセス権限判定部203へ要求する。ステップS15において、アクセス権限判定部203は、利用者条件判定部204、在エリア条件判定部205および過去条件判定部206を用いて判定を行う。
No.3の指定条件の判定について説明する。
ステップS33およびステップS34において、アクセス権限判定部203は、利用者条件判定部204へ、利用者U0001Aに対するNo.3の利用者条件COL05の値「所属=人事部」の判定を要求する。ステップS51からステップS54において、利用者条件判定部204は、利用者情報取得部207へユーザIDがU0001Aの利用者情報222を要求してメモリ132から該当情報を取得し、その内容が指定された利用者条件を満たすか判定する。利用者U0001Aの所属先組織COL12の値は「人事部」であることから、利用者条件を満足すると判定し、ステップS56において、利用者条件判定部204は、アクセス権限判定部203へ「真」を返す。
続いて、ステップS35およびステップS36において、アクセス権限判定部203は、在エリア条件判定部205へ、利用者U0001Aに対するNo.3の在エリア条件COL06の値「無制限」の判定を要求する。ここでは「無制限」であるため、ステップS61からステップS68の処理が省略され、ステップS69において、在エリア条件判定部205は、アクセス権限判定部203へ「真」を返す。
さらに続いて、ステップS37およびステップS38において、アクセス権限判定部203は、過去条件判定部206へ、利用者U0001Aに対するNo.3の過去条件COL07の値「無制限」の判定を要求する。ここでは「無制限」であるため、ステップS81からステップS85の処理が省略され、ステップS86において、過去条件判定部206は、アクセス権限判定部203へ「真」を返す。
この結果を受け、ステップS39およびステップS40において、アクセス権限判定部203は、利用者条件、在エリア条件および過去条件のいずれも「真」となったため、No.3の指定条件は満たせていると判断し、返信リストに追加する。
No.4の指定条件の判定について説明する。
ステップS33およびステップS34において、アクセス権限判定部203は、利用者条件判定部204へ、利用者U0001Aに対するNo.4の利用者条件COL05の値「所属=人事部」の判定を要求する。No.3の指定条件の判定時と同様に、ステップS56において、利用者条件判定部204は、アクセス権限判定部203へ「真」を返す。
続いて、ステップS35およびステップS36において、アクセス権限判定部203は在エリア条件判定部205へ、利用者U0001Aに対するNo.4の在エリア条件COL06の値「人事部サーバ室(本人)」と「人事部居室(所属=人事部&役職>=課長)」の判定を要求する。この在エリア条件には2つのカラム値があり、その場合には両方を満足する必要がある。
まず、1つ目の「人事部サーバ室(本人)」の判定が行われる。ステップS61からステップS66において、在エリア条件判定部205は、在エリア条件値の「人事部サーバ室」に従い、人事部サーバ室に現在在室している利用者のユーザIDのリストを、在場情報取得部208へ要求してメモリ132からユーザIDリストを取得する。ここでは「人事部サーバ室に本人が居ること」が条件となるため、ステップS67において、在エリア条件判定部205は、人事部サーバ室在室のユーザIDリストに、利用者U0001AのユーザIDがないか判定する。ここでは利用者U0001Aが共用エリアに居るため、ユーザIDリストにはU0001Aは入っておらず、在エリア条件は満たせないこととなり、ステップS70において、在エリア条件判定部205は、アクセス権限判定部203へ「偽」を返す。
続いて、2つ目の「人事部居室(所属=人事部&役職>=課長)」の判定が行われる。ステップS61からステップS63において、在エリア条件判定部205は、在エリア条件値の「人事部居室」に従い、人事部居室に現在在室している利用者のユーザIDのリストを、在場情報取得部208へ要求してメモリ132からユーザIDリストを取得する。さらに、取得したユーザIDの利用者情報222を取得するために、ステップS64からステップS66において、在エリア条件判定部205は、利用者情報取得部207へ利用者情報222を要求し、メモリ132に格納されている利用者情報222を取得する。ステップS67において、在エリア条件判定部205は、これにより入手した利用者情報222を用いて、人事部居室に在室する利用者が在エリア条件COL5に記載の「人事部居室(所属=人事部&役職>=課長)」を満足するか判定する。ここでは、人事部居室に「人事部所属の課長以上の役職者」が居ることが条件とある。仮に人事部居室に誰もいないとすると、在エリア条件は満たせないこととなり、ステップS70において、在エリア条件判定部205は、アクセス権限判定部203へ「偽」を返す。
さらに続いて、ステップS37およびステップS38において、アクセス権限判定部203は、過去条件判定部206へ、利用者U0001Aに対するNo.4の過去条件COL07の値「無制限」の判定を要求する。No.3の指定条件の判定時と同様に、ステップS86において、過去条件判定部206は、アクセス権限判定部203へ「真」を返す。
この結果を受け、ステップS39において、アクセス権限判定部203は、在エリア条件が「偽」となったため、No.4の指定条件は満たせていないと判断する。
No.5の指定条件の判定について説明する。
ステップS33およびステップS34において、アクセス権限判定部203は、利用者条件判定部204へ、利用者U0001Aに対するNo.5の利用者条件COL05の値「所属=人事部」と「役職>=課長」の判定を要求する。この利用者条件には2つのカラム値があり、その場合には両方を満足する必要がある。
まず、1つ目の「所属=人事部」の判定が行われる。ステップS51からステップS54において、利用者条件判定部204は、利用者情報取得部207へユーザIDがU0001Aの利用者情報222を要求してメモリ132から該当情報を取得し、その内容が指定された利用者条件を満たすか判定する。利用者U0001Aの所属先組織COL12の値は「人事部」であることから、利用者条件を満足すると判定し、ステップS56において、利用者条件判定部204は、アクセス権限判定部203へ「真」を返す。
続いて、2つ目の「役職>=課長」の判定が行われる。利用者U0001Aの役職COL13の値は「担当」であることから、利用者条件は満たせないこととなり、ステップS57において、利用者条件判定部204は、アクセス権限判定部203へ「偽」を返す。
続いて、ステップS35およびステップS36において、アクセス権限判定部203は在エリア条件判定部205へ、利用者U0001Aに対するNo.5の在エリア条件COL06の値「人事部居室(本人)」の判定を要求する。ステップS61からステップS66において、在エリア条件判定部205は、在エリア条件値の「人事部居室」に従い、人事部居室に現在在室している利用者のユーザIDのリストを、在場情報取得部208へ要求してメモリ132からユーザIDリストを取得する。ここでは「人事部居室に本人が居ること」が条件となるため、ステップS67において、在エリア条件判定部205は、人事部居室在室のユーザIDリストに、利用者U0001AのユーザIDがないか判定する。ここでは利用者U0001Aが共用エリアに居るため、ユーザIDリストにはU0001Aは入っておらず、在エリア条件は満たせないこととなり、ステップS70において、在エリア条件判定部205は、アクセス権限判定部203へ「偽」を返す。
さらに続いて、ステップS37およびステップS38において、アクセス権限判定部203は、過去条件判定部206へ、利用者U0001Aに対するNo.4の過去条件COL07の値「無制限」の判定を要求する。No.3の指定条件の判定時と同様に、ステップS86において、過去条件判定部206は、アクセス権限判定部203へ「真」を返す。
この結果を受け、ステップS39において、アクセス権限判定部203は、利用者条件および在エリア条件が「偽」となったため、No.5の指定条件は満たせていないと判断する。
ステップS41において、アクセス権限判定部203は、アクセス権限決定部201から指定されたアクセス制御情報221のNo.3の指定条件のみを満足できたことをアクセス権限決定部201へ通知する。ステップS15、ステップS16、ステップS18およびステップS19において、アクセス権限決定部201は、それを受けてアクセス制御情報221のNo.3の認証レベルCOL03の「レベル1」を満足できていることを確認した後、業務アプリケーション112またはリバースプロキシサーバ122へ、アクセス制御情報221のNo.3の適用内容COL03に記載されている「参照」権限のみを適用することを通知する。
次に、利用者U0002Bが人事部居室からSecret02.jspへのアクセスを要求した場合について説明する。
No.3の指定条件の判定について説明する。
利用者U0002Bの所属先組織COL12の値は「人事部」であることから、No.3の利用者条件COL05は満たしており、ステップS56において、利用者条件判定部204は、アクセス権限判定部203へ「真」を返す。
No.3の在エリア条件COL06は「無制限」であるため、ステップS69において、在エリア条件判定部205は、アクセス権限判定部203へ「真」を返す。
No.3の過去条件COL07は「無制限」であるため、ステップS86において、過去条件判定部206は、アクセス権限判定部203へ「真」を返す。
この結果を受け、ステップS39およびステップS40において、アクセス権限判定部203は、利用者条件、在エリア条件および過去条件のいずれも「真」となったため、No.3の指定条件は満たせていると判断し、返信リストに追加する。
No.4の指定条件の判定について説明する。
利用者U0002Bの所属先組織COL12の値は「人事部」であることから、No.4の利用者条件COL05は満たしており、ステップS56において、利用者条件判定部204は、アクセス権限判定部203へ「真」を返す。
ステップS35およびステップS36において、アクセス権限判定部203は在エリア条件判定部205へ、利用者U0001Aに対するNo.4の在エリア条件COL06の値「人事部サーバ室(本人)」と「人事部居室(所属=人事部&役職>=課長)」の判定を要求する。この在エリア条件には2つのカラム値があり、その場合には両方を満足する必要がある。
まず、1つ目の「人事部サーバ室(本人)」の判定が行われる。仮に人事部サーバ室に誰もいないとすると、在エリア条件は満たせないこととなり、ステップS70において、在エリア条件判定部205は、アクセス権限判定部203へ「偽」を返す。
続いて、2つ目の「人事部居室(所属=人事部&役職>=課長)」の判定が行われる。ステップS61からステップS63において、在エリア条件判定部205は、在エリア条件値の「人事部居室」に従い、人事部居室に現在在室している利用者のユーザIDのリストを、在場情報取得部208へ要求してメモリ132からユーザIDリストを取得する。さらに、取得したユーザIDの利用者情報222を取得するために、ステップS64からステップS66において、在エリア条件判定部205は、利用者情報取得部207へ利用者情報222を要求し、メモリ132に格納されている利用者情報222を取得する。ステップS67において、在エリア条件判定部205は、これにより入手した利用者情報222を用いて、人事部居室に在室する利用者が在エリア条件COL5に記載の「人事部居室(所属=人事部&役職>=課長)」を満足するか判定する。ここでは、人事部居室には利用者U0002Bしか居ないが、利用者U0002Bは、所属先組織が人事部で役職が課長であることから、条件の「所属=人事部&役職>=課長」を満足することができる。そのため、在エリア条件を満たしていることになり、ステップS69において、在エリア条件判定部205は、アクセス権限判定部203へ「真」を返す。
No.4の過去条件COL07は「無制限」であるため、ステップS86において、過去条件判定部206は、アクセス権限判定部203へ「真」を返す。
この結果を受け、ステップS39において、アクセス権限判定部203は、利用者条件および少なくとも1つの在エリア条件が「偽」となったため、No.4の指定条件は満たせていないと判断する。
No.5の指定条件の判定について説明する。
ステップS33およびステップS34において、アクセス権限判定部203は、利用者条件判定部204へ、利用者U0001Aに対するNo.5の利用者条件COL05の値「所属=人事部」と「役職>=課長」の判定を要求する。この利用者条件には2つのカラム値があり、その場合には両方を満足する必要がある。
まず、1つ目の「所属=人事部」の判定が行われる。利用者U0002Bの所属先組織COL12の値は「人事部」であることから、利用者条件は満たしており、ステップS56において、利用者条件判定部204は、アクセス権限判定部203へ「真」を返す。
続いて、2つ目の「役職>=課長」の判定が行われる。利用者U0002Bの役職COL13の値は「課長」であることから、利用者条件は満たしており、ステップS56において、利用者条件判定部204は、アクセス権限判定部203へ「真」を返す。
利用者U0002Bが人事部居室に居るため、No.5の在エリア条件COL06は満たしており、ステップS69において、在エリア条件判定部205は、アクセス権限判定部203へ「真」を返す。
No.5の過去条件COL07は「無制限」であるため、ステップS86において、過去条件判定部206は、アクセス権限判定部203へ「真」を返す。
この結果を受け、ステップS39およびステップS40において、アクセス権限判定部203は、利用者条件、在エリア条件および過去条件のいずれも「真」となったため、No.5の指定条件は満たせていると判断し、返信リストに追加する。
ステップS41において、アクセス権限判定部203は、アクセス権限決定部201から指定されたアクセス制御情報221のNo.3とNo.5の指定条件は満足できるがNo.4の指定条件は満足できなかったことをアクセス権限決定部201へ通知する。ステップS15、ステップS16、ステップS18およびステップS19において、アクセス権限決定部201は、それを受けてアクセス制御情報221のNo.3とNo.5の認証レベルCOL03の「レベル1」を満足できていることを確認した後、業務アプリケーション112またはリバースプロキシサーバ122へ、アクセス制御情報221のNo.3とNo.5の適用内容COL03に記載の「参照」と「参照・更新」の論理和である「参照・更新」の権限を適用することを通知する。
次に、利用者U0002Bが人事部居室に居る状態で、利用者U0001Aが人事部サーバ室からSecret02.jspへのアクセスを要求した場合について説明する。
No.3の指定条件の判定については、前述の利用者U0001Aがアクセスした場合と同じである。すなわち、ステップS39およびステップS40において、アクセス権限判定部203は、No.3の指定条件は満たせていると判断し、返信リストに追加する。
No.4の指定条件の判定について説明する。
利用者U0001Aの所属先組織COL12の値は「人事部」であることから、No.4の利用者条件COL05は満たしており、ステップS56において、利用者条件判定部204は、アクセス権限判定部203へ「真」を返す。
ステップS35およびステップS36において、アクセス権限判定部203は在エリア条件判定部205へ、利用者U0001Aに対するNo.4の在エリア条件COL06の値「人事部サーバ室(本人)」と「人事部居室(所属=人事部&役職>=課長)」の判定を要求する。この在エリア条件には2つのカラム値があり、その場合には両方を満足する必要がある。
まず、1つ目の「人事部サーバ室(本人)」の判定が行われる。人事部サーバ室に居る利用者U0001Aは、「本人」であるため、在エリア条件は満たしており、ステップS69において、在エリア条件判定部205は、アクセス権限判定部203へ「真」を返す。
続いて、2つ目の「人事部居室(所属=人事部&役職>=課長)」の判定が行われる。ステップS61からステップS63において、在エリア条件判定部205は、在エリア条件値の「人事部居室」に従い、人事部居室に現在在室している利用者のユーザIDのリストを、在場情報取得部208へ要求してメモリ132からユーザIDリストを取得する。さらに、取得したユーザIDの利用者情報222を取得するために、ステップS64からステップS66において、在エリア条件判定部205は、利用者情報取得部207へ利用者情報222を要求し、メモリ132に格納されている利用者情報222を取得する。ステップS67において、在エリア条件判定部205は、これにより入手した利用者情報222を用いて、人事部居室に在室する利用者が在エリア条件COL5に記載の「人事部居室(所属=人事部&役職>=課長)」を満足するか判定する。ここでは、利用者U0002Bが人事部居室にいるため、ユーザIDリストにU0002BのユーザIDが含まれることになる。このリスト内の利用者の情報を利用者情報取得部207から取得すると、所属先組織が人事部で役職が課長の利用者U0002Bの利用者情報222が取得できる。そのため、在エリア条件を満たしていることになり、ステップS69において、在エリア条件判定部205は、アクセス権限判定部203へ「真」を返す。
No.4の過去条件COL07は「無制限」であるため、ステップS86において、過去条件判定部206は、アクセス権限判定部203へ「真」を返す。
この結果を受け、ステップS39およびステップS40において、アクセス権限判定部203は、利用者条件、在エリア条件および過去条件のいずれも「真」となったため、No.4の指定条件は満たせていると判断し、返信リストに追加する。
No.5の指定条件の判定については、前述の利用者U0001Aがアクセスした場合と同じである。すなわち、ステップS39において、アクセス権限判定部203は、No.5の指定条件は満たせていないと判断する。
ステップS41において、アクセス権限判定部203は、アクセス権限決定部201から指定されたアクセス制御情報221のNo.3とNo.4の指定条件は満足できるがNo.5の指定条件は満足できなかったことをアクセス権限決定部201へ通知する。ステップS15、ステップS16、ステップS18およびステップS19において、アクセス権限決定部201は、それを受けてアクセス制御情報221のNo.3とNo.4の認証レベルCOL03の「レベル1」を満足できていることを確認した後、業務アプリケーション112またはリバースプロキシサーバ122へ、アクセス制御情報221のNo.3とNo.4の適用内容COL03に記載の「参照」と「参照・更新」の論理和である「参照・更新」の権限を適用することを通知する。
この動作例は、利用者の所属、役職等により適用する権限を変更する場合や、複数人が特定の別の場所に在席して作業を行わせる必要がある場合等に適用可能である。
第3動作例として、Public01.phpへのアクセスを制御する動作を説明する。
本動作例は、利用者の過去の在場情報223によって操作内容を変更する場合、具体例としてはトイレ休憩後の作業開始時のログイン作業の簡略化等に適用可能である。
まず、利用者U0003Cが営業部居室に居る状態で、認証レベル1でPublic01.phpへのアクセスを要求した場合について説明する。
ステップS11において、利用者U0003Cが認証レベル1の状態でPublic01.phpへのアクセスを要求すると、業務アプリケーション112またはリバースプロキシサーバ122が認可システム101へ、利用者U0003Cが認証レベル1でPublic01.phpへアクセスした際のアクセス権限について問い合わせる。ステップS12およびステップS13において、この問い合わせを受けたアクセス権限決定部201は、アクセス制御情報取得部202を通じて、図4に記載のアクセス制御情報221の指定条件のうち、対象コンテンツCOL01が「Public01.php」であるNo.6とNo.7とNo.8を取得する。ステップS14において、アクセス権限決定部201は、No.6とNo.7とNo.8の判定をアクセス権限判定部203へ要求する。ステップS15において、アクセス権限判定部203は、利用者条件判定部204、在エリア条件判定部205および過去条件判定部206を用いて判定を行う。
No.6の指定条件の判定について説明する。
ステップS33およびステップS34において、アクセス権限判定部203は、利用者条件判定部204へ、利用者U0003Cに対するNo.6の利用者条件COL05の値「無制限」の判定を要求する。ここでは「無制限」であるため、ステップS51からステップS55の処理が省略され、ステップS56において、利用者条件判定部204は、アクセス権限判定部203へ「真」を返す。
続いて、ステップS35およびステップS36において、アクセス権限判定部203は、在エリア条件判定部205へ、利用者U0003Cに対するNo.6の在エリア条件COL06の値「無制限」の判定を要求する。ここでは「無制限」であるため、ステップS61からステップS68の処理が省略され、ステップS69において、在エリア条件判定部205は、アクセス権限判定部203へ「真」を返す。
さらに続いて、ステップS37およびステップS38において、アクセス権限判定部203は、過去条件判定部206へ、利用者U0003Cに対するNo.6の過去条件COL07の値「無制限」の判定を要求する。ここでは「無制限」であるため、ステップS81からステップS85の処理が省略され、ステップS86において、過去条件判定部206は、アクセス権限判定部203へ「真」を返す。
この結果を受け、ステップS39およびステップS40において、アクセス権限判定部203は、利用者条件、在エリア条件および過去条件のいずれも「真」となったため、No.6の指定条件は満たせていると判断し、返信リストに追加する。
No.7の指定条件の判定について説明する。
ステップS33およびステップS34において、アクセス権限判定部203は、利用者条件判定部204へ、利用者U0003Cに対するNo.7の利用者条件COL05の値「所属=営業部」の判定を要求する。ステップS51からステップS54において、利用者条件判定部204は、利用者情報取得部207へユーザIDがU0003Cの利用者情報222を要求してメモリ132から該当情報を取得し、その内容が指定された利用者条件を満たすか判定する。利用者U0003Cの所属先組織COL12の値は「営業部」であることから、利用者条件を満足すると判定し、ステップS56において、利用者条件判定部204は、アクセス権限判定部203へ「真」を返す。
続いて、ステップS35およびステップS36において、アクセス権限判定部203は、在エリア条件判定部205へ、利用者U0003Cに対するNo.7の在エリア条件COL06の値「営業部居室(本人)」の判定を要求する。ステップS61からステップS66において、在エリア条件判定部205は、在エリア条件値の「営業部居室」に従い、営業部居室に現在在室している利用者のユーザIDのリストを、在場情報取得部208へ要求してメモリ132からユーザIDリストを取得する。ここでは「営業部居室に本人が居ること」が条件となるため、ステップS67において、在エリア条件判定部205は、営業部居室在室のユーザIDリストに、利用者U0003CのユーザIDがないか判定する。ここでは利用者U0003Cが営業部居室に居るため、ユーザIDリストにはU0001Aが入っており、在エリア条件を満たしていることになり、ステップS69において、在エリア条件判定部205は、アクセス権限判定部203へ「真」を返す。
さらに続いて、ステップS37およびステップS38において、アクセス権限判定部203は、過去条件判定部206へ、利用者U0003Cに対するNo.7の過去条件COL07の値「無制限」の判定を要求する。No.6の指定条件の判定時と同様に、ステップS86において、過去条件判定部206は、アクセス権限判定部203へ「真」を返す。
この結果を受け、ステップS39およびステップS40において、アクセス権限判定部203は、利用者条件、在エリア条件および過去条件のいずれも「真」となったため、No.7の指定条件は満たせていると判断し、返信リストに追加する。
No.8の指定条件の判定について説明する。
No.8の指定条件では、利用者条件COL05と在エリア条件COL06の値がNo.7の指定条件と同じであるため、利用者条件判定部204と在エリア条件判定部205の結果は、No.7の指定条件の判定時と同じく「真」となる。
ステップS37およびステップS38において、アクセス権限判定部203は、過去条件判定部206へ、利用者U0003Cに対するNo.8の過去条件COL07の値「在室(営業部居室,10分以内)」の判定を要求する。これに従い、ステップS82において、過去条件判定部206は、在場情報取得部208へ、利用者U0003Cの過去の在場情報223を要求する。ステップS83において、在場情報取得部208は、該当する在場情報223をメモリ132から取得して過去条件判定部206へ返す。ここでは、過去の情報はないものとする。よって、条件である「営業部居室における本人の在場情報が、過去10分以内に存在すること」を満たせないため、ステップS87において、過去条件判定部206は、アクセス権限判定部203へ「偽」を返す。
この結果を受け、ステップS39において、アクセス権限判定部203は、過去条件が「偽」となったため、No.8の指定条件は満たせていないと判断する。
ステップS41において、アクセス権限判定部203は、アクセス権限決定部201から指定されたアクセス制御情報221のNo.6とNo.7の指定条件は満足できるがNo.8の指定条件は満足できなかったことをアクセス権限決定部201へ通知する。ステップS15、ステップS16およびステップS18において、アクセス権限決定部201は、それを受けてアクセス制御情報221のNo.6とNo.7の認証レベルCOL03の「レベル2」を満足できているかを確認する。ここでは、利用者U0003Cが「認証レベル1」でアクセスしているため、認証レベルが不足していることが分かり、ステップS20において、アクセス権限決定部201は、業務アプリケーション112またはリバースプロキシサーバ122へ、「認証レベル2」にするための追加認証を要求する。具体例として、「認証レベル1」の認証方法をパスワード認証、「認証レベル2」の認証方法を生体認証、あるいは、生体認証とパスワード認証との組み合わせとすると、アクセス権限決定部201は、利用者U0003Cの生体認証を要求することになる。
次に、利用者U0003Cがトイレ休憩等で営業部居室から一旦退出した後、10分以内に再度入室して、認証レベル1でPublic01.phpへのアクセスを要求した場合について説明する。
No.6の指定条件の判定については、前述の利用者U0003Cが営業部居室に居る場合と同じである。すなわち、ステップS39およびステップS40において、アクセス権限判定部203は、No.6の指定条件は満たせていると判断し、返信リストに追加する。
No.7の指定条件の判定についても、前述の利用者U0003Cが営業部居室に居る場合と同じである。すなわち、ステップS39およびステップS40において、アクセス権限判定部203は、No.7の指定条件は満たせていると判断し、返信リストに追加する。
No.8の指定条件の判定について説明する。
No.8の指定条件では、利用者条件COL05と在エリア条件COL06の値がNo.7の指定条件と同じであるため、利用者条件判定部204と在エリア条件判定部205の結果は、No.7の指定条件の判定時と同じく「真」となる。
ここでは、利用者U0003Cが営業部居室から退出して10分以内に戻ってきていることから、10分以内に営業部居室に居たことを示す在場情報223が存在する。よって、条件である「営業部居室における本人の在場情報が、過去10分以内に存在すること」が満たされるため、ステップS86において、過去条件判定部206は、アクセス権限判定部203へ「真」を返す。
この結果を受け、ステップS39およびステップS40において、アクセス権限判定部203は、利用者条件、在エリア条件および過去条件のいずれも「真」となったため、No.8の指定条件は満たせていると判断し、返信リストに追加する。
ステップS41において、アクセス権限判定部203は、アクセス権限決定部201から指定されたアクセス制御情報221のNo.6とNo.7とNo.8のいずれの指定条件も満足できたことをアクセス権限決定部201へ通知する。ステップS15、ステップS16およびステップS18において、アクセス権限決定部201は、それを受けてアクセス制御情報221のNo.6とNo.7とNo.8の認証レベルCOL03を満足できているかを確認する。ここでは、利用者U0003Cが「認証レベル1」でアクセスしているため、No.9の認証レベルCOL03しか満足できていないことが分かり、ステップS20において、アクセス権限決定部201は、業務アプリケーション112またはリバースプロキシサーバ122へ、アクセス制御情報221のNo.9の適用内容COL04に記載の「参照・更新」の権限を適用することを通知する。
本動作例は、利用者の過去の在場情報223を使用するものであり、トイレ休憩等の短時間離席時に適用することでセキュリティを確保しつつ業務の利便性向上を図れるほか、高レベルの認証を行うか、複数回の入場がないとシステムを使用させないようにすることで、不自然に入室してきた他部署の利用者による不正利用等を防止可能である。
***実施の形態の効果の説明***
本実施の形態では、利用者の現在の所在だけでなく利用者の過去の所在にも応じてコンテンツへのアクセスが制御される。具体例として、利用者が営業部の人間である場合、利用者が現在営業部居室に居るだけでなく利用者がそれより前の10分以内にも営業部居室に居たことがなければ、利用者はPublic01.phpのコンテンツを更新できない。本実施の形態によれば、コンテンツへのアクセスを制御するシステムにおける利便性が向上する。
本実施の形態では、利用者の現在の所在だけでなく他の利用者の所在にも応じてコンテンツへのアクセスが制御される。具体例として、利用者が人事部の担当の人間である場合、利用者本人だけでなく人事部の課長以上の人間も人事部サーバ室に居なければ、利用者はSecret01.jspのコンテンツを更新できない。また、利用者が人事部の担当の人間である場合、利用者本人が人事部サーバ室に居るだけでなく人事部の課長以上の人間が人事部居室に居なければ、利用者はSecret02.jspのコンテンツを更新できない。本実施の形態によれば、コンテンツへのアクセスを制御するシステムにおけるセキュリティが向上する。
本実施の形態によれば、コンテンツへのアクセス制御を、利用者の属性と現在位置だけでなく、過去にどこにいたのか、その場にどれくらいの時間いるのか、同じ部屋にはどのような利用者がいるのか、といった状況を条件に用いて実施することが可能となる。
***他の構成***
本実施の形態では、「部」の機能がソフトウェアにより実現されるが、変形例として、「部」の機能がソフトウェアとハードウェアとの組み合わせにより実現されてもよい。すなわち、「部」の機能の一部が専用の電子回路により実現され、残りがソフトウェアにより実現されてもよい。
専用の電子回路は、具体的には、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA(Gate Array)、または、FPGA(Field−Programmable Gate Array)である。あるいは、専用の電子回路は、具体的には、ASIC(Application Specific Integrated Circuit)である。
プロセッサ131、メモリ132、および、専用の電子回路を、総称して「プロセッシングサーキットリ」という。つまり、「部」の機能がソフトウェアにより実現されるか、ソフトウェアとハードウェアとの組み合わせにより実現されるかに関わらず、「部」の機能は、プロセッシングサーキットリにより実現される。
「部」を「工程」、「手順」または「処理」に読み替えてもよい。
以上、本発明の実施の形態について説明したが、この実施の形態を部分的に実施しても構わない。具体的には、この実施の形態に係る認可システム101の機能要素のうち、一部の機能要素のみを採用してもよい。なお、本発明は、この実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。