(57)【要約】【課題】電子データ（オブジェクト）に対するアクセス権の設定を、本構成を有しない場合と比較して、簡潔化することが可能な技術を提案する。【解決手段】電子データに対する処理の許否判定に使用されるアクセス権情報を当該電子データに対応付けて記憶するアクセス権情報管理部２４と、電子データの種別と当該種別の電子データに対して設定するアクセス権情報とを定めたアクセス権割当情報を記憶するアクセス権割当情報管理部２５と、電子データに対するアクセス権情報の設定要求を受け付ける要求受付部２１と、前記要求受付部２１による設定要求の受け付けに応じて、設定対象となる電子データの種別に対応するアクセス権情報をアクセス権割当情報管理部２５に記憶されているアクセス権割当情報に基づいて取得してアクセス権情報管理部２４に記憶させる処理を実行する処理実行制御部２２と、を備える。【選択図】図１０
2011154496.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
電子データに対するアクセス権情報の設定を要求する設定要求を受け付ける要求受付機能と、
電子データの種別と当該種別の電子データに対して設定するアクセス権情報とを定めた割当情報を記憶する割当記憶手段の記憶内容に基づき、前記要求受付機能による設定要求の受け付けに応じて、設定対象となる電子データの種別に対応するアクセス権情報を取得し、電子データに対する処理の許否判定に使用されるアクセス権情報を当該電子データに対応付けて記憶するアクセス権記憶手段に当該取得したアクセス権情報を記憶させる処理を実行する処理実行機能と、
を実現させるためのアクセス権設定プログラム。
【請求項２】
前記要求受付機能は、割当情報の指定を含む設定要求を受け付け可能であり、
前記処理実行機能は、前記設定要求に割当情報の指定が含まれる場合には、当該指定された割当情報に基づいて、前記設定対象の電子データの種別に対応するアクセス権情報を取得する、
ことを特徴とする請求項１に記載のアクセス権設定プログラム。
【請求項３】
前記処理実行機能は、前記設定対象の電子データに関連付けられた別の電子データに対するアクセス権情報の設定処理に使用された割当情報に基づいて、前記設定対象の電子データの種別に対応するアクセス権情報を取得する、
ことを特徴とする請求項１又は請求項２に記載のアクセス権設定プログラム。
【請求項４】
前記処理実行機能は、前記設定対象の電子データに関連付けられた別の電子データの種別と当該別の電子データに対して設定されたアクセス権情報とに基づいて特定される割当情報に基づいて、前記設定対象の電子データの種別に対応するアクセス権情報を取得する、
ことを特徴とする請求項３に記載のアクセス権設定プログラム。
【請求項５】
前記処理実行機能は、電子データに対するアクセス権情報の設定処理に使用した割当情報を当該電子データに対応付けて記憶させており、前記設定対象の電子データに関連付けられた別の電子データに対応付けられている割当情報に基づいて、前記設定対象の電子データの種別に対応するアクセス権情報を取得する、
ことを特徴とする請求項３に記載のアクセス権設定プログラム。
【請求項６】
前記設定対象の電子データに関連付けられた別の電子データは、前記設定対象の電子データに対して親の関係にある電子データである、
ことを特徴とする請求項１から請求項５のいずれか１項に記載のアクセス権設定プログラム。
【請求項７】
前記処理実行機能は、前記設定対象の電子データの種別に対応するアクセス権情報が前記割当情報で定められていない場合には、設定内容が空のアクセス権情報を当該電子データに対応付ける、
ことを特徴とする請求項１から請求項６のいずれか１項に記載のアクセス権設定プログラム。
【請求項８】
電子データに対するアクセス権情報の設定を要求する設定要求を受け付ける要求受付手段と、
電子データの種別と当該種別の電子データに対して設定するアクセス権情報とを定めた割当情報を記憶する割当記憶手段の記憶内容に基づき、前記要求受付手段による設定要求の受け付けに応じて、設定対象となる電子データの種別に対応するアクセス権情報を取得し、電子データに対する処理の許否判定に使用されるアクセス権情報を当該電子データに対応付けて記憶するアクセス権記憶手段に当該取得したアクセス権情報を記憶させる処理を実行する処理実行手段と、
を備えたことを特徴とするアクセス権設定装置。
【請求項９】
電子データに対する処理の許否判定に使用されるアクセス権情報を当該電子データに対応付けて記憶するアクセス権記憶手段と、
電子データの種別と当該種別の電子データに対して設定するアクセス権情報とを定めた割当情報を記憶する割当記憶手段と、
電子データに対するアクセス権情報の設定要求を受け付ける要求受付手段と、
前記要求受付手段による設定要求の受け付けに応じて、設定対象となる電子データの種別に対応するアクセス権情報を前記割当記憶手段に記憶されている割当情報に基づいて取得して前記アクセス権記憶手段に記憶させる処理を実行する処理実行手段と、
を備えたことを特徴とするアクセス権管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アクセス権設定プログラム、アクセス権設定装置及びアクセス権管理システムに関する。
【背景技術】
【０００２】
従来、コンピュータを用いて作成された各種の電子データを管理するシステムが知られている。以下では、適宜、このようなシステムにおいて管理の対象単位となる情報のまとまりである電子データをオブジェクトという。
多くの場合、各オブジェクトは、それぞれのオブジェクトに固有の識別子（ＩＤ）により識別されて管理される。オブジェクトの例としては、例えば、文書管理システムにおけるドキュメント（文書）やフォルダ等が挙げられる。オブジェクトを構成する情報としては、コンテンツ情報（文書の内容そのもの）、属性情報（名前や作成日時など）、アクセス権情報などがある。アクセス権情報の一例として、アクセス制御リスト（Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ  Ｌｉｓｔ）があり、このＡＣＬは、誰（主体）に対してどのような操作を許可又は禁止するか（権限）をリスト形式で定義する情報である。
【０００３】
図２０は、従来方式におけるアクセス権設定を例示している。
図２０の例では、複数種類のオブジェクトがある場合には、オブジェクトの種類に応じて権限の種類を細分化することでアクセス権を分けて設定可能にしている。例えばＲＥＡＤ権について説明すると、オブジェクトの種類としてＴｙｐｅＦ１、ＴｙｐｅＦ２、ＴｙｐｅＤ１、・・・がある場合には、ＲＥＡＤ＿ＴｙｐｅＦ１、ＲＥＡＤ＿ＴｙｐｅＦ２、ＲＥＡＤ＿ＴｙｐｅＤ１、・・・のようにＲＥＡＤ権を細分化していた。これにより、種類の異なるオブジェクト毎に異なるアクセス権を設定するアクセス権情報（ＡＣＬ）を一つにまとめて表現可能としている。アクセス権設定の継承では、オブジェクトの種類によらずに同じ一つのアクセス権情報を継承すれば良い。
【０００４】
なお、この方式の場合における権限の種類は、最大で、「オブジェクトの種類の数×権限の基本的な数」が必要になり、オブジェクトの種類が多くなると必要な権限が非常に多くなることが推測される。
また、オブジェクトの種類を拡張して増やすことが可能なシステムの場合には、オブジェクトの種類の拡張に合わせて権限の種類も拡張しなければならない。実現方法にもよるが、確保すべき情報の容量も多くなる。権限をデータベースのテーブルの列で表現したり、ビット列のビットで表現したりした場合、権限の種類の数だけテーブルの列数やビット列の長さが必要になる。
【０００５】
アクセス権に関する技術として、以下のような技術が提案されている。
例えば、ファイルおよびキャビネットにアクセス権を設定できるようにするとともに、キャビネットに継承アクセス権を設定し、明示的にファイルにアクセス権が設定されていない場合には継承アクセス権をデフォルトのアクセス権として用いる技術が提案されている（特許文献１参照）。
【０００６】
例えば、上位階層のデータオブジェクトのアクセス権を継承するか否かを示す継承情報が付与されたデータオブジェクトを階層的に管理可能に記憶した情報処理装置において、ユーザーがオブジェクトにアクセスを要求した場合、アクセス権判定モジュールは、アクセスを要求されたオブジェクトの該ユーザーに対するアクセス権を決定し、この決定において、オブジェクトに付与された継承情報が継承しないことを示す場合はユーザーに対して設定された該オブジェクトのアクセス権のみに基づいてアクセス権を決定し、該オブジェクトに付与された該継承情報が継承することを示す場合は該ユーザーに対して設定された該オブジェクト及び／又は該オブジェクトの上位階層のオブジェクトのアクセス権に基づいてアクセス権を決定する技術が提案されている（特許文献２参照）。
【０００７】
例えば、階層によって管理されたオブジェクトのアクセス管理において、指定オブジェクトと該指定オブジェクトへのアクセス要求が受信されると、指定オブジェクトに付与されているアクセス権継承データを取得し、そのアクセス権継承データから参照先のオブジェクトを判定する。そして、この参照先のオブジェクトに付与されているアクセス制御データを取得し、取得されたアクセス制御データに基づいてアクセス要求の実行可否を決定する技術が提案されている（特許文献３参照）。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平１０−１２４３７３号公報
【特許文献２】特開２００６−０７９４６５号公報
【特許文献３】特開２００６−１０６９８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本発明は、電子データ（オブジェクト）に対するアクセス権の設定を、本構成を有しない場合と比較して、簡潔化することが可能な技術を提案することを目的とする。
【課題を解決するための手段】
【００１０】
請求項１に記載の本発明は、コンピュータに、電子データに対するアクセス権情報の設定を要求する設定要求を受け付ける要求受付機能と、電子データの種別と当該種別の電子データに対して設定するアクセス権情報とを定めた割当情報を記憶する割当記憶手段の記憶内容に基づき、前記要求受付機能による設定要求の受け付けに応じて、設定対象となる電子データの種別に対応するアクセス権情報を取得し、電子データに対する処理の許否判定に使用されるアクセス権情報を当該電子データに対応付けて記憶するアクセス権記憶手段に当該取得したアクセス権情報を記憶させる処理を実行する処理実行機能と、を実現させるためのアクセス権設定プログラムである。
【００１１】
請求項２に記載の本発明は、請求項１に記載のアクセス権設定プログラムにおいて、前記要求受付機能は、割当情報の指定を含む設定要求を受け付け可能であり、前記処理実行機能は、前記設定要求に割当情報の指定が含まれる場合には、当該指定された割当情報に基づいて、前記設定対象の電子データの種別に対応するアクセス権情報を取得する、ことを特徴とする。
【００１２】
請求項３に記載の本発明は、請求項１又は請求項２に記載のアクセス権設定プログラムにおいて、前記処理実行機能は、前記設定対象の電子データに関連付けられた別の電子データに対するアクセス権情報の設定処理に使用された割当情報に基づいて、前記設定対象の電子データの種別に対応するアクセス権情報を取得する、ことを特徴とする。
【００１３】
請求項４に記載の本発明は、請求項３に記載のアクセス権設定プログラムにおいて、前記処理実行機能は、前記設定対象の電子データに関連付けられた別の電子データの種別と当該別の電子データに対して設定されたアクセス権情報とに基づいて特定される割当情報に基づいて、前記設定対象の電子データの種別に対応するアクセス権情報を取得する、ことを特徴とする。
【００１４】
請求項５に記載の本発明は、請求項３に記載のアクセス権設定プログラムにおいて、前記処理実行機能は、電子データに対するアクセス権情報の設定処理に使用した割当情報を当該電子データに対応付けて記憶させており、前記設定対象の電子データに関連付けられた別の電子データに対応付けられている割当情報に基づいて、前記設定対象の電子データの種別に対応するアクセス権情報を取得する、ことを特徴とする。
【００１５】
請求項６に記載の本発明は、請求項１から請求項５のいずれか１項に記載のアクセス権設定プログラムにおいて、前記設定対象の電子データに関連付けられた別の電子データは、前記設定対象の電子データに対して親の関係にある電子データである、ことを特徴とする。
【００１６】
請求項７に記載の本発明は、請求項１から請求項６のいずれか１項に記載のアクセス権設定プログラムにおいて、前記処理実行機能は、前記設定対象の電子データの種別に対応するアクセス権情報が前記割当情報で定められていない場合には、設定内容が空のアクセス権情報を当該電子データに対応付ける、ことを特徴とする。
【００１７】
請求項８に記載の本発明は、電子データに対するアクセス権情報の設定を要求する設定要求を受け付ける要求受付手段と、電子データの種別と当該種別の電子データに対して設定するアクセス権情報とを定めた割当情報を記憶する割当記憶手段の記憶内容に基づき、前記要求受付手段による設定要求の受け付けに応じて、設定対象となる電子データの種別に対応するアクセス権情報を取得し、電子データに対する処理の許否判定に使用されるアクセス権情報を当該電子データに対応付けて記憶するアクセス権記憶手段に当該取得したアクセス権情報を記憶させる処理を実行する処理実行手段と、を備えたことを特徴とするアクセス権設定装置である。
【００１８】
請求項９に記載の本発明は、電子データに対する処理の許否判定に使用されるアクセス権情報を当該電子データに対応付けて記憶するアクセス権記憶手段と、電子データの種別と当該種別の電子データに対して設定するアクセス権情報とを定めた割当情報を記憶する割当記憶手段と、電子データに対するアクセス権情報の設定要求を受け付ける要求受付手段と、前記要求受付手段による設定要求の受け付けに応じて、設定対象となる電子データの種別に対応するアクセス権情報を前記割当記憶手段に記憶されている割当情報に基づいて取得して前記アクセス権記憶手段に記憶させる処理を実行する処理実行手段と、を備えたことを特徴とするアクセス権管理システムである。
【発明の効果】
【００１９】
請求項１に記載の本発明によると、電子データに対して設定されるアクセス権情報を、本構成を有しない場合と比較して、簡潔化することができる。
【００２０】
請求項２に記載の本発明によると、アクセス権設定に使用する割当情報を明示的に指定することができる。
【００２１】
請求項３に記載の本発明によると、アクセス権設定に使用する割当情報の指定を省略することができる。
【００２２】
請求項４に記載の本発明によると、設定対象の電子データに関連付けられた別の電子データから継承する割当情報を、当該別の電子データの種別及びアクセス権情報に基づいて特定することができる。
【００２３】
請求項５に記載の本発明によると、設定対象の電子データに関連付けられた別の電子データから継承する割当情報を、当該別の電子データに対する対応付けから特定することができる。
【００２４】
請求項６に記載の本発明によると、設定対象の電子データに関連付けられた別の電子データとは親の関係にある電子データであり、当該親の関係にある電子データから割当情報を継承することができる。
【００２５】
請求項７に記載の本発明によると、アクセス権設定時には未対応だった種別のアクセス権を事後的に編集する処理の効率化を図ることができる。
【００２６】
請求項８に記載の本発明によると、電子データに対して設定されるアクセス権情報を、本構成を有しない場合と比較して、簡潔化することができる。
【００２７】
請求項９に記載の本発明によると、電子データに対して設定されるアクセス権情報を、本構成を有しない場合と比較して、簡潔化することができる。
【図面の簡単な説明】
【００２８】
【図１】本発明の一実施形態に係るアクセス権管理システムによるアクセス権の管理方法について説明する図である。
【図２】共有ＡＣＬの一例を示す模式図である。
【図３】継承においてオブジェクトに対し複数のアクセス権情報を関連付ける利点を説明する図である。
【図４】アクセス権割当情報をオブジェクトと関連付けて記憶しない場合の継承を説明する図である。
【図５】アクセス権を継承する別の方法の一例を説明する図である。
【図６】オブジェクトに対するアクセス権割当情報を設定し直す処理の一例を説明する図である。
【図７】アクセス権情報（共有ＡＣＬ）の内容を変更する処理の一例を説明する図である。
【図８】オブジェクトの階層ツリーにおいて中間の階層に位置するオブジェクトにアクセス権設定を付加する方法の一例を説明する図である。
【図９】オブジェクトの階層ツリーにおいて中間の階層に位置するオブジェクトにアクセス権設定を付加する他の方法の一例を説明する図である。
【図１０】本発明の一実施形態に係るアクセス権管理システムに係る文書管理サーバーの構成を例示する図である。
【図１１】オブジェクト情報を管理するオブジェクト情報テーブルの一例を示す図である。
【図１２】オブジェクト間の関係情報（リンク）を管理するオブジェクト間関係情報テーブルの一例を示す図である。
【図１３】アクセス権情報を管理するアクセス権情報テーブルの一例を示す図である。
【図１４】アクセス権割当情報を管理するアクセス権割当情報テーブルの一例を示す図である。
【図１５】オブジェクトの登録処理における処理の流れの一例を示すシーケンス図である。
【図１６】アクセス可否判定の処理の流れの一例を示すシーケンス図である。
【図１７】継承するアクセス権割当情報を取得する処理の流れの一例を示すシーケンス図である。
【図１８】アクセス権割当情報の生成方法の一例を示す図である。
【図１９】本例のアクセス権管理システムに設けられるコンピュータにおける主要なハードウェアを例示する図である。
【図２０】従来方式におけるアクセス権設定を例示する図である。
【発明を実施するための形態】
【００２９】
本発明の一実施形態について、図面を参照して説明する。
図１は、本発明の一実施形態に係るアクセス権管理システムによるアクセス権の管理方法について説明する図である。なお、本例のアクセス権管理システムは文書管理システムに適用したものであるが、これは一例に過ぎない。また、アクセス権の設定対象となるオブジェクトの種類も、以下に例示するようなドキュメントやフォルダに限定されない。
【００３０】
以下では、図１に示すように、オブジェクト２００〜２０７が階層構造をなして管理されている場合を例に説明する。
図１では、フォルダ２００、２０１、２０４、２０６とドキュメント２０２、２０３、２０５、２０７の２種類に大別してオブジェクトを表しているが、オブジェクトの分類は更に多くても良い。ここではオブジェクト種別によってオブジェクトの分類を更に詳細に分けて説明する。フォルダ２００のオブジェクト種別はｔｙｐｅＦ１であり、フォルダ２０１、２０４のオブジェクト種別はｔｙｐｅＦ２であり、フォルダ２０６のオブジェクト種別はｔｙｐｅＦ３である。また、ドキュメント２０２、２０３のオブジェクト種別はｔｙｐｅＤ１であり、ドキュメント２０５、２０７のオブジェクト種別はｔｙｐｅＤ２である。
【００３１】
アクセス権情報２１０〜２１５は、オブジェクト２００〜２０７に対するアクセスを制御するための情報を保持するアクセス制御リスト（ＡＣＬ）である。なお、これは一例であり、アクセス権情報はＡＣＬに限らない。本例では、アクセス権情報（ＡＣＬ）はオブジェクトを構成する情報の一部ではなくオブジェクトとは独立に存在し、各オブジェクトに関連付けられる。そして、ユーザーがオブジェクトにアクセスする場合には、そのオブジェクトに関連付けられたアクセス権情報に基づいてアクセスの可否が判定される。
図１では、オブジェクトとアクセス権情報との関連付けを破線で示してある。例えば、フォルダ２００はアクセス権情報２１０と関連付けられている。オブジェクトとアクセス権情報とを関連付ける方法については後ほど説明する。
【００３２】
ここで、アクセス権情報とオブジェクトとの関連付けは必ずしも一対一の対応ではない。例えば、アクセス権情報２１１はフォルダ２０１、２０４の両方と関連付けられ、アクセス権情報２１２はドキュメント２０２、２０３の両方と関連付けられている。このように複数のオブジェクトに共有されるＡＣＬを本明細書では共有ＡＣＬと呼ぶ。
【００３３】
図２は、共有ＡＣＬの一例を示す模式図であり、１つの共有ＡＣＬに３つのオブジェクトが関連付けられている。なお、各ＡＣＬにはそれぞれに固有の識別子が付されて管理される。図２の共有ＡＣＬは、識別子（ＩＤ）として“ＡＣＬ１２３４５”が付されており、ユーザーＡに対してオブジェクトのＲＥＡＤ，ＷＲＩＴＥ，ＤＥＬＥＴＥを許可し、ユーザーＢに対してオブジェクトのＲＥＡＤ，ＷＲＩＴＥを許可し、グループＨのユーザーに対してオブジェクトのＲＥＡＤを許可するものである。
なお、ここではシステムで管理したい目的の対象情報であるオブジェクトとは区別し、狭義の意味でアクセス権情報（共有ＡＣＬ）をオブジェクトとはしていない。
【００３４】
このような共有ＡＣＬの内容を変更することにより、共有ＡＣＬに関連付けられた複数のオブジェクトに対するアクセス権を一括して変更することが簡単にできる。一方、共有ＡＣＬによって同じアクセス権が設定されているオブジェクトに対し、それぞれ異なるアクセス権に変更したい場合は、共有ＡＣＬの内容変更ではなく、オブジェクトと共有ＡＣＬとの関連付けを変更する（関連付けを解除し、別の共有ＡＣＬに関連付けし直す）ようにすれば良い。
以下では、共有ＡＣＬによるアクセス権情報で説明するが、アクセス権情報が共有ＡＣＬであることは必ずしも本発明に必須の要件ではない。
【００３５】
本例のアクセス権管理システムでは、一つのオブジェクトに対して複数のアクセス権情報を関連付けることもできる。例えば、図１のドキュメント２０７は、アクセス権情報２１３、２１５の両方と関連付けられている。このように一つのオブジェクトに複数のアクセス権情報を関連付けることができると、組み合わせ的にアクセス権を設定するのが簡単になり利点が多い。
【００３６】
利点の一つとして、例えば継承が挙げられる。図３は、継承においてオブジェクトに対し複数のアクセス権情報を関連付ける利点を説明する図である。図３において、フォルダ２３０〜２３２は親子関係にある。共有ＡＣＬ２３５は親フォルダ２３０に関連付けられたアクセス権情報であり、その子フォルダ２３１及び孫フォルダ２３２に継承されている。ただし、子フォルダ２３１は、親フォルダ２３０の共有ＡＣＬ２３５を継承するだけでなく、独自に共有ＡＣＬ２３６も関連付けられている。同様に孫フォルダ２３２は、親フォルダ２３０の共有ＡＣＬ２３５だけでなく子フォルダ２３１の共有ＡＣＬ２３６も継承し、更に自分自身の共有ＡＣＬ２３７も関連付けられている。
なお、図１のドキュメント２０７も、継承によってアクセス権情報が関連付けられている。ドキュメント２０７のアクセス権情報において、アクセス権情報２１３はフォルダ２００からの継承によるものであり、アクセス権情報２１５はフォルダ２０６からの継承によるものである。
【００３７】
オブジェクトに対して複数のアクセス権情報が関連付けられている場合、アクセス権の評価は複数のアクセス権情報によって総合的に判定される。例えば、いずれかのアクセス権情報で許可が与えられていれば許可されるものと論理和で演算しても良い。また、アクセス権に禁止もある場合は同様にいずれかのアクセス権で禁止されていれば禁止と論理和で演算して良いが、許可と禁止の両方が設定されている場合はルールによって許可と禁止のどちらを優先するかを決めるのも良い。具体的には、例えば、単に「許可より禁止が優先される」としても良いし、「上位階層よりも下位階層で設定したアクセス権情報を優先し、グループよりもグループのメンバー（ユーザーやサブグループ）に対して与えられたアクセス権を優先し、同階層や同じ主体に対しては禁止が優先される」としても良い。また、アクセス権情報の評価方法はこの限りではない。
なお、オブジェクに対して複数のアクセス権情報を関連付けることは本発明に必須の要件ではない。例えば、オブジェクトに対して個別にアクセス権情報を設定した場合には、上位階層から別のアクセス権情報を継承しない構成としても良い。
【００３８】
図１において、アクセス権割当情報２２０、２２１は、オブジェクト種別毎に、その種別のオブジェクトに設定するアクセス権情報を決定するためのアクセス権決定情報２２２〜２２８を保持する。
本例のアクセス権管理システムでは、アクセス権割当情報に基づいてオブジェクトに対するアクセス権を設定する。例えば、フォルダ２００に対するアクセス権をアクセス権割当情報２２０に基づいて設定する。図１では、点線矢印によりこの関係を示してある。オブジェクトに対するアクセス権設定に使用するアクセス権割当情報は、例えば、ユーザーにより明示的に指定され、又は、そのオブジェクトの親オブジェクト（或いは、更に上位階層のオブジェクト）におけるアクセス権設定に使用されたものが暗黙的に指定される。
【００３９】
なお、アクセス権割当情報に識別子を設ければ、オブジェクトとアクセス権割当情報とを関係付けておき、そのアクセス権割当情報の内容に基づいてアクセス権判定をすることが可能だが、この関係付けは必ずしも必要ではない。これは、後述するように本例のアクセス権管理システムでは、アクセス権の設定時にアクセス権割当情報に基づいて対象のオブジェクトに対してその種別に応じたアクセス権情報を設定（関連付け）するので、アクセス権の判定時には対象オブジェクトに関連付けられたアクセス権情報を参照すれば良いためである。
【００４０】
アクセス権割当情報に基づいてオブジェクトに対するアクセス権を設定する処理では、対象オブジェクトの種別に対応するアクセス権情報がアクセス権割当情報から取得されて、対象オブジェクトに設定（関連付け）される。
図１を例として説明すれば、フォルダ２００に対してアクセス権割当情報２２０に基づいてアクセス権を設定する場合、フォルダ２００のオブジェクト種別はｔｙｐｅＦ１であるので、アクセス権割当情報２２０が保持するｔｙｐｅＦ１に対応するアクセス権決定情報２２２からアクセス権情報（ＡＣＬ０１）２１０が取得されてフォルダ２００に関連付けられる。
【００４１】
本例のアクセス権管理システムでは、アクセス権を設定するとき、上位階層のアクセス権を継承する場合は、上位階層のオブジェクトに対応するアクセス権割当情報に基づいて、オブジェクトにアクセス権情報を設定（関連付け）する。
図４は、アクセス権割当情報をオブジェクトと関連付けて記憶しない場合の継承を説明する図である。図４には、図３で示したフォルダ２３２の下にドキュメント２４５を追加するときのアクセス権の継承処理を示してある。
【００４２】
上位階層のアクセス権を継承するときは、まず、親のアクセス権情報を取得する（手順１）。図４の例では、継承によるアクセス権設定を行う対象のドキュメント２４５の親フォルダであるフォルダ２３２のアクセス権情報２３５、２３６、２３７を取得する。なおアクセス権情報２３５、２３６は、それぞれ更に上位階層のフォルダ２３０、２３１から継承したアクセス権情報である。
次に、親のアクセス権情報に基づいて、そのアクセス権情報の設定に使用されたアクセス権割当情報を特定する（手順２）。例えば、親フォルダであるフォルダ２３２のアクセス権情報２３５、２３６、２３７の各識別子（共有ＡＣＬのＩＤ）を検索条件としてアクセス権割当情報を検索することで特定できる。図４では、アクセス権情報２３５、２３６、２３７からアクセス権割当情報２４０、２４１、２４２がそれぞれ特定される。
次に、特定したアクセス権割当情報から対象オブジェクトの種別に対応するアクセス権情報を抽出して対象オブジェクトに設定する（手順３）。図４では、アクセス権割当情報２４０、２４１、２４２からドキュメント２４５のオブジェクト種別に対応するアクセス権情報２４６、２４７、２４８をそれぞれ抽出してドキュメント２４５に設定している。
【００４３】
この方法によるアクセス権の継承では、直上の親オブジェクトのアクセス権情報だけ取得すれば良く、それより上位階層のオブジェクトを辿る必要がないことが利点である。オブジェクトが複数のアクセス権情報を保持することができるため、直上の親オブジェクト（図４ではフォルダ２３２）が保持するアクセス権情報だけを取得すれば、更に上位階層のオブジェクトにおけるアクセス権設定に使用されたアクセス権割当情報が特定可能になる。
【００４４】
ただし、上記の継承方法を行うには幾つかの制約が必要である。
まず、アクセス権情報からアクセス権割当情報を一意に特定にするには、一つのアクセス権情報が複数のアクセス権割当情報に保持されないことが必要であり、また、継承によって共有される共有ＡＣＬは継承以外によって共有することができないようにする必要がある。
【００４５】
また、上位階層のオブジェクトに関連づけられたアクセス権割当情報を漏れなく特定可能にするためには、内容が空であっても必ずアクセス権情報を保持する必要がある。
すなわち、図１を例とすると、ドキュメント２０７に上位階層のフォルダ２００から継承してアクセス権情報２１３を設定するには、直上の親であるフォルダ２０６からアクセス権割当情報２２０が特定できなければならない。そのためには、フォルダ２０６はアクセス権割当情報２２０に対応するアクセス権情報との関連付けを保持していなくてはならない。
【００４６】
図１の例では、説明の為に敢えて上手くいかない例を示しており、フォルダ２０６はアクセス権割当情報２２０に対応するアクセス権情報を保持していない。なぜなら、アクセス権割当情報２２０では、アクセス権決定情報２２６に示されるように、フォルダ２０６のオブジェクト種別であるｔｙｐｅＦ３に対するアクセス権情報の設定が存在しないためである。また、ｔｙｐｅＦ３に対するアクセス権決定情報２２６自体がアクセス権割当情報２２０に保持されていない場合も同様である。
このため、正しく継承が行なえるようにするには、ｔｙｐｅＦ３に対応するアクセス権情報を作成してアクセス権決定情報２２６に保持させておく必要がある。このアクセス権情報は、アクセス権割当情報を取得可能にするためのものなので、アクセス権の内容は空（誰に対しても何の許可も禁止も与えない）でも構わない。
【００４７】
このように空のアクセス権情報で補完するのは、例えばオブジェクトの生成時などが良い。具体例を挙げて説明すると、フォルダ２０６を作成するときにフォルダ２００からアクセス権を継承するのであれば、フォルダ２００におけるアクセス権設定に使用されたアクセス権割当情報２２０からフォルダ２０６のオブジェクト種別であるｔｙｐｅＦ３に対応するアクセス権情報を取得する処理を行い、その結果、ｔｙｐｅＦ３に対応するアクセス権決定情報２２６にアクセス権情報が設定されていない或いはアクセス権決定情報２２６自体が無い等の原因により、アクセス権割当情報２２０からアクセス権情報を取得できなければ、新規に空のアクセス権情報を生成し、ｔｙｐｅＦ３と新たに生成したアクセス権情報（空）とが対応するようにアクセス権割当情報２２０を更新し、フォルダ２０６に対して新たに生成したアクセス権情報（空）を設定する。
【００４８】
図５は、アクセス権を継承する別の方法の一例を説明する図である。図５の方法では、オブジェクトとアクセス権割当情報とを関連付けて（例えば、オブジェクトからアクセス権割当情報へのリンク情報などとして）記憶される。この場合でも、一つのオブジェクトから複数のアクセス権割当情報へのリンクを保持することで、継承の設定を行うときに直上の親だけ参照すれば済むようにできる。
図５では、フォルダ２３２からアクセス権割当情報２４０、２４１、２４２へリンクが張られているため、ドキュメント２４５が上位階層のアクセス権を継承する場合には親フォルダ２３２を参照すれば良く、より上位階層のフォルダ２３０、２３１まで辿る必要はない。後は基本的に前述の方法と同じである。
なお、図５ではフォルダ２３０、２３１、２３２に設定されたアクセス権情報は省略してある。また、ドキュメント２４５には、アクセス権情報２４６、２４７、２４８が設定されるだけでなくアクセス権割当情報２４０、２４１、２４２へのリンクも設定されるが、これも図５では省略してある。
この方法によれば、オブジェクトとアクセス権割当情報との関係付けを記憶する必要があるが、継承のためだけの空のアクセス権情報を生成してオブジェクトに設定する必要がなく、また複数のアクセス権割当情報に同一のアクセス権情報を対応付けることも可能である。
【００４９】
ここで、前述の２つの方法では、いずれも、直上の親オブジェクトさえ参照すれば済むように親オブジェクトから複数のアクセス権割当情報を特定可能にしていたが、上位階層を辿ってそれぞれのアクセス権割当情報を特定するようにしても良い。
また、アクセス権の継承については、オブジェクトの階層ツリーにおける上位階層オブジェクトからの継承について説明したが、本例は継承元オブジェクトに設定されたアクセス権を継承する一般的な方法についてのものであり、継承対象は階層ツリーにおける上位階層オブジェクトには限定されない。
【００５０】
以下に、本例のアクセス権管理システムについて更に説明する。
前述の例では、上位階層のオブジェクトから継承するアクセス権情報を各オブジェクトに設定している。これはオブジェクトへのアクセス判定処理のときに、毎回、上位階層のオブジェクトを辿って継承するアクセス権を取得しなくてもいいようにするためである。
この手法を選択した理由として、次のような前提を想定している。
（前提１）アクセス権の設定を変更する頻度（オブジェクト生成時のアクセス権設定を除く）が一般の操作と比較して少ない。
（前提２）アクセス毎に毎回上位階層のオブジェクトを辿って継承するアクセス権を取得するより、アクセス権変更時に継承するアクセス権情報を各オブジェクトに設定する方が、総合的に処理コスト（処理負担）も低く、利用者のストレスも少ない。
（前提３）殆どのアクセス権の設定変更は、比較的コストの低い方法で対応できる。アクセス権情報（共有ＡＣＬ）の内容を変更する処理は低コストで実行可能である。一方、オブジェクトに対するアクセス権割当情報を設定し直す変更は、処理コストが高いので可能な限り避けるのが望ましい。
【００５１】
図６は、オブジェクトに対するアクセス権割当情報を設定し直すことでアクセス権の設定変更を実現する処理の一例を説明する図である。
変更前は、図１と同じく、オブジェクト２００〜２０７に対して、アクセス権割当情報２２０、２２１に基づいてアクセス権情報２１０〜２１５が設定されている。
ここでフォルダ２００に対するアクセス権の設定変更（ａ１→ｂ１）を行うとする。フォルダ２００の階層下にあるオブジェクト２０１〜２０７はフォルダ２００のアクセス権を継承しているため、これらのオブジェクト２０１〜２０７についてもアクセス権の設定変更を反映する必要がある。
【００５２】
アクセス権変更の手段として、フォルダ２００に対し、アクセス権割当情報２２０に代えてアクセス権割当情報２４０を設定し直す場合、フォルダ２００以下の全てのオブジェクト２００〜２０７に対し、元のアクセス権割当情報２２０に基づくアクセス権情報２１０〜２１３（ａ１〜ａ４）への関連付けを削除し、新たにアクセス権割当情報２４０に基づくアクセス権情報２３０〜２３３（ｂ１〜ｂ４）に関連付けを行う必要がある。なお、図６では、アクセス権情報２１０〜２１３がそれぞれアクセス権情報２３０〜２３３に一対一に対応しているようにみえるが、一般的には変更前後のアクセス権情報に一対一の対応関係はなく、変更するアクセス権情報はアクセス権割当情報によってのみ決定されることに注意する。
【００５３】
図６に示したように、アクセス権割当情報を設定し直す方法でアクセス権の設定を変更する場合、アクセス権情報を継承する下位階層のオブジェクトに対して再帰的にアクセス権情報の設定変更を行う必要があるので、階層ツリーにおけるオブジェクトの数が増えるに従って処理コストが増大する。したがって、この方法によるアクセス権変更は可能ならば避ける方が良い。
【００５４】
図７は、アクセス権情報（共有ＡＣＬ）の内容を変更することでアクセス権の設定変更を実現する処理の一例を説明する図である。
図６の例と同様にフォルダ２００に対してアクセス権の設定変更（ａ１→ｂ１）を行い、階層下にあるオブジェクト２０１〜２０７にアクセス権設定変更を反映する場合において、図７の方法では、アクセス権情報の内容を変更（ａ１〜ａ４→ｂ１〜ｂ４）し、オブジェクトとアクセス権情報との関連付けやアクセス権割当情報は変更しない。変更する対象はオブジェクトの種別の数だけ存在するアクセス権情報だけであり、階層ツリーのオブジェクト数によらず比較的低コストで処理できる。
【００５５】
図７の方法で注意すべきことは、アクセス権情報に関連付けた全てのオブジェクトのアクセス権設定が変更されるため、その影響範囲を考慮しなければならないことである。図７の例では、フォルダ２００のアクセス権を変更し、アクセス権を継承する階層下のオブジェクトにも反映することを示しているが、アクセス権情報２１３がフォルダ２００以下には含まれないドキュメント２０８とも関連付けられている場合のように、階層ツリー以外のオブジェクトともアクセス権情報を共用している場合、意図しないオブジェクトのアクセス権が変更されてしまう可能性もある。なお、逆に意図的にそのように設定することも可能である。
変更の影響範囲に注意する必要があるが、処理コストが比較的一定で少なく済むため、基本的にはアクセス権情報の内容を変更する方法を行うのが望ましい。アクセス権情報の内容を変更する対応を可能にするための工夫として、本来は必要のない空のアクセス権情報を設定しておく方法がある。
【００５６】
図８及び図９は、共にオブジェクトの階層ツリーにおいて中間の階層に位置するオブジェクトにアクセス権設定を付加する異なる方法の一例を説明する図である。両図とも、図左に示す事前状態では、階層ツリーの最上位にあるフォルダ２３０にアクセス権が設定されていて（アクセス権割当情報２４０が関連付けられていて）他のオブジェクト２３１、２３２、２４５はアクセス権を継承している。そして、中間階層であるフォルダ２３１に対してアクセス権を設定するとどうなるかを、図右に事後状態として示している。
【００５７】
図８では、事前状態（図左）でアクセス権割当情報２４０が関連付けられているのは、最上位のフォルダ２３０だけである。また、アクセス権割当情報２４０に基づき、フォルダ２３０〜２３２にはアクセス権情報２３５（Ａ）が設定され、ドキュメント２４５にはアクセス権情報２４６（Ｂ）が設定されている。中間階層のオブジェクトであるフォルダ２３１に新たにアクセス権を設定する処理を行うと、指定されたアクセス権割当情報２４１に基づき、フォルダ２３１及びその下位階層のフォルダ２３２にはアクセス権情報２３６（Ｃ）が、フォルダ２３２配下のドキュメント２４５にはアクセス権情報２４７（Ｄ）がそれぞれ追加で関連付けられる。
この方法も、アクセス権を設定する中間オブジェクトの階層下の各オブジェクトに対して行う必要があり、階層下に多数のオブジェクトが存在すれば処理コストは高くつく。
【００５８】
一方、図９では、オブジェクトとアクセス権情報とアクセス権割当情報との関係は、事前状態（図左）と事後状態（図右）とで変化しない。図９の例では、フォルダ２３０だけでなく、フォルダ２３１、２３２にもアクセス権割当情報２４１、２４２に基づいてアクセス権情報２３６、２３７が設定されており、同様にドキュメント２４５にもアクセス権情報２４７、２４８が設定されている。これらのアクセス権情報２３６、２３７、２４７、２４８の内容はいずれも空であり、意味としてはオブジェクトにアクセス権情報を関連付けないことと同じである。
そして、中間階層のオブジェクトであるフォルダ２３１にアクセス権を設定する場合は、新たにアクセス権情報を関連付ける必要はなく、予め関連付けられた空のアクセス権情報２３６、２４７の内容を変更するだけで良い。処理コストは階層下のオブジェクト数に依存しないため、低コストで処理できる。
【００５９】
ただし、図９の方法では、多数のアクセス権情報を作成し、予め多数のオブジェクトと関連付けておかねばならず、これら多数の情報を記憶する必要がある。
したがって、アクセス権変更による影響範囲が広いオブジェクト（例えば階層ツリーの上位階層オブジェクトなど）に対しては予め空のアクセス権情報を設定して変更時の処理コストを抑え、影響範囲が少ないオブジェクト（例えば下位階層のオブジェクトなど）に対しては必要時に新たにアクセス権情報を設定するというように使い分けることで、最適な効果を得るのが好ましい。
【００６０】
図１０は、本例のアクセス権管理システムとしての機能を備えた文書管理サーバーの構成を例示している。本例の文書管理サーバー２０は、処理要求受付部２１、処理実行制御部２２、アクセス可否判定部２３、アクセス権情報管理部２４、アクセス権割当情報管理部２５、オブジェクト情報管理部２６、を有する。
【００６１】
本例の文書管理サーバー２０では、文書（ファイル）やフォルダなどの電子データをオブジェクトとして管理する。本例では、文書やフォルダなどにそれぞれ固有の識別情報（ＩＤ）を付与し、また属性情報などを設定して管理している。オブジェクト情報（ＩＤ、属性情報、状態など）やオブジェクト間の関係情報（リンク）は、オブジェクト情報管理部２６で管理する。
【００６２】
また、本例の文書管理サーバー２０では、文書やフォルダなどの各オブジェクトに関連付けられたアクセス権情報に従ってアクセスの可否の制御を行う。アクセス権情報は、アクセス権情報管理部２４で管理する。また、アクセス権情報は直接オブジェクトに対して設定するのではなく、アクセス権割当情報によって間接的にオブジェクトに設定される。アクセス権割当情報は、アクセス権割当情報管理部２５で管理する。
【００６３】
これらのオブジェクト情報管理部２６、アクセス権情報管理部２４、アクセス権割当情報管理部２５は、データベースなどによって実現される。図１０では、各管理部２４〜２６を個別に分けて表わしているが、実際にはこれら３つの管理部２４〜２６は１つのデータベース上で実現してもよい。
【００６４】
処理実行制御部２２は、処理要求受付部２１によりアプリケーション１０から受け付けた処理要求に基づいて、これら各管理部２４〜２６を対象にして要求された処理の実行及び制御を行う。また、処理実行制御部２２は、要求された処理を実行する前に、アクセス可否判定部２３に処理対象のオブジェクトに対してアクセスが可能かどうかの判定を依頼して、その判定結果に従ってアクセス制御を行う。
【００６５】
図１１は、オブジェクト情報を管理するオブジェクト情報テーブル（オブジェクト情報管理部２６の保持テーブル）の一例を示している。
図１１の例では、オブジェクト情報として、各オブジェクトの識別子であるオブジェクト識別子、そのオブジェクトの属性情報（オブジェクト種別を大別するタイプ、オブジェクト種別をより詳細に分類したタイプ詳細、オブジェクトの名前、オブジェクトの作成日時、オブジェクトの作成者、・・・など）、そのオブジェクトに設定されたＡＣＬ（アクセス権情報）の識別子であるＡＣＬ＿ＩＤ（アクセス権情報ＩＤ）、ＡＣＬの設定に使用されたＡＣＤ（アクセス権割当情報）の識別子であるＡＣＤ＿ＩＤ（アクセス権割当情報ＩＤ）、を保持している。
【００６６】
図１１のＡＣＬ＿ＩＤ（アクセス権情報ＩＤ）は、オブジェクトに設定されたアクセス権情報の参照先を示し、必ず値を持つ。なお、このようなオブジェクト情報テーブルにアクセス権情報への参照（ＩＤ）を持たせるテーブル構成は必須ではなく、オブジェクトとアクセス権情報との対応を別テーブルで管理するようにしてもよい。
図１１の例は、複数のオブジェクトで同一のアクセス権情報を共有する場合の管理方法の一例であり、例えば、オブジェクトｄｏｃ−０００１、ｄｏｃ−０００３で同じアクセス権情報（ＡＣＬ−７４１８５２）を共有している。アクセス権の管理方法の別の一例については後ほど示す。
【００６７】
また、図１１のＡＣＤ＿ＩＤ（アクセス権割当情報ＩＤ）は、オブジェクトに設定されたアクセス権割当情報の参照先を示す。ただし、アクセス権情報のように必ずしも全てのオブジェクトに値が設定されるわけではない。値が設定されるのは、直接アクセス権割当情報が設定されたオブジェクトだけである。直接設定されずに他のオブジェクトからアクセス権割当情報を継承するだけのオブジェクトには設定されない。
【００６８】
図１２は、オブジェクト情報管理部２６の別のテーブルとして、オブジェクト間の関係情報（リンク）を管理するオブジェクト間関係情報テーブルの一例を示している。
図１２の例では、オブジェクト間の関係情報として、リンクの種別とリンクの両端（ｓｒｃ端とｄｅｓｔ端）のオブジェクト識別子とがある。構成によっては、リンクに属性情報などを付与してもよい。
図１２の例では、例えば、フォルダｆｄｒ−０００１と文書ｄｏｃ−０００１、ｄｏｃ−０００３とが一般的なフォルダの階層構造における親子関係であることをリンク「ＦＯＬＤＥＲ＿ＴＲＥＥ」で表している。また、例えば、文書ｄｏｃ−０００１の関連文書としてｄｏｃ−０００２が関係付けられていることをリンク「ＲＥＬＡＴＩＯＮ＿ＤＯＣＵＭＥＮＴ」で表わしている。
【００６９】
なお、フォルダ階層の親子関係しかないような場合には、図１１及び図１２のようにテーブルをわけず、図１１で示すようなオブジェクト情報テーブルにおいて、各オブジェクトの親オブジェクトへの参照を表すオブジェクト識別子の列を設けてもよい。
【００７０】
図１３は、アクセス権情報を管理するアクセス権情報テーブル（アクセス権情報管理部２４の保持テーブル）の一例を示している。
アクセス権情報テーブルは、誰（主体）にどのような権限が許可されているかどうかを管理する。アクセス権情報の管理単位であるＡＣＬはテーブル上では複数レコードで構成され、テーブル上の１レコードはＡＣＬ中の１エントリに対応する。例えば、ＡＣＬ−７４３６５７、ＡＣＬ−７４１８５２はそれぞれ４件のレコードで構成され、ＡＣＬ−７４１９５３は２件のレコードで構成されている。
【００７１】
一つのＡＣＬの中で同じ主体が重複することはないので、アクセス権情報の識別子（ＡＣＬ＿ＩＤ）と主体の識別子（主体ＩＤ）とでユニークになるよう制約される。主体ＩＤとしては、ユーザー、グループ、役割（ロール）などの他に、「全ユーザー」や「ゲスト」など特別な意味を表す値を設定することもできる。なお、図１３の例では、設定内容を把握し易いように、主体ＩＤの値としてユーザーの表示名をそのまま示している。
【００７２】
各権限（属性取得権、属性変更権、内容取得権、内容変更権、削除権など）の値としては、許可を表すｔｒｕｅ又は不許可を表すｆａｌｓｅといった真偽値が設定される。図１３では、“○”がｔｒｕｅ（許可）を示し、空白がｆａｌｓｅ（不許可）を示している。なお、本例では、権限の種類毎にそれぞれ個別の真偽値（ｔｒｕｅ又はｆａｌｓｅ）が設定される複数の項目列でアクセス権が表現されているが、このような構成に限定するものではなく、例えば、権限のセットをビット列やバイナリデータで表して１つの項目列で表現してもよい。
【００７３】
図１４は、アクセス権割当情報を管理するアクセス権割当情報テーブル（アクセス権割当情報管理部２５の保持テーブル）の一例を示している。
アクセス権割当情報テーブルは、どのオブジェクトの種別（タイプ）に対してどのアクセス権情報を割り当てるかを管理する。アクセス権割当情報の管理単位は、テーブル上では複数のレコードで構成される。一つのアクセス権割当情報の中でオブジェクト種別（タイプ詳細）が重複することはないので、アクセス権割当情報の識別子（ＡＣＤ＿ＩＤ）と対象オブジェクトの種別（タイプ詳細）とでユニークになるよう制約される。
【００７４】
ここで、図１１で示したオブジェクト情報テーブルにおけるアクセス権情報の識別子（ＡＣＬ＿ＩＤ）と、図１４で示したアクセス権割当情報テーブルにおけるアクセス権情報の識別子（ＡＣＬ＿ＩＤ）とで冗長になっている点に注意する。これは、図１においてオブジェクトからアクセス権割当情報へとアクセス権情報へに関係付けられていることに対応している。
本例におけるオブジェクトのアクセス権は、本来、アクセス権割当情報とオブジェクトの種別によって特定される。例えば、文書オブジェクトであるｄｏｃ−０００２は、図１１に示されるように、アクセス権割当情報ＡＣＤ−７６１８９４に基づいてアクセス権が設定されたｔｙｐｅＤ２の種別のオブジェクトである。また、ｄｏｃ−０００２のアクセス権は、図１４で示したアクセス権割当情報テーブルを参照すればアクセス権情報ＡＣＬ−７４１９６３であることが特定可能である。実際に、図１１においても同様にＡＣＬ−７４１９６３が設定されている。
【００７５】
オブジェクト情報テーブルにおいて、冗長になるにも関わらずにアクセス権情報の識別子（ＡＣＬ＿ＩＤ）の列を加えているのは、処理の効率化を図るものである。具体的には、オブジェクト１つ１つのアクセス権の判定の度にアクセス権割当情報テーブルを参照しなくても済むようにするためである。更に、継承における効率化も含む。すなわち、アクセス権割当情報を継承する場合でも、アクセス権情報をキャッシュとして持っていれば、アクセス権の判定の度に継承先のオブジェクトからアクセス権割当情報を引かなくても済む。
【００７６】
更に重要な理由として、アクセス権情報からアクセス権割当情報の逆引きを可能にすることが挙げられる。例えば、図１１において、フォルダｆｄｒ−０００４にはアクセス権割当情報が直接設定されていない。したがって、親フォルダなどから継承するアクセス権割当情報を取得する必要があるが、事前にアクセス権情報ＡＣＬ−７４３６５７が判れば、親フォルダのオブジェクト種別であるｔｙｐｅＦ１と共に検索キーに用いて図１４のアクセス権割当情報テーブルを参照することで、対応するアクセス権割当情報ＡＣＤ−３２４７８９を特定することができる。
すなわち、階層ツリーによりアクセス権を継承する場合、オブジェクトを登録するときに継承するアクセス権割当情報を知るために、アクセス権割当情報が見つかるまで上位階層のオブジェクトを辿る必要はなく、直上の親フォルダのアクセス権情報（とオブジェクト種別）を取得すればよい。
【００７７】
図１５は、アクセス権割当情報及びアクセス権情報をオブジェクトに設定する例として、オブジェクトの登録処理における処理の流れの一例を示すシーケンス図である。
オブジェクトの登録処理は、処理要求受付部２１によりアプリケーション１０から受け付けた要求に応じて登録処理が呼び出されることで実行される。本例の登録処理では、引数として、登録対象となるオブジェクトの名称や属性情報を含む登録情報、対象オブジェクトの種別、使用するアクセス権割当情報のＩＤ、が与えられる。ここで、アクセス権割当情報ＩＤは、ユーザーに明示的に指定された場合を除いてｎｕｌｌ値が与えられ、この場合にはアクセス権の継承を行うことになる。なお、アクセス権割当情報ＩＤが明示的に指定された場合においてアクセス権の継承を追加的に行うようにしてもよい。
【００７８】
登録処理が呼び出されると、処理実行制御部２２は、まずアクセス可否判定部２３にアクセス権可否判定処理（図１６を参照して後述）を呼び出して、そのオブジェクトが登録される親オブジェクト（フォルダ）に対する権限（オブジェクトの追加を行う権限）が有ることを確認する。
親オブジェクトに対する権限の確認が取れると、引数で与えられたアクセス権割当情報ＩＤの指定内容を確認し、ｎｕｌｌ値である場合には継承アクセス権割当取得処理（図１７を参照して後述）を呼び出して、親オブジェクトに対するアクセス権設定に使用されたアクセス権割当情報のＩＤを取得する。
次に、引数で与えられたアクセス権割当情報ＩＤ又は継承アクセス権割当取得処理で取得されたアクセス権割当情報ＩＤと、引数で与えられたオブジェクト種別とに基づいて、該当するアクセス権情報のＩＤをアクセス権割当情報管理部２５から取得する。
その後、引数で与えられた登録情報と、取得したアクセス権情報ＩＤと、その取得に用いたアクセス権割当情報ＩＤとに基づいてオブジェクト登録処理を呼び出して、これらを関連付けたデータ（オブジェクト情報）をオブジェクト情報管理部２６に登録する。
【００７９】
図１６は、アクセス可否判定の処理の流れの一例を示すシーケンス図である。
本例のアクセス可否判定処理では、引数として、判定対象となるオブジェクトの識別子である対象ｏｂｊＩＤ、対象オブジェクトについて判定する権限を指定する必要権限セット、が与えられる。なお、アクセス可否判定処理は、オブジェクトの登録処理の際に当該オブジェクトが登録される親オブジェクトに対する権限の確認のために呼び出されるほか、オブジェクトの内容変更や削除等の各種の処理を実行する際にも、その処理を実行する権限の確認のために呼び出される。
【００８０】
アクセス可否判定処理が呼び出されると、アクセス可否判定部２３は、引数で与えられた対象ｏｂｊＩＤに基づいて、対象オブジェクトに設定されたアクセス権情報のＩＤをオブジェクト情報管理部２６から取得する。
次に、取得したアクセス権情報ＩＤに基づいて、対象オブジェクトに設定されたアクセス権情報をアクセス権情報管理部２４から取得する。
その後、引数で与えられた必要権限セットと取得したアクセス権情報とを比較して、取得したアクセス権情報に必要権限セットで指定された権限が含まれるか否かを判定し、権限が含まれない場合にはアクセス権エラーとして、対象オブジェクトに対する処理を拒否させる。
【００８１】
図１７は、フォルダの階層構造において上位階層のフォルダからアクセス権割当を継承する場合において、継承するアクセス権割当情報を取得する処理の流れの一例を示すシーケンス図である。
本例の継承アクセス権割当取得処理では、引数として、アクセス権の継承元となる親オブジェクトのＩＤが与えられる。
【００８２】
継承アクセス権割当取得処理が呼び出されると、処理実行制御部２２は、引数で与えられた親オブジェクトＩＤに基づいて、親オブジェクトに設定されたアクセス権情報のＩＤをオブジェクト情報管理部２６から取得する。また、親オブジェクトの種別も併せて取得しておく。
次に、取得した親オブジェクトの種別と、取得したアクセス権情報ＩＤとに基づいて、親オブジェクトに対するアクセス権設定に使用されたアクセス権割当情報のＩＤをアクセス権割当情報管理部２５から取得する。
その後、取得したアクセス権割当情報ＩＤを、継承アクセス権割当取得処理の呼び出し元に処理結果として出力する。
【００８３】
図１８は、応用例として、アクセス権割当情報の生成方法の一例を示している。
この例では、アクセス権情報２１０〜２１３とアクセス権割当情報２２０は、共に基本アクセス権情報２５０に基づいて生成される。オブジェクトへのアクセス権設定は基本アクセス権情報によって行われる。図１８では、フォルダ２００に対して基本アクセス権情報２５０によってアクセス権を設定することを示している。
基本アクセス権情報は、オブジェクト種別毎にアクセス権を定義する。これは権限をオブジェクト種別毎に詳細に分割したＡＣＬでも良いし、別の形式の情報（例えば、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）やＪＳＯＮ（ＪａｖａＳｃｒｉｐｔ  Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ）などの構造化テキストデータ）でも良い。
【００８４】
基本アクセス権情報２５０を対象オブジェクト２００に関連付けてアクセス権を設定すると、基本アクセス権情報２５０の内容に基づいて対象オブジェクト２００のオブジェクト種別に応じたアクセス権情報（ＡＣＬ）２１０を生成して対象オブジェクト２００に関連付けると共に、アクセス権割当情報２２０を生成して対象オブジェクトのオブジェクト種別とアクセス権情報（ＡＣＬ）とを対応付けたアクセス権決定情報２２２を格納する。
【００８５】
親オブジェクトからアクセス権を継承する場合は、前述したように、親オブジェクトのアクセス権情報からアクセス権割当情報を取得してオブジェクト種別に対応するＡＣＬを取得する。アクセス権割当情報からＡＣＬが取得できる場合には基本アクセス権情報は参照されない。
一方、アクセス権割当情報からオブジェクト種別に対応するＡＣＬが取得できない場合、特に対象のオブジェクト種別に対するＡＣＬがアクセス権割当情報に格納されていない場合には、アクセス権割当情報から対応する基本アクセス権情報を取得し、基本アクセス権情報の内容に基づいてＡＣＬを生成してアクセス権割当情報に格納すると共に、対象オブジェクトに関連付ける。
アクセス権を変更する場合は、基本アクセス権情報の内容に対して変更を行い、それに基づいてアクセス権割当情報を経由して得られる各ＡＣＬの内容を変更する。
【００８６】
この応用例の方法は、オブジェクト種別が多い場合でも、オブジェクト種別毎にアクセス権設定を分けることが可能で、且つアクセス権判定処理で使用するアクセス権情報（ＡＣＬ）を拡張する必要がなく、アクセス権を継承する処理では親オブジェクトだけ参照すれば済むので容易であり、設定したアクセス権の内容を変更する場合でも低コストで処理可能である。
【００８７】
図１９は、本例のアクセス権管理システムに設けられるコンピュータにおける主要なハードウェアを例示している。
本例では、各種演算処理を行うＣＰＵ５１、ＣＰＵ５１の作業領域となるＲＡＭ５２や基本的な制御プログラムを記録したＲＯＭ５３等の主記憶装置、本発明の一実施形態に係るプログラムや各種データを記憶する補助記憶装置（例えば、ＨＤＤ等の磁気ディスクや、フラッシュメモリ等の書き換え可能な不揮発性メモリなど）５４、各種情報を表示出力するための表示装置や操作者により入力操作に用いられる操作ボタンやタッチパネル等の入力機器とのインタフェースである入出力Ｉ／Ｆ５５、他の装置との間で有線又は無線により通信を行うインタフェースである通信Ｉ／Ｆ５６、等のハードウェア資源を有するコンピュータにより構成されている。
そして、本発明の一実施形態に係るプログラムを補助記憶装置５４等から読み出してＲＡＭ５２に展開し、これをＣＰＵ５１により実行させることで、本発明の一実施形態に係るアクセス権設定装置の機能をコンピュータ上に実現している。
【００８８】
なお、本例のアクセス権管理システムでは、各機能部を複数台のコンピュータに分散して設けているが、１台のコンピュータに設ける構成としてもよい。
また、本発明の一実施形態に係るプログラムは、例えば、当該プログラムを記憶したＣＤ−ＲＯＭ等の外部記憶媒体から読み込む形式や、通信回線等を介して受信する形式などにより、本例に係るコンピュータに設定される。
また、本例のようなソフトウェア構成により各機能部を実現する態様に限られず、それぞれの機能部を専用のハードウェアモジュールで実現するようにしてもよい。
【符号の説明】
【００８９】
１０：アプリケーション、  ２０：文書管理サーバー、  ２１：処理要求受付部、  ２２：処理実行制御部、  ２３：アクセス可否判定部、  ２４：アクセス権情報管理部、  ２５：アクセス権割当情報管理部、  ２６：オブジェクト情報管理部
【図１】
2011154496.tif 000003
【図２】
2011154496.tif 000004
【図３】
2011154496.tif 000005
【図４】
2011154496.tif 000006
【図５】
2011154496.tif 000007
【図６】
2011154496.tif 000008
【図７】
2011154496.tif 000009
【図８】
2011154496.tif 000010
【図９】
2011154496.tif 000011
【図１０】
2011154496.tif 000012
【図１１】
2011154496.tif 000013
【図１２】
2011154496.tif 000014
【図１３】
2011154496.tif 000015
【図１４】
2011154496.tif 000016
【図１５】
2011154496.tif 000017
【図１６】
2011154496.tif 000018
【図１７】
2011154496.tif 000019
【図１８】
2011154496.tif 000020
【図１９】
2011154496.tif 000021
【図２０】
2011154496.tif 000022