(57)【要約】【課題】  本発明によれば、階層構造のデータに対してアクセスの許可又は禁止等の設定を効率的に行う。【解決手段】  階層構造のデータに対してアクセスの許可又は禁止を設定する設定装置であって、階層構造を構成する複数のオブジェクトの中から少なくとも１つのオブジェクトを選択するオブジェクト選択部と、オブジェクト選択部により選択されたオブジェクトに対する、階層構造における相対位置を定めた複数のパターンの中から、少なくとも１つのパターンを選択するパターン選択部と、オブジェクト選択部により選択されたオブジェクトと共に、当該オブジェクトに対してパターン選択部により選択されたパターンにより定められる相対位置にあるオブジェクトの各々に対して、アクセスの許可又は禁止を設定するアクセス制御ポリシー設定部とを備える設定装置を提供する。【選択図】図２
2005235005.tif 000002
【特許請求の範囲】
【請求項１】
階層構造のデータに対してアクセスの許可又は禁止を設定する設定装置であって、
前記階層構造を構成する複数のオブジェクトの中から少なくとも１つのオブジェクトを選択するオブジェクト選択部と、
前記オブジェクト選択部により選択されたオブジェクトに対する、前記階層構造における相対位置を定めた複数のパターンの中から、少なくとも１つのパターンを選択するパターン選択部と、
前記オブジェクト選択部により選択されたオブジェクトと共に、当該オブジェクトに対して前記パターン選択部により選択されたパターンにより定められる相対位置にあるオブジェクトの各々に対して、アクセスの許可又は禁止を設定するアクセス制御ポリシー設定部と
を備える設定装置。
【請求項２】
前記アクセス制御ポリシー設定部は、前記オブジェクト選択部により選択されたオブジェクトから、前記パターン選択部により選択されたパターンにより定められる相対位置にあるオブジェクトの各々に対して、当該オブジェクトのアクセスを許可する条件又はアクセスを禁止する条件であるアクセス制御条件を更に設定する
請求項１記載の設定装置。
【請求項３】
前記複数のオブジェクトは、木構造を構成し、当該木構造の根ノードは、最上位階層のオブジェクトを表し、当該木構造の葉ノードは、最下位階層のオブジェクトを表し、
前記階層構造において前記根ノードを起点とする相対位置が同一であり、かつ種類が同一である複数のオブジェクトをまとめて、１つの抽象オブジェクトとして生成した抽象構造を生成する抽象構造生成部を更に備え、
前記アクセス制御ポリシー設定部は、前記抽象オブジェクトに対してアクセス制御条件を設定することにより、当該抽象オブジェクトとして生成された複数のオブジェクトの各々に対してアクセス制御条件を設定する
請求項２記載の設定装置。
【請求項４】
前記アクセス制御ポリシー設定部は、各オブジェクトの前記アクセス制御条件として、当該オブジェクトをアクセスする利用者の識別情報、当該利用者の属性、又は当該アクセスの種類が満たすべき条件を設定する
請求項２記載の設定装置。
【請求項５】
前記アクセス制御ポリシー設定部は、アクセス制御条件を設定する対象の設定対象オブジェクトに既に他のアクセス制御条件が設定されている場合に、新たに設定する当該アクセス制御条件を既に設定された当該他のアクセス制御条件に組み合わせた組合せ条件を設定する
請求項２記載の設定装置。
【請求項６】
前記アクセス制御ポリシー設定部は、前記設定対象オブジェクトに既に他のアクセス制御条件が設定されている場合に、新たに設定する当該アクセス制御条件及び既に設定された当該他のアクセス制御条件の双方を満たす論理積条件、又は、当該アクセス制御条件及び当該他のアクセス制御条件の何れかを満たす論理和条件を管理者に選択させ、選択された論理積条件又は論理和条件を、前記組合せ条件として設定する
請求項５記載の設定装置。
【請求項７】
前記アクセス制御条件は、前記オブジェクト選択部により選択されたオブジェクトの下位階層に位置する判断対象オブジェクトが満たすべき条件であり、
前記設定対象オブジェクトに既に他のアクセス制御条件が設定されている場合において、前記アクセス制御ポリシー設定部は、当該アクセス制御条件及び当該他のアクセス制御条件の双方において、前記判断対象オブジェクトを起点として前記オブジェクト選択部により選択されたオブジェクトに至るまでに同一のオブジェクトを経由する旨の条件を前記論理積条件に追加した条件を、管理者の選択対象とする
請求項６記載の設定装置。
【請求項８】
前記アクセス制御ポリシー設定部は、同一のオブジェクトに対して、無条件のアクセスの許可と、アクセス制御条件が満たされた場合におけるアクセスの許可との双方を設定した場合に、前記アクセス制御条件が満たされた場合に当該オブジェクトへのアクセスを許可する
請求項２記載の設定装置。
【請求項９】
前記複数のオブジェクトは、木構造を構成し、当該木構造の根ノードは、最上位階層のオブジェクトを表し、当該木構造の葉ノードは、最下位階層のオブジェクトを表し、
前記複数のパターンは、前記オブジェクト選択部により選択されたオブジェクトから、前記根ノードとして表されるオブジェクトに至る経路上の各オブジェクトのアクセスを許可する第１パターンを含み、
前記アクセス制御ポリシー設定部は、前記パターン選択部により前記第１パターンが選択された場合に、前記オブジェクト選択部により選択されたオブジェクトから、前記根ノードとして表されるオブジェクトに至る経路上の各オブジェクトのアクセスを許可する
請求項１記載の設定装置。
【請求項１０】
前記複数のオブジェクトは、木構造を構成し、当該木構造の根ノードは、最上位階層のオブジェクトを表し、当該木構造の葉ノードは、最下位階層のオブジェクトを表し、
前記複数のパターンは、前記オブジェクト選択部により選択されたオブジェクトから、前記根ノードとして表されるオブジェクトと、前記葉ノードとして表されるオブジェクトとの各々に至る経路上の各オブジェクトとに対するアクセスを許可する第２パターンを含み、
前記アクセス制御ポリシー設定部は、前記パターン選択部により前記第２パターンが選択された場合に、前記オブジェクト選択部により選択されたオブジェクトから、前記根ノードとして表されるオブジェクトに至る経路上の各オブジェクトと、前記葉ノードとして表されるオブジェクトに至る経路上の各オブジェクトとに対するアクセスを許可する
請求項１記載の設定装置。
【請求項１１】
前記複数のオブジェクトは、木構造を構成し、当該木構造の根ノードは、最上位階層のオブジェクトを表し、当該木構造の葉ノードは、最下位階層のオブジェクトを表し、
前記複数のパターンは、前記オブジェクト選択部により選択されたオブジェクトから、前記葉ノードとして表されるオブジェクトに至る経路上の各オブジェクトに対するアクセスを禁止する第３パターンを含み、
前記アクセス制御ポリシー設定部は、前記パターン選択部により前記第３パターンが選択された場合に、前記オブジェクト選択部により選択されたオブジェクトから、前記葉ノードとして表されるオブジェクトに至る経路上の各オブジェクトに対するアクセスを禁止する
請求項１記載の設定装置。
【請求項１２】
前記複数のオブジェクトは、木構造を構成し、当該木構造の根ノードは、最上位階層のオブジェクトを表し、当該木構造の葉ノードは、最下位階層のオブジェクトを表し、
前記複数のパターンは、利用者に当該オブジェクトのアクセスを許可するために満たすべき条件を、前記オブジェクト選択部により選択されたオブジェクトから、前記葉ノードとして表されるオブジェクトに至る経路上の各オブジェクトに設定する第４パターンを含み、
前記アクセス制御ポリシー設定部は、前記パターン選択部により前記第４パターンが選択された場合に、管理者に当該オブジェクトのアクセスを許可するために満たすべき条件を、前記オブジェクト選択部により選択されたオブジェクトから、前記葉ノードとして表されるオブジェクトに至る経路上の各オブジェクトに設定する
請求項１記載の設定装置。
【請求項１３】
前記アクセス制御ポリシー設定部は、同一のオブジェクトに対してアクセスの許可及びアクセスの禁止の双方を設定した場合に、当該オブジェクトへのアクセスを禁止する
請求項１記載の設定装置。
【請求項１４】
階層構造の複数のオブジェクトに既に設定されたアクセスの許可又は禁止の設定に基づいて、前記パターン選択部により選択可能な複数のパターンを生成する選択可能パターン生成部を更に備え、
前記パターン選択部は、前記選択可能パターン生成部により生成された複数のパターンの中から、少なくとも１つのパターンを選択する
請求項１記載の設定装置。
【請求項１５】
前記複数のオブジェクトの各々は、情報の記述開始位置を示す開始タグと、情報の記述終了位置を示す終了タグとを含む要素オブジェクト、又は、前記開始タグ又は前記終了タグの属性を示す属性オブジェクトであり、
前記オブジェクト選択部により選択されるオブジェクトが、前記要素オブジェクト及び前記属性オブジェクトの何れであるかに基づいて、前記パターン選択部により選択可能な複数のパターンを生成する選択可能パターン生成部を更に備え、
前記パターン選択部は、前記選択可能パターン生成部により生成された複数のパターンの中から、少なくとも１つのパターンを選択する
請求項１記載の設定装置。
【請求項１６】
前記オブジェクト選択部により選択可能な複数のパターンの何れかを少なくとも２回選択することにより構成される構成パターンを、前記オブジェクト選択部により選択可能な新たなパターンとして登録する構成パターン登録部を更に備え、
前記パターン選択部により前記構成パターンが選択された場合に、前記オブジェクト選択部は、前記構成パターンを構成する複数のパターンに対応する複数のオブジェクトを選択し、
前記アクセス制御ポリシー設定部は、前記オブジェクト選択部により選択された複数のオブジェクトの各々について、当該オブジェクトに対応するパターンにより定められる相対位置にあるオブジェクトに対して、アクセスの許可又は禁止を順次設定する
請求項１記載の設定装置。
【請求項１７】
階層構造のデータに対してアクセスの許可又は禁止を設定する設定方法であって、
前記階層構造を構成する複数のオブジェクトの中から少なくとも１つのオブジェクトを選択するオブジェクト選択段階と、
前記オブジェクト選択段階において選択されたオブジェクトに対する、前記階層構造における相対位置を定めた複数のパターンの中から、少なくとも１つのパターンを選択するパターン選択段階と、
前記オブジェクト選択段階において選択されたオブジェクトと共に、当該オブジェクトに対して前記パターン選択段階において選択されたパターンにより定められる相対位置にあるオブジェクトの各々に対して、アクセスの許可又は禁止を設定するアクセス制御ポリシー設定段階と
を備える設定方法。
【請求項１８】
コンピュータを、階層構造のデータに対してアクセスの許可又は禁止を設定する設定装置として機能させるプログラムであって、
前記コンピュータを、
前記階層構造を構成する複数のオブジェクトの中から少なくとも１つのオブジェクトを選択するオブジェクト選択部と、
前記オブジェクト選択部により選択されたオブジェクトに対する、前記階層構造における相対位置を定めた複数のパターンの中から、少なくとも１つのパターンを選択するパターン選択部と、
前記オブジェクト選択部により選択されたオブジェクトと共に、当該オブジェクトに対して前記パターン選択部により選択されたパターンにより定められる相対位置にあるオブジェクトの各々に対して、アクセスの許可又は禁止を設定するアクセス制御ポリシー設定部と
して機能させるプログラム。
【請求項１９】
請求項１８記載のプログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、設定装置、設定方法、プログラム、及び記録媒体に関する。特に、本発明は、データに対するアクセスの許可又は禁止を設定する設定装置、設定方法、プログラム、及び記録媒体に関する。
【背景技術】
【０００２】
近年、情報を階層構造に構造化して記述するＸＭＬ等の言語が注目されている。ＸＭＬは、様々な分野において広く用いられており、例えば、医療カルテ又は契約書等が代表的である。このような文書においては、文書全体にアクセスの許可又は禁止を設定するのみならず、１つの文書に含まれる複数の情報の各々に、アクセスの許可又は禁止を設定できるのが望ましい。例えば、医療カルテにおいて、診療日時の情報へのアクセスを多くの者に許可しても問題がないが、病名の情報へのアクセスを多くの者に許可するのは好ましくない。
【０００３】
従来、階層構造の情報に対してアクセスの許可又は禁止を設定する技術の１つとして、記憶装置に記憶されたファイル又はフォルダを管理するファイルシステムが提案されている。例えば、ＷｉｎｄｏｗｓＸＰ（登録商標）等のファイルシステムは、利用者から受けた１度の操作により、選択したフォルダと、そのフォルダの下位階層の全てのファイル・フォルダとに対するアクセスを禁止することができる。また、ＵＮＩＸ（登録商標）等のファイルシステムは、ファイルにアクセスする者がそのファイルの作成者であるか否かに応じてファイルの許可又は禁止を設定すること等ができる。
【０００４】
更に、サーバ又はアプリケーションプログラムに対するアクセスの許可又は禁止を設定するシステムとして、Tivoli Access Managerが知られている。このシステムによると、サーバ又はアプリケーションプログラムの各々に対して、アクセスの許可又は禁止を設定することができる。
現時点で先行公知文献の存在を確認していないので、先行公知文献に関する記載を省略する。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、構造化文書の管理者が、文書に含まれる複数の情報の各々に対して、アクセスの許可又は禁止を適切に設定するのは困難である。例えば、医療カルテの例において、管理者が、病名に対するアクセスを禁止したものの、病名の下位階層に位置する診断履歴に対するアクセスを禁止し忘れてしまう場合がある。このような不都合は、文書の構造が複雑な場合や、アクセスを許可する条件が複雑な場合に特に発生しやすく、問題がある。また、従来、管理者は、複数の情報の各々にアクセスの許可又は禁止を適切に設定するために、多くの操作を行う必要があった。例えば、上記Tivoli Access Managerにおいて、管理者は、所定の設定を行うために１９回もの操作を行う必要があった。
そこで本発明は、上記の課題を解決することのできる設定装置、設定方法、プログラム、及び記録媒体を提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明の第１の形態においては、階層構造のデータに対してアクセスの許可又は禁止を設定する設定装置であって、階層構造を構成する複数のオブジェクトの中から少なくとも１つのオブジェクトを選択するオブジェクト選択部と、オブジェクト選択部により選択されたオブジェクトに対する、階層構造における相対位置を定めた複数のパターンの中から、少なくとも１つのパターンを選択するパターン選択部と、オブジェクト選択部により選択されたオブジェクトと共に、当該オブジェクトに対してパターン選択部により選択されたパターンにより定められる相対位置にあるオブジェクトの各々に対して、アクセスの許可又は禁止を設定するアクセス制御ポリシー設定部とを備える設定装置、設定方法、プログラム、及び当該プログラムを記録した記録媒体を提供する。
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【発明の効果】
【０００７】
本発明によれば、階層構造のデータに対してアクセスの許可又は禁止等の設定を効率的に行うことができる。
【発明を実施するための最良の形態】
【０００８】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【０００９】
図１は、ポリシー生成システム１０のブロック図である。ポリシー生成システム１０は、階層構造のデータに対して、アクセスの許可又は禁止等を定めたアクセス制御ポリシーを効率的に設定することを目的とする。ポリシー生成システム１０は、構造化文書ストレージ１００と、アクセス制御ポリシーパターンストレージ１１０と、アクセス制御ポリシー設定装置１２０と、アクセス制御ポリシーストレージ１３０とを備える。構造化文書ストレージ１００は、管理者からの指示を受けて、階層構造のデータ、例えばＸＭＬ等の構造化文書を格納する。これに代えて、構造化文書ストレージ１００は、他のストレージから構造化文書を取得して格納してもよい。アクセス制御ポリシーパターンストレージ１１０は、階層構造を構成する複数のオブジェクトの各々に対して、そのオブジェクトへのアクセスの許可又は禁止を設定するために必要な、各種のデータを格納する。これらのデータは、設計者から登録されてもよい。
【００１０】
アクセス制御ポリシー設定装置１２０は、階層構造を構成する複数のオブジェクトを構造化文書ストレージ１００から取得すると、管理者からの指示に基づいて、複数のオブジェクトの中から少なくとも１つのオブジェクトを選択する。そして、アクセス制御ポリシー設定装置１２０は、選択したオブジェクトに対する、階層構造における相対位置を定めた複数のパターンの中から、少なくとも１つのパターンを選択する。アクセス制御ポリシー設定装置１２０は、そのオブジェクトと共に、そのオブジェクトに対してそのパターンにより定められる相対位置にある他のオブジェクトの各々に対して、アクセスの許可又は禁止を設定し、設定結果をアクセス制御ポリシーストレージ１３０に格納する。これにより、管理者は、設定対象のオブジェクトを１つ１つ選択する煩雑な作業を行うことなく、アクセスの許可又は禁止等の設定を効率的に行うことができる。
【００１１】
なお、本実施例の説明において、管理者とは、アクセス制御ポリシーを設定・変更することにより、構造化文書を、正当なアクセス権限所持者のみからアクセスされるように管理する者をいう。また、設計者とは、管理者がアクセス制御ポリシーを適切かつ効率的に設定するためのデータを登録する者をいう。また、あるオブジェクトのアクセス制御ポリシーとは、そのオブジェクトに対するアクセスを許可又は禁止することを示すオブジェクト状態と、そのアクセスを許可するための条件とを含む。
【００１２】
図２は、構造化文書ストレージ１００に格納されるデータの一例を示す（第１例）。（ａ）は、構造化文書ストレージ１００に実際に格納されているデータを示す。構造化文書ストレージ１００は、階層構造のデータとして、ＸＭＬ等で記述された構造化文書を格納する。階層構造を構成する各オブジェクトは、一例として、情報の記述開始位置を示す開始タグと、情報の記述終了位置を示す終了タグとを含む要素オブジェクトである。本図において具体的には、要素オブジェクトは、開始タグである<Organization>と、終了タグである</Organization>とを含む。
【００１３】
他の例として、各オブジェクトは、これらの開始タグ又は終了タグの属性を示す属性オブジェクトであってもよい。そして、本図において具体的には、属性オブジェクトは、開始タグである<department>の属性を示すcodeである。また、これに加えて、構造化文書は、Employeeタグを、管理対象の社員毎に複数有してもよい。
【００１４】
（ｂ）は、構造化文書ストレージ１００に格納されたデータの抽象構造を示す。本図で示すように、階層構造を構成する複数のオブジェクトは、例えば木構造を構成する。そして、この木構造の根ノードは、最上位階層のオブジェクトを示し、この木構造の葉ノードは、最下位階層のオブジェクトを示す。例えば、根ノードは、抽象オブジェクトOrganizationであり、葉ノードは、抽象オブジェクト@code、抽象オブジェクト@role等である。そして、要素オブジェクトを構成する開始タグ及び終了タグの間にあるオブジェクトは、抽象構造において、その要素オブジェクトを表す抽象オブジェクトの下位階層の抽象オブジェクトである。なお、以降の説明において、属性オブジェクト及び要素オブジェクトを区別するべく、属性オブジェクト及び属性オブジェクトを示す抽象オブジェクトを、その属性オブジェクトの識別子に@を付して表記する。
【００１５】
具体的には、本図において、開始タグ<Organization>及び終了タグ</Organization>を含む要素オブジェクトを、抽象オブジェクトOrganizationとして表す。そして、これらの開始タグ及び終了タグの間に記述された他のタグ等は、抽象オブジェクトOrganizationの下位階層の抽象オブジェクトとして表される。例えば、開始タグ<Organization>及び終了タグ</Organization>の間には、開始タグ<department>及び終了タグ</department>が記述されている。従って、これらのタグを表す抽象オブジェクトdepartmentは、抽象オブジェクトOrganizationの下位階層の抽象オブジェクトである。
【００１６】
また、抽象構造とは、根ノードを起点とする相対位置が同一であり、かつ種類が同一である複数のオブジェクトをまとめて、新たな１つのオブジェクトとして生成した構造であってもよい。例えば、構造化文書として、開始タグである<department>タグから終了タグである</department>タグの間に、複数のEmployeeタグが記述されていた場合、抽象構造は、これらの複数のEmployeeタグをまとめた抽象オブジェクトEmployeeを含んでもよい。更に、抽象構造において、構造化文書のテキストデータは、テキストデータであることを示すtext()として表されてもよい。以降の説明において、各抽象オブジェクトを、根ノードとして表される抽象オブジェクトを起点とした当該オブジェクトの相対位置を示すパス表現により表記する。具体的には、抽象オブジェクトdepartmentは、/Organization/departmentと表記される。
【００１７】
また、以降の説明において、ポリシー生成システム１０が抽象オブジェクトの各々についてアクセスの許可又は禁止を設定する例を説明する。なお、これに代えて、ポリシー生成システム１０は、抽象オブジェクトでなく構造化文書の各オブジェクトに直接当該設定を行ってもよい。そこで、以降の説明において、特に断らない限り、オブジェクト及び抽象オブジェクトの各々について説明する場合には、オブジェクト又は抽象オブジェクトを、単にオブジェクトと表記する。また、あるオブジェクトから根ノードとして表されたオブジェクトに至るまでに順次経由する各オブジェクトを、そのオブジェクトの祖先オブジェクトと呼ぶ。また、あるオブジェクトから葉ノードとして表された何れかのオブジェクトに至るまでに順次経由する各オブジェクトを、そのオブジェクトの子孫オブジェクトと呼ぶ。
【００１８】
本図の例に代えて、階層構造のデータとは、ＳＧＭＬ又はＨＴＭＬ等で記述された文書であってもよい。この場合、各オブジェクトは、ＸＭＬの場合と同様、開始タグ及び終了タグであってもよいし、属性であってもよい。更に他の例として、階層構造のデータとは、記憶装置のファイルシステムに記録されるデータであってもよい。この場合、各オブジェクトは、ファイル又はフォルダである。そして、あるフォルダに格納されたファイルは、そのフォルダを表すオブジェクトの下位階層のオブジェクトである。
【００１９】
図３は、アクセス制御ポリシーパターンストレージ１１０のブロック図である。図４は、アクセス制御ポリシー設定装置１２０のブロック図である。双方の図について説明する。アクセス制御ポリシーパターンストレージ１１０は、オブジェクト状態テーブル格納部３００と、オブジェクト状態遷移データ格納部３１０と、アクセス制御ポリシー生成アルゴリズム格納部３２０とを有する。アクセス制御ポリシー設定装置１２０は、抽象構造生成部４００と、オブジェクト状態初期化部４０５と、選択可能パターン生成部４１０と、ユーザインターフェイス部４２０と、オブジェクト選択部４３０と、パターン選択部４４０と、アクセス制御ポリシー設定部４４５と、アクセス制御ポリシー設定ルール４５５と、構成パターン登録部４７０とを有する。
【００２０】
抽象構造生成部４００は、構造化文書を構造化文書ストレージ１００から受け取ると、受け取った構造化文書の構造を解析することにより抽象構造を生成し、抽象構造を示す抽象構造データをオブジェクト状態初期化部４０５に送信する。具体的には、抽象構造生成部４００は、構造化文書の各オブジェクトについて、そのオブジェクトの種類等を示す抽象オブジェクトを生成する。一例として、抽象構造生成部４００は、各オブジェクトについて、そのオブジェクトが要素オブジェクトである場合には、その要素オブジェクトのタグの名称を、その要素オブジェクトの種類を示す抽象オブジェクトとして生成してもよい。
【００２１】
そして、抽象構造生成部４００は、構造化文書における各タグの包含関係に基づいて、各抽象オブジェクト間の階層構造（以降の説明において、抽象構造と呼ぶ）を生成する。具体的には、抽象構造生成部４００は、ある開始タグ及び終了タグの間に記述された情報を示す抽象オブジェクトを、その開始タグおよび終了タグを示す抽象オブジェクトの子孫オブジェクトとすることにより、抽象構造を生成する。更に、抽象構造生成部４００は、階層構造において根ノードを起点とする相対位置が同一であり、かつ種類が同一である複数のオブジェクトをまとめて、１つの抽象オブジェクトを生成してもよい。
【００２２】
オブジェクト状態初期化部４０５は、抽象構造生成部４００により生成された各抽象オブジェクトのオブジェクト状態を初期状態に設定し、設定結果と共に選択可能パターン生成部４１０に送る。例えば、初期状態とは、アクセスが禁止された状態である。そして、選択可能パターン生成部４１０は、オブジェクト状態テーブル格納部３００から取得したデータと、複数のオブジェクトに既に設定されたオブジェクト状態とに基づいて、パターン選択部４４０により選択可能なパターンを生成し、生成結果をパターン選択部４４０に送る。また、選択可能パターン生成部４１０は、受け取った抽象構造データをオブジェクト選択部４３０に送る。
なお、選択可能パターン生成部４１０は、選択可能なパターンを新たに登録する旨の指示を、構成パターン登録部４７０から受け取った場合には、その新たに登録するパターンを、選択可能なパターンに加えてもよい。
【００２３】
オブジェクト選択部４３０は、複数のオブジェクトを、例えばその構造を示す画像として、ユーザインターフェイス部４２０を介して管理者に表示する。そして、オブジェクト選択部４３０は、管理者からユーザインターフェイス部４２０を介して指示を受けると、その指示に基づいて、複数のオブジェクトの中から少なくとも１つのオブジェクトを選択する。オブジェクト選択部４３０は、選択結果を抽象構造と共にアクセス制御ポリシー設定部４４５に送る。また、オブジェクト選択部４３０は、選択結果をパターン選択部４４０に送る。
【００２４】
パターン選択部４４０は、選択可能パターン生成部４１０から受け取った選択可能なパターンに基づいて、オブジェクト選択部４３０により選択されたオブジェクトについて選択可能なパターンを決定する。そして、パターン選択部４４０は、決定したそのパターンを、例えばパターンを列挙したメニュー形式に整形して、ユーザインターフェイス部４２０を介して管理者に表示する。そして、パターン選択部４４０は、管理者からユーザインターフェイス部４２０を介して受けた指示に基づいて、少なくとも１つのパターンを選択する。
【００２５】
アクセス制御ポリシー設定部４４５は、オブジェクト状態更新部４５０と、アクセス制御ポリシー設定部４６０とを有する。オブジェクト状態更新部４５０は、パターン選択部４４０により選択されたパターンが定める階層構造における相対位置を示す情報を、オブジェクト状態遷移データ格納部３１０から取得する。そして、オブジェクト状態更新部４５０は、オブジェクト選択部４３０により選択されたオブジェクトに対して、オブジェクト状態遷移データ格納部３１０から取得した相対位置にあるオブジェクトの各々に対して、オブジェクト状態を設定する。オブジェクト状態更新部４５０は、設定結果を抽象構造と共にアクセス制御ポリシー設定部４６０に送る。
【００２６】
アクセス制御ポリシー設定部４６０は、ユーザインターフェイス部４２０を介して管理者から受けた指示に基づいて、オブジェクト選択部４３０により選択されたオブジェクトから、パターン選択部４４０により選択されたパターンにより定められる相対位置にあるオブジェクトの各々に対して、そのオブジェクトのアクセスを許可する条件又はそのオブジェクトのアクセスを禁止する条件であるアクセス制御条件を更に設定する。
【００２７】
この際、アクセス制御ポリシー設定部４６０は、あるオブジェクトに互いに異なる複数のアクセス制御ポリシーが設定されている場合に、アクセス制御ポリシー設定ルール４５５に基づいて、これらのアクセス制御ポリシーを組み合わせた１つのアクセス制御ポリシーを生成して設定してもよい。この場合、アクセス制御ポリシー設定部４６０は、必要に応じて、組み合わせ方法を管理者に問合せてもよい。また、アクセス制御ポリシー設定部４６０は、アクセス制御ポリシーを設定する処理を実現するための実行モジュールを、アクセス制御ポリシー生成アルゴリズム格納部３２０から取得して実行してもよい。そして、アクセス制御ポリシー設定部４６０は、設定結果を、所定のファイル形式に整形してアクセス制御ポリシーストレージ１３０に格納する。
【００２８】
構成パターン登録部４７０は、パターン選択部４４０により選択可能なパターンを選択可能パターン生成部４１０から取得する。そして、構成パターン登録部４７０は、これらのパターンをユーザインターフェイス部４２０を介して管理者に表示し、これらのパターンの何れかを少なくとも２回選択することにより構成される構成パターンを登録するか否かを管理者に問合せる。そして、構成パターン登録部４７０は、登録する旨の指示を受けた場合に、その構成パターンを、パターン選択部４４０により選択可能な新たなパターンとして登録するべく、選択可能パターン生成部４１０に指示する。更に、構成パターン登録部４７０は、当該新たなパターンに対応する情報を、オブジェクト状態テーブル格納部３００、オブジェクト状態遷移データ格納部３１０、及びアクセス制御ポリシー生成アルゴリズム格納部３２０に追加してもよい。
【００２９】
図５は、オブジェクト状態テーブル格納部３００のデータ構造の一例を示す。オブジェクト状態テーブル格納部３００は、オブジェクトのオブジェクト状態と、オブジェクトタイプとに対応付けて、オブジェクト選択部４３０がそのオブジェクトを選択した場合においてパターン選択部４４０が選択可能なパターンを格納する。例えば、オブジェクト選択部４３０が初期状態の要素オブジェクトを選択した場合に、パターン選択部４４０は、第１パターン、第２パターン、及び第４パターンを選択することができる。一方、この場合、パターン選択部４４０は、第３パターンを選択することができない。
【００３０】
即ち、選択可能パターン生成部４１０は、オブジェクト状態テーブル格納部３００を参照することにより、オブジェクト選択部４３０により選択されるオブジェクトが、要素オブジェクト及び属性オブジェクトの何れであるかに基づいて、パターン選択部４４０により選択可能な複数のパターンを生成することができる。また、選択可能パターン生成部４１０は、オブジェクトに既に設定されたアクセスの許可又は禁止の設定に基づいて、パターン選択部４４０により選択可能な複数のパターンを生成することができる。
【００３１】
なお、オブジェクトタイプとは、オブジェクトの種類を示し、例えば、要素オブジェクト又は属性オブジェクト等のことをいう。これに加えて、オブジェクトタイプとは、タグ情報を含まない文字情報であるテキストオブジェクトを示してもよい。続いて、これらの第１パターンから第４パターンについて説明する。
【００３２】
図６は、第１パターンを説明する図である。（ａ）は、第１パターンにより設定されるアクセス制御ポリシーの概念図である。オブジェクト状態遷移データ格納部３１０は、選択可能なパターンの１つとして、オブジェクト選択部４３０により選択されたオブジェクトから、根ノードとして表される根オブジェクトに至る経路上の各オブジェクトのアクセスを許可する第１パターンを含む。
【００３３】
例えば、オブジェクト選択部４３０が、本図の斜線を付したオブジェクトを選択し、かつパターン選択部４４０が第１パターンを選択した場合には、アクセス制御ポリシー設定部４４５は、そのオブジェクトから根オブジェクトに至る太線の経路上の各オブジェクトへのアクセスを許可する。なお、以降の説明において、オブジェクト選択部４３０が選択したオブジェクトを、コアオブジェクトと呼ぶ。
【００３４】
（ｂ）は、第１パターンにより遷移するオブジェクト状態の状態遷移図である。初期状態のコアオブジェクトは、アクセスが許可される許可状態に遷移する。また、許可状態のコアオブジェクトは、許可状態のまま遷移しない。なお、オブジェクト選択部４３０が、アクセスが禁止される禁止状態のオブジェクトを選択した場合には、パターン選択部４４０は、第１パターンを選択することができない。
【００３５】
コアオブジェクトの祖先オブジェクトは、初期状態から許可状態に遷移する。そして、許可状態の祖先オブジェクトは、許可状態のまま遷移しない。なお、パターン選択部４４０が、第１パターンを選択することができる場合には、祖先オブジェクトは初期状態又は許可状態の何れかであって、禁止状態ではない。従って、禁止状態からの状態遷移については示していない。コアオブジェクトの子孫オブジェクトは、初期状態、許可状態、及び禁止状態の何れであっても、その状態のまま遷移しない。
【００３６】
図７は、第２パターンを説明する図である。（ａ）は、第２パターンにより設定されるアクセス制御ポリシーの概念図である。オブジェクト状態遷移データ格納部３１０は、選択可能なパターンの１つとして、オブジェクト選択部４３０により選択されたオブジェクトから、根オブジェクト及び葉オブジェクトの各々に至る経路上の各オブジェクトのアクセスを許可する第２パターンを含む。
【００３７】
そして、オブジェクト選択部４３０が、本図のコアオブジェクトを選択し、かつパターン選択部４４０が第２パターンを選択した場合には、アクセス制御ポリシー設定部４４５は、コアオブジェクトから根オブジェクト及び葉オブジェクトの各々に至る太線の経路上の各オブジェクトへのアクセスを許可する。
【００３８】
（ｂ）は、第２パターンにより遷移するオブジェクト状態の状態遷移図である。初期状態のコアオブジェクトは、アクセスが許可される許可状態に遷移する。また、許可状態のコアオブジェクトは、許可状態のまま遷移しない。なお、オブジェクト選択部４３０が、禁止状態のオブジェクトを選択した場合には、パターン選択部４４０は、第２パターンを選択することができない。
【００３９】
コアオブジェクトの祖先オブジェクトは、初期状態から許可状態に遷移する。そして、許可状態の祖先オブジェクトは、許可状態のまま遷移しない。なお、パターン選択部４４０が、第２パターンを選択することができる場合には、祖先オブジェクトは初期状態又は許可状態の何れかであって、禁止状態ではない。従って、禁止状態からの状態遷移については示していない。
【００４０】
子孫オブジェクトは、初期状態から許可状態に遷移する。そして、許可状態又は禁止状態の子孫オブジェクトは、それらの状態のまま遷移しない。即ち、一旦禁止状態になった子孫オブジェクトは、パターン選択部４４０が第２パターンを選択した場合であっても禁止状態のまま他の状態に遷移しない。
【００４１】
図８は、第３パターンを説明する図である。（ａ）は、第３パターンにより設定されるアクセス制御ポリシーの概念図である。オブジェクト状態遷移データ格納部３１０は、選択可能なパターンの１つとして、オブジェクト選択部４３０により選択されたオブジェクトから、葉ノードとして表される葉オブジェクトに至る経路上の各オブジェクトに対するアクセスを禁止する第３パターンを含む。
【００４２】
そして、オブジェクト選択部４３０が、本図のコアオブジェクトを選択し、かつパターン選択部４４０が第３パターンを選択した場合には、アクセス制御ポリシー設定部４４５は、コアオブジェクトから葉オブジェクトの各々に至る太線の経路上の各オブジェクトへのアクセスを禁止する。
【００４３】
（ｂ）は、第３パターンにより遷移するオブジェクト状態の状態遷移図である。許可状態のコアオブジェクトは、禁止状態に遷移する。なお、オブジェクト選択部４３０が、初期状態又は禁止状態のオブジェクトを選択した場合には、パターン選択部４４０は、第３パターンを選択することができない。従って、初期状態又は禁止状態からの状態遷移を示していない。
【００４４】
コアオブジェクトの祖先オブジェクトは、許可状態のまま遷移しない。なお、パターン選択部４４０が、第３パターンを選択することができる場合には、祖先オブジェクトは必ず許可状態であるので、初期状態又は禁止状態からの状態遷移については示していない。子孫オブジェクトは、許可状態から禁止状態に遷移する。そして、禁止状態の子孫オブジェクトは、禁止状態のまま遷移しない。
【００４５】
図９は、第４パターンを説明する図である。（ａ）は、第４パターンにより設定されるアクセス制御ポリシーの概念図である。オブジェクト状態遷移データ格納部３１０は、選択可能なパターンの１つとして、利用者にオブジェクトのアクセスを許可する条件を、オブジェクト選択部４３０により選択されたオブジェクトから、葉ノードとして表されるオブジェクトに至る経路上の各オブジェクトに設定する第４パターンを含む。
【００４６】
そして、オブジェクト選択部４３０が、本図のコアオブジェクトを選択し、かつパターン選択部４４０が第４パターンを選択した場合には、アクセス制御ポリシー設定部４４５は、コアオブジェクトから葉オブジェクトの各々に至る太線の経路上の各オブジェクトについて、そのオブジェクトへのアクセスを許可する条件を設定する。また、この場合、アクセス制御ポリシー設定部４４５は、コアオブジェクトの祖先オブジェクトへのアクセスを許可する。なお、本実施例において、アクセスを許可するアクセス制御条件の設定されたオブジェクトは、状態遷移において許可状態とみなす。
【００４７】
（ｂ）は、第４パターンにより遷移するオブジェクト状態の状態遷移図である。初期状態のコアオブジェクトは、条件の設定された許可状態に遷移する。無条件にアクセスが許可されたコアオブジェクトもまた、条件の設定された許可状態に遷移してもよい。そして、初期状態の祖先オブジェクトは、許可状態に遷移する。さらに、初期状態の子孫オブジェクトは、条件の設定された許可状態に遷移する。そして、無条件にアクセスが許可された子孫オブジェクトは、条件の設定された許可状態に遷移してもよい。更に、禁止状態の子孫オブジェクトは、禁止状態のまま状態遷移しない。
【００４８】
以上、図６から図９に示す第１から第４パターンによれば、下位階層のオブジェクトのアクセスを許可した場合には、必ず上位階層のオブジェクトのアクセスを許可することができる。これにより、各々のオブジェクトのアクセス制御ポリシーを設定する手間を省くことができると共に、アクセス制御ポリシーの不整合が発生することを防ぐことができる。
【００４９】
図１０は、ポリシー生成システム１０の動作フローを示す。ポリシー生成システム１０は、新たなパターンが必要か否か判断する（Ｓ１０００）。例えば、構成パターン登録部４７０は、新たなパターンを登録する指示を管理者から受けた場合に、新たなパターンが必要と判断してもよい。これに代えて、構造化文書ストレージ１００は、設計者から新たなパターンの登録指示を受けた場合に、新たパターンが必要と判断してもよい。新たなパターンが必要でないと判断された場合であっても、オブジェクト選択部４３０は、第１から第４パターンを選択可能である。
【００５０】
新たなパターンが必要と判断した場合に（Ｓ１０００：ＹＥＳ）、構成パターン登録部４７０は、例えば構成パターンを選択可能パターン生成部４１０に指示して登録する（Ｓ１０１０）。更に、構成パターン登録部４７０は、そのパターンに対応して設計された各種の情報を、オブジェクト状態テーブル格納部３００、オブジェクト状態遷移データ格納部３１０、及びアクセス制御ポリシー生成アルゴリズム格納部３２０に追加してもよい。抽象構造生成部４００は、構造化文書を構造化文書ストレージ１００から受け取ると（Ｓ１０２０）、受け取った構造化文書の構造を解析することにより抽象構造を生成する（Ｓ１０２５）。
【００５１】
オブジェクト状態初期化部４０５は、抽象構造を構成する各オブジェクトのオブジェクト状態を初期状態に初期化する（Ｓ１０３０）。アクセス制御ポリシー設定部４４５は、オブジェクト選択部４３０及びパターン選択部４４０等による選択結果を用いて、アクセス制御ポリシーを設定する（Ｓ１０５０）。管理者の所望する全ての設定処理が終了していない場合には（Ｓ１０６０：ＮＯ）、アクセス制御ポリシー設定部４４５は、Ｓ１０５０に処理を戻す。一方、当該全ての設定処理が終了した場合に（Ｓ１０６０：ＹＥＳ）、ポリシー生成システム１０は、処理を終了する。
【００５２】
図１１は、Ｓ１０５０における動作フローの詳細を示す。選択可能パターン生成部４１０は、各オブジェクトが選択された場合に選択可能な複数のパターンを生成する（Ｓ１１００）。オブジェクト選択部４３０は、管理者の指示に基づき、抽象構造を構成する複数のオブジェクトの中から少なくとも１つのオブジェクトを選択する（Ｓ１１１０）。
【００５３】
オブジェクト状態更新部４５０は、選択されたオブジェクトについて選択可能な複数のパターンの中から、管理者の指示に基づき、少なくとも１つのパターンを選択する（Ｓ１１２０）。そして、オブジェクト状態更新部４５０は、選択されたオブジェクト及びパターンに基づいて、各オブジェクトのオブジェクト状態を更新する（Ｓ１１３０）。また、アクセス制御ポリシー設定部４６０は、管理者から入力された条件を、各オブジェクトのアクセスが許可される条件として登録してもよい（Ｓ１１４０）。
【００５４】
ここで、アクセス制御ポリシー設定部４６０が、アクセス制御ポリシー生成アルゴリズム格納部３２０の情報及びアクセス制御ポリシー設定ルール４５５を用いて、アクセス制御ポリシーを生成する処理の詳細を説明する。アクセス制御ポリシー生成アルゴリズム格納部３２０は、アクセス制御ポリシーを設定する対象の設定対象オブジェクトと、アクセス制御条件とを、所定の記述法に準拠して生成するためのプログラム・モジュールを格納している。まず、この記述法について説明する。
【００５５】
本実施例において、アクセス制御ポリシーは、アクセスを行う主体の属性（サブジェクト・タイプ）と、アクセスを行う主体（サブジェクト）と、アクセスを行う対象のオブジェクトと、そのオブジェクトに対してどのような処理を許可するかを示す情報（モード・アクション）との組により表される。
【００５６】
サブジェクト・タイプは、オブジェクトに対するアクセスが許可されるために、利用者が満たすべき属性を示している。例えば、サブジェクト・タイプは、利用者が所属しているべきグループを示してもよいし、利用者が有しているべき肩書き・役職等を示してもよい。
【００５７】
サブジェクトは、オブジェクトに対するアクセスを許可する対象の利用者を示している。例えば、サブジェクトは、その利用者の識別子を示す。また、オブジェクトは、アクセスを許可又は禁止する対象となるオブジェクトである。アクセス制御ポリシーにおいては、オブジェクトを特定するために、XPath等のパス表現により、抽象構造におけるそのオブジェクトの位置が記述される。
【００５８】
例えば、XPathにおける/Org/Depは、オブジェクトOrgの子孫オブジェクトDepを指定する。また、XPathにおける//Salaryは、名称がSalaryである全てのオブジェクトを指定する。更に、XPath記述法によれば、オブジェクトの指定と共に、アクセス制御条件を述語式により指定することができる。例えば、/Org/Dep[@code='S&S']は、属性codeがS&Sである条件を満たすオブジェクトDepを示す。
【００５９】
モード・アクションは、オブジェクトに対する処理を許可又は禁止する指示と、その処理の種類との組により表される。例えば、モード・アクションは、読み出し（ｒ）、書き込み（ｗ）、内容の更新（Ｕ）、削除（Ｄ）、及びトラバース（Ｔ）の何れかを、許可（＋）又は禁止（−）することを示す。一例として、読み出しの許可を、＋ｒと表記する。
【００６０】
また、あるオブジェクトの読み出しを許可する設定（ｒ）の他に、そのオブジェクト及びそのオブジェクトの全ての子孫オブジェクトの読み出しを許可する設定（Ｒ）を、処理の種類として指定することもできる。
【００６１】
以上より、アクセス制御ポリシーは、例えば、<GROUP,A,/Org/Dep[@code='S&S']，+r>と表記される。このアクセス制御ポリシーは、グループ名GROUPに属する利用者Aのみが、属性がS&SのオブジェクトDepのみを読み出せることを示す。
【００６２】
アクセス制御ポリシー生成アルゴリズム格納部３２０は、以上に示すアクセス制御ポリシーを生成する以下の４つのプログラム・モジュールを格納する。
１．upward関数
２．downward関数
３．generate_permit関数
４．generate_deny関数
【００６３】
アクセス制御ポリシー設定部４６０は、upward関数を実行した場合には、コアオブジェクトから根オブジェクトに至る経路上の各オブジェクトに対して＋ｒのモード・アクションを設定したアクセス制御ポリシーを生成する。アクセス制御ポリシー設定部４６０は、downward関数を実行した場合には、コアオブジェクトから各葉オブジェクトに至る経路上の各オブジェクトに対して＋ｒのモード・アクションを設定したアクセス制御ポリシーを生成する。
【００６４】
アクセス制御ポリシー設定部４６０は、generate_permit関数を実行した場合には、コアオブジェクトに対して、＋Ｒのモード・アクションを設定したアクセス制御ポリシーを生成する。また、アクセス制御ポリシー設定部４６０は、generate_deny関数を実行した場合には、コアオブジェクトに対して、−Ｒのアクセス制御ポリシーを生成する。
【００６５】
具体的な適用例として、アクセス制御ポリシー設定部４６０は、パターン選択部４４０により第１パターンが選択された場合には、オブジェクト選択部４３０により選択されたコアオブジェクトに対してupward関数を実行する。また、アクセス制御ポリシー設定部４６０は、パターン選択部４４０により第２パターンが選択された場合には、オブジェクト選択部４３０により選択されたコアオブジェクトに対して、upward関数及びdownward関数を実行する。モード・アクションが＋Ｒ又は−Ｒ等の場合、又はオブジェクトが指定子「//」により指定されている場合には、アクセス制御ポリシー設定部４６０は、upward関数及びgenerate_permit関数を実行してもよい。
【００６６】
更に、アクセス制御ポリシー設定部４６０は、パターン選択部４４０により第３パターンが選択された場合には、オブジェクト選択部４３０により選択されたコアオブジェクトに対してgenerate_deny関数を実行する。また、アクセス制御ポリシー設定部４６０は、パターン選択部４４０により第４パターンが選択された場合には、オブジェクト選択部４３０により選択されたコアオブジェクトに対してupward関数及びdownward関数を実行する。モード・アクションが＋Ｒ又は−Ｒ等の場合、又はオブジェクトが指定子「//」により指定されている場合には、アクセス制御ポリシー設定部４６０は、upward関数及びgenerate_permit関数を実行してもよい。
【００６７】
続いて、アクセス制御ポリシー設定ルール４５５について説明する。アクセス制御ポリシー設定部４６０は、設定対象オブジェクトに既に他のアクセス制御ポリシーが設定されている場合には、アクセス制御ポリシー設定ルール４５５に基づいて、新たに設定するアクセス制御ポリシー及び既に設定されていた他のアクセス制御ポリシーの何れかを選択して設定する。例えば、アクセス制御ポリシー設定ルール４５５は、アクセスの禁止を、アクセスの許可より優先する旨のルールを含む。また、アクセス制御ポリシー設定ルール４５５は、アクセス制御条件の設定されたアクセス制御ポリシーを、アクセス制御条件の設定されていないアクセス制御ポリシーより優先する旨のルールを含む。
【００６８】
これにより、例えば、アクセス制御ポリシー設定部４６０は、既にアクセスが禁止されたオブジェクトに対して、アクセスを許可する設定を行うことはできない。また、アクセス制御ポリシー設定部４６０は、既にアクセス制御条件の設定されたオブジェクトに対して、新たに無条件にアクセスを許可する設定を行うことはできない。
【００６９】
これに代えて、アクセス制御ポリシー設定部４６０は、新たに設定するアクセス制御条件及び既に設定されていた他のアクセス制御条件を組み合わせた組合せ条件を生成してもよい。この際、アクセス制御ポリシー設定部４６０は、組合せの方法を管理者に問合せてもよい。
以降、具体例を用いて本実施例を説明する。
【００７０】
図１２は、ポリシー生成システム１０が構造化文書に対して行う処理の一例を示す（第１例）。本図は、図２に示す構造化文書において、社員（Employee）に、自分のデータの読み出しを許可し、他人のデータの読み出しを禁止する処理を示す。まず、抽象構造生成部４００は、構造化文書における各タグの包含関係に基づいて、各オブジェクト間の抽象構造を生成する（Ｓ１２００）。そして、オブジェクト状態初期化部４０５は、各オブジェクトのオブジェクト状態を初期状態に初期化する（Ｓ１２０２）。即ち、オブジェクトOrganization及びオブジェクトdepartment等は、初期状態に初期化される。
【００７１】
そして、選択可能パターン生成部４１０は、各オブジェクトについて、そのオブジェクトがオブジェクト選択部４３０により選択された場合にパターン選択部４４０により選択可能なパターンを生成する（Ｓ１２０５）。オブジェクト選択部４３０は、管理者からの指示に基づき、オブジェクトOrganizationを選択する（Ｓ１２１０）。この場合、オブジェクトOrganizationは要素オブジェクトであり、かつ初期状態であるので、パターン選択部４４０により選択可能なパターンは、第１パターン、第２パターン、及び第４パターンである。
【００７２】
パターン選択部４４０は、第２パターンを選択する（Ｓ１２２０）。また、パターン選択部４４０は、管理者からの指示に基づき、各オブジェクトにどのような種類の設定を行うかを決定してもよい。例えば、パターン選択部４４０は、設定の種類の一例として、例えば、コアオブジェクトの全ての子孫オブジェクトに対して読み出しを許可する設定（ｒ）を行う旨を決定する。
【００７３】
更に、パターン選択部４４０は、設定の種類の一例として、コアオブジェクトの全ての子孫オブジェクトに対して読み出しを許可し、かつ設定後に新たに子孫オブジェクトとして追加されたオブジェクトに対しても読み出しを許可する設定（Ｒ）を行う旨を決定してもよい。更に他の例として、パターン選択部４４０は、オブジェクトの書き込みを許可する設定を行ってもよいし、オブジェクトの更新又は削除を許可する設定を行ってもよい。
【００７４】
そして、アクセス制御ポリシー設定部４４５は、オブジェクトOrganizationと共に、このオブジェクトに対してパターン選択部４４０により選択されたパターンにより定められる相対位置にあるオブジェクトの各々に対して、アクセスの許可を設定する（Ｓ１２３０）。即ち、アクセス制御ポリシー設定部４４５は、オブジェクトOrganization及びこのオブジェクトの全ての子孫オブジェクトに対して、アクセスの許可を設定する。これにより、以下に示すアクセス制御ポリシーが生成される。
【００７５】
<GROUP, emp, /Organization,+,r>
<GROUP, emp, /Organization/Department,+,r>
<GROUP, emp, /Organization/Department/@code,+,r>
<GROUP, emp, /Organization/Department/Employee,+,r>
<GROUP, emp, /Organization/Department/Employee/@role,+,r>
<GROUP, emp, /Organization/Department/Employee/Name,+,r>
<GROUP, emp, /Organization/Department/Employee/Name/text(),+,r>
<GROUP, emp, /Organization/Department/Employee/Salary,+,r>
<GROUP, emp, /Organization/Department/Employee/Salary/text(),+,r>
<GROUP, emp, /Organization/Department/Employee/text(),+,r>
<GROUP, emp, /Organization/Department/text(),+,r>
<GROUP, emp, /Organization/text(),+,r>
【００７６】
この設定により、グループ名GROUPに所属するユーザ名がempである利用者は、オブジェクトOrganizationの子孫オブジェクトの全てを読み出すことができる。また、ユーザ名empとは、特定のユーザ名を指すものでなく、ある会社の社員の何れかを指すものであってもよい。これにより、Organizationタグの開始タグから終了タグの間に記述された全ての情報を読み出すことができる。
【００７７】
続いて、管理者の所望する設定処理を全て終えていないので、選択可能パターン生成部４１０は、各オブジェクトについて、そのオブジェクトがオブジェクト選択部４３０により選択された場合にパターン選択部４４０により選択可能なパターンを再度生成する（Ｓ１２４０）。オブジェクト選択部４３０は、管理者からの指示に基づき、オブジェクトEmployeeを選択する（Ｓ１２５０）。この場合、オブジェクトEmployeeは要素オブジェクトであり、かつ許可状態であるので、パターン選択部４４０により選択可能なパターンは、第１から第４パターンの全てである。
【００７８】
パターン選択部４４０は、第４パターンを選択する（Ｓ１２６０）。そして、アクセス制御ポリシー設定部４６０は、各オブジェクトのアクセスを許可するアクセス制御条件の入力を受ける（Ｓ１２７０）。例えば、アクセス制御ポリシー設定部４６０は、オブジェクトEmployee及びその子孫オブジェクトに対するアクセス制御条件として、そのオブジェクトEmployeeの子孫オブジェクトNameが、アクセスする利用者のユーザ名と同一である旨の条件を入力とする。この条件は、例えば述語式[Name=$UserID]として表される。
【００７９】
ここで、オブジェクトEmployeeの子孫オブジェクトには、Ｓ１２３０において既に許可状態が設定されている。従って、アクセス制御ポリシー設定部４６０は、各オブジェクトに対するアクセスを無条件に許可するか、又は、アクセス制御条件が満たされた場合にのみ許可するか、何れの設定を行うかを管理者に問合せる（Ｓ１２８０）。アクセス制御ポリシー設定部４６０は、管理者の指示に基づき、アクセス制御条件が満たされた場合にのみアクセスを許可する設定を行う。
【００８０】
なお、アクセス制御ポリシー設定部４６０は、管理者からの指示を受けることなく、アクセス制御条件が満たされた場合にのみアクセスを許可する設定を優先してもよい。即ち、アクセス制御ポリシー設定部４６０は、同一のオブジェクトに対して無条件のアクセスの許可と、アクセス制御条件が満たされた場合におけるアクセスの許可との双方を設定した場合に、アクセス制御条件が満たされた場合にそのオブジェクトへのアクセスを許可してもよい。
【００８１】
以上の処理を受けて、アクセス制御ポリシー設定部４６０は、以下に示すアクセス制御ポリシーを生成し、設定する（Ｓ１２９０）。
<GROUP, emp, /Organization/Department/Employee[Name=$UserID],+,r>
<GROUP, emp, /Organization/Department/Employee[Name=$UserID]/@role,+,r>
<GROUP, emp, /Organization/Department/Employee[Name=$UserID]/Name,+,r>
<GROUP, emp, /Organization/Department/Employee[Name=$UserID]/Name/text(),+,r>
<GROUP, emp, /Organization/Department/Employee[Name=$UserID]/Salary,+,r>
<GROUP, emp, /Organization/Department/Employee[Name=$UserID]/Salary/text(),+,r>
<GROUP, emp, /Organization/Department/Employee[Name=$UserID]/text(),+,r>
【００８２】
なお、同一のオブジェクトについて、Ｓ１２３０及びＳ１２９０の双方においてアクセス制御ポリシーが設定されている場合には、Ｓ１２９０における設定により、Ｓ１２３０における設定が上書きされる。
【００８３】
図１３は、ポリシー生成システム１０が設定したアクセス制御ポリシーの一例を、構造化文書の階層構造として示す（第１例）。GROUPに所属しかつある会社の社員である全ての利用者は、オブジェクトOrganization及びオブジェクトdepartmentに対してアクセスすることができる。また、ユーザ名が「Seki」である利用者は、子孫オブジェクトNameが「Seki」であるコアオブジェクトEmployeeと、そのコアオブジェクトの全ての子孫オブジェクトとにアクセスすることができる（斜線部分）。
【００８４】
一方、ユーザ名が「Seki」である利用者は、子孫オブジェクトNameが「Seki」でないコアオブジェクトEmployeeと、そのコアオブジェクトの全ての子孫オブジェクトとにアクセスすることができない（２重斜線部分）。
【００８５】
図１４は、ポリシー生成システム１０が構造化文書に対して行う処理の一例を示す（第２例）。本図は、図２に示す構造化文書において、Secretaryグループに対して、Salary要素の読み出しを禁止する処理を示す。抽象構造生成部４００は、構造化文書における各タグの包含関係に基づいて、各オブジェクト間の抽象構造を生成する（Ｓ１４００）。そして、オブジェクト状態初期化部４０５は、抽象構造データを受け取ると、抽象構造を構成する各オブジェクトのオブジェクト状態を初期状態に初期化する（Ｓ１４０５）。そして、選択可能パターン生成部４１０は、各オブジェクトについて、そのオブジェクトがオブジェクト選択部４３０により選択された場合においてパターン選択部４４０により選択可能なパターンを生成する（Ｓ１４１０）。
【００８６】
オブジェクト選択部４３０は、管理者の指示に基づき、オブジェクトOrganizationを選択する（Ｓ１４２０）。そして、パターン選択部４４０は、管理者の指示に基づき、第２パターンを選択すると共に、設定（Ｒ）を選択する（Ｓ１４３０）。そして、アクセス制御ポリシー設定部４４５は、アクセス制御ポリシーを生成し、設定する（Ｓ１４４０）。これにより、例えば以下のようなアクセス制御ポリシーが生成される。
<GROUP, Secretary, /Organization, +, R>
【００８７】
続いて、管理者の所望する設定処理を全て終えていないので、選択可能パターン生成部４１０は、各オブジェクトについて、そのオブジェクトがオブジェクト選択部４３０により選択された場合にパターン選択部４４０により選択可能なパターンを再度生成する（Ｓ１４５０）。オブジェクト選択部４３０は、オブジェクトSalaryを選択する（Ｓ１４６０）。そして、パターン選択部４４０は、第３パターンを選択する（Ｓ１４７０）。更に、パターン選択部４４０は、オブジェクトの名称がSalaryである全てのオブジェクトに対して読み出しを禁止する旨の設定を選択する。
【００８８】
以降の説明において、オブジェクトの名称がSalaryである全てのオブジェクトを示す識別子を、「//Salary」と表記する。また、あるオブジェクト及びそのオブジェクトの子孫オブジェクトに対して読み出しを禁止する旨の設定を、設定（−Ｒ）と表記する。
【００８９】
続いて、アクセス制御ポリシー設定部４４５は、アクセス制御ポリシーを生成し、設定する（Ｓ１４８０）。これにより、例えば以下に示すアクセス制御ポリシーが生成される。
<GROUP,Secretary,/Organization,+,R>
<GROUP,Secretary,//Salary,-,R>
【００９０】
図１５は、ポリシー生成システム１０が組合せ条件を設定する処理を説明する図である。アクセス制御ポリシー設定部４４５は、アクセス制御ポリシーを設定する対象の設定対象オブジェクトに、既に他のアクセス制御条件が設定されている場合に、新たに設定する当該アクセス制御条件を既に設定された当該他のアクセス制御条件に組み合わせた組合せ条件を設定する。例えば、アクセス制御ポリシー設定部４４５は、当該アクセス制御条件及び当該他のアクセス制御条件の論理和又は論理積を、組合せ条件として設定してもよい。
【００９１】
しかしながら、あるオブジェクト及びその祖先オブジェクトの双方に既に他のアクセス制御条件が設定されている場合には、単に論理和又は論理積を設定するのは適切ではない。そこで、本図では、あるオブジェクト及びその祖先オブジェクトにアクセス制御条件を設定する場合に、これらのオブジェクトに既に他のアクセス制御条件が設定されていた場合の処理について説明する。（ａ）は、組合せ対象のアクセス制御条件を示す。これらのアクセス制御条件は、述語式により以下のように表される。
【００９２】
まず、既に設定されていたアクセス制御条件は、/a[@f=1]/c/d[@g=2]と表される。この式は、祖先オブジェクトａの属性ｆが１であり、かつオブジェクトａの子孫オブジェクトｄの属性ｇが２である旨の条件を示している。また、新たに設定するアクセス制御条件は、/a[@b=1]/c/d[@e=2]と表される。同様に、この式は、祖先オブジェクトａの属性ｂが１であり、かつオブジェクトａの子孫オブジェクトｄの属性ｅが２である旨の条件を示している。
【００９３】
ここで、既に設定されていたアクセス制御条件は、オブジェクトａの属性ｆが１であり、かつオブジェクトｄの属性ｇが２である場合に、オブジェクトｄのアクセスを許可する旨を示す。即ち、子孫オブジェクトへのアクセスが許可されるには、祖先オブジェクトへのアクセスが許可されていることが前提となる。
【００９４】
（ｂ）は、アクセス制御ポリシー設定部４４５が生成する組合せ条件の一例を示す。アクセス制御ポリシー設定部４４５は、まず、祖先オブジェクトのアクセス制御条件を、子孫オブジェクトのアクセス制御条件に書き換える。例えば、アクセス制御ポリシー設定部４４５は、述語式において、a[@f=1]を、d[../../@f=1]に書き換える。ここで、「../」は、直接の祖先オブジェクトを示す。同様に、アクセス制御ポリシー設定部４４５は、a[@b=1]を、d[../../@b=1]に書き換える。
【００９５】
次に、アクセス制御ポリシー設定部４４５は、書き換えたアクセス制御条件と、既に設定されていたアクセス制御条件又は設定すべきアクセス制御条件との論理積の条件を生成する。この結果、オブジェクトｄのアクセス制御条件は、[../../@b=1 and @e=2]となり、オブジェクトｄのアクセス制御条件は、[../../@f=1 and @g=2]となる。最後に、アクセス制御ポリシー設定部４４５は、これらのアクセス条件を組み合わせた組合せ条件を設定する。
【００９６】
例えば、アクセス制御ポリシー設定部４４５は、オブジェクトｄについて、新たに設定する当該アクセス制御条件及び既に設定された当該他のアクセス制御条件の双方を満たす論理積条件、又は、当該アクセス制御条件及び当該他のアクセス制御条件の何れかを満たす論理和条件を利用者に選択させ、選択された論理積条件又は論理和条件を組合せ条件として設定してもよい。
【００９７】
以上、本図に示す処理により、アクセス制御ポリシー設定部４４５は、既に設定されていたアクセス制御条件が有する意味を保持しつつ、新たなアクセス制御条件を追加して設定することができる。また、アクセス制御ポリシー設定部４４５は、必要に応じて論理積又は論理和の条件を利用者に問合せることにより、管理者の意図を反映し易くすることができる。なお、組合せ条件を生成する手法を、以降の説明において、pred_mergerと呼ぶ。
【００９８】
図１６は、構造化文書ストレージ１００に格納される構造化文書の抽象構造の一例を示す（第３例）。図１７は、構造化文書ストレージ１００に格納される構造化文書の一例を示す（第３例）。図１６から図１９を用いて、ポリシー生成システム１０がアクセス制御ポリシーを設定する更に他の例を説明する。構造化文書ストレージ１００は、開始タグ<store>から開始して終了タグ</store>により終了する構造化文書を格納する。
【００９９】
開始タグ<store>から終了タグ</store>までの間には、<category>タグ、<book>タグ、<title>タグがこの順で記述されている。従って、抽象オブジェクトstore、抽象オブジェクトcategory、抽象オブジェクトbook、及び抽象オブジェクトtitleは、この順に祖先オブジェクトから子孫オブジェクトとなる。また、抽象構造生成部４００は、<category>タグ及び</category>タグの間に、複数の<book>タグが記述されているので、これらの<book>タグをまとめて１つの抽象オブジェクトbookを生成する。
【０１００】
更に、<book>タグから</book>タグまでの間に、<author>タグ及び<price>タグが記述されているので、抽象オブジェクトauthor及び抽象オブジェクトpriceは、抽象オブジェクトbookの子孫オブジェクトとなる。また、抽象オブジェクトcategoryは、属性オブジェクトidの抽象オブジェクトを子孫オブジェクトとして有する。また、抽象オブジェクトpriceは、属性オブジェクトcurrencyを示す抽象オブジェクトを子孫オブジェクトとして有する。
【０１０１】
図１８は、ポリシー生成システム１０が構造化文書に対して行う処理の一例を示す（第３例）。本例における、抽象構造生成部４００による処理、オブジェクト状態初期化部４０５による初期化処理、及び選択可能パターン生成部４１０による選択可能パターン生成処理は、それぞれ図１４で説明したＳ１４００、Ｓ１４０５、及びＳ１４１０における処理と略同一であるので、本図における説明を省略する。
【０１０２】
オブジェクト選択部４３０は、コアオブジェクトとしてオブジェクトbookを選択する（Ｓ１８００）。そして、パターン選択部４４０は、第４パターンを選択する（Ｓ１８１０）。続いて、アクセス制御ポリシー設定部４６０は、アクセス制御条件を管理者に入力させる（Ｓ１８２０）。例えば、アクセス制御ポリシー設定部４６０は、アクセス制御条件として、祖先オブジェクトcategoryの属性オブジェクトがJavaである旨の条件を入力する。この条件は、述語式により[../@id='Java']と表される。
【０１０３】
そして、アクセス制御ポリシー設定部４６０は、アクセス制御ポリシーを生成する（Ｓ１８３０）。以上の処理により生成されたアクセス制御ポリシーを以下に示す。
<USER,Seki,/store,+r>
<USER,Seki,/store/category,+r>
<USER,Seki,/store/category/book[../@id='Java'],+r>
<USER,Seki,/store/category/@id,+r>
<USER,Seki,/store/category/text(),+r>
<USER,Seki,/store/category/book[../@id='Java']/text(),+r>
<USER,Seki,/store/category/book[../@id='Java']/title,+r>
<USER,Seki,/store/category/book[../@id='Java']/author,+r>
<USER,Seki,/store/category/book[../@id='Java']/price,+r>
<USER,Seki,/store/category/book[../@id='Java']/title/text(),+r>
<USER,Seki,/store/category/book[../@id='Java']/author/text(),+r>
<USER,Seki,/store/category/book[../@id='Java']/price/text(),+r>
<USER,Seki,/store/category/book[../@id='Java']/price/@currency,+r>
【０１０４】
続いて、管理者の所望する設定処理を全て終えていないので、オブジェクト選択部４３０は、コアオブジェクトとしてオブジェクトbookを再度選択する（Ｓ１８４０）。そして、パターン選択部４４０は、第４パターンを選択する（Ｓ１８５０）。続いて、アクセス制御ポリシー設定部４６０は、アクセス制御条件を管理者に入力させる（Ｓ１８６０）。例えば、アクセス制御ポリシー設定部４６０は、子孫オブジェクトpriceが３０以上であり、かつオブジェクトpriceの属性currencyが＄である旨のアクセス制御条件の入力を受ける。この条件は、述語式により[price>30 and price/@currency='$']と表される。
【０１０５】
アクセス制御ポリシー設定部４６０は、アクセス制御条件を設定する対象のオブジェクトに既に他のアクセス制御条件が設定されているので、組合せ条件を生成する方法について管理者に問合せる（Ｓ１８７０）。より具体的には、アクセス制御ポリシー設定部４６０は、新たに設定する当該アクセス制御条件及び既に設定された当該他のアクセス制御条件の双方を満たす論理積条件、又は、当該アクセス制御条件及び当該他のアクセス制御条件の何れかを満たす論理和条件を管理者に選択させる。
【０１０６】
本図においては、アクセス制御ポリシー設定部４６０は、例えば以下の２つの選択肢を管理者に表示することにより、論理積条件又は論理和条件を選択させる。
１．「文書構造上のオブジェクトbookが、アクセス制御条件[../@id='Java']と、アクセス制御条件[price>30 and price/@currency='$']とを同時に満たす」
２．「文書構造上のオブジェクトbookが、アクセス制御条件[../@id='Java']と、アクセス制御条件[price>30 and price/@currency='$']との一つ以上を満たす」
【０１０７】
そして、アクセス制御ポリシー設定部４４５は、選択された論理和条件又は論理積条件に基づいて、アクセス制御ポリシーを生成し、設定する（Ｓ１８８０）。本例では、論理和条件が選択された結果、組合せ条件の述語式は、pred_mergerにより[../@id='Java' or price>30 and price/@currency='$']となる。以上の処理により、以下に示すアクセス制御ポリシーが生成される。
<USER,Seki,/store,+r>
<USER,Seki,/store/category,+r>
<USER,Seki,/store/category/book[../@id='Java'or price>30 and price/@currency='$'],+r>
…(以下省略)
【０１０８】
以上、図１６から図１８に示すように、アクセス制御ポリシー設定部４４５は、抽象オブジェクトbookに対してアクセス制御条件を設定する.。これにより、その抽象オブジェクトとして生成された複数のオブジェクトの各々に対して、即ち、全てのbookタグ内の記述に対して、アクセス制御条件を設定することができる。
【０１０９】
図１９は、ポリシー生成システム１０が設定したアクセス制御ポリシーによりアクセスされるオブジェクトの一例を示す（第３例）。（ａ）は、図１８の処理によりアクセス制御ポリシーが設定された場合に、利用者が構造化文書をアクセスすることにより読み出したオブジェクトを示す。利用者は、価格が３０ドル以上であるか、又は、カテゴリーがJavaである書籍についての情報のみを読み出すことができる。
【０１１０】
（ｂ）は、Ｓ１８８０において、論理和条件に代えて論理積条件が選択された場合において、読み出されるオブジェクトを示す。利用者は、価格が３０ドル以上であり、かつ、カテゴリーがJavaである書籍についての情報のみを読み出すことができる。この場合、以下のようなアクセス制御ポリシーが生成される。
<USER,Seki,/store,+r>
<USER,Seki,/store/category,+r>
<USER,Seki,/store/category/book[../@id='Java' and price>30 and price/@currency='$'],+r>
…(以下省略)
【０１１１】
図２０は、構成パターンの一例を示す（第４例）。まず、構成パターン登録部４７０は、第４パターンを２回選択することにより構成される構成パターンを、パターン選択部４４０により選択可能な新たなパターンとして登録する。本図は、オブジェクト選択部４３０が、第１コアオブジェクト及び第２コアオブジェクトを選択し、パターン選択部４４０が、構成パターンを選択した状態を示す。この結果、第１コアオブジェクト及びその子孫オブジェクトは、第１のアクセス制御条件が設定された許可状態に遷移する。
【０１１２】
そして、第２コアオブジェクトは、第２のアクセス制御条件が設定された許可状態に遷移する。ここで、第２コアオブジェクトは、第１コアオブジェクトの子孫オブジェクトであるので、利用者は、第１のアクセス制御条件及び第２のアクセス制御条件が満たされた場合にのみ、第２コアオブジェクト及びその子孫オブジェクトにアクセスすることができる。
【０１１３】
処理の具体例としては、パターン選択部４４０によりこの構成パターンが選択された場合に、アクセス制御ポリシー設定部４６０は、第１コアオブジェクトに対してupward関数及びdownward関数をそれぞれ実行し、第２コアオブジェクトに対してupward関数及びdownward関数をそれぞれ実行する。そして、同一のオブジェクトに対して複数のアクセス制御条件が設定される場合には、アクセス制御ポリシー設定部４６０は、pred_mergerにより、組合せ条件を生成し、設定する。
【０１１４】
図２１は、ポリシー生成システム１０が構成パターンを用いて構造化文書に対して行う処理の一例を示す（第４例）。本例における、抽象構造生成部４００による処理、オブジェクト状態初期化部４０５による初期化処理、及び選択可能パターン生成部４１０による選択可能パターン生成処理は、それぞれ図１４で説明したＳ１４００、Ｓ１４０５、及びＳ１４１０における処理と略同一であるので、本図における説明を省略する。また、本例においてアクセス制御ポリシーが設定される対象の構造化文書及び抽象構造は、図１６及び図１７に示す構造化文書及び抽象構造と略同一であるので、説明を省略する。
【０１１５】
本例は、ユーザ名がSekiである利用者に、Javaのカテゴリーに分類され、かつ値段が３０＄以上の本の情報に対するアクセスを許可する。更に、本例は、ユーザ名がSekiである利用者に、Businessのカテゴリーに分類され、かつ値段が４０＄以上の本の情報に対するアクセスを許可する。処理の説明に移る。
【０１１６】
まず、オブジェクト選択部４３０は、第１コアオブジェクトとして、オブジェクトcategoryを選択し、第２コアオブジェクトとして、オブジェクトbookを選択する（Ｓ２１００）。パターン選択部４４０は、構成パターンを選択する（Ｓ２１１０）。アクセス制御ポリシー設定部４６０は、第１コアオブジェクト及び第２コアオブジェクトの各々に対応して、アクセス制御条件を入力させる（Ｓ２１２０）。
【０１１７】
例えば、アクセス制御ポリシー設定部４６０は、第１コアオブジェクトに対応して、オブジェクトcategoryの属性idがJavaである旨の条件を入力させる。この条件は、述語式により、[/store/category[@id='Java']]と表される。そして、アクセス制御ポリシー設定部４６０は、第２コアオブジェクトに対応して、オブジェクトbookの属性currencyが＄であり、かつオブジェクトpriceが３０より大きい旨の条件を入力させる。この条件は、述語式により、[/store/category/book[@currency='$' and price>30]]と表される。
【０１１８】
アクセス制御ポリシー設定部４６０は、アクセス制御ポリシーを生成し、設定する（Ｓ２１３０）。この結果、以下に示すアクセス制御ポリシーが生成される。
<USER,Seki,/store,+r>
<USER,Seki,/store/category[@id='Java'],+r>
<USER,Seki,/store/category[@id='Java']/book[@currency='$' and price>30],+r>
…(以下省略)
【０１１９】
続いて、管理者の所望する設定処理を全て終えていないので、オブジェクト選択部４３０は、第１コアオブジェクトとして、オブジェクトcategoryを選択し、第２コアオブジェクトとして、オブジェクトbookを選択する（Ｓ２１４０）。パターン選択部４４０は、構成パターンを選択する（Ｓ２１５０）。アクセス制御ポリシー設定部４６０は、第１コアオブジェクト及び第２コアオブジェクトの各々に対応して、アクセス制御条件を入力させる（Ｓ２１６０）。
【０１２０】
アクセス制御ポリシー設定部４６０は、第１コアオブジェクトに対応して、オブジェクトcategoryの属性idがBusinessである旨の条件を入力させる。この条件は、述語式により、/store/category[@id='Business']と表される。そして、アクセス制御ポリシー設定部４６０は、第２コアオブジェクトに対応して、オブジェクトbookの属性currencyが＄であり、かつオブジェクトpriceが４０より大きい旨の条件を入力させる。この条件は、述語式により、/store/category/book[@currency='$' and price>40]と表される。
【０１２１】
アクセス制御ポリシー設定部４６０は、設定対象オブジェクトに既に他のアクセス制御条件が設定されているので、新たに設定するアクセス制御条件及び既に設定されていたアクセス制御条件の論理積条件又は論理和条件を、管理者に問合わせることにより選択させる（Ｓ２１７０）。例えば、アクセス制御ポリシー設定部４６０は、図１５において説明したpred_mergerにより、組合せ条件を生成する。
【０１２２】
具体的には、まず、アクセス制御ポリシー設定部４６０は、オブジェクトcategoryに設定されたアクセス制御条件を、その子孫であるオブジェクトbookについてのアクセス制御条件に書き換える。即ち述語式において、/store/category[@id='Java']を、/store/category/book[../@id='Java']に書き換える。そして、アクセス制御ポリシー設定部４６０は、書き換えたアクセス制御条件と、オブジェクトbookに既に設定されたアクセス制御条件との論理積の条件を、オブジェクトbookに設定する。即ち述語式において、/store/category/book[../@id='Java' and @currency='$' and price>30]と表される条件を設定する。
【０１２３】
次に、アクセス制御ポリシー設定部４６０は、オブジェクトcategoryに設定する新たなアクセス制御条件を、その子孫であるオブジェクトbookについてのアクセス制御条件に書き換える。即ち述語式において、/store/category[@id='Business']を、/store/category/book[../@id='Business']に書き換える。そして、アクセス制御ポリシー設定部４６０は、書き換えたアクセス制御条件と、オブジェクトbookに既に設定する新たなアクセス制御条件との論理積の条件を、オブジェクトbookに設定する。即ち、述語式において、/store/category/book[../@id='Business' and @currency='$' and price>40]と表される条件を設定する。
【０１２４】
最後に、アクセス制御ポリシー設定部４６０は、オブジェクトcategoryについて、アクセス制御条件の論理積条件及び論理和条件の何れかを管理者に選択させる。管理者が論理和条件を選択した場合に、アクセス制御ポリシー設定部４６０は、オブジェクトcategoryに設定される各述語式の論理和を、オブジェクトcategoryの新たなアクセス制御条件として設定する（Ｓ２１８０）。そしてこの場合、アクセス制御ポリシー設定部４６０は、オブジェクトbookに設定される各述語式の論理和を、オブジェクトbookの新たなアクセス制御条件として設定する。
【０１２５】
以上の処理により、以下のアクセス制御ポリシーが設定される。
<USER,Seki,/store,+r>
<USER,Seki,/store/category[@id='Java'  or @id='Business'],+r>
<USER,Seki,/store/category[@id='Java'  or @id='Business']/book[../@id='Java' and @currency='$' and price>30 or  ../@id='Business' and @currency='$' and price>40],+r>
…(以下省略)
【０１２６】
図２２は、ポリシー生成システム１０が設定したアクセス制御ポリシーによりアクセスされるオブジェクトの一例を示す（第４例）。利用者は、図１７に示す構造化文書のうち、Javaのカテゴリーに分類され、かつ値段が３０＄以上の本の情報を読み出すことができる。この結果、タイトルJava Scriptの本の情報を読み出すことができる。
【０１２７】
また、利用者は、図１７に示す構造化文書のうち、Businessのカテゴリーに分類され、かつ値段が４０＄以上の本の情報を読み出すことができる。この結果、タイトルAdvanced modeling in finance using Excel and VBAの本の情報を読み出すことができる。
【０１２８】
図２３は、構造化文書ストレージ１００に格納される構造化文書の抽象構造の一例を示す（第５例）。図２４は、構造化文書ストレージ１００に格納される構造化文書の一例を示す（第５例）。図２３から図２７を用いて、ポリシー生成システム１０がアクセス制御ポリシーを設定する更に他の例を説明する。構造化文書ストレージ１００は、開始タグ<Org>から終了タグ</Org>までの構造化文書を格納する。
【０１２９】
開始タグ<Org>から終了タグ</Org>までの間には、<Dep>タグ、<Emp>タグ、<Name>タグがこの順で記述されている。従って、抽象オブジェクトOrg、抽象オブジェクトDep、抽象オブジェクトEmp、及び抽象オブジェクトNameは、この順に祖先オブジェクトから子孫オブジェクトとなる。また、抽象構造生成部４００は、<Org>タグ及び</Org>タグの間に、複数の<Dep>タグが記述されているので、これらの<Dep>タグをまとめて１つの抽象オブジェクトDepを生成する。同様に、抽象構造生成部４００は、<Dep>タグ及び</Dep>タグの間に、複数の<Emp>タグが記述されているので、これらの<Emp>タグをまとめて１つの抽象オブジェクトEmpを生成する。
【０１３０】
更に、<Emp>タグから</Emp>タグまでの間に、<Name>タグ及び<Salary>タグが記述されているので、抽象オブジェクトName及び抽象オブジェクトSalaryは抽象、オブジェクトEmpの子孫オブジェクトとなる。また、抽象オブジェクトdepは、属性オブジェクトcodeを子孫オブジェクトとして有し、抽象オブジェクトEmpは、属性オブジェクトroleを子孫オブジェクトとして有する。
【０１３１】
図２５は、ポリシー生成システム１０が組合せ条件を設定する他の処理を説明する図である。上述のように、既にアクセス制御条件が設定されているオブジェクトに新たにアクセス制御条件を設定する場合には、組合せ条件を生成して設定してもよい。その具体例として、アクセス制御ポリシー設定部４６０が、論理和条件又は論理積条件を管理者に問い合わせる処理を図１８において説明した。
【０１３２】
しかしながら、アクセス制御条件の種類によっては、論理和条件又は論理積条件のみでは不充分な場合がある。本図では、アクセス制御条件が、設定対象オブジェクトの孫オブジェクトについての条件である場合について説明する。具体的には、設定対象オブジェクトaには、オブジェクトaの子孫オブジェクトbの属性オブジェクトdが2である旨の条件が既に設定されている。述語式では、a[b/@d=2]と表される。
【０１３３】
そして、アクセス制御ポリシー設定部４６０は、新たなアクセス制御条件をオブジェクトaに設定する。アクセス制御ポリシー設定部４６０は、設定対象オブジェクトaに、オブジェクトaの子孫オブジェクトbの属性オブジェクトcが1である旨の条件を設定する。述語式では、a[b/@c=1]と表される。この結果、同一のオブジェクトａに、複数のアクセス制御条件が設定される。（ａ）は、オブジェクトaに設定される複数のアクセス制御条件を示している。ここで、条件が判断される対象のオブジェクトを、判断対象オブジェクトと呼ぶ。例えば、属性オブジェクトc及びdは、判断対象オブジェクトである。
【０１３４】
アクセス制御ポリシー設定部４６０は、これらのアクセス制御条件を組み合わせる場合に、まず、子孫オブジェクトのアクセス制御条件を、祖先オブジェクトのアクセス制御条件に書き換える。例えば、アクセス制御ポリシー設定部４６０は、@c[.=1]を、b[@c=1]に書き換え、@d[.=2]を、b[@d=2]に書き換える。（ｂ）は、書き換え後のアクセス制御条件を示す。
【０１３５】
続いて、アクセス制御ポリシー設定部４６０は、２つのアクセス制御条件の述語式を比較して、各判断対象オブジェクトc,dを起点としてオブジェクト選択部４３０により選択されたコアオブジェクトａに至るまでに、共通の祖先オブジェクトがあるか否か判断する。その結果、共通のオブジェクトbがあると判断される。
【０１３６】
この場合、アクセス制御ポリシー設定部４６０は、論理和条件及び論理積条件に加えて、判断対象オブジェクトを起点としてコアオブジェクトａに至るまでに同一のオブジェクトを経由する旨の条件を論理積条件に追加した条件を、利用者の選択対象とする。以降の説明において、この条件を、第２論理積条件と呼ぶ。即ち、アクセス制御ポリシー設定部４６０は、オブジェクトａの子孫の抽象オブジェクトとして生成された複数のオブジェクトのうち、何れか１つのオブジェクトbが@c=1を満たし、他のオブジェクトbが@d=2を満たす旨の条件を論理積条件として生成する。更に、本図の例において、アクセス制御ポリシー設定部４４５は、この論理和積条件のみならず、当該抽象オブジェクトとして表される複数のオブジェクトのうち何れか１つ以上の同一のオブジェクトbが、@c=1及び@d=2の双方を満たす旨の第２論理積条件を、選択対象とする。
【０１３７】
なお、アクセス制御ポリシー設定部４６０は、２つのアクセス制御条件の述語式を比較して、各判断対象オブジェクトを起点としてコアオブジェクトに至るまでに、共通の祖先オブジェクトがない場合には、論理積条件及び論理和条件の何れかを管理者に選択させ、第２論理積条件を選択対象から除外する。
【０１３８】
図２６は、ポリシー生成システム１０が構造化文書に対して行う処理の一例を示す（第５例）。本図は、ポリシー生成システム１０が、図２３及び図２４に示す構造化文書を入力として、マネージャーである社員に、自己の担当する部門の社員資料の読み出しを許可する処理について、説明する。なお、本例における、抽象構造生成部４００による処理、オブジェクト状態初期化部４０５による初期化処理、及び選択可能パターン生成部４１０による選択可能パターン生成処理は、それぞれ図１４で説明したＳ１４００、Ｓ１４０５、及びＳ１４１０における処理と略同一であるので、本図における説明を省略する。
【０１３９】
オブジェクト選択部４３０は、コアオブジェクトとして、オブジェクトDepを選択する（Ｓ２６１０）。そして、パターン選択部４４０は、第４パターンを選択する（Ｓ２６２０）。アクセス制御ポリシー設定部４６０は、アクセス制御条件として、述語式/Org/Dep[Emp/Name=$User]と、モード・アクションとして、+rを入力させる（Ｓ２６３０）。このアクセス制御条件は、孫オブジェクトNameの何れかが利用者のユーザ名と同一の場合に、/Org/Depの全ての子孫オブジェクトの読み出しを許可する旨を示す。この結果、以下のアクセス制御ポリシーが生成される（Ｓ２６４０）。
【０１４０】
<GROUP,Manager,/Org,+r>
<GROUP,Manager,/Org/Dep[Emp/Name=$User],+r>
<GROUP,Manager,/Org/Dep[Emp/Name=$User]/@code,+r>
<GROUP,Manager,/Org/Dep[Emp/Name=$User]/Emp,+r>
<GROUP,Manager,/Org/Dep[Emp/Name=$User]/text(),+r>
<GROUP,Manager,/Org/Dep[Emp/Name=$User]/Emp/@role,+r>
<GROUP,Manager,/Org/Dep[Emp/Name=$User]/Emp/Name,+r>
<GROUP,Manager,/Org/Dep[Emp/Name=$User]/Emp/Salary,+r>
<GROUP,Manager,/Org/Dep[Emp/Name=$User]/Emp/text(),+r>
<GROUP,Manager,/Org/Dep[Emp/Name=$User]/Emp/Name/text(),+r>
<GROUP,Manager,/Org/Dep[Emp/Name=$User]/Emp/Salary/text(),+r>
【０１４１】
続いて、管理者の所望する設定処理を全て終えていないので、オブジェクト選択部４３０は、コアオブジェクトとしてオブジェクトDepを選択する（Ｓ２６５０）。そして、パターン選択部４４０は、第４パターンを選択する（Ｓ２６６０）。アクセス制御ポリシー設定部４６０は、アクセス制御条件として、述語式/Org/Dep[Emp/@role='MG']と、モード・アクションとして、+rを入力させる（Ｓ２６７０）。
【０１４２】
アクセス制御ポリシー設定部４６０は、設定対象オブジェクトに既に他のアクセス制御条件が設定されており、各判断対象オブジェクトからコアオブジェクトに至るまでに同一のオブジェクトがあると判断する（Ｓ２６８０）。即ち、属性オブジェクトrole及びオブジェクトNameは、共通の祖先オブジェクトEmpを有する。従って、アクセス制御ポリシー設定部４６０は、論理和条件、論理積条件、及び第２論理積条件を利用者に表示して、選択させる。
【０１４３】
本例において第２論理積条件は、「Name=$User及び@role='MG'を同時に満たすEmpを子孫オブジェクトとして有する」旨を示す。管理者により第２論理積条件が選択された場合について説明する。アクセス制御ポリシー設定部４６０は、まず、述語式Emp/Name=$Userを、Emp[Name=$User]に書き換え、述語式Emp/@role='MG'を、Emp[@role='MG']に書き換える。
【０１４４】
そして、アクセス制御ポリシー設定部４６０は、同一のEmpが双方の条件を満たす旨を新たな条件とするべく、Emp[Name=$User]及びEmp[@role='MG']の論理積により、Emp[Name=$User and @role='MG']を生成する（Ｓ２６９０）。以上の処理により、以下のアクセス制御ポリシーが生成される。
【０１４５】
<GROUP,Manager,/Org,+r>
<GROUP,Manager,/Org/Dep[Emp[@role='MG' and Name=$User]],+r>
<GROUP,Manager,/Org/Dep[Emp[@role='MG' and Name=$User]]/@code,+r>
<GROUP,Manager,/Org/Dep[Emp[@role='MG' and Name=$User]]/Emp,+r>
<GROUP,Manager,/Org/Dep[Emp[@role='MG' and Name=$User]]/text(),+r>
<GROUP,Manager,/Org/Dep[Emp[@role='MG' and Name=$User]]/Emp/@role,+r>
<GROUP,Manager,/Org/Dep[Emp[@role='MG' and Name=$User]]/Emp/Name,+r>
<GROUP,Manager,/Org/Dep[Emp[@role='MG' and Name=$User]]/Emp/Salary,+r>
<GROUP,Manager,/Org/Dep[Emp[@role='MG' and Name=$User]]/Emp/text(),+r>
<GROUP,Manager,/Org/Dep[Emp[@role='MG' and Name=$User]]/Emp/Name/text(),+r>
<GROUP,Manager,/Org/Dep[Emp[@role='MG' and Name=$User]]/Emp/Salary/text(),+r>
【０１４６】
図２７は、ポリシー生成システム１０が設定したアクセス制御ポリシーによりアクセスされるオブジェクトの一例を示す（第５例）。role='MGであり、かつユーザ名がM.N.である利用者は、その利用者の組織における全ての社員情報を読み出すことができる。一方、図２６のＳ２６８０において、管理者が論理積条件を選択した場合には、role='GL'の利用者もまた、本図に示す文書を読み出すことができてしまう。この場合のアクセス制御ポリシーを以下に示す。
<GROUP,Manager,/Org,+r>
<GROUP,Manager,/Org/Dep[Emp/Name=$User and  Emp/@role='MG'],+r>
【０１４７】
以上、本図に示すように、組合せ条件を生成する方法を追加することにより、管理者の所望するアクセス制御ポリシーを簡便に設定させることができる。
【０１４８】
図２８は、ポリシー生成システム１０が構造化文書の抽象構造に対して行う処理の第１過程を示す（第６例）。図２８から図３１を用いて、管理者が構成パターンを新たに登録する処理の一例を説明する。まず、アクセス制御ポリシー設定装置１２０は、オブジェクトEmp及び第４パターンを選択し、第１アクセス制御条件を設定し、アクセス制御ポリシーを生成する。そして、アクセス制御ポリシー設定装置１２０は、オブジェクトEmpの子孫オブジェクトであるオブジェクトSalaryを選択し、第４パターンを選択し、第２アクセス制御条件を設定し、アクセス制御ポリシーを生成する。
【０１４９】
この結果、第１アクセス条件を満たす場合にのみ、オブジェクトEmpの子孫オブジェクトに対するアクセスが許可される。また、更に第２アクセス条件を満たす場合にのみ、オブジェクトSalaryの子孫オブジェクトに対するアクセスが許可される。構成パターン登録部４７０は、以上に示すような、過去に２回以上連続して選択されたパターンの履歴を、新たな構成パターンとして登録してもよい。
【０１５０】
この際、好ましくは、構成パターン登録部４７０は、第４パターンを２回選択する処理に加えて、２回目に選択するオブジェクトを１回目に選択するオブジェクトの子孫オブジェクトに限定する条件を登録する。続いて、パターン選択部４４０によりこの構成パターンが選択された場合の処理を説明する。
【０１５１】
なお、以降の説明において、構成パターンを構成するパターンを、サブパターンと呼ぶ。そして、ある構成パターンを構成するサブパターンのリストを、その構成パターンのパターンリストと呼ぶ。
【０１５２】
図２９は、ポリシー生成システム１０が構造化文書の抽象構造に対して行う処理の第２過程を示す（第６例）。初期状態において、オブジェクト選択部４３０がオブジェクトOrg、オブジェクトDep、オブジェクトEmp、オブジェクトName、又はオブジェクトSalaryを選択した場合に、パターン選択部４４０は、構成パターンを選択することができる。更にこの場合、第１及び第２パターン、第３パターンを選択することもできる。オブジェクト選択部４３０が、その他のオブジェクトを選択した場合に、パターン選択部４４０は、第１パターンのみを選択することができる。
【０１５３】
オブジェクト選択部４３０は、オブジェクトEmpを選択し、パターン選択部４４０は、構成パターンを選択する。そして、アクセス制御ポリシー設定部４６０は、アクセス制御条件pred1を入力させる。構成パターンは２つの第４パターンにより構成されるので、各オブジェクトは、第４パターンに従って状態遷移する。その結果、以下のアクセス制御ポリシーが生成される。
<GROUP,Employee,/Org,+,r>
<GROUP,Employee,/Org/Dep,+,r>
<GROUP,Employee,/Org/Dep/Emp[pred1],+,r>
<GROUP,Employee,/Org/Dep/Emp[pred1]/@role,+,r>
<GROUP,Employee,/Org/Dep/Emp[pred1]/Name,+,r>
<GROUP,Employee,/Org/Dep/Emp[pred1]/Name/text(),+,r>
<GROUP,Employee,/Org/Dep/Emp[pred1]/Salary,+,r>
<GROUP,Employee,/Org/Dep/Emp[pred1]/Salary/text(),+,r>
<GROUP,Employee,/Org/Dep/Emp[pred1]/text(),+,r>
【０１５４】
図３０は、ポリシー生成システム１０が構造化文書の抽象構造に対して行う処理の第３過程を示す（第６例）。選択可能パターン生成部４１０は、構成パターンのパターンリストに未処理のサブパターンが含まれているので、その未処理のサブパターンのみを選択可能なパターンとして選択し、管理者に表示する。ここで、未処理のサブパターンとは２回目に行うべき第４パターンである。本図は、選択可能パターン生成部４１０により生成された選択可能パターンを、オブジェクト毎に示す。
【０１５５】
この結果、オブジェクト選択部４３０が、オブジェクトEmpの子孫オブジェクトを選択した場合に、パターン選択部４４０は、第４パターンのみを選択できる。これにより、構成パターンについての処理を適切に完了させることができる。続いて、アクセス制御ポリシー設定部４６０は、第２アクセス制御条件pred2を入力させ、アクセス制御ポリシーを生成する。アクセス制御ポリシー設定部４６０は、アクセス制御条件pred1及びアクセス制御条件pred2を組み合わせて、アクセス制御ポリシーを生成する。この結果、以下のアクセス制御ポリシーが生成される。
【０１５６】
<GROUP,Employee,/Org,+,r>
<GROUP,Employee,/Org/Dep,+,r>
<GROUP,Employee,/Org/Dep/Emp[pred1],+,r>
<GROUP,Employee,/Org/Dep/Emp[pred1]/@role,+,r>
<GROUP,Employee,/Org/Dep/Emp[pred1]/Name,+,r>
<GROUP,Employee,/Org/Dep/Emp[pred1]/Name/text(),+,r>
<GROUP,Employee,/Org/Dep/Emp[pred1]/Salary[pred2],+,r>
<GROUP,Employee,/Org/Dep/Emp[pred1]/Salary[pred2]/text(),+,r>
【０１５７】
図３１は、ポリシー生成システム１０が構造化文書の抽象構造に対して行う処理の第４過程を示す（第６例）。選択可能パターン生成部４１０は、構成パターンのパターンリストに未処理のサブパターンが含まれていないので、オブジェクト状態遷移データ格納部３１０に基づいて選択可能パターンを生成する。本図は、各オブジェクトについての選択可能パターンを示す。
以上、本例に示すように、選択可能パターン生成部４１０は、構成パターンが未処理の場合には、未処理のサブパターンのみを選択可能なパターンとして生成する。これにより、構成パターンの登録者の意図に従って、構成パターンの処理を適切に完結させることができる。
【０１５８】
図３２は、アクセス制御ポリシー設定装置１２０として機能するコンピュータのハードウェア構成の一例を示す。アクセス制御ポリシー設定装置１２０は、ホストコントローラ３２８２により相互に接続されるＣＰＵ３２００、ＲＡＭ３２２０、グラフィックコントローラ３２７５、及び表示装置３２８０を有するＣＰＵ周辺部と、入出力コントローラ３２８４によりホストコントローラ３２８２に接続される通信インターフェイス３２３０、ハードディスクドライブ３２４０、及びＣＤ−ＲＯＭドライブ３２６０を有する入出力部と、入出力コントローラ３２８４に接続されるＢＩＯＳ３２１０、フレキシブルディスクドライブ３２５０、及び入出力チップ３２７０を有するレガシー入出力部とを備える。
【０１５９】
ホストコントローラ３２８２は、ＲＡＭ３２２０と、高い転送レートでＲＡＭ３２２０をアクセスするＣＰＵ３２００及びグラフィックコントローラ３２７５とを接続する。ＣＰＵ３２００は、ＢＩＯＳ３２１０及びＲＡＭ３２２０に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィックコントローラ３２７５は、ＣＰＵ３２００等がＲＡＭ３２２０内に設けたフレームバッファ上に生成する画像データを取得し、表示装置３２８０上に表示させる。これに代えて、グラフィックコントローラ３２７５は、ＣＰＵ３２００等が生成する画像データを格納するフレームバッファを、内部に含んでもよい。
【０１６０】
入出力コントローラ３２８４は、ホストコントローラ３２８２と、比較的高速な入出力装置である通信インターフェイス３２３０、ハードディスクドライブ３２４０、及びＣＤ−ＲＯＭドライブ３２６０を接続する。通信インターフェイス３２３０は、ネットワークを介して外部の装置と通信する。ハードディスクドライブ３２４０は、アクセス制御ポリシー設定装置１２０が使用するプログラム及びデータを格納する。ＣＤ−ＲＯＭドライブ３２６０は、ＣＤ−ＲＯＭ３２９５からプログラム又はデータを読み取り、ＲＡＭ３２２０を介して入出力チップ３２７０に提供する。
【０１６１】
また、入出力コントローラ３２８４には、ＢＩＯＳ３２１０と、フレキシブルディスクドライブ３２５０や入出力チップ３２７０等の比較的低速な入出力装置とが接続される。ＢＩＯＳ３２１０は、アクセス制御ポリシー設定装置１２０の起動時にＣＰＵ３２００が実行するブートプログラムや、アクセス制御ポリシー設定装置１２０のハードウェアに依存するプログラム等を格納する。フレキシブルディスクドライブ３２５０は、フレキシブルディスク３２９０からプログラム又はデータを読み取り、ＲＡＭ３２２０を介して入出力チップ３２７０に提供する。入出力チップ３２７０は、フレキシブルディスク３２９０や、例えばパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して各種の入出力装置を接続する。
【０１６２】
アクセス制御ポリシー設定装置１２０に提供されるプログラムは、フレキシブルディスク３２９０、ＣＤ−ＲＯＭ３２９５、又はＩＣカード等の記録媒体に格納されて利用者によって提供される。プログラムは、入出力チップ３２７０及び/又は入出力コントローラ３２８４を介して、記録媒体から読み出されアクセス制御ポリシー設定装置１２０にインストールされて実行される。
【０１６３】
アクセス制御ポリシー設定装置１２０にインストールされて実行されるプログラムは、オブジェクト状態初期化モジュールと、選択可能パターン生成モジュールと、オブジェクト選択モジュールと、パターン選択モジュールと、アクセス制御ポリシー設定モジュールと、オブジェクト状態更新モジュールと、アクセス制御ポリシー生成モジュールと、構成パターン登録モジュールとを含む。各モジュールがアクセス制御ポリシー設定装置１２０に働きかけて行わせる動作は、図１から図３１において説明したアクセス制御ポリシー設定装置１２０における、対応する部材の動作と同一であるから、説明を省略する。
【０１６４】
以上に示したプログラム又はモジュールは、外部の記憶媒体に格納されてもよい。記憶媒体としては、フレキシブルディスク３２９０、ＣＤ−ＲＯＭ３２９５の他に、ＤＶＤやＰＤ等の光学記録媒体、ＭＤ等の光磁気記録媒体、テープ媒体、ＩＣカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークやインターネットに接続されたサーバシステムに設けたハードディスク又はＲＡＭ等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをアクセス制御ポリシー設定装置１２０に提供してもよい。
【０１６５】
以上、本実施例によれば、木構造等の階層構造のデータに対して、アクセスの許可又は禁止等を定めたアクセス制御ポリシーを効率的に設定することができる。この際、利用者は、木構造に含まれるオブジェクトと、そのオブジェクトからの相対位置を示すパターンとを選択することにより、少ない操作回数で多くのオブジェクトに対して設定を行うことができる。例えば、従来の技術において、管理者は、本実施例の第１例に示す設定を、１９回の操作で実現していたのに対し、本実施例において、管理者は、同様の設定を４回の操作で実現できる。
【０１６６】
また、これらのパターンを適切に設計することにより、上位階層のオブジェクトに対するアクセスが禁止されたにも関わらず下位階層のオブジェクトのアクセスが許可されるといった不整合の発生を防止することができる。更に、既存のパターンを組み合わせた構成パターンを登録できるので、高頻度で用いられるパターンの組を簡便に選択することができる。
【０１６７】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【０１６８】
以上に示す実施例によると、以下の各項目に示す設定装置、設定方法、プログラム、及び記録媒体が実現される。
【０１６９】
（項目１）  階層構造のデータに対してアクセスの許可又は禁止を設定する設定装置であって、前記階層構造を構成する複数のオブジェクトの中から少なくとも１つのオブジェクトを選択するオブジェクト選択部と、前記オブジェクト選択部により選択されたオブジェクトに対する、前記階層構造における相対位置を定めた複数のパターンの中から、少なくとも１つのパターンを選択するパターン選択部と、前記オブジェクト選択部により選択されたオブジェクトと共に、当該オブジェクトに対して前記パターン選択部により選択されたパターンにより定められる相対位置にあるオブジェクトの各々に対して、アクセスの許可又は禁止を設定するアクセス制御ポリシー設定部とを備える設定装置。
（項目２）  前記アクセス制御ポリシー設定部は、前記オブジェクト選択部により選択されたオブジェクトから、前記パターン選択部により選択されたパターンにより定められる相対位置にあるオブジェクトの各々に対して、当該オブジェクトのアクセスを許可する条件又はアクセスを禁止する条件であるアクセス制御条件を更に設定する項目１記載の設定装置。
（項目３）  前記複数のオブジェクトは、木構造を構成し、当該木構造の根ノードは、最上位階層のオブジェクトを表し、当該木構造の葉ノードは、最下位階層のオブジェクトを表し、前記階層構造において前記根ノードを起点とする相対位置が同一であり、かつ種類が同一である複数のオブジェクトをまとめて、１つの抽象オブジェクトとして生成した抽象構造を生成する抽象構造生成部を更に備え、前記アクセス制御ポリシー設定部は、前記抽象オブジェクトに対してアクセス制御条件を設定することにより、当該抽象オブジェクトとして生成された複数のオブジェクトの各々に対してアクセス制御条件を設定する項目２記載の設定装置。
【０１７０】
（項目４）  前記アクセス制御ポリシー設定部は、各オブジェクトの前記アクセス制御条件として、当該オブジェクトをアクセスする利用者の識別情報、当該利用者の属性、又は当該アクセスの種類が満たすべき条件を設定する項目２記載の設定装置。
（項目５）  前記アクセス制御ポリシー設定部は、アクセス制御条件を設定する対象の設定対象オブジェクトに既に他のアクセス制御条件が設定されている場合に、新たに設定する当該アクセス制御条件を既に設定された当該他のアクセス制御条件に組み合わせた組合せ条件を設定する項目２記載の設定装置。
（項目６）  前記アクセス制御ポリシー設定部は、前記設定対象オブジェクトに既に他のアクセス制御条件が設定されている場合に、新たに設定する当該アクセス制御条件及び既に設定された当該他のアクセス制御条件の双方を満たす論理積条件、又は、当該アクセス制御条件及び当該他のアクセス制御条件の何れかを満たす論理和条件を管理者に選択させ、選択された論理積条件又は論理和条件を、前記組合せ条件として設定する項目５記載の設定装置。
（項目７）  前記アクセス制御条件は、前記オブジェクト選択部により選択されたオブジェクトの下位階層に位置する判断対象オブジェクトが満たすべき条件であり、前記設定対象オブジェクトに既に他のアクセス制御条件が設定されている場合において、前記アクセス制御ポリシー設定部は、当該アクセス制御条件及び当該他のアクセス制御条件の双方において、前記判断対象オブジェクトを起点として前記オブジェクト選択部により選択されたオブジェクトに至るまでに同一のオブジェクトを経由する旨の条件を前記論理積条件に追加した条件を、管理者の選択対象とする項目６記載の設定装置。
【０１７１】
（項目８）  前記アクセス制御ポリシー設定部は、同一のオブジェクトに対して、無条件のアクセスの許可と、アクセス制御条件が満たされた場合におけるアクセスの許可との双方を設定した場合に、前記アクセス制御条件が満たされた場合に当該オブジェクトへのアクセスを許可する項目２記載の設定装置。
（項目９）  前記複数のオブジェクトは、木構造を構成し、当該木構造の根ノードは、最上位階層のオブジェクトを表し、当該木構造の葉ノードは、最下位階層のオブジェクトを表し、前記複数のパターンは、前記オブジェクト選択部により選択されたオブジェクトから、前記根ノードとして表されるオブジェクトに至る経路上の各オブジェクトのアクセスを許可する第１パターンを含み、前記アクセス制御ポリシー設定部は、前記パターン選択部により前記第１パターンが選択された場合に、前記オブジェクト選択部により選択されたオブジェクトから、前記根ノードとして表されるオブジェクトに至る経路上の各オブジェクトのアクセスを許可する項目１記載の設定装置。
（項目１０）  前記複数のオブジェクトは、木構造を構成し、当該木構造の根ノードは、最上位階層のオブジェクトを表し、当該木構造の葉ノードは、最下位階層のオブジェクトを表し、前記複数のパターンは、前記オブジェクト選択部により選択されたオブジェクトから、前記根ノードとして表されるオブジェクトと、前記葉ノードとして表されるオブジェクトとの各々に至る経路上の各オブジェクトとに対するアクセスを許可する第２パターンを含み、前記アクセス制御ポリシー設定部は、前記パターン選択部により前記第２パターンが選択された場合に、前記オブジェクト選択部により選択されたオブジェクトから、前記根ノードとして表されるオブジェクトに至る経路上の各オブジェクトと、前記葉ノードとして表されるオブジェクトに至る経路上の各オブジェクトとに対するアクセスを許可する項目１記載の設定装置。
【０１７２】
（項目１１）  前記複数のオブジェクトは、木構造を構成し、当該木構造の根ノードは、最上位階層のオブジェクトを表し、当該木構造の葉ノードは、最下位階層のオブジェクトを表し、前記複数のパターンは、前記オブジェクト選択部により選択されたオブジェクトから、前記葉ノードとして表されるオブジェクトに至る経路上の各オブジェクトに対するアクセスを禁止する第３パターンを含み、前記アクセス制御ポリシー設定部は、前記パターン選択部により前記第３パターンが選択された場合に、前記オブジェクト選択部により選択されたオブジェクトから、前記葉ノードとして表されるオブジェクトに至る経路上の各オブジェクトに対するアクセスを禁止する項目１記載の設定装置。
（項目１２）  前記複数のオブジェクトは、木構造を構成し、当該木構造の根ノードは、最上位階層のオブジェクトを表し、当該木構造の葉ノードは、最下位階層のオブジェクトを表し、前記複数のパターンは、利用者に当該オブジェクトのアクセスを許可するために満たすべき条件を、前記オブジェクト選択部により選択されたオブジェクトから、前記葉ノードとして表されるオブジェクトに至る経路上の各オブジェクトに設定する第４パターンを含み、前記アクセス制御ポリシー設定部は、前記パターン選択部により前記第４パターンが選択された場合に、管理者に当該オブジェクトのアクセスを許可するために満たすべき条件を、前記オブジェクト選択部により選択されたオブジェクトから、前記葉ノードとして表されるオブジェクトに至る経路上の各オブジェクトに設定する項目１記載の設定装置。
（項目１３）  前記アクセス制御ポリシー設定部は、同一のオブジェクトに対してアクセスの許可及びアクセスの禁止の双方を設定した場合に、当該オブジェクトへのアクセスを禁止する項目１記載の設定装置。
（項目１４）  階層構造の複数のオブジェクトに既に設定されたアクセスの許可又は禁止の設定に基づいて、前記パターン選択部により選択可能な複数のパターンを生成する選択可能パターン生成部を更に備え、前記パターン選択部は、前記選択可能パターン生成部により生成された複数のパターンの中から、少なくとも１つのパターンを選択する項目１記載の設定装置。
（項目１５）  前記複数のオブジェクトの各々は、情報の記述開始位置を示す開始タグと、情報の記述終了位置を示す終了タグとを含む要素オブジェクト、又は、前記開始タグ又は前記終了タグの属性を示す属性オブジェクトであり、前記オブジェクト選択部により選択されるオブジェクトが、前記要素オブジェクト及び前記属性オブジェクトの何れであるかに基づいて、前記パターン選択部により選択可能な複数のパターンを生成する選択可能パターン生成部を更に備え、前記パターン選択部は、前記選択可能パターン生成部により生成された複数のパターンの中から、少なくとも１つのパターンを選択する項目１記載の設定装置。
【０１７３】
（項目１６）  前記オブジェクト選択部により選択可能な複数のパターンの何れかを少なくとも２回選択することにより構成される構成パターンを、前記オブジェクト選択部により選択可能な新たなパターンとして登録する構成パターン登録部を更に備え、前記パターン選択部により前記構成パターンが選択された場合に、前記オブジェクト選択部は、前記構成パターンを構成する複数のパターンに対応する複数のオブジェクトを選択し、前記アクセス制御ポリシー設定部は、前記オブジェクト選択部により選択された複数のオブジェクトの各々について、当該オブジェクトに対応するパターンにより定められる相対位置にあるオブジェクトに対して、アクセスの許可又は禁止を順次設定する項目１記載の設定装置。
（項目１７）  階層構造のデータに対してアクセスの許可又は禁止を設定する設定方法であって、前記階層構造を構成する複数のオブジェクトの中から少なくとも１つのオブジェクトを選択するオブジェクト選択段階と、前記オブジェクト選択段階において選択されたオブジェクトに対する、前記階層構造における相対位置を定めた複数のパターンの中から、少なくとも１つのパターンを選択するパターン選択段階と、前記オブジェクト選択段階において選択されたオブジェクトと共に、当該オブジェクトに対して前記パターン選択段階において選択されたパターンにより定められる相対位置にあるオブジェクトの各々に対して、アクセスの許可又は禁止を設定するアクセス制御ポリシー設定段階とを備える設定方法。
（項目１８）  コンピュータを、階層構造のデータに対してアクセスの許可又は禁止を設定する設定装置として機能させるプログラムであって、前記コンピュータを、前記階層構造を構成する複数のオブジェクトの中から少なくとも１つのオブジェクトを選択するオブジェクト選択部と、前記オブジェクト選択部により選択されたオブジェクトに対する、前記階層構造における相対位置を定めた複数のパターンの中から、少なくとも１つのパターンを選択するパターン選択部と、前記オブジェクト選択部により選択されたオブジェクトと共に、当該オブジェクトに対して前記パターン選択部により選択されたパターンにより定められる相対位置にあるオブジェクトの各々に対して、アクセスの許可又は禁止を設定するアクセス制御ポリシー設定部として機能させるプログラム。
（項目１９）  項目１８記載のプログラムを記録した記録媒体。
【図面の簡単な説明】
【０１７４】
【図１】図１は、ポリシー生成システム１０のブロック図である。
【図２】図２は、構造化文書ストレージ１００に格納されるデータの一例を示す（第１例）。
【図３】図３は、アクセス制御ポリシーパターンストレージ１１０のブロック図である。
【図４】図４は、アクセス制御ポリシー設定装置１２０のブロック図である。
【図５】図５は、オブジェクト状態テーブル格納部３００のデータ構造の一例を示す。
【図６】図６は、第１パターンを説明する図である。
【図７】図７は、第２パターンを説明する図である。
【図８】図８は、第３パターンを説明する図である。
【図９】図９は、第４パターンを説明する図である。
【図１０】図１０は、ポリシー生成システム１０の動作フローを示す。
【図１１】図１１は、Ｓ１０５０における動作フローの詳細を示す。
【図１２】図１２は、ポリシー生成システム１０が構造化文書に対して行う処理の一例を示す（第１例）。
【図１３】図１３は、ポリシー生成システム１０が設定したアクセス制御ポリシーの一例を、構造化文書の階層構造として示す（第１例）。
【図１４】図１４は、ポリシー生成システム１０が構造化文書に対して行う処理の一例を示す（第２例）。
【図１５】図１５は、ポリシー生成システム１０が組合せ条件を設定する処理を説明する図である。
【図１６】図１６は、構造化文書ストレージ１００に格納される構造化文書の抽象構造の一例を示す（第３例）。
【図１７】図１７は、構造化文書ストレージ１００に格納される構造化文書の一例を示す（第３例）。
【図１８】図１８は、ポリシー生成システム１０が構造化文書に対して行う処理の一例を示す（第３例）。
【図１９】図１９は、ポリシー生成システム１０が設定したアクセス制御ポリシーによりアクセスされるオブジェクトの一例を示す（第３例）。
【図２０】図２０は、構成パターンの一例を示す（第４例）。
【図２１】図２１は、ポリシー生成システム１０が構成パターンを用いて構造化文書に対して行う処理の一例を示す（第４例）。
【図２２】図２２は、ポリシー生成システム１０が設定したアクセス制御ポリシーによりアクセスされるオブジェクトの一例を示す（第４例）。
【図２３】図２３は、構造化文書ストレージ１００に格納される構造化文書の抽象構造の一例を示す（第５例）。
【図２４】図２４は、構造化文書ストレージ１００に格納される構造化文書の一例を示す（第５例）。
【図２５】図２５は、ポリシー生成システム１０が組合せ条件を設定する他の処理を説明する図である。
【図２６】図２６は、ポリシー生成システム１０が構造化文書に対して行う処理の一例を示す（第５例）。
【図２７】図２７は、ポリシー生成システム１０が設定したアクセス制御ポリシーによりアクセスされるオブジェクトの一例を示す（第５例）。
【図２８】図２８は、ポリシー生成システム１０が構造化文書の抽象構造に対して行う処理の第１過程を示す（第６例）。
【図２９】図２９は、ポリシー生成システム１０が構造化文書の抽象構造に対して行う処理の第２過程を示す（第６例）。
【図３０】図３０は、ポリシー生成システム１０が構造化文書の抽象構造に対して行う処理の第３過程を示す（第６例）。
【図３１】図３１は、ポリシー生成システム１０が構造化文書の抽象構造に対して行う処理の第４過程を示す（第６例）。
【図３２】図３２は、アクセス制御ポリシー設定装置１２０として機能するコンピュータのハードウェア構成の一例を示す。
【符号の説明】
【０１７５】
１０  ポリシー生成システム
１００  構造化文書ストレージ
１１０  アクセス制御ポリシーパターンストレージ
１２０  アクセス制御ポリシー設定装置
１３０  アクセス制御ポリシーストレージ
３００  オブジェクト状態テーブル格納部
３１０  オブジェクト状態遷移データ格納部
３２０  アクセス制御ポリシー生成アルゴリズム格納部
４００  抽象構造生成部
４０５  オブジェクト状態初期化部
４１０  選択可能パターン生成部
４２０  ユーザインターフェイス部
４３０  オブジェクト選択部
４４０  パターン選択部
４４５  アクセス制御ポリシー設定部
４５０  オブジェクト状態更新部
４５５  アクセス制御ポリシー設定ルール
４６０  アクセス制御ポリシー設定部
４７０  構成パターン登録部
【図１】
2005235005.tif 000003
【図２】
2005235005.tif 000004
【図３】
2005235005.tif 000005
【図４】
2005235005.tif 000006
【図５】
2005235005.tif 000007
【図６】
2005235005.tif 000008
【図７】
2005235005.tif 000009
【図８】
2005235005.tif 000010
【図９】
2005235005.tif 000011
【図１０】
2005235005.tif 000012
【図１１】
2005235005.tif 000013
【図１２】
2005235005.tif 000014
【図１３】
2005235005.tif 000015
【図１４】
2005235005.tif 000016
【図１５】
2005235005.tif 000017
【図１６】
2005235005.tif 000018
【図１７】
2005235005.tif 000019
【図１８】
2005235005.tif 000020
【図１９】
2005235005.tif 000021
【図２０】
2005235005.tif 000022
【図２１】
2005235005.tif 000023
【図２２】
2005235005.tif 000024
【図２３】
2005235005.tif 000025
【図２４】
2005235005.tif 000026
【図２５】
2005235005.tif 000027
【図２６】
2005235005.tif 000028
【図２７】
2005235005.tif 000029
【図２８】
2005235005.tif 000030
【図２９】
2005235005.tif 000031
【図３０】
2005235005.tif 000032
【図３１】
2005235005.tif 000033
【図３２】
2005235005.tif 000034