(57)【要約】【課題】検索速度を向上するとともに、アクセス権限の変化に柔軟に対応する。【解決手段】利用者属性判定部１４１は、検索条件を指定した利用者が有する属性を判定する。利用者役割判定部１４２は、利用者属性判定部１４１が判定した属性に基づいて、その利用者が有する役割を判定する。利用者権限判定部１４３は、利用者役割判定部１４２が判定した役割に基づいて、その利用者が有するアクセス権限を判定する。検索対象抽出部１４４は、利用者権限判定部１４３が判定したアクセス権限に基づいて、検索対象記憶部１２２が記憶した検索対象データのなかから、その利用者にアクセス権限がある検索対象データを抽出する。データ検索部１５２は、検索対象抽出部１４４が抽出した検索対象データのなかから、検索条件を満たす検索対象データを検索する。【選択図】図４
2010020525.tif 000002
【特許請求の範囲】
【請求項１】
データを記憶する記憶装置と、データを処理する処理装置と、検索対象記憶部と、利用者属性判定部と、利用者役割判定部と、利用者権限判定部と、検索対象抽出部と、検索条件入力部と、データ検索部と、検索結果出力部とを有し、
上記検索対象記憶部は、上記記憶装置を用いて、検索の対象となる検索対象データを記憶し、
上記検索条件入力部は、上記処理装置を用いて、利用者が指定した検索条件を入力し、
上記利用者属性判定部は、上記処理装置を用いて、上記検索条件を指定した利用者が有する属性を判定し、
上記利用者役割判定部は、上記処理装置を用いて、上記利用者属性判定部が判定した属性に基づいて、上記検索条件を指定した利用者が有する役割を判定し、
上記利用者権限判定部は、上記処理装置を用いて、上記利用者役割判定部が判定した役割に基づいて、上記検索条件を指定した利用者が有するアクセス権限を判定し、
上記検索対象抽出部は、上記処理装置を用いて、上記利用者権限判定部が判定したアクセス権限に基づいて、上記検索対象記憶部が記憶した検索対象データのなかから、上記検索条件を指定した利用者にアクセス権限がある検索対象データを抽出し、
上記データ検索部は、上記処理装置を用いて、上記検索対象抽出部が抽出した検索対象データのなかから、上記検索条件入力部が入力した検索条件を満たす検索対象データを検索し、
上記検索結果出力部は、上記処理装置を用いて、上記データ検索部が検索した検索結果を出力することを特徴とする検索装置。
【請求項２】
上記検索装置は、更に、役割権限記憶部を有し、
上記役割権限記憶部は、上記記憶装置を用いて、利用者が有する役割と、上記役割を有する利用者が有するアクセス権限との組み合わせを表わす役割権限データを記憶し、
上記利用者権限判定部は、上記処理装置を用いて、上記役割権限記憶部が記憶した役割権限データに基づいて、上記検索条件を指定した利用者が有するアクセス権限を判定することを特徴とする請求項１に記載の検索装置。
【請求項３】
上記役割権限記憶部は、上記記憶装置を用いて、利用者が有する役割と、上記役割を有する利用者が有するアクセス権限と、上記アクセス権限が有効となる有効条件との組み合わせを表わす役割権限データを記憶し、
上記利用者権限判定部は、上記処理装置を用いて、上記役割権限記憶部が記憶した役割権限データに基づいて、上記検索条件を指定した利用者が有する有効なアクセス権限を判定することを特徴とする請求項２に記載の検索装置。
【請求項４】
上記検索装置は、更に、グループ所属記憶部を有し、
上記グループ所属記憶部は、上記記憶装置を用いて、検索対象データと、上記検索対象データが属するグループとの組み合わせを表わすグループ所属データを記憶し、
上記検索対象抽出部は、上記処理装置を用いて、上記グループ所属記憶部が記憶したグループ所属データに基づいて、上記検索条件を指定した利用者にアクセス権限があるグループに属する検索対象データを抽出することを特徴とする請求項１乃至請求項３のいずれかに記載の検索装置。
【請求項５】
上記検索装置は、更に、グループ条件記憶部と、所属抽出部とを有し、
上記グループ条件記憶部は、上記記憶装置を用いて、検索対象データが属するグループと、上記グループに属する検索対象データが満たす所属条件との組み合わせを表わすグループ条件データを記憶し、
上記所属抽出部は、上記処理装置を用いて、上記グループ条件記憶部が記憶したグループ条件データに基づいて、上記検索対象記憶部が記憶した検索対象データのなかから、上記所属条件を満たす検索対象データを抽出し、抽出した検索対象データに基づいて、上記グループ所属データを生成し、
上記グループ所属記憶部は、上記記憶装置を用いて、上記所属抽出部が生成したグループ所属データを記憶することを特徴とする請求項４に記載の検索装置。
【請求項６】
上記検索装置は、更に、所属更新部を有し、
上記所属更新部は、上記処理装置を用いて、上記検索対象記憶部が新たな検索対象データを記憶した場合に、上記グループ条件記憶部が記憶したグループ条件データに基づいて、上記検索対象記憶部が新たに記憶した検索対象データが満たす所属条件を抽出し、抽出した所属条件に基づいて、上記グループ所属記憶部が記憶したグループ所属データを更新することを特徴とする請求項５に記載の検索装置。
【請求項７】
上記所属更新部は、上記処理装置を用いて、上記検索対象記憶部が記憶した検索対象データが更新された場合に、上記グループ条件記憶部が記憶したグループ条件データに基づいて、更新された検索対象データが満たす所属条件を抽出し、抽出した所属条件に基づいて、上記グループ所属記憶部が記憶したグループ所属データを更新することを特徴とする請求項６に記載の検索装置。
【請求項８】
上記検索装置は、更に、利用者属性記憶部を有し、
上記利用者属性記憶部は、上記記憶装置を用いて、利用者と、上記利用者が有する属性との組み合わせを表わす利用者属性データを記憶し、
上記利用者属性判定部は、上記処理装置を用いて、上記利用者属性記憶部が記憶した利用者属性データに基づいて、上記検索条件を指定した利用者が有する属性を判定することを特徴とする請求項１乃至請求項７のいずれかに記載の検索装置。
【請求項９】
上記検索装置は、更に、役割条件記憶部を有し、
上記役割条件記憶部は、上記記憶装置を用いて、利用者が有する属性についての属性条件と、上記属性条件を満たす利用者が有する役割との組み合わせを表わす役割条件データを記憶し、
上記利用者役割判定部は、上記処理装置を用いて、上記役割条件記憶部が記憶した役割条件データに基づいて、上記検索条件を指定した利用者が有する役割を判定することを特徴とする請求項１乃至請求項８のいずれかに記載の検索装置。
【請求項１０】
請求項１乃至請求項９のいずれかに記載の検索装置としてコンピュータを機能させることを特徴とするコンピュータプログラム。
【請求項１１】
データを記憶する記憶装置と、データを処理する処理装置とを有する検索装置が、上記記憶装置が記憶した検索対象データを検索する検索方法において、
上記処理装置が、利用者が指定した検索条件を入力し、
上記処理装置が、上記検索条件を指定した利用者が有する属性を判定し、
上記処理装置が、判定した属性に基づいて、上記検索条件を指定した利用者が有する役割を判定し、
上記処理装置が、判定した役割に基づいて、上記検索条件を指定した利用者が有するアクセス権限を判定し、
上記処理装置が、判定したアクセス権限に基づいて、上記検索対象データのなかから、上記検索条件を指定した利用者にアクセス権限がある検索対象データを抽出し、
上記処理装置が、抽出した検索対象データのなかから、入力した検索条件を満たす検索対象データを検索し、
上記処理装置が、検索した検索結果を出力することを特徴とする検索方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、検索の対象となるデータのなかから、利用者にアクセス権限があり、かつ、検索条件に合致するデータを検索する検索装置に関する。
【背景技術】
【０００２】
業務のＩＴ化に伴い、文書の電子化が進み、電子文書管理システムが管理する電子文書ファイルなどのデータは、膨大な量に達している。このような膨大な数のデータのなかから、検索条件に合致するデータを検索する場合、検索に時間がかかる。
また、セキュリティの観点から、データにアクセスできる利用者を制限する場合がある。その場合、検索した利用者にアクセス権限がないデータは、検索結果に含めないようにしなければならないので、更に、そのデータに対するアクセス権限をチェックする処理を追加する必要がある。
このような課題を解決するための技術として、例えば、特許文献１に記載の技術がある。
【特許文献１】特開２００４−１６４５５５号公報
【特許文献２】特開２００５−８５１１３号公報
【特許文献３】特開２００６−９９７３６号公報
【特許文献４】特開２００１−１６７１１３号公報
【特許文献５】特開２００３−６７２５０号公報
【特許文献６】特開２００６−２６８７００号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
利用者と、その利用者にアクセス権限があるデータとの関係は、様々な要因により変化する場合がある。
例えば、人事異動により、ある利用者があるプロジェクトから外された場合、その利用者は、それまで閲覧可能だったデータに対するアクセス権限を失い、閲覧できなくなる。
また、あるプロジェクトの特定の利用者しか閲覧できなかったデータが、そのプロジェクトが一般公開された時点で、一般の利用者に閲覧可能となる場合がある。その他、データの機密保持期間が終了したために、一般利用者が閲覧可能となる場合もある。
この発明は、例えば、上記のような課題を解決するためになされたものであり、大量のデータのなかから検索条件に合致するデータを検索する速度を向上するとともに、利用者と、その利用者にアクセス権限があるデータとの関係が変化した場合であっても、柔軟に対応することができるようにすることを目的とする。
【課題を解決するための手段】
【０００４】
この発明にかかる検索装置は、データを記憶する記憶装置と、データを処理する処理装置と、検索対象記憶部と、利用者属性判定部と、利用者役割判定部と、利用者権限判定部と、検索対象抽出部と、検索条件入力部と、データ検索部と、検索結果出力部とを有し、
上記検索対象記憶部は、上記記憶装置を用いて、検索の対象となる検索対象データを記憶し、
上記検索条件入力部は、上記処理装置を用いて、利用者が指定した検索条件を入力し、
上記利用者属性判定部は、上記処理装置を用いて、上記検索条件を指定した利用者が有する属性を判定し、
上記利用者役割判定部は、上記処理装置を用いて、上記利用者属性判定部が判定した属性に基づいて、上記検索条件を指定した利用者が有する役割を判定し、
上記利用者権限判定部は、上記処理装置を用いて、上記利用者役割判定部が判定した役割に基づいて、上記検索条件を指定した利用者が有するアクセス権限を判定し、
上記検索対象抽出部は、上記処理装置を用いて、上記利用者権限判定部が判定したアクセス権限に基づいて、上記検索対象記憶部が記憶した検索対象データのなかから、上記検索条件を指定した利用者にアクセス権限がある検索対象データを抽出し、
上記データ検索部は、上記処理装置を用いて、上記検索対象抽出部が抽出した検索対象データのなかから、上記検索条件入力部が入力した検索条件を満たす検索対象データを検索し、
上記検索結果出力部は、上記処理装置を用いて、上記データ検索部が検索した検索結果を出力することを特徴とする。
【発明の効果】
【０００５】
この発明にかかる検索装置によれば、データ検索部が検索条件に合う検索対象データを検索する範囲を、検索条件を指定した利用者にアクセス権限がある検索対象データに限定するので、検索にかかる時間を短縮することができる。また、利用者属性判定部が利用者の属性を判定し、利用者役割判定部が利用者の属性から役割を判定し、利用者権限判定部が利用者の役割からアクセス権限を判定するので、様々な要因で利用者にアクセス権限がある検索対象データの範囲が変わった場合に、柔軟に対応することができる。
【発明を実施するための最良の形態】
【０００６】
実施の形態１．
実施の形態１について、図１〜図１４を用いて説明する。
【０００７】
図１は、この実施の形態における検索システム８００の全体構成の一例を示すシステム構成図である。
検索システム８００は、検索装置１００、管理者端末装置８１０、利用者端末装置８２０を有する。
検索装置１００は、管理情報データと、検索対象データとを記憶している。管理情報データは、検索対象データに対してアクセスする権限が利用者にあるか否かを判定するために用いられる管理情報を表わすデータである。
管理者は、管理者端末装置８１０を操作して、管理情報を指定する。管理者端末装置８１０は、管理者の操作にしたがって、管理者が指定した管理情報を入力する。管理者端末装置８１０は、入力した管理情報を表わす管理情報データを検索装置１００に対して送信する。
検索装置１００は、管理者端末装置８１０が送信した管理情報データを受信し、受信した管理情報データに基づいて、記憶した管理情報データを更新する。
利用者は、利用者端末装置８２０を操作して、検索条件を指定する。利用者端末装置８２０は、利用者の操作にしたがって、利用者が指定した検索条件を入力する。利用者端末装置８２０は、入力した検索条件を表わすデータ（以下「検索条件データ」と呼ぶ。）を検索装置１００に対して送信する。
検索装置１００は、利用者端末装置８２０が送信した検索条件データを受信し、受信した検索条件データが表わす検索条件に基づいて、記憶した検索対象データのなかから、検索条件を満たす検索対象データを検索する。このとき、検索装置１００は、記憶した管理情報データが表わす管理情報に基づいて、それぞれの検索対象データに対するアクセス権限が利用者にあるか否かを判定し、その利用者にアクセス権限のある検索対象データのみを検索し、その利用者にアクセス権限がない検索対象データは検索しない。検索装置１００は、検索した結果を表わすデータ（以下「検索結果データ」と呼ぶ。）を利用者端末装置８２０に対して送信する。
利用者端末装置８２０は、検索装置１００が送信した検索結果データを受信し、受信した検索結果データが表わす検索結果を、表示するなどして利用者に提示する。
【０００８】
図２は、この実施の形態における検索装置１００、管理者端末装置８１０、利用者端末装置８２０の外観の一例を示す図である。
検索装置１００、管理者端末装置８１０、利用者端末装置８２０は、システムユニット９１０、ＣＲＴ（Ｃａｔｈｏｄｅ・Ｒａｙ・Ｔｕｂｅ）やＬＣＤ（液晶）の表示画面を有する表示装置９０１、キーボード９０２（Ｋｅｙ・Ｂｏａｒｄ：Ｋ／Ｂ）、マウス９０３、ＦＤＤ９０４（Ｆｌｅｘｉｂｌｅ・Ｄｉｓｋ・Ｄｒｉｖｅ）、コンパクトディスク装置９０５（ＣＤＤ）、プリンタ装置９０６、スキャナ装置９０７などのハードウェア資源を備え、これらはケーブルや信号線で接続されている。
システムユニット９１０は、コンピュータであり、ファクシミリ機９３２、電話器９３１とケーブルで接続され、また、ローカルエリアネットワーク９４２（ＬＡＮ）、ゲートウェイ９４１を介してインターネット９４０に接続されている。
【０００９】
図３は、この実施の形態における検索装置１００、管理者端末装置８１０、利用者端末装置８２０のハードウェア資源の一例を示す図である。
検索装置１００、管理者端末装置８１０、利用者端末装置８２０は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ・Ｐｒｏｃｅｓｓｉｎｇ・Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。ＣＰＵ９１１は、バス９１２を介してＲＯＭ９１３、ＲＡＭ９１４、通信装置９１５、表示装置９０１、キーボード９０２、マウス９０３、ＦＤＤ９０４、ＣＤＤ９０５、プリンタ装置９０６、スキャナ装置９０７、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置９２０の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
通信装置９１５、キーボード９０２、スキャナ装置９０７、ＦＤＤ９０４などは、入力部、入力装置の一例である。
また、通信装置９１５、表示装置９０１、プリンタ装置９０６などは、出力部、出力装置の一例である。
【００１０】
通信装置９１５は、ファクシミリ機９３２、電話器９３１、ＬＡＮ９４２等に接続されている。通信装置９１５は、ＬＡＮ９４２に限らず、インターネット９４０、ＩＳＤＮ等のＷＡＮ（ワイドエリアネットワーク）などに接続されていても構わない。インターネット９４０或いはＩＳＤＮ等のＷＡＮに接続されている場合、ゲートウェイ９４１は不用となる。
磁気ディスク装置９２０には、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。プログラム群９２３のプログラムは、ＣＰＵ９１１、オペレーティングシステム９２１、ウィンドウシステム９２２により実行される。
【００１１】
上記プログラム群９２３には、以下に述べる実施の形態の説明において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
ファイル群９２４には、以下に述べる実施の形態の説明において、「〜の判定結果」、「〜の計算結果」、「〜の処理結果」として説明する情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのＣＰＵの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、以下に述べる実施の形態の説明において説明するフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、ＲＡＭ９１４のメモリ、ＦＤＤ９０４のフレキシブルディスク、ＣＤＤ９０５のコンパクトディスク、磁気ディスク装置９２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ（Ｄｉｇｉｔａｌ・Ｖｅｒｓａｔｉｌｅ・Ｄｉｓｋ）等の記録媒体に記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【００１２】
また、以下に述べる実施の形態の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。すなわち、プログラムは、以下に述べる「〜部」としてコンピュータを機能させるものである。あるいは、以下に述べる「〜部」の手順や方法をコンピュータに実行させるものである。
【００１３】
図４は、この実施の形態における検索装置１００の機能ブロックの構成の一例を示すブロック構成図である。
検索装置１００は、管理情報入力部１１１、管理情報更新部１１２、利用者属性記憶部１１３、役割条件記憶部１１４、役割権限記憶部１１５、グループ条件記憶部１１６、検索対象更新部１２１、検索対象記憶部１２２、所属抽出部１２３、所属更新部１２４、グループ所属記憶部１２５、複製記憶部１２６、認証記憶部１３１、認証入力部１３２、認証判定部１３３、利用者識別記憶部１３４、利用者属性判定部１４１、利用者役割判定部１４２、利用者権限判定部１４３、検索対象抽出部１４４、検索条件入力部１５１、データ検索部１５２、検索結果出力部１５３を有する。
【００１４】
管理情報入力部１１１は、通信装置９１５を用いて、管理者端末装置８１０が送信した管理情報データを受信する。管理情報入力部１１１は、ＣＰＵ９１１を用いて、受信した管理情報データを出力する。
【００１５】
管理情報更新部１１２は、ＣＰＵ９１１を用いて、管理情報入力部１１１が出力した管理情報データを入力する。管理情報更新部１１２は、ＣＰＵ９１１を用いて、入力した管理情報データに基づいて、検索装置１００が記憶した管理情報データを更新する。
検索装置１００が記憶した管理情報データには、利用者属性データ、役割条件データ、役割権限データ、グループ条件データなどがある。
【００１６】
利用者属性記憶部１１３は、磁気ディスク装置９２０を用いて、管理情報データのうち、利用者属性データを記憶する。利用者属性データとは、利用者と、その利用者が有する属性との組み合わせを表わすデータである。
【００１７】
図５は、この実施の形態における利用者属性記憶部１１３が記憶する利用者属性データ５１０の一例を示す図である。
利用者属性データ５１０（ユーザ情報）は、例えば、利用者識別データ５１１、所属組織データ５１２、役職データ５１３、社員区分データ５１４、配属区分データ５１５、その他属性データ５１６を一組のデータ（以下「ユーザ情報データ」と呼ぶ。）として、１つ以上のユーザ情報データを含む。
【００１８】
利用者識別データ５１１は、ユーザＩＤなど、利用者を一意に識別する文字列を表わす文字列データである。
所属組織データ５１２は、その利用者が所属する組織を表わす文字列データである。
役職データ５１３は、その利用者の役職を表わす文字列データである。
社員区分データ５１４は、その利用者の社員区分を表わす文字列データである。
配属区分データ５１５は、その利用者の配属区分を表わす文字列データある。
その他属性データ５１６は、その利用者が有する上記以外の属性を表わす文字列データである。
利用者の所属組織、役職、社員区分、配属区分などは、利用者が有する属性の一例である。
【００１９】
この例における利用者属性データ５１０は、例えば、利用者識別データ５１１が「ｓａｔｏｕ」である利用者が、Ａ部Ａ１課の担当であり、正社員であることを表わしている。
また、利用者識別データ５１１が「ｔａｎａｋａ」である利用者は、Ｂ部の部長であるとともに、Ａ部Ａ１課の課長を兼務し、プロジェクトＡに参加していることを表わしている。
【００２０】
図４に戻り、検索装置１００の機能ブロックについての説明を続ける。
【００２１】
役割条件記憶部１１４は、磁気ディスク装置９２０を用いて、管理情報データのうち、役割条件データを記憶する。役割条件データとは、利用者の属性についての条件（以下「属性条件」と呼ぶ。）と、その属性条件を満たす利用者が有する役割（ロール）との組み合わせを表わすデータである。
【００２２】
図６は、この実施の形態における役割条件記憶部１１４が記憶する役割条件データ５２０の一例を示す図である。
役割条件データ５２０（ロール情報）は、役割識別データ５２１、役割名称データ５２２、属性条件データ５２３を一組のデータ（以下「ロール情報データ」と呼ぶ。）として、１つ以上のロール情報データを含む。
【００２３】
役割識別データ５２１（ロールＩＤ）は、役割を一意に識別する文字列を表わす文字列データである。
役割名称データ５２２は、その役割の名称を表わす文字列データである。
属性条件データ５２３は、利用者がその役割を有するための属性条件を表わす文字列データである。すなわち、属性条件データ５２３が表わす属性条件を利用者が満たしている場合に、その利用者がその役割を有していることになる。
【００２４】
この例における役割条件データ５２０は、例えば、役割識別データ５２１が「ＲＯＬ００１」である役割を利用者が有するためには、利用者属性データ５１０の役職データ５１３が表わす「役職」属性が「担当」であることが条件となることを表わしている。これを、図５に示した利用者属性データ５１０に当てはめると、役割識別データ５２１が「ＲＯＬ００１」である役割を有する利用者は、利用者識別データ５１１が「ｓａｔｏｕ」である利用者、利用者識別データ５１１が「ｓｕｚｕｋｉ」である利用者、利用者識別データ５１１が「ｔａｋａｈａｓｈｉ」である利用者であることがわかる。
また、複数の属性についての条件を組み合わせてもよく、例えば、役割識別データ５２１が「ＲＯＬ００６」である役割を利用者が有するためには、利用者属性データ５１０の社員区分データ５１４が表わす「社員区分」属性が「社員」であり、かつ、その他属性データ５１６が表わす「その他」属性が「休職中」でないことが条件となることを表わしている。これを、図５に示した利用者属性データ５１０に当てはめると、役割識別データ５２１が「ＲＯＬ００６」である役割を有する利用者は、利用者識別データ５１１が「ｓａｔｏｕ」「ｓａｉｔｏｕ」「ｙａｍａｄａ」「ｔａｎａｋａ」のいずれかである利用者であることがわかる。
【００２５】
図４に戻り、検索装置１００の機能ブロックについての説明を続ける。
【００２６】
役割権限記憶部１１５は、磁気ディスク装置９２０を用いて、管理情報データのうち、役割権限データを記憶する。役割権限データとは、利用者が有する役割と、その役割を有する利用者が有するアクセス権限との組み合わせを表わすデータである。
【００２７】
図７は、この実施の形態における役割権限記憶部１１５が記憶する役割権限データ５３０の一例を示す図である。
役割権限データ５３０（アクセス制御情報）は、権限識別データ５３１、権限役割データ５３２、権限グループデータ５３３を一組のデータ（以下「アクセス制御情報データ」と呼ぶ。）として、１つ以上のアクセス制御情報データを含む。
【００２８】
権限識別データ５３１（アクセス制御ＩＤ）は、アクセス権限を一意に識別する文字列を表わす文字列データである。
権限役割データ５３２（ロールＩＤ）は、そのアクセス権限を有する利用者が有する役割を示す役割識別データのリストを表わす文字列データである。
権限グループデータ５３３（グループＩＤ）は、そのアクセス権限を有する利用者がアクセスすることができる検索対象データが属するグループを示すグループ識別データのリストを表わす文字列データである。
【００２９】
この例における役割権限データ５３０は、例えば、権限識別データ５３１が「ＡＣＬ００１」であるアクセス権限は、役割識別データが「ＲＯＬ００１」である役割を有する利用者が有し、その利用者は、グループ識別データが「ＧＲＰ００１」であるグループに属する検索対象データにアクセスしてよいことを表わしている。
また、一つのアクセス権限に複数の役割が対応してもよく、例えば、権限識別データ５３１が「ＡＣＬ００２」であるアクセス権限は、役割識別データが「ＲＯＬ００２」「ＲＯＬ００３」のいずれかである役割を有する利用者が有することを表わしている。
逆に、一つのアクセス権限に複数のグループが対応してもよく、例えば、権限識別データ５３１が「ＡＣＬ００３」であるアクセス権限を有する利用者は、グループ識別データが「ＧＲＰ００３」「ＧＲＰ００５」のいずれかであるグループに属する検索対象データにアクセスすることが許可されていることを表わしている。
【００３０】
図４に戻り、検索装置１００の機能ブロックについての説明を続ける。
【００３１】
グループ条件記憶部１１６は、磁気ディスク装置９２０を用いて、管理情報データのうち、グループ条件データを記憶する。グループ条件データとは、検索対象データが属するグループと、そのグループに属する検索対象データが満たすべき条件（以下「所属条件」と呼ぶ。）との組み合わせを表わすデータである。
【００３２】
図８は、この実施の形態におけるグループ条件記憶部１１６が記憶するグループ条件データ５４０の一例を示す図である。
グループ条件データ５４０（グループ情報）は、グループ識別データ５４１、グループ名称データ５４２、所属条件データ５４３、グループインデックスデータ５４４を一組のデータ（以下「グループ情報データ」と呼ぶ。）として、１つ以上のグループ情報データを含む。
【００３３】
グループ識別データ５４１（グループＩＤ）は、グループを一意に識別する文字列を表わす文字列データである。
グループ名称データ５４２は、そのグループの名称を表わす文字列データである。
所属条件データ５４３は、検索対象データがそのグループに属するための所属条件を表わす文字列データである。すなわち、所属条件データ５４３が表わす所属条件を検索対象データが満たしている場合に、その検索対象データがそのグループに属していることになる。
グループインデックスデータ５４４（インデックスＩＤ）は、そのグループに属すると判定した検索対象データの在り処を示すインデックス（例えばパス名＋ファイル名）を記録するインデックスファイルのファイル名を表わす文字列データである。
【００３４】
この例におけるグループ条件データ５４０は、例えば、グループ識別データ５４１が「ＧＲＰ００１」であるグループには、検索対象データが有する属性のうち「対象者」属性が「担当」である検索対象データが属することを表わしている。
また、グループ識別データ５４１が「ＧＲＰ００２」であるグループには、検索対象データのパスが「／／ｆｉｌｅ／ｓａｉｙｏｕ／」である検索対象データが属することを表わしている。
【００３５】
図４に戻り、検索装置１００の機能ブロックについての説明を続ける。
【００３６】
検索対象記憶部１２２は、磁気ディスク装置９２０を用いて、１つ以上の検索対象データを記憶する。
【００３７】
グループ所属記憶部１２５は、磁気ディスク装置９２０を用いて、検索対象記憶部１２２が記憶した検索対象データと、その検索対象データが属するグループとの組み合わせを表わすデータ（以下「グループ所属データ」と呼ぶ。）を記憶する。
【００３８】
図９は、この実施の形態におけるグループ所属記憶部１２５が記憶するグループ所属データ５５０の一例を示す図である。
グループ所属データ５５０は、１つ以上のインデックスファイル５５１からなる。インデックスファイル５５１は、所属インデックスデータ５５２を記録したファイルである。
【００３９】
所属インデックスデータ５５２は、グループ条件記憶部１１６が記憶したグループ条件データ５４０においてそのインデックスファイル５５１のファイル名が対応づけられたグループに属する検索対象データの在り処を示すインデックスのリストを表わす文字列データである。
【００４０】
この例におけるグループ所属データ５５０は、例えば、ファイル名が「ｇｒｐ００１．ｉｄｘ」であるインデックスファイル５５１に対応づけられたグループに、インデックスが「／／ｆｉｌｅ／ｐｏｓｉｔｉｏｎ／ｔａｎｔｏｕ／ｆｉｌｅ３４．ｄｏｃ」である検索対象データと、インデックスが「／／ｆｉｌｅ／ｇｅｎｅｒａｌ／ｆｉｌｅ８２．ｐｄｆ」である検索対象データとが属することを表わしている。
図８に示したグループ条件データ５４０によれば、ファイル名が「ｇｒｐ００１．ｉｄｘ」であるインデックスファイル５５１には、グループ識別データが「ＧＲＰ００１」であるグループが対応づけられている。
したがって、この例におけるグループ所属データ５５０は、グループ識別データが「ＧＲＰ００１」であるグループに、インデックスが「／／ｆｉｌｅ／ｐｏｓｉｔｉｏｎ／ｔａｎｔｏｕ／ｆｉｌｅ３４．ｄｏｃ」である検索対象データと、インデックスが「／／ｆｉｌｅ／ｇｅｎｅｒａｌ／ｆｉｌｅ８２．ｐｄｆ」である検索対象データとが属することを表わしている。
【００４１】
図４に戻り、検索装置１００の機能ブロックについての説明を続ける。
【００４２】
複製記憶部１２６は、磁気ディスク装置９２０を用いて、グループ所属記憶部１２５が記憶したグループ所属データ５５０と実質的に同一のデータ（以下「複製グループ所属データ」と呼ぶ。）を記憶する。例えば、複製記憶部１２６は、磁気ディスク装置９２０を用いて、グループ所属データ５５０と同一のデータ、あるいは、グループ所属データ５５０とデータ形式は異なるが、表わす内容が同一であるデータを複製グループ所属データとして記憶する。例えば、複製記憶部１２６は、磁気ディスク装置９２０を用いて、グループ所属データ５５０に含まれるインデックスファイル５５１をすべて結合し、インデックスファイル５５１のファイル名もしくは対応するグループ識別データから、そのインデックスファイル５５１に記録された所属インデックスデータ５５２を取得できるよう構成された複製グループ所属データを記憶する。
【００４３】
検索対象更新部１２１は、ＣＰＵ９１１を用いて、検索対象記憶部１２２に新たな検索対象データを追加し、検索対象記憶部１２２が記憶した検索対象データを更新し、検索対象記憶部１２２が記憶した検索対象データを削除する。検索対象更新部１２１は、ＣＰＵ９１１を用いて、追加・更新・削除した検索対象データを示すデータ（以下「更新通知データ」と呼ぶ。）を出力する。
【００４４】
所属抽出部１２３は、ＣＰＵ９１１を用いて、検索対象更新部１２１が出力した更新通知データを入力する。所属抽出部１２３は、ＣＰＵ９１１を用いて、入力した更新通知データを解析し、検索対象更新部１２１が追加・更新・削除した検索対象データを特定する。
所属抽出部１２３は、ＣＰＵ９１１を用いて、グループ条件記憶部１１６が記憶したグループ条件データ５４０を入力する。所属抽出部１２３は、ＣＰＵ９１１を用いて、検索対象記憶部１２２が記憶した検索対象データのなかから、特定した検索対象データを入力する。所属抽出部１２３は、ＣＰＵ９１１を用いて、入力したグループ条件データ５４０に基づいて、入力した検索対象データが属するグループを判定する。所属抽出部１２３は、ＣＰＵ９１１を用いて、入力した検索対象データが属すると判定したグループのリストを生成する。所属抽出部１２３は、ＣＰＵ９１１を用いて、生成したリストを表わすデータ（以下「所属グループリストデータ」と呼ぶ。）を出力する。所属グループリストデータは、例えば、０個以上のグループ識別データ（またはインデックスファイルのファイル名を表わす文字列データ）を含む。
【００４５】
所属更新部１２４は、ＣＰＵ９１１を用いて、所属抽出部１２３が出力した所属グループリストデータと、複製記憶部１２６が記憶した複製グループ所属データとを入力する。所属更新部１２４は、ＣＰＵ９１１を用いて、入力した複製グループ所属データに基づいて、所属抽出部１２３が特定した検索対象データが属するグループのリストを生成する。所属更新部１２４は、ＣＰＵ９１１を用いて、生成したグループのリストと、入力した所属グループリストデータが表わすグループのリストとを比較して、更新すべきインデックスファイル５５１を特定する。
例えば、検索対象データの追加や更新により、その検索対象データが新たに所属条件を満たすようになったグループがある場合、そのグループは、所属グループリストデータが表わすリストに含まれるが、複製グループ所属データから生成したリストには含まれない。逆に、検索対象データの更新や削除により、その検索対象データが所属条件を満たさなくなったグループがある場合、そのグループは、所属グループリストデータが表わすリストには含まれないが、複製グループ所属データから生成したリストには含まれる。いずれの場合であっても、そのグループについてのインデックスファイル５５１を最新の状態に更新する必要がある。このように、所属更新部１２４は、ＣＰＵ９１１を用いて、二つのリストを比較することにより、更新すべきインデックスファイル５５１を特定する。
所属更新部１２４は、ＣＰＵ９１１を用いて、入力した複製グループ所属データと、所属グループリストデータとに基づいて、特定したインデックスファイル５５１に記録すべき所属インデックスデータを生成する。所属更新部１２４は、ＣＰＵ９１１を用いて、グループ所属記憶部１２５が記憶したグループ所属データ５５０のうち、特定したインデックスファイル５５１を更新して、生成した所属インデックスデータ５５２を記憶させる。所属更新部１２４は、ＣＰＵ９１１を用いて、更新したグループ所属データ５５０と同一の内容を表わすよう、複製記憶部１２６が記憶した複製グループ所属データを更新する。
【００４６】
また、グループ条件記憶部１１６が記憶したグループ条件データを管理情報更新部１１２が更新した場合、所属抽出部１２３は、ＣＰＵ９１１を用いて、検索対象記憶部１２２が記憶したすべての検索対象データのなかから、更新された所属条件を満たす検索対象データを抽出する。所属抽出部１２３は、ＣＰＵ９１１を用いて、抽出した検索対象データのリストを生成する。所属抽出部１２３は、ＣＰＵ９１１を用いて、生成したリストを表わすデータ（以下「所属データリストデータ」と呼ぶ。）を出力する。
【００４７】
所属更新部１２４は、ＣＰＵ９１１を用いて、所属抽出部１２３が出力した所属データリストデータと、複製記憶部１２６が記憶した複製グループ所属データとを入力する。所属更新部１２４は、ＣＰＵ９１１を用いて、入力した複製グループ所属データに基づいて、所属条件が更新されたグループに属する検索対象データのリストを生成する。所属更新部１２４は、ＣＰＵ９１１を用いて、生成したリストと、入力した所属データリストデータが表わすリストとを比較して、グループ所属記憶部１２５が記憶したそのグループについてのインデックスファイル５５１を更新すべきか否かを判定する。二つのリストがまったく等しければ更新の必要はないが、二つのリストに相違する点がある場合、所属更新部１２４は、ＣＰＵ９１１を用いて、更新すべきであると判定する。
更新すべきであると判定した場合、所属更新部１２４は、ＣＰＵ９１１を用いて、入力した所属データリストデータに基づいて、更新後のインデックスファイル５５１に記録すべき所属インデックスデータを生成する。所属更新部１２４は、ＣＰＵ９１１を用いて、グループ所属記憶部１２５が記憶したグループ所属データ５５０のうち、所属条件が更新されたグループについてのインデックスファイル５５１を更新して、生成した所属インデックスデータを記憶させる。所属更新部１２４は、ＣＰＵ９１１を用いて、更新したグループ所属データ５５０と同一の内容を表わすよう、複製記憶部１２６が記憶した複製グループ所属データを更新する。
【００４８】
このように、検索対象記憶部１２２が記憶した検索対象データや、グループ条件記憶部１１６が記憶したグループ条件データが更新された場合に、グループ所属記憶部１２５が記憶したグループ所属データを、所属更新部１２４が更新し、常に最新の状態に保つ。
なお、検索対象記憶部１２２が記憶した検索対象データや、グループ条件記憶部１１６が記憶したグループ条件データが更新されたか否かに関わらず、すべてのグループについて、そのグループに属する検索対象データを、所属抽出部１２３が定期的に抽出し、グループ所属記憶部１２５が記憶したグループ所属データを、所属更新部１２４が更新する構成としてもよい。
【００４９】
認証記憶部１３１は、磁気ディスク装置９２０を用いて、認証データを記憶する。認証データとは、利用者と、その利用者を認証するための情報（例えばパスワード）との組み合わせを表わすデータである。認証データは、例えば、利用者を示す利用者識別データと、その利用者のパスワードを表わす文字列データとを一組とし、１つ以上の組からなるデータである。
【００５０】
利用者が検索システム８００にログインしようとする際、利用者端末装置８２０は、キーボード９０２などを用いて、利用者識別データと、パスワードとを入力する。利用者端末装置８２０は、通信装置９１５を用いて、入力した利用者識別データとパスワードとを、検索装置１００に対して送信する。
【００５１】
認証入力部１３２は、通信装置９１５を用いて、利用者端末装置８２０が送信した利用者識別データとパスワードとを受信する。認証入力部１３２は、ＣＰＵ９１１を用いて、受信した利用者識別データとパスワードとを出力する。
【００５２】
認証判定部１３３は、ＣＰＵ９１１を用いて、認証入力部１３２が出力した利用者識別データとパスワードとを入力する。認証判定部１３３は、ＣＰＵ９１１を用いて、認証記憶部１３１が記憶した認証データに基づいて、入力した利用者識別データとパスワードとの組み合わせが正しいか否かを判定する。認証判定部１３３は、ＣＰＵ９１１を用いて、入力した利用者識別データとパスワードとの組み合わせが正しければ、認証成功と判定し、組み合わせが正しくなければ、認証失敗と判定する。認証判定部１３３は、ＣＰＵ９１１を用いて、判定した結果を表わすデータ（以下「認証結果データ」と呼ぶ。）を出力する。また、認証成功と判定した場合、認証判定部１３３は、ＣＰＵ９１１を用いて、入力した利用者識別データを出力する。
【００５３】
利用者識別記憶部１３４は、ＣＰＵ９１１を用いて、認証判定部１３３が出力した利用者識別データを入力する。利用者識別記憶部１３４は、磁気ディスク装置９２０を用いて、入力した利用者識別データを記憶する。
【００５４】
利用者属性判定部１４１は、ＣＰＵ９１１を用いて、利用者識別記憶部１３４が記憶した利用者識別データを入力する。利用者属性判定部１４１は、ＣＰＵ９１１を用いて、利用者属性記憶部１１３が記憶した利用者属性データ５１０に基づいて、入力した利用者識別データによって識別される利用者が有する属性を判定する。利用者属性判定部１４１は、ＣＰＵ９１１を用いて、判定した属性を表わすデータ（以下「検索利用者属性データ」と呼ぶ。）を出力する。
【００５５】
利用者役割判定部１４２は、ＣＰＵ９１１を用いて、利用者属性判定部１４１が出力した検索利用者属性データを入力する。利用者役割判定部１４２は、ＣＰＵ９１１を用いて、役割条件記憶部１１４が記憶した役割条件データに基づいて、入力した検索利用者属性データが表わす属性を有する利用者が有する役割を判定する。利用者役割判定部１４２は、ＣＰＵ９１１を用いて、判定した役割を表わすデータ（以下「検索利用者役割データ」と呼ぶ。）を出力する。
【００５６】
利用者権限判定部１４３は、ＣＰＵ９１１を用いて、利用者役割判定部１４２が出力した検索利用者役割データを入力する。利用者権限判定部１４３は、ＣＰＵ９１１を用いて、役割権限記憶部１１５が記憶した役割権限データに基づいて、入力した検索利用者役割データが表わす役割を有する利用者が有するアクセス権限を判定し、その利用者がアクセスしてもよいグループを判定する。利用者権限判定部１４３は、ＣＰＵ９１１を用いて、判定したグループを表わすデータ（以下「検索利用者グループデータ」と呼ぶ。）を出力する。
【００５７】
検索対象抽出部１４４は、ＣＰＵ９１１を用いて、利用者権限判定部１４３が出力した検索利用者グループデータを入力する。検索対象抽出部１４４は、ＣＰＵ９１１を用いて、グループ条件記憶部１１６が記憶したグループ条件データ５４０に基づいて、入力した検索利用者グループデータが表わすグループを識別するグループ識別データ５４１に対応づけられたグループインデックスデータ５４４を取得する。検索対象抽出部１４４は、ＣＰＵ９１１を用いて、グループ所属記憶部１２５が記憶したグループ所属データのなかから、取得したグループインデックスデータ５４４が表わすファイル名を有するインデックスファイル５５１を選択する。検索対象抽出部１４４は、ＣＰＵ９１１を用いて、選択したインデックスファイル５５１に記録された所属インデックスデータ５５２に基づいて、入力した検索利用者グループデータが表わすグループに属する検索対象データを、検索対象記憶部１２２が記憶した検索対象データのなかから抽出する。検索対象抽出部１４４は、ＣＰＵ９１１を用いて、抽出した検索対象データのリストを表わすデータ（以下「検索対象リストデータ」と呼ぶ。）を出力する。
検索対象抽出部１４４が出力する検索対象リストデータは、その利用者にアクセス権限がある検索対象データのリストを表わす。
【００５８】
認証に成功した場合、利用者端末装置８２０は、キーボード９０２などを用いて、利用者が指定した検索条件を入力する。利用者端末装置８２０は、通信装置９１５を用いて、入力した検索条件を表わす検索条件データを、検索装置１００に対して送信する。
【００５９】
検索条件入力部１５１は、ＣＰＵ９１１を用いて、認証判定部１３３が出力した認証結果データを入力する。検索条件入力部１５１は、入力した認証結果データを解析して、認証判定部１３３による認証結果を判定し、認証成功であれば、通信装置９１５を用いて、利用者端末装置８２０が送信した検索条件データを受信する。検索条件入力部１５１は、ＣＰＵ９１１を用いて、受信した検索条件データを出力する。
【００６０】
データ検索部１５２は、ＣＰＵ９１１を用いて、検索条件入力部１５１が出力した検索条件データと、検索対象抽出部１４４が出力した検索対象リストデータとを入力する。データ検索部１５２は、ＣＰＵ９１１を用いて、検索対象記憶部１２２が記憶した検索対象データのなかから、入力した検索対象リストデータが表わすリストに含まれる検索対象データを取得する。データ検索部１５２は、ＣＰＵ９１１を用いて、取得した検索対象データのなかから、入力した検索条件データが表わす検索条件を満たす検索対象データを検索する。データ検索部１５２は、ＣＰＵ９１１を用いて、検索した結果を表わす検索結果データを出力する。検索結果データは、例えば、検索された検索対象データそのものであってもよいし、検索された検索対象データの在り処を示すインデックスであってもよい。
【００６１】
検索結果出力部１５３は、ＣＰＵ９１１を用いて、データ検索部１５２が出力した検索結果データを入力する。検索結果出力部１５３は、通信装置９１５を用いて、入力した検索結果データを、利用者端末装置８２０に対して送信する。
【００６２】
このように、検索条件を満たす検索対象データを検索するに際して、その利用者にアクセス権限がある検索対象データだけを対象にして検索をするので、検索対象データの数が膨大である場合や、検索対象データの大きさが大きい場合であっても、素早く検索をすることができる。
【００６３】
アクセス権限がない利用者に対して、そのデータの内容を開示しないことはもちろん、そのデータの存在自体を開示しないほうが、データの機密性を高めることができる。
データ検索部１５２が検索した結果には、その利用者にアクセス権限がある検索対象データしか含まれないので、その利用者にアクセス権限があるか否かを改めてチェックする必要がなく、データ検索部１５２が検索した結果を検索装置１００がそのまま出力しても、その利用者にアクセス権限がないデータの存在がその利用者に開示されるのを防ぐことができる。
【００６４】
次に、検索装置１００の動作について説明する。
【００６５】
図１０は、この実施の形態における検索装置１００が検索対象データを検索する検索処理の流れの一例を示すフローチャート図である。
検索処理は、利用者認証工程Ｓ６１０、利用者属性判定工程Ｓ６２０、利用者役割判定工程Ｓ６３０、利用者権限判定工程Ｓ６４０、検索対象抽出工程Ｓ６５０、検索条件入力工程Ｓ６６０、データ検索工程Ｓ６７０、検索結果出力工程Ｓ６８０を有する。
【００６６】
利用者認証工程Ｓ６１０において、認証入力部１３２は、通信装置９１５を用いて、検索対象データを検索しようとしている利用者の利用者識別データとパスワードとを、利用者端末装置８２０から受信する。認証入力部１３２は、ＣＰＵ９１１を用いて、受信した利用者識別データとパスワードとを出力する。
認証判定部１３３は、ＣＰＵ９１１を用いて、認証入力部１３２が出力した利用者識別データとパスワードとを入力する。認証判定部１３３は、ＣＰＵ９１１を用いて、認証記憶部１３１が記憶した認証データを検索し、入力した利用者識別データと一致する利用者識別データと組をなすパスワードを取得する。認証判定部１３３は、ＣＰＵ９１１を用いて、入力したパスワードと、取得したパスワードとを比較して、一致するか否かを判定する。ここで、パスワードが一致すれば認証成功、一致しなければ認証失敗である。
認証判定部１３３は、ＣＰＵ９１１を用いて、パスワードが一致しないと判定した場合、すなわち、認証に失敗した場合、検索処理を終了する。
認証判定部１３３は、ＣＰＵ９１１を用いて、パスワードが一致したと判定した場合、すなわち、認証に成功した場合、入力した利用者識別データを出力する。利用者識別記憶部１３４は、ＣＰＵ９１１を用いて、認証判定部１３３が出力した利用者識別データを入力する。利用者識別記憶部１３４は、磁気ディスク装置９２０を用いて、入力した利用者識別データを記憶する。
【００６７】
利用者属性判定工程Ｓ６２０において、利用者属性判定部１４１は、ＣＰＵ９１１を用いて、利用者認証工程Ｓ６１０で利用者識別記憶部１３４が記憶した利用者識別データを入力する。
利用者属性判定部１４１は、ＣＰＵ９１１を用いて、利用者属性記憶部１１３が記憶した利用者属性データ５１０を検索し、入力した利用者識別データと一致する利用者識別データ５１１と組をなす所属組織データ５１２、役職データ５１３、社員区分データ５１４、配属区分データ５１５、その他属性データ５１６など、その利用者が有する属性を表わすデータを取得して、検索利用者属性データとする。
利用者属性判定部１４１は、ＣＰＵ９１１を用いて、取得した検索利用者属性データを出力する。
【００６８】
利用者役割判定工程Ｓ６３０において、利用者役割判定部１４２は、ＣＰＵ９１１を用いて、利用者認証工程Ｓ６１０で利用者識別記憶部１３４が記憶した利用者識別データによって識別される利用者が有する役割を判定する。
【００６９】
図１１は、この実施の形態における利用者役割判定部１４２が利用者の役割を判定する利用者役割判定工程Ｓ６３０の流れの一例を示すフローチャート図である。
利用者役割判定工程Ｓ６３０は、利用者属性入力工程Ｓ６３１、役割リスト初期化工程Ｓ６３２、役割条件入力工程Ｓ６３３、属性条件判定工程Ｓ６３４、役割リスト追加工程Ｓ６３５、役割条件繰り返し工程Ｓ６３６、利用者役割出力工程Ｓ６３７を有する。
【００７０】
利用者属性入力工程Ｓ６３１において、利用者役割判定部１４２は、ＣＰＵ９１１を用いて、利用者属性判定工程Ｓ６２０で利用者属性判定部１４１が出力した検索利用者属性データを入力する。
【００７１】
役割リスト初期化工程Ｓ６３２において、利用者役割判定部１４２は、ＣＰＵ９１１を用いて、検索利用者役割データを初期化する。検索利用者役割データは、０個以上の役割識別データを含む。検索利用者役割データに含まれる各役割識別データは、その利用者が有する役割を示すものであり、利用者が有する役割の数と同じ数の役割識別データが、検索利用者役割データに含まれる。利用者役割判定部１４２は、ＣＰＵ９１１を用いて、検索利用者役割データに含まれる役割識別データをすべて削除し、検索利用者役割データに役割識別データが１つも含まれない状態とすることにより、検索利用者役割データを初期化する。利用者役割判定部１４２は、磁気ディスク装置９２０を用いて、初期化した検索利用者役割データを記憶する。
【００７２】
役割条件入力工程Ｓ６３３において、利用者役割判定部１４２は、ＣＰＵ９１１を用いて、役割条件記憶部１１４が記憶した役割条件データ５２０のなかから、まだ処理していないロール情報データを一つ入力する。利用者役割判定部１４２は、ＣＰＵ９１１を用いて、役割条件記憶部１１４が記憶した役割条件データ５２０に含まれるすべてのロール情報データについて処理が終了し、入力できるロール情報データが存在しないと判定した場合、利用者役割出力工程Ｓ６３７へ進む。
【００７３】
属性条件判定工程Ｓ６３４において、利用者役割判定部１４２は、ＣＰＵ９１１を用いて、役割条件入力工程Ｓ６３３で入力したロール情報データに含まれる属性条件データ５２３が表わす属性条件に、利用者属性入力工程Ｓ６３１で入力した検索利用者属性データが表わす属性を当てはめて、属性条件が満たされているか否かを判定する。ここで、属性条件が充足されていれば、その利用者がその役割を有することになる。
利用者役割判定部１４２は、ＣＰＵ９１１を用いて、属性条件が充足されていると判定した場合、すなわち、その利用者がその役割を有する場合、役割リスト追加工程Ｓ６３５へ進む。
利用者役割判定部１４２は、ＣＰＵ９１１を用いて、属性条件が充足されていないと判定した場合、すなわち、その利用者がその役割を有しない場合、役割条件繰り返し工程Ｓ６３６へ進む。
【００７４】
役割リスト追加工程Ｓ６３５において、利用者役割判定部１４２は、ＣＰＵ９１１を用いて、役割リスト初期化工程Ｓ６３２で初期化した検索利用者役割データに、役割条件入力工程Ｓ６３３で入力したロール情報データに含まれる役割識別データ５２１を追加する。利用者役割判定部１４２は、磁気ディスク装置９２０を用いて、役割識別データ５２１を追加した検索利用者役割データを記憶する。
【００７５】
役割条件繰り返し工程Ｓ６３６において、利用者役割判定部１４２は、ＣＰＵ９１１を用いて、役割条件入力工程Ｓ６３３に戻り、次のロール情報データを入力する。
【００７６】
利用者役割出力工程Ｓ６３７において、利用者役割判定部１４２は、ＣＰＵ９１１を用いて、役割リスト初期化工程Ｓ６３２で初期化し役割リスト追加工程Ｓ６３５で役割識別データ５２１を追加した検索利用者役割データを出力する。
【００７７】
図１０に戻り、検索処理の流れの説明を続ける。
【００７８】
利用者権限判定工程Ｓ６４０において、利用者権限判定部１４３は、ＣＰＵ９１１を用いて、利用者認証工程Ｓ６１０で利用者識別記憶部１３４が記憶した利用者識別データによって識別される利用者が有するアクセス権限を判定する。
【００７９】
図１２は、この実施の形態における利用者権限判定部１４３が利用者のアクセス権限を判定する利用者権限判定工程Ｓ６４０の流れの一例を示すフローチャート図である。
利用者権限判定工程Ｓ６４０は、利用者役割入力工程Ｓ６４１、グループリスト初期化工程Ｓ６４２、役割権限入力工程Ｓ６４３、アクセス権限判定工程Ｓ６４４、グループリスト追加工程Ｓ６４５、役割権限繰り返し工程Ｓ６４６、利用者権限出力工程Ｓ６４７を有する。
【００８０】
利用者役割入力工程Ｓ６４１において、利用者権限判定部１４３は、ＣＰＵ９１１を用いて、利用者役割出力工程Ｓ６３７で利用者役割判定部１４２が出力した検索利用者役割データを入力する。
【００８１】
グループリスト初期化工程Ｓ６４２において、利用者権限判定部１４３は、ＣＰＵ９１１を用いて、検索利用者グループデータを初期化する。検索利用者グループデータは、０個以上のグループ識別データを含む。検索利用者グループデータに含まれる各グループ識別データは、その利用者がアクセス権限を有するグループを示すものであり、その利用者がアクセス権限を有するグループの数と同じ数のグループ識別データが、検索利用者グループデータに含まれる。利用者権限判定部１４３は、ＣＰＵ９１１を用いて、検索利用者グループデータに含まれるグループ識別データをすべて削除し、検索利用者グループデータにグループ識別データが１つも含まれない状態とすることにより、検索利用者グループデータを初期化する。利用者権限判定部１４３は、磁気ディスク装置９２０を用いて、初期化した検索利用者グループデータを記憶する。
【００８２】
役割権限入力工程Ｓ６４３において、利用者権限判定部１４３は、ＣＰＵ９１１を用いて、役割権限記憶部１１５が記憶した役割権限データ５３０のなかから、まだ処理していないアクセス権限情報データを一つ入力する。利用者権限判定部１４３は、ＣＰＵ９１１を用いて、役割権限記憶部１１５が記憶した役割権限データ５３０に含まれるすべてのアクセス権限情報データについて処理が終了し、入力できるアクセス権限情報データが存在しないと判定した場合、利用者権限出力工程Ｓ６４７へ進む。
【００８３】
アクセス権限判定工程Ｓ６４４において、利用者権限判定部１４３は、ＣＰＵ９１１を用いて、利用者役割入力工程Ｓ６４１で入力した検索利用者役割データと、役割権限入力工程Ｓ６４３で取得したアクセス権限情報データに含まれる権限役割データ５３２とを比較して、両者に共通して含まれる役割識別データがあるか否かを判定する。ここで、両者に共通して含まれる役割識別データがあれば、その利用者にそのアクセス権限があることになる。
利用者権限判定部１４３は、ＣＰＵ９１１を用いて、検索利用者役割データと権限役割データ５３２とに共通して含まれる役割識別データがあると判定した場合、すなわち、その利用者にそのアクセス権限がある場合、グループリスト追加工程Ｓ６４５へ進む。
利用者権限判定部１４３は、ＣＰＵ９１１を用いて、検索利用者役割データと権限役割データ５３２とに共通して含まれる役割識別データがないと判定した場合、すなわち、その利用者にそのアクセス権限がない場合、役割権限繰り返し工程Ｓ６４６へ進む。
【００８４】
グループリスト追加工程Ｓ６４５において、利用者権限判定部１４３は、ＣＰＵ９１１を用いて、グループリスト初期化工程Ｓ６４２で初期化した検索利用者グループデータに、役割権限入力工程Ｓ６４３で入力したアクセス権限情報データに含まれる権限グループデータ５３３に含まれるグループ識別データを追加する。利用者権限判定部１４３は、磁気ディスク装置９２０を用いて、グループ識別データを追加した検索利用者グループデータを記憶する。
【００８５】
なお、利用者が複数の役割を有する場合、異なる役割に基づいて、一つのグループに対する複数のアクセス権限を持つ場合がある。根拠となる役割が異なっていても、結果として、そのグループに属する検索対象データにアクセスできることに変わりはないので、検索利用者グループデータには、そのグループを示すグループ識別データが一つ含まれていればよい。
そこで、利用者権限判定部１４３は、ＣＰＵ９１１を用いて、検索利用者グループデータにグループ識別データを追加する際、追加しようとしているグループ識別データと一致するグループ識別データが、検索利用者グループデータに既に含まれているか否かを判定し、既に含まれている場合には、そのグループ識別データを検索利用者グループデータに追加しない。
あるいは、追加の際には、重複するグループ識別データがあるか否かを判定することなく、検索利用者グループデータにグループ識別データを追加しておき、あとで（例えば利用者権限出力工程Ｓ６４７で検索利用者グループデータを出力する前などにおいて）、利用者権限判定部１４３は、ＣＰＵ９１１を用いて、検索利用者グループデータに含まれるグループ識別データを検査して、重複するグループ識別データを削除する構成としてもよい。
【００８６】
役割権限繰り返し工程Ｓ６４６において、利用者権限判定部１４３は、ＣＰＵ９１１を用いて、役割権限入力工程Ｓ６４３に戻り、次のアクセス権限情報データを入力する。
【００８７】
利用者権限出力工程Ｓ６４７において、利用者権限判定部１４３は、ＣＰＵ９１１を用いて、グループリスト初期化工程Ｓ６４２で初期化しグループリスト追加工程Ｓ６４５でグループ識別データを追加した検索利用者権限データを出力する。
【００８８】
図１０に戻り、検索処理の流れの説明を続ける。
【００８９】
検索対象抽出工程Ｓ６５０において、検索対象抽出部１４４は、ＣＰＵ９１１を用いて、その利用者にアクセス権限がある検索対象データを、検索対象記憶部１２２が記憶した検索対象データのなかから抽出する。
【００９０】
図１３は、この実施の形態における検索対象抽出部１４４が検索対象データを抽出する検索対象抽出工程Ｓ６５０の流れの一例を示すフローチャート図である。
検索対象抽出工程Ｓ６５０は、利用者権限入力工程Ｓ６５１、検索対象リスト初期化工程Ｓ６５２、グループ所属入力工程Ｓ６５３、グループ権限判定工程Ｓ６５４、検索対象リスト追加工程Ｓ６５５、グループ所属繰り返し工程Ｓ６５６、抽出検索対象出力工程Ｓ６５７を有する。
【００９１】
利用者権限入力工程Ｓ６５１において、検索対象抽出部１４４は、ＣＰＵ９１１を用いて、利用者権限出力工程Ｓ６４７で利用者権限判定部１４３が出力した検索利用者グループデータを入力する。
【００９２】
検索対象リスト初期化工程Ｓ６５２において、検索対象抽出部１４４は、ＣＰＵ９１１を用いて、検索対象リストデータを初期化する。検索対象リストデータは、その利用者にアクセス権限がある検索対象データの在り処を示すインデックスを０個以上含む。検索対象リストデータには、その利用者にアクセス権限がある検索対象データの数と同じ数のインデックスが含まれる。検索対象抽出部１４４は、ＣＰＵ９１１を用いて、検索対象リストデータに含まれるインデックスをすべて削除して、検索対象リストデータにインデックスが１つも含まれない状態とすることにより、検索対象リストデータを初期化する。検索対象抽出部１４４は、磁気ディスク装置９２０を用いて、初期化した検索対象リストデータを記憶する。
【００９３】
グループ識別入力工程Ｓ６５３において、検索対象抽出部１４４は、ＣＰＵ９１１を用いて、利用者権限入力工程Ｓ６５１で入力した検索利用者グループデータに含まれるグループ識別データのなかから、まだ処理していないグループ識別データを一つ入力する。検索対象抽出部１４４は、ＣＰＵ９１１を用いて、検索利用者グループデータに含まれるすべてのグループ識別データについて処理が終了し、入力できるグループ識別データが存在しないと判定した場合、抽出検索対象出力工程Ｓ６５７へ進む。
【００９４】
所属インデックス入力工程Ｓ６５４において、検索対象抽出部１４４は、ＣＰＵ９１１を用いて、グループ条件記憶部１１６が記憶したグループ条件データに基づいて、グループ識別入力工程Ｓ６５３で入力したグループ識別データに対応づけられたインデックスファイル５５１のファイル名を表わすグループインデックスデータ５４４を取得する。検索対象抽出部１４４は、ＣＰＵ９１１を用いて、グループ所属記憶部１２５が記憶したグループ所属データのなかから、取得したグループインデックスデータ５４４をファイル名に持つインデックスファイル５５１を選択する。検索対象抽出部１４４は、ＣＰＵ９１１を用いて、選択したインデックスファイル５５１に記録された所属インデックスデータ５５２を入力する。
【００９５】
検索対象リスト追加工程Ｓ６５５において、検索対象抽出部１４４は、ＣＰＵ９１１を用いて、検索対象リスト初期化工程Ｓ６５２で初期化した検索対象リストデータに、所属インデックス入力工程Ｓ６５４で入力した所属インデックスデータ５５２に含まれるインデックスを追加する。検索対象抽出部１４４は、磁気ディスク装置９２０を用いて、インデックスを追加した検索対象リストデータを記憶する。
なお、一つの検索対象データが複数の所属条件を満たすことにより、複数のグループに属する場合がある。利用者にその複数のグループに対するアクセス権限がある場合、根拠となるアクセス権限あるいはグループが異なっていても、結果として、その検索対象データにアクセスできることに変わりはないので、検索対象リストデータには、その検索対象データの在り処を示すインデックスが一つ含まれていればよい。
そこで、検索対象抽出部１４４は、ＣＰＵ９１１を用いて、インデックスを追加しようとする際などに、インデックスの重複を判定し、検索対象リストデータに同じインデックスが重複して含まれないようにする。
【００９６】
グループ所属繰り返し工程Ｓ６５６において、検索対象抽出部１４４は、ＣＰＵ９１１を用いて、グループ所属入力工程Ｓ６５３に戻り、次のグループ所属データを入力する。
【００９７】
抽出検索対象出力工程Ｓ６５７において、検索対象抽出部１４４は、ＣＰＵ９１１を用いて、検索対象リスト初期化工程Ｓ６５２で初期化し検索対象リスト追加工程Ｓ６５５でインデックスを追加した検索対象リストデータを出力する。
なお、検索対象抽出部１４４は、検索対象リストデータを出力する代わりに、検索対象リストデータに含まれるインデックスが示す検索対象データそのものを検索対象記憶部１２２から入力し、入力した検索対象データを出力する構成としてもよい。
【００９８】
図１０に戻り、検索処理の流れの説明を続ける。
【００９９】
検索条件入力工程Ｓ６６０において、検索条件入力部１５１は、通信装置９１５を用いて、認証に成功した利用者が指定した検索条件を表わす検索条件データを、利用者端末装置８２０から受信する。検索条件入力部１５１は、ＣＰＵ９１１を用いて、受信した検索条件データを出力する。
【０１００】
データ検索工程Ｓ６７０において、データ検索部１５２は、ＣＰＵ９１１を用いて、検索対象抽出工程Ｓ６５０で検索対象抽出部１４４が抽出した検索対象データのなかから、検索条件入力工程Ｓ６６０で検索条件入力部１５１が入力した検索条件データが表わす検索条件を満たす検索対象データを検索する。
【０１０１】
図１４は、この実施の形態におけるデータ検索部１５２が検索対象データを検索するデータ検索工程Ｓ６７０の流れの一例を示すフローチャート図である。
データ検索工程Ｓ６７０は、データ検索条件入力工程Ｓ６７１、検索結果リスト初期化工程Ｓ６７２、抽出検索対象入力工程Ｓ６７３、検索条件判定工程Ｓ６７４、検索結果リスト追加工程Ｓ６７５、抽出検索対象繰り返し工程Ｓ６７６、データ検索結果出力工程Ｓ６７７を有する。
【０１０２】
データ検索条件入力工程Ｓ６７１において、データ検索部１５２は、ＣＰＵ９１１を用いて、検索条件入力工程Ｓ６６０で検索条件入力部１５１が出力した検索条件データを入力する。
【０１０３】
検索結果リスト初期化工程Ｓ６７２において、データ検索部１５２は、ＣＰＵ９１１を用いて、検索結果リストデータを初期化する。検索結果リストデータとは、その利用者にアクセス権限がある検索対象データのうち検索条件を満たす検索対象データのリストを表わすデータであり、検索条件を満たす検索対象データの在り処を示すインデックスを０個以上含む。検索結果リストデータには、検索条件を満たす検索対象データの数と同じ数のインデックスが含まれる。データ検索部１５２は、ＣＰＵ９１１を用いて、検索結果リストデータに含まれる検索対象データをすべて削除し、検索結果リストデータに検索対象データが１つも含まれない状態にすることにより、検索結果リストデータを初期化する。データ検索部１５２は、磁気ディスク装置９２０を用いて、初期化した検索結果リストデータを記憶する。
【０１０４】
抽出検索対象入力工程Ｓ６７３において、データ検索部１５２は、ＣＰＵ９１１を用いて、抽出検索対象出力工程Ｓ６５７で検索対象抽出部１４４が出力した検索対象リストデータを入力する。
データ検索部１５２は、ＣＰＵ９１１を用いて、入力した検索対象リストデータのなかから、まだ処理していないインデックスを一つ取得する。データ検索部１５２は、ＣＰＵ９１１を用いて、入力した検索対象リストデータに含まれるすべてのインデックスについて処理が終了し、取得できるインデックスが存在しないと判定した場合、データ検索結果出力工程Ｓ６７７へ進む。
データ検索部１５２は、ＣＰＵ９１１を用いて、検索対象記憶部１２２が記憶した検索対象データのなかから、取得したインデックスが示す検索対象データを入力する。
【０１０５】
検索条件判定工程Ｓ６７４において、データ検索部１５２は、ＣＰＵ９１１を用いて、抽出検索対象入力工程Ｓ６７３で入力した検索対象データが、データ検索条件入力工程Ｓ６７１で入力した検索条件データが表わす検索条件を満たしているか否かを判定する。
データ検索部１５２は、ＣＰＵ９１１を用いて、検索対象データが検索条件を充足していると判定した場合、検索結果リスト追加工程Ｓ６７５へ進む。
データ検索部１５２は、ＣＰＵ９１１を用いて、検索対象データが検索条件を充足していないと判定した場合、抽出検索対象繰り返し工程Ｓ６７６へ進む。
【０１０６】
検索結果リスト追加工程Ｓ６７５において、データ検索部１５２は、ＣＰＵ９１１を用いて、検索結果リスト初期化工程Ｓ６７２で初期化した検索結果リストデータに、抽出検索対象入力工程Ｓ６７３で取得したインデックスを追加する。データ検索部１５２は、磁気ディスク装置９２０を用いて、インデックスを追加した検索結果リストデータを記憶する。
【０１０７】
抽出検索対象繰り返し工程Ｓ６７６において、データ検索部１５２は、ＣＰＵ９１１を用いて、抽出検索対象入力工程Ｓ６７３に戻り、次のインデックスを取得する。
【０１０８】
データ検索結果出力工程Ｓ６７７において、データ検索部１５２は、ＣＰＵ９１１を用いて、検索結果リスト初期化工程Ｓ６７２で初期化し検索結果リスト追加工程Ｓ６７５でインデックスを追加した検索結果リストデータを出力する。
なお、データ検索部１５２は、検索結果リストデータを出力する代わりに、検索結果リストデータに含まれるインデックスが示す検索対象データそのものを出力する構成としてもよい。
【０１０９】
図１０に戻り、検索処理の流れの説明を続ける。
【０１１０】
検索結果出力工程Ｓ６８０において、検索結果出力部１５３は、ＣＰＵ９１１を用いて、データ検索結果出力工程Ｓ６７７でデータ検索部１５２が出力した検索結果リストデータを入力する。検索結果出力部１５３は、通信装置９１５を用いて、入力した検索結果リストデータを、利用者端末装置８２０に対して送信する。
なお、検索結果出力部１５３は、検索結果リストデータを送信する代わりに、検索結果リストデータに含まれるインデックスが示す検索対象データそのものを検索対象記憶部１２２から入力し、入力した検索対象データを送信する構成としてもよい。
【０１１１】
なお、この例では、利用者が検索条件を指定する前に、あらかじめ、利用者属性判定工程Ｓ６２０〜検索対象抽出工程Ｓ６５０の処理をしておき、検索条件入力工程Ｓ６６０の終了後、すぐにデータ検索工程Ｓ６７０を開始できるよう構成しているが、利用者属性判定工程Ｓ６２０〜検索対象抽出工程Ｓ６５０の処理は、検索条件入力工程Ｓ６６０のあとにしてもよい。また、利用者認証工程Ｓ６１０も含めて、利用者認証工程Ｓ６１０〜検索対象抽出工程Ｓ６５０の処理を、検索条件入力工程Ｓ６６０のあとにしてもよい。
【０１１２】
次に、具体例を用いて、検索処理の流れを説明する。
【０１１３】
以下の例において、利用者属性記憶部１１３は、図５に示した利用者属性データ５１０を、役割条件記憶部１１４は、図６に示した役割条件データ５２０を、役割権限記憶部１１５は、図７に示した役割権限データ５３０を、グループ条件記憶部１１６は、図８に示したグループ条件データ５４０を、グループ所属記憶部１２５は、図９に示したグループ所属データ５５０を、それぞれ記憶しているものとする。
また、利用者端末装置８２０を操作している利用者は、利用者識別データが「ｓｕｚｕｋｉ」である利用者であり、認証に成功したものとする。したがって、利用者識別記憶部１３４は、利用者識別データとして「ｓｕｚｕｋｉ」を記憶している。
【０１１４】
利用者属性判定部１４１は、図５に示した利用者属性記憶部１１３が記憶した利用者属性データ５１０を参照して、利用者識別データ「ｓｕｚｕｋｉ」を含むユーザ情報データを判定し、判定したユーザ情報データに含まれる所属組織データ５１２「Ａ部Ａ２課」、役職データ５１３「担当」、社員区分データ５１４「派遣」、配属区分データ５１５「本務」、その他属性データ５１６「プロジェクトＡ」を取得して、利用者端末装置８２０を操作している利用者の属性を表わす検索利用者属性データとする。
【０１１５】
利用者役割判定部１４２は、図６に示した役割条件記憶部１１４が記憶した役割条件データ５２０を参照して、ロール情報データに含まれる属性条件データ５２３が表わす属性条件が満たされているロール情報データを判定し、判定したロール情報データに含まれる役割識別データ５２１「ＲＯＬ００１」「ＲＯＬ００４」「ＲＯＬ００７」を取得して、利用者端末装置８２０を操作している利用者の役割のリストを表わす検索利用者役割データとする。
【０１１６】
利用者権限判定部１４３は、図７に示した役割権限記憶部１１５が記憶した役割権限データ５３０を参照して、検索利用者役割データに含まれる役割識別データと一致する役割識別データを、アクセス権限情報データが含む権限役割データ５３２が含むアクセス権限情報データを判定し、判定したアクセス権限情報データに含まれる権限グループデータ５３３に含まれるグループ識別データ「ＧＲＰ００１」「ＧＲＰ００３」「ＧＲＰ００５」「ＧＲＰ００７」を取得して、利用者端末装置８２０を操作している利用者にアクセス権限があるグループのリストを表わす検索利用者グループデータとする。
【０１１７】
検索対象抽出部１４４は、図８に示したグループ条件記憶部１１６が記憶したグループ条件データ５４０を参照して、検索利用者グループデータに含まれるグループ識別データに対応づけられたインデックスファイル５５１のファイル名「ｇｒｐ００１．ｉｄｘ」「ｇｒｐ００３．ｉｄｘ」「ｇｒｐ００５．ｉｄｘ」「ｇｒｐ００７．ｉｄｘ」を取得する。
検索対象抽出部１４４は、図９に示したグループ所属記憶部１２５が記憶したグループ所属データ５５０を参照して、取得したファイル名を有するインデックスファイル５５１に記録された所属インデックスデータ５５２を入力し、入力した所属インデックスデータ５５２のいずれかに含まれるインデックス「／／ｆｉｌｅ／ｐｏｓｉｔｉｏｎ／ｔａｎｔｏｕ／ｆｉｌｅ３４．ｄｏｃ」「／／ｆｉｌｅ／ｇｅｎｅｒａｌ／ｆｉｌｅ８２．ｐｄｆ」「／／ｆｉｌｅ／ｄｅｐｔ／Ａ／ｆｉｌｅ６５．ｘｌｓ」「／／ｆｉｌｅ／ｄｅｐｔ／ＡｏｒＢ／ｆｉｌｅ９３．ｄｘｆ」「／／ｆｉｌｅ／ｐｒｏｊｅｃｔＡ／ｆｉｌｅ０６．ｘｍｌ」「／／ｆｉｌｅ／ｃｏｎｆｉｄｅｎｔｉａｌ／ｆｉｌｅ１８．ｒｔｆ」を取得して、利用者端末装置８２０を操作している利用者にアクセス権限がある検索対象データのリストを表わす検索対象リストデータとする。
【０１１８】
このように、利用者のアクセス権限に基づいて、検索する検索対象データの範囲をあらかじめ限定し、限定された検索対象データのなかから、データ検索部１５２が、検索条件を満たす検索対象データを検索する。これにより、利用者にアクセス権限があるか否かを検索対象データごとに判定する必要がなく、検索にかかる時間を短くすることができる。
【０１１９】
人事異動や新規プロジェクトの発足などにより、利用者が有する属性が変化した場合、管理者が管理者端末装置８１０を操作して、利用者属性データ５１０の更新を指示する。管理情報更新部１１２は、管理者の指示に基づいて、利用者属性記憶部１１３が記憶した利用者属性データ５１０を更新する。
利用者属性記憶部１１３が記憶した利用者属性データ５１０が更新されたことにより、利用者役割判定部１４２が判定するその利用者の役割が変化し、それに伴って、利用者権限判定部１４３が判定するその利用者のアクセス権限も変化する。したがって、その利用者が検索できる検索対象データの範囲も変化する。
このように、利用者とその利用者にアクセス権限がある検索対象データとを直接紐付けるのではなく、利用者が有する属性を介して紐付けているので、利用者が有する属性が変化したことにより、利用者のアクセス権限が変化した場合、利用者属性記憶部１１３が記憶した利用者属性データを更新するだけで、その利用者が検索できる検索対象データの範囲を変えることができる。これにより、管理者の作業負荷を減らすことができるとともに、利用者が本来アクセスできるべきでない検索対象データにアクセスできるように設定してしまうなど、管理者のミスによる事故の発生を防ぐことができる。
【０１２０】
組織改編などにより、利用者に与えられる役割が変化した場合、管理者が管理者端末装置８１０を操作して、役割条件データ５２０の更新を指示する。管理情報更新部１１２は、管理者の指示に基づいて、役割条件記憶部１１４が記憶した役割条件データ５２０を更新する。
役割条件記憶部１１４が記憶した役割条件データ５２０が更新されたことにより、利用者役割判定部１４２が判定する利用者の役割が変化し、それに伴って、利用者権限判定部１４３が判定する利用者のアクセス権限も変化する。したがって、利用者が検索できる検索対象データの範囲も変化する。
このように、利用者とその利用者にアクセス権限がある検索対象データとを直接紐付けるのではなく、利用者がある役割を有するために有すべき属性についての条件を介して紐付けているので、利用者に与えられる役割が変化した場合、役割条件記憶部１１４が記憶した役割条件データを更新するだけで、利用者が検索できる検索対象データの範囲を変えることができる。これにより、管理者の作業負荷を減らすことができるとともに、利用者が本来アクセスできるべきでない検索対象データにアクセスできるように設定してしまうなど、管理者のミスによる事故の発生を防ぐことができる。
【０１２１】
セキュリティポリシーの変更などにより、利用者の役割と、その役割を有する利用者のアクセス権限との関係が変化した場合、管理者が管理者端末装置８１０を操作して、役割権限データ５３０の更新を指示する。管理情報更新部１１２は、管理者の指示に基づいて、役割権限記憶部１１５が記憶した役割権限データ５３０を更新する。
役割権限記憶部１１５が記憶した役割権限データ５３０が更新されたことにより、利用者権限判定部１４３が判定する利用者のアクセス権限が変化し、利用者が検索できる検索対象データの範囲が変化する。
このように、利用者とその利用者にアクセス権限がある検索対象データとを直接紐付けるのではなく、ある役割を有する利用者が有するアクセス権限を介して紐付けているので、利用者の役割とアクセス権限との関係が変化した場合、役割権限記憶部１１５が記憶した役割権限データを更新するだけで、利用者が検索できる検索対象データの範囲を変えることができる。これにより、管理者の作業負荷を減らすことができるとともに、利用者が本来アクセスできるべきでない検索対象データにアクセスできるように設定してしまうなど、管理者のミスによる事故の発生を防ぐことができる。
【０１２２】
検索対象データの機密レベルの変更などにより、検索対象データに対するアクセス権限が変化した場合、管理者などが管理者端末装置８１０などを操作して、検索対象データのパスや属性の変更を指示する。検索対象更新部１２１は、指示に基づいて、検索対象記憶部１２２が記憶した検索対象データを更新する。
検索対象記憶部１２２が記憶した検索対象データが更新されたことにより、所属抽出部１２３が判定するその検索対象データが属するグループが変化し、グループ所属記憶部１２５が記憶したグループ所属データ５５０を更新するので、その検索対象データを検索できる利用者の範囲が変化する。
このように、利用者とその利用者にアクセス権限がある検索対象データとを直接紐付けるのではなく、検索対象データのパスや属性に基づいて判定されるグループを介して紐付けているので、検索対象データのパスや属性を更新するだけで、その検索対象データを検索できる利用者の範囲を変えることができる。これにより、管理者の作業負荷を減らすことができるとともに、利用者が本来アクセスできるべきでない検索対象データにアクセスできるように設定してしまうなど、管理者のミスによる事故の発生を防ぐことができる。
【０１２３】
セキュリティポリシーの変更などにより、検索対象データの分類基準が変化した場合、管理者が管理者端末装置８１０を操作して、グループ条件データ５４０の変更を指示する。管理情報更新部１１２は、管理者の指示に基づいて、グループ条件記憶部１１６が記憶したグループ条件データ５４０を更新する。
グループ条件記憶部１１６が記憶したグループ条件データ５４０が更新されたことにより、所属抽出部１２３が判定する検索対象データが属するグループが変化し、グループ所属記憶部１２５が記憶したグループ所属データ５５０を更新するので、利用者が検索できる検索対象データの範囲が変化する。
このように、利用者とその利用者にアクセス権限がある検索対象データとを直接紐付けるのではなく、検索対象データがあるグループに属するための条件を介して紐付けているので、検索対象データの分類基準が変化した場合、グループ条件記憶部１１６が記憶したグループ条件データ５４０を更新するだけで、利用者が検索できる検索対象データの範囲を変えることができる。これにより、管理者の作業負荷を減らすことができるとともに、利用者が本来アクセスできるべきでない検索対象データにアクセスできるように設定してしまうなど、管理者のミスによる事故の発生を防ぐことができる。
【０１２４】
この実施の形態における検索装置１００は、データを記憶する記憶装置（磁気ディスク装置９２０）と、データを処理する処理装置（ＣＰＵ９１１）と、検索対象記憶部１２２と、利用者属性判定部１４１と、利用者役割判定部１４２と、利用者権限判定部１４３と、検索対象抽出部１４４と、検索条件入力部１５１と、データ検索部１５２と、検索結果出力部１５３とを有する。
上記検索対象記憶部１２２は、上記記憶装置（磁気ディスク装置９２０）を用いて、検索の対象となる検索対象データを記憶する。
上記検索条件入力部１５１は、上記処理装置（ＣＰＵ９１１）を用いて、利用者が指定した検索条件を入力する。
上記利用者属性判定部１４１は、上記処理装置（ＣＰＵ９１１）を用いて、上記検索条件を指定した利用者が有する属性を判定する。
上記利用者役割判定部１４２は、上記処理装置（ＣＰＵ９１１）を用いて、上記利用者属性判定部１４１が判定した属性に基づいて、上記検索条件を指定した利用者が有する役割を判定する。
上記利用者権限判定部１４３は、上記処理装置（ＣＰＵ９１１）を用いて、上記利用者役割判定部１４２が判定した役割に基づいて、上記検索条件を指定した利用者が有するアクセス権限を判定する。
上記検索対象抽出部１４４は、上記処理装置（ＣＰＵ９１１）を用いて、上記利用者権限判定部１４３が判定したアクセス権限に基づいて、上記検索対象記憶部１２２が記憶した検索対象データのなかから、上記検索条件を指定した利用者にアクセス権限がある検索対象データを抽出する。
上記データ検索部１５２は、上記処理装置（ＣＰＵ９１１）を用いて、上記検索対象抽出部１４４が抽出した検索対象データのなかから、上記検索条件入力部１５１が入力した検索条件を満たす検索対象データを検索する。
上記検索結果出力部１５３は、上記処理装置（ＣＰＵ９１１）を用いて、上記データ検索部１５２が検索した検索結果を出力する。
【０１２５】
これにより、データ検索部１５２が検索条件に合う検索対象データを検索する範囲を、検索条件を指定した利用者にアクセス権限がある検索対象データに限定するので、検索にかかる時間を短縮することができる。また、利用者属性判定部１４１が利用者の属性を判定し、利用者役割判定部１４２が利用者の属性から役割を判定し、利用者権限判定部１４３が利用者の役割からアクセス権限を判定するので、様々な要因で利用者にアクセス権限がある検索対象データの範囲が変わった場合に、柔軟に対応することができる。
【０１２６】
この実施の形態における検索装置１００は、更に、役割権限記憶部１１５を有する。
上記役割権限記憶部１１５は、上記記憶装置（磁気ディスク装置９２０）を用いて、利用者が有する役割と、上記役割を有する利用者が有するアクセス権限との組み合わせを表わす役割権限データ５３０を記憶する。
上記利用者権限判定部１４３は、上記処理装置（ＣＰＵ９１１）を用いて、上記役割権限記憶部１１５が記憶した役割権限データ５３０に基づいて、上記検索条件を指定した利用者が有するアクセス権限を判定する。
【０１２７】
これにより、役割権限記憶部１１５が記憶した役割権限データ５３０を変更するだけで、利用者が有する役割と、その役割を有する利用者が有するアクセス権限との関係を変えることができ、管理者の作業負荷を軽減し、管理者のミスなどによる情報漏洩を防止することができる。
【０１２８】
この実施の形態における検索装置１００は、更に、グループ所属記憶部１２５を有する。
上記グループ所属記憶部１２５は、上記記憶装置（磁気ディスク装置９２０）を用いて、検索対象データと、上記検索対象データが属するグループとの組み合わせを表わすグループ所属データ５５０を記憶する。
上記検索対象抽出部１４４は、上記処理装置（ＣＰＵ９１１）を用いて、上記グループ所属記憶部１２５が記憶したグループ所属データ５５０に基づいて、上記検索条件を指定した利用者にアクセス権限があるグループに属する検索対象データを抽出する。
【０１２９】
これにより、あらかじめグループ所属記憶部１２５が記憶したグループ所属データ５５０に基づいて、検索対象抽出部１４４が利用者にアクセス権限がある検索対象データを抽出するので、検索対象データの抽出にかかる時間を短縮することができる。
【０１３０】
この実施の形態における検索装置１００は、更に、グループ条件記憶部１１６と、所属抽出部１２３とを有する。
上記グループ条件記憶部１１６は、上記記憶装置（磁気ディスク装置９２０）を用いて、検索対象データが属するグループと、上記グループに属する検索対象データが満たす所属条件との組み合わせを表わすグループ条件データ５４０を記憶する。
上記所属抽出部１２３は、上記処理装置（ＣＰＵ９１１）を用いて、上記グループ条件記憶部１１６が記憶したグループ条件データに基づいて、上記検索対象記憶部１２２が記憶した検索対象データのなかから、上記所属条件を満たす検索対象データを抽出し、抽出した検索対象データに基づいて、上記グループ所属データ５５０を生成する。
上記グループ所属記憶部１２５は、上記記憶装置（磁気ディスク装置９２０）を用いて、上記所属抽出部１２３が生成したグループ所属データ５５０を記憶する。
【０１３１】
これにより、グループ条件記憶部１１６が記憶したグループ条件データ５４０を変更するだけで、検索対象データのグループ分けを変えることができ、管理者の作業負荷を軽減し、管理者のミスなどによる情報漏洩を防止することができる。
【０１３２】
この実施の形態における検索装置１００は、更に、所属更新部１２４を有する。
上記所属更新部１２４は、上記処理装置（ＣＰＵ９１１）を用いて、上記検索対象記憶部１２２が新たな検索対象データを記憶した場合に、上記グループ条件記憶部１１６が記憶したグループ条件データ５４０に基づいて、上記検索対象記憶部１２２が新たに記憶した検索対象データが満たす所属条件を抽出し、抽出した所属条件に基づいて、上記グループ所属記憶部１２５が記憶したグループ所属データ５５０を更新する。
【０１３３】
これにより、検索対象記憶部１２２が新たな検索対象データを記憶した場合に、グループ所属記憶部１２５が記憶したグループ所属データ５５０を、所属更新部１２４が更新するので、検索対象記憶部１２２が新たに記憶した検索対象データを、データ検索部１５２が検索する範囲に含めることができる。
【０１３４】
この実施の形態における検索装置１００において、上記所属更新部１２４は、上記処理装置（ＣＰＵ９１１）を用いて、上記検索対象記憶部１２２が記憶した検索対象データが更新された場合に、上記グループ条件記憶部１１６が記憶したグループ条件データ５４０に基づいて、更新された検索対象データが満たす所属条件を抽出し、抽出した所属条件に基づいて、上記グループ所属記憶部１２５が記憶したグループ所属データ５５０を更新する。
【０１３５】
これにより、検索対象記憶部１２２が記憶した検索対象データが更新された場合に、グループ所属記憶部１２５が記憶したグループ所属データ５５０を、所属更新部１２４が更新するので、検索対象データが属するグループの変化に対応して、データ検索部１５２が検索する範囲を変えることができる。
【０１３６】
この実施の形態における検索装置１００は、更に、利用者属性記憶部１１３を有する。
上記利用者属性記憶部１１３は、上記記憶装置（ＣＰＵ９１１）を用いて、利用者と、上記利用者が有する属性との組み合わせを表わす利用者属性データ５１０を記憶する。
上記利用者属性判定部１４１は、上記処理装置（ＣＰＵ９１１）を用いて、上記利用者属性記憶部１１３が記憶した利用者属性データ５１０に基づいて、上記検索条件を指定した利用者が有する属性を判定する。
【０１３７】
これにより、利用者属性記憶部１１３が記憶した利用者属性データ５１０を変更するだけで、利用者と、その利用者が有する属性との関係を変えることができ、管理者の作業負荷を軽減し、管理者のミスなどによる情報漏洩を防止することができる。
【０１３８】
この実施の形態における検索装置１００は、更に、役割条件記憶部１１４を有する。
上記役割条件記憶部１１４は、上記記憶装置（磁気ディスク装置９２０）を用いて、利用者が有する属性についての属性条件と、上記属性条件を満たす利用者が有する役割との組み合わせを表わす役割条件データ５２０を記憶する。
上記利用者役割判定部１４２は、上記処理装置（ＣＰＵ９１１）を用いて、上記役割条件記憶部１１４が記憶した役割条件データ５２０に基づいて、上記検索条件を指定した利用者が有する役割を判定する。
【０１３９】
これにより、役割条件記憶部１１４が記憶した役割条件データ５２０を変更するだけで、利用者が有する属性と、その利用者が有する役割との関係を変えることができ、管理者の作業負荷を軽減し、管理者のミスなどによる情報漏洩を防止することができる。
【０１４０】
この実施の形態における検索装置１００は、更に、複製記憶部１２６を有する。
上記複製記憶部１２６は、上記記憶装置（磁気ディスク装置９２０）を用いて、上記グループ所属記憶部１２５が記憶したグループ所属データ５５０と同一の内容を表わす複製グループ所属データを記憶する。
上記所属更新部１２４は、上記処理装置（ＣＰＵ９１１）を用いて、上記複製記憶部１２６が記憶した複製グループ所属データに基づいて、上記グループ所属記憶部１２５が記憶したグループ所属データ５５０を更新するか否かを判定し、更新すると判定した場合に、上記グループ所属記憶部１２５が記憶したグループ所属データ５５０を更新する。
【０１４１】
この実施の形態における検索装置１００によれば、複製記憶部１２６が記憶した複製グループ所属データに基づいて、グループ所属記憶部１２５が記憶したグループ所属データ５５０を更新するか否かを所属更新部１２４が判定するので、グループ所属記憶部１２５が記憶したグループ所属データ５５０に所属更新部１２４がアクセスする回数を減らすことができる。グループ所属記憶部１２５が記憶したグループ所属データ５５０は、検索のために読み出されることが多いので、所属更新部１２４が更新のためにアクセスする回数を減らすことにより、検索のために読み出そうとしたときにアクセスできずに待たされる可能性が低くなり、検索の速度を向上することができる。
【０１４２】
なお、検索装置１００は、複製グループ所属データを記憶する複製記憶部１２６を有しなくてもよい。その場合、所属更新部１２４は、グループ所属記憶部１２５が記憶したグループ所属データ５５０を読み出して、グループ所属データ５５０の更新が必要か否かを判定する。グループ所属データ５５０を更新する場合は、グループ所属データ５５０をロックする必要があり、更新が終わるまで検索対象抽出部１４４などを待たせることになるが、グループ所属データ５５０を単に読み出す場合は、検索対象抽出部１４４などを待たせる必要がないので、グループ所属データ５５０の更新が必要か否かを判定するために、所属更新部１２４がグループ所属データ５５０を頻繁に読み出す構成としても、それによる検索速度の低下は少ない。
【０１４３】
この実施の形態における検索装置１００は、検索装置１００としてコンピュータを機能させるコンピュータプログラムをコンピュータが実行することにより、実現することができる。
【０１４４】
この実施の形態における検索装置１００としてコンピュータを機能させるコンピュータプログラムによれば、データ検索部１５２が検索条件に合う検索対象データを検索する範囲を、検索条件を指定した利用者にアクセス権限がある検索対象データに限定するので、検索にかかる時間を短縮することができるとともに、利用者属性判定部１４１が利用者の属性を判定し、利用者役割判定部１４２が利用者の属性から役割を判定し、利用者権限判定部１４３が利用者の役割からアクセス権限を判定するので、様々な要因で利用者にアクセス権限がある検索対象データの範囲が変わった場合に、柔軟に対応することができる検索装置１００を、実現することができる。
【０１４５】
この実施の形態における検索装置１００が、上記記憶装置（磁気ディスク装置９２０）が記憶した検索対象データを検索する検索方法は、以下の工程を有する。
上記処理装置（ＣＰＵ９１１）が、利用者が指定した検索条件を入力する。
上記処理装置（ＣＰＵ９１１）が、上記検索条件を指定した利用者が有する属性を判定する。
上記処理装置（ＣＰＵ９１１）が、判定した属性に基づいて、上記検索条件を指定した利用者が有する役割を判定する。
上記処理装置（ＣＰＵ９１１）が、判定した役割に基づいて、上記検索条件を指定した利用者が有するアクセス権限を判定する。
上記処理装置（ＣＰＵ９１１）が、判定したアクセス権限に基づいて、上記検索対象データのなかから、上記検索条件を指定した利用者にアクセス権限がある検索対象データを抽出する。
上記処理装置（ＣＰＵ９１１）が、抽出した検索対象データのなかから、入力した検索条件を満たす検索対象データを検索する。
上記処理装置（ＣＰＵ９１１）が、検索した検索結果を出力する。
【０１４６】
これにより、検索条件に合う検索対象データを検索する範囲を、検索条件を指定した利用者にアクセス権限がある検索対象データに限定するので、検索にかかる時間を短縮することができる。また、利用者の属性を判定し、利用者の属性から役割を判定し、利用者の役割からアクセス権限を判定するので、様々な要因で利用者にアクセス権限がある検索対象データの範囲が変わった場合に、柔軟に対応することができる。
【０１４７】
以上説明した検索装置１００（文書検索システム）は、以下の機能ブロックを備えることにより、利用者がアクセス権限を持つ電子文書ファイル（検索対象データ）に対するキーワード検索を行う。
・電子文書ファイル（検索対象データ）を格納する文書ファイル格納部（検索対象記憶部１２２）。
・ユーザ（利用者）の属性の内容を示す情報であるユーザ情報（利用者属性データ５１０）を保持するユーザ情報格納部（利用者属性記憶部１１３）。
・特定の条件によってグループ化したファイル群毎に作成したインデックスファイル（グループ所属データ５５０）を格納するインデックス情報格納部（グループ所属記憶部１２５）。
・利用者のグループを示すロール情報（役割条件データ５２０）を格納したアクセス制御情報格納部（役割条件記憶部１１４）。
・ユーザ情報格納部（利用者属性記憶部１１３）からユーザ情報（その利用者が有する属性）を取得するユーザ情報取得部（利用者属性判定部１４１）。
・ロール情報格納部（役割条件記憶部１１４）からロール情報（役割条件データ５２０）を取得するロール情報取得部（利用者役割判定部１４２）。
・ユーザ情報（利用者が有する属性）とロール情報（役割条件データ５２０）を用いて、その利用者が該当するロール情報（その利用者が有する役割）を判定するアクセス権限判定部（利用者役割判定部１４２）。
・アクセス権限判定部（利用者役割判定部１４２）の判定結果に該当するロール情報（その利用者が有する役割）に紐付けられているインデックスファイル（その利用者にアクセス権限がある検索対象データのリスト）を、インデックス情報格納部（グループ所属記憶部１２５）から取得するインデックス情報取得部（検索対象抽出部１４４）。
・インデックスファイル（その利用者にアクセス権限がある検索対象データのリスト）を用いて、利用者が指定したキーワード（検索条件）に該当する電子文書ファイル（検索対象データ）を検索し、結果を利用者へ提供する検索部（データ検索部１５２）。
【０１４８】
以上説明した検索装置１００（文書検索システム）は、更に、以下の機能ブロックを備える。
・文書ファイル格納部（検索対象記憶部１２２）に格納された電子文書ファイルをグループ分けする条件（所属条件）を示すグループ情報（グループ条件データ５４０）を格納するグループ情報格納部（グループ条件記憶部１１６）。
・ロール情報（利用者が有する役割）と、それを適用するグループ情報（その役割を有する利用者にアクセス権限があるグループ）を紐付け情報であるアクセス制御情報（役割権限データ５３０）を格納するアクセス制御情報格納部（役割権限記憶部１１５）。
・ロール情報（その利用者が有する役割）に適用されているアクセス制御情報（その利用者にアクセス権限があるグループのリスト）を取得するアクセス制御情報取得部（利用者権限判定部１４３）。
・アクセス制御情報（その利用者にアクセス権限があるグループのリスト）に紐付けられているグループ情報（そのグループに属する検索対象データのリスト）を取得するグループ情報取得部（検索対象抽出部１４４）。
・グループ情報の内容（そのグループに属する検索対象データのリスト）に従い、グループ情報によってグループ化された文書ファイル（検索対象データ）群に該当するインデックス情報（その利用者にアクセス権限がある検索対象データのリスト）を取得するインデックス情報取得部（検索対象抽出部１４４）。
【０１４９】
以上説明した検索装置１００（文書検索システム）は、更に、以下の機能ブロックを備える。
・グループ情報（グループ条件データ５４０）の内容に従い、文書ファイル（検索対象データ）の属性情報に従ってグループを構成する文書ファイルを変更し、インデックス情報（グループ所属データ５５０）を再生成するインデックス情報管理部（所属抽出部１２３）。
【０１５０】
文書検索システム（検索装置１００）は、電子文書ファイル（検索対象データ）のキーワード検索を行う。
ユーザ情報格納部（利用者属性記憶部１１３）は、利用者全員の属性情報であるユーザ情報（利用者属性データ５１０）を格納する。
ロール情報格納部（役割条件記憶部１１４）は、利用者を、ユーザ情報の内容（その利用者が有する属性）によってグループ分けするための条件（属性条件）を定義したロール情報（役割条件データ５２０）を格納する。
アクセス制御情報格納部（役割権限記憶部１１５）は、ロール情報（利用者が有する役割）とグループ情報（その役割を有する利用者にアクセス権限があるグループ）を紐付ける条件を定義したアクセス制御情報（役割権限データ５３０）を格納する。
グループ情報格納部（グループ条件記憶部１１６）は、文書ファイル（検索対象データ）のグループ分けするための条件（所属条件）を定義したグループ情報（グループ条件データ５４０）を格納する。
文書ファイル格納部（検索対象記憶部１２２）は、文書検索の対象となる文書ファイル（検索対象データ）を格納する。
インデックス情報格納部（グループ所属記憶部１２５）は、文書ファイル格納部（検索対象記憶部１２２）に格納されている、グループ情報の内容（所属条件）に従ってグループ分けされた文書ファイル群毎に作成したインデックスファイル（グループ所属データ５５０）を格納する。
ユーザ情報取得部（利用者属性判定部１４１）は、ユーザ情報格納部（利用者属性記憶部１１３）から、指定されたユーザ（利用者）のユーザ情報（その利用者が有する属性）を取得してアクセス権限判定部（利用者役割判定部１４２）へ提供する。
ロール情報取得部（利用者役割判定部１４２）は、ロール情報格納部（役割条件記憶部１１４）に格納されているロール情報（属性条件）を取得し、アクセス権限判定部（利用者役割判定部１４２）へ提供する。
アクセス権限判定部（利用者役割判定部１４２）は、ユーザ情報取得部（利用者属性判定部１４１）から取得したユーザ情報（その利用者が有する属性）と、ロール情報取得部（利用者役割判定部１４２）から取得したロール情報（属性条件）を用いて、検索部から指定されたユーザ（利用者）が属するロール情報（その利用者が有する役割）を割り出す。
アクセス制御情報取得部（利用者権限判定部１４３）は、アクセス権限判定部（利用者役割判定部１４２）から指定されるロール情報（その利用者が有する役割）に紐付けられているアクセス制御情報（その利用者にアクセス権限があるグループのリスト）を、アクセス制御情報格納部（役割権限記憶部１１５）から取得する。
グループ情報取得部（検索対象抽出部１４４）は、アクセス制御情報取得部（利用者権限判定部１４３）から指定されるアクセス制御情報（その利用者にアクセス権限があるグループのリスト）に紐付けられているグループ情報（グループインデックスデータ５４４）を、グループ情報格納部（グループ条件記憶部１１６）から取得する。
インデックス情報取得部（検索対象抽出部１４４）は、グループ情報取得部（検索対象抽出部１４４）から指定されるグループ情報（グループインデックスデータ５４４）に紐付けられているインデックスファイル（その利用者にアクセス権限があるグループに属する検索対象データのリスト）を、インデックス情報格納部（グループ所属記憶部１２５）から取得する。
検索部（データ検索部１５２）は、キーワード入力部（検索条件入力部１５１）からのキーワード（検索条件）入力に応じて、アクセス権限判定部（利用者役割判定部１４２）を呼び出してインデックス情報取得部（検索対象抽出部１４４）からインデックスファイルを取得し、そのインデックスファイルを用いてキーワード検索を行った結果をキーワード入力部（検索結果出力部１５３）へ提供する。
キーワード入力部（検索条件入力部１５１）は、利用者がキーワード（検索条件）入力を行い、その内容を検索部（データ検索部１５２）へ提供する。
【０１５１】
ユーザ情報（利用者属性データ５１０）は、ユーザ（利用者）に属する情報であり、ユーザを一意に識別する識別情報（利用者識別データ５１１）と、そのユーザが持つ複数の属性情報で構成される。例えば、識別情報（利用者識別データ５１１）にはユーザＩＤを、属性情報には、所属組織の名称である所属組織（所属組織データ５１２）、所属組織での役職の名称である役職（役職データ５１３）、社員かどうかを示す社員区分（社員区分データ５１４）、その配属が本務か兼務かを示す配属区分（配属区分データ５１５）、その他の属性情報を示すその他（その他属性データ５１６）の５つの情報を使用する。また、例えば、ユーザの所属毎にユーザ情報を設け、複数の所属を持つユーザは、１つのユーザＩＤに対して複数の属性情報を持つ場合があってもよい。
【０１５２】
ロール情報（役割条件データ５２０）は、ユーザ（利用者）をグループ化する情報であり、ロール情報を一意に識別する識別情報（役割識別データ５２１）、そのロール（役割）でグループ化されるユーザの条件（属性条件データ５２３）、その他の情報で構成される。例えば、識別情報（役割識別データ５２１）にはロールＩＤを、ユーザの条件（属性条件データ５２３）には、グループ化に使用する、ユーザが持つべき属性値を条件式で定義した条件（属性条件）を、その他の情報にはロールの名称（役割名称データ５２２）を使用する。
【０１５３】
アクセス制御情報（役割権限データ５３０）は、ロール情報に該当するユーザ（役割を有する利用者）がアクセス可能な電子文書ファイル（検索対象データ）のグループ情報（その役割を有する利用者にアクセス権限があるグループ）を定義する情報であり、アクセス制御情報を一意に識別可能な情報（権限識別データ５３１）と、該当するロール情報（役割）を一意に識別可能な情報（権限役割データ５３２）と、該当するグループ情報を一意に識別可能な情報（権限グループデータ５３３）で構成される。例えば、アクセス制御情報を一意に識別可能な情報（権限識別データ５３１）にはアクセス制御ＩＤを、ロール情報を一意に識別可能な情報（権限役割データ５３２）にはロールＩＤ（役割識別データ）を、グループ情報を一意に識別可能な情報（権限グループデータ５３３）にはグループＩＤ（グループ識別データ）を使用する。
【０１５４】
グループ情報（グループ条件データ５４０）は、文書ファイル（検索対象データ）のグループ化を行うための情報であり、グループ情報を一意に識別可能な情報（グループ識別データ５４１）と、グループ化する電子文書ファイルの条件（所属条件）を示す情報（所属条件データ５４３）と、グループ情報に対応するインデックスファイルを一意に識別可能な情報（グループインデックスデータ５４４）と、その他の情報で構成される。例えば、グループ情報を一意に識別可能な情報（グループ識別データ５４１）には、グループＩＤを、電子文書ファイルの条件を示す情報（所属条件データ５４３）には、電子文書ファイルのパスや属性情報を用いた条件式を示す条件（所属条件）を、インデックスファイルを一意に識別可能な情報（グループインデックスデータ５４４）にはインデックスＩＤを、その他の情報にはグループ情報の名称（グループ名称データ５４２）を使用する。
【０１５５】
まず、利用者がキーワード入力部（検索条件入力部１５１）でキーワード（検索条件）を入力すると、検索部（データ検索部１５２）へキーワード文字列（検索条件）が提供される。検索部（データ検索部１５２）は、キーワード文字列（検索条件）を受け取ると、アクセス権限判定部（利用者役割判定部１４２）を呼び出す。
【０１５６】
アクセス権限判定部（利用者役割判定部１４２）は、ユーザ情報取得部（利用者属性判定部１４１）を通じて、ユーザ情報格納部（利用者属性記憶部１１３）に格納されている利用者のユーザＩＤを持つユーザ情報（その利用者が有する属性）を取得する。次に、アクセス権限判定部（利用者役割判定部１４２）は、ロール情報取得部（利用者役割判定部１４２）は、ロール情報格納部（役割条件記憶部１１４）に格納されているロール情報データ（役割条件データ５２０）を全て取得する。
そして、アクセス権限判定部（利用者役割判定部１４２）は、利用者のユーザ情報の内容（利用者が有する属性）とロール情報データの条件の値（属性条件）を比較し、ユーザ情報が条件を満たすかどうか判定する。
判定の結果、条件を満たす場合には、アクセス権限判定部（利用者役割判定部１４２）は、そのロール情報データのロールＩＤ（役割識別データ５２１）を、該当ロール情報リスト（検索利用者役割データ）に格納する。
この処理を、全てのロール情報データに対して実施し、その結果作成された該当ロール情報リストに格納されているロールＩＤを、アクセス権限判定部（利用者役割判定部１４２）は、アクセス制御情報取得部（利用者権限判定部１４３）へ提供する。
なお、ロール情報（利用者が有する役割）の判定処理は、検索部（データ検索部１５２）からの呼び出し毎に行う必要はなく、アクセス権限判定部（利用者役割判定部１４２）は、利用者がシステムへログインした際に実施して処理結果の該当ロール情報リスト（検索利用者役割データ）を保持しておき、検索部（データ検索部１５２）からの呼び出し時に、保存しておいた該当ロール情報リスト（検索利用者役割データ）のロール情報を、アクセス制御情報取得部（利用者権限判定部１４３）へ提供してもよい。
【０１５７】
アクセス制御情報取得部（利用者権限判定部１４３）は、まず、アクセス権限判定部から提供されたロールＩＤ（検索利用者役割データ）を取得する。次に、アクセス制御情報取得部（利用者権限判定部１４３）は、アクセス制御情報格納部（役割権限記憶部１１５）から、そこに登録されている全てのアクセス制御情報データ（役割権限データ５３０）を取得する。
続いて、アクセス制御情報取得部（利用者権限判定部１４３）は、全てのアクセス制御情報データに対して、アクセス権限判定部（利用者役割判定部１４２）から提供されたロールＩＤ（検索利用者役割データ）のいずれかを持っているかをチェックし、持っている場合には、そのアクセス制御情報データの権限グループデータ５３３を該当アクセス制御情報リスト（検索利用者グループデータ）に追加する。
全てのアクセス制御情報データに対してチェックを行った後、アクセス制御情報取得部（利用者権限判定部１４３）は、該当アクセス制御情報リスト（検索利用者グループデータ）に格納されているアクセス制御情報を、グループ情報取得部（検索対象抽出部１４４）へ提供する。
【０１５８】
グループ情報取得部（検索対象抽出部１４４）は、まず、アクセス制御情報取得部（利用者権限判定部１４３）から提供されたアクセス制御情報（検索利用者グループデータ）を取得する。次に、グループ情報取得部（検索対象抽出部１４４）は、取得した全てのアクセス制御情報からグループＩＤを取得し、グループＩＤの重複部分を削除する。続いて、グループ情報取得部（検索対象抽出部１４４）は、そのグループＩＤ（複数）をキーにグループ情報格納部（グループ条件記憶部１１６）に対して検索を行い、いずれかのグループＩＤを持つグループ情報（グループ条件データ５４０）を全て取得し、取得した全てのグループ情報のインデックスＩＤをインデックス情報取得部（検索対象抽出部１４４）へ提供する。
【０１５９】
インデックス情報取得部（検索対象抽出部１４４）は、グループ情報取得部（検索対象抽出部１４４）から取得したインデックスＩＤに対応するインデックスファイル５５１をインデックス情報格納部（グループ所属記憶部１２５）から取得し、検索部（データ検索部１５２）へ提供する。インデックスＩＤが複数ある場合には、インデックス情報取得部（検索対象抽出部１４４）は、対応する全てのインデックスファイル５５１を提供する。
【０１６０】
検索部（データ検索部１５２）は、インデックス情報取得部（検索対象抽出部１４４）から提供されたインデックスファイル５５１（複数）を用いて、キーワード入力部（検索条件入力部１５１）から入力されたキーワード（検索条件）に該当する文書ファイル（検索対象データ）を検索し、その結果をキーワード入力部（検索結果出力部１５３）へ提供する。
【０１６１】
このようにして、利用者のユーザＩＤを用いてアクセス制御を行い、利用者がアクセス可能なインデックスファイルのみを抽出し、それを用いてキーワード検索を行う。これにより、利用者がアクセス可能な文書ファイル（検索対象データ）に絞り込んだキーワード検索が可能となる。
【０１６２】
以上のように、利用者の権限でアクセス可能なインデックスファイルを取得し、それを用いてキーワード検索を行うことにより、利用者のアクセス可能な文書ファイル（検索対象データ）に絞り込んだ文書検索が可能となる。
【０１６３】
利用者のグループ定義であるロール情報（利用者が有する役割）を用いることにより、人事異動等の利用者の権限が変化した場合に、インデックスファイルの修正を不要とすることが可能である。
すなわち、インデックスファイルへの利用者の紐付けを、利用者のグループ定義情報であるロール情報（利用者が有する役割）を用いて行っている。ロール情報には、ユーザＩＤだけでなく、利用者の所属組織、役職等の属性情報を組み合わせて条件（属性条件）として定義することが可能である。属性情報を使用すると、利用者の属性情報が変更された場合、自動的に新しい属性情報に該当するロール情報が適用される。そのため、インデックス情報、グループ情報、アクセス制御情報、ロール情報を変更することなく、利用者の新しい権限に合わせた文書ファイル（検索対象データ）の絞込み検索が可能となる。
【０１６４】
グループ情報管理部（所属抽出部１２３・所属更新部１２４）は、検索に使用するインデックスファイル５５１の管理を行う。
グループ情報管理部（所属更新部１２４）は、グループ情報の条件に該当する文書ファイル群の内容に変更があった場合に所属インデックスデータ５５２を再生成してインデックス情報格納部（グループ所属記憶部１２５）内のインデックスファイル５５１を更新する。
【０１６５】
グループ情報管理部（所属抽出部１２３）は、グループ情報格納部（グループ条件記憶部１１６）に格納されている全てのグループ情報（グループ条件データ５４０）を取得する。次に、グループ情報管理部（所属更新部１２４）は、それらのインデックスＩＤに紐付けられているインデックスファイル５５１をインデックス情報格納部（グループ所属記憶部１２５）から取得する。同様に、グループ情報管理部（所属抽出部１２３）は、グループ情報の条件（所属条件）に該当する文書ファイル（検索対象データ）を、文書ファイル格納部（検索対象記憶部１２２）から取得する。その後、グループ情報管理部（所属更新部１２４）は、インデックスファイルデータの該当ファイルと、条件に該当する文書ファイルが一致するかどうかチェックを行い、異なる場合には、所属インデックスデータ５５２を再生成し、インデックス情報格納部（グループ所属記憶部１２５）のインデックスファイル５５１を更新する。
【０１６６】
グループ情報管理部（所属抽出部１２３）は、定期的にグループ情報の条件（所属条件）に該当する文書ファイル（検索対象データ）を文書ファイル格納部（検索対象記憶部１２２）から検索し、現在のインデックス情報の対象の文書ファイルと一致するかチェックすることにより、文書ファイルの内容や属性の変更があった場合に、即座にインデックスファイル（グループ所属データ５５０）を更新することで、その変更内容を文書ファイル検索へ反映する処理を行う。
これを定期的に行うことにより、文書ファイルの内容の変更を、キーワード検索に自動的に反映することが可能となる。
【０１６７】
これにより、キーワード検索を行う際に、アクセスした日時によって、文書ファイルの内容に応じてインデックスファイルが更新されているため、アクセスした時点で最適な文書ファイルのみを検索対象とすることが可能となる。
【０１６８】
以上のように、利用者のユーザ情報の内容だけでなく、アクセスした時点での文書ファイルの内容に応じて、検索対象の絞込みを行うことが可能となる。
【０１６９】
実施の形態２．
実施の形態２について、図１５〜図１６を用いて説明する。
なお、実施の形態１で説明した検索システム８００、検索装置１００と共通する部分については、同一の符号を付し、説明を省略する。
【０１７０】
図１５は、この実施の形態における役割権限記憶部１１５が記憶する役割権限データ５３０の一例を示す図である。
【０１７１】
この実施の形態における役割権限記憶部１１５が記憶する役割権限データは、利用者が有する役割と、その役割を有する利用者が有するアクセス権限と、そのアクセス権限が有効となる条件（以下「有効条件」と呼ぶ。）との組み合わせを表わすデータである。
役割権限データ５３０は、権限識別データ５３１、権限役割データ５３２、権限グループデータ５３３、有効条件データ５３４を一組とし、１つ以上の組からなるデータである。
【０１７２】
有効条件データ５３４は、そのアクセス権限が有効となる有効条件を表わす文字列データである。
【０１７３】
この例における役割権限データ５３０において、例えば、権限識別データ５３１が「ＡＣＬ００１」であるアクセス権限は、有効条件データ５３４が空欄なので、常に有効であることを表わしている。
また、権限識別データ５３１が「ＡＣＬ００２」であるアクセス権限は、平日の８時から１７時までの間のみ有効であることを表わしている。
権限識別データ５３１が「ＡＣＬ００３」であるアクセス権限と、権限識別データ５３１が「ＡＣＬ０１３」であるアクセス権限とは、対になっていて、権限識別データ５３１が「ＡＣＬ００３」であるアクセス権限は、３月１０日まで有効であり、権限識別データ５３１が「ＡＣＬ０１３」であるアクセス権限は、３月１１から有効であることを表わしている。
【０１７４】
利用者権限判定部１４３は、ＣＰＵ９１１を用いて、利用者役割判定部１４２が出力した検索利用者役割データを入力する。利用者権限判定部１４３は、ＣＰＵ９１１を用いて、役割権限記憶部１１５が記憶した役割権限データに基づいて、入力した検索利用者役割データが表わす役割を有する利用者が有するアクセス権限を判定し、更に、そのアクセス権限が有効となる有効条件が満たされているか否かを判定して、その利用者がアクセスしてもよいグループを判定する。利用者権限判定部１４３は、ＣＰＵ９１１を用いて、判定したグループを表わす検索利用者グループデータを出力する。
【０１７５】
図１６は、この実施の形態における利用者権限判定部１４３が利用者のアクセス権限を判定する利用者権限判定工程Ｓ６４０の流れの一例を示すフローチャート図である。
利用者権限判定工程Ｓ６４０は、実施の形態１で説明した工程に加えて、権限有効判定工程Ｓ６４４ｂを有する。
【０１７６】
役割権限入力工程Ｓ６４３において、利用者権限判定部１４３は、ＣＰＵ９１１を用いて、役割権限記憶部１１５が記憶した役割権限データ５３０のなかから、まだ処理していない一組の権限識別データ５３１、権限役割データ５３２、権限グループデータ５３３、有効条件データ５３４を入力する。利用者権限判定部１４３は、ＣＰＵ９１１を用いて、役割権限記憶部１１５が記憶した役割権限データ５３０に含まれるすべてのデータの組について処理が終了し、入力できるデータの組が存在しないと判定した場合、利用者権限出力工程Ｓ６４７へ進む。
【０１７７】
アクセス権限判定工程Ｓ６４４において、利用者権限判定部１４３は、ＣＰＵ９１１を用いて、検索利用者役割データと権限役割データ５３２とに共通して含まれる役割識別データがあると判定した場合、すなわち、その利用者にそのアクセス権限がある場合、権限有効判定工程Ｓ６４４ｂへ進む。
【０１７８】
権限有効判定工程Ｓ６４４ｂにおいて、利用者権限判定部１４３は、ＣＰＵ９１１を用いて、役割権限入力工程Ｓ６４３で入力した有効条件データが表わす有効条件が満たされているか否かを判定する。有効条件が満たされていれば、そのアクセス権限が有効であることになる。
利用者権限判定部１４３は、ＣＰＵ９１１を用いて、有効条件が充足されていると判定した場合、すなわち、そのアクセス権限が有効な場合、グループリスト追加工程Ｓ６４５へ進む。
利用者権限判定部１４３は、ＣＰＵ９１１を用いて、有効条件が充足されていないと判定した場合、すなわち、そのアクセス権限が無効な場合、役割権限繰り返し工程Ｓ６４６へ進む。
【０１７９】
このように、利用者権限判定部１４３は、権限有効判定工程Ｓ６４４ｂでアクセス権限の有効性を判定することにより、その利用者が有するアクセス権限のうち、有効なアクセス権限だけを判定することができる。
【０１８０】
次に、具体例を用いて、検索処理の流れを説明する。
【０１８１】
以下の例において、役割権限記憶部１１５は、図１５に示した役割権限データ５３０を記憶しているものとする。
【０１８２】
平日の午後３時に、役割識別データ５２１が「ＲＯＬ００２」である役割を有する利用者が、検索対象データを検索しようとしているとする。利用者権限判定部１４３は、権限識別データ５３１が「ＡＣＬ００２」であるアクセス権限の権限役割データ５３２に「ＲＯＬ００２」が含まれ、有効条件データ５３４が表わす有効条件が満たされていると判定し、検索利用者グループデータに「ＧＲＰ００２」を追加する。したがって、その利用者は、グループ識別データ５４１が「ＧＲＰ００２」であるグループに属する検索対象データを検索できる。
【０１８３】
同じ利用者が、土曜日の午前１０時に、検索対象データを検索しようとしているとする。利用者権限判定部１４３は、権限識別データ５３１が「ＡＣＬ００２」であるアクセス権限の権限役割データ５３２に「ＲＯＬ００２」が含まれるが、有効条件データ５３４が表わす有効条件が満たされていないと判定するので、検索利用者グループデータに「ＧＲＰ００２」を追加しない。したがって、その利用者は、グループ識別データ５４１が「ＧＲＰ００２」であるグループに属する検索対象データを検索できない。
【０１８４】
このように、曜日や時間帯に基づいて、アクセス権限を制限することができるので、勤務時間帯であることなどを条件として、利用者が検索できる検索対象データの範囲を変化させることができる。
【０１８５】
また、３月５日に、役割識別データ５２１が「ＲＯＬ００４」である役割を有する利用者が、検索対象データを検索しようとしているとする。利用者権限判定部１４３は、権限識別データ５３１が「ＡＣＬ００３」であるアクセス権限の権限役割データ５３２に「ＲＯＬ００４」が含まれ、有効条件データ５３４が表わす有効条件が満たされていると判定し、検索利用者グループデータに「ＧＲＰ００３」「ＧＲＰ００５」を追加する。したがって、その利用者は、グループ識別データ５４１が「ＧＲＰ００３」「ＧＲＰ００５」のいずれかであるグループに属する検索対象データを検索できる。
【０１８６】
同じ利用者が、３月１３日に、検索対象データを検索しようとしているとする。利用者権限判定部１４３は、権限識別データ５３１が「ＡＣＬ０１３」であるアクセス権限の権限役割データ５３２に「ＲＯＬ００４」が含まれ、有効条件データ５３４が表わす有効条件が満たされていると判定し、検索利用者グループデータに「ＧＲＰ００３」を追加する。したがって、その利用者は、グループ識別データ５４１が「ＧＲＰ００３」であるグループに属する検索対象データを引き続き検索できるが、グループ識別データ５４１が「ＧＲＰ００５」であるグループに属する検索対象データは検索できなくなる。
【０１８７】
このように、ある日を境にして、アクセス権限が変更になる場合、管理者が前もって日付を条件にした有効条件を設定した役割権限データ５３０を役割権限記憶部１１５が記憶しておけば、アクセス権限が変更になる前日や当日には、何の作業もする必要なく、自動的にアクセス権限を変更できる。したがって、管理者の作業負荷を軽減することができ、管理者のミスなどによる情報漏洩を防止することができる。
【０１８８】
なお、この例では、アクセス権限の有効条件として、日付や時刻に関する条件を取り上げたが、有効条件は、日付や時刻に関する条件に限らず、他の様々な条件を有効条件としてよい。
【０１８９】
この実施の形態における検索装置１００において、上記役割権限記憶部１１５は、上記記憶装置（磁気ディスク装置９２０）を用いて、利用者が有する役割と、上記役割を有する利用者が有するアクセス権限と、上記アクセス権限が有効となる有効条件との組み合わせを表わす役割権限データ５３０を記憶する。
上記利用者権限判定部１４３は、上記処理装置（ＣＰＵ９１１）を用いて、上記役割権限記憶部１１５が記憶した役割権限データに基づいて、上記検索条件を指定した利用者が有する有効なアクセス権限を判定する。
【０１９０】
これにより、様々な条件に基づいて利用者のアクセス権限を変化させることができるので、管理者の作業負荷を軽減することができ、管理者のミスなどによる情報漏洩を防止することができる。
【０１９１】
以上説明した検索装置１００（文書検索システム）は、更に、以下の機能ブロックを備える。
・アクセス制御情報（役割権限データ５３０）の内容に従い、日時によってロール情報とグループ情報の紐付けを変化させるアクセス制御情報取得部。
【０１９２】
アクセス制御情報格納部（役割権限記憶部１１５）は、ロール情報（利用者が有する役割）とグループ情報（その役割を有する利用者にアクセス権限があるグループ）を紐付ける条件と、この情報が有効となる条件（有効条件）を定義したアクセス制御情報（役割権限データ５３０）を格納する。
アクセス制御情報取得部（利用者権限判定部１４３）は、アクセス権限判定部（利用者役割判定部１４２）から指定されるロール情報（その利用者が有する役割）に紐付けられているアクセス制御情報のうち、アクセス制御情報で定義されている有効となる条件（有効条件）を満たしているもののみを取得し、グループ情報取得部（検索対象抽出部１４４）へ提供する。
【０１９３】
アクセス制御情報（役割権限データ５３０）には、実施の形態１のアクセス制御情報（役割権限データ５３０）の情報に加え、そのアクセス制御情報が有効となる条件（有効条件データ５３４）で構成される。例えば、有効となる条件として日時を使用し、条件が設定されている場合には、その条件に該当する日時の場合にのみ、そのアクセス制御情報が有効となる。
【０１９４】
アクセス制御情報取得部（利用者権限判定部１４３）は、まず、アクセス権限判定部（利用者役割判定部１４２）から提供されたロールＩＤ（検索利用者役割データ）を取得する。
次に、アクセス制御情報取得部（利用者権限判定部１４３）は、アクセス制御情報格納部（役割権限記憶部１１５）から、そこに登録されている全てのアクセス制御情報データ（役割権限データ５３０）を取得する。
続いて、アクセス制御情報取得部（利用者権限判定部１４３）は、全てのアクセス制御情報データに対して、アクセス権限判定部（利用者役割判定部１４２）から提供されたロールＩＤのいずれかを持っているかをチェックし、持っている場合にはアクセス制御情報の有効となる条件をチェックする。チェックの結果、条件を満足する場合には、アクセス制御情報取得部（利用者権限判定部１４３）は、有効アクセス制御情報リスト（検索利用者グループデータ）にアクセス制御情報（権限グループデータ）を追加する。すべてのアクセス制御情報に対してチェックを行った後、アクセス制御情報取得部（利用者権限判定部１４３）は、有効アクセス制御情報リスト（検索利用者グループデータ）に格納されているアクセス制御情報を、グループ情報取得部（検索対象抽出部１４４）へ提供する。
【０１９５】
アクセス制御情報は、有効となる条件を満たした場合にのみ有効となるため、そのアクセス制御情報を使用可能な期間を限定することが可能である。
これにより、例えば勤務時間のみ検索可能といった制限を文書ファイル（検索対象データ）に対して適用することが可能である。
また、事前に後日有効となるアクセス制御情報を登録することが可能となるため、当日にアクセス制御情報の追加や変更が不要となり、管理負荷の軽減を図ることが可能である。
これにより、当日の作業を削減することが可能である。
同様に、有効となる条件に、有効期限の終端を設定しておくことにより、当日になれば自動的にアクセス制御情報が無効となるため、当日にアクセス制御情報の削除や変更が不要となり、管理負荷軽減を図ることが可能である。
なお、有効となる条件は日時のみではなく、実施場所等、他の情報を使用してもよい。
【０１９６】
以上のように、利用者のユーザ情報の内容だけでなく、利用者がキーワード検索を実施した時刻等の条件に応じて、検索対象の絞込みを行うことが可能となる。また、アクセス制御情報の管理者も、事前の情報登録と事後の情報変更・削除が可能となり、管理負荷の低減を図ることが可能である。
【図面の簡単な説明】
【０１９７】
【図１】実施の形態１における検索システム８００の全体構成の一例を示すシステム構成図。
【図２】実施の形態１における検索装置１００、管理者端末装置８１０、利用者端末装置８２０の外観の一例を示す図。
【図３】実施の形態１における検索装置１００、管理者端末装置８１０、利用者端末装置８２０のハードウェア資源の一例を示す図。
【図４】実施の形態１における検索装置１００の機能ブロックの構成の一例を示すブロック構成図。
【図５】実施の形態１における利用者属性記憶部１１３が記憶する利用者属性データ５１０の一例を示す図。
【図６】実施の形態１における役割条件記憶部１１４が記憶する役割条件データ５２０の一例を示す図。
【図７】実施の形態１における役割権限記憶部１１５が記憶する役割権限データ５３０の一例を示す図。
【図８】実施の形態１におけるグループ条件記憶部１１６が記憶するグループ条件データ５４０の一例を示す図。
【図９】実施の形態１におけるグループ所属記憶部１２５が記憶するグループ所属データ５５０の一例を示す図。
【図１０】実施の形態１における検索装置１００が検索対象データを検索する検索処理の流れの一例を示すフローチャート図。
【図１１】実施の形態１における利用者役割判定部１４２が利用者の役割を判定する利用者役割判定工程Ｓ６３０の流れの一例を示すフローチャート図。
【図１２】実施の形態１における利用者権限判定部１４３が利用者のアクセス権限を判定する利用者権限判定工程Ｓ６４０の流れの一例を示すフローチャート図。
【図１３】実施の形態１における検索対象抽出部１４４が検索対象データを抽出する検索対象抽出工程Ｓ６５０の流れの一例を示すフローチャート図。
【図１４】実施の形態１におけるデータ検索部１５２が検索対象データを検索するデータ検索工程Ｓ６７０の流れの一例を示すフローチャート図。
【図１５】実施の形態２における役割権限記憶部１１５が記憶する役割権限データ５３０の一例を示す図。
【図１６】実施の形態２における利用者権限判定部１４３が利用者のアクセス権限を判定する利用者権限判定工程Ｓ６４０の流れの一例を示すフローチャート図。
【符号の説明】
【０１９８】
１００  検索装置、１１１  管理情報入力部、１１２  管理情報更新部、１１３  利用者属性記憶部、１１４  役割条件記憶部、１１５  役割権限記憶部、１１６  グループ条件記憶部、１２１  検索対象更新部、１２２  検索対象記憶部、１２３  所属抽出部、１２４  所属更新部、１２５  グループ所属記憶部、１２６  複製記憶部、１３１  認証記憶部、１３２  認証入力部、１３３  認証判定部、１３４  利用者識別記憶部、１４１  利用者属性判定部、１４２  利用者役割判定部、１４３  利用者権限判定部、１４４  検索対象抽出部、１５１  検索条件入力部、１５２  データ検索部、１５３  検索結果出力部、５１０  利用者属性データ、５１１  利用者識別データ、５１２  所属組織データ、５１３  役職データ、５１４  社員区分データ、５１５  配属区分データ、５１６  その他属性データ、５２０  役割条件データ、５２１  役割識別データ、５２２  役割名称データ、５２３  属性条件データ、５３０  役割権限データ、５３１  権限識別データ、５３２  権限役割データ、５３３  権限グループデータ、５３４  有効条件データ、５４０  グループ条件データ、５４１  グループ識別データ、５４２  グループ名称データ、５４３  所属条件データ、５４４  グループインデックスデータ、５５０  グループ所属データ、５５１  インデックスファイル、５５２  所属インデックスデータ、８００  検索システム、８１０  管理者端末装置、８２０  利用者端末装置、９０１  表示装置、９０２  キーボード、９０３  マウス、９０４  ＦＤＤ、９０５  ＣＤＤ、９０６  プリンタ装置、９０７  スキャナ装置、９１０  システムユニット、９１１  ＣＰＵ、９１２  バス、９１３  ＲＯＭ、９１４  ＲＡＭ、９１５  通信装置、９２０  磁気ディスク装置、９２１  ＯＳ、９２２  ウィンドウシステム、９２３  プログラム群、９２４  ファイル群、９３１  電話器、９３２  ファクシミリ機、９４０  インターネット、９４１  ゲートウェイ、９４２  ＬＡＮ。
【図１】
2010020525.tif 000003
【図２】
2010020525.tif 000004
【図３】
2010020525.tif 000005
【図４】
2010020525.tif 000006
【図５】
2010020525.tif 000007
【図６】
2010020525.tif 000008
【図７】
2010020525.tif 000009
【図８】
2010020525.tif 000010
【図９】
2010020525.tif 000011
【図１０】
2010020525.tif 000012
【図１１】
2010020525.tif 000013
【図１２】
2010020525.tif 000014
【図１３】
2010020525.tif 000015
【図１４】
2010020525.tif 000016
【図１５】
2010020525.tif 000017
【図１６】
2010020525.tif 000018