(57)【要約】【課題】リソースをロールに適切に割り当てること。【解決手段】割り当て方法では、アクセスログ記憶部を参照することでリソースにアクセスしたユーザ群をリソースごとに識別する。また、ユーザとユーザのロールとを対応付けて記憶するロール記憶部を参照することでユーザ群に含まれるユーザのロールを識別する。また、識別結果に含まれるリソースとロールとの組み合わせごとに値を算出する。具体的には、割り当て方法はロール記憶部にロールに対応付けて記憶されたユーザ各々のうちリソースにアクセスしたユーザ数が多い場合には少ない場合と比較して大きな値を算出し、ユーザ数が少ない場合には多い場合と比較して小さな値を算出する。また、識別結果にてリソースに紐付けられたロールのうち、大きな値が算出されたロールに対して小さな値が算出されたロールと比較してリソースを優先して割り当てる。そして、割り当て結果を出力する。【選択図】図１
2011227579.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータが、
リソースに対するユーザのアクセス状況を示すアクセスログを記憶するアクセスログ記憶部を参照することで該リソースにアクセスしたユーザ群を該リソースごとに識別し、前記ユーザと該ユーザのロールとを対応付けて記憶するロール記憶部を参照することで該ユーザ群に含まれるユーザのロールを識別する識別工程と、
前記識別工程による識別結果に含まれる前記リソースと前記ロールとの組み合わせごとに、前記ロール記憶部に該ロールに対応付けて記憶されたユーザ各々のうち該リソースにアクセスしたユーザ数が多い場合には少ない場合と比較して大きな値を算出し、該ユーザ数が少ない場合には多い場合と比較して小さな値を算出する算出工程と、
前記識別工程による識別結果にて前記リソースに紐付けられたロールのうち、前記算出工程により大きな値が算出されたロールに対して、小さな値が算出されたロールと比較して該リソースを優先して割り当てる割り当て工程と、
前記割り当て工程による割り当て結果を出力する出力工程と
を実行することを特徴とする割り当て方法。
【請求項２】
前記割り当て工程は、前記算出工程により算出された値が最も大きいロールを前記リソースごとに選択して選択した該ロールに該リソースを割り当て、該リソースにアクセスしたユーザ群に含まれるすべてのユーザが該リソースに割り当てたロールに対応付けられているかを前記ロール記憶部を参照することで判定し、含まれないと判定した場合に、前記算出工程により算出された値が既に割り当てたロールの次に大きいロールを選択して選択した該ロールに該リソースを更に割り当てることを特徴とする請求項１に記載の割り当て方法。
【請求項３】
前記出力工程は、前記割り当て工程による割り当て結果に加えて、前記算出工程により前記リソースと前記ロールとの組み合わせごとに算出された値を出力することを特徴とする請求項２に記載の割り当て方法。
【請求項４】
リソースに対するユーザのアクセス状況を示すアクセスログを記憶するアクセスログ記憶部と、
前記ユーザと該ユーザのロールとを対応付けて記憶するロール記憶部と、
前記アクセスログ記憶部を参照することで該リソースにアクセスしたユーザ群を該リソースごとに識別し、前記ロール記憶部を参照することで該ユーザ群に含まれるユーザのロールを識別する識別部と、
前記識別部による識別結果に含まれる前記リソースと前記ロールとの組み合わせごとに、前記ロール記憶部に該ロールに対応付けて記憶されたユーザ各々のうち該リソースにアクセスしたユーザ数が多い場合には少ない場合と比較して大きな値を算出し、該ユーザ数が少ない場合には多い場合と比較して小さな値を算出する算出部と、
前記識別部による識別結果にて前記リソースに紐付けられたロールのうち、前記算出部により大きな値が算出されたロールに対して、小さな値が算出されたロールと比較して該リソースを優先して割り当てる割り当て部と、
前記割り当て部による割り当て結果を出力する出力部と
を備えたことを特徴とする割り当て装置。
【請求項５】
コンピュータに、
リソースに対するユーザのアクセス状況を示すアクセスログを記憶するアクセスログ記憶部を参照することで該リソースにアクセスしたユーザ群を該リソースごとに識別し、前記ユーザと該ユーザのロールとを対応付けて記憶するロール記憶部を参照することで該ユーザ群に含まれるユーザのロールを識別する識別ステップと、
前記識別ステップによる識別結果に含まれる前記リソースと前記ロールとの組み合わせごとに、前記ロール記憶部に該ロールに対応付けて記憶されたユーザ各々のうち該リソースにアクセスしたユーザ数が多い場合には少ない場合と比較して大きな値を算出し、該ユーザ数が少ない場合には多い場合と比較して小さな値を算出する算出ステップと、
前記識別ステップによる識別結果にて前記リソースに紐付けられたロールのうち、前記算出ステップにより大きな値が算出されたロールに対して、小さな値が算出されたロールと比較して該リソースを優先して割り当てる割り当てステップと、
前記割り当てステップによる割り当て結果を出力する出力ステップと
を実行させる割り当てプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、割り当て方法、割り当て装置及び割り当てプログラムに関する。
【背景技術】
【０００２】
従来、社内のリソースに対するアクセス権限をロールに基づいて管理する管理装置がある。ロールとは、アクセス権限を管理する管理者が組織情報等を基に定義したユーザグループを示す。リソースとは、例えば、各種の文書や設計図などのデータが該当する。例えば、管理者は、各ロールの従業員の所属部門や役職、担当業務、勤務地などを考慮した上で、各ロールにリソースを割り当てる。
【０００３】
例えば、社員「ａ」がロール「Ａ」に属し、社員「ｂ」がロール「Ｂ」に属し、ロール「Ａ」にリソース「Ｘ」が割り当てられ、ロール「Ｂ」にリソース「Ｙ」が割り当てられた場合を用いて説明する。この場合、ロール「Ａ」にはリソース「Ｘ」が割り当てられており、ロール「Ａ」に属する社員「ａ」は、リソース「Ｘ」にアクセスすることが許可される。一方、ロール「Ｂ」にはリソース「Ｘ」が割り当てられておらず、ロール「Ｂ」に属する社員「ｂ」は、リソース「Ｘ」にアクセスすることが許可されない。
【０００４】
また、例えば、アクセスコントロールリスト（ＡＣＬ、Access  Control  List）を用いてリソースを割り当てる割り当て装置がある。アクセスコントロールリストとは、ユーザがどのリソースにアクセスできるかを示すリストである。割り当て装置は、アクセスコントロールリストを参照し、特定のユーザ群がアクセスしているリソースをグループ化し、グループ化したリソース群にロールを付与する。言い換えると、割り当て装置は、ロールに対して、グループ化したリソース群を割り当てる。
【０００５】
図１２は、割り当て方の一例について示す図である。図１２の表の列は、ユーザ各々を示し、図１２の表の行は、リソース各々を示す。図１２に示す例では、６人のユーザ「１」〜「６」と、４つのリソース「１」〜「４」とがある場合を示した。図１２の４０１、４０２、４０３は、それぞれ、リソースをグループ化したグループを示す。図１２に示す例では、割り当て装置は、図１２の４０１に示すように、リソース「１」〜「３」をグループ化し、図１２の４０２に示すように、リソース「１」と「２」とをグループ化する。また、割り当て装置は、図１２の４０３に示すように、リソース「３」をグループ化し、図１２の４０４に示すように、リソース「４」をグループ化する。ここで、割り当て装置は、１つのロールに割り当てるリソース群の候補を複数出力する。例えば、ロール「１」に割り当てるリソース群として、図１２の４０１に示すリソース「１」〜「３」や図１２の４０２に示すリソース「１」と「２」を出力する。その後、管理者が１つの割り当て方を選択し、選択した割り当て方を用いてリソースがロールに割り当てられる。例えば、割り当て装置は、リソース「１」〜「３」をロール「１」に割り当て、リソース「１」と「２」とをロール「２」に割り当て、リソース「３」をロール「３」に割り当て、リソース「４」をロール「４」に割り当てる。
【０００６】
なお、ロールを用いることなくアクセス権限を管理し、一定のアクセス数を超えてもユーザがパスワードを変更しない場合にユーザのアクセス権限を制限する装置がある。また、ロールを用いてアクセス権限を管理するポリシーをアプリケーションのＡＣＬに変換する装置もある。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００２−１９６９６５号公報
【特許文献２】特開２００８−２８７７１３号公報
【特許文献３】特開２００９−５３９１８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述した従来の装置では、ロールにリソースを割り当てるのに手間がかかるという問題がある。例えば、上述した割り当て装置では、ロールに対するリソースの割り当て方が複数出力される。この結果、複数割り当てられた割り当て方のうち好ましいと考えられる割り当て方を管理者が選択することになり、手間がかかる。また、管理者が選択した割り当て方が実際に好ましいかもわからない。
【０００９】
開示の技術は、上述に鑑みてなされたものであって、リソースをロールに適切に割り当て可能である割り当て方法、割り当て装置及び割り当てプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
開示する割り当て方法は、一つの態様において、リソースに対するユーザのアクセス状況を示すアクセスログを記憶するアクセスログ記憶部を参照することで該リソースにアクセスしたユーザ群を該リソースごとに識別し、前記ユーザと該ユーザのロールとを対応付けて記憶するロール記憶部を参照することで該ユーザ群に含まれるユーザのロールを識別する識別工程を含む。また、割り当て方法は、前記識別工程による識別結果に含まれる前記リソースと前記ロールとの組み合わせごとに、前記ロール記憶部に該ロールに対応付けて記憶されたユーザ各々のうち該リソースにアクセスしたユーザ数が多い場合には少ない場合と比較して大きな値を算出し、該ユーザ数が少ない場合には多い場合と比較して小さな値を算出する算出工程を含む。また、割り当て方法は、前記識別工程による識別結果にて前記リソースに紐付けられたロールのうち、前記算出工程により大きな値が算出されたロールに対して、小さな値が算出されたロールと比較して優先して該リソースを割り当てる割り当て工程を含む。また、割り当て方法は、前記割り当て工程による割り当て結果を出力する出力工程を含む。
【発明の効果】
【００１１】
開示する割り当て方法の一つの態様によれば、リソースをロールに適切に割り当て可能であるという効果を奏する。
【図面の簡単な説明】
【００１２】
【図１】図１は、実施例１に係る割り当て装置の構成の一例を示すブロック図である。
【図２】図２は、実施例２に係る割り当て装置の構成の一例を示すブロック図である。
【図３】図３は、実施例２におけるアクセスログ記憶部に記憶されたアクセスログの一例を示す図である。
【図４】図４は、実施例２におけるユーザロール記憶部に記憶された情報の一例を示す図である。
【図５】図５は、実施例２における識別部による処理を示す図である。
【図６】図６は、実施例２における算出部による処理を示す図である。
【図７】図７は、実施例２におけるリソースロール割り当て部による処理を示す図である。
【図８】図８は、実施例２におけるリソースロール割り当て部による処理を示す図である。
【図９】図９は、実施例２におけるリソースロール割り当て部により出力される割り当て結果の出力態様の一例を示す図である。
【図１０】図１０は、実施例２に係る割り当て装置による処理の流れの一例を示すフローチャートである。
【図１１】図１１は、実施例２に係る割り当てプログラムを実行するコンピュータの一例を示す図である。
【図１２】図１２は、割り当て方の一例について示す図である。
【発明を実施するための形態】
【００１３】
以下に、開示する割り当て方法、割り当て装置及び割り当てプログラムの実施例について、図面に基づいて詳細に説明する。なお、本実施例により開示する発明が限定されるものではない。各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例１】
【００１４】
図１を用いて、実施例１に係る割り当て装置１００の構成の一例を示す。図１は、実施例１に係る割り当て装置の構成の一例を示すブロック図である。図１に示す例では、割り当て装置１００は、アクセスログ記憶部１０１と、ロール記憶部１０２と、識別部１０３と、算出部１０４と、割り当て部１０５と、出力部１０６とを有する。
【００１５】
アクセスログ記憶部１０１は、リソースに対するユーザのアクセス状況を示すアクセスログを記憶する。ロール記憶部１０２は、ユーザのロールとユーザとを対応付けて記憶する。
【００１６】
識別部１０３は、アクセスログ記憶部１０１を参照することで該リソースにアクセスしたユーザ群をリソースごとに識別し、ロール記憶部１０２を参照することでユーザ群に含まれるユーザのロールを識別する。算出部１０４は、識別部１０３による識別結果に含まれるリソースとロールとの組み合わせごとに値を算出する。具体的には、算出部１０４は、ロール記憶部１０２にロールに対応付けて記憶されたユーザ各々のうちリソースにアクセスしたユーザ数が多い場合には少ない場合と比較して大きな値を算出し、ユーザ数が少ない場合には多い場合と比較して小さな値を算出する。
【００１７】
割り当て部１０５は、識別部１０３による識別結果にてリソースに紐付けられたロールのうち、算出部１０４により大きな値が算出されたロールに対して、小さな値が算出されたロールと比較して該リソースを優先して割り当てる。出力部１０６は、割り当て部１０５による割り当て結果を図示しないディスプレイ装置やプリンタ等に出力する。
【００１８】
すなわち、割り当て装置１００は、ロールに属するユーザ群のうち実際にリソースにアクセスしたユーザ数をアクセスログを用いてロールごとに算出し、ユーザ数が最も多いロールにリソースを割り当てる。この結果、割り当て装置１００によれば、リソースをロールに適切に割り当て可能である。例えば、複数の割り当て方のうち好ましいと考えられる割り当て方を選択する手法とは異なり、割り当て装置１００は、リソースがアクセスログに基づいて一意に割り当てる結果、管理者の手間を省くことが可能である。
【実施例２】
【００１９】
［割り当て装置の構成］
実施例２に係る割り当て装置２００について説明する。図２を用いて、実施例２に係る割り当て装置２００の構成の一例を示す。図２は、実施例２に係る割り当て装置の構成の一例を示すブロック図である。図２に示す例では、割り当て装置２００は、アクセスログ記憶部２０１と、ユーザロール記憶部２０２と、アクセス指標計算式記憶部２０３と、制御部２１０とを有する。
【００２０】
図２に示す例では、アクセスログ記憶部２０１とユーザロール記憶部２０２とアクセス指標計算式記憶部２０３とが、それぞれ別々の記憶部である場合を示した。ただし、本発明はこれに限定されるものではなく、アクセスログ記憶部２０１とユーザロール記憶部２０２とアクセス指標計算式記憶部２０３とは、１つの記憶部であっても良い。
【００２１】
アクセスログ記憶部２０１〜アクセス指標計算式記憶部２０３は、それぞれ、制御部２１０と接続される。アクセスログ記憶部２０１〜アクセス指標計算式記憶部２０３は、それぞれ、制御部２１０による各種処理に用いるデータを記憶する。アクセスログ記憶部２０１〜アクセス指標計算式記憶部２０３は、例えば、ＲＡＭ（Random  Access  Memory）やＲＯＭ（Read  Only  Memory）、フラッシュメモリ（Flash  Memory）などの半導体メモリ素子、ハードディスクや光ディスクなどが該当する。
【００２２】
アクセスログ記憶部２０１は、リソースに対するユーザのアクセス状況を示すアクセスログを記憶する。具体的には、アクセスログ記憶部２０１は、ユーザを識別する情報に対応付けて、ユーザがアクセスしたリソースを識別する情報を記憶する。図３は、実施例２におけるアクセスログ記憶部に記憶されたアクセスログの一例を示す図である。図３の表の列は、ユーザ各々を示し、表の行は、リソース各々を示す。図３に示す例では、６人のユーザ「１」〜「６」と、４つのリソース「１」〜「４」とがある場合を示した。
【００２３】
図３に示す例では、アクセスログ記憶部２０１は、ユーザ「１」がリソース「１」「３」「４」にアクセスしたことを記憶し、ユーザ「２」がリソース「１」「２」にアクセスしたことを記憶する。また、アクセスログ記憶部２０１は、他のユーザについても同様にリソースを記憶する。
【００２４】
ユーザロール記憶部２０２は、ユーザのロールとユーザとを対応付けて記憶する。以下では、ユーザのロールとユーザとが対応付けられた表を「ユーザロール表」とも称する。ユーザロール記憶部２０２は、「ロール記憶部」とも称する。図４は、実施例２におけるユーザロール記憶部に記憶された情報の一例を示す図である。図４のユーザロール表の列は、ユーザ各々を示し、ユーザロール表の行は、ロール各々を示す。図４に示す例では、６人のユーザ「１」〜「６」と、４つのリソース「Ａ」〜「Ｄ」とがある場合を示した。
【００２５】
図４に示す例では、ユーザロール記憶部２０２は、ユーザ「１」とロール「Ａ」「Ｃ」とを対応付けて記憶し、ユーザ「２」とロール「Ｂ」「Ｃ」とを対応付けて記憶する。つまり、ユーザロール記憶部２０２は、ユーザ「１」のロールがロール「Ａ」「Ｃ」であることを記憶し、ユーザ「２」のロールが「Ｂ」「Ｃ」であることを記憶する。また、ユーザロール記憶部２０２は、他のユーザについても同様にロールを記憶する。
【００２６】
アクセス指標計算式記憶部２０３は、制御部２１０によって用いられる計算式を記憶する。以下では、アクセス指標計算式記憶部２０３が記憶する計算式を「アクセス指標計算式」と称する。アクセス指標計算式は、ロールに対応付けて記憶されたユーザ各々のうち、リソースにアクセスしたユーザ数の大小に関する値を算出するための計算式である。
【００２７】
アクセス指標計算式記憶部２０３は、アクセス指標計算式として、例えば、以下に示す数式を記憶する。ただし、以下に示す数式はアクセス指標計算式の一例であり、本発明はこれに限定されるものではなく、任意の数式を用いて良い。以下の数式において、「Ｘ」は、数式により算出される値を示す。「Ｒｅｓ＿ｊ」は、算出対象となるリソースを示し、「Ｒｏｌｅ＿ｋ」は、算出対象となるロールを示す。つまり、ロール「Ａ」に対応付けて記憶されたユーザ各々のうち、リソース「１」にアクセスしたユーザ数の大小に関する値を算出する際には、「Ｒｅｓ＿ｊ」はリソース「１」となり、「Ｒｏｌｅ＿ｋ」はロール「Ａ」となる。
【００２８】
（数１）Ｘ＝（「Ｒｏｌｅ＿ｋ」のユーザのうち、「Ｒｅｓ＿ｊ」にアクセスしたユーザ数）
【００２９】
（数２）Ｘ＝（「Ｒｏｌｅ＿ｋ」のユーザのうち、「Ｒｅｓ＿ｊ」にアクセスしたユーザ数）／（「Ｒｏｌｅ＿ｋ」のユーザ数）
【００３０】
（数３）Ｘ＝（「Ｒｏｌｅ＿ｋ」のユーザのうち、「Ｒｅｓ＿ｊ」にアクセスしたユーザによるアクセス数の和）／（「Ｒｏｌｅ＿ｋ」のユーザによるアクセス数の和）
【００３１】
（数４）Ｘ＝（（「Ｒｏｌｅ＿ｋ」のユーザのうち「Ｒｅｓ＿ｊ」にアクセスしたユーザであり、かつ、リソースの属性と同一の属性を有するユーザの数×２）＋（「Ｒｏｌｅ＿ｋ」のユーザのうち「Ｒｅｓ＿ｊ」にアクセスしたユーザであり、リソースの属性と異なる属性を有するユーザの数））／（「Ｒｏｌｅ＿ｋ」のユーザ数×２）
【００３２】
（数４）におけるリソースの属性とは、例えば、リソースが高頻度にて用いられる役職業務、勤務地などが該当する。（数４）では、リソースの属性と同一の属性を有するユーザに対して、リソースの属性と異なる属性を有するユーザと比較して大きな重み付けを行う場合を示した。この結果、（数４）では、リソースが特定の業務で利用される場合に、特定の部門に対応するロールについて算出される値は、他のロールについて算出される値と比較して大きくなる。（数４）は、例えば、リソースが特定の業務で利用される場合に、特定の部門に対応するロールにリソースを優先的に割り当てる場合に用いられる。
【００３３】
（数１）〜（数４）に示されるように、ロールに対応付けて記憶されたユーザ各々のうちリソースにアクセスしたユーザ数が多い場合には少ない場合と比較して大きな値が算出され、ユーザ数が少ない場合には多い場合と比較して小さな値が算出される。
【００３４】
制御部２１０は、アクセスログ記憶部２０１〜アクセス指標計算式記憶部２０３と接続される。制御部２１０は、各種の処理手順などを規定したプログラムを記憶する内部メモリを有し、種々の処理を制御する。制御部２１０は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）、ＦＰＧＡ（Field  Programmable  Gate  Array）、ＣＰＵ（Central  Processing  Unit）、ＭＰＵ（Micro  Processing  Unit）などの電子回路である。制御部２１０は、図２に示す例では、識別部２１１と、算出部２１２と、リソースロール割り当て部２１３とを有する。
【００３５】
識別部２１１は、アクセスログ記憶部２０１を参照することでリソースにアクセスしたユーザ群をリソースごとに識別し、ユーザロール記憶部２０２を参照することでユーザ群に含まれるユーザのロールを識別する。
【００３６】
図５を用いて、識別部２１１による処理について具体的に説明する。図５は、実施例２における識別部による処理を示す図である。図５において、３０１は、ユーザロール表を示し、３０２は、アクセスログを示す。３０３は、識別部２１１による識別結果の一例を示す。識別部２１１は、アクセスログ記憶部２０１からアクセスログを読み出し、リソースにアクセスしたユーザ群をリソースごとに識別する。図５の３０２に示す例では、リソース「１」に対してアクセスしたユーザが「１」「２」「４」「６」となっており、図５の３０３に示すように、識別部２１１は、リソース「１」についてのユーザ群「１」「２」「４」「６」を識別する。また、識別部２１１は、他のリソースについても同様にユーザ群を識別する。
【００３７】
また、識別部２１１は、ユーザロール記憶部２０２からユーザロール表を読み出し、ユーザ群に含まれるユーザのロールを識別する。図５に示す例では、識別部２１１は、リソース「１」についてのユーザ群に含まれるユーザごとにユーザのロールを識別する。例えば、図５の３０１に示すように、識別部２１１は、ユーザ「１」についてロール「Ａ」「Ｃ」を識別し、ユーザ「２」についてロール「Ｂ」「Ｃ」を識別し、ユーザ「４」についてロール「Ｂ」「Ｃ」「Ｄ」を識別し、ユーザ「６」についてロール「Ｂ」「Ｄ」を識別する。そして、識別部２１１は、識別したロールの和集合をロール群とする。例えば、図５の３０３に示すように、リソース「１」について、ロール群「Ａ」「Ｂ」「Ｃ」「Ｄ」を識別する。また、識別部２１１は、他のリソースについても同様に、ロール群を識別する。以下では、識別部２１１による識別結果となる３０３に示す表を「リソースロールアクセス表」とも記載する。
【００３８】
算出部２１２は、識別部２１１による識別結果に含まれるリソースとロールとの組み合わせごとに値を算出する。具体的には、算出部２１２は、ユーザロール記憶部２０２にロールに対応付けて記憶されたユーザ各々のうち、リソースにアクセスしたユーザ数が多い場合には少ない場合と比較して大きな値を算出する。また、同様に、算出部２１２は、ユーザロール記憶部２０２にロールに対応付けて記憶されたユーザ各々のうち、リソースにアクセスしたユーザ数が少ない場合には多い場合と比較して小さな値を算出する。より詳細には、算出部２１２は、アクセス指標計算式記憶部２０３が記憶するアクセス指標計算式のうちいずれかを読み出す。そして、算出部２１２は、読み出したアクセス指標計算式を用いて、リソースロールアクセス表に含まれるリソースとロールとの組み合わせごとに値を算出する。
【００３９】
図６を用いて、算出部２１２による処理について具体的に説明する。図６は、実施例２における算出部による処理を示す図である。図６の３０１は、ユーザロール表であり、図５の３０１と同じである。３０３は、リソースロールアクセス表であり、図５の３０３と同じである。３０４は、算出部２１２による算出結果の一例を示す。図６の３０４では、算出部２１２が、アクセス指標計算式記憶部２０３が記憶する（数２）を用いて値を算出する場合を例に示した。
【００４０】
図６に示す例では、算出部２１２は、ユーザロール表を参照することで、各ロールのユーザを識別する。図６の３０１に示す例では、算出部２１２は、ロール「Ａ」のユーザが「１」「３」「５」であると識別する。また、算出部２１２は、他のロールについても同様にユーザを識別する。そして、算出部２１２は、リソースロールアクセス表を参照することで、各リソースにアクセスしたユーザを識別する。図６の３０３に示す例では、リソース「１」にアクセスしたユーザが「１」「２」「４」「６」であると識別する。また、算出部２１２は、他のリソースについても同様にユーザを識別する。
【００４１】
また、算出部２１２は、リソースロールアクセス表に含まれるリソースとロールの組み合わせを１つ選択する。図６の３０３に示す例では、リソース「１」とロール群「Ａ」「Ｂ」「Ｃ」「Ｄ」とが対応付けられている。このため、例えば、算出部２１２は、リソース「１」とロール「Ａ」との組み合わせを選択する。そして、算出部２１２は、選択した組み合わせに含まれるロールとリソースとについてそれぞれ識別した値をアクセス指標計算式に代入することで値を算出する。
【００４２】
例えば、図６の３０１に示すように、選択した組み合わせに含まれるロール「Ａ」のユーザが「１」「３」「５」と「３人」であり、図６の３０３に示すように、ユーザ「１」「３」「５」のうちリソース「１」にアクセスしたユーザが「１」と「１人」である。この場合、図６の３０４に示すように、算出部２１２は、リソース「１」とロール「Ａ」との組み合わせについて、「１／３＝０．３３」を算出する。また、算出部２１２は、他の組み合わせについても同様に値を算出する。以下では、算出部２１２による算出となる３０４に示す表を「アクセス指標表」とも記載する。３０４に示すアクセス指標表では、値が記載されていない箇所がある。これは、リソースロールアクセス表に含まれないリソースとロールの組み合わせを示す。
【００４３】
リソースロール割り当て部２１３は、算出部２１２により算出された値が最も大きいロールをリソースごとに選択して選択したロールに該リソースを割り当てる。つまり、リソースロール割り当て部２１３は、リソースに対して、識別部２１１により該リソースに対応付けて識別されたロールのうち、算出部２１２により大きな値が算出されたロールを小さい値が算出されたロールと比較して優先して割り当てる。また、リソースロール割り当て部２１３は、割り当て結果を出力する。
【００４４】
リソースロール割り当て部２１３による割り当て処理について、図７及び図８を用いて更に説明する。図７及び図８は、実施例２におけるリソースロール割り当て部による処理を示す図である。図７の３０４は、アクセス指標表であり、図６の３０４と同一である。図７の３０５は、リソースロール割り当て部２１３による処理により得られるデータの一例である。
【００４５】
図７に示すように、リソースロール割り当て部２１３は、算出部２１２により算出された値が最も大きいロールをリソースごとに選択し、選択したロールに該リソースを割り当てる。図７の３０４に示す例では、リソース「１」について算出された値はロール「Ｂ」が最も大きく、図７の３０５に示すように、リソースロール割り当て部２１３は、リソース「１」をロール「Ｂ」に割り当てる。またリソースロール割り当て部２１３は、他のリソースについても同様にロールを割り当てる。
【００４６】
図８の３０１は、ユーザロール表であり、図５や図６の３０１と同じである。図８の３０４は、アクセス指標表であり、図６や図７の３０４と同じである。図８の３０６は、リソースロール割り当て部２１３による処理過程において得られる結果の一例である。図８の３０６は、図７の３０５に対して、リソースロールアクセス表の「ユーザ群」を付加したものである。図８の３０７は、リソースロール割り当て部２１３による処理により得られるデータの一例である。図８の３０８は、リソースロール割り当て部２１３による処理により得られるデータの一例である。
【００４７】
また、図８に示されるように、リソースロール割り当て部２１３は、リソースにアクセスしたユーザ群に含まれるすべてのユーザがリソースに割り当てたロールに対応付けられているかをユーザロール記憶部２０２を参照することで判定する。つまり、リソースロール割り当て部２１３は、ユーザに漏れがあるかを判定する。
【００４８】
リソース「１」を例に説明する。図８の３０６に示されるように、リソース「１」にはロール「Ｂ」が割り当てられており、図８の３０１に示されるように、ロール「Ｂ」のユーザは「２」「４」「６」である。また、図８の３０６に示されるように、リソース「１」のユーザ群には「１」「２」「４」「６」が含まれる。この場合、リソースロール割り当て部２１３は、ロール「Ｂ」のユーザ「２」「４」「６」に、リソース「１」のユーザ「１」「２」「４」「６」すべてが含まれるかを判定する。この場合、ユーザ「１」がロール「Ｂ」のユーザに含まれておらず、図８の３０７に示すように、リソースロール割り当て部２１３は、ユーザ「１」が含まれないと判定する。図８の３０７に示す例では、リソース「２」〜「４」について、含まれると判定した場合を示した。
【００４９】
また、リソースロール割り当て部２１３は、含まれないと判定した場合に、算出部２１２により算出された値が既に割り当てたロールの次に大きいロールをリソースに更に割り当てる。この際、リソースロール割り当て部２１３は、含まれないと判定されたユーザのロールのうち、算出部２１２により算出された値が最も大きいロールを割り当てても良い。そして、リソースロール割り当て部２１３は、含まれると判定するまで処理を繰り返す。例えば、図８の３０４に示す例では、リソース「１」についてロール「Ｂ」の次に大きな値が算出されたロール「Ｃ」を選択し、リソース「１」に割り当てる。ここで、図８の３０１に示すように、ロール「Ｃ」にはユーザ「１」が含まれており、リソースロール割り当て部２１３は、割り当て処理を終了する。この結果、リソースロール割り当て部２１３は、図８の３０８に示すようなリソースの割り当て方を決定する。
【００５０】
リソースロール割り当て部２１３による出力処理について説明する。リソースロール割り当て部２１３は、割り当て結果を出力する。また、リソースロール割り当て部２１３は、割り当て結果に加えて、リソースとロールとの組み合わせごとに算出部２１２により算出された値を出力する。例えば、リソースロール割り当て部２１３は、図６〜図８の３０４に示すアクセス指標表を割り当て結果とともに出力する。また、例えば、リソースロール割り当て部２１３は、図９に示すように、割り当て結果とアクセス指標表とを統合した表を出力する。図９は、実施例２におけるリソースロール割り当て部により出力される割り当て結果の出力態様の一例を示す図である。図９に示す例では、リソースロール割り当て部２１３は、アクセス指標表のうち、割り当て結果に含まれるリソースとロールとの組み合わせに対応する値のみを残すことで、割り当て結果と値とを併せて出力する。
【００５１】
なお、割り当て装置２００は、既知のパーソナルコンピュータやサーバなどの情報処理装置を用いて実現しても良い。例えば、サーバに、図２に示したアクセスログ記憶部２０１と、ユーザロール記憶部２０２と、アクセス指標計算式記憶部２０３と、識別部２１１と、算出部２１２と、リソースロール割り当て部２１３との各機能を搭載することによって実現しても良い。
【００５２】
［割り当て装置による処理］
図１０を用いて、実施例２に係る割り当て装置２００による処理の流れの一例を示す。図１０は、実施例２に係る割り当て装置による処理の流れの一例を示すフローチャートである。
【００５３】
図１０に示すように、処理タイミングとなると（ステップＳ１０１肯定）、識別部２１１は、アクセスログ記憶部２０１からアクセスログを読み出し（ステップＳ１０２）、リソースにアクセスしたユーザ群をリソースごとに識別する（ステップＳ１０３）。例えば、識別部２１１は、リソース「１」についてのユーザ群「１」「２」「４」「６」を識別する。
【００５４】
そして、識別部２１１は、ユーザロール記憶部２０２からユーザロール表を読み出し（ステップＳ１０４）、ユーザ群に含まれるユーザのロールを識別する（ステップＳ１０５）。例えば、識別部２１１は、ユーザ「１」についてロール「Ａ」「Ｃ」を識別し、ユーザ「２」についてロール「Ｂ」「Ｃ」を識別し、ユーザ「４」についてロール「Ｂ」「Ｃ」「Ｄ」を識別し、ユーザ「６」についてロール「Ｂ」「Ｄ」を識別する。この結果、識別部２１１は、識別したロールの和集合となるロール「Ａ」「Ｂ」「Ｃ」「Ｄ」をロール群とする。
【００５５】
そして、算出部２１２は、ユーザロール表を参照することで、各ロールのユーザを識別する（ステップＳ１０６）。例えば、算出部２１２は、ロール「Ａ」のユーザが「１」「３」「５」であると識別する。そして、算出部２１２は、各リソースにアクセスしたユーザを識別する（ステップＳ１０７）。例えば、リソース「１」にアクセスしたユーザが「１」「２」「４」「６」であると識別する。
【００５６】
そして、算出部２１２は、リソースロールアクセス表に含まれるリソースとロールの組み合わせを１つ選択する（ステップＳ１０８）。例えば、算出部２１２は、リソース「１」とロール「Ａ」との組み合わせを選択する。そして、算出部２１２は、選択した組み合わせに含まれるロールとリソースとについてそれぞれ識別した値をアクセス指標計算式に代入することで値を算出する（ステップＳ１０９）。例えば、算出部２１２は、選択した組み合わせに含まれるロール「Ａ」のユーザ「１」「３」「５」のうち、選択した組み合わせに含まれるリソース「１」にアクセスしたユーザは「１」であり、「１／３＝０．３３」を算出する。
【００５７】
そして、算出部２１２は、リソースロールアクセス表に含まれるすべての組み合わせを選択したかを判定する（ステップＳ１１０）。ここで、算出部２１２は、選択していないと判定した場合には（ステップＳ１１０否定）、ステップＳ１０８に戻り、選択したと判定するまでステップＳ１０８〜Ｓ１１０の処理を繰り返す。
【００５８】
一方、算出部２１２が選択したと判定した場合には（ステップＳ１１０肯定）、リソースロール割り当て部２１３は、算出部２１２により算出された値が最も大きいロールをリソースごとに選択して選択したロールに該リソースを割り当てる（ステップＳ１１１）。例えば、リソース「１」について算出された値はロール「Ｂ」が最も大きい場合には、リソースロール割り当て部２１３は、リソース「１」をロール「Ｂ」に割り当てる。
【００５９】
そして、リソースロール割り当て部２１３は、ユーザに漏れがあるかを判定する（ステップＳ１１２）。つまり、リソースにアクセスしたユーザ群に含まれるすべてのユーザがリソースに割り当てたロールに対応付けられているかをユーザロール記憶部２０２を参照することで判定する。
【００６０】
ここで、リソースロール割り当て部２１３により漏れがあると判定された場合について説明する（ステップＳ１１２肯定）。つまり、リソースロール割り当て部２１３が含まれないと判定した場合について説明する。例えば、ロール「Ｂ」のユーザはユーザ「２」「４」「６」であり、リソース「１」のユーザ群にユーザ「１」「２」「４」「６」が含まれる場合に、リソースロール割り当て部２１３は、漏れがあると判定する。この場合、リソースロール割り当て部２１３は、算出部２１２により算出された値が既に割り当てたロールの次に大きいロールにリソースを更に割り当てる（ステップＳ１１３）。例えば、リソース「１」についてロール「Ｂ」の次に大きな値が算出されたロールがロール「Ｃ」である場合には、リソース「１」をロール「Ｃ」に更に割り当てる。そして、ステップＳ１１２に戻り、リソースロール割り当て部２１３は、漏れがないと判定するまで処理を繰り返す。
【００６１】
リソースロール割り当て部２１３により漏れがないと判定された場合について説明する（ステップＳ１１２否定）。この場合、リソースロール割り当て部２１３は、割り当て結果を出力する（ステップＳ１１４）。また、リソースロール割り当て部２１３は、割り当て結果に加えて、算出部２１２によりリソースとロールとの組み合わせごとに算出された値を出力する。例えば、図９に示すような出力態様を用いて、リソースロール割り当て部２１３は割り当て結果を出力する。
【００６２】
なお、上記の処理手順は、上記の順番に限定されるものではなく、処理内容を矛盾させない範囲で適宜変更しても良い。
【００６３】
［実施例２の効果］
上述したように、実施例２によれば、割り当て装置２００は、アクセスログ記憶部２０１を参照することでリソースにアクセスしたユーザ群を該リソースごとに識別する。そして、割り当て装置２００は、ユーザロール記憶部２０２を参照することでユーザ群に含まれるユーザのロールを該リソースごとに識別する。そして、割り当て装置２００は、識別結果に含まれるリソースとロールとの組み合わせごとに値を算出する。具体的には、割り当て装置２００は、ユーザロール記憶部２０２にロールに対応付けて記憶されたユーザ各々のうちリソースにアクセスしたユーザ数が多い場合には少ない場合と比較して大きな値を算出する。また、割り当て装置２００は、ユーザ数が少ない場合には多い場合と比較して小さな値を算出する。そして、割り当て装置２００は、識別結果にてリソースに紐付けられたロールのうち、大きな値が算出されたロールに対して小さな値が算出されたロールと比較してリソースを優先して割り当てる。そして、割り当て装置２００は、割り当て結果を出力する。この結果、実施例２によれば、リソースをロールに適切に割り当て可能である。
【００６４】
例えば、複数の割り当て方のうち好ましいと考えられる割り当て方を選択する手法とは異なり、割り当て装置１００は、リソースがアクセスログに基づいて一意に割り当てる結果、管理者の手間を省くことが可能である。
【００６５】
また、例えば、アクセスログを考慮した上で割り当てる結果、アクセスしていないリソースをロールに割り当てることがなく、セキュリティ上好ましい割り当てが可能である。例えば、別部署に異動したユーザに対して特定のロールを付与した場合を用いて説明する。異動したユーザは、異動後一定期間は異動前の部署におけるアクセス権限を必要とすることがあり、この場合、異動したユーザには、異動後の部署におけるアクセス権限に加えて異動前の部署におけるアクセス権限を付与されたロールを付与する。ここで、従来の技術では、その後、異動したユーザにとって移動前の部署におけるアクセス権限を止めてもいいのか否かについて判別できない。この結果、異動したユーザにはアクセス権限が必要であるにもかかわらずアクセス権限を止めることや、異動したユーザにはアクセス権限が不要となったにもかかわらずアクセス権限を付与することがある。これに対して、実施例２によれば、アクセスログを考慮した上で割り当てる結果、アクセスしていないリソースをロールに割り当てることがなく、異動したユーザに対して特定のロールが付与される場合であっても、セキュリティ上好ましい割り当てが可能である。
【００６６】
また、実施例２によれば、割り当て装置２００は、算出した値が最も大きいロールにリソースを選択して割り当てる。そして、割り当て装置２００は、リソースにアクセスしたユーザ群に含まれるすべてのユーザがリソースに割り当てたロールに対応付けられているかをユーザロール記憶部２０２を参照することで判定する。ここで、割り当て装置２００は、含まれないと判定した場合に、算出された値が既に割り当てたロールの次に大きいロールにリソースを更に割り当てる。この結果、１つ目のロールではカバ−できないユーザがあったとしても、２つ目のロールを割り当てることで漏れなく割り当てることが可能である。
【００６７】
また、実施例２によれば、割り当て装置２００は、割り当て結果に加えて、リソースとロールとの組み合わせごとに算出された値を出力する。この結果、管理者は、ロールの追加や削除時に有用な指標を得ることが可能である。例えば、あるマスの値が基準値に満たなければ、ロールを新設するなどの運用を決定しておくことで、ロールの追加や削除を簡単に実行することが可能である。
【実施例３】
【００６８】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、その他の実施例にて実施されても良い。そこで、以下では、その他の実施例を示す。
【００６９】
［アクセスコントロールリスト］
例えば、上述した実施例では、アクセスログをそのまま用いる場合を例に示した。ただし、本発明はこれに限定されるものではなく、アクセスログを加工した上で用いても良い。例えば、アクセスコントロールリストがある場合には、アクセスログのうち、アクセスコントロールリストによりアクセスが許可されていないログを削除し、削除後のアクセスログを用いても良い。なお、アクセスコントロールリストには、ユーザごとに、アクセス権限を有するリソースが対応付けられている。
【００７０】
［システム構成］
上述文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報（図１〜図１０）については、特記する場合を除いて任意に変更することができる。
【００７１】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。例えば、アクセスログ記憶部２０１を割り当て装置２００の外部装置としてネットワーク経由で接続するようにしても良い。
【００７２】
［コンピュータ］
また、上述の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図１１を用いて、上述の実施例と同様の機能を有する割り当てプログラムを実行するコンピュータの一例を示す。なお、図１１は、実施例２に係る割り当てプログラムを実行するコンピュータの一例を示す図である。
【００７３】
図１１に示すように、実施例２におけるコンピュータ３０００は、通信部３００１、ＣＰＵ３０１０、ＲＯＭ３０１１、ＨＤＤ（Hard  Disk  Drive）３０１２、ＲＡＭ３０１３をバス３００９などで接続して構成されている。
【００７４】
ＲＯＭ３０１１は、図２にて示した識別部２１１と、算出部２１２と、リソースロール割り当て部２１３と同様の機能を発揮する制御プログラムを記憶する。つまり、図１１に示すように、ＲＯＭ３０１１は、識別プログラム３０１１ａと、算出プログラム３０１１ｂと、リソースロール割り当てプログラム３０１１ｃとを記憶する。なお、これらのプログラム３０１１ａ〜３０１１ｃについては、図２に示した割り当て装置２００の各構成要素と同様、適宜統合又は分離しても良い。
【００７５】
そして、ＣＰＵ３０１０が、これらのプログラム３０１１ａ〜３０１１ｃをＲＯＭ３０１１から読み出して実行する。この結果、図１１に示すように、各プログラム３０１１ａ〜３０１１ｃは、識別プロセス３０１０ａと、算出プロセス３０１０ｂと、リソースロール割り当てプロセス３０１０ｃとして機能する。なお、各プロセス３０１０ａ〜３０１０ｃは、図２に示した、識別部２１１と、算出部２１２と、リソースロール割り当て部２１３とにそれぞれ対応する。
【００７６】
そして、ＨＤＤ３０１２には、アクセスログテーブル３０１２ａと、ユーザロール表テーブル３０１２ｂと、アクセス指標計算式テーブル３０１２ｃとが記憶される。なお、各テーブル３０１２ａ〜３０１２ｃが記憶された領域は、図２に示したアクセスログ記憶部２０１と、ユーザロール記憶部２０２と、アクセス指標計算式記憶部２０３とにそれぞれ対応する。また、図示はしないが、ＨＤＤ３０１２にＲＯＭ３０１１で示した各種のプログラムを記憶しておいても良い。
【００７７】
そして、ＣＰＵ３０１０は、アクセスログテーブル３０１２ａと、ユーザロール表テーブル３０１２ｂと、アクセス指標計算式テーブル３０１２ｃとを読み出してＲＡＭ３０１３に格納する。ＣＰＵ３０１０は、ＲＡＭ３０１３に格納されたアクセスログデータ３０１３ａ〜アクセス指標計算式データ３０１３ｃ、リソースロールアクセス表データ３０１３ｄ、割り当て結果データ３０１３ｅなどを用いて、割り当てプログラムを実行する。
【００７８】
ただし、上述した説明では、プロセス３０１０ａ〜３０１０ｃすべてが常にＣＰＵ３０１０上にて仮想的に実現される場合について示した。しかしながら、本発明はこれに限定されるものではない。例えば、プロセス３０１０ａ〜３０１０ｃのうち処理に必要な一部のプロセスについて、ＣＰＵ３０１０上にて仮想的に実現されても良い。言い換えると、常にすべてのプロセスがＣＰＵ３０１０上にて動作するのではなく、処理に必要なプロセスが選択的に動作するようにしても良い。
【００７９】
また、同様に、アクセスログテーブル３０１２ａ〜アクセス指標計算式テーブル３０１２ｃすべてがＲＡＭ３０１３に格納される場合について示した。しかしながら、本発明はこれに限定されるものではない。例えば、アクセスログテーブル３０１２ａ〜アクセス指標計算式テーブル３０１２ｃのうち処理に必要な一部のテーブルについて、ＲＡＭ３０１３に格納されても良い。言い換えると、常にすべてのテーブルがＲＡＭ３０１３に格納されるのではなく、処理に必要なテーブルが選択的に格納されるようにしても良い。
【００８０】
［その他］
なお、本実施例で説明した割り当てプログラムは、インターネットなどのネットワークを介して配布することができる。また、割り当てプログラムは、ハードディスク、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
【符号の説明】
【００８１】
１００      割り当て装置
１０１      アクセスログ記憶部
１０２      ロール記憶部
１０３      識別部
１０４      算出部
１０５      割り当て部
１０６      出力部
２００      割り当て装置
２０１      アクセスログ記憶部
２０２      ユーザロール記憶部
２０３      アクセス指標計算式記憶部
２１０      制御部
２１１      識別部
２１２      算出部
２１３      リソースロール割り当て部
【図１】
2011227579.tif 000003
【図２】
2011227579.tif 000004
【図３】
2011227579.tif 000005
【図４】
2011227579.tif 000006
【図５】
2011227579.tif 000007
【図６】
2011227579.tif 000008
【図７】
2011227579.tif 000009
【図８】
2011227579.tif 000010
【図９】
2011227579.tif 000011
【図１０】
2011227579.tif 000012
【図１１】
2011227579.tif 000013
【図１２】
2011227579.tif 000014