(57)【特許請求の範囲】
【請求項１】
アクセス対象となる資源の属性情報と、前記資源にアクセスする主体の属性情報との組み合わせに応じて所定のアクセス権限の有無を示す規則情報を記憶した規則情報記憶手段と、
特定の前記主体の属性情報と、前記各資源の属性情報との組み合わせに係る前記規則情報に基づいて、前記特定の主体に関して前記各資源に対する前記所定のアクセス権限の有無を示す権限有無情報を生成する権限有無情報生成手段とを有することを特徴とする情報処理装置。
【請求項２】
前記規則情報は、前記主体が前記資源にアクセスする際に実行すべき責務を示す情報を含むことを特徴とする請求項２記載の情報処理装置。
【請求項３】
前記権限有無情報は、前記各資源に対する前記所定のアクセス権限の有無がビットごとに示されているビット列であることを特徴とする請求項１又は２記載の情報処理装置。
【請求項４】
前記資源の属性情報は、前記資源の機密度と、前記資源を管理する組織との対応づけとを含み、
前記主体の属性情報は、前記主体が所定の関係を有する組織との対応づけを含み、
前記権限有無情報生成手段は、前記資源の機密度と、前記特定の主体が前記資源の関係者であるか否かとの組み合わせに係る前記規則情報に基づいて、前記権限有無情報を生成する請求項１乃至３いずれか一項記載の情報処理装置。
【請求項５】
前記権限有無情報生成手段は、前記資源を管理する組織と前記主体が前記所定の関係を有する組織とが同一の場合は、該主体は該資源の関係者であると判断することを特徴とする請求項４記載の情報処理装置。
【請求項６】
前記権限有無情報生成手段は更に、前記規則情報に基づいて前記特定の主体に関して前記資源に対する前記所定のアクセス権限が無いと判断した場合に、前記規則情報には規定されていない追加権限が規定されている権限追加情報に該資源に対する該特定の主体の前記所定のアクセス権限が規定されている場合は、前記権限追加情報に基づいて前記権限有無情報を生成することを特徴とする請求項１乃至５いずれか一項記載の情報処理装置。
【請求項７】
前記規則情報は、ＸＡＣＭＬによって定義されていることを特徴とする請求項１乃至６いずれか一項記載の情報処理装置。
【請求項８】
前記所定のアクセス権限は、前記資源を参照するための参照権限であることを特徴とする請求項１乃至７いずれか一項記載の情報処理装置。
【請求項９】
資源にアクセスする主体の属性情報ごとに、前記主体が前記資源の関係者であるか否かに応じて所定のアクセス権限の有無を前記資源ごとに示す第一の権限情報を記憶した第一の権限情報記憶手段と、
前記各主体が前記関係者であるか否かを前記資源ごとに示す第一の関係有無情報を記憶した第一の関係有無情報記憶手段と、
特定の前記主体に係る前記第一の関係有無情報と、前記特定の主体の属性情報に係る前記第一の権限情報とに基づいて、前記特定の主体による前記各資源に対する前記所定のアクセス権限の有無を示す第二の権限有無情報を生成する権限有無情報生成手段とを有することを特徴とする情報処理装置。
【請求項１０】
前記権限有無情報生成手段は、
前記第一の権限有無情報における、前記特定の主体が前記資源の前記関係者である場合の前記所定のアクセス権限の有無を前記資源ごとに示す情報と、前記特定の主体に係る前記第一の関係有無情報とに基づいて、前記特定の主体が前記所定のアクセス権限を有し、前記所定の主体が前記関係者である場合は真とし、それ以外の場合は偽とする論理演算を前記資源ごとに行うことにより第一の真偽値列を生成し、
前記第一の真偽値列と、前記第一の権限有無情報における、前記特定の主体が前記資源の関係者でない場合の前記所定のアクセス権限の有無を前記資源ごとに示す情報とに基づいて、前記第一の真偽値列における値が真であるか又は前記所定のアクセス権限が有る場合は真とし、それ以外の場合は偽とする論理演算を前記資源ごとに行うことにより第二の真偽値列を生成し、
該第二の真偽値列を前記第二の権限有無情報とすることを特徴とする請求項９記載の情報処理装置。
【請求項１１】
前記第一の関係有無情報は、前記主体の一つであるユーザが前記各資源の前記関係者であるか否かを示すユーザ関係有無情報と、前記主体の一つである、前記ユーザが属するグループが前記各資源の前記関係者であるか否かを示すグループ関係有無情報とを含み、
前記権限有無情報生成手段は、前記ユーザ関係有無情報と前記グループ関係有無情報とに基づいて、前記特定の主体に係る前記ユーザ又は前記グループの少なくとも一方が前記関係者である場合は真とし、それ以外の場合は偽とする論理演算を前記資源ごとに行うことにより第三の真偽値列を生成し、
前記第一の権限有無情報において前記特定の主体が前記資源の前記関係者である場合の前記所定のアクセス権限の有無を前記資源ごとに示す情報と、前記第三の真偽値列とに基づいて、前記第一の真偽値列を生成することを特徴とする請求項１０記載の情報処理装置。
【請求項１２】
前記各主体が所有者であるか否かを前記資源ごとに示す第二の関係有無情報を記憶した第二の関係有無情報記憶手段を有し、
前記第一の権限情報記憶手段は、前記主体の属性情報ごとに、前記主体が前記資源の関係者であるか又は前記主体が前記資源の所有者であるかに応じて前記所定のアクセス権限の有無を前記資源ごとに示す前記第一の権限情報を記憶し、
前記権限有無情報生成手段は、前記第一の権限有無情報における、前記特定の主体が前記資源の前記所有者である場合の前記所定のアクセス権限の有無を前記資源ごとに示す情報と、前記特定の主体に係る前記第二の関係有無情報とに基づいて、前記特定の主体が前記所定のアクセス権限を有し、前記所定の主体が前記所有者である場合は真とし、それ以外の場合は偽とする論理演算を前記資源ごとに行うことにより第四の真偽値列を生成し、前記第二の真偽値列又は前記第四の真偽値列の少なくとも一方が真である場合は真とし、それ以外の場合は偽とする論理演算を前記資源ごとに行うことにより第五の真偽値列を生成し、
前記第五の真偽値列を前記第二の権限有無情報とすることを特徴とする請求項１０又は１１記載の情報処理装置。
【請求項１３】
コンピュータが実行する情報処理方法であって、
アクセス対象となる資源の属性情報と、前記資源にアクセスする主体の属性情報との組み合わせに応じて所定のアクセス権限の有無を示す規則情報を記憶した規則情報記憶手段における、特定の前記主体の属性情報と、前記各資源の属性情報との組み合わせに係る前記規則情報に基づいて、前記特定の主体に関して前記各資源に対する前記所定のアクセス権限の有無を示す権限有無情報を生成する権限有無情報生成手順を有することを特徴とする情報処理方法。
【請求項１４】
前記規則情報は、前記主体が前記資源にアクセスする際に実行すべき責務を示す情報を含むことを特徴とする請求項１３記載の情報処理方法。
【請求項１５】
前記権限有無情報は、前記各資源に対する前記所定のアクセス権限の有無がビットごとに示されているビット列であることを特徴とする請求項１３又は１４記載の情報処理方法。
【請求項１６】
前記資源の属性情報は、前記資源の機密度、前記資源を管理する組織との対応づけとを含み、
前記主体の属性情報は、前記主体が所定の関係を有する組織との対応づけを含み、
前記権限有無情報生成手順は、前記資源の機密度と、前記特定の主体が前記資源の関係者であるか否かとの組み合わせに係る前記規則情報に基づいて、前記権限有無情報を生成する請求項１３乃至１５いずれか一項記載の情報処理方法。
【請求項１７】
前記権限有無情報生成手順は、前記資源を管理する組織と前記主体が前記所定の関係を有する組織とが同一の場合は、該主体は該資源の関係者であると判断することを特徴とする請求項１６記載の情報処理方法。
【請求項１８】
前記権限有無情報生成手順は更に、前記規則情報に基づいて前記特定の主体に関して前記資源に対する前記所定のアクセス権限が無いと判断した場合に、前記規則情報には規定されていない追加権限が規定されている権限追加情報に該資源に対する該特定の主体の前記所定のアクセス権限が規定されている場合は、前記権限追加情報に基づいて前記権限有無情報を生成することを特徴とする請求項１３乃至１７いずれか一項記載の情報処理方法。
【請求項１９】
前記規則情報は、ＸＡＣＭＬによって定義されていることを特徴とする請求項１３乃至１８いずれか一項記載の情報処理方法。
【請求項２０】
前記所定のアクセス権限は、前記資源を参照するための参照権限であることを特徴とする請求項１３乃至１９いずれか一項記載の情報処理方法。
【請求項２１】
コンピュータが実行する情報処理方法であって、
資源にアクセスする主体の属性情報ごとに、前記主体が前記資源の関係者であるか否かに応じて所定のアクセス権限の有無を前記資源ごとに示す第一の権限情報を記憶した第一の権限情報記憶手段と、
前記各主体が前記関係者であるか否かを前記資源ごとに示す第一の関係有無情報を記憶した第一の関係有無情報記憶手段とを用いて、
特定の前記主体に係る前記第一の関係有無情報と、前記特定の主体の属性情報に係る前記第一の権限情報とに基づいて、前記特定の主体による前記各資源に対する前記所定のアクセス権限の有無を示す第二の権限有無情報を生成する権限有無情報生成手順を有することを特徴とする情報処理方法。
【請求項２２】
前記権限有無情報生成手順は、
前記第一の権限有無情報における、前記特定の主体が前記資源の前記関係者である場合の前記所定のアクセス権限の有無を前記資源ごとに示す情報と、前記特定の主体に係る前記第一の関係有無情報とに基づいて、前記特定の主体が前記所定のアクセス権限を有し、前記所定の主体が前記関係者である場合は真とし、それ以外の場合は偽とする論理演算を前記資源ごとに行うことにより第一の真偽値列を生成し、
前記第一の真偽値列と、前記第一の権限有無情報における、前記特定の主体が前記資源の関係者でない場合の前記所定のアクセス権限の有無を前記資源ごとに示す情報とに基づいて、前記第一の真偽値列における値が真であるか又は前記所定のアクセス権限が有る場合は真とし、それ以外の場合は偽とする論理演算を前記資源ごとに行うことにより第二の真偽値列を生成し、
該第二の真偽値列を前記第二の権限有無情報とすることを特徴とする請求項２１記載の情報処理方法。
【請求項２３】
前記第一の関係有無情報は、前記主体の一つであるユーザが前記各資源の前記関係者であるか否かを示すユーザ関係有無情報と、前記主体の一つである、前記ユーザが属するグループが前記各資源の前記関係者であるか否かを示すグループ関係有無情報とを含み、
前記権限有無情報生成手順は、前記ユーザ関係有無情報と前記グループ関係有無情報とに基づいて、前記特定の主体に係る前記ユーザ又は前記グループの少なくとも一方が前記関係者である場合は真とし、それ以外の場合は偽とする論理演算を前記資源ごとに行うことにより第三の真偽値列を生成し、
前記第一の権限有無情報において前記特定の主体が前記資源の前記関係者である場合の前記所定のアクセス権限の有無を前記資源ごとに示す情報と、前記第三の真偽値列とに基づいて、前記第一の真偽値列を生成することを特徴とする請求項２２記載の情報処理方法。
【請求項２４】
前記第一の権限情報記憶手段は、前記主体の属性情報ごとに、前記主体が前記資源の関係者であるか又は前記主体が前記資源の所有者であるかに応じて前記所定のアクセス権限の有無を前記資源ごとに示す前記第一の権限情報を記憶し、
前記権限有無情報生成手順は、前記各主体が所有者であるか否かを前記資源ごとに示す第二の関係有無情報を記憶した第二の関係有無情報記憶手段を用いて、前記第一の権限有無情報における、前記特定の主体が前記資源の前記所有者である場合の前記所定のアクセス権限の有無を前記資源ごとに示す情報と、前記特定の主体に係る前記第二の関係有無情報とに基づいて、前記特定の主体が前記所定のアクセス権限を有し、前記所定の主体が前記所有者である場合は真とし、それ以外の場合は偽とする論理演算を前記資源ごとに行うことにより第四の真偽値列を生成し、前記第二の真偽値列又は前記第四の真偽値列の少なくとも一方が真である場合は真とし、それ以外の場合は偽とする論理演算を前記資源ごとに行うことにより第五の真偽値列を生成し、
前記第五の真偽値列を前記第二の権限有無情報とすることを特徴とする請求項２２又は２３記載の情報処理方法。
【請求項２５】
コンピュータに、
アクセス対象となる資源の属性情報と、前記資源にアクセスする主体の属性情報との組み合わせに応じて所定のアクセス権限の有無を示す規則情報を記憶した規則情報記憶手段における、特定の前記主体の属性情報と、前記各資源の属性情報との組み合わせに係る前記規則情報に基づいて、前記特定の主体に関して前記各資源に対する前記所定のアクセス権限の有無を示す権限有無情報を生成する権限有無情報生成手順を実行させるための情報処理プログラム。
【請求項２６】
コンピュータに、
資源にアクセスする主体の属性情報ごとに、前記主体が前記資源の関係者であるか否かに応じて所定のアクセス権限の有無を前記資源ごとに示す第一の権限情報を記憶した第一の権限情報記憶手段と、
前記各主体が前記関係者であるか否かを前記資源ごとに示す第一の関係有無情報を記憶した第一の関係有無情報記憶手段とを用いて、
特定の前記主体に係る前記第一の関係有無情報と、前記特定の主体の属性情報に係る前記第一の権限情報とに基づいて、前記特定の主体に関して前記各資源に対する前記所定のアクセス権限の有無を示す第二の権限有無情報を生成する権限有無情報生成手順を実行させるための情報処理プログラム。
【請求項２７】
請求項２５記載の情報処理プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項２８】
請求項２６記載の情報処理プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項２９】
所定の資源を管理する資源管理装置であって、
前記所定の資源の一覧情報の提供要求に応じ、請求項１乃至８いずれか一項記載の情報処理装置によって生成された前記権限有無情報に基づいて、前記所定の資源の中から前記提供要求に係る主体が前記所定のアクセス権限を有する資源を抽出し、該抽出された資源の一覧情報を応答する検索手段を有することを特徴とする資源管理装置。
【請求項３０】
前記所定のアクセス権限は、前記資源を参照するための参照権限であることを特徴とする請求項２９記載の資源管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、情報処理プログラム及び記録媒体、並びに資源管理装置に関し、特に資源に関する情報を効率的に提供するための情報処理装置、情報処理方法、情報処理プログラム及び記録媒体、並びに資源管理装置に関する。
【背景技術】
【０００２】
コンピュータシステムにおいては、資源の不正利用等を防止すべく各資源に対してアクセス権が定義されているのが一般である。かかるアクセス権が定義されたデータは、一般にＡＣＬ（Access Control List）と呼ばれている。図１は、文書管理システムにおけるＡＣＬの概念図である。図１に示されるＡＣＬには、ユーザ又はグループごとに、ある文書に対する参照、閲覧、更新及び削除等の操作の可否が定義されている。文書管理システムにおいては、かかるＡＣＬを文書ごとに定義して文書の保護を図っている。
【０００３】
ところで、文書管理システムにおいて、クライアントより文書の検索要求を受けた場合には、参照権限のある文書のみを一覧に含めて提示する必要がある。しかし、検索の際に各文書に対するＡＣＬにアクセスするのは、非常にコストがかかる。そこで、各文書に対するＡＣＬに基づいて、各文書に対する各ユーザの参照権限の有無を示すビット列（以下、「ビットマスク」という。）を予め生成しておくといったことが行われている。
【０００４】
図２は、ビットマスクの概念図である。ビットマスクを予め生成しておくことで、検索要求を受けた際にはビットマスクにアクセスして参照権限の可否を確認できるため、検索結果を高速に応答することができる。
【０００５】
他方において、各種のシステムから共通的に利用され得るセキュリティ情報を定義し、当該セキュリティ情報に基づいて各種のシステム（配信システム、印刷システム等）における文書に対するアクセス権を統一されたルールによって制御するといったことが行われつつある。このような環境においては、文書管理システムについても、他のシステムとの整合性を図るべく、各文書に対するアクセス権を、文書管理システムの内部に（例えば、文書の属性として）保持されていたＡＣＬではなく、外部に保持されている当該セキュリティ情報に基づいて判断することとなる。なお、ここでセキュリティ情報とは、例えば、ユーザの属性（所属、役職等）、文書の属性（文書のカテゴリ、機密度等）、及びユーザの属性と文書の属性との組み合わせごとに定義されたアクセス権の有無を示す情報等、複数の情報より構成されるものである。
【０００６】
なお、特許文献１には、ファイル情報と共に権限情報をも関連付けたインデックスを生成し、これに基づいて検索を行うことにより、文書に設定されたアクセス権限も加味して文書の検索を行う情報処理装置に関する発明が記載されている。また、特許文献２には、ユーザ別のセキュリティ管理のため、複数レベルのセキュリティ管理のための情報が設定されたパーミッション情報を文書毎に有するとともに、前記パーミッション情報に基づいて文書のセキュリティ管理を行なうシステムに関する発明が記載されている。更に、特許文献３には、ユーザ属性情報と関連付けて文書及びフォルダに対して設定されたアクセス権設定情報を予め保有し、ユーザのアクセス要求に示された指示内容を該アクセス権設定情報によりチェックし、整合する設定条件に従ってアクセスを許可する文書管理装置に関する発明が記載されている。
【特許文献１】特開２００１−３４４２４５号公報
【特許文献２】特開平０６−２４３０１８号公報
【特許文献３】特開２００３−２８０９９０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記のようなセキュリティ情報によれば、任意のユーザのある文書に対するアクセス権を判断するためには、複数の情報（ユーザの属性、文書の属性等）を照らし合わせる必要があるため判断の仕組みが複雑化するという問題がある。また、セキュリティ情報の共通性より、セキュリティ情報が文書管理システムとネットワークを介した場所に位置している場合には、文書管理システムが検索要求を受けた際に、ネットワーク越しにアクセス権を確認する必要があるため、検索性能の劣化に繋がるといった問題もある。
【０００８】
本発明は、上記の点に鑑みてなされたものであって、アクセスする主体が所定の権限を有する資源に関する情報を効率的に提供することができる情報処理装置、情報処理方法、情報処理プログラム及び記録媒体、並びに資源管理装置の提供を目的とする。
【課題を解決するための手段】
【０００９】
そこで上記課題を解決するため、本発明は、請求項１に記載されるように、アクセス対象となる各資源を分類する資源分類情報と、前記資源にアクセスする各主体を分類する主体分類情報と、前記資源の分類と前記主体の分類との組み合わせに応じて前記主体が前記資源に対してアクセスする際の規則を規定する規則情報とに基づいて、前記各資源に対する前記主体の所定のアクセス権限の有無を示す権限有無情報を生成する権限有無情報生成手段を有することを特徴とする。
【００１０】
このような情報処理装置では、資源分類情報、主体分類情報及び規則情報等の複数の情報に基づいて、所定のアクセス権限の有無を示す権限有無情報を生成しておくことができるため、例えば、資源の検索要求等があった場合等に、当該権限有無情報を用いることにより、検索要求に係る主体が所定の権限を有する資源に関する情報を効率的に提供することができる。
【００１１】
また、上記課題を解決するため、本発明は、請求項１３に記載されるように、アクセス対象となる各資源を分類する資源分類情報と、前記資源の分類及び前記資源にアクセスする主体の分類の組み合わせに応じて前記主体が前記資源に対してアクセスする際の規則を規定する規則情報とに基づいて、少なくとも前記主体が前記資源と所定の第一の関係を有するか否かに応じて所定の権限の有無を前記各資源ごとに示す第一の権限有無情報と、前記資源分類情報と前記各主体を分類する主体分類情報とに基づいて前記主体が前記各資源と所定の第一の関係を有するか否かを示す第一の関係有無情報とに基づいて、前記各資源に対する前記主体の前記所定の権限の有無を示す第二の権限有無情報を生成する権限有無情報生成手段を有することを特徴とする。
【００１２】
このような情報処理装置では、請求項１に記載される情報処理装置と同様の権限有無情報を高速に生成することができる。
【００１３】
また、上記課題を解決するため、本発明は、請求項３７に記載されるように、所定の資源を管理する資源管理装置であって、前記所定の資源の一覧情報の提供要求に応じ、請求項１乃至１２いずれか一項記載の情報処理装置によって生成された前記権限有無情報に基づいて、前記所定の資源の中から前記提供要求に係る主体が前記所定のアクセス権限を有する資源を抽出し、該抽出された資源の一覧情報を応答する検索手段を有することを特徴とする。
【００１４】
このような資源管理装置では、前記情報処理装置によって生成された権限有無情報を利用することにより、検索要求に係る主体が所定の権限を有する資源に関する情報を効率的に提供することができる。
【００１５】
また、上記課題を解決するため、本発明は、上記情報処理装置における情報処理方法、前記情報処理方法を前記情報処理装置に実行させるための情報処理プログラム、又は前記情報処理プログラムを記録した記録媒体としてもよい。
【発明の効果】
【００１６】
本発明によれば、アクセスする主体が所定の権限を有する資源に関する情報を効率的に提供することができる情報処理装置、情報処理方法、情報処理プログラム及び記録媒体、並びに資源管理装置を提供することができる。
【発明を実施するための最良の形態】
【００１７】
以下、図面に基づいて本発明の実施の形態を説明する。図３は、本発明の実施の形態における文書管理システムの構成例を示す図である。図３に示されるように、本実施の形態における文書管理システム１は、セキュリティ管理サーバ１０、文書管理サーバ２０、認証サーバ３０、クライアント装置４０、印刷サーバ５１、変換サーバ５２及び配信サーバ５３等が、インターネットやＬＡＮ（Local Area Network）等のネットワーク６０を介して接続されることにより構成されている。
【００１８】
セキュリティ管理サーバ１０は、文書に対するセキュリティ上の各種情報（以下、「セキュリティ情報」という。）の管理を行うためのコンピュータである。文書管理システム１において文書を取り扱う各種サーバ（文書管理サーバ１０、印刷サーバ５１、変換サーバ５２、及び配信サーバ５３）は、セキュリティ管理サーバ１０に管理されているセキュリティ情報に基づいて、各ユーザの文書に対するアクセス権を判断する。セキュリティ管理サーバ１０には、セキュリティ管理モジュール１１及びビットマスク生成モジュール１２等が実装されている。セキュリティ管理モジュール１１は、各種のセキュリティ情報の管理機能が実装されたモジュールである。ビットマスク生成モジュール１２は、各種のセキュリティ情報に基づいて、各ユーザの各文書に対する参照権限の有無を示すビット列（以下、「ビットマスク」という。）の生成機能が実装されたモジュールである。
【００１９】
文書管理サーバ２０は、文書の管理（文書の保存、保存されている文書に対する検索、更新及び削除等の手段の提供等）を行うための文書管理モジュール２１が実装されたコンピュータである。文書管理モジュール２１は、文書の検索要求を受けた場合に、ビットマスク生成モジュール１２によって生成されたビットマスクを利用して、高速に文書の検索結果を応答する。
【００２０】
認証サーバ３０は、文書管理システム１のユーザの認証を行うための認証モジュール３１が実装されたコンピュータである。認証モジュール３１は、認証要求に応じユーザの認証を行い、ユーザが認証された場合は、当該ユーザが認証された旨を証明する電子的な証明書（以下、「チケット」という。）を発行する。
【００２１】
印刷サーバ５１、変換サーバ５２及び配信サーバ５３は、文書管理サーバ２０に管理されている文書を扱う各種サーバの例示である。印刷サーバ５１は、文書をプリンタに印刷させるための機能が実装されたコンピュータである。変換サーバ５２は、文書を所定のデータ形式に変換するための機能が実装されたコンピュータである。配信サーバ５３は、文書を所定の宛先に配信するための機能が実装されたコンピュータである。
【００２２】
クライアント装置４０は、上述した各種サーバの機能を利用するアプリケーションが実装されたコンピュータである。但し、クライアント装置４０は、ユーザが直接利用する端末であるとは限らない。例えば、クライアント装置４０は、Ｗｅｂサーバであってもよく、その場合、クライアント装置４０に実装されたアプリケーションは、Ｗｅｂアプリケーションに相当する。
【００２３】
次に、セキュリティ管理サーバ１０の詳細について説明する。図４は、本発明の実施の形態におけるセキュリティ管理サーバのハードウェア構成例を示す図である。図４のセキュリティ管理サーバ１０は、それぞれバスBで相互に接続されているドライブ装置１００と、補助記憶装置１０２と、メモリ装置１０３と、演算処理装置１０４と、インタフェース装置１０５とを有するように構成される。
【００２４】
セキュリティ管理サーバ１０での処理を実現するプログラムは、ＣＤ−ＲＯＭ等の記録媒体１０１によって提供される。プログラムを記録した記録媒体１０１がドライブ装置１００にセットされると、プログラムが記録媒体１０１からドライブ装置１００を介して補助記憶装置１０２にインストールされる。
【００２５】
補助記憶装置１０２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。例えば補助記憶装置１０２は、プログラムの処理に必要な、後述する各種テーブルを格納している。メモリ装置１０３は、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムを読み出して格納する。演算処理装置１０４は、メモリ装置１０３に格納されたプログラムに従ってセキュリティ管理サーバ１０に係る機能を実行する。インタフェース装置１０５は例えばモデム、ルータ等で構成され、図３のネットワーク６０に接続するために用いられる。
【００２６】
図５は、第一の実施の形態におけるセキュリティ管理サーバ及び文書管理サーバの機能構成例を示す図である。図５に示されるように、セキュリティ管理サーバ１０のセキュリティ管理モジュール１１は、ユーザプロファイル１１１、文書プロファイル１１２、ポリシー１１３及び許可証１１４等を管理している。これらが、上記においてセキュリティ情報と呼んでいた情報を構成するものである。
【００２７】
図６は、ユーザプロファイルの例を示す図である。図６に示されるように、ユーザプロファイル１１１は、各ユーザをいずれの部署の関係者であるかによって分類する情報であり、ユーザごとに、各部署（部署Ａ、部署Ｂ、部署Ｃ）の関係者であるか否かが定義されている。例えば、プロファイル１１１において、ユーザＡは、部署Ａの関係者であるが、部署Ｂ及び部署Ｃの関係者ではないことが定義されている。ここで、「部署の関係者」とは、例えば、当該部署に所属している者や、当該部署におけるプロジェクトに参加している者等が該当する。
【００２８】
図７は、文書プロファイルの例を示す図である。図７に示されるように、文書プロファイル１１２は、各文書をその機密レベル等によって分類する情報であり、文書ごとに文書名、機密レベル、及び管理部署等が定義されている。文書名は、文書に付された名前である。機密レベルは、文書の機密度である。管理部署は、文書を管理している部署の部署名である。例えば、文書プロファイル１１２において、文書１は、部署Ａにおいて管理されている極秘文書であるということが定義されている。
【００２９】
図８は、ポリシーの例を示す図である。図８に示されるように、ポリシー１１３は、ユーザの分類（関係者であるか否か）と「資源」の分類（機密レベル）との組み合わせごとに、ユーザが資源にアクセスする際の規則が定義された情報である。ポリシー１１３が文書について適用される場合を例とすると、ポリシー１１３において、関係者は、極秘文書については参照及び印刷は許可されていないが、秘文書及び社外秘文書については、参照も印刷も許可されている旨が定義されている。なお、かっこ内の定義は、「責務」（Ｏｂｌｉｇａｔｉｏｎ）と呼ばれるものである。責務とは、資源にアクセスする際に、同時に実行しなければならない処理をいう。したがって、関係者は、秘文書について、参照及び印刷は許可されているものの、参照をする際はログを残さなければならず、印刷をする際は、機密印刷により、印刷者名を印字しなければならず、かつログを残さなければならない。
【００３０】
なお、ポリシー１１３の具体的な実装は、ポリシー記述言語であるＸＡＣＭＬ（eXtensible Access Control Markup Language）によってもよい。図９は、ＸＡＣＭＬの定義例を示す図である。図９のＸＡＣＭＬ定義１１３ａにおいて、Ｐｏｌｉｃｙタグ１１３１で囲まれた定義が、ポリシーについての定義に該当する。ポリシーは、Ｒｕｌｅタグで囲まれた一つ以上のルールを含み、図９においては、ルール１１３２とルール１１３３とが定義されている。ルール１１３２は、ＲｕｌｅタグにおけるＥｆｆｅｃｔ属性の値が「Ｐｅｒｍｉｔ」であることより、当該ルールに合致した場合に、アクセスが許可されるルールである。一方、ルール１１３２は、Ｅｆｆｅｃｔ属性の値が「Ｄｅｎｙ」であることより、当該ルールに合致した場合に、アクセスが許可されないルールである。
【００３１】
各ルールが適用される対象は、Ｔａｒｇｅｔタグに囲まれて定義されている。対象には、主体（Ｓｕｂｊｅｃｔ）、資源（Ｒｅｓｏｕｒｃｅ）、動作（Ａｃｔｉｏｎ）があり、それぞれの規則が、記述１１３４、１１３５及び１１３６にされている。すなわち、記述１１３４に定義されている主体は、記述１１３５に定義されている資源に対して、記述１１３６に定義されている動作（アクセス）が許可されることになる。
【００３２】
図１０は、許可証の例を示す図である。許可証は、ポリシー１１３では定義しきれない、例外的な権限（以下、「追加権限」という。）が定義された情報である。図１０に示されている許可証１１４には、追加権限が設定された文書ごとに、文書名、追加権限が与えられたユーザのユーザ名、及び追加権限の内容が示されている。例えば、許可証１１４において、文書１については、ユーザＡに対して例外的に参照権限が与えられていることが定義されている。許可証１１４によって、例えば、ポリシー１１３においては権限を有しないユーザが所定のプロジェクトへ参加した場合等、一時的に、当該ユーザに特定の権限を与えることができる。
【００３３】
図５に戻る。文書管理モジュール２１は、検索エンジン２１１、検索条件入力部２１２、検索結果出力部２１３及び書誌情報２１４等から構成される。書誌情報２１４は、管理対象となっている文書の書誌情報である。検索エンジン２１１は、検索条件入力部２１２から入力された検索条件に合致する文書の一覧を書誌情報２１４より検索するための機能である。検索エンジン２１１は、文書一覧の検索に際し、ビットマスク生成モジュール１２によって生成されたビットマスク１３を利用して検索要求に係るユーザが参照権限を有する文書のみを高速に抽出する。検索条件入力部２１２は、クライアントから検索条件を受け付け、当該検索条件を検索エンジン２１１に入力するための機能である。検索結果出力部２１３は、検索エンジンによって検索された文書一覧をクライアントに対して出力するための機能である。
【００３４】
以下、図３の文書管理システム１の処理手順について説明する。図１１は、第一の実施の形態における文書管理システムの文書検索時の処理を説明するための第一のシーケンス図である。図１１の処理は、ユーザからの文書の検索指示に基づいて実行される。なお、クライアント装置４０に実装されたアプリケーション４１の利用の開始にあたって、ユーザによって既にユーザ名及びパスワード等がアプリケーション４１に入力されているものとする。
【００３５】
ステップＳ１０１において、アプリケーション４１が、文書管理モジュール２１に対して、どの認証モジュールによって認証を受けるべきであるかを問い合わせると、文書管理モジュール２１は、認証モジュール３１のＵＲＬ（接続先ＵＲＬ）をアプリケーション４１に対して返信する（Ｓ１０２）。ステップＳ１０２に続いてステップＳ１０３に進み、アプリケーション４１は、文書管理モジュール２１より受信した接続先ＵＲＬに基づいて、認証モジュール３１に対してユーザの認証要求を行う。当該認証要求は、ユーザに入力されたユーザ名及びパスワード等を伴っている。
【００３６】
ステップＳ１０３に続いてステップＳ１０４に進み、認証モジュール３１は、ユーザを認証し、ユーザが認証された場合はその旨を証明するチケットを生成する。チケットには、例えば、当該チケットを識別するチケットＩＤ、当該チケットが有効なサービスを示す有効範囲、当該チケットによってサービスを利用できる有効期限、ユーザＩＤ、及び改竄チェック用のコード等が記録される。また、チケットは、その内容を認証モジュール３１のみが参照可能なように暗号化される。
【００３７】
ステップＳ１０４に続いてステップＳ１０５に進み、認証モジュール３１は、チケットをアプリケーション４１に送信する。ステップＳ１０５に続いてステップＳ１０６に進み、アプリケーション４１は、チケットを伴ってセッションの開設を文書管理モジュール２１に要求する。ステップＳ１０６に続いてステップＳ１０７に進み、文書管理モジュール２１は、ビットマスク生成モジュール１２にビットマスク１３の生成を要求する。ビットマスクの生成要求は、チケット及びビットマスクの生成対象となる文書の一覧情報等を伴っている。
【００３８】
ステップＳ１０７に続いてステップＳ１０８に進み、ビットマスク生成モジュール１２が、チケットを伴って、カレントユーザのユーザＩＤを認証モジュール３１に問い合わせると、認証モジュール３１は、チケットに基づいてユーザＩＤを特定し、当該ユーザＩＤをビットマスク生成モジュール１２に送信する（Ｓ１０９）。
【００３９】
ステップＳ１０９に続いてステップＳ１１０に進み、ビットマスク生成モジュール１２は、ユーザＩＤ及び一の文書（以下、「カレント文書」という。）の文書名等を伴って、カレント文書に対するユーザの参照権限の有無を問い合わせる。ステップＳ１１０に続いてステップＳ１１１に進み、セキュリティ管理モジュール１１は、ユーザプロファイル１１１、文書プロファイル１１２、ポリシー１１３及び許可証１１４等に基づいて、ユーザの参照権限の有無を判定し、その判定結果（参照権限の有無）をビットマスク生成モジュール１２に出力する（Ｓ１１２）。
【００４０】
ステップＳ１１２に続いてステップＳ１１３に進み、ビットマスク生成モジュール１２は、判定結果をビットマスク１３においてカレント文書に対応したビットに反映させる。すなわち、参照権限がある場合は、当該ビットの値を「１」（ＯＮ）とする。その後、ビットマスク生成モジュール１２は、残りの全ての文書について参照権限を問い合わせ、ビットマスク１３を完成させる（Ｓ１１４）。ステップＳ１１４に続いてステップＳ１１５に進み、ビットマスク生成モジュール１２は、完成したカレントユーザに対するビットマスク１３を文書管理モジュール２１に送信する。
【００４１】
図１２は、生成されたビットマスクの例を示す図である。図１２に示されるように、ビットマスク１３は、それぞれのビットが当該ビットに対応した文書に対する参照権限の有無を表したビット列である。したがって、ビットマスク１３にはユーザＡについて各文書に対する参照権限の有無がビットごとに示されている。
【００４２】
ステップＳ１１５に続いてステップＳ１１６に進み、文書管理モジュール２１は、ビットマスクを保持し、セッションの開設要求に対する応答として、セッションＩＤをアプリケーション４１に対して送信する。
【００４３】
ステップＳ１１６に続いてステップＳ１１７に進み、アプリケーション４１がユーザによって入力された検索条件を伴って文書管理モジュール２１に対して文書一覧の検索を要求すると、文書管理モジュール２１の検索エンジン２１１は、検索条件に合致した文書を書誌情報２１４より検索し、更に、その検索結果からビットマスク１３においてビットがＯＮの文書のみを抽出することにより、カレントユーザが参照権限を有する文書のみから構成される文書一覧を生成する（Ｓ１１８）。
【００４４】
ステップＳ１１８に続いてステップＳ１１９に進み、文書管理モジュール２１は、生成した文書一覧をアプリケーション４１に送信する。その後、同一セッションにおいて改めて検索条件が入力された場合は、ステップＳ１１７〜ステップＳ１１９のみの処理が実行される。したがって、ユーザプロファイル１１１、文書プロファイル１１２、ポリシー１１３及び許可証１１４等へのアクセスを要することなく、ユーザが参照権限を有する文書のみをビットマスク１３を用いて高速に抽出することができる。
【００４５】
続いて、ビットマスクの生成処理について更に詳しく説明する。図１３は、第一の実施の形態におけるビットマスクの生成処理を説明するためのフローチャートである。図１３の処理は、上述したステップＳ１１０におけるビットマスク生成モジュール１２からセキュリティ管理モジュール１１へのカレント文書に対するカレントユーザの参照権限の有無の問い合わせに応じて開始される、ステップＳ１１１〜ステップＳ１１４までの処理に対応している。
【００４６】
ステップＳ２０１において、セキュリティモジュール１１は、ユーザプロファイル１１１（図６）からカレントユーザに関する情報を読み込むことにより、カレントユーザが、どの部署の関係者であるかを特定する。例えば、カレントユーザが「ユーザＡ」である場合は、部署Ａの関係者であることが特定される。ステップＳ２０１に続いてステップＳ２０２に進み、セキュリティモジュール１１は、ポリシー１１３（図８）を読み込む。ステップＳ２０２に続いてステップＳ２０３に進み、セキュリティモジュール１１は、文書プロファイル１１２（図７）からカレント文書に関する情報を読み込むことにより、カレント文書の機密レベル及び管理部署を特定する。例えば、カレント文書が「文書１」である場合は、機密レベルは「極秘」であり、管理部署は「部署Ａ」であることが特定される。
【００４７】
ステップＳ２０３に続いてステップＳ２０４に進み、セキュリティモジュール１１は、カレントユーザが"カレント文書の"関係者であるか否かを特定する。すなわち、カレントユーザが関係者となる部署と、カレント文書の管理部署とが同一である場合は、カレントユーザはカレント文書の関係者であり、両者が異なる場合は、関係者でないということになる。したがって、例えば、ユーザＡは、文書１の関係者であるとして特定される。
【００４８】
ステップＳ２０４に続いてステップＳ２０５に進み、セキュリティモジュール１１は、ポリシー１１３を参照し、カレントユーザがカレント文書の関係者であるか否かという情報と、カレント文書の機密レベルとに基づいて、カレントユーザがカレント文書に対して参照権限を有しているか否かを判定する。例えば、ユーザＡは文書１の関係者であり、文書１は極秘文書であることにより、ユーザＡは、文書１に対して参照権限は無いことが判定される。この判定結果は、セキュリティ管理モジュール１１からビットマスク生成モジュール１２に通知される。
【００４９】
参照権限があると判断された場合は、ステップＳ２０５に続いてステップＳ２０６に進み、ビットマスク生成モジュール１２は、ビットマスク１３においてカレント文書に対応するビットをＯＮにする。
【００５０】
一方、参照権限が無いと判断された場合は、ステップＳ２０５に続いてステップＳ２０７に進み、セキュリティ管理モジュール１１は、許可証１１４（図１０）を参照して、カレント文書についてカレントユーザに対する参照に係る追加権限が定義されているか否かに基づいて、カレントユーザがカレント文書に対する参照権限を有しているか否かを判定する。例えば、文書１については、ユーザＡに対して参照権限が追加されているため、ユーザＡは、文書１に対する参照権限が有るものと判定される。この判定結果は、セキュリティ管理モジュール１１からビットマスク生成モジュール１２に通知され、ビットマスク生成モジュール１２によってビットマスク１３に反映される（Ｓ２０６、Ｓ２０８）。
【００５１】
上記ステップＳ２０３〜ステップＳ２０８までの処理が、全ての文書について実行されると（Ｓ２０９）ビットマスクの生成処理は終了する。
【００５２】
ところで、図１１においては、セキュリティ管理モジュール１１が、参照権限の有無の判定を行う例について説明したが、セキュリティ管理モジュール１１の機能を各種のセキュリティ情報の管理のみに特化させ、参照権限の有無の判定等については、ビットマスク生成モジュール１２に実行させるようにしてもよい。かかる場合の処理シーケンスを図１４に示す。図１４は、第一の実施の形態における文書管理システムの文書検索時の処理を説明するための第二のシーケンス図である。
【００５３】
図１４において、ステップＳ３１０〜Ｓ３１６までが、図１１におけるステップＳ１１０〜Ｓ１１４までと置き換わった処理であり、他の処理については図１１と同様である。したがって、ステップＳ３１０〜Ｓ３１６について説明する。
【００５４】
ステップＳ３１０において、ビットマスク生成モジュール１２が、ユーザＩＤを伴って、ユーザプロファイル１１１においてカレントユーザに係る情報の提供をセキュリティ管理モジュール１１に要求すると、セキュリティ管理モジュール１１は、当該情報をユーザプロファイル１１１より取得し、ビットマスク生成モジュール１２に対して出力する（Ｓ３１１）。
【００５５】
ステップＳ３１１に続いてステップＳ３１２に進み、ビットマスク生成モジュール１２が、ポリシー１１３の提供をセキュリティ管理モジュール１１に要求すると、セキュリティ管理モジュール１１は、ポリシー１１３をビットマスクモジュール１２に対して出力する（Ｓ３１３）。
【００５６】
ステップＳ３１３に続いてステップＳ３１４に進み、ビットマスク生成モジュール１２が、文書プロファイル１１２の提供をセキュリティ管理モジュール１１に要求すると、セキュリティ管理モジュール１１は、文書プロファイル１１２をビットマスク生成モジュール１２に対して出力する（Ｓ３１５）。
【００５７】
ステップＳ３１５に続いてステップＳ３１６に進み、ビットマスク生成モジュール１２は、ステップＳ３１１、Ｓ３１３及びＳ３１５において取得した情報に基づいてビットマスクを生成する。具体的には、図１３において説明した処理を実行する。なお、ステップＳ３１６において、許可証１１４が必要な場合は、ビットマスク生成モジュール１２は、許可証１１４をセキュリティ管理モジュール１１より取得する。
【００５８】
上述したように、第一の実施の形態におけるセキュリティ管理サーバ１０によれば、ユーザプロファイル１１１、文書プロファイル１１２及びポリシー１１３、更には許可証１１４等の複数の種類のセキュリティ情報に基づいて、各文書について所定のユーザの参照権限の有無を示すビットマスクを生成することができるため、文書管理サーバ２０は、当該ビットマスクを利用して、文書一覧の提供を効率的に行うことができる。
【００５９】
なおユーザプロファイル１１１及び文書プロファイル１１２におけるユーザや文書の分類の仕方は、様々なバリエーションが存在し得る。例えば、ユーザについては、役職、年齢、性別等、当該ユーザの属性となり得るあらゆる情報によって分類することができる。また、文書についても、ライフサイクル、作成年月日等、当該文書の属性となり得るあらゆる情報によって分類することができる。したがって、ポリシー１１３についても、ユーザ及び文書の分類の仕方によって様々なバリエーションが考えられる。
【００６０】
更に、ビットマスク１３についても、参照権限以外の様々なアクセス権限が対象となり得る。例えば、参照権限と更新権限を有する文書の検索の高速化が要求されるのであれば、参照権限及び更新権限の双方を有するビットをＯＮとするようにビットマスク１３を生成すればよい。
【００６１】
次に、第二の実施の形態として、ビットマスク１３の生成処理を高速化させる例について説明する。図１５は、第二の実施の形態におけるセキュリティ管理サーバの機能構成例を示す図である。
【００６２】
図１５中、図５と同一部分には同一符号を付し、その説明は省略する。図１５において、セキュリティ管理モジュール１１は、高速判定テーブル１１５、ＵＬＵＣ（ユーザレベル・ユーザカテゴリ）マスクテーブル１１６、及び関係者マスクテーブル１１７を更に有している。
【００６３】
図１６は、第二の実施の形態における高速判定テーブルの構成例を示す図である。図１６に示されるように、高速判定テーブル１１５は、文書カテゴリと、文書の機密レベルと、ユーザレベルと、ユーザカテゴリとの組み合わせごとに、参照権限の有無を示すテーブルであり、ポリシー１１３に基づいて生成される。文書カテゴリとは、文書の種別によって文書を分類する情報である。ユーザレベルとは、ユーザの役職によってユーザを分類する情報である。ユーザカテゴリとは、文書と所定の関係を有するか否か（例えば、「関係者」であるか否か）によってユーザを分類する情報である。なお、文書カテゴリとユーザレベルについては、第一の実施の形態においては考慮されていない概念である。したがって、第一の実施の形態において説明した、ユーザプロファイル１１１、文書プロファイル１１２及びポリシー１１３に基づけば、高速判定テーブル１１５は、機密レベルとユーザカテゴリとの組み合わせごとに参照権限の有無を示すものとなる。ここで、新たに文書カテゴリとユーザレベルとを導入したのは、文書の分類やユーザの分類についてのバリエーションを示すためであり、第二の実施の形態において本質的な問題ではない。
【００６４】
例えば、図１６の高速判定テーブル１１５より、社外秘の議事録については、部長ユーザや正社員ユーザは、当該議事録の関係者であるか否かを問わず参照権限が有るが（１〜４行目）、派遣ユーザは、関係者である場合のみ参照権限が有ることが分かる（５、６行目）。
【００６５】
図１７は、第二の実施の形態におけるＵＬＵＣマスクテーブルの構成例を示す図である。図１７に示されるように、ＵＬＵＣマスクテーブル１１６は、ユーザレベルとユーザカテゴリとの組み合わせごとの、各文書（文書１〜文書Ｎ）に対する参照権限の有無を示すビット列によって構成されるテーブルであり、高速判定テーブル１１５と文書プロファイル１１２とに基づいて生成される。例えば、図１７の高速判定テーブル１１５より、関係者である部長ユーザは、文書１、文書２、文書３、文書４及び文書Ｎに対して参照権限が有ることが分かる。なお、ユーザレベルが定義されていない場合は、ＵＬＵＣマスクテーブル１１６は、ユーザが、文書と所定の関係を有するか否かに応じて参照権限の有無を各文書ごとに示す情報であるといえる。
【００６６】
図１８は、第二の実施の形態における関係者マスクテーブルの構成例を示す図である。図１８に示されるように、関係者マスクテーブル１１７は、ユーザ又はユーザの所属グループが文書の関係者であるか否かを示すビット列によって構成されるテーブルであり、ユーザごとに存在する。例えば、図１８の関係者マスクテーブル１１７より、ユーザＡは、文書１、文書３、及び文書Ｎの関係者であるが、文書２及び文書４の関係者ではないことが分かる。
【００６７】
以下、第二の実施の形態における処理手順について説明する。図１９は、第二の実施の形態における文書管理システムの文書検索時の処理を説明するためのシーケンス図である。
【００６８】
図１９において、ステップＳ４１０〜Ｓ４１４までが、図１４におけるステップＳ３１０〜Ｓ３１６までと置き換わった処理であり、他のステップについては図１４と同様である。したがって、ステップＳ４１０〜Ｓ４１４について説明する。
【００６９】
ステップＳ４１０において、ビットマスク生成モジュール１２が、ＵＬＵＣマスクテーブル１１６の提供をセキュリティ管理モジュールに要求すると、セキュリティ管理モジュール１１６は、ＵＬＵＣマスクテーブル１１６をビットマスク生成モジュール１２に対して出力する（Ｓ４１１）。
【００７０】
ステップＳ４１１に続いてステップＳ４１２に進み、ビットマスク生成モジュール１２が、ユーザＩＤを伴って、カレントユーザに係る関係者マスクテーブル１１７の提供をセキュリティ管理モジュール１１に要求すると、セキュリティ管理モジュール１１は、当該関係者マスクテーブル１１７をビットマスク生成モジュール１２に対して出力する（Ｓ４１３）。
【００７１】
ステップＳ４１３に続いてステップＳ４１４に進み、ビットマスク生成モジュール１２は、ステップＳ４１１及びＳ４１３において取得したＵＬＵＣマスクテーブル１１６及び関係者マスクテーブル１１７に基づいてビットマスク１３を生成する。
【００７２】
ステップＳ４１４におけるビットマスク１３の生成処理の詳細は、図２０を用いて説明する。図２０は、第二の実施の形態におけるビットマスクの生成処理を説明するための図である。図２０において、カレントユーザのユーザ名、所属グループ名、及びユーザレベルは、それぞれ、ユーザＡ、グループＡ、正社員であるとする。
【００７３】
まず、関係者マスクテーブル１１７のユーザＡについてのビット列と、グループＡについてのビット列との論理和を算出しビット列１１７ａ（第三の真偽値列）を生成する（Ｓ４１４−１）。ビット列１１７ａは、各文書についてユーザＡ又はグループＡの少なくともいずれか一方が関係者である場合に「真」となるビット列に相当する。これは、ユーザＡ自身が関係者でなくても、ユーザＡが所属するグループＡが関係者としての関係を有する文書については、ユーザＡも関係者として扱うことを意味する。
【００７４】
続いて、高速判定テーブル１１６において、正社員であるユーザＡが関係者である場合の各文書に対する参照権限の有無を示すビット列１１６−１と、ビット列１１７ａとの論理積を算出し、ビット列１１７ｂ（第一の真偽値列）を生成する（Ｓ４１４−２）。ビット列１１７ｂは、各文書について、ユーザＡ自身又はグループＡが関係者であって、かつ、参照権限がある場合に「真」となるビット列に相当する。
【００７５】
更に、高速判定テーブル１１６において、正社員であるユーザＡが関係者であるか否かを問わない場合（ＡＮＹ）の各文書に対する参照権限の有無を示すビット列１１６−２と、ビット列１１７ｂとの論理和を算出することにより、ビットマスク１３ａ（第二の真偽値列）が得られる（Ｓ４１４−３）。すなわち、関係者でなくても参照権限が認められる文書も存在し得るため、かかる事情をビットマスク１３ａに反映させるというわけである。
【００７６】
上述したように、第二の実施の形態におけるセキュリティ管理サーバ１０によれば、ＵＬＵＣマスクテーブル１１６及び関係者マスクテーブル１１７を予め定義しておくことで、ビットマスク１３ａを高速に生成することが可能となる。
【００７７】
次に、第三の実施の形態として、ユーザカテゴリに「所有者」という概念を更に追加した場合について説明する。ここで、「所有者」とは、文書の所有者をいう。
【００７８】
図２１は、第三の実施の形態におけるセキュリティ管理サーバの機能構成例を示す図である。図２１中、図１５と同一部分には同一符号を付し、その説明は省略する。図２１においては、所有者マスクテーブル１１８が更に追加されている。
【００７９】
図２２は、第三の実施の形態における所有者マスクテーブルの構成例を示す図である。図２２に示されるように、所有者マスクテーブル１１８は、ユーザ又はユーザの所属グループが文書の所有者であるか否かを示すビット列によって構成されるテーブルであり、ユーザごとに存在する。例えば、図２２の所有者マスクテーブル１１８より、ユーザＡは、文書１及び文書Ｎの所有者であるが、文書２、文書３及び文書４の所有者ではないことが分かる。
【００８０】
ユーザカテゴリに所有者という概念を追加することにより、高速判定テーブル１１５及びＵＬＵＣマスクテーブル１１６にも変更が生じる。
【００８１】
図２３は、第三の実施の形態における高速判定テーブルの構成例を示す図である。図２３の高速判定テーブル１１５には、ユーザカテゴリが「所有者」である場合の組み合わせが更に追加されている（１、４、７、１２行目）。
【００８２】
図２４は、第三の実施の形態におけるＵＬＵＣマスクテーブルの構成例を示す図である。図２４のＵＬＵＣマスクテーブル１１６についても、ユーザカテゴリが「所有者」である場合の組み合わせが更に追加されている（１、４、及び７行目）。
【００８３】
なお、ユーザカテゴリに対する所有者の追加は、関係者マスクテーブル１１７には影響は無い。
【００８４】
以下、第三の実施の形態における処理手順について説明する。全体の処理手順については、第二の実施の形態（図１９）と同様である。但し、第三の実施の形態においては、ステップＳ４１２及びＳ４１３において、ビットマスク生成モジュール１２は、関係者マスクテーブル１１７と共に、カレントユーザの所有者マスクテーブル１１８をセキュリティ管理モジュール１１より取得する。また、ステップＳ４１４においては、ＵＬＵＣマスクテーブル１１６、関係者マスクテーブル１１７及び所有者マスクテーブル１１８に基づいて、ビットマスク１３が生成される。
【００８５】
図２５は、第三の実施の形態におけるビットマスクの生成処理を説明するための図である。図２５において、カレントユーザのユーザ名、所属グループ名、及びユーザレベルは、それぞれ、ユーザＡ、グループＡ、正社員であるとする。
【００８６】
まず、所有者マスクテーブル１１８のユーザＡについてのビット列と、グループＡについてのビット列との論理和を算出し、ビット列１１８ａ（第三の真偽値列）を生成する（Ｓ４１４−１１）。ビット列１１８ａは、各文書についてユーザＡ又はグループＡの少なくともいずれか一方が所有者である場合に「真」となるビット列に相当する。これは、ユーザＡ自身が所有者でなくても、ユーザＡが所属するグループＡが所有者としての関係を有する文書については、ユーザＡも所有者として扱うことを意味する。
【００８７】
続いて、高速判定テーブル１１６において、正社員であるユーザＡが所有者である場合の各文書に対する参照権限の有無を示すビット列１１６−３と、ビット列１１８ａとの論理積を算出し、ビット列１１８ｂ（第一の真偽値列）を生成する（Ｓ４１４−１２）。ビット列１１８ｂは、各文書について、ユーザＡ自身又はグループＡが所有者であり、かつ、参照権限を有する場合に「真」となるビット列に相当する。
【００８８】
続いて、高速判定テーブル１１６において、正社員であるユーザＡが所有者であるか否かを問わない場合（ＡＮＹ）の各文書に対する参照権限の有無を示すビット列１１６−４と、ビット列１１８ｂとの論理和を算出し、ビット列１１８ｃ（第二の真偽値列）を生成する（Ｓ４１４−１３）。なお、ビット列１１８ｃは、ユーザＡのユーザカテゴリについて文書の所有者であるか否かのみに基づくビットマスク１３に相当し、ユーザＡのユーザカテゴリについて文書の関係者であるか否かのみに基づくビットマスク１３ａ（図２０）に対応するものである。
【００８９】
したがって、更に、ビット列１１８ｃとビットマスク１３ａ（図２０）との論理和を算出することにより、ユーザＡ又はグループＡが文書の所有者であるか又は関係者であるかについて考慮されたビットマスク１３ｂ（第四の真偽値列）が得られる（Ｓ４１４−１４）。すなわち、ユーザカテゴリの種類を増やした場合は、当該種類に関するビットマスクをそれぞれ作成し、各ビットマスクの論理和を算出すればよい。
【００９０】
上述したように、第三の実施の形態におけるセキュリティ管理サーバ１０によれば、ユーザカテゴリの種類を増やした場合であっても、第二の実施の形態と同様な論理演算を実行することにより、高速にビットマスク１３を生成することができる。すなわち、本発明は、主体（ユーザ）の分類や資源（文書）の分類について、本実施の形態において示した特定ものに限定されず、運用にあわせて定義される様々な分類に対して適用可能である。
【００９１】
以上、本発明の好ましい実施例について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【００９２】
【図１】文書管理システムにおけるＡＣＬの概念図である。
【図２】ビットマスクの概念図である。
【図３】本発明の実施の形態における文書管理システムの構成例を示す図である。
【図４】本発明の実施の形態におけるセキュリティ管理サーバのハードウェア構成例を示す図である。
【図５】第一の実施の形態におけるセキュリティ管理サーバ及び文書管理サーバの機能構成例を示す図である。
【図６】ユーザプロファイルの例を示す図である。
【図７】文書プロファイルの例を示す図である。
【図８】ポリシーの例を示す図である。
【図９】ＸＡＣＭＬの定義例を示す図である。
【図１０】許可証の例を示す図である。
【図１１】第一の実施の形態における文書管理システムの文書検索時の処理を説明するための第一のシーケンス図である。
【図１２】生成されたビットマスクの例を示す図である。
【図１３】第一の実施の形態におけるビットマスクの生成処理を説明するためのフローチャートである。
【図１４】第一の実施の形態における文書管理システムの文書検索時の処理を説明するための第二のシーケンス図である。
【図１５】第二の実施の形態におけるセキュリティ管理サーバの機能構成例を示す図である。
【図１６】第二の実施の形態における高速判定テーブルの構成例を示す図である。
【図１７】第二の実施の形態におけるＵＬＵＣマスクテーブルの構成例を示す図である。
【図１８】第二の実施の形態における関係者マスクテーブルの構成例を示す図である。
【図１９】第二の実施の形態における文書管理システムの文書検索時の処理を説明するためのシーケンス図である。
【図２０】第二の実施の形態におけるビットマスクの生成処理を説明するための図である。
【図２１】第三の実施の形態におけるセキュリティ管理サーバの機能構成例を示す図である。
【図２２】第三の実施の形態における所有者マスクテーブルの構成例を示す図である。
【図２３】第三の実施の形態における高速判定テーブルの構成例を示す図である。
【図２４】第三の実施の形態におけるＵＬＵＣマスクテーブルの構成例を示す図である。
【図２５】第三の実施の形態におけるビットマスクの生成処理を説明するための図である。
【符号の説明】
【００９３】
１            文書管理システム
１０          セキュリティ管理サーバ
１１          セキュリティ管理モジュール
１２          ビットマスク生成モジュール
１３          ビットマスク
２０          文書管理サーバ
２１          文書管理モジュール
３０          認証サーバ
３１          認証モジュール
４０          クライアント装置
５１          印刷サーバ
５２          変換サーバ
５３          配信サーバ
１００        ドライブ装置
１０１        記録媒体
１０２        補助記憶装置
１０３        メモリ装置
１０４        演算処理装置
１０５        インタフェース装置
１１１        ユーザプロファイル
１１２        文書プロファイル
１１３        ポリシー
１１４        許可証
１１５        高速判定テーブル
１１６        ＵＬＵＣマスクテーブル
１１７        関係者マスクテーブル
１１８        所有者マスクテーブル
２１１        検索エンジン
２１２        検索条件入力部
２１３        検索結果出力部
２１４        書誌情報
Ｂ            バス
【図１】
0004625334.tif 000002
【図２】
0004625334.tif 000003
【図３】
0004625334.tif 000004
【図４】
0004625334.tif 000005
【図５】
0004625334.tif 000006
【図６】
0004625334.tif 000007
【図７】
0004625334.tif 000008
【図８】
0004625334.tif 000009
【図９】
0004625334.tif 000010
【図１０】
0004625334.tif 000011
【図１１】
0004625334.tif 000012
【図１２】
0004625334.tif 000013
【図１３】
0004625334.tif 000014
【図１４】
0004625334.tif 000015
【図１５】
0004625334.tif 000016
【図１６】
0004625334.tif 000017
【図１７】
0004625334.tif 000018
【図１８】
0004625334.tif 000019
【図１９】
0004625334.tif 000020
【図２０】
0004625334.tif 000021
【図２１】
0004625334.tif 000022
【図２２】
0004625334.tif 000023
【図２３】
0004625334.tif 000024
【図２４】
0004625334.tif 000025
【図２５】
0004625334.tif 000026