以下に添付図面を参照して、この発明にかかる権限管理方法および権限管理プログラムの実施の形態を詳細に説明する。
(権限管理方法の一実施例)
図1は、実施の形態にかかる権限管理方法の一実施例を示す説明図である。図1において、権限管理装置100は、ユーザアカウントに設定されている権限ごとの有効時間を算出する機能を有するコンピュータである。
ここで、ユーザアカウントは、ユーザを識別する識別情報であり、例えば、文字や記号の組合せによって表現される。ユーザアカウントは、ユーザが情報システムにログインする際に用いられる。図1の例では、ユーザ101〜105にユーザアカウントA〜Eがそれぞれ割り当てられている。
また、ユーザアカウントには、各種権限が設定されている。権限とは、例えば、情報システム内のソフトウェア、ハードウェアなどを利用することができる権利である。権限として、具体的には、例えば、特定のアプリケーションを利用してデータを閲覧するものや、該データを更新するものなどがある。
ユーザは、ユーザアカウントに設定されている権限を使用して、該権限によって利用可能なソフトウェアやハードウェアの実行や操作を行うことができる。図1の例では、ユーザアカウントA,B,Eに、アプリケーションi(以下、単に「アプリi」という)を利用することができる権限Zが設定されている。各ユーザ101,102,105は、権限Zを使用してアプリiを実行することができる。
また、権限の有効時間とは、権限が有効である期間の長さを表すものである。権限の有効時間は、例えば、継続して使用されていない権限の解除タイミングを示唆するための基準時間として用いられる。ここで、各権限の有効時間は、例えば、ユーザアカウント漏洩時の不正利用のリスクが高くなるもの、すなわち、重要度が高い権限ほど短くなるように設定するほうが好ましい。
そこで、実施の形態では、ユーザアカウントに設定された権限ごとに、各権限の使用頻度に基づく重要度に応じた有効時間を求めることで、有効時間を超えて使用されていない権限を個別に判別し、ユーザアカウントに設定される権限を最小化する手法を説明する。
以下、実施の形態にかかる権限管理装置100の権限管理処理の一実施例について説明する。ここでは、権限Zの有効時間を算出する場合を例に挙げて説明する。
(1)権限管理装置100は、ユーザアカウントA〜Eのうち権限Zが設定されているユーザアカウントの数と、権限Zが使用された使用回数とを取得する。図1の例では、権限Zが設定されているユーザアカウントの数「3」と、権限Zが使用された使用回数「90=10+30+50」とが取得される。
(2)権限管理装置100は、取得したユーザアカウントの数と権限Zの使用回数とに基づいて、権限Zの使用頻度を表す指標値を算出する。具体的には、例えば、権限管理装置100が、権限Zの使用回数「90」をユーザアカウントの数「3」で除算することにより、権限Zの使用頻度を表す指標値「30」を算出する。すなわち、1ユーザアカウント当たりの使用回数が権限Zの使用頻度として算出される。
(3)権限管理装置100は、算出した権限Zの使用頻度を表す指標値と、権限Zが使用される平均時間間隔とに基づいて、権限Zの有効時間を算出する。ここで、平均時間間隔とは、各ユーザが権限Zを使用する平均的な時間間隔を表すものである。
平均時間間隔として、例えば、権限Zが設定されてから最初に使用されるまでの平均的な時間間隔や、権限Zが使用されてから次に使用されるまでの平均的な時間間隔を用いることができる。平均時間間隔は、例えば、予め任意に設定されて権限管理装置100に記憶されていてもよく、また、各ユーザの権限Zの使用履歴に基づいて算出されることにしてもよい。
具体的には、例えば、権限管理装置100が、権限Zが使用される平均時間間隔を基準として、権限Zの使用頻度を表す指標値が大きいほど有効時間が短くなるように、権限Zの有効時間を算出する。すなわち、権限Zの使用頻度が高いほど、権限Zの重要度が高いものとして、権限Zの有効時間が算出される。
以上説明した実施の形態にかかる権限管理装置100によれば、ユーザアカウントに設定されている権限ごとの使用頻度に応じた有効時間を算出することができる。これにより、例えば、使用頻度に基づく重要度が高い権限ほど有効時間を短くすることができる。
また、権限Zが設定されてから最初に使用されるまでの平均時間間隔を基準として有効時間を算出することで、ユーザアカウントに設定されてから一度も使用されていない権限の解除タイミングを示唆する有効時間を算出することができる。
また、権限Zが使用されてから次に使用されるまでの平均時間間隔を基準として有効時間を算出することで、最後に使用されてから一定期間継続して使用されていない権限の解除タイミングを示唆する有効時間を算出することができる。
これらのことから、権限管理装置100によれば、ユーザアカウントに設定されている権限のうち有効時間を超えて使用されていない権限を判別することができる。また、有効時間を超えて使用されていない権限の解除をユーザに促すことで、ユーザにとって必要ではない権限をユーザアカウントから解除することができ、ユーザアカウント漏洩時の不正使用のリスクを低減させることができる。
(情報システム200のシステム構成例)
図2は、実施の形態にかかる情報システム200のシステム構成例を示す説明図である。図2において、情報システム200は、権限管理装置100と、クライアント端末201−1〜201−mと、を含む。情報システム200において、権限管理装置100およびクライアント端末201−1〜201−mは、有線または無線のネットワーク210を介して接続されている。ネットワーク210は、例えば、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)などである。
ここで、権限管理装置100は、情報システム200にログインするためのユーザアカウントの新規登録やユーザアカウントへの権限の設定および解除を行う。また、権限管理装置100は、ユーザアカウントに設定されている各種権限を使用して利用可能な各種アプリケーションを記憶している。権限管理装置100は、例えば、Webシステム内のWebサーバに適用される。
クライアント端末201−1〜201−mは、情報システム200のユーザX1〜Xmが使用するコンピュータである。各ユーザX1〜Xmには、情報システム200にログインするためのユーザアカウントがそれぞれ割り当てられている。クライアント端末201−1〜201−mは、例えば、各ユーザX1〜XmのPC(パーソナル・コンピュータ)やノートPCである。
(権限管理装置100のハードウェア構成例)
図3は、実施の形態にかかる権限管理装置100のハードウェア構成例を示すブロック図である。図3において、権限管理装置100は、CPU(Central Processing Unit)301と、ROM(Read‐Only Memory)302と、RAM(Random Access Memory)303と、磁気ディスクドライブ304と、磁気ディスク305と、光ディスクドライブ306と、光ディスク307と、I/F(Interface)308と、ディスプレイ309と、キーボード310と、マウス311と、を備えている。また、各構成部はバス300によってそれぞれ接続されている。
ここで、CPU301は、権限管理装置100の全体の制御を司る。ROM302は、ブートプログラムなどのプログラムを記憶している。RAM303は、CPU301のワークエリアとして使用される。磁気ディスクドライブ304は、CPU301の制御に従って磁気ディスク305に対するデータのリード/ライトを制御する。磁気ディスク305は、磁気ディスクドライブ304の制御で書き込まれたデータを記憶する。
光ディスクドライブ306は、CPU301の制御に従って光ディスク307に対するデータのリード/ライトを制御する。光ディスク307は、光ディスクドライブ306の制御で書き込まれたデータを記憶したり、光ディスク307に記憶されたデータをコンピュータに読み取らせたりする。
I/F308は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して他の装置に接続される。そして、I/F308は、ネットワーク210と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F308には、例えば、モデムやLANアダプタなどを採用することができる。
ディスプレイ309は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ309は、例えば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
キーボード310は、文字、数字、各種指示などの入力のためのキーを備え、データの入力を行う。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス311は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
なお、権限管理装置100は、上述した光ディスクドライブ306、光ディスク307、ディスプレイ309、キーボード310およびマウス311などの構成部を備えないことにしてもよい。また、図2に示したクライアント端末201−1〜201−mは、上述した権限管理装置100と同様のハードウェア構成により実現することができる。
(各種テーブル400,500,600の記憶内容)
次に、権限管理装置100が用いる各種テーブル400,500,600の記憶内容について説明する。各種テーブル400,500,600は、例えば、図3に示したRAM303、磁気ディスク305、光ディスク307などの記憶装置により実現される。
<ユーザ権限テーブル400の記憶内容>
図4は、ユーザ権限テーブル400の記憶内容の一例を示す説明図である。図4において、ユーザ権限テーブル400は、ID、ユーザアカウント、権限IDおよびカウント値Pのフィールドを有する。各フィールドに情報を設定することで、ユーザX1〜Xmごとのユーザ権限情報400−1〜400−mがレコードとして記憶されている。
ここで、IDは、本明細書において説明上使用するユーザの識別子である。ユーザアカウントは、各ユーザX1〜Xmが情報システム200にログインするために用いるものである。権限IDは、ユーザアカウントに設定されている権限の識別子である。カウント値Pは、有効時間を超えて権限が使用されていないと判定された回数である。カウント値Pについての詳細な説明は後述する。
ユーザ権限情報400−1を例に挙げると、ユーザX1のユーザアカウント「hattori」、ユーザアカウント「hattori」に設定されている権限Z1,Z2,Z3およびカウント値P「0,0,0」が示されている。
ユーザ権限テーブル400の記憶内容は、例えば、ユーザアカウントが登録または削除されると、その都度更新される。また、ユーザ権限テーブル400の記憶内容は、ユーザアカウントに権限が設定または解除されると、その都度更新される。
<使用履歴テーブル500の記憶内容>
図5は、使用履歴テーブル500の記憶内容の一例を示す説明図である。図5において、使用履歴テーブル500は、権限ID、ユーザアカウント、設定日時、前回使用日時、今回使用日時、初回使用間隔、使用間隔および確認日時のフィールドを有する。各フィールドに情報を設定することで、権限Z1〜Znごとの使用履歴情報500−1〜500−nがレコードとして記憶されている。
ここで、権限IDは、権限の識別子である。ユーザアカウントは、各権限が設定されているユーザアカウントである。設定日時は、ユーザアカウントに権限が設定された日時である。前回使用日時は、ユーザアカウントに設定されている権限が使用された前回の日時である。今回使用日時は、ユーザアカウントに設定されている権限が使用された今回の日時である。
初回使用間隔は、ユーザアカウントに権限が設定された設定日時と、ユーザアカウントに設定されている権限が最初に使用された日時との時間間隔である(単位:時間)。使用間隔は、前回使用日時と今回使用日時との時間間隔である(単位:時間)。確認日時は、ユーザアカウントに設定されている権限を解除するか否かの確認が行われた日時である。
なお、前回使用日時、今回使用日時、初回使用間隔、使用間隔および確認日時の各フィールドは、初期状態では「−(null)」となっている。
使用履歴情報500−1を例に挙げると、例えば、ユーザアカウント「hattori」に権限Z1が設定された設定日時「2010/08/01/0900」が示されている。なお、「2010/08/01/0900」は、2010年08月01日09時00分を表している。
また、ユーザアカウント「yamada」に権限Z1が設定された設定日時「2010/01/02/1000」、権限Z1が使用された前回使用日時「2010/07/31/2300」、今回使用日時「2010/08/01/0800」が示されている。さらに、権限Z1の初回使用間隔「0.2」および使用間隔「9」が示されている。
使用履歴テーブル500の記憶内容は、例えば、ユーザアカウントが登録または削除されると、その都度更新される。また、使用履歴テーブル500の記憶内容は、ユーザアカウントに権限が設定または解除されると、その都度更新される。
<権限情報テーブル600の記憶内容>
図6は、権限情報テーブル600の記憶内容の一例を示す説明図である。図6において、権限情報テーブル600は、権限ID、初回使用間隔の平均値、使用間隔の平均値、ユーザ数、使用回数、重要度、初回基準時間および通常基準時間のフィールドを有する。各フィールドに情報を設定することで、権限Z1〜Znごとの権限情報600−1〜600−nがレコードとして記憶されている。
ここで、権限IDは、権限の識別子である。初回使用間隔の平均値は、ユーザアカウントに権限が設定された設定日時と、ユーザアカウントに設定されている権限が最初に使用された日時との時間間隔の平均値である(単位:時間)。使用間隔の平均値は、前回使用日時と今回使用日時との時間間隔の平均値である(単位:時間)。ユーザ数は、各権限が設定されているユーザアカウントの数である。
使用回数は、所定期間内に各権限が使用された回数である。ここでは、過去30日間に各権限が使用された回数が設定されている。重要度は、各権限の使用頻度に基づく指標値である。初回基準時間は、ユーザアカウントに設定されてから一度も使用されていない権限の解除タイミングを示唆する有効時間である。通常基準時間は、最後に使用されてから一定期間継続して使用されていない権限の解除タイミングを示唆する有効時間である。
権限情報600−1を例に挙げると、権限Z1の初回使用間隔の平均値「1」、使用間隔の平均値「200」、ユーザ数「100」、使用回数「1000」、重要度「10」、初回基準時間「0.9」および通常基準時間「180」が示されている。
以下の説明では、ユーザX1〜Xmのうち任意のユーザを「ユーザXj」と表記する(j=1,2,…,m)。また、ユーザXjに割り当てられているユーザアカウントを「ユーザアカウントUAj」と表記する。また、ユーザXjが使用するクライアント端末を「クライアント端末201−j」と表記する。
また、権限Z1〜Znのうち任意の権限を「権限Zi」と表記する(i=1,2,…,n)。また、権限Ziの初回使用間隔の平均値を「初回使用間隔の平均値Ji」、使用間隔の平均値を「使用間隔の平均値Ki」、ユーザ数を「ユーザ数Fi」、使用回数を「使用回数Hi」、重要度を「重要度Ii」、初回基準時間を「初回基準時間Li」、通常基準時間を「通常基準時間Mi」と表記する。
(権限管理装置100の機能的構成例)
次に、実施の形態にかかる権限管理装置100の機能的構成例について説明する。図7は、権限管理装置100の機能的構成を示すブロック図である。図7において、権限管理装置100は、受付部701と、設定部702と、解除部703と、選択部704と、取得部705と、第1の算出部706と、第2の算出部707と、第3の算出部708と、出力部709と、判定部710と、計数部711と、を含む構成である。この制御部となる機能(受付部701〜計数部711)は、具体的には、例えば、図3に示したROM302、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、または、I/F308により、その機能を実現する。また、各機能部の処理結果は、例えば、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶される。
受付部701は、ユーザXjからのログインを受け付ける機能を有する。具体的には、例えば、受付部701が、ネットワーク210を介して、ユーザXjからのユーザアカウントUAjを用いたログインをクライアント端末201−jから受け付ける。
設定部702は、ユーザアカウントUAjに権限Ziを設定する機能を有する。具体的には、例えば、設定部702が、クライアント端末201−jのキーボード(不図示)やマウス(不図示)を用いたユーザXjの操作入力に従って、ユーザアカウントUAjに権限Ziを設定する。
設定された設定結果は、例えば、ユーザ権限テーブル400(図4参照)、使用履歴テーブル500(図5参照)および権限情報テーブル600(図6参照)に反映される。一例として、「2010/08/01/0900」に、ユーザX1のユーザアカウント「hattori」に権限Z1が設定された場合を想定する。
この場合、ユーザ権限テーブル400内のユーザ権限情報400−1の権限IDフィールドに「Z1」が設定される。また、使用履歴テーブル500内の使用履歴情報500−1のユーザアカウントフィールドに「hattori」が設定され、設定日時に「2010/08/01/09/00」が設定される。また、権限情報テーブル600内の権限情報600−1のユーザ数がインクリメントされる。
解除部703は、ユーザアカウントUAjに設定されている権限Ziを解除する機能を有する。具体的には、例えば、解除部703が、クライアント端末201−jのキーボード(不図示)やマウス(不図示)を用いたユーザXjの操作入力に従って、ユーザアカウントUAjに設定されている権限Ziを解除する。
解除された解除結果は、例えば、ユーザ権限テーブル400、使用履歴テーブル500および権限情報テーブル600に反映される。一例として、ユーザX1のユーザアカウント「hattori」に設定されている権限Z1が解除された場合を想定する。
この場合、ユーザ権限テーブル400内のユーザ権限情報400−1の権限IDフィールドから「Z1」が削除される。また、使用履歴テーブル500内の使用履歴情報500−1のユーザアカウント「hattori」に関するサブレコードが削除される。また、権限情報テーブル600内の権限情報600−1のユーザ数がデクリメントされる。
選択部704は、権限Z1〜Znの中からいずれかの権限Ziを選択する機能を有する。具体的には、例えば、選択部704が、予め規定された選択条件に従って、権限情報テーブル600内の権限Z1〜Znの中から権限Ziを順次選択する。また、選択部704が、図3に示したディスプレイ309やキーボード310を用いたユーザの操作入力に従って、権限Ziを選択することにしてもよい。
取得部705は、ユーザアカウントUA1〜UAmのうち、選択部704によって選択された権限Ziが設定されているユーザアカウントの数と、権限Ziが使用された使用回数とを取得する機能を有する。ここで、権限Ziが使用された使用回数とは、所定期間内に権限Ziが使用された回数である。所定期間は、任意に設定可能であり、例えば、現在日時から過去30日間、60日間などに設定される。
具体的には、例えば、取得部705が、権限情報テーブル600の中から、権限Ziのユーザ数Fiおよび使用回数Hiを取得する。上記所定期間は、例えば、ROM302、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶されている。
また、権限Ziの使用回数Hiは、例えば、後述の図8に示す使用回数テーブル800を参照して求めることができる。使用回数テーブル800は、例えば、権限管理装置100のRAM303、磁気ディスク305、光ディスク307などの記憶装置により実現される。ここで、使用回数テーブル800の記憶内容について説明する。
図8は、使用回数テーブル800の記憶内容の一例を示す説明図である。図8において、使用回数テーブル800は、権限ID、使用日および使用回数のフィールドを有する。各フィールドに情報を設定することで、権限Z1〜Znごとの使用回数情報800−1〜800−nがレコードとして記憶されている。
ここで、権限IDは、権限の識別子である。使用日は、権限が使用された日である。使用回数は、権限が使用された日ごとの使用回数である。使用回数情報800−1を例に挙げると、権限Z1が使用された日ごとの使用回数が示されている。具体的には、「2010/01/02」〜「2010/01/31」の30日分の権限Z1の日ごとの使用回数「77,23,…,18」が示されている。
上記取得部705は、例えば、使用回数テーブル800を参照して、権限Z1の日ごとの使用回数を足し合わせることにより、過去30日分の権限Ziが使用された使用回数Hiを算出することができる。使用回数テーブル800の記憶内容は、各権限Ziが使用されると、その都度更新される。また、日付が変わると、各権限Ziの最古の使用日の使用回数が削除されて、使用日フィールドに現在日が設定される。
第1の算出部706は、取得部705によって取得されたユーザアカウントの数と権限Ziの使用回数とに基づいて、権限Ziの使用頻度を表す指標値を算出する機能を有する。ここで、権限Ziの使用頻度を表す指標値とは、権限Ziの重要度Iiを表すものである。ここでは、使用頻度が高い権限ほど、重要度の高い権限とする。
具体的には、例えば、第1の算出部706が、下記式(1)を用いて、権限Ziの重要度Iiを求めることができる。ただし、Iiは権限Ziの重要度、Hiは権限Ziが所定期間内に使用された使用回数、Fiは権限Ziが設定されているユーザアカウントの数である。
Ii=log10(Hi/Fi) ・・・(1)
算出された算出結果は、例えば、権限情報テーブル600に記憶される。例えば、権限Z1の重要度I1が算出された場合、権限情報テーブル600内の権限情報600−1の重要度フィールドに「I1」が設定される。
また、取得部705は、権限Ziが使用されたユーザアカウントごとの時間間隔を取得する機能を有する。ここで、権限Ziが使用されたユーザアカウントごとの時間間隔とは、権限Ziが使用されてから次に権限Ziが使用されるまでの使用間隔である。
具体的には、例えば、取得部705が、使用履歴テーブル500の中から、権限Ziが設定されているユーザアカウントごとの使用間隔を取得する。なお、ユーザアカウントごとの使用間隔は、例えば、使用履歴テーブル500に今回使用日時が設定された際に、前回使用日時と今回使用日時との時間間隔を求めることにより算出される。
第2の算出部707は、取得部705によって取得されたユーザアカウントごとの時間間隔に基づいて、権限Ziが使用される第1の平均時間間隔を算出する機能を有する。ここで、第1の平均時間間隔とは、権限Ziが使用されたユーザアカウントごとの使用間隔の平均値Kiである。
一例として、権限Z1が使用されたユーザアカウントごとの使用間隔を「10,20,30」とする。この場合、第2の算出部707が、例えば、権限Z1が使用されたユーザアカウントごとの使用間隔を足し合わせた「60」を「3」で除算することにより、ユーザアカウントごとの使用間隔の平均値「20」を算出する。
算出された算出結果は、例えば、権限情報テーブル600に記憶される。例えば、権限Z1の使用間隔の平均値K1が算出された場合、権限情報テーブル600内の権限情報600−1の使用間隔の平均値フィールドに「K1」が設定される。
なお、上述した説明では、前回使用日時と今回使用日時との時間間隔から使用間隔の平均値Kiを求めることにしたが、これに限らない。例えば、第2の算出部707が、権限Ziが使用されたユーザアカウントごとの使用間隔の平均値(例えば、一定期間分の使用間隔の平均値)をもとに、使用間隔の平均値Kiを算出することにしてもよい。
第3の算出部708は、権限Ziの使用頻度を表す指標値と、権限Ziが使用される第1の平均時間間隔とに基づいて、権限Ziが使用されてからの権限Ziの第1の有効時間を算出する機能を有する。
ここで、権限Ziの第1の有効時間とは、最後に使用されてから一定期間継続して使用されていない権限Ziの解除タイミングを示唆する通常基準時間Miである。すなわち、通常基準時間Miは、しばらく使用されていない権限Ziの解除を、情報システム200の管理者やユーザXjなどに対して促す時間の基準値となるものである。
具体的には、例えば、第3の算出部708が、下記式(2)を用いて、権限Ziの通常基準時間Miを求めることができる。ただし、Miは権限Ziの通常基準時間、Kiは権限Ziが使用されたユーザアカウントごとの使用間隔の平均値、Iiは権限Ziの重要度、αは任意の自然数(例えば、1)である。
Mi=Ki×{α−(Ii/10)} ・・・(2)
算出された算出結果は、例えば、権限情報テーブル600に記憶される。例えば、権限Z1の通常基準時間M1が算出された場合、権限情報テーブル600内の権限情報600−1の通常基準時間フィールドに「M1」が設定される。
また、取得部705は、権限Ziが設定されてから権限Ziが最初に使用されるまでのユーザアカウントごとの時間間隔を取得する機能を有する。ここで、権限Ziが設定されてから権限Ziが最初に使用されるまでのユーザアカウントごとの時間間隔とは、ユーザアカウントに権限Ziが設定された設定日時と、ユーザアカウントに設定されている権限Ziが最初に使用された日時との時間間隔である。
具体的には、例えば、取得部705が、使用履歴テーブル500の中から、権限Ziが設定されているユーザアカウントごとの初回使用間隔を取得する。なお、ユーザアカウントごとの初回使用間隔は、例えば、権限Ziが最初に使用された際に、権限Ziの設定日時と権限Ziが最初に使用された日時との時間間隔を求めることにより算出される。
また、第2の算出部707は、取得部705によって取得されたユーザアカウントごとの時間間隔に基づいて、権限Ziが設定されてから権限Ziが最初に使用されるまでの第2の平均時間間隔を算出する機能を有する。ここで、第2の平均時間間隔とは、権限Ziが設定されているユーザアカウントごとの初回使用間隔の平均値Jiである。
一例として、権限Ziが設定されているユーザアカウントごとの初回使用間隔を「2,4,9」とする。この場合、第2の算出部707が、例えば、ユーザアカウントごとの初回使用間隔を足し合わせた「15」を「3」で除算することにより、ユーザアカウントごとの初回使用間隔の平均値「5」を算出する。
算出された算出結果は、例えば、権限情報テーブル600に記憶される。例えば、権限Z1の初回使用間隔の平均値J1が算出された場合、権限情報テーブル600内の権限情報600−1の初回使用間隔の平均値フィールドに「J1」が設定される。
また、第3の算出部708は、権限Ziの使用頻度を表す指標値と、権限Ziが設定されてから権限Ziが最初に使用されるまでの第2の平均時間間隔とに基づいて、権限Ziが設定されてからの権限Ziの第2の有効時間を算出する機能を有する。
ここで、権限Ziの第2の有効時間とは、ユーザアカウントに設定されてから一度も使用されていない権限Ziの解除タイミングを示唆する初回基準時間Liである。すなわち、初回基準時間Liは、設定されたきり使用されていない権限Ziの解除を、情報システム200の管理者やユーザXjなどに対して促す時間の基準値となるものである。
具体的には、例えば、第3の算出部708が、下記式(3)を用いて、権限Ziの初回基準時間Liを求めることができる。ただし、Liは権限Ziの初回基準時間、Jiは権限Ziが設定されているユーザアカウントごとの初回使用間隔の平均値、Iiは権限Ziの重要度、αは任意の自然数(例えば、1)である。
Li=Ji×{α−(Ii/10)} ・・・(3)
算出された算出結果は、例えば、権限情報テーブル600に記憶される。例えば、権限Z1の初回基準時間L1が算出された場合、権限情報テーブル600内の権限情報600−1の初回基準時間フィールドに「L1」が設定される。
なお、上記式(2)および上記式(3)を用いて算出される通常基準時間Miおよび初回基準時間Liの値がマイナスの値にならないように、権限Ziの重要度Iiの値を調整することにしてもよい。例えば、情報システム200の管理者が、権限Ziの重要度Iiの上限値を設定することにしてもよい。
具体的には、例えば、重要度Iiの上限値を「5」とし、上記式(1)を用いて算出された重要度Iiの値が5以上となる場合は、重要度Iiの値を「5」とする。これにより、上記式(2)および上記式(3)を用いて算出される通常基準時間Miおよび初回基準時間Liの値がマイナスとなることを防ぐことができる。
また、上記式(2)や上記式(3)のαの値を調整することにより、通常基準時間Miや初回基準時間Liの長さを任意に変更することができる。例えば、情報システム200の管理者が、権限Ziを使用した処理の特性に合わせて上記αの値を設定することにしてもよい。
具体的には、例えば、権限Ziを使用した処理の特性上、頻繁に使用される権限Ziは、通常基準時間Miが極端に短くなる場合がある。このため、情報システム200の管理者は、使用頻度が高い権限についての上記αを、使用頻度が低い権限についての上記αに比べて大きい値に設定する。
より具体的には、例えば、商品に関するデータを記憶するデータベースを更新する場合を例に挙げると、特定の商品の売上を更新するための権限は、全商品の月単位の売上を更新するための権限に比べて、頻繁に使用される可能性が高い。このため、特定の商品の売上を更新するための権限についての上記αの値が、全商品の月単位の売上を更新するための権限についての上記αの値に比べて大きい値に設定される。
出力部709は、第3の算出部708によって算出された算出結果を出力する機能を有する。具体的には、例えば、出力部709が、権限Ziごとの通常基準時間Miおよび初回基準時間Liをリスト化して出力することにしてもよい。これにより、情報システム200の管理者等が、ユーザアカウントに設定される権限Ziごとの通常基準時間Miおよび初回基準時間Liを把握することができる。
出力形式としては、例えば、ディスプレイ309への表示、プリンタ(不図示)への印刷出力、I/F308による外部装置への送信がある。また、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶することとしてもよい。
また、選択部704は、ユーザX1〜Xmの中からいずれかのユーザXjを選択する機能を有する。具体的には、例えば、選択部704が、予め規定された選択条件に従って、ユーザ権限テーブル400内のユーザX1〜Xmの中からユーザXjを順次選択する。また、選択部704が、ディスプレイ309やキーボード310を用いたユーザの操作入力に従って、ユーザ権限テーブル400内のユーザX1〜Xmの中からユーザXjを選択することにしてもよい。
判定部710は、選択部704によって選択されたユーザXjのユーザアカウントUAjを用いて権限Ziが使用された前回の使用日時から現在日時までの経過時間が、権限Ziの通常基準時間Mi以内か否かを判定する機能を有する。
具体的には、例えば、まず、判定部710が、使用履歴テーブル500の中から、ユーザアカウントUAjを用いて権限Ziが使用された前回使用日時を取得する。次に、判定部710が、取得した前回使用日時から現在日時までの経過時間を算出する。そして、判定部710が、算出した経過時間が権限Ziの通常基準時間Mi以内か否かを判定する。なお、権限Ziの通常基準時間Miは、権限情報テーブル600から特定される。
また、出力部709は、判定部710によって判定された判定結果を出力する機能を有する。具体的には、例えば、出力部709が、権限Ziの前回使用日時から現在日時までの経過時間が通常基準時間Miより大きいと判定された判定結果を、ユーザアカウントUAjと関連付けて出力することにしてもよい。
これにより、ユーザXjや情報システム200の管理者が、ユーザアカウントUAjに設定されている権限のうち、通常基準時間Miを超えて使用されていない権限Ziを把握することができる。
また、出力部709は、権限Ziの前回使用日時から現在日時までの経過時間が通常基準時間Miより大きいと判定された場合、ユーザアカウントUAjに設定されている権限Ziを解除するか否かを問い合わせる機能を有する。具体的には、例えば、出力部709が、通常基準時間Miを超えて継続的に使用されていないユーザアカウントUAjの権限Ziの解除を促す警告画面をディスプレイ309に表示することにしてもよい。
なお、ユーザアカウントUAjに設定されている権限Ziを解除するか否かの問い合わせが行われた場合、使用履歴テーブル500内の権限ZiのユーザアカウントUAjの確認日時に問い合わせが行われた日時が設定される。
計数部711は、ユーザアカウントUAjの権限Ziの前回使用日時から現在日時までの経過時間が通常基準時間Miより大きいと判定された回数を計数する機能を有する。具体的には、例えば、通常基準時間Miより大きいと判定された場合、その都度、計数部711が、ユーザ権限テーブル400内のユーザアカウントUAjの権限Ziのカウント値Pをインクリメントする。
また、解除部703は、通常基準時間Miより大きいと判定された回数が所定回数β以上となった場合、ユーザアカウントUAjに設定されている権限Ziを解除する機能を有する。具体的には、例えば、解除部703が、ユーザ権限テーブル400内のユーザアカウントUAjの権限Ziのカウント値Pが所定回数β以上となった場合、ユーザアカウントUAjに設定されている権限Ziを解除する(例えば、β=30)。
これにより、権限Ziが通常基準時間Miを超えて継続的に使用されていないと複数回判定されたユーザアカウントUAjに設定されている権限Ziを解除することができる。
上記所定回数βは、例えば、予め任意に設定されてROM302、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶されている。また、ユーザ権限テーブル400内のユーザアカウントUAjの権限Ziのカウント値Pは、例えば、ユーザアカウントUAjに設定されている権限Ziを解除するか否かの問い合わせが行われた場合や権限Ziが使用された場合に初期化(カウント値P=0)されることにしてもよい。
また、判定部710は、ユーザアカウントUAjに設定されている権限Ziを解除するか否かの問い合わせが行われた日時から現在日時までの経過時間が通常基準時間Mi以内か否かを判定する機能を有する。
具体的には、例えば、まず、判定部710が、使用履歴テーブル500内の権限ZiのユーザアカウントUAjの確認日時から現在日時までの経過時間を算出する。そして、判定部710が、算出した経過時間が通常基準時間Mi以内か否かを判定する。なお、判定部710は、算出した経過時間が初回基準時間Li以内か否かを判定することにしてもよい。
また、解除部703は、権限ZiのユーザアカウントUAjの確認日時から現在日時までの経過時間が通常基準時間Miより大きいと判定された場合、ユーザアカウントUAjに設定されている権限Ziを解除する機能を有する。これにより、ユーザアカウントUAjの権限Ziの解除を促したにもかかわらず、通常基準時間Miを超えて継続的に使用されていない権限Ziを解除することができる。
判定部710は、権限Ziが設定されてから一度も使用されていないユーザアカウントUAjに権限Ziが設定された設定日時から現在日時までの経過時間が権限Ziの初回基準時間Li以内か否かを判定する機能を有する。
具体的には、例えば、まず、判定部710が、使用履歴テーブル500の中から、ユーザアカウントUAjに権限Ziが設定された設定日時を取得する。ただし、このユーザアカウントUAjは、前回使用日時フィールドがnull、すなわち、権限Ziが設定されてから一度も使用されていないユーザアカウントである。次に、判定部710が、取得した設定日時から現在日時までの経過時間を算出する。そして、判定部710が、算出した経過時間が権限Ziの初回基準時間Li以内か否かを判定する。なお、権限Ziの初回基準時間Liは、権限情報テーブル600から特定される。
また、出力部709は、権限Ziの設定日時から現在日時までの経過時間が通常基準時間Miより大きいと判定された判定結果を、ユーザアカウントUAjと関連付けて出力することにしてもよい。これにより、ユーザXjや情報システム200の管理者が、ユーザアカウントUAjに設定されている権限のうち、初回基準時間Liを超えて一度も使用されていない権限Ziを把握することができる。
また、出力部709は、権限Ziの設定日時から現在日時までの経過時間が通常基準時間Miより大きいと判定された場合、ユーザアカウントUAjに設定されている権限Ziを解除するか否かを問い合わせる機能を有する。具体的には、例えば、出力部709が、初回基準時間Liを超えて一度も使用されていないユーザアカウントUAjの権限Ziの解除を促す警告画面をディスプレイ309に表示することにしてもよい。
また、計数部711は、ユーザアカウントUAjの権限Ziの設定日時から現在日時までの経過時間が初回基準時間Liより大きいと判定された回数を計数する機能を有する。具体的には、例えば、初回基準時間Liより大きいと判定された場合、その都度、計数部711が、ユーザ権限テーブル400内のユーザアカウントUAjの権限Ziのカウント値Pをインクリメントする。
また、解除部703は、初回基準時間Liより大きいと判定された回数が所定回数β以上となった場合、ユーザアカウントUAjに設定されている権限Ziを解除する機能を有する。権限Ziが初回基準時間Liを超えて一度も使用されていないと複数回判定されたユーザアカウントUAjに設定されている権限Ziを解除することができる。
(クライアント端末201−jの表示画面例)
次に、ユーザアカウント「hattori」のユーザX1を例に挙げて、クライアント端末201−1のディスプレイ(不図示)に表示される表示画面例について説明する。
図9は、メニュー画面の具体例を示す説明図である。図9において、メニュー画面900は、情報システム200へのログイン時にクライアント端末201−jのディスプレイに表示される画面である。
具体的には、メニュー画面900には、権限の追加を示すボタンB1と、アプリ1の使用を示すボタンB2と、アプリ1の変更を示すボタンB3と、アプリ2の変更を示すボタンB4と、が表示されている。ここで、「アプリ1の使用」は、権限Z1を使用して利用可能な操作である。「アプリ1の変更」は、権限Z2を使用して利用可能な操作である。「アプリ2の変更」は、権限Z3を使用して利用可能な操作である。
メニュー画面900において、ユーザX1の操作入力により、カーソルCを移動させてボタンB1をクリックすることで、ユーザアカウント「hattori」に設定する権限を追加するための設定画面(不図示)に遷移することができる。
また、メニュー画面900において、ユーザX1の操作入力により、カーソルCを移動させてボタンB2をクリックすることで、ユーザアカウント「hattori」に設定されている権限Z1を使用して「アプリ1の使用」を行うことができる。
また、メニュー画面900において、ユーザX1の操作入力により、カーソルCを移動させてボタンB3をクリックすることで、ユーザアカウント「hattori」に設定されている権限Z2を使用して「アプリ1の変更」を行うことができる。
また、メニュー画面900において、ユーザX1の操作入力により、カーソルCを移動させてボタンB4をクリックすることで、ユーザアカウント「hattori」に設定されている権限Z3を使用して「アプリ2の変更」を行うことができる。
図10は、警告画面の具体例を示す説明図である。図10において、警告画面1000は、情報システム200へのログイン時にクライアント端末201−jのディスプレイに表示される画面である。警告画面1000は、権限Z1の通常基準時間M1を超えて使用されていない、ユーザアカウント「hattori」に設定されている権限Z1の解除を促す画面である。
警告画面1000において、ユーザX1の操作入力により、カーソルCを移動させてボタンB5をクリックすることで、ユーザアカウント「hattori」に設定されている権限Z1を解除することができる。
また、警告画面1000において、ユーザX1の操作入力により、カーソルCを移動させてボタンB6をクリックすることで、権限Z1を継続してユーザアカウント「hattori」に設定しておくことができる。
(権限管理装置100の各種権限管理処理手順)
次に、権限管理装置100の各種権限管理処理手順について説明する。ここでは、まず、各種パラメータ値を収集するパラメータ値収集処理手順について説明する。このパラメータ値収集処理は、例えば、日ごとに実行される。
<パラメータ値収集処理手順>
図11および図12は、権限管理装置100のパラメータ値収集処理手順の一例を示すフローチャートである。図11のフローチャートにおいて、まず、選択部704により、権限Ziの「i」を「i=1」で初期化する(ステップS1101)。そして、選択部704により、権限Z1〜Znの中から権限Ziを選択する(ステップS1102)。
次に、取得部705により、権限情報テーブル600の中から権限Ziのユーザ数Fiを取得する(ステップS1103)。また、取得部705により、使用回数テーブル800を参照して、権限Ziの使用回数Hiを算出する(ステップS1104)。
このあと、第1の算出部706により、権限Ziのユーザ数Fiおよび使用回数Hiを上記式(1)に代入することにより、権限Ziの重要度Iiを算出する(ステップS1105)。そして、第1の算出部706により、算出した重要度Iiが5以上か否かを判断する(ステップS1106)。
ここで、重要度Iiが5未満の場合(ステップS1106:No)、第1の算出部706により、権限Ziの重要度Iiを権限情報テーブル600に設定する(ステップS1107)。一方、重要度Iiが5以上の場合(ステップS1106:Yes)、第1の算出部706により、権限Ziの重要度Iiとして5を権限情報テーブル600に設定する(ステップS1108)。
次に、取得部705により、使用履歴テーブル500の中から、権限Ziが設定されているユーザアカウントごとの初回使用間隔を取得する(ステップS1109)。このあと、第2の算出部707により、取得されたユーザアカウントごとの初回使用間隔に基づいて、初回使用間隔の平均値Jiを算出する(ステップS1110)。
そして、第2の算出部707により、算出した初回使用間隔の平均値Jiを権限情報テーブル600に設定して(ステップS1111)、図12に示すステップS1201に移行する。
図12のフローチャートにおいて、まず、取得部705により、使用履歴テーブル500の中から、権限Ziが設定されているユーザアカウントごとの使用間隔を取得する(ステップS1201)。
このあと、第2の算出部707により、取得されたユーザアカウントごとの使用間隔に基づいて、使用間隔の平均値Kiを算出する(ステップS1202)。そして、第2の算出部707により、算出した使用間隔の平均値Kiを権限情報テーブル600に設定する(ステップS1203)。
次に、第3の算出部708により、権限情報テーブル600を参照して、権限Ziの初回使用間隔の平均値Jiおよび重要度Iiを上記式(3)に代入することにより、権限Ziの初回基準時間Liを算出する(ステップS1204)。そして、第3の算出部708により、算出した権限Ziの初回基準時間Liを権限情報テーブル600に設定する(ステップS1205)。
次に、第3の算出部708により、権限情報テーブル600を参照して、権限Ziの使用間隔の平均値Kiおよび重要度Iiを上記式(2)に代入することにより、権限Ziの通常基準時間Miを算出する(ステップS1206)。そして、第3の算出部708により、算出した権限Ziの通常基準時間Miを権限情報テーブル600に設定する(ステップS1207)。
このあと、選択部704により、権限Ziの「i」をインクリメントして(ステップS1208)、「i」が「n」より大きいか否かを判断する(ステップS1209)。ここで、「i」が「n」以下の場合(ステップS1209:No)、図11に示したステップS1102に移行する。一方、「i」が「n」より大きい場合(ステップS1209:Yes)、本フローチャートによる一連の処理を終了する。
これにより、ユーザアカウントUAjに設定されている権限Ziごとに、各権限Ziの使用頻度に基づく重要度Iiに応じた初回基準時間Liおよび通常基準時間Miを求めることができる。
<解除判定処理手順>
次に、ユーザアカウントUAjに設定されている権限Ziを解除するか否かを判定する解除判定処理手順について説明する。この解除判定処理は、例えば、日ごとに実行される。
図13〜図15は、権限管理装置100の解除判定処理手順の一例を示すフローチャートである。図13のフローチャートにおいて、まず、取得部705により、現在日時を取得する(ステップS1301)。次に、選択部704により、ユーザXjの「j」を「j=1」で初期化する(ステップS1302)。
そして、選択部704により、ユーザX1〜Xmの中からユーザXjを選択する(ステップS1303)。このあと、選択部704により、ユーザ権限テーブル400を参照して、ユーザXjのユーザアカウントUAjに設定されている権限Ziを選択する(ステップS1304)。
次に、判定部710により、使用履歴テーブル500を参照して、権限ZiのユーザアカウントUAjの確認日時が設定されているか否かを判断する(ステップS1305)。ここで、確認日時が設定されている場合(ステップS1305:Yes)、図14に示すステップS1401に移行する。
一方、確認日時がnullの場合(ステップS1305:No)、判定部710により、使用履歴テーブル500を参照して、権限ZiのユーザアカウントUAjの前回使用日時が設定されているか否かを判断する(ステップS1306)。ここで、前回使用日時が設定されている場合(ステップS1306:Yes)、図15に示すステップS1501に移行する。
一方、前回使用日時が設定されていない場合(ステップS1306:No)、判定部710により、権限Ziが設定された設定日時から現在日時までの経過時間Oを算出する(ステップS1307)。そして、判定部710により、算出した経過時間Oが権限Ziの初回基準時間Liより大きいか否かを判定する(ステップS1308)。
ここで、経過時間Oが初回基準時間Li以内の場合(ステップS1308:No)、ステップS1312に移行する。一方、経過時間Oが初回基準時間Liより大きい場合(ステップS1308:Yes)、計数部711により、ユーザ権限テーブル400内のユーザアカウントUAjの権限Ziのカウント値Pをインクリメントする(ステップS1309)。
そして、解除部703により、カウント値Pが所定回数β以上となったか否かを判断する(ステップS1310)。ここで、カウント値Pが所定回数β未満の場合(ステップS1310:No)、ステップS1312に移行する。一方、カウント値Pが所定回数β以上の場合(ステップS1310:Yes)、解除部703により、ユーザアカウントUAjに設定されている権限Ziを解除する(ステップS1311)。
次に、選択部704により、ユーザ権限テーブル400を参照して、ユーザXjのユーザアカウントUAjに設定されている権限のうち選択されていない未選択の権限Ziがあるか否かを判断する(ステップS1312)。
ここで、未選択の権限Ziがある場合(ステップS1312:Yes)、ステップS1304に戻る。一方、未選択の権限Ziがない場合(ステップS1312:No)、選択部704により、ユーザXjの「j」をインクリメントして(ステップS1313)、「j」が「m」より大きいか否かを判断する(ステップS1314)。
ここで、「j」が「m」以内の場合(ステップS1314:No)、ステップS1303に戻る。一方、「j」が「m」より大きい場合(ステップS1314:Yes)、本フローチャートによる一連の処理を終了する。
図14のフローチャートにおいて、まず、判定部710により、権限ZiのユーザアカウントUAjの確認日時から現在日時までの経過時間Oを算出する(ステップS1401)。そして、判定部710により、算出した経過時間Oが通常基準時間Miより大きいか否かを判定する(ステップS1402)。
ここで、経過時間Oが通常基準時間Mi以内の場合(ステップS1402:No)、本フローチャートによる一連の処理を終了する。一方、経過時間Oが通常基準時間Miより大きい場合(ステップS1402:Yes)、解除部703により、ユーザアカウントUAjに設定されている権限Ziを解除して(ステップS1403)、本フローチャートによる一連の処理を終了する。
図15のフローチャートにおいて、まず、判定部710により、ユーザアカウントUAjを用いて権限Ziが使用された前回使用日時から現在日時までの経過時間Oを算出する(ステップS1501)。そして、判定部710により、算出した経過時間Oが権限Ziの通常基準時間Miより大きいか否かを判定する(ステップS1502)。
ここで、経過時間Oが通常基準時間Mi以内の場合(ステップS1502:No)、本フローチャートによる一連の処理を終了する。一方、経過時間Oが通常基準時間Miより大きい場合(ステップS1502:Yes)、計数部711により、ユーザ権限テーブル400内のユーザアカウントUAjの権限Ziのカウント値Pをインクリメントする(ステップS1503)。
そして、解除部703により、カウント値Pが所定回数β以上となったか否かを判断する(ステップS1504)。ここで、カウント値Pが所定回数β未満の場合(ステップS1504:No)、本フローチャートによる一連の処理を終了する。
一方、カウント値Pが所定回数β以上の場合(ステップS1504:Yes)、解除部703により、ユーザアカウントUAjに設定されている権限Ziを解除して(ステップS1505)、本フローチャートによる一連の処理を終了する。
これにより、初回基準時間Liや通常基準時間Miを超えて継続的に使用されていない権限Ziを判別することができる。また、ユーザアカウントUAjの権限Ziの解除を促したにもかかわらず、通常基準時間Miを超えて継続的に使用されていない権限Ziを解除することができる。また、権限Ziが通常基準時間Miを超えて継続的に使用されていないと複数回判定されたユーザアカウントUAjに設定されている権限Ziを解除することができる。
<解除確認処理手順>
次に、ユーザアカウントUAjに設定されている権限Ziを解除するか否かを問い合わせる解除確認処理手順について説明する。この解除確認処理は、例えば、ユーザアカウントUAjを用いた情報システム200へのログイン時に実行される。
図16は、権限管理装置100の解除確認処理手順の一例を示すフローチャートである。図16のフローチャートにおいて、まず、受付部701により、ユーザアカウントUAjを用いたユーザXjからのログインをクライアント端末201−jから受け付けたか否かを判断する(ステップS1601)。
ここで、受付部701により、ユーザXjからのログインを受け付けるのを待つ(ステップS1601:No)。そして、ログインを受け付けた場合(ステップS1601:Yes)、選択部704により、ユーザ権限テーブル400を参照して、ユーザアカウントUAjに設定されている権限Ziを選択する(ステップS1602)。
次に、判定部710により、ユーザ権限テーブル400を参照して、ユーザアカウントUAjの権限Ziのカウント値Pが1以上か否かを判断する(ステップS1603)。ここで、カウント値Pが0の場合(ステップS1603:No)、ステップS1609に移行する。
一方、カウント値Pが1以上の場合(ステップS1603:Yes)、出力部709により、ユーザアカウントUAjに設定されている権限Ziの解除を促す警告画面をクライアント端末201−jのディスプレイ(不図示)に表示する(ステップS1604)。
そして、受付部701により、ユーザアカウントUAjに設定されている権限Ziを解除する操作入力を受け付けたか否かを判断する(ステップS1605)。ここで、権限Ziを解除しない場合(ステップS1605:No)、権限管理装置100により、使用履歴テーブル500内の権限ZiのユーザアカウントUAjの確認日時フィールドに現在日時を設定する(ステップS1606)。
そして、権限管理装置100により、ユーザ権限テーブル400内のユーザアカウントUAjの権限Ziのカウント値Pを「P=0」で初期化する(ステップS1607)。また、ステップS1605において、権限Ziを解除する場合(ステップS1605:Yes)、解除部703により、ユーザアカウントUAjに設定されている権限Ziを解除する(ステップS1608)。
次に、選択部704により、ユーザ権限テーブル400を参照して、ユーザXjのユーザアカウントUAjに設定されている権限のうち選択されていない未選択の権限Ziがあるか否かを判断する(ステップS1609)。ここで、未選択の権限Ziがある場合(ステップS1609:Yes)、ステップS1602に戻る。
一方、未選択の権限Ziがない場合(ステップS1609:No)、出力部709により、ユーザXjのメニュー画面を表示する(ステップS1610)。このあと、受付部701により、ユーザXjの操作入力を受け付けたか否かを判断する(ステップS1611)。
ここで、受付部701により、操作入力を受け付けるのを待って(ステップS1611:No)、操作入力を受け付けた場合(ステップS1611:Yes)、権限Ziの追加または使用のいずれの操作入力を受け付けたかを判断する(ステップS1612)。
ここで、権限Ziを追加する操作入力を受け付けた場合(ステップS1612:追加)、権限管理装置100により、第1のパラメータ値収集処理を実行して(ステップS1613)、本フローチャートによる一連の処理を終了する。
一方、権限Ziを使用する操作入力を受け付けた場合(ステップS1612:使用)、権限管理装置100により、第2のパラメータ値収集処理を実行して(ステップS1614)、本フローチャートによる一連の処理を終了する。
これにより、情報システム200へのログイン時に、初回基準時間Liや通常基準時間Miを超えて継続的に使用されていない権限Ziの解除をユーザXjに促すことができる。
次に、ステップS1613の第1のパラメータ値収集処理の具体的処理手順について説明する。
図17は、ステップS1613の第1のパラメータ値収集処理の具体的処理手順の一例を示すフローチャートである。図17のフローチャートにおいて、まず、設定部702により、ユーザアカウントUAjに権限Ziが設定されたか否かを判断する(ステップS1701)。
ここで、設定部702により、権限Ziが設定されるのを待って(ステップS1701:No)、設定された場合(ステップS1701:Yes)、ユーザ権限テーブル400にユーザアカウントUAjに設定された権限Ziを登録する(ステップS1702)。
次に、設定部702により、権限情報テーブル600内の権限Ziのユーザ数Fiをインクリメントする(ステップS1703)。そして、設定部702により、使用履歴テーブル500内の権限ZiのユーザアカウントUAjの設定日時フィールドに現在日時を設定して(ステップS1704)、本フローチャートによる一連の処理を終了する。
これにより、ユーザアカウントUAjに新たに設定された権限Ziに関する各種パラメータの値を収集することができる。
次に、ステップS1614の第2のパラメータ値収集処理の具体的処理手順について説明する。
図18は、ステップS1614の第2のパラメータ値収集処理の具体的処理手順の一例を示すフローチャートである。図18のフローチャートにおいて、まず、権限管理装置100により、ユーザアカウントUAjに設定されている権限Ziが使用されたか否かを判断する(ステップS1801)。
ここで、権限管理装置100により、権限Ziが使用されるのを待つ(ステップS1801:No)。そして、権限Ziが使用された場合(ステップS1801:Yes)、権限管理装置100により、使用履歴テーブル500内の権限ZiのユーザアカウントUAjの確認日時を初期化する(ステップS1802)。
そして、権限管理装置100により、使用回数テーブル800内の権限Ziの現在日の使用回数をインクリメントする(ステップS1803)。次に、権限管理装置100により、使用履歴テーブル500を参照して、権限ZiのユーザアカウントUAjの前回使用日時が設定されているか否かを判断する(ステップS1804)。
ここで、前回使用日時がnullの場合(ステップS1804:No)、権限管理装置100により、使用履歴テーブル500内の権限ZiのユーザアカウントUAjの前回使用日時フィールドに現在日時を設定する(ステップS1805)。
次に、権限管理装置100により、使用履歴テーブル500内の権限ZiのユーザアカウントUAjの設定日時から現在日時までの経過時間Oを算出する(ステップS1806)。そして、権限管理装置100により、使用履歴テーブル500内の権限ZiのユーザアカウントUAjの初回使用間隔フィールドに経過時間Oを設定して(ステップS1807)、本フローチャートによる一連の処理を終了する。
また、ステップS1804において、前回使用日時が設定されている場合(ステップS1804:Yes)、使用履歴テーブル500内の権限ZiのユーザアカウントUAjの今回使用日時フィールドに現在日時を設定する(ステップS1808)。
次に、権限管理装置100により、使用履歴テーブル500内の権限ZiのユーザアカウントUAjの前回使用日時から今回使用日時までの経過時間Oを算出する(ステップS1809)。そして、権限管理装置100により、使用履歴テーブル500内の権限ZiのユーザアカウントUAjの使用間隔フィールドに経過時間Oを設定する(ステップS1810)。
このあと、権限管理装置100により、使用履歴テーブル500内の権限ZiのユーザアカウントUAjの今回使用日時を前回使用日時に設定して(ステップS1811)、本フローチャートによる一連の処理を終了する。
これにより、ユーザアカウントUAjを用いて使用された権限Ziに関する各種パラメータの値を収集することができる。また、ユーザアカウントUAjに設定されている権限Ziが使用された場合、権限Ziの解除を促す警告が行われたことを示す履歴(確認日時)がクリアされる。このため、通常基準時間Mi内に定期的に使用されている権限Ziが解除されることはない。
(使用履歴テーブル500の記憶内容の変遷例)
次に、ユーザX1のユーザアカウント「hattori」を例に挙げて、使用履歴テーブル500の記憶内容の変遷例について説明する。図19および図20は、使用履歴テーブル500の記憶内容の変遷例を示す説明図である。
図19の(19−1)において、2010年08月01日09時00分に、ユーザアカウント「hattori」に権限Z1,Z2,Z3が設定されている。この結果、使用履歴テーブル500内の各権限Z1〜Z3の設定日時に「2010/08/01/0900」が設定されている。
図19の(19−2)において、2010年08月01日09時10分に、ユーザX1が、ユーザアカウント「hattori」に設定されている権限Z1を使用している。この結果、使用履歴テーブル500内の権限Z1の前回使用日時に「2010/08/01/0910」が設定され、初回使用間隔に「0.2」が設定されている。
図19の(19−3)において、2010年08月01日09時15分に、ユーザX1が、ユーザアカウント「hattori」に設定されている権限Z3を使用している。この結果、使用履歴テーブル500内の権限Z3の前回使用日時に「2010/08/01/0915」が設定され、初回使用間隔に「0.3」が設定されている。
図20の(20−1)において、2010年08月05日17時48分に、権限Z2の初回基準時間L2を超えて、ユーザX1が権限Z2を使用しなかったため、権限Z2の解除を促す警告画面が表示される。この結果、使用履歴テーブル500内の権限Z2の確認日時に「2010/08/05/1748」が設定される。
このあと、権限Z2の確認日時から通常基準時間M2が経過した時点までに、権限Z2の前回使用日時に値が設定されていない場合、ユーザアカウント「hattori」に設定されている権限Z2が解除される。すなわち、ユーザアカウント「hattori」に設定されてから一度も使用されていない権限Z2が自動的に解除される。
ここでは、2010年08月07日09時00分、08月14日10時00分および08月28日11時00分に、ユーザX1が、ユーザアカウント「hattori」に設定されている権限Z2を使用したとする。
図20の(20−2)において、2010年09月22日15時36分に、権限Z2の通常基準時間M2を超えて、ユーザX1が前回使用日時から権限Z2を使用しなかったため、権限Z2の解除を促す警告画面が表示される。この結果、使用履歴テーブル500内の権限Z2の確認日時に「2010/09/22/1536」が設定される。
このあと、権限Z2の確認日時から通常基準時間M2が経過した時点までに、権限Z2が使用されていない場合、ユーザアカウント「hattori」に設定されている権限Z2が解除される。すなわち、最後に使用されてからしばらく使用されていない権限Z2が自動的に解除される。
以上説明したように、実施の形態にかかる権限管理装置100によれば、ユーザアカウントUAjに設定されている権限Ziの使用頻度に基づく重要度Iiに応じて、権限Ziの通常基準時間Miを算出することができる。通常基準時間Miは、最後に使用されてから継続して使用されていない権限Ziの解除タイミングを示唆する基準時間である。
また、権限管理装置100によれば、ユーザアカウントUAjに設定されている権限Ziの使用頻度に基づく重要度Iiに応じて、権限Ziの初回基準時間Liを算出することができる。初回基準時間Liは、ユーザアカウントUAjに設定されてから一度も使用されていない権限Ziの解除タイミングを示唆する基準時間である。
また、権限管理装置100によれば、ユーザアカウントUAjに設定されている権限のうち、通常基準時間Miを超えて継続的に使用されていない権限Ziを判別することができる。これにより、情報システム200の管理者やユーザXjなどに対して、ユーザアカウントUAjに設定されている権限Ziの解除を促す警告を行うことができる。
また、権限管理装置100によれば、ユーザアカウントUAjに設定されている権限のうち、初回基準時間Liを超えて一度も使用されていない権限Ziを判別することができる。これにより、情報システム200の管理者やユーザXjなどに対して、ユーザアカウントUAjに設定されている権限Ziの解除を促す警告を行うことができる。
また、権限管理装置100によれば、ユーザアカウントUAjに設定されている権限Ziが通常基準時間Miを超えて継続的に使用されていないと複数回判定された場合、ユーザアカウントUAjに設定されている権限Ziを解除することができる。これにより、ユーザXjにとって不必要な可能性が高い権限Ziが長期間にわたってユーザアカウントUAjに設定され続けることを防ぐことができる。
また、権限管理装置100によれば、ユーザアカウントUAjに設定されている権限Ziの解除を促す警告が行われた時点から通常基準時間Miが経過しても使用されていない権限Ziを解除することができる。これにより、ユーザアカウントUAjの権限Ziの解除を促したにもかかわらず、継続的に使用されていない権限Ziを解除することができる。
これらのことから、本権限管理方法および権限管理プログラムによれば、ユーザアカウントUAjに設定されている権限ごとに、初回基準時間Liや通常基準時間Miを超えて継続的に使用されていない権限Ziを判別することができる。これにより、ユーザアカウントUAjに設定される権限を最小化して、ユーザアカウント漏洩時の不正利用のリスクを低減させることができる。
なお、本実施の形態で説明した権限管理方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本権限管理プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本権限管理プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)複数のユーザアカウントのうち特定の権限が設定されているユーザアカウントの数と、前記特定の権限が使用された使用回数とを取得し、
取得した前記ユーザアカウントの数と前記特定の権限の使用回数とに基づいて、前記特定の権限の使用頻度を表す指標値を算出し、
算出した前記特定の権限の使用頻度を表す指標値と、前記特定の権限が使用される平均時間間隔とに基づいて、前記特定の権限の有効時間を算出し、
算出した前記特定の権限の有効時間を出力する、
処理をコンピュータが実行することを特徴とする権限管理方法。
(付記2)前記特定の権限が使用された前記ユーザアカウントごとの時間間隔を取得し、
取得した前記ユーザアカウントごとの時間間隔に基づいて、前記特定の権限が使用される第1の平均時間間隔を算出する、処理を前記コンピュータが実行し、
前記有効時間を算出する処理は、
算出した前記指標値と、算出した前記第1の平均時間間隔とに基づいて、前記特定の権限が使用されてからの前記特定の権限の第1の有効時間を算出することを特徴とする付記1に記載の権限管理方法。
(付記3)前記特定の権限が設定されているいずれかのユーザアカウントを用いて前記特定の権限が使用された前回の使用日時を取得し、
取得した前記前回の使用日時から現在日時までの経過時間が前記第1の有効時間以内か否かを判定し、
判定した判定結果を出力する、
処理を前記コンピュータが実行することを特徴とする付記1または2に記載の権限管理方法。
(付記4)前記前回の使用日時から現在日時までの経過時間が前記第1の有効時間より大きいと判定された場合、前記いずれかのユーザアカウントに設定されている前記特定の権限を解除するか否かを問い合わせる、
処理を前記コンピュータが実行することを特徴とする付記3に記載の権限管理方法。
(付記5)前記いずれかのユーザアカウントを用いて前記特定の権限が使用された前回の使用日時から現在日時までの経過時間が前記第1の有効時間より大きいと判定された回数を計数し、
計数した前記回数が所定回数以上となった場合、前記いずれかのユーザアカウントに設定されている前記特定の権限を解除する、
処理を前記コンピュータが実行することを特徴とする付記3または4に記載の権限管理方法。
(付記6)前記特定の権限を解除するか否かを問い合わせた問い合わせ日時から現在日時までの経過時間が前記第1の有効時間以内か否かを判定し、
前記問い合わせ日時から前記現在日時までの経過時間が前記第1の有効時間より大きいと判定された場合、前記いずれかのユーザアカウントに設定されている前記特定の権限を解除する、
処理を前記コンピュータが実行することを特徴とする付記4に記載の権限管理方法。
(付記7)前記特定の権限が設定されてから前記特定の権限が最初に使用されるまでの前記ユーザアカウントごとの時間間隔を取得し、
取得した前記ユーザアカウントごとの時間間隔に基づいて、前記特定の権限が設定されてから前記特定の権限が最初に使用されるまでの第2の平均時間間隔を算出する、処理を前記コンピュータが実行し、
前記有効時間を算出する処理は、
算出した前記指標値と、算出した前記第2の平均時間間隔とに基づいて、前記特定の権限が設定されてからの前記特定の権限の第2の有効時間を算出することを特徴とする付記1乃至6のいずれか一つに記載の権限管理方法。
(付記8)前記特定の権限が設定されてから前記特定の権限が一度も使用されていないいずれかのユーザアカウントに前記特定の権限が設定された設定日時を取得し、
取得した前記設定日時から現在日時までの経過時間が前記第2の有効時間以内か否かを判定し、
判定した判定結果を出力する、
処理を前記コンピュータが実行することを特徴とする付記7に記載の権限管理方法。
(付記9)前記設定日時から前記現在日時までの経過時間が前記第2の有効時間より大きいと判定された場合、前記いずれかのユーザアカウントに設定されている前記特定の権限を解除するか否かを問い合わせる、
処理を前記コンピュータが実行することを特徴とする付記8に記載の権限管理方法。
(付記10)前記特定の権限が設定された設定日時から現在日時までの経過時間が前記第2の有効時間より大きいと判定された回数を計数し、
計数した前記回数が所定回数以上となった場合、前記いずれかのユーザアカウントに設定されている前記特定の権限を解除する、
処理を前記コンピュータが実行することを特徴とする付記8または9に記載の権限管理方法。
(付記11)複数のユーザアカウントのうち特定の権限が設定されているユーザアカウントの数と、前記特定の権限が使用された使用回数とを取得し、
取得した前記ユーザアカウントの数と前記特定の権限の使用回数とに基づいて、前記特定の権限の使用頻度を表す指標値を算出し、
算出した前記特定の権限の使用頻度を表す指標値と、前記特定の権限が使用される平均時間間隔とに基づいて、前記特定の権限の有効時間を算出し、
算出した前記特定の権限の有効時間を出力する、
処理をコンピュータに実行させることを特徴とする権限管理プログラム。
(付記12)複数のユーザアカウントのうち特定の権限が設定されているユーザアカウントの数と、前記特定の権限が使用された使用回数とを取得する取得部と、
前記取得部によって取得された前記ユーザアカウントの数と前記特定の権限の使用回数とに基づいて、前記特定の権限の使用頻度を表す指標値を算出する指標値算出部と、
前記指標値算出部によって算出された前記特定の権限の使用頻度を表す指標値と、前記特定の権限が使用される平均時間間隔とに基づいて、前記特定の権限の有効時間を算出する時間算出部と、
前記時間算出部によって算出された前記特定の権限の有効時間を出力する出力部と、
を備えることを特徴とする権限管理装置。