(57)【要約】【課題】アクセス権の判定時とアクセス権の設定時のいずれにおいてもアクセス制御データの検索処理に要するコストを削減することを可能にする。【解決手段】階層によって管理されたオブジェクトのアクセス管理において、指定オブジェクトと該指定オブジェクトへのアクセス要求が受信されると、指定オブジェクトに付与されているアクセス権継承データを取得し、そのアクセス権継承データから参照先のオブジェクトを判定する。そして、この参照先のオブジェクトに付与されているアクセス制御データを取得し、取得されたアクセス制御データに基づいてアクセス要求の実行可否を決定する。【選択図】図２
2006106986.tif 000002
【特許請求の範囲】
【請求項１】
階層によって管理されたオブジェクトのアクセス管理方法であって、
指定オブジェクトと該指定オブジェクトへのアクセス要求を受信する受信工程と、
前記指定オブジェクトに付与されているアクセス権継承情報を取得し、該アクセス権継承情報から参照先のオブジェクトを判定する判定工程と、
前記参照先のオブジェクトに付与されているアクセス制御情報を取得する取得工程と、
前記取得工程で取得されたアクセス制御情報に基づいて前記アクセス要求の実行可否を決定する決定工程とを備えることを特徴とするアクセス管理方法。
【請求項２】
前記アクセス権継承データは、前記指定されたオブジェクトの上位階層のオブジェクトのうち、アクセス制御情報が付与された、該指定されたオブジェクトに最も近い階層のオブジェクトを参照先として示すことを特徴とする請求項１に記載のアクセス管理方法。
【請求項３】
前記アクセス制御情報は、最上位階層のオブジェクトから当該アクセス制御情報が付与されたオブジェクトに至るすべてのオブジェクトにおいて読出し権が設定されているか否かを示す可視性を含み、
前記決定工程は、前記取得工程で取得されたアクセス制御情報の可視性が「なし」となっている場合にはアクセスを許可しないことを特徴とする請求項２に記載のアクセス管理方法。
【請求項４】
前記アクセス権継承情報は、アクセス制御情報毎に、各オブジェクトに付与されていることを特徴とする請求項１乃至３のいずれかに記載のアクセス管理方法。
【請求項５】
前記アクセス継承情報は、対応するアクセス制御情報が変更された場合に、自身よりも下位の階層のオブジェクトであって、該変更に連動して変更されるべきアクセス制御情報が付与されたオブジェクトを指定する伝播先情報を含み、
アクセス制御情報が変更された際に、前記伝播先情報によって指定されたオブジェクトのアクセス制御情報を変更する変更工程を更に備えることを特徴とする請求項４に記載のアクセス管理方法。
【請求項６】
階層によって管理されたオブジェクトのアクセス管理を行う情報処理装置であって、
指定オブジェクトと該指定オブジェクトへのアクセス要求を受信する受信手段と、
前記指定オブジェクトに付与されているアクセス権継承情報を取得し、該アクセス権継承情報から参照先のオブジェクトを判定する判定手段と、
前記参照先のオブジェクトに付与されているアクセス制御情報を取得する取得手段と、
前記取得手段で取得されたアクセス制御情報に基づいて前記アクセス要求の実行可否を決定する決定手段とを備えることを特徴とする情報処理装置。
【請求項７】
前記アクセス権継承データは、前記指定されたオブジェクトの上位階層のオブジェクトのうち、アクセス制御情報が付与された、該指定されたオブジェクトに最も近い階層のオブジェクトを参照先として示すことを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記アクセス制御情報は、最上位階層のオブジェクトから当該アクセス制御情報が付与されたオブジェクトに至るすべてのオブジェクトにおいて読出し権が設定されているか否かを示す可視性を含み、
前記決定手段は、前記取得手段で取得されたアクセス制御情報の可視性が「なし」となっている場合にはアクセスを許可しないことを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記アクセス権継承情報は、アクセス制御情報毎に、各オブジェクトに付与されていることを特徴とする請求項６乃至８のいずれかに記載の情報処理装置。
【請求項１０】
前記アクセス継承情報は、対応するアクセス制御情報が変更された場合に、自身よりも下位の階層のオブジェクトであって、該変更に連動して変更されるべきアクセス制御情報が付与されたオブジェクトを指定する伝播先情報を含み、
アクセス制御情報が変更された際に、前記伝播先情報によって指定されたオブジェクトのアクセス制御情報を変更する変更手段を更に備えることを特徴とする請求項９に記載の情報処理装置。
【請求項１１】
請求項１乃至５のいずれかに記載のアクセス管理方法をコンピュータに実行させるための制御プログラム。
【請求項１２】
請求項１乃至５のいずれかに記載のアクセス管理方法をコンピュータに実行させるための制御プログラムを格納した記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、階層構造により管理されたデータオブジェクトへのアクセス権を管理するアクセス管理方法及び情報処理装置に関する。
【背景技術】
【０００２】
従来より、ファイルシステムや文書管理システムにおいて、フォルダあるいはファイルなどデータオブジェクト（以下、オブジェクトという）へのアクセス管理が行われている。一般的にこれらのシステムでは、オブジェクトを木構造に代表される階層的な構造に配置して管理している。また各オブジェクトにはオブジェクトへのアクセスを管理するためのアクセス権データが付与されており、したがってアクセス権データもまた階層的に配置して管理されている。アクセス権データには、オブジェクトへの操作に対応した権限の有無が保持されている。具体的にはオブジェクトの読み込みを制御する読出し権、オブジェクトの内容の変更を制御する変更権、オブジェクトの削除を制御する削除権などである。特許文献１には、オブジェクトを階層的に管理し、アクセス権を上位から継承する方法が記載されているが、アクセス権データの検索／更新方法については規定していない。
【特許文献１】特開２０００−２１５０９５公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ここで、オブジェクトへのアクセス権を判定する方法として、対象オブジェクトに付与されたアクセス権データにのみ基づいて判定を行う方法と、対象オブジェクトの上位階層のオブジェクトに付与されたアクセス権データに依存して判定を行う方法の２種類が考えられる。前者のアクセス権判定方法については公知の技術であるので特に説明を必要としないであろう。
【０００４】
一方、後者のような、アクセス権判定が上位階層のアクセス権データに依存する方法の典型的な例は、上位階層のオブジェクトに設定された読出し権が階層下位のオブジェクトに対しても有効となる方法である。すなわち、階層の最上位オブジェクトから対象オブジェクトに至る全てのオブジェクトに対して読出し権が付与されている場合に限り対象オブジェクトの読み込みを許可する方式である。この方式に従えば、特定のオブジェクト以下の全てのオブジェクトに対して読出しを不許可にするような場合、そのオブジェクトのアクセス権データの読出し権を読出し不可に変更すれば下位オブジェクトのアクセス権データを個々に変更しなくても自動的に全てのオブジェクトの読出しが不許可になるため、ユーザの操作を大幅に削減することができる点にメリットがある。
【０００５】
このように、階層間でアクセス権に依存関係を持たせる方式は、上位階層のオブジェクトにアクセス権を設定することで、その下位階層のオブジェクトにもアクセス権が付与されることになり、アクセス権の設定が容易になるといったようなメリットを有している。しかし、その一方で、アクセス権の判定処理においては、対象オブジェクトに設定されたアクセス権データだけではアクセス権が決定できない。すなわち、対象オブジェクトから最上位階層までの全てのオブジェクトを１階層ずつ辿ってそのアクセス権を判定する必要があり、判定処理のパフォーマンスを悪化させてしまう点が問題となる。特に多数のオブジェクトのアクセス権を一括で判定するような場合にはパフォーマンスへの影響が顕著となる。
【０００６】
これを回避する方法として、各オブジェクトのアクセス権データに、そのオブジェクトに設定されたアクセス権とともに上位階層の全てのオブジェクトに付与されたアクセス権との依存関係を考慮した結果を予め算出しておいてその値を保持させる方法が考えられる。この方法によれば、アクセス権判定処理において上位オブジェクトを辿ってアクセス権を判定する必要がなくなり、上述のパフォーマンスに対する問題を解決することができる。しかしながら、逆にこの方法ではアクセス権データの登録や変更時に対象オブジェクトの下位オブジェクトに付与されたアクセス権データが保持する結果の値も更新する必要が生じてしまう。オブジェクトが階層構造をもつ場合、一般的に特定のオブジェクトの下位に位置するオブジェクト数は階層数に対して指数的に増加するため、階層上位に配置されたオブジェクトのアクセス権データを変更した場合には、アクセス権データを更新すべきオブジェクト数が膨大になってしまう点に課題があった。
【０００７】
本発明は上記の課題に鑑みてなされたものであり、アクセス権の判定時とアクセス権の設定時のいずれにおいてもアクセス制御データの検索処理に要するコストを削減することを可能にすることを目的とする。
【課題を解決するための手段】
【０００８】
上記の目的を達成するための本発明によるアクセス管理方法は、
階層によって管理されたオブジェクトのアクセス管理方法であって、
指定オブジェクトと該指定オブジェクトへのアクセス要求を受信する受信工程と、
前記指定オブジェクトに付与されているアクセス権継承情報を取得し、該アクセス権継承情報から参照先のオブジェクトを判定する判定工程と、
前記参照先のオブジェクトに付与されているアクセス制御情報を取得する取得工程と、
前記取得工程で取得されたアクセス制御情報に基づいて前記アクセス要求の実行可否を決定する決定工程とを備える。
【発明の効果】
【０００９】
本発明によれば、アクセス権の判定時とアクセス権の設定時のいずれにおいてもアクセス制御データの検索処理に要するコストを削減することが可能となる。
【発明を実施するための最良の形態】
【００１０】
以下、添付の図面を参照して本発明の好適な実施形態について説明する。
［第１実施形態］
図１は本実施形態によるデータ処理装置の構成を示すプロック図である。図１において、表示装置１はアプリケーションプログラムによって処理中のデータの情報、各種メッセージメニューなどを表示する。ＶＲＡＭ２は、表示装置１の画面に表示されるイメージを展開するビデオＲＡＭ（以下、ＶＲＡＭ）である。キーボード３及びポインティングデバイス４は、画面上の所定欄に文字などを入力したり、アイコンやＧＵＩにおけるボタンなどを指し示すためなどに用いられる。ＣＰＵ５は本装置全体の制御を司る。
【００１１】
ＲＯＭ６はＣＰＵ５の動作処理手順（プログラム）を記憶しているＲＯＭである。なおこのＲＯＭ６にはデータ処理に係るアプリケーションプログラムやエラー処理プログラムをはじめ、後述するフローチャートに係るプログラムも記憶されている。ＲＡＭ７は上述した各種プログラムをＣＰＵ５が実行する時のワークエリア、エラー処理時の一時退避エリアとして用いられる。なお、ＨＤＤ８に格納された制御プログラムを必要に応じてＲＡＭ７にロードし、ＣＰＵ５によって実行するようにしてもよい。
【００１２】
ハードディスクドライプ（以下、ＨＤＤ）８、フロッピー（登録商標）ディスクドライプ（以下、ＦＤＤ）９は、それぞれアプリケーションプログラムやデータ、ライプラリなどの保存及び読み込み用に用いられる。また、ＦＤＤの替わりに、あるいは追加してＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等の光（磁気）ディスクドライブや、テープストリーマ、ＤＤＳなどの磁気テープドライブ等を設けてもよいことは言うまでもない。
【００１３】
ネットワークインターフェース１０は当該データ処理装置をネットワークに接続するためのインターフェースである。Ｉ／０バス１１は、アドレスバス、データバスおよび制御バスからなり、上述した各ユニット間を接続する。
【００１４】
図２（Ａ）は本実施形態によるデータオブジェクト管理制御を実現する機能モジュールの構成を示し、図２（Ｂ）は本実施形態のデータオブジェクト管理によるデータオブジェクトの管理状態を模式的に示す図である。なお、図２（Ｂ）に示される各データはＨＤＤ８に格納され、図２（Ａ）の機能モジュールはＨＤＤ８に格納されたプログラムに従ってＣＰＵ５が所定の処理を実行することにより実現される。
【００１５】
図２（Ａ）、（Ｂ）において、キャビネット１０１は、本システムでデータオブジェクトの管理に用いる最大の単位であり、データオブジェクトの階層構造の最上位に配置されている。キャビネット１０１の配下にデータオブジェクト１０２〜１０５が配置される。データオブジェクト１０２〜１０５にはフォルダや文書データなどの種類が想定されるが、ここではその詳細には言及しない。図２（Ｂ）において、データオブジェクト１０２はキャビネットの直下にあり、データ階層の最上位に配置されている。データオブジェクト１０３〜１０５はその下位階層に配置されている。
【００１６】
ユーザ管理データ１０６は、キャビネット１０１の配下にあるデータを利用するユーザを識別する。図２（Ａ）のユーザ管理モジュール１０７は、ユーザ管理データ１０６を利用してユーザの登録や削除を管理する。グループ管理データ１０８は、ユーザの集合で構成されるグループを登録したものである。グループ管理モジュール１０９は、グループ管理データ１０８を利用して、グループへのユーザの登録や解除を管理する。
【００１７】
データオブジェクト管理モジュール１１０は、データオブジェクト１０２〜１０５を管理するとともに、ユーザからデータ利用のリクエストを受信して後述するアクセス権判定モジュール１１８にアクセス権判定処理を依頼する。アクセス制御データ１１１、１１２は、キャビネット１０１の配下にあるデータオブジェクトへのユーザのアクセスを制御するための情報を保持する。図２（Ｂ）では、データオブジェクト１０２、１０４に対してアクセス制御データ１１１，１１２が付与されている状態を示している。
【００１８】
アクセス権継承データ１１３〜１１６は、アクセス権の判定時に参照するアクセス制御データが付与されているオブジェクトへのリンクを保持する。アクセス制御データ管理モジュール１１７は、キャビネット１０１の配下にあるデータオブジェクトにアクセス権データを付与する。アクセス権判定モジュール１１８は、データオブジェクト管理モジュール１１０の依頼を受けて、データオブジェクト１０２〜１０５に付与されたアクセス権データに基づいてユーザおよびグループのデータオブジェクトへのアクセス権を判定する。アクセス制御データ管理モジュール１１７とアクセス権判定モジュール１１８とを合わせてアクセス権決定モジュールを構成する。
【００１９】
次に図３を参照してアクセス制御データとアクセス権継承データの説明を行う。
【００２０】
２００〜２０３はデータオブジェクトＡ〜Ｄであり、図４の（Ａ）に示すように少なくともオブジェクトを一意に特定するオブジェクト識別子３０１とデータ本体３０２とを要素に持つ。２０４、２０５がユーザ１に対するアクセス制御データ、２０６がユーザ２に対するアクセス制御データである。本実施形態においては読出し権、変更権、削除権の３種類のアクセス権が定義されているものとする。また、アクセス制御データは付与先のオブジェクトに対する設定値とともに、最上位階層から当該オブジェクトに至る各オブジェクトに設定された読出し権の論理積を可視性として保持するものとする。図４の（Ｂ）に本実施形態のアクセス制御データの構成例を示す。当該アクセス権の付与対象のオブジェクトを特定するオブジェクト識別子４０１、当該アクセス権の付与先のユーザまたはグループを特定する識別子４０２、３種類のアクセス権に対する許可／不許可の設定値（読出し権４０３、変更権４０４、削除権４０５）、さらに最上位階層からの読出し権の論理積を示す可視性４０６から構成される。
【００２１】
また、図３において、２０７〜２１０はアクセス権継承データであり、各アクセス権継承データが保持するオブジェクトへのリンクを２１２〜２１５の破線矢印にて表している。本実施例では、アクセス権継承データはすべてのデータオブジェクトの各々に１個ずつ付与されるものとする。図４の（Ｃ）にアクセス権継承データの構成例を示す。アクセス権継承データは、付与先オブジェクトを特定するオブジェクト識別子５０１、アクセス権判定時に依存するアクセス権データの付与されたオブジェクトへの参照を表す参照先識別子５０２を含む。図３の例では、オブジェクトＡ及びＤに付与されたアクセス権継承データ２０７，２１０はオブジェクトＤ自身への参照識別子を保持しており、オブジェクトＢ及びＣに付与されたアクセス継承データ２０８，２０９はオブジェクトＡへの参照識別子を保持している。
【００２２】
なお、図３において、オブジェクトＡ２００はオブジェクトＢ２０１．オブジェクトＣ２０２に対して個別設定のある最寄のオブジェクトとなっており、オブジェクトＢ２０１．オブジェクトＣ２０２のアクセス権継承データ（２０８，２０９）はオブジェクトＡ２００を示すように設定されている（２１３，２１４）。
【００２３】
次に、アクセス権判定モジュール１１８によるアクセス権判定処理の手順を図５のフローチャートを参照して説明する。
【００２４】
まずステップＳ６００において、ユーザからオブジェクトへのアクセスの要求を検出する。アクセス要求があった場合は、ステップＳ６０１において、当該アクセス要求で指定されたオブジェクトからアクセス権継承データを取得する。そして、ステップＳ６０２において、取得したアクセス権継承データによって指定されている参照先オブジェクトから、アクセス要求を行ったユーザに関して設定されているアクセス制御データを取得する。ここで、アクセス制御データが取得できなかった場合は、ステップＳ６０３からステップＳ６０７へ進み、アクセス権を判定する。この場合は、当該アクセス要求を拒否することになる。
【００２５】
一方、当該アクセス要求を行ったユーザのアクセス制御データを取得できた場合は、ステップＳ６０３からステップＳ６０４へ進み、アクセス制御データに設定された可視性を取得する。可視性が「なし」になっている場合はステップＳ６０５からステップＳ６０７８へ進みアクセス権が判定される。この場合、可視性がないので、アクセス権は無く、当該アクセス要求を拒否することになる。
【００２６】
本実施形態では、あるオブジェクトを読み出すにはオブジェクトの階層構造における最上位階層のオブジェクトから当該オブジェクトまで順に辿っていったすべてのオブジェクトに読出し権が設定されていることを必要としている。そのために可視性を判断し、可視性が無い場合（最上位階層から当該オブジェクトの間で読出し権の設定されていないオブジェクトが存在する場合）は、読出し権がないものとする。なお、読出し権が無ければ、そのオブジェクトについては一切の操作を行うことができないので、他の種類のアクセスを考慮する必要はない。アクセス権継承データは個別設定のある最寄のオブジェクトを指し示しているので、継承データの指し示す先から自身までの間は必ず同じアクセス権が設定されることになる。したがって、アクセス権継承データによって参照されるアクセス制御データの可視性をみれば、最上位階層から当該オブジェクトにいたるまで読出し権が設定されているかどうか可動化が判断できる。
【００２７】
さて、取得したアクセス制御データにおいて可視性が「あり」に設定されていた場合は、ステップＳ６０５からステップＳ６０６へ進み、ステップＳ６０２で取得したアクセス制御データから各アクセス権の設定値を取得し、ステップＳ６０７で当該アクセス要求との対応からアクセスの可否を判定する。たとえば、オブジェクトの変更を行うアクセス要求であった場合は、アクセス制御データの変更権４０４が設定されているかどうかにより当該アクセスの可否を判定する。
【００２８】
次に、図３の構成を前提に、上述した図５の処理の具体的な動作を説明する。
【００２９】
まず、ユーザ１のオブジェクトＤ２０３へのアクセス権の判定手順を述べる。ユーザがオブジェクトＤ２０３への操作を要求すると、アクセス権判定モジュール１１８はこのオブジェクトに付与されているアクセス権継承データ２１０を取得する（ステップＳ６０１）。アクセス権継承データ２１０は参照先識別子としてオブジェクトＤ２０３（自分自身）が設定されている（２１５）ので、オブジェクト４に付与されているアクセス制御データを取得する（ステップＳ６０２）。ユーザ１に対してはアクセス制御データ２０５が付与されているのでこれが取得される。続いて取得したアクセス制御データから可視性を取得する（ステップＳ６０３、Ｓ６０４）。アクセス制御データ２０５において可視性が「あり」に設定されていれば、要求された操作の内容に応じてアクセス権の設定値を取得し（ステップＳ６０５、Ｓ６０６）、最終的なアクセス権を判定する（ステップＳ６０７）。
【００３０】
次に、ユーザ２のオブジェクトＤ２０３へのアクセス権の判定手順を述べる。ステップＳ６００〜ステップＳ６０２までは上で述べた手順に準じる。図３に示されるように、オブジェクトＤ２０３にはユーザ２に対するアクセス制御データが付与されていないので、この場合はアクセス不許可の判定となる（ステップＳ６０３、Ｓ６０７）。
【００３１】
さらに、ユーザ１のオブジェクトＣ２０２へのアクセス権の判定手順を述べる。ステップＳ６００，Ｓ６０１は上で述べた手順に準じる。アクセス権継承データ２０９には参照先識別子としてオブジェクトＡ２００が設定されている（２１４）ので、オブジェクトＡ２００よりアクセス制御データを取得する（ステップＳ６０２）。ユーザ１に対してはアクセス制御データ２０４が設定されているのでこれが取得される。これ以降の処理（ステップＳ６０３〜Ｓ６０７）は先に述べた通りなので省略する。
【００３２】
以上のように第１実施形態によれば、オブジェクトのアクセス制御データを個別設定のある上位オブジェクトを参照するアクセス権継承データを用いるので、階層構造にしたがって順次アクセス権制御データを辿らずとも、アクセス制御データを取得できる。また、第１実施形態によれば、最寄の上位オブジェクトを参照するので、最上位の階層からの読出し権の設定を調べることなく、アクセス制御データから直接に取得できる。したがって、アクセス権の判定を迅速に行える。
【００３３】
なお、上述のようなアクセス制御データやアクセス権継承データはオブジェクトの登録時において次のようにして生成することができる。例えば最下位の階層のオブジェクトのアクセス制御データやアクセス権継承データは次のようにして登録される。
【００３４】
オブジェクトを指定してアクセス権データの設定処理を起動すると、所定のユーザインターフェースが提示され、ユーザはまず当該オブジェクトについてアクセス権を継承するか、アクセス制御データを設定するかを指示する。ここで、アクセス権を継承する指示がなされると、直上の階層のオブジェクトに設定されたアクセス権継承情報の参照先識別子５０２を用いて当該オブジェクトのアクセス権継承情報を生成する。
【００３５】
アクセス制御データを生成する旨の指示をすると、ユーザ／グループ識別子、各アクセス権の設定を行うユーザインターフェースが提示され、ユーザは読出し権、変更権、削除権を設定する。ここで読出し権が「なし」に設定された場合は可視性が「なし」に設定される。読出し権が「あり」に設定された場合は、直上の階層のオブジェクトに対して設定されている可視性がそのまま設定される（直上のオブジェクトの可視性の有無は、そのオブジェクトのアクセス権継承データを参照してアクセス制御情報を取得することで得られる）。そして、指定されたオブジェクトのアクセス権継承情報の参照先を当該オブジェクトに設定する。
【００３６】
以上のようにして、オブジェクトのアクセス制御データ及びアクセス権継承データが設定される。このような構成によって、単純に階層構造を辿る代わりに、アクセス権継承データをすることができるので、オブジェクトを読み飛ばすことが可能となり、計算コストを削減することができる。
【００３７】
［第２実施形態］
次に、第２実施形態について説明する。システムの構成は第１実施形態に準じるので説明は省略する。また、アクセス制御データとアクセス権継承データのそれぞれのデータ構成も第１実施形態に準じる。
【００３８】
図６が第２実施形態によるアクセス制御データとアクセス権継承データの付与状態の例を示す図である。第１実施形態では各オブジェクトに対して１個のアクセス権継承データを付与した。このため、アクセス権継承データによる参照先はユーザによらず同一のオブジェクトとなる。第２実施形態では、アクセス権継承データを各アクセス制御データに必ず１個付与する。したがって、アクセス権継承データによる参照先はユーザあるいはグループ毎に設定することができる。このため、アクセス権継承データは図４（Ｃ）に示す構成に、図４（Ｂ）に示したようなユーザ／グループ識別子４０２を加えたものとする。
【００３９】
さらに、上位階層でアクセス制御データが設定されている場合は、同じ付与先を持つアクセス制御データが下位オブジェクトに付与されているかによらず、そのアクセス制御データに対応したアクセス継承データが下位オブジェクトにも付与される。図６ではオブジェクトＢ７０１およびオブジェクトＣ７０２に付与されたアクセス権継承データ（７１２〜７１７）がこれに該当する。
【００４０】
また、ユーザのアクセス制御データのほかにグループのアクセス制御データが付与され、ユーザのアクセス権の判定にはユーザのアクセス制御データと、ユーザの所属するグループのアクセス制御データの両方の論理和が用いられる。なお、以下の説明において、図６におけるユーザ１はグループ１とグループ２の両方に所属しているものとする。
【００４１】
図７は第２実施形態によるアクセス権判定モジュール１１８の処理を説明するフローチャートである。ユーザからあるオブジェクトに対してアクセスが要求されると、ステップＳ８００からステップＳ８０１へ進み、ユーザ管理データ１０６を参照して当該ユーザの所属グループを取得する。次に、ステップＳ８０２に進み、ステップＳ８０１で取得したユーザおよび所属グループに対して設定されているアクセス権継承データを取得する。ステップＳ８０３において、ステップＳ８０２で取得した各アクセス権継承データによって参照される参照先オブジェクトのそれぞれからアクセス制御データを取得し、ステップＳ８０４において各々の可視性を取得する。取得されたアクセス制御データの可視性の論理和により可視性の有無を判定し、可視性が無いと判定された場合（全てのアクセス制御データにおいて可視性が無しとなっている場合）はステップＳ８０７へ進み、当該アクセスを拒否する。
【００４２】
なお、図示していないが、ステップＳ８０３においてアクセス制御データを取得できなかった場合はそのままステップＳ８０７へ進むことになる。
【００４３】
一方、ひとつでも可視性が「あり」に設定されている場合は、ステップＳ８０５からステップＳ８０６へ進み、要求されたアクセスに対応する種類のアクセス権について取得されたアクセス制御データの論理和をとって当該アクセスの可否を判断する。本実施の形態では、各種類のアクセス制御データにおいて、その論理和が真（１つでもアクセス権が存在した場合）の場合、アクセス「可」と判断する。論理和が「偽」の場合、アクセス「不可」と判断する。
【００４４】
次に、図６の構成を前提に、上述した図７の処理の具体的な動作を説明する。
【００４５】
まず、ユーザ１がオブジェクトＤ７０３にアクセスした場合のアクセス権判定処理手順を説明する。まず、ユーザ１がオブジェクトＤ７０３への操作を要求すると、アクセス権判定モジュール１１８は初めにユーザ１の所属するグループ情報を取得する（ステップＳ８０１）。上述した前提により、ここではユーザ１の所属するグループがグループ１とグループ２であるという情報が取得される。次に、対象オブジェクトにおいて、当該ユーザおよび上記取得したグループの全て（この例ではユーザ１、グループ１、グループ２）について、付与されているアクセス権継承データを取得する（ステップＳ８０２）。ここではアクセス権継承データ７１８〜７２０が取得される。続いて取得した各々のアクセス権継承データの参照先識別子が指し示すオブジェクトからアクセス制御データを取得する（ステップＳ８０３）。図６に示すように、ユーザ１およびグループ１に関してはオブジェクトＤ７０３からアクセス制御データ７０５と７０７を、グループ２に関してはオブジェクトＡ７００からアクセス制御データ７０８を取得する。
【００４６】
次に、取得したアクセス制御データから可視性を判定する(ステップＳ８０４、Ｓ８０５)。取得したアクセス制御データのうちの一つでも可視性が「あり」であった場合は、取得したアクセス制御データの論理和を演算してユーザ１のオブジェクトＤ７０３に対するアクセス権を決定する（ステップＳ８０６)。本実施の形態では、各種類のアクセス制御データにおいて、その論理和が真（１つでもアクセス権が存在した場合）の場合、アクセス「可」と判断する。論理和が「偽」の場合、アクセス「不可」と判断する。
【００４７】
以上のように、第２実施形態によれば、ユーザ毎にアクセス権の継承を設定できるので、第１の実施形態の効果に加えて、よりきめの細かいアクセス権制御ができるという効果がある。
【００４８】
なお、上述のようなアクセス制御データやアクセス権継承データはオブジェクトの登録時において次のようにして生成することができる。例えば最下位の階層のオブジェクトのあるユーザ（或いはグループ）のアクセス制御データやアクセス権継承データは次のようにして登録される。
【００４９】
オブジェクト及びユーザ（或いはグループ）を指定してアクセス権データの設定処理を起動すると、所定のユーザインターフェースが提示され、ユーザはまず当該オブジェクトについてアクセス権を継承するか、アクセス制御データを設定するかを指示する。ここで、アクセス権を継承する指示がなされると、直上の階層のオブジェクトに設定されている当該ユーザ（或いはグループ）のアクセス権継承情報の参照先識別子５０２を用いて当該オブジェクトのアクセス権継承情報を生成する。
【００５０】
アクセス制御データを生成する旨の指示をすると、ユーザ／グループ識別子、各アクセス権の設定を行うユーザインターフェースが提示され、ユーザは読出し権、変更権、削除権を設定する。ここで読出し権が「なし」に設定された場合は可視性が「なし」に設定される。読出し権が「あり」に設定された場合は、直上の階層のオブジェクトにおいて、当該ユーザ（或いはグループ）に対して設定されている可視性がそのまま設定される（直上のオブジェクトの可視性の有無は、そのオブジェクトのアクセス権継承データを参照してアクセス制御情報を取得することで得られる）。そして、アクセス権継承データの参照先を当該オブジェクトに、ユーザ／グループ識別子を当該ユーザ（或いはグループ）を特定する識別子に設定する。
【００５１】
以上のようにして、オブジェクトのアクセス制御データ及びアクセス権継承データが設定される。
【００５２】
［第３実施形態］
続いて、第３実施形態について説明する。第３実施形態におていは、アクセス制御データの変更処理を説明する。なお、システムの構成は第１実施形態に準じるので説明は省略する。
【００５３】
図８は第３実施形態の説明に用いるアクセス制御データとアクセス権継承データの付与状態を示す図である。９００〜９０４がデータオブジェクト、９０５〜９０９がアクセス制御データ、９１０〜９１９がアクセス権継承データである。なお、第３実施形態におけるアクセス権継承データは、図４の（Ｄ）に示すように、オブジェクト識別子５０１と参照先識別子５０２の他に、アクセス権変更時に同時に変更すべきアクセス権が付与されているオブジェクトの参照を表す伝播先識別子５０３も含む。なお、第２実施形態のアクセス権継承データに倣う場合は、ユーザ／グループ識別子が含まれることになる。
【００５４】
また、ユーザ１はグループ１に所属しているものとする。また、アクセス権の判定方法は第２実施形態で説明した方法に従うものとする。さらに、ユーザのアクセス制御データが保持する可視性は、上位階層のオブジェクトに付与された当該ユーザの所属するグループのアクセス制御データ及び上位階層のオブジェクトに付与された当該ユーザのアクセス制御データに依存する。つまり、あるオブジェクトに付与されているグループのアクセス制御データが変更された場合は、そのオブジェクトの下位に配置された、そのグループに所属するユーザに付与されているアクセス制御データの可視性も同時に更新する。
【００５５】
図９は第３実施形態によるアクセス権決定モジュール（１１７、１１８）によるアクセス制御データの更新処理を説明するフローチャートである。
【００５６】
あるオブジェクトにおいて、アクセス制御データが変更され保存されると、ステップＳ１００１からステップＳ１００２へ進み、変更されたアクセス制御データがグループに対するものであるかユーザに対するものであるかを判定する。グループに対するアクセス制御データが変更された場合は、ステップＳ１００３に進み、グループ管理データ１０８を参照して当該グループに所属するユーザを取得する。そして、ステップＳ１００４において、ステップＳ１００３で取得したユーザおよび所属グループに対して設定されているアクセス制御データを取得する。一方、ステップＳ１００２において、変更されたアクセス制御データがグループに対するものではない場合（ユーザに対するものであった場合）には、そのままステップＳ１００４へ進み、指定された当該ユーザのアクセス制御データを取得することになる。
【００５７】
ステップＳ１００５では、ステップＳ１００４で取得されたアクセス制御データに基づいて可視性を再計算する。
【００５８】
続いて、変更されたのがグループのアクセス制御データであった場合には、ステップＳ１００７からステップＳ１００８へ進み、当該グループに所属するユーザの、当該オブジェクトにおけるアクセス制御データに付与されたアクセス権継承データを取得する。そして、ステップＳ１００９において、取得したアクセス権継承データに設定されている伝播先識別子５０３を参照して、伝播先識別子によって指定されているオブジェクトの当該オブジェクトに対するアクセス制御データを取得する。なお、変更されたのがユーザのアクセス制御データであった場合はそのままステップＳ１００９へ進み、当該アクセス制御データの伝播先識別子によって指定されているアクセス制御データを取得する。最後に、ステップＳ１０１０において、ステップＳ１００９で取得したアクセス制御データの可視性を再計算し、その計算結果にしたがって各アクセス制御データを更新する。
【００５９】
次に、図８に示した構成を前提に、オブジェクトＡ９００に付与されているグループ１のアクセス制御データ９０８を変更した際の処理を図９のフローチャートを参照して説明する。
【００６０】
まずユーザがグループ１のアクセス制御データ９０８を変更して保存する（ステップＳ１００１）。グループのアクセス制御データが変更された場合、アクセス権決定モジュールは当該グループに所属しているユーザのリストを取得する（ステップＳ１００２、Ｓ１００３）。ここではユーザ１が取得される。次に、取得されたユーザに付与されたアクセス制御データを変更対象のオブジェクトより取得する（ステップＳ１００４）。この例ではユーザ１のオブジェクトＡ９００に対するアクセス制御データ９０５が取得される。続いて、取得したユーザ１のアクセス制御データ９０５の可視性を、アクセス制御データ９０５及び９０８のアクセス制御データの設定を元に再計算する（ステップＳ１００５）。以上でオブジェクトＡ９００に付与されたアクセス制御データの更新を終了する。
【００６１】
続いてオブジェクトＡ９００に依存している下位オブジェクトの可視性の更新処理に移る。まず変更対象であるグループ１のアクセス権継承データ９１１を取得し（ステップＳ１００６）、次いでグループ１に所属する各ユーザのアクセス権継承データを取得する（ステップＳ１００７、Ｓ１００８）。さらに取得した各アクセス権継承データの伝播先識別子５０３が指し示すオブジェクトに登録されているアクセス制御データを取得する（ステップＳ１００９）。ここでは、アクセス制御データ９０６、９０７、９０９が取得される。そして、取得したアクセス制御データの可視性を、そのアクセス制御データに設定されているアクセス権の設定値とオブジェクト１のアクセス制御データ９０５，９０８に設定されている可視性との間で再計算する（ステップＳ１０１０）。以上でアクセス制御データの変更時における依存先アクセス制御データの更新処理の説明を終わる。
【００６２】
第３実施形態によるアクセス制御データおよびアクセス権継承データの登録処理は第２実施形態と同様である。ただし、第３実施形態では、新たにアクセス制御データが登録された場合に上位階層のオブジェクトのアクセス権継承データにおいて伝播識別子が追加登録されることになる。
【００６３】
例えば、図８のオブジェクトＤ９０３に関してユーザ１のアクセス制御データ９０６が登録されると、オブジェクトＡ９００のユーザ１のアクセス権継承データの伝播先識別子５０３としてオブジェクトＤが登録される。より具体的には、オブジェクトＤ９０３の直上の階層のオブジェクトＣ９０２におけるユーザ１のアクセス権継承データ９１４が参照され、その参照先オブジェクトにおけるユーザ１のアクセス権継承データの伝播先識別子５０３に伝播先としてオブジェクトＤが設定されることになる。同様に、オブジェクトＥ９０４においてユーザ１のアクセス制御データ９１８が登録されると、その直上の階層のオブジェクトＡ９００におけるユーザ１のアクセス権継承データ９１４が参照される。この場合、参照先オブジェクトはオブジェクトＡ９００であるから、オブジェクトＡ９００のユーザ１のアクセス権継承データの伝播先識別子５０３に伝播先としてオブジェクトＥが追加設定されることになる。以上のようにして、伝播先識別子が登録されていく。第３実施形態によれば、単純に階層構造を辿る代わりに、例えば図８の矢印が示すように伝播先オブジェクトを辿ることで途中のオブジェクトを読み飛ばすことができ、アクセス権の設定、更新時における計算コストの削減が実現できる。
【００６４】
以上のように、上記各実施形態のデータアクセス管理方法によれば、階層的に管理されたオブジェクトとオブジェクトに付与されたアクセス制御データによってオブジェクトへのアクセスを制御するにおいて、アクセス権が階層間で持つ依存関係を保持するアクセス権継承データを利用することで、アクセス権の判定時とアクセス権の設定時のいずれにおいてもアクセス制御データの検索処理に要するコストを削減することが可能である。
【００６５】
以上、実施形態例を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【００６６】
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では図に示すフローチャートに対応したプログラム）を、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【００６７】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００６８】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であっても良い。
【００６９】
プログラムを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などがある。
【００７０】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【００７１】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００７２】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【００７３】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【００７４】
【図１】実施形態によるオブジェクト管理方法を実現する情報処理装置の構成を説明するブロック図である。
【図２】（Ａ）は実施形態によるデータオブジェクト管理制御を実現する機能モジュールの構成を示す図であり、（Ｂ）は実施形態のオブジェクト管理によるオブジェクトの管理状態を模式的に示す図である。
【図３】第１実施形態の説明に用いるオブジェクト、アクセス制御データ、アクセス権継承データの関連を示す図である。
【図４】（Ａ）はデータオブジェクトのデータ構成例を示す図であり、（Ｂ）はアクセス制御データのデータ構成例を示す図であり、（Ｃ）はアクセス権継承データのデータ構成例を示す図であり、（Ｄ）はアクセス権継承データの他の例を示す図である。
【図５】第１実施形態によるアクセス権判定処理を説明するフローチャートである。
【図６】第２実施形態の説明に用いるオブジェクト、アクセス制御データ、アクセス権継承データの関連を示す図である。
【図７】第２実施形態によるアクセス権判定処理を説明するフローチャートである。
【図８】第３実施形態の説明に用いるオブジェクト、アクセス制御データ、アクセス権継承データの関連を示す図である。
【図９】第３実施形態によるアクセス権更新処理を説明するフローチャートである。
【図１】
2006106986.tif 000003
【図２】
2006106986.tif 000004
【図３】
2006106986.tif 000005
【図４】
2006106986.tif 000006
【図５】
2006106986.tif 000007
【図６】
2006106986.tif 000008
【図７】
2006106986.tif 000009
【図８】
2006106986.tif 000010
【図９】
2006106986.tif 000011