IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社東芝の特許一覧

特開2024-134346アクセス権管理装置、方法及びプログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024134346
(43)【公開日】2024-10-03
(54)【発明の名称】アクセス権管理装置、方法及びプログラム
(51)【国際特許分類】
   G06Q 10/0631 20230101AFI20240926BHJP
【FI】
G06Q10/0631
【審査請求】未請求
【請求項の数】13
【出願形態】OL
(21)【出願番号】P 2023044604
(22)【出願日】2023-03-20
(71)【出願人】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(74)【代理人】
【識別番号】110001737
【氏名又は名称】弁理士法人スズエ国際特許事務所
(72)【発明者】
【氏名】鐘ヶ江 由佳
(72)【発明者】
【氏名】松川 明子
(72)【発明者】
【氏名】山中 美穂
【テーマコード(参考)】
5L010
5L049
【Fターム(参考)】
5L010AA09
5L049AA09
(57)【要約】
【課題】システムへの適切なアクセス権を把握するために有用なアクセス権管理装置、方法及びプログラムを提供することにある。
【解決手段】実施形態によれば、第1ロールが割り当てられていることによってユーザに付与されているシステムに対するアクセス権を管理するために用いられるアクセス権管理装置が提供される。アクセス権管理装置は、ロール決定手段と、表示処理手段とを具備する。ロール決定手段は、ユーザによるシステムへのアクセスの履歴を示すアクセスログ及び予め用意されている第1定義情報に基づいて、当該ユーザに割り当てられるべき第2ロールを決定する。表示処理手段は、決定された第2ロールを表示する。
【選択図】図4
【特許請求の範囲】
【請求項1】
第1ロールが割り当てられていることによってユーザに付与されているシステムに対するアクセス権を管理するために用いられるアクセス権管理装置において、
前記ユーザによるシステムへのアクセスの履歴を示すアクセスログ及び予め用意されている第1定義情報に基づいて、前記ユーザに割り当てられるべき第2ロールを決定するロール決定手段と、
前記決定された第2ロールを表示する表示処理手段と
を具備するアクセス権管理装置。
【請求項2】
前記ロール決定手段は、
前記アクセスログを解析することによって、前記ユーザによる前記システムへのアクセスの種別を表すアクセス種別情報を取得する解析手段と、
前記取得されたアクセス種別情報に応じて、前記第1定義情報において予め用意されている複数の第3ロールの各々のスコアを算出する算出手段と、
前記算出されたスコアに基づいて、前記複数の第3ロールの中から前記第2ロールを決定する決定手段と
を含む
請求項1記載のアクセス権管理装置。
【請求項3】
前記第1定義情報は、アクセス種別情報に応じて前記複数の第3ロールの各々に付与される点数を含むスコア算出ルール情報を含み、
前記算出手段は、前記スコア算出ルール情報に基づいて、前記取得されたアクセス種別情報に応じて前記複数の第3ロールに付与される点数を当該アクセス種別情報が取得されるアクセスログ毎に加算することによって、前記複数の第3ロールの各々のスコアを算出し、
前記決定手段は、前記算出されたスコアが最も高い第3ロールを前記第2ロールとして決定する
請求項2記載のアクセス権管理装置。
【請求項4】
前記第1定義情報を変更する第1変更手段を更に具備する請求項3記載のアクセス権管理装置。
【請求項5】
前記ロール決定手段が前記第2ロールを決定する処理は、前記システムの管理者の指示または予め定められた日時に基づいて開始される請求項1記載のアクセス権管理装置。
【請求項6】
前記アクセスログ及び予め用意されている第2定義情報に基づいて、前記第2ロールが決定されたユーザに付与されているアクセス権が不要であるかを判定する判定手段を更に具備し、
前記表示処理手段は、前記判定手段によって判定された結果を表示する
請求項1記載のアクセス権管理装置。
【請求項7】
前記第2定義情報を変更する第2変更手段を更に具備する請求項6記載のアクセス権管理装置。
【請求項8】
前記判定手段が前記ユーザに付与されているアクセス権が不要であるかを判定する処理は、前記システムの管理者の指示または予め定められた日時に基づいて開始される請求項6記載のアクセス権管理装置。
【請求項9】
前記システムは、組織において実施されるプロジェクト毎に、当該プロジェクトにおいて発生するタスクを管理するプロジェクト管理システムを含み、
前記判定手段は、前記ユーザが参加しているプロジェクト毎に、当該ユーザに付与されているアクセス権が不要であるかを判定する
請求項6記載のアクセス権管理装置。
【請求項10】
前記表示処理手段は、前記ユーザが参加しているプロジェクトについて前記判定手段によって判定された結果を、当該プロジェクトの管理者が使用する端末装置に表示する請求項9記載のアクセス権管理装置。
【請求項11】
前記表示処理手段は、前記ユーザが参加しているプロジェクトの数及び前記ユーザが参加している全てのプロジェクトについて前記判定手段によって判定された結果を、前記プロジェクト管理システムの管理者が使用する端末装置に表示する請求項9記載のアクセス権管理装置。
【請求項12】
第1ロールが割り当てられていることによってユーザに付与されているシステムに対するアクセス権を管理するために用いられるアクセス権管理装置が実行する方法であって、
前記ユーザによるシステムへのアクセスの履歴を示すアクセスログ及び予め用意されている第1定義情報に基づいて、前記ユーザに割り当てられるべき第2ロールを決定するステップと、
前記決定された第2ロールを表示するステップと
を具備する方法。
【請求項13】
第1ロールが割り当てられていることによってユーザに付与されているシステムに対するアクセス権を管理するために用いられるアクセス権管理装置のコンピュータによって実行されるプログラムであって、
前記コンピュータに、
前記ユーザによるシステムへのアクセスの履歴を示すアクセスログ及び予め用意されている第1定義情報に基づいて、前記ユーザに割り当てられるべき第2ロールを決定するステップと、
前記決定された第2ロールを表示するステップと
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、アクセス権管理装置、方法及びプログラムに関する。
【背景技術】
【0002】
一般に、例えばソフトウェア製品を開発するためのプロジェクト(において発生するタスク)等は、プロジェクト管理システムを用いて管理することができる。
【0003】
なお、上記したプロジェクト管理システムを利用するユーザには当該プロジェクト管理システムに対するアクセス権が付与されており、当該ユーザは、当該アクセス権に従ってプロジェクト管理システムにアクセスする。
【0004】
しかしながら、ユーザに対して付与されているアクセス権が適切でない(つまり、本来付与すべきでないアクセス権が付与されている)場合がある。このような適切でないアクセス権はプロジェクト管理システムへの不正アクセスの要因となり、当該プロジェクト管理システムにおけるセキュリティを担保することができない可能性がある。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2019-032868号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
そこで、本発明が解決しようとする課題は、システムへの適切なアクセス権を把握するために有用なアクセス権管理装置、方法及びプログラムを提供することにある。
【課題を解決するための手段】
【0007】
実施形態によれば、第1ロールが割り当てられていることによってユーザに付与されているシステムに対するアクセス権を管理するために用いられるアクセス権管理装置が提供される。前記アクセス権管理装置は、ロール決定手段と、表示処理手段とを具備する。前記ロール決定手段は、前記ユーザによるシステムへのアクセスの履歴を示すアクセスログ及び予め用意されている第1定義情報に基づいて、前記ユーザに割り当てられるべき第2ロールを決定する。前記表示処理手段は、前記決定された第2ロールを表示する。
【図面の簡単な説明】
【0008】
図1】本実施形態におけるプロジェクト管理システムの概要について説明するための図。
図2】本実施形態におけるプロジェクト管理システムの概要について説明するための図。
図3】本実施形態に係るアクセス権管理装置のハードウェア構成の一例を示す図。
図4】本実施形態に係るアクセス権管理装置の機能構成の一例を示すブロック図。
図5】疑似ロール決定部の構成の一例を示す図。
図6】不要ユーザ判定部の構成の一例を示す図。
図7A】疑似ロール決定部の処理手順の一例を示すフローチャート。
図7B】不要ユーザ判定部の処理手順の一例を示すフローチャート。
図8】疑似ロール候補情報のデータ構造の一例を示す図。
図9】スコア算出ルール情報のデータ構造の一例を示す図。
図10】疑似ロール決定処理の処理手順の一例を示すフローチャート。
図11】疑似ロール決定アルゴリズムの一例を説明するための図。
図12】疑似ロール決定処理について具体的に説明するための図。
図13】疑似ロール決定処理について具体的に説明するための図。
図14】疑似ロール決定処理について具体的に説明するための図。
図15】疑似ロール決定処理について具体的に説明するための図。
図16】疑似ロール決定処理について具体的に説明するための図。
図17】第1~第3解析期間情報によって示される解析期間の関係性について説明するための図。
図18】不要ユーザ判定処理の処理手順の一例を示すフローチャート。
図19】第1判定処理の処理手順の一例を示すフローチャート。
図20】第1判定処理の概要を示す図。
図21】疑似ロール「管理者(外部)」用の第2判定処理の処理手順の一例を示すフローチャート。
図22】疑似ロール「管理者(外部)」用の第2判定処理の概要を示す図。
図23】疑似ロール「開発者(外部)」用の第2判定処理の処理手順の一例を示すフローチャート。
図24】疑似ロール「開発者(外部)」用の第2判定処理の概要を示す図。
図25】プロジェクト管理者が使用するユーザ端末における不要ユーザ情報の表示態様の一例を示す図。
図26】システム管理者が使用するユーザ端末における不要ユーザ情報の表示態様の一例を示す図。
【発明を実施するための形態】
【0009】
以下、図面を参照して、実施形態について説明する。
本実施形態に係るアクセス権管理装置は、例えばシステムを利用するユーザに付与されているアクセス権を管理する(当該アクセス権が適切であるか否かを把握する)ために用いられる。
【0010】
まず、本実施形態においてユーザが利用するシステムの一例について説明する。本実施形態においてユーザが利用するシステムとしては、例えばソフトウェア製品を開発するためのプロジェクト(において発生するタスクやソースコード(プログラム))を管理するプロジェクト(タスク)管理システムを想定している。なお、プロジェクト管理システムにおいては、複数のプロジェクトが管理されても構わない。
【0011】
このようなプロジェクト管理システムを利用するユーザには、例えば当該プロジェクト管理システムにおいて管理される各プロジェクトに参加しているソフトウェア製品の開発者、当該プロジェクトを管理する権限を有する管理者(以下、プロジェクト管理者と表記)及びプロジェクト管理システム1を管理する権限を有する管理者(以下、システム管理者と表記)等が含まれる。なお、プロジェクト管理システムは、例えばRedmineを含む。
【0012】
ここで、図1を参照して、上記したプロジェクト管理システムの概要について説明する。図1に示すように、プロジェクト管理システム1は、ユーザ認証情報格納部1a、ユーザ認証処理部1b、ユーザ認可情報格納部1c、ユーザ認可処理部1d、アクセス処理部1e及び技術情報格納部1fを含む。
【0013】
ユーザ認証情報格納部1aには、プロジェクト管理システム1を利用することができるユーザを認証するためのユーザ認証情報が格納されている。具体的には、ユーザ認証情報には、例えばプロジェクト管理システム1に登録されているユーザを識別するための識別情報(以下、ユーザIDと表記)及び当該ユーザに対して設定されているパスワード等が含まれる。更に、ユーザ認証情報には、例えばユーザがプロジェクト管理システム1に登録された日時(当該ユーザのアカウントが作成された日時)を示す登録日時情報や上記したシステム管理者を示すシステム管理者情報等が含まれる。
【0014】
ユーザ認証処理部1bは、ユーザ認証情報格納部1aに格納されているユーザ認証情報に基づいて、プロジェクト管理システム1を利用しようとするユーザを認証する処理を実行する。具体的には、ユーザ認証処理部1bは、ユーザによって入力されたユーザID及びパスワードとユーザ認証情報(つまり、ユーザID及びパスワード)とが一致する場合に、当該ユーザのプロジェクト管理システム1へのログインを許可する処理を実行する。
【0015】
ユーザ認可情報格納部1cには、プロジェクト管理システム1へのログインが許可されたユーザを認可するためのユーザ認可情報が格納されている。具体的には、ユーザ認可情報には、プロジェクト管理システム1を利用するユーザが参加しているプロジェクトを示すプロジェクト情報及び当該当該プロジェクトにおいてユーザに割り当てられているロール(役割)を示すロール情報等が含まれる。なお、上記したプロジェクト管理システム1においてユーザに割り当てられるロールには、例えば「開発者」及び「管理者」等が含まれる。
【0016】
ユーザ認可処理部1dは、ユーザ認可情報格納部1cに格納されているユーザ認可情報に基づいて、プロジェクト管理システム1を利用しようとするユーザを認可する処理を実行する。具体的には、ユーザ認可処理部1dは、ユーザ認可情報(プロジェクト情報及びロール情報)に基づいて、上記したようにユーザ認証処理部1bによってログインが許可されたユーザが参加しているプロジェクトを特定し、当該プロジェクトを管理するための各種機能を利用するためのアクセス権を当該ユーザに付与する処理を実行する。この場合、ユーザ認可処理部1dは、ユーザに割り当てられているロールに応じたアクセス権を当該ユーザに付与する。
【0017】
アクセス処理部1eは、ユーザ認可処理部1dによってユーザに付与されたアクセス権に基づいて、当該ユーザのプロジェクト管理システム1に対するアクセスを制御する処理を実行する。
【0018】
本実施形態において、例えばプロジェクト管理システム1を利用するユーザは、当該プロジェクト管理システム1にアクセスすることによって、当該ユーザが参加するプロジェクトに関する複数のウェブページから構成されるウェブサイト(以下、プロジェクトのウェブサイトと表記)を表示することができる。ユーザは、このようなウェブサイトを構成する複数のウェブページの各々において、例えばプロジェクトに参加するユーザ(メンバ)の追加、プロジェクトにおいて発生するタスクに対するコメントの書き込み及び読み込み、当該タスクを担当するユーザ(タスクの担当者)の変更及びリポジトリにおいて保管されるファイルの書き込み及び読み込み等を指示する操作を行うことができる。
【0019】
なお、ここで説明したコメントやファイル等は技術情報に相当し、当該技術情報は、技術情報格納部1fにおいて管理される。
【0020】
また、上記したプロジェクト管理システム1に対してアクセスすることが可能な範囲(つまり、プロジェクトのウェブサイトにおいてユーザが行うことができる操作)は、当該ユーザに付与されているアクセス権(つまり、当該ユーザに割り当てられているロール)によって異なる。
【0021】
更に、プロジェクト管理システム1に対してアクセスする(つまり、プロジェクトのウェブサイトを表示する)際には例えばブラウザを使用することができるが、例えばコメントやファイルの書き込み及び読み込みにはAPI(Application Programming Interface)及びCUI(Character-based User Interface)等のコマンドが使用されてもよい。更に、例えばTortoiseSVN/Gitのような専用ツールを使用してプロジェクト管理システム1に対してアクセスすることも可能である。
【0022】
なお、図1には示されていないが、例えばユーザがプロジェクト管理システム1にアクセスした場合には、当該アクセスの履歴を示すアクセスログが蓄積される。このアクセスログには、例えばプロジェクト管理システム1にアクセスしたユーザを識別するためのユーザID、当該プロジェクト管理システム1(プロジェクトのウェブサイト)にアクセスした日時(アクセス日時)、当該ユーザが表示したウェブページ(アクセス先)、当該ウェブページにおいてユーザが行った操作内容、当該プロジェクト管理システム1にアクセスする際に使用したツールの情報等が含まれる。
【0023】
ここで、上記したようにプロジェクト管理システム1においては例えばユーザに割り当てられているロールに応じたアクセス権が当該ユーザに付与され、当該ユーザは、当該付与されたアクセス権に基づいて当該プロジェクト管理システム1(当該ユーザが参加しているプロジェクトのウェブサイト)にアクセスすることができる。
【0024】
しかしながら、上記したようにロールに応じてユーザに付与されるアクセス権が適切でない場合には、当該アクセス権に基づいてプロジェクト管理システム1に不正にアクセスされる可能性があり、当該プロジェクト管理システム1のセキュリティを担保することができない。このため、プロジェクト管理システム1においては、ユーザに付与されているアクセス権(当該ユーザに割り当てられているロール)を変更することが可能である。
【0025】
具体的には、図2に示すようにプロジェクト管理システム1においてプロジェクトXを管理している場合において、当該プロジェクトXに参加しているユーザ(以下、ユーザAと表記)に割り当てられているロールが「管理者」である(つまり、管理者に応じたアクセス権がユーザA付与されている)が、当該ユーザAには開発者に応じたアクセス権を付与することが妥当であるとプロジェクトXのプロジェクト管理者が判断した場合には、当該プロジェクト管理者は、プロジェクト管理者画面上でユーザ認可情報格納部1cに格納されているユーザ認可情報を変更する操作を行うことができる。この場合、ユーザ認可情報に含まれるロール情報によって示されるユーザAに割り当てられているロールを「管理者」から「開発者」に変更することで、ユーザAのアクセス権を変更することができる。
【0026】
また、ユーザAが当該プロジェクトXから離脱した場合には、当該ユーザAが参加しているプロジェクトを示すプロジェクト情報を修正することにより、当該プロジェクトXのウェブサイトに対するユーザAのアクセス権を削除することも可能である。
【0027】
ここではプロジェクトX(に参加しているユーザA)について説明したが、プロジェクトYについても同様である。
【0028】
このようにプロジェクト管理システム1においては、当該プロジェクト管理システム1において管理されているプロジェクトに参加しているユーザのアクセス権を変更及び削除することが可能である。
【0029】
更に、例えばシステム管理者は、システム管理者画面上でユーザ認証情報格納部1aに格納されているユーザ認証情報を削除することによって、特定のユーザがプロジェクト管理システム1にログインすることができないようにする(つまり、当該ユーザのアクセス権を全て削除する)ようなことも可能である。
【0030】
しかしながら、例えば異動等によってプロジェクト管理者が当該プロジェクトの状況を十分に把握していない場合には、上記したようなアクセス権の変更及び削除を適切に行うことができない可能性がある。更に、プロジェクト管理者が当該プロジェクトの状況を把握していたとしても、アクセス権の変更及び削除に漏れがある場合もある。
【0031】
そこで、本実施形態においては、プロジェクト管理システム1を利用するユーザに付与されているアクセス権を管理(監視)し、当該アクセス権が適切でない可能性があるユーザを自動的に抽出する機能を有するアクセス権管理装置について説明する。
【0032】
図3は、本実施形態に係るアクセス権管理装置10のハードウェア構成の一例を示す。図3に示すように、アクセス権管理装置10は、CPU11、不揮発性メモリ12、メインメモリ13及び通信デバイス14を備える。
【0033】
CPU11は、アクセス権管理装置10内の各コンポーネントの動作を制御するプロセッサである。CPU11は、ストレージデバイスである不揮発性メモリ12からメインメモリ13にロードされる様々なプログラムを実行する。このプログラムには、オペレーティングシステム(OS)及び様々なアプリケーションプログラムが含まれる。
【0034】
通信デバイス14は、アクセス権管理装置10の外部装置との通信を実行するように構成されたデバイスである。
【0035】
図3においては、CPU11、不揮発性メモリ12、メインメモリ13及び通信デバイス14のみが示されているが、アクセス権管理装置10は、例えばHDD(Hard Disk Drive)及びSSD(Solid State Drive)のような他の記憶装置等を更に備えていてもよいし、他のデバイスを更に備えていてもよい。
【0036】
なお、本実施形態においてはアクセス権管理装置10が1つの装置であるものとして説明するが、当該アクセス権管理装置10は、例えば複数のサーバ装置(ウェブサーバ、アプリケーションサーバ及びデータベースサーバ等)を組み合わせて実現されてもよい。
【0037】
図4は、アクセス権管理装置10の主として機能構成を示すブロック図である。なお、本実施形態において、アクセス権管理装置10は、上記したようにプロジェクト管理システム1を利用するユーザに付与されているアクセス権を管理する機能だけではなく、当該プロジェクト管理システム1(の機能)を含むように構成されているものとする。
【0038】
すなわち、図4に示すように、アクセス権管理装置10は、上記したプロジェクト管理システム1に含まれるユーザ認証情報格納部1a、ユーザ認証処理部1b、ユーザ認可情報格納部1c、ユーザ認可処理部1d、アクセス処理部1e及び技術情報格納部1fを含む。
【0039】
なお、ユーザ認証情報格納部1a、ユーザ認可情報格納部1c及び技術情報格納部1fは、例えば図3に示す不揮発性メモリまたは他の記憶装置によって実現される場合を想定しているが、例えばアクセス権管理装置10とは別のデータベースサーバに配置されていてもよい。また、ユーザ認証処理部1b、ユーザ認可処理部1d及びアクセス処理部1eは、例えば図3に示すCPU11(アクセス権管理装置10のコンピュータ)がプロジェクト管理プログラムを実行すること(すなわち、ソフトウェア)によって実現されるものとする。
【0040】
ユーザ認証情報格納部1a、ユーザ認証処理部1b、ユーザ認可情報格納部1c、ユーザ認可処理部1d、アクセス処理部1e及び技術情報格納部1fについては上記した図1において説明した通りであるため、ここではその詳しい説明を省略する。
【0041】
アクセス権管理装置10は、更に、疑似ロール決定部101、不要ユーザ判定部102、定義変更処理部103及び表示処理部104を含む。
【0042】
ここで、アクセス権管理装置10はプロジェクト管理システム1を利用するユーザによって使用されるユーザ端末20(端末装置)と通信可能に接続されており、当該アクセス権管理装置10内には、当該ユーザによるプロジェクト管理システム1に対するアクセスの履歴を示すアクセスログ105が蓄積されている。
【0043】
疑似ロール決定部101は、例えば図3に示すCPU11が疑似ロール決定プログラムを実行することによって実現される機能部である。疑似ロール決定部101は、上記したようにアクセス権管理装置10内に蓄積されているアクセスログ105に基づいて、プロジェクト管理システム1を利用するユーザの疑似ロールを決定する。このユーザの疑似ロールを決定する処理は、疑似ロール決定部101内に保持されている疑似ロール決定部101の処理が定義された情報(以下、疑似ロール決定定義情報と表記)及びユーザ認可情報格納部1cに格納されているユーザ認可情報等を用いて実行される。なお、本実施形態において、ユーザの疑似ロールとは、当該ユーザに割り当てられるべきである(つまり、当該ユーザに適切である)と推定されるロールをいう。プロジェクト管理システム1においてはユーザにロールが割り当てられているが、このように疑似ロール決定部101によって決定されたユーザの疑似ロールが、プロジェクト管理システム1において当該ユーザに割り当てられているロールと異なる場合には、当該ロールに応じてユーザに付与されているアクセス権が適切でない可能性がある。疑似ロール決定部101による処理結果は、例えばユーザ認可情報格納部1cに格納される。
【0044】
不要ユーザ判定部102は、例えば図3に示すCPU11が不要ユーザ判定プログラムを実行することによって実現される機能部である。不要ユーザ判定部102は、上記したようにアクセス権管理装置10内に蓄積されているアクセスログ105に基づいて、疑似ロール決定部101によって疑似ロールが決定されたユーザが不要ユーザであるか否かを判定する。このユーザが不要ユーザであるか否かを判定する処理は、不要ユーザ判定部102内に保持されている不要ユーザ判定部102の処理が定義された情報(以下、不要ユーザ判定定義情報と表記)、ユーザ認証情報格納部1aに格納されているユーザ認証情報及びユーザ認可情報格納部1cに格納されているユーザ認可情報等を用いて実行される。なお、本実施形態において、不要ユーザとは、プロジェクト管理システム1を利用するユーザ(つまり、アクセス権が付与されているユーザ)であるが、当該アクセス権を付与(維持)しておく必要がないユーザをいう。つまり、ユーザが不要ユーザであるということは、当該ユーザに付与されているアクセス権が不要であることを意味する。不要ユーザ判定部102による処理結果は、例えばユーザ認可情報格納部1cに格納される。
【0045】
定義変更処理部103は、例えばプロジェクト管理システム1の管理者等の指示に応じて、上記した疑似ロール決定定義情報(の定義内容)及び不要ユーザ判定定義情報(の定義内容)を変更する。
【0046】
表示処理部104は、疑似ロール決定部101による処理結果及び不要ユーザ判定部102による処理結果をユーザ認可処理部1dを介してユーザ認可情報格納部1cから取得し、当該処理結果を表示する処理を実行する。
【0047】
図5は、図4に示す疑似ロール決定部101の構成の一例を示す。図5に示すように、疑似ロール決定部101は、解析部101a、算出部101b及び決定部101cを含む。
【0048】
ここで、上記したように疑似ロール決定部101内には、疑似ロール決定定義情報101dが保持されている。なお、疑似ロール決定定義情報101dの詳細については後述する。
【0049】
アクセス権管理装置10内にはプロジェクト管理システム1を利用する複数のユーザによる当該プロジェクト管理システム1へのアクセスの履歴を示す多数のアクセスログが蓄積されているが、解析部101aは、例えば疑似ロール決定定義情報101dに基づいてアクセス権管理装置10内に蓄積されている複数のアクセスログを取得し、当該取得された複数のアクセスログの各々を解析する。これにより、解析部101aは、アクセスログ毎に、アクセスの種別を表すアクセス種別情報を取得する。
【0050】
算出部101bは、解析部101aによってアクセスログ毎に取得されたアクセス種別情報に応じて、疑似ロール決定定義情報101dにおいて予め用意されている複数のロール(つまり、ユーザに割り当てられる可能性のある複数のロール)の各々のスコアを算出する。なお、スコアは、プロジェクト管理システム1を利用するユーザ毎に算出される。
【0051】
決定部101cは、疑似ロール決定定義情報101d及び算出部101bによってユーザ毎に算出されたスコアに基づいて、上記した複数のロールの中から当該ユーザの疑似ロールを決定する。
【0052】
図6は、図4に示す不要ユーザ判定部102の構成の一例を示す。図6に示すように、不要ユーザ判定部102は、解析部102a及び判定部102bを含む。
【0053】
ここで、上記したように不要ユーザ判定部102内には、不要ユーザ判定定義情報102cが保持されている。なお、不要ユーザ判定定義情報102cの詳細については後述する。
【0054】
アクセス権管理装置10内には上記したように多数のアクセスログが蓄積されているが、解析部102aは、例えば不要ユーザ判定定義情報102cに基づいてアクセス権管理装置10内に蓄積されている複数のアクセスログを取得し、当該取得された複数のアクセスログの各々を解析する。
【0055】
判定部102bは、不要ユーザ判定定義情報102c及び解析部102aによる解析結果に基づいて、プロジェクト管理システム1を利用する複数のユーザ(当該プロジェクト管理システム1へのアクセス権が付与されている複数のユーザ)の各々が不要ユーザであるか否かを判定する。なお、判定部102bは、例えばプロジェクト管理システム1を利用する複数のユーザの各々の疑似ロールに応じた判定処理を実行するものとする。
【0056】
次に、本実施形態に係るアクセス権管理装置10の処理手順の一例について説明する。なお、本実施形態に係るアクセス権管理装置10は上記したようにプロジェクト管理システム1を含むが、ここでは当該プロジェクト管理システム1以外の処理について説明する。以下、アクセス権管理装置10の処理として、疑似ロール決定部101の処理及び不要ユーザ判定部102の処理について説明する。
【0057】
まず、図7Aのフローチャートを参照して、疑似ロール決定部101の処理手順の一例について説明する。
【0058】
なお、図7Aに示す処理は、予め用意されている処理開始判定プログラム等に基づいて、例えば当該処理開始判定プログラムにおいて予め設定されている第1日時に到達した場合に開始される。なお、図7Aに示す処理は、例えばシステム管理者によって指示された場合に開始されてもよい。すなわち、図7Aに示す処理は、定期的に開始されてもよいし、任意のタイミングで開始されてもよい。
【0059】
図7Aに示す処理が開始されると、上記した疑似ロール決定プログラムが実行され、疑似ロール決定部101による疑似ロール決定処理が開始される(ステップS1)。なお、疑似ロール決定処理は、上記したようにプロジェクト管理システム1を利用する複数のユーザの各々の疑似ロールを決定する処理である。この疑似ロール決定処理の詳細については後述する。
【0060】
ステップS1の処理が実行されると、疑似ロール決定部101は、疑似ロール決定処理によって決定された複数のユーザの各々の疑似ロールを示す情報(以下、疑似ロール情報と表記)をユーザ認可情報格納部1cに格納する(ステップS2)。
【0061】
ステップS2の処理が実行されると、表示処理部104は、当該ステップS2においてユーザ認可情報格納部1cに格納された疑似ロール情報(によって示される複数のユーザの各々の疑似ロール)を表示する表示処理を実行する(ステップS3)。なお、疑似ロール情報は、例えばユーザ端末20に表示される。
【0062】
次に、図7Bのフローチャートを参照して、不要ユーザ判定部102の処理手順の一例について説明する。
【0063】
なお、図7Bに示す処理は、上記した処理開始判定プログラム等に基づいて、例えば当該処理開始判定プログラムにおいて予め設定されている第2日時に到達した場合に開始される。また、図7Bに示す処理は、例えばシステム管理者によって指示された場合に開始されてもよい。すなわち、図7Bに示す処理は、定期的に開始されてもよいし、任意のタイミングで開始されてもよい。
【0064】
図7Bに示す処理が開始されると、上記した不要ユーザ判定プログラムが実行され、不要ユーザ判定部102による不要ユーザ判定処理が開始される(ステップS4)。なお、不要ユーザ判定処理は、上記したようにプロジェクト管理システム1を利用する複数のユーザの各々が不要ユーザであるか否かを判定する処理である。この不要ユーザ判定処理の詳細については後述する。
【0065】
ステップS4の処理が実行されると、不要ユーザ判定部102は、不要ユーザ判定処理において不要ユーザであると判定されたユーザを示す情報(以下、不要ユーザ情報と表記)をユーザ認可情報格納部1cに格納する(ステップS5)。
【0066】
ステップS5の処理が実行されると、表示処理部104は、当該ステップS6においてユーザ認可情報格納部1cに格納された不要ユーザ情報(によって示されるユーザ)を表示する表示処理を実行する(ステップS6)。なお、不要ユーザ情報は、例えばユーザ端末20に表示される。
【0067】
ここではアクセス権管理装置10の処理として図7A及び図7Bに示す処理を説明したが、当該図7A及び図7Bに示す処理は、それぞれ独立して実行されてもよいし、連続して実行されてもよい。また、図7A及び図7Bに示す一方の処理のみが実行されてもよいし、当該図7A及び図7Bに示す処理の一部が省略されてもよい。
【0068】
更に、ここでは図7A及び図7Bに示すような一連の処理の中で表示処理が実行されるものとして説明したが、当該表示処理は、任意のタイミングで実行されてもよい。
【0069】
以下、本実施形態に係るアクセス権管理装置10によって実行される処理(疑似ロール決定処理及び不要ユーザ判定処理)について詳細に説明する。
【0070】
以下の説明において、プロジェクト管理システム1を利用する複数のユーザに割り当てられるロールには、当該プロジェクト管理システム1において管理されるプロジェクトの管理者及び当該プロジェクトにおいてソフトウェア製品を開発する開発者が含まれるものとする。
【0071】
また、例えば企業のような組織において実施されるプロジェクトには、当該企業(以下、プロジェクト実施企業と表記)に所属しているユーザ以外に、当該プロジェクト実施企業から一部の業務が委託された外部企業に所属しているユーザが参加している場合がある。このような事情を鑑みて、上記したロール「管理者」は、更に、プロジェクト実施企業に所属するユーザに割り当てられる「管理者(内部)」及び外部企業に所属するユーザに割り当てられる「管理者(外部)」に分けられる。同様に、上記したロール「開発者」は、更に、「開発者(内部)」及び「開発者(外部)」に分けられる。なお、プロジェクト管理システム1を利用する複数のユーザの各々がプロジェクト実施企業に所属するか外部企業に所属するか(つまり、当該ユーザの所属企業)を示す情報(以下、所属情報と表記)は、例えばユーザ認証情報またはユーザ認可情報としてプロジェクト管理システム1内において管理されているものとする。
【0072】
まず、疑似ロール決定処理について説明する前に、当該疑似ロール決定処理において用いられる疑似ロール決定定義情報101dについて説明する。
【0073】
疑似ロール決定定義情報101dは、解析期間情報、疑似ロール候補情報、スコア算出ルール情報及び疑似ロール決定アルゴリズム情報を含む。
【0074】
解析期間情報は、解析対象となるアクセスログを指定する情報に相当し、例えば「X日」のような解析期間を示す。
【0075】
疑似ロール候補情報は、疑似ロール決定処理によって疑似ロールとして決定される可能性のあるロール(つまり、疑似ロール候補)を示す。
【0076】
図8は、疑似ロール候補情報のデータ構造の一例を示す。図8に示すように、疑似ロール候補情報は、疑似ロール候補及び当該疑似ロール候補に対して設定されている優先度を対応づけて含む。図8に示す例では、疑似ロール候補情報に含まれる疑似ロール候補は、上記した「管理者(内部)」、「管理者(外部)」、「開発者(内部)」及び「開発者(外部)」を含む。また、図8に示す例では、疑似ロール候補「管理者(内部)」に対して優先度「1」が設定されており、疑似ロール候補「管理者(外部)」に対して優先度「2」が設定されており、「開発者(内部)」に対して優先度「3」が設定されており、「開発者(外部)」に対して優先度「4」が設定されている。なお、図8においては、優先度「1」が最も高い優先度を表しており、優先度「4」が最も低い優先度を表している。
【0077】
スコア算出ルール情報は、アクセスログに基づいて疑似ロール候補のスコアを算出する(アクセスログを疑似ロール候補のスコアに変換する)ためのルールを示す情報である。換言すれば、スコア算出ルール情報は、アクセスログに基づくアクセスがいずれのロール(疑似ロール候補)によるアクセスであるかが定義された情報であるといえる。
【0078】
図9は、スコア算出ルール情報のデータ構造の一例を示す。図9に示すように、スコア算出ルール情報は、アクセス種別情報に対応づけて疑似ロール候補の各々のスコアに加算される点数を含む。
【0079】
ここで、アクセス種別情報には、所属、アクセス先、操作内容(アクセス内容)及びアクセスに使用したツールが含まれる。
【0080】
所属は、プロジェクト管理システム1にアクセスしたユーザの所属企業を示し、上記したプロジェクト実施企業を示す「内部」及び外部企業を示す「外部」が含まれる。
【0081】
アクセス先は、プロジェクト管理システム1にアクセスしたユーザが参加しているプロジェクトのウェブサイトを構成する複数のウェブページのうち、当該ユーザが操作を行ったウェブページ(画面)を示す。アクセス先には、例えばコメントを書き込むまたは読み込むためのウェブページを示す「コメント」、プロジェクトにメンバを追加するためのウェブページを示す「メンバ追加」、例えばタスクの担当者を変更するためのウェブページを示す「担当者変更」及びファイルを書き込むまたは読み込むためのウェブページを示す「リポジトリ」等が含まれる。
【0082】
操作内容は、プロジェクト管理システム1にアクセスしたユーザがアクセス先(ウェブページ)において行った操作を示し、例えば「書き込み」及び「読み込み」等を含む。なお、操作内容に含まれる「書き込み」には例えばコメントやファイルの書き込みが含まれるが、本実施形態においては、上記したメンバの追加や担当者の変更も例えばユーザ認可情報の書き換えという観点から「書き込み」に該当するものとする。
【0083】
アクセスに使用したツールは、プロジェクト管理システム1にユーザがアクセスする際に使用したツールを示し、例えば「ブラウザ」、「コマンド(API、CUI等)」及び「専用ツール(TortoiseSVN/Git等)」を含む。なお、開発者はソフトウェア開発におけるソースコードの修正及び編集を行う必要があるため、主に専用ツールを使用する場合が多いと考えられる。一方、管理者は、プロジェクトにおいて発生したタスクの進捗状況等を確認するために、ブラウザを使用する場合が多いと考えられる。このような観点によれば、アクセスに使用したツールも疑似ロールを決定するための指標として有用である。
【0084】
図9に示す例では、例えば所属が「内部」、アクセス先が「コメント」、操作内容が「書き込み」、アクセス使用したツールが「API」であるアクセス種別情報の場合には、疑似ロール候補「開発者(内部)」のスコアに「1」を加算し、他の疑似ロール候補のスコアに「0」を加算することが示されている。
【0085】
また、図9に示す例では、例えば所属が「内部」、アクセス先が「メンバ追加」、操作内容が「書き込み」、アクセス使用したツールが「ブラウザ」であるアクセス種別情報の場合には、疑似ロール候補「管理者(内部)」のスコアを「確定」にする(当該スコアに確定フラグを付与する)ことが示されている。なお、確定フラグは、当該確定フラグが付与されたスコアが最大値となる(つまり、最大の点数がスコアに加算される)ことを意味する。換言すれば、確定フラグが付与されたスコアの疑似ロール候補が疑似ロールとして決定されることになる。
【0086】
更に、図9に示す例では、例えば所属が「外部」、アクセス先が「担当者変更」、操作内容が「書き込み」、アクセス使用したツールが「ブラウザ」であるアクセス種別情報の場合には、疑似ロール候補「管理者(外部)」のスコアに「1」を加算し、他の疑似ロール候補のスコアに「0」を加算することが示されている。
【0087】
また、図9に示す例では、例えば所属が「外部」、アクセス先が「リポジトリ」、操作内容が「読み込み」、アクセス使用したツールが「CUI」であるアクセス種別情報の場合には、疑似ロール候補「開発者(外部)」のスコアに「1」を加算し、他の疑似ロール候補のスコアに「0」を加算することが示されている。
【0088】
上記した図9に示すスコア算出ルール情報によれば、アクセス種別情報に応じて疑似ロール候補のスコアに点数を加算(つまり、加点)していくことにより、ユーザによるプロジェクト管理システム1へのアクセス(アクセスログ)を疑似ロール候補のスコアに変換することができる。
【0089】
なお、図9にはスコア算出ルール情報の一部が示されており、当該スコア算出ルール情報には、例えばリポジトリへの書き込みが行われた場合に開発者のスコアに1点を加算することが定義されていてもよい。また、スコア算出ルール情報には、専用ツール(例えばソースコードのバージョン管理用のツール)を使用して書き込みまたは読み込みが行われた場合には開発者のスコアに確定フラグを付与することが定義されていてもよい。
【0090】
また、図9においては疑似ロール候補のスコアに加算される点数が「1」である場合が示されているが、当該点数は「1」以外であってもよいし、アクセス種別情報に応じて異なる点数が加算されてもよい。
【0091】
疑似ロール決定アルゴリズム情報には、上記した疑似ロール候補の中からユーザ毎に疑似ロールを決定するためのアルゴリズムが定義されている。
【0092】
以下、図10のフローチャートを参照して、疑似ロール決定処理(図7Aに示すステップS1の処理)の処理手順の一例について説明する。
【0093】
疑似ロール決定処理においては、プロジェクト管理システム1を利用する複数のユーザの各々に対して、以下のステップS11~S15の処理が実行される。以下の説明においては、ステップS11~S15の処理の対象となるユーザを対象ユーザと称する。
【0094】
ここで、アクセス権管理装置10内に蓄積されている多数のアクセスログには、上記したようにユーザID及びアクセス日時等が含まれている。この場合、解析部101aは、疑似ロール決定部101内に保持されている疑似ロール決定定義情報101dに含まれる解析期間情報に基づいて、アクセス権管理装置10内に蓄積されている多数のアクセスログの中から、対象ユーザを示すユーザID及び当該解析期間情報によって示される解析期間に該当するアクセス日時を含むアクセスログを取得する(ステップS11)。
【0095】
ステップS11の処理が実行されると、当該ステップS11において取得されたアクセスログの各々に対して、以下のステップS12及びS13の処理が実行される。以下、ステップS12及びS13の処理の対象となるアクセスログを対象アクセスログと称する。
【0096】
この場合、解析部101aは、対象アクセスログを解析する(ステップS12)。ステップS12の処理が実行されることにより、解析部101aは、対象アクセスログに基づくアクセスの種別を表すアクセス種別情報を取得する。
【0097】
ここで、解析部101aによって取得されるアクセス種別情報は、上記したスコア算出ルール情報において説明したように、所属、アクセス先、操作内容、アクセスに使用したツールを含む。この場合、所属は、対象アクセスログに含まれるユーザID及び上記した所属情報から取得される。また、アクセス先、操作内容、アクセスに使用したツールは、対象ログから取得される。
【0098】
次に、算出部101bは、疑似ロール決定定義情報101dに含まれるスコア算出ルール情報に基づいて、疑似ロール候補のスコアにアクセス種別情報に応じた点数を加算する(ステップS13)。この場合、上記した解析部101aによって取得されたアクセス種別情報に対応づけてスコア算出ルール情報に含まれる点数を各疑似ロール候補のスコアに加算する。なお、ここではスコアに点数が加算されるものとして説明したが、上記した図9において説明したように、アクセス種別情報によっては特定の疑似ロール候補のスコアに確定フラグが付与されてもよい。
【0099】
ステップS13の処理が実行されると、上記したステップS11において取得された全てのアクセスログに対してステップS12及びS13の処理が実行されたか否かが判定される(ステップS14)。
【0100】
全てのアクセスログに対して処理が実行されていないと判定された場合(ステップS14のNO)、ステップS12に戻って処理が繰り返される。この場合、ステップS12及びS13の処理が実行されていないアクセスログを対象アクセスログとして処理が実行される。すなわち、本実施形態においては、上記したステップS12~S13の処理が繰り返されることによって、アクセスログ毎に疑似ロール候補のスコアが加点され、当該疑似ロール候補のスコアを算出することができる。
【0101】
一方、全てのアクセスログに対して処理が実行されたと判定された場合(ステップS14のYES)、決定部101cは、上記したように算出された疑似ロール候補のスコア及び疑似ロール決定定義情報101dに含まれる疑似ロール候補情報に基づいて、対象ユーザの疑似ロールを決定する(ステップS15)。なお、ステップS15の処理は、疑似ロール決定定義情報に含まれる疑似ロール決定アルゴリズム情報において定義されているアルゴリズム(疑似ロール決定アルゴリズム)に従って実行される。なお、この疑似ロール決定アルゴリズム(つまり、ステップS15の処理)の詳細については後述する。
【0102】
ステップS15の処理が実行されると、プロジェクト管理システム1を利用する全てのユーザに対して上記したステップS11~S15の処理が実行されたか否かが判定される(ステップS16)。
【0103】
全てのユーザに対して処理が実行されていないと判定された場合(ステップS16のNO)、ステップS11に戻って処理が繰り返される。この場合、ステップS11~S15の処理が実行されていないユーザを対象ユーザとして処理が実行される。
【0104】
一方、全てのユーザに対して処理が実行されたと判定された場合(ステップS16のYES)、図10に示す疑似ロール決定処理は終了される。
【0105】
なお、ここでは図10に示すステップS11~S16の処理が実行されるものとして説明したが、例えば解析期間情報によって示される解析期間に該当するアクセス日時を含むアクセスログを1つずつ順番に取得し、当該順番に取得されるアクセスログに含まれるユーザIDによって識別されるユーザのスコアに点数を加算する処理を繰り返した後に、ステップS15の処理が実行されるようにしてもよい。すなわち、ユーザの疑似ロールを決定することができるのであれば、上記した図10に示す処理の一部が変更された処理等が実行されても構わない。
【0106】
ここで、図11を参照して、上記した疑似ロール決定アルゴリズム(図10に示すステップS15の処理)の一例を説明する。
【0107】
まず、決定部101cは、上記したように図10に示すステップS12及びS13の処理が繰り返されることによって算出部101bによって算出された複数の疑似ロール候補のスコアの中に確定フラグが付与されたスコアが存在する(つまり、確定フラグが存在する)か否かを判定する(ステップS21)。
【0108】
確定フラグが存在しないと判定された場合(ステップS21のNO)、決定部101cは、複数の疑似ロール候補の中で最もスコアが高い疑似ロール候補を特定する(ステップS22)。
【0109】
ステップS22の処理が実行されると、決定部101cは、当該ステップS22において複数の疑似ロール候補が特定された(つまり、最もスコアが高い疑似ロール候補が複数存在する)か否かを判定する(ステップS23)。
【0110】
複数の疑似ロール候補が特定されていない(つまり、1つの疑似ロール候補が特定された)と判定された場合(ステップS23のNO)、決定部101cは、ステップS22において特定された疑似ロール候補を対象ユーザの疑似ロールとして決定する(ステップS24)。
【0111】
一方、複数の疑似ロール候補が特定されたと判定された場合(ステップS23のYES)、決定部101cは、当該複数の疑似ロール候補の各々に対応づけて疑似ロール候補情報に含まれる優先度を参照し、当該複数の疑似ロール候補の中で優先度が高い疑似ロール候補を対象ユーザの疑似ロールとして決定する(ステップS25)。
【0112】
また、上記したステップS21において確定フラグが存在すると判定された場合(ステップS21のYES)、決定部101cは、当該確定フラグが付与されたスコアが複数存在する(つまり、複数の確定フラグが存在する)か否かを判定する(ステップS26)。
【0113】
複数の確定フラグが存在しない(つまり、確定フラグが1つである)と判定された場合(ステップS26のNO)、決定部101cは、スコアに確定フラグが付与されている疑似ロール候補を対象ユーザの疑似ロールとして決定する(ステップS27)。
【0114】
一方、複数の確定フラグが存在すると判定された場合(ステップS26のYES)、決定部101cは、スコアに確定フラグが付与されている複数の疑似ロール候補の各々に対応づけて疑似ロール候補情報に含まれる優先度を参照し、当該複数の疑似ロール候補の中で優先度が高い疑似ロール候補を対象ユーザの疑似ロールとして決定する(ステップS28)。
【0115】
以下、図12図16を参照して、上記した疑似ロール決定処理について具体的に説明する。
【0116】
まず、図12を参照して、プロジェクト管理システム1を利用する複数のユーザのうちの例えばユーザAの疑似ロールを決定する場合について説明する。
【0117】
図12の上段には、ユーザAに対して図10に示すステップS11~S14の処理が実行されることによって算出されたユーザAの疑似ロール候補のスコアが示されている。ユーザAの疑似ロールは、この図12の上段に示される疑似ロール候補のスコアに基づいて図11に示す処理が実行されることによって決定される。
【0118】
ここで、図12の上段には、疑似ロール候補「管理者(内部)」のスコアが「0」であり、疑似ロール候補「管理者(外部)」のスコアが「5」であり、疑似ロール候補「開発者(内部)」のスコアが「0」であり、疑似ロール候補「開発者(外部)」のスコアが「20」であることが示されている。
【0119】
このような疑似ロール候補のスコアによれば、確定フラグは存在しないが、最もスコアが高い1つの疑似ロール候補「開発者(外部)」を特定することができる。この場合、図12の下段に示すように、疑似ロール候補「開発者(外部)」をユーザAの疑似ロールとして決定することができる。
【0120】
なお、図12においてはプロジェクト管理システム1を利用する複数のユーザのうちのユーザAの疑似ロールを決定する場合について説明したが、図13図16は、当該複数のユーザのうちのユーザB~Eの疑似ロールを決定する場合を示している。
【0121】
以下、図13図16を参照して、ユーザB~Eの疑似ロールを決定する場合について説明するが、図12と同様の部分については説明を省略する。
【0122】
図13の上段には、疑似ロール候補「管理者(内部)」のスコアが「確定」であり、疑似ロール候補「管理者(外部)」のスコアが「0」であり、疑似ロール候補「開発者(内部)」のスコアが「15」であり、疑似ロール候補「開発者(外部)」のスコアが「0」であることが示されている。
【0123】
このような疑似ロール候補のスコアによれば、確定フラグが存在する。この場合、図13の下段に示すように、スコアに確定フラグが付与されている疑似ロール候補「管理者(社内)」をユーザBの疑似ロールとして決定することができる。
【0124】
また、図14の上段には、疑似ロール候補「管理者(内部)」のスコアが「確定」であり、疑似ロール候補「管理者(外部)」のスコアが「0」であり、疑似ロール候補「開発者(内部)」のスコアが「確定」であり、疑似ロール候補「開発者(外部)」のスコアが「0」であることが示されている。
【0125】
このような疑似ロール候補のスコアによれば、複数の確定フラグが存在する。この場合、スコアに確定フラグが付与されている2つの疑似ロール候補「管理者(内部)」及び「開発者(内部)」に対応づけて疑似ロール候補情報に含まれる優先度を参照すると、疑似ロール候補「管理者(内部)」の優先度は疑似ロール候補「開発者(内部)」の優先度よりも高い。したがって、図14の下段に示すように、疑似ロール候補「管理者(内部)」をユーザCの疑似ロールとして決定することができる。
【0126】
更に、図15の上段には、疑似ロール候補「管理者(内部)」のスコアが「10」であり、疑似ロール候補「管理者(外部)」のスコアが「0」であり、疑似ロール候補「開発者(内部)」のスコアが「0」であり、疑似ロール候補「開発者(外部)」のスコアが「0」であることが示されている。
【0127】
このような疑似ロール候補のスコアによれば、確定フラグは存在しないが、最もスコアが高い1つの疑似ロール候補「管理者(内部)」を特定することができる。この場合、図15の下段に示すように、疑似ロール候補「管理者(内部)」をユーザDの疑似ロールとして決定することができる。
【0128】
また、図16の上段には、疑似ロール候補「管理者(内部)」のスコアが「0」であり、疑似ロール候補「管理者(外部)」のスコアが「10」であり、疑似ロール候補「開発者(内部)」のスコアが「0」であり、疑似ロール候補「開発者(外部)」のスコアが「10」であることが示されている。
【0129】
このような疑似ロール候補のスコアによれば、確定フラグが存在せず、最もスコアが高い疑似ロール候補として「管理者(外部)」及び「開発者(外部)」が特定される。この場合、最もスコアが高い疑似ロール候補「管理者(外部)」及び「開発者(外部)」に対応づけて疑似ロール候補情報に含まれる優先度を参照すると、疑似ロール候補「管理部(外部)」の優先度は疑似ロール候補「開発者(外部)」の優先度よりも高い。したがって、図16の下段に示すように、疑似ロール候補「管理者(外部)」をユーザEの疑似ロールとして決定することができる。
【0130】
上記したように決定されたユーザA~Eの疑似ロール(を示す疑似ロール情報)は、例えば当該ユーザA~Eに割り当てられている現在のロール(を示すロール情報)と対応づけてプロジェクト管理者(例えば、ユーザA~Eが参加しているプロジェクトにおいてユーザに割り当てられるロールを変更する権限を有する管理者)が使用するユーザ端末20に表示される。
【0131】
これによれば、例えば疑似ロールとして「開発者(外部)」が決定されたユーザAに割り当てられている現在のロールが「管理者(外部)」であるような場合、プロジェクト管理者は、例えば開発者権限で十分であるにもかかわらず、ユーザAに管理者権限が割り当てられていることを容易に把握することができる。
【0132】
なお、ユーザが複数のプロジェクトに参加している可能性があるが、当該ユーザに割り当てられるロールは、当該プロジェクトによって異なる場合がある。このため、ユーザが複数のプロジェクトに参加している場合、上記した疑似ロール決定処理は、当該プロジェクト毎に実行されるものとする。
【0133】
また、上記した図12図16においては示されていないが、例えば全ての疑似ロール候補のスコアが「0」であるような場合には、最も低い優先度に対応づけて疑似ロール候補情報に含まれる疑似ロールが決定されるものとする。
【0134】
次に、不要ユーザ判定処理について説明する前に、当該不要ユーザ判定処理において用いられる不要ユーザ判定定義情報102cについて説明する。
【0135】
不要ユーザ判定定義情報102cは、第1~第3解析期間情報、第1及び第2判定ルール情報を含む。
【0136】
第1~第3解析期間情報の各々は、解析対象となるアクセスログを指定する情報に相当し、それぞれ異なる解析期間を示す。
【0137】
ここで、図17を参照して、第1~第3解析期間情報によって示される解析期間の関係性について説明する。ここでは、例えば第1解析期間情報によって示される解析期間を「X日」とし、第2解析期間情報によって示される解析期間を「Y日」とし、第3解析期間情報によって示される解析期間を「Z日」とする。この場合、図17に示すように、X及びYはX<Yという関係を有し、X及びZはX>Zという関係を有する。
【0138】
第1及び第2判定ルール情報は、ユーザが不要ユーザであるか否かを判定するためのルール(不要ユーザ判定アルゴリズム)を示す情報である。例えば第1判定ルール情報は上記した疑似ロールに関係なくユーザが不要ユーザであるか否かを判定するために用いられ、第2判定ルールは特定の疑似ロールのユーザが不要ユーザである(当該ユーザに付与されているアクセス権が不要である)か否かを判定するために用いられる。
【0139】
以下、図18のフローチャートを参照して、不要ユーザ判定処理(図7Bに示すステップS4の処理)の処理手順の一例について説明する。
【0140】
まず、不要ユーザ判定部102は、当該不要ユーザ判定部102内に保持される不要ユーザ判定定義情報102cに含まれる第1~第3解析期間情報を設定する(ステップS31)。
【0141】
この場合、不要ユーザ判定部102は、例えば上記したように疑似ロール決定部101内に保持されている疑似ロール決定定義情報101dに含まれる解析期間情報を取得し、当該解析期間情報を第1解析期間情報として不要ユーザ判定定義情報102cに設定する(書き込む)。ここでは、第1解析期間情報によって示される解析期間は、例えば30日であるものとする。
【0142】
また、不要ユーザ判定部102は、上記した第1~第3解析期間情報によって示される解析期間の関係性を満たすような第2及び第3解析期間情報を不要ユーザ判定定義情報102cに設定する(書き込む)。上記したように第1解析期間情報によって示される解析期間が30日であるものとすると、例えば第2解析期間情報によって示される解析期間は60日、第3解析期間情報によって示される解析期間は15日とすることができる。
【0143】
ここでは不要ユーザ判定処理において第1~第3解析期間情報が設定されるものとして説明したが、当該第1~第3解析期間情報は、当該不要ユーザ判定処理が実行される前に予め設定(用意)されていてもよい。
【0144】
次に、解析部102aは、不要ユーザ判定定義情報に含まれる第1~第3解析期間情報を参照し、アクセス権管理装置10内に蓄積されている多数のアクセスログの中から当該第1~第3解析期間情報の各々によって示される解析期間に該当するアクセス日時を含む複数のアクセスログを取得する(ステップS32)。
【0145】
ステップS32の処理が実行されると、解析部102aは、当該ステップS32において取得された複数のアクセスログを解析する(ステップS33)。
【0146】
ステップS33の処理が実行された場合、解析部102aは、各ユーザがプロジェクトのウェブサイトにアクセスした日時や各プロジェクトのウェブサイトへの解析期間毎のアクセス数等を解析結果として取得することができる。
【0147】
次に、プロジェクト管理システム1を利用する複数のユーザの各々に対して、以下のステップS34の処理が実行される。以下の説明においては、ステップS34の処理の対象となるユーザを対象ユーザと称する。
【0148】
この場合、判定部102bは、上記したステップS33の処理が実行されることによって取得された解析結果と不要ユーザ判定定義情報102cに含まれる第1及び第2判定ルール情報とに基づいて、対象ユーザが不要ユーザであるか否かを判定する(ステップS34)。
【0149】
ステップS34の処理が実行されると、プロジェクト管理システム1を利用する全てのユーザに対して上記したステップS34の処理が実行されたか否かが判定される(ステップS35)。
【0150】
全てのユーザに対して処理が実行されていないと判定された場合(ステップS35のNO)、ステップS34に戻って処理が繰り返される。この場合、ステップS34の処理が実行されていないユーザを対象ユーザとして処理が実行される。
【0151】
一方、全てのユーザに対して処理が実行されたと判定された場合(ステップS35のYES)、図18に示す不要ユーザ判定処理は終了される。
【0152】
なお、ここではプロジェクト管理システム1を利用する全てのユーザに対してステップS34の処理が実行されるものとして説明したが、当該ステップS34の処理は、特定のユーザ(例えば、システム管理者等によって指定されたユーザまたは特定のプロジェクトに参加しているユーザ等)に対してのみ実行されてもよい。
【0153】
また、ここでは図18に示すステップSS31~S35の処理が実行されるものとして説明したが、ユーザが不要ユーザであるか否かを判定することができるのであれば、当該図18に示す処理の一部が変更された処理等が実行されても構わない。
【0154】
以下、ステップS34において実行される処理について具体的に説明する。ここでは、ステップS34において第1及び第2判定処理が実行されるものとして説明する。
【0155】
まず、図19のフローチャートを参照して、第1判定処理の処理手順の一例について説明する。第1判定処理は、上記した第1判定ルール情報に基づいて、疑似ロールに関係なくユーザが不要ユーザであるか否かを判定する処理である。なお、図20は、図19において説明する第1判定処理の概要を示している。
【0156】
第1判定処理において、判定部102bは、対象ユーザが不要ユーザ判定処理の実行日(以下、判定日と表記)からZ日(第3解析期間情報によって示される解析期間)よりも前にプロジェクト管理システム1に登録されたユーザであるか否かを判定する(ステップS41)。なお、ステップS41の処理は、ユーザ認証情報格納部1aに格納されているユーザ認証情報(登録日時情報)に基づいて実行される。
【0157】
対象ユーザが判定日からZ日よりも前にプロジェクト管理システム1に登録されたユーザであると判定された場合(ステップS41のYES)、判定部102bは、当該対象ユーザがシステム管理者であるか否かを判定する(ステップS42)。なお、ステップS42の処理は、ユーザ認証情報格納部1aに格納されているユーザ認証情報(システム管理者情報)に基づいて実行される。
【0158】
対象ユーザがシステム管理者でないと判定された場合(ステップS42のNO)、判定部102bは、対象ユーザがプロジェクト管理システム1において管理されているプロジェクトに現在参加(所属)しているか否かを判定する(ステップS43)。なお、ステップS43の処理は、ユーザ認可情報格納部1cに格納されているユーザ認可情報(プロジェクト情報)に基づいて実行される。
【0159】
対象ユーザがプロジェクトに参加していないと判定された場合(ステップS43のNO)、判定部102bは、対象ユーザが不要ユーザであると判定する(ステップS44)。すなわち、第1判定処理において、プロジェクト管理システム1への登録が直近でなく、システム管理者でないにもかかわらずプロジェクトにも参加していない対象ユーザは、プロジェクト管理システム1を利用する必要がないと推定され、不要ユーザと判定される。
【0160】
一方、対象ユーザが判定日からZ日よりも前にプロジェクト管理システム1に登録されたユーザでないと判定された場合(ステップS41のNO)、当該対象ユーザは必要であると判断されたために直近(判定日からZ日以内)に登録されたと推定されるため、判定部102bは、対象ユーザが不要ユーザでないと判定する(ステップS45)。対象ユーザがシステム管理者であると判定された場合(ステップS42のYES)、同様にステップS45の処理が実行される。
【0161】
また、対象ユーザがプロジェクトに現在参加していると判定された場合(ステップS43のYES)、判定部102bは、図18に示すステップS33の処理が実行されることによって取得された解析結果(以下、単にアクセスログの解析結果と表記)に基づいて、対象ユーザが判定日からZ日以内にプロジェクト管理システム1(プロジェクトのウェブサイト)にアクセスしているか否かを判定する(ステップS46)。
【0162】
対象ユーザが判定日からZ日以内にプロジェクト管理システム1にアクセスしていると判定された場合(ステップS46のYES)、判定部102bは、対象ユーザが不要ユーザでない(つまり、必要なユーザである)と判定する(ステップS47)。
【0163】
一方、第1判定処理においては、対象ユーザがZ日以内にプロジェクト管理システム1にアクセスしていない場合、当該対象ユーザが不要ユーザであると考える。しかしながら、Z日以内にプロジェクト管理システム1にアクセスしていない場合であっても対象ユーザが不要ユーザでない可能性がある。このため、対象ユーザがZ日以内にプロジェクト管理システム1にアクセスしていないと判定された場合(ステップS46のNO)、判定部102bは、対象ユーザが不要ユーザと判定されない条件(以下、例外条件と表記)を満たすか否かを判定する(ステップS48)。
【0164】
対象ユーザが例外条件を満たさないと判定された場合(ステップS48のNO)、ステップS44において対象ユーザは不要ユーザであると判定される。一方、対象ユーザが例外条件を満たすと判定された場合(ステップS48のYES)、ステップS47において対象ユーザは不要ユーザでないと判定される。
【0165】
ここで、上記した例外条件の具体例について説明する。プロジェクト管理システム1がRedmineである場合には、チケットを作成し、当該チケットにおいてタスクを管理することができる。この場合、例えば半年間の間に作成された未解決チケット(タスクが完了していないチケット)の担当者及びウォッチャー(監督者または関係者等)は、当該プロジェクトにおいて必要なユーザである可能性が高い。このため、上記したように対象ユーザが判定日からZ日以内にプロジェクト管理システム1にアクセスしていないとしても、当該対象ユーザが未解決チケットの担当者及びウォッチャーである場合には、当該対象ユーザは、例外条件を満たし、不要ユーザと判定されないものとする。なお、Redmineにおいてはチケットにコメントを書き込むようなことが可能であるが、対象ユーザが未解決チケットに対してコメントの書き込みをしている(つまり、未解決チケットを更新した更新者である)場合には、当該対象ユーザは、例外条件を満たし、不要ユーザと判定されないようにしてもよい。
【0166】
ここで説明した例外条件は一例であり、当該例外条件は、不要ユーザと判定すべきではない状況等を鑑みて設定されていればよい。
【0167】
次に、第2判定処理について説明する。第2判定処理は、上記した第2判定ルール情報に基づいて、特定の疑似ロールが決定されたユーザが不要ユーザであるか否かを判定する処理である。なお、この疑似ロールは、不要ユーザ判定処理の直近に実行された疑似ロール決定処理の結果であるものとする。
【0168】
ここでは、疑似ロール「管理者(外部)」が決定された対象ユーザが不要ユーザであるか否かを判定する第2判定処理(以下、疑似ロール「管理者(外部)」用の第2判定処理と表記)と、疑似ロール「開発者(外部)」が決定された対象ユーザが不要ユーザであるか否かを判定する第2判定処理(以下、疑似ロール「開発者(外部)」用の第2判定処理と表記)とについて説明する。
【0169】
なお、第2判定処理において不要ユーザであるか否かが判定される対象ユーザは、少なくとも判定日からZ日以内にプロジェクト管理システム1にアクセスしていないユーザであるものとする。
【0170】
まず、図21のフローチャートを参照して、疑似ロール「管理者(外部)」用の第2判定処理の処理手順の一例について説明する。なお、図22は、図21において説明する疑似ロール「管理者(外部)」用の第2判定処理の概要を示している。
【0171】
疑似ロール「管理者(外部)」用の第2判定処理において、判定部102bは、上記したアクセスログの解析結果に基づいて、対象ユーザが判定日からX日(第1解析期間情報によって示される解析期間)以内にプロジェクト管理システム1(対象ユーザが参加しているプロジェクトのウェブサイト)にアクセスしているか否かを判定する(ステップS51)。
【0172】
対象ユーザが判定日からX日以内にプロジェクト管理システム1にアクセスしていないと判定された場合(ステップS51のNO)、判定部102bは、アクセスログの解析結果に基づいて、当該対象ユーザが所定の時期にプロジェクト管理システム1にアクセスしているか否かを判定する(ステップS52)。
【0173】
なお、企業における業務委託は会計期間の初め(期初)において開始され、当該会計期間の終わり(期末)に終了することが多いことを鑑みると、例えばプロジェクト管理者は、業務委託が開始される期初または当該業務委託が終了される期末のみにプロジェクト管理システム1にアクセスする可能性がある。このような観点によれば、上記したステップS52における所定の時期としては期初及び期末に対応する時期が含まれるが、当該所定の時期は管理者がプロジェクト管理システム1にアクセスすると推測される時期であればよい。
【0174】
対象ユーザが所定の時期にプロジェクト管理システム1にアクセスしていないと判定された場合(ステップS52のNO)、判定部102bは、対象ユーザが不要ユーザであると判定する(ステップS53)。
【0175】
一方、対象ユーザが判定日からX日以内にプロジェクト管理システム1にアクセスしていると判定された場合(ステップS51のYES)または対象ユーザが所定の時期にプロジェクト管理システム1にアクセスしていると判定された場合(ステップS52のYES)、判定部102bは、対象ユーザを不要ユーザでないと判定する(ステップS54)。
【0176】
上記した疑似ロール「管理者(外部)」用の第2判定処理によれば、疑似ロールが「管理者(外部)」である対象ユーザが判定日からX日以内または所定の時期(期初または期末)にプロジェクト管理システム1にアクセスしている場合には、当該対象ユーザが不要ユーザでないと判定される。一方、疑似ロールが「管理者(外部)」である対象ユーザが判定日からX日以内及び所定の時期(期初または期末)にプロジェクト管理システム1にアクセスしていない場合には、当該対象ユーザが不要ユーザであると判定される。
【0177】
なお、図21及び図22においては疑似ロール「管理者(外部)」用の第2判定処理について説明したが、例えば疑似ロールが「管理者(内部)」である対象ユーザに対しても同様に図21及び図22において示される第2判定処理が実行されてもよい。一方、疑似ロールが「管理者(内部)」である対象ユーザに対しては、図21及び図22において示される第2判定処理とは異なる処理が実行されてもよい。
【0178】
次に、図23に示すフローチャートを参照して、疑似ロール「開発者(外部)」用の第2判定処理の処理手順の一例について説明する。なお、図24は、図23において説明する疑似ロール「開発者(外部)」用の第2判定処理の概要を示している。
【0179】
ここで、以下の説明においては、対象ユーザが参加しているプロジェクトを対象プロジェクトと称し、判定日からX日以内の対象プロジェクトに参加している全てのユーザ(メンバ)の対象プロジェクトのウェブサイトへのアクセス数をPとする。また、判定日からY日(第2解析期間情報によって示される解析期間)以内であってX日より前の期間の対象プロジェクトに参加している全てのユーザの当該対象プロジェクトのウェブサイトへのアクセス数をQとする。また、判定日からX日以内の対象ユーザの対象プロジェクトのウェブサイトへのアクセス数をPa、判定日からY日以内であってX日より前の期間の対象ユーザの対象プロジェクトのウェブサイトへのアクセス数をQaとする。更に、判定日からX/2日以内の対象プロジェクトに参加している全てのユーザのアクセス数をRとする。なお、アクセス数P、Q、Pa、Qa及びRは、それぞれ該当する期間中の1日のアクセス数の平均値である場合を想定しているが、該当する期間内のアクセスの総数であってもよい。
【0180】
疑似ロール「開発者(外部)」用の第2判定処理において、判定部102bは、上記したアクセスログの解析結果に基づいて、対象ユーザが判定日からX日以内に対象プロジェクトのウェブサイトにアクセスしているか否かを判定する(ステップS61)。
【0181】
対象ユーザがX日以内に対象プロジェクトのウェブサイトにアクセスしていないと判定された場合(ステップS61のNO)、判定部102bは、対象ユーザが不要ユーザであると判定する(ステップS62)。
【0182】
すなわち、ステップS61の処理によれば、例えばX=30とすると、対象ユーザが直近1か月の間に対象プロジェクトのウェブサイトにアクセスしていない場合に、当該対象ユーザを不要ユーザとみなすことができる。
【0183】
一方、対象ユーザがX日以内に対象プロジェクトのウェブサイトにアクセスしていると判定された場合(ステップS61のYES)、判定部102bは、上記したアクセス数Pがアクセス数Qよりも大幅に少ない(つまり、P≪Qという条件を満たす)か否かを判定する(ステップS63)。なお、ステップS62における「アクセス数Pがアクセス数Qよりも大幅に少ない」とは、例えば対象プロジェクトが収束に向かっているような状況を想定している。
【0184】
アクセス数Pがアクセス数Qよりも大幅に少ないと判定された場合(ステップS63のYES)、ステップS62において対象ユーザが不要ユーザであると判定される。
【0185】
すなわち、ステップS63の処理によれば、例えばX=30及びY=60とすると、対象プロジェクトの直近1か月のアクセス数P(1日当たりの平均アクセス数)が前月のアクセス数Qよりも50%程度になっていれば、対象プロジェクトが収束に向かっている(ソフトウェア製品の開発状況が変化している)と推定し、対象ユーザを不要ユーザとみなすことができる。
【0186】
一方、アクセス数Pがアクセス数Qよりも大幅に少なくないと判定された場合(ステップS63のNO)、判定部102bは、アクセス数Pがアクセス数Qと概ね同一であり、かつ、アクセス数Paがアクセス数Qaの3割以下である(つまり、P≒Q、かつ、Pa≦0.3Qaという条件を満たす)か否かを判定する(ステップS64)。なお、ステップS64における「アクセス数Pがアクセス数Qと概ね同一であり、かつ、アクセス数Paがアクセス数Qaの3割以下である」とは、例えば対象プロジェクトは維持されているが、対象ユーザが対象プロジェクトから離脱したような状況を想定している。なお、「アクセス数Paがアクセス数Qaの3割以下である」は一例であり、例えば対象ユーザが対象プロジェクトから離脱したと推定することができる程度にアクセス数が低下していることが判定されればよい。
【0187】
アクセス数Pがアクセス数Qと概ね同一であり、かつ、アクセス数Paがアクセス数Qaの3割以下であると判定された場合(ステップS64のYES)、ステップS62において対象ユーザが不要ユーザであると判定される。
【0188】
すなわち、ステップS64の処理によれば、例えばX=30及びY=60とすると、対象プロジェクトの直近1か月のアクセス数Pは前月のアクセス数Qと変わらないが、対象ユーザのアクセス数Qaが前月から大幅に減少している(例えば、アクセス数Qaが0である)場合に、ソフトウェア製品の開発状況は変化していないが、対象ユーザが対象プロジェクトを離脱したと推定し、対象ユーザを不要ユーザとみなすことができる。
【0189】
一方、アクセス数Pがアクセス数Qと概ね同一でない、または、アクセス数Paがアクセス数Qaの3割以下でないと判定された場合(ステップS64のNO)、判定部102bは、アクセス数Rが0である(つまり、R=0という条件を満たす)か否かを判定する(ステップS65)。なお、ステップS65における「アクセス数Rが0である」とは、プロジェクトが終了したような状況を想定している。
【0190】
アクセス数Rが0であると判定された場合(ステップS65のYES)、ステップS62において対象ユーザが不要ユーザであると判定される。なお、この場合には、対象プロジェクトに参加している全てのユーザが不要ユーザであると判定されてもよい。
【0191】
すなわち、ステップS65の処理によれば、例えばX=30とすると、15日以内の対象プロジェクトのアクセス数Rが0になった場合に、当該対象プロジェクトが終了したと推定し、対象ユーザを含む対象プロジェクトに参加している全てのユーザを不要ユーザとみなすことができる。
【0192】
一方、アクセス数Rが0でないと判定された場合(ステップS65のNO)、判定部102bは、対象ユーザが不要ユーザでないと判定する。
【0193】
すなわち、疑似ロール「開発者(外部)」用の第2判定処理においては、判定日からX日以内に対象プロジェクトのウェブサイトにアクセスしており、ステップS63~S65において説明した条件の全てを満たさない場合には、対象ユーザが不要ユーザでないと判定される。
【0194】
なお、図23及び図24においては疑似ロール「開発者(外部)」用の第2判定処理について説明したが、例えば疑似ロールが「開発者(内部)」である対象ユーザに対しても同様に図23及び図24において示される第2判定処理が実行されてもよい。一方、疑似ロールが「開発者(内部)」である対象ユーザに対しては、図23及び図24において示される第2判定処理とは異なる処理が実行されてもよい。
【0195】
ここでは第1及び第2判定処理が実行されるものとして説明したが、本実施形態は、当該第1及び第2判定処理の一方のみが実行される構成であってもよいし、当該第1及び第2判定処理の一部の処理が省略される構成であってもよい。
【0196】
更に、第1及び第2判定処理における判定結果は、所定のユーザ(例えば、システム管理者等)の承認を経て確定するようにしてもよい。また、第1及び第2判定処理における対象ユーザが不要ユーザではないという判定結果の確定は承認を必要とせず、対象ユーザが不要ユーザであるという判定結果の確定は承認を必要とするようにしてもよい。
【0197】
また、本実施形態における対象ユーザが不要ユーザであるか否かの判定は、当該対象ユーザが参加しているプロジェクト毎に実行されるものとする。すなわち、例えば対象ユーザが第1及び第2プロジェクトに参加しているような場合においては、第1プロジェクトにおいて対象ユーザは不要ユーザであると判定され、第2プロジェクトにおいて対象ユーザは不要ユーザでないと判定されてもよい。
【0198】
ここで、上記した不要ユーザ判定処理において不要ユーザであると判定されたユーザを示す不要ユーザ情報は例えばユーザ端末20に表示されるが、以下では当該ユーザ端末20における不要ユーザ情報の表示例について説明する。
【0199】
本実施形態においては、不要ユーザ情報をプロジェクト管理者が使用するユーザ端末20及びシステム管理者が使用するユーザ端末20に表示する場合を想定しているが、当該不要ユーザ情報の表示態様は、プロジェクト管理者とシステム管理者とで異なるものとする。
【0200】
図25は、プロジェクト管理者が使用するユーザ端末20における不要ユーザ情報(不要ユーザ判定処理における判定結果)の表示態様の一例を示す。
【0201】
図25においては、ユーザID、ロール及び不要フラグが対応づけて表示される例が示されている。ユーザIDは、プロジェクト管理者が管理権限を有するプロジェクトに参加している複数のユーザの各々を識別するための識別情報である。ユーザIDは、例えば当該ユーザIDによって識別されるユーザの氏名等であってもよい。ロールは、対応づけられているユーザIDによって識別されるユーザに割り当てられているロールである。不要フラグは、不要ユーザ情報に相当し、対応づけられているユーザIDによって識別されるユーザが不要ユーザであることを示す。
【0202】
このような図25に示す例によれば、プロジェクト管理者は、当該プロジェクト管理者が管理するプロジェクトに参加しているユーザAが不要ユーザではなく、当該プロジェクトに参加しているユーザBが不要ユーザであることを容易に把握することができる。この場合、プロジェクトの管理者は、例えば当該プロジェクトのウェブサイトに対するユーザBのアクセス権の削除を検討することができる。
【0203】
なお、図25に示す表示態様は一例であり、例えばユーザID、ロール及び不要フラグ以外に疑似ロールのような他の情報が更に表示されても構わない。
【0204】
また、例えば不要ユーザであるユーザを識別するためのユーザID(つまり、不要ユーザであると判定されたユーザ)は所定の色(例えば、赤色等)で強調表示されてもよいし、当該不要ユーザであるユーザを識別するためのユーザIDのみが表示されてもよい(つまり、不要ユーザでないユーザを識別するためのユーザIDは表示されなくてもよい)。
【0205】
これによれば、プロジェクト管理者は、当該プロジェクト管理者が管理するプロジェクトにおける不要ユーザの当該プロジェクトのウェブサイトに対するアクセス権を一括で削除するようなことが可能となる。
【0206】
図26は、システム管理者が使用するユーザ端末20における不要ユーザ情報(不要ユーザ判定処理における判定結果)の表示態様の一例を示す。
【0207】
図26においては、ユーザID、参加プロジェクト数及び不要プロジェクト数が対応づけて表示される例が示されている。ユーザIDは、プロジェクト管理システム1を利用する複数のユーザの各々を識別するための識別情報である。ユーザIDは、例えば当該ユーザIDによって識別されるユーザの氏名等であってもよい。参加プロジェクト数は、対応づけられているユーザIDによって識別されるユーザが参加しているプロジェクトの総数を示す。不要プロジェクト数は、対応づけられているユーザIDによって識別されるユーザが参加している全てのプロジェクトのうち、当該ユーザが不要ユーザであると判定されたプロジェクトの数を示す。
【0208】
このような図26に示す例によれば、システム管理者は、ユーザAが参加している5個のプロジェクトのうち2個のプロジェクトにおいて当該ユーザAが不要ユーザであること及びユーザBが参加している10個のプロジェクトの全てにおいて当該ユーザBが不要ユーザであることを容易に把握することができる。この場合、プロジェクト管理システム1の管理者は、ユーザBはプロジェクト管理システム1にアクセスする必要はないと推定し、当該プロジェクト管理システム1に対するユーザBのアクセス権の削除を検討することができる。
【0209】
なお、図26に示す表示態様は一例であり、例えばユーザID、参加プロジェクト数及び不要プロジェクト数以外の他の情報が更に表示されても構わない。
【0210】
また、例えば対応づけられている参加プロジェクト数と不要プロジェクト数とが同一であるユーザIDが所定の色(例えば、赤色等)で強調表示されてもよいし、当該参加プロジェクト数と不要プロジェクト数とが同一であるユーザIDのみが表示されてもよい(つまり、参加プロジェクト数と不要プロジェクト数とが同一でないユーザIDは表示されなくてもよい)。
【0211】
これによれば、プロジェクト管理システム1にアクセスする必要がないユーザに対するアクセス権を一括して削除する(ロックする)ようなことが可能となる。
【0212】
上記したように本実施形態においては、ユーザによるプロジェクト管理システム1へのアクセスの履歴を示すアクセスログ及び予め用意されている疑似ロール決定定義情報(第1定義情報)に基づいて当該ユーザに割り当てられるべき疑似ロール(第2ロール)を決定し、当該決定された疑似ロールを表示する。本実施形態においては、このような構成により、管理者は、プロジェクト管理システム1への適切なアクセス権(つまり、適切なアクセス権が付与されているか否か)を容易に把握することができる。具体的には、例えば「管理者」のようなロール(第1ロール)が割り当てられているユーザに対して決定された疑似ロールが「開発者」である場合には、例えばシステム管理者等は、当該ユーザに割り当てられているロール(つまり、当該ユーザに付与されているアクセス権)の変更を検討することができる。
【0213】
なお、本実施形態においては、アクセスログを解析することによってユーザによるプロジェクト管理システム1へのアクセスの種別を表すアクセス種別情報を取得し、当該取得されたアクセス種別情報に応じて、疑似ロール決定定義情報101dにおいて予め用意されている複数の疑似ロール候補(第3ロール)の各々のスコアを算出し、当該算出されたスコアに基づいて当該複数の疑似ロール候補の中から疑似ロールを決定する。
【0214】
具体的には、疑似ロール決定定義情報に含まれるスコア算出ルール情報に基づいて、アクセスログを解析することによって取得されたアクセス種別情報に応じた複数の疑似ロール候補に付与される点数を当該アクセスログ毎に加算することによって、当該複数の疑似ロール候補の各々のスコアを算出し、当該算出されたスコアが最も高い疑似ロール候補を疑似ロールとして決定する。
【0215】
このような構成によれば、アクセスログに基づいてユーザに適切な疑似ロール(つまり、アクセスログに基づくユーザのアクセスの傾向に応じた精度の高い疑似ロール)を決定することが可能となる。
【0216】
更に、本実施形態においては、アクセスログ及び予め用意されている不要ユーザ判定定義情報(第2定義情報)に基づいて、疑似ロールが決定されたユーザに付与されているアクセス権が不要である(つまり、当該ユーザが不要ユーザである)か否かを判定し、当該判定結果を表示する。本実施形態においては、このような構成により、プロジェクト管理者及びシステム管理者は、自動で判定(特定)された不要ユーザを確認し、当該不要ユーザに付与されているアクセス権を削除することが可能となる。
【0217】
本実施形態において説明したようにプロジェクト管理システム1において複数のプロジェクトが管理される場合には、プロジェクト毎に、当該プロジェクトに参加しているユーザが不要ユーザであるか否かが判定される。
【0218】
このようにユーザが参加しているプロジェクトについての判定結果は、当該プロジェクト管理者が使用するユーザ端末20(端末装置)に表示される。これによれば、プロジェクト管理者は、当該プロジェクトに参加しているユーザが不要ユーザであるか否かを確認し、当該不要ユーザであるユーザに付与されている当該プロジェクトのウェブサイトへのアクセス権を削除することができる。
【0219】
また、ユーザが参加しているプロジェクトの数(参加プロジェクト数)及び当該ユーザが参加している全てのプロジェクトについての判定結果(不要プロジェクト数)は、システム管理者が使用するユーザ端末20(端末装置)に表示される。これによれば、プロジェクト管理システム1の管理者は、例えばユーザが参加している全てのプロジェクトにおいて当該ユーザが不要ユーザである場合に、当該ユーザがプロジェクト管理システム1にアクセスする必要はないと判断し、当該ユーザに付与されているプロジェクト管理システム1へのアクセス権を削除することができる。
【0220】
なお、本実施形態は、例えばシステム管理者等の指示に応じて疑似ロール決定定義情報101d及び不要ユーザ判定定義情報102cの少なくとも一方を変更する構成であってもよい。このような構成によれば、プロジェクト管理システム1の管理者にとって適切な疑似ロールの決定及び不要ユーザの判定を実現することが可能となる。
【0221】
更に、本実施形態においては疑似ロール決定処理及び不要ユーザ判定処理がシステム管理者の指示または予め定められた日時に基づいて実行されるものとして説明したが、当該疑似ロール決定処理及び不要ユーザ判定処理は他のタイミングで実行されてもよい。
【0222】
また、本実施形態においてはプロジェクト管理システム1について主に説明したが、本実施形態は、ロールに応じたアクセス権が付与されているユーザによってアクセスされるシステムであれば、当該プロジェクト管理システム1以外のシステムに対するアクセス権を管理する場合に適用されても構わない。
【0223】
なお、本実施形態においてはアクセス権管理装置10がプロジェクト管理システム1を備えるものとして説明したが、当該アクセス権管理装置10は、プロジェクト管理システム1の外部に設けられていても構わない。換言すれば、プロジェクト管理システム1及びアクセス権管理装置10は、別個のサーバ装置等によって実現されても構わない。
【0224】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【0225】
1…プロジェクト管理システム、1a…ユーザ認証情報格納部、1b…ユーザ認証処理部、1c…ユーザ認可情報格納部、1d…ユーザ認可処理部、1e…アクセス処理部、1f…技術情報格納部、10…アクセス権管理装置、11…CPU、12…不揮発性メモリ、13…メインメモリ、14…通信デバイス、20…ユーザ端末(端末装置)、101…疑似ロール決定部、101a…解析部、101b…算出部、101c…決定部、101d…疑似ロール決定定義情報、102…不要ユーザ判定部、102a…解析部、102b…判定部、102c…不要ユーザ判定定義情報、103…定義変更処理部、104…表示処理部。
図1
図2
図3
図4
図5
図6
図7A
図7B
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26