(57)【要約】【課題】  デジタルセキュリティの管理を提供する。【解決手段】  データ項目および方法項目が、コンピュータシステム上でボリュームに格納される。ボリュームは重複しないセキュリティゾーンに分けられる。各項目は、セキュリティゾーンに存在する。特定のゾーン中の項目に適用されるセキュリティ規則が、プリンシパルに付与される。セキュリティ規則は、どのプリンシパルがどの項目に対するどの権限、例えば読出し、書込み、削除、および実行権限をもつか指定する。管理権限は、セキュリティゾーンを分割して２つのセキュリティゾーンを形成することによって、プリンシパルによって移譲することができる。セキュリティゾーンに対する管理権限をもつプリンシパルはセキュリティゾーンの１つに追加プリンシパルを割り当て、他のゾーンに対する全ての管理権限を保持する。プリンシパルは、特定の項目に対する特定の管理権限を排他的にもち続けることができ、他の項目に対する管理権限を他のプリンシパルに移譲する。【選択図】  図１
2005050335.tif 000002
【特許請求の範囲】
【請求項１】
項目を含み、前記項目はボリュームに格納され、前記ボリュームは少なくとも１つのセキュリティゾーンに分けられ、各項目は単一のセキュリティゾーンに置かれるコンピュータシステムにおける、項目の少なくとも一部分に対する、プリンシパルのセキュリティ権限を決定する方法であって、
プリンシパルの同一性が確認済みであることを示す認証情報にアクセスする動作と、
前記セキュリティゾーン内の少なくとも１つの項目に対するプリンシパルの権限を表す、前記ボリュームのセキュリティゾーン用のセキュリティ規則にアクセスする動作であって、前記セキュリティ規則は、少なくとも要素引数、プリンシパル引数、および権限引数を有し、前記セキュリティ規則の少なくとも１つは、要素経路および少なくとも１つのプリンシパルを介して項目の少なくとも一部分を指定する動作と、
前記アクセスしたセキュリティ規則に基づいて、前記項目の前記少なくとも一部分に対する、前記確認済みプリンシパルの前記権限を識別する動作とを備えることを特徴とする方法。
【請求項２】
前記セキュリティ規則は、前記項目の前記少なくとも一部分に対するアクセス権を付与することであることを特徴とする請求項１に記載の方法。
【請求項３】
前記プリンシパルが前記セキュリティ規則において指定される場合、前記セキュリティ規則において指定された権限を前記プリンシパルに付与する動作をさらに備えることを特徴とする請求項１に記載の方法。
【請求項４】
前記セキュリティ規則は、複数のプリンシパルを指定することを特徴とする請求項３に記載の方法。
【請求項５】
前記セキュリティ規則は、前記複数のプリンシパルから少なくとも１つのプリンシパルを排除する拒否ＡＣＥを含むことを特徴とする請求項４に記載の方法。
【請求項６】
前記少なくとも１つの排除されたプリンシパルに、前記セキュリティ規則において指定された権限を付与する前記動作は、前記少なくとも１つの排除されたプリンシパルが前記セキュリティ規則において指定された前記権限をもつことを、前記セキュリティゾーン用の他のどのセキュリティ規則も指定する場合に実行されることを特徴とする請求項５に記載の方法。
【請求項７】
前記セキュリティ規則において指定された前記権限は、読出しアクセス、書込みアクセス、または削除アクセスの少なくとも１つであり、前記付与する動作は、項目の前記少なくとも一部分の少なくとも１つの属性へのアクセスを可能にすることを含むことを特徴とする請求項３に記載の方法。
【請求項８】
前記セキュリティ規則において指定された前記権限は、実行アクセスであり、前記付与する動作は、項目の前記少なくとも一部分の少なくとも１つの方法へのアクセスを可能にすることを含むことを特徴とする請求項３に記載の方法。
【請求項９】
クエリを受け取る動作であって、前記クエリはクエリ要素引数を含み、前記クエリ要素引数は少なくとも１つの要素を含む動作と、
前記少なくとも１つの要素が項目の前記少なくとも一部分に含まれる場合に、前記少なくとも１つの要素を返す動作とをさらに備えることを特徴とする請求項１に記載の方法。
【請求項１０】
前記少なくとも１つの要素は、複数の属性を含む複合エレメントであり、前記付与する動作は、前記複数の属性の全属性に対して実行されることを特徴とする請求項９に記載の方法。
【請求項１１】
クエリを受け取る動作であって、前記クエリはクエリ要素引数を含み、前記クエリ要素引数は少なくとも１つの要素を含む動作と、
前記少なくとも１つの要素が、前記セキュリティ規則の少なくとも１つの、項目の前記少なくとも一部分に含まれない場合に、みつからなかったというメッセージを返す動作とをさらに備えることを特徴とする請求項１に記載の方法。
【請求項１２】
項目のセキュリティ権限を決定するために、ＡＰＩに問い合わせる動作を備え、前記ＡＰＩは、前記項目を指定するセキュリティ規則に基づいて、セキュリティ権限を算定することを特徴とする請求項１に記載の方法。
【請求項１３】
前記セキュリティ規則は、前記ボリューム中の項目であることを特徴とする請求項１に記載の方法。
【請求項１４】
トークンを受け取る動作をさらに備え、前記トークンは、前記プリンシパルを認証するのに有効なデータを含むことを特徴とする請求項１に記載の方法。
【請求項１５】
認証情報にアクセスする前記動作は、同じセッション中に引き続き行われる認証で使うための前記プリンシパルの前記同一性をキャッシュすることを含むことを特徴とする請求項１４に記載の方法。
【請求項１６】
認証情報にアクセスする前記動作は、前記プリンシパルの前記同一性を確認するために、キャッシュエントリを照会することを含むことを特徴とする請求項１に記載の方法。
【請求項１７】
前記セキュリティ規則は、データ項目の前記少なくとも一部分から少なくとも１つの要素を排除する拒否ＡＣＥを含むことを特徴とする請求項１に記載の方法。
【請求項１８】
前記セキュリティ規則は、どの権限も指定しないことによって、すべての権限を指定することを特徴とする請求項１に記載の方法。
【請求項１９】
前記セキュリティ規則は、項目タイプを指定する項目タイプ引数を含み、
少なくとも１つの要素を含むクエリ要素引数を含むクエリまたは要求の一方を受け取る動作と、
前記少なくとも１つの要素が前記項目タイプである場合に実行される付与する動作とをさらに備えることを特徴とする請求項１に記載の方法。
【請求項２０】
前記セキュリティ規則は、項目タイプを指定する項目タイプ引数を含み、
少なくとも１つの要素を含むクエリ要素引数を含むクエリまたは要求の１つを受け取る動作と、
前記少なくとも１つの要素が前記項目タイプでない場合に実行される、みつからなかったことを返す動作とをさらに備えることを特徴とする請求項１に記載の方法。
【請求項２１】
前記要素引数は、要素経路を介して、項目の少なくとも一部分を指定することを特徴とする請求項１に記載の方法。
【請求項２２】
前記プリンシパル引数は、少なくとも１つのプリンシパルを指定することを特徴とする請求項１に記載の方法。
【請求項２３】
前記少なくとも１つの方法を実行して、前記少なくとも１つのセキュリティゾーンのうち１つのセキュリティゾーン用のセキュリティ規則を作成するための少なくとも１つの方法を実行する動作をさらに含むことを特徴とする請求項８に記載の方法。
【請求項２４】
少なくとも１つのボリュームに格納された項目を含み、前記ボリュームは少なくとも１つの重複しないゾーンに分けられ、各項目は少なくとも１つの重複しないゾーンのうち１つのゾーンに置かれ、各ゾーンは管理権限をもつ１つまたは複数のプリンシパルを有するコンピュータシステムにおける、前記少なくとも１つの重複しないゾーンに含まれるメインゾーンに含まれる第１の項目に関して、他のプリンシパルに管理権限を移譲する方法であって、
前記メインゾーン内の前記第１の項目を識別する動作と、
前記メインゾーンを第１のゾーンおよび残りのメインゾーンに分割する動作であって、前記１つまたは複数のメインプリンシパルは前記第１のゾーンおよび前記残りのメインゾーンに対する管理権限をもち続け、前記第１のゾーンは、前記第１の項目に含まれない、前記メインゾーン内の項目のその部分を含む前記第１の項目および前記残りのメインゾーンを含む動作と、
１つまたは複数の第１のプリンシパルが前記第１の項目に対する管理権限をもつことを指定する動作とを備えることを特徴とする方法。
【請求項２５】
前記１つまたは複数の第１のプリンシパルを指定する動作は、前記１つまたは複数のメインプリンシパルによって実行されることを特徴とする請求項２４に記載の方法。
【請求項２６】
前記第１のゾーンに対応するゾーン列挙を用いて、前記第１の項目にラベルづけする動作をさらに備えることを特徴とする請求項２４に記載の方法。
【請求項２７】
前記管理権限は、セキュリティ権限であることを特徴とする請求項２４に記載の方法。
【請求項２８】
前記管理権限は、監査権限であることを特徴とする請求項２４に記載の方法。
【請求項２９】
前記分割する動作の後に、前記第１のゾーン用のセキュリティ規則を指定する動作をさらに備えることを特徴とする請求項２４に記載の方法。
【請求項３０】
前記分割する動作の前は前記メインゾーンからのものだったセキュリティ規則を初期設定することによって、前記第１のゾーン用のセキュリティ規則を指定する動作を備えることを特徴とする請求項２４に記載の方法。
【請求項３１】
請求項２４に記載の前記第１のゾーンおよび前記残りのメインゾーンを組み換える動作を備えることを特徴とする前記第１のゾーンおよび前記残りのメインゾーンからゾーンを作成する方法。
【請求項３２】
請求項２４に記載の前記第１のゾーン、および続く残りのメインゾーンからゾーンを作成する方法であって、前記続く残りのゾーンは前記残りのメインゾーンを分割して形成され、前記続く残りのメインゾーンの管理プリンシパルは前記メインゾーン内の管理プリンシパルであり、前記第１のゾーンおよび前記続く残りのメインゾーンを組み換える動作を備えることを特徴とする方法。
【請求項３３】
項目を含み、前記項目はボリュームに格納され、前記ボリュームは少なくとも１つのセキュリティゾーンに分けられ、各項目は単一のセキュリティゾーンに置かれるコンピュータシステムにおいて使用するためのコンピュータプログラム製品であって、項目の少なくとも一部分に対する、プリンシパルのセキュリティ権限を決定する方法を実装し、コンピュータ実行可能命令を格納した１つまたは複数のコンピュータ読取可能媒体を備え、前記コンピュータ読取可能命令は、プロセッサによって実行されると、
プリンシパルの同一性が確認済みであることを示す認証情報にアクセスすること、
前記セキュリティゾーン内の少なくとも１つの項目に対する、プリンシパルの権限を表す、前記ボリュームのセキュリティゾーン用のセキュリティ規則にアクセスすることであって、前記セキュリティ規則は、少なくとも要素引数、プリンシパル引数、および権限引数を有し、前記セキュリティ規則の少なくとも１つは、要素経路および少なくとも１つのプリンシパルを介して項目の少なくとも一部分を指定すること、ならびに
前記アクセスしたセキュリティ規則に基づいて、前記項目の前記少なくとも一部分に対する、前記確認済みのプリンシパルの前記権限を識別することを、前記コンピュータシステムに実行させることを特徴とするコンピュータプログラム製品。
【請求項３４】
少なくとも１つのボリュームに格納された項目を含み、前記ボリュームは少なくとも１つの重複しないゾーンに分けられ、各項目は少なくとも１つの重複しないゾーンのうち１つのゾーンに置かれ、各ゾーンは管理権限をもつ１つまたは複数のプリンシパルを有するコンピュータシステムにおいて使用するためのコンピュータプログラム製品であって、前記少なくとも１つの重複しないゾーンに含まれるメインゾーンに含まれる第１の項目に関して、他のプリンシパルに管理権限を移譲する方法を実装し、コンピュータ実行可能命令を格納した１つまたは複数のコンピュータ読取可能媒体を備え、前記コンピュータ読取可能命令は、プロセッサによって実行されると、
前記メインゾーン内の前記第１の項目を識別すること、
前記メインゾーンを第１のゾーンおよび残りのメインゾーンに分割することであって、前記１つまたは複数のメインプリンシパルは前記第１のゾーンおよび前記残りのメインゾーンに対する管理権限をもち続け、前記第１のゾーンは、前記第１の項目に含まれない、前記メインゾーン内の項目のその部分を含む前記第１の項目および前記残りのメインゾーンを含むこと、ならびに
１つまたは複数の第１のプリンシパルが前記第１の項目に対する管理権限をもつことを指定することを、前記コンピュータシステムに実行させることを特徴とするコンピュータプログラム製品。
【請求項３５】
少なくとも１つのボリュームに格納された項目を含み、前記ボリュームは少なくとも１つの重複しないゾーンに分けられ、各項目は少なくとも１つの重複しないゾーンのうち１つのゾーンに置かれ、各ゾーンは管理権限をもつ１つまたは複数のプリンシパルを有するコンピュータシステムにおける、前記少なくとも１つの重複しないゾーンに含まれるメインゾーンに含まれる第１の項目に関して、他のプリンシパルに管理権限を移譲する方法であって、
第１の項目を有する第１のゾーンを形成するステップであって、前記第１のゾーンは前記メインゾーンから形成され、１つまたは複数のプリンシパルは前記第１の項目に対する管理権限をもつステップと、
１つまたは複数の第１のプリンシパルも前記第１の項目に対する管理権限をもつことを指定する動作とを備えることを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、全般的にはデータセキュリティの分野に関する。より詳細には、本発明は、データ項目グループのためのセキュリティ管理に関する。
【背景技術】
【０００２】
情報を扱う場合、しばしば情報の特定の部分へのアクセスを制限し、そうすることによって、その特定の部分が、許可された一定のユーザにのみアクセス可能であるようにすることが望ましい。情報が物理的な文書（たとえば、印刷された本や台帳）に含まれる場合、そうした文書は、物理的なアクセス制御、たとえば鍵および文書管理者を使って保護することができる。しかし、今日の世界では、大量の情報が、デジタルデータの形で格納される。デジタルデータは、容易に作成、変更、コピー、移送、および削除され、膨大なデジタルデータが無数の位置に分散して存在する結果となっている。物理的な文書と同様、しばしば、デジタルデータのある部分へのアクセスを制限することが望ましい。しかし、デジタルデータは莫大な量であり、デジタルデータの作成、コピー、移送、変更、および削除が容易なので、デジタルデータを保護することは困難である。
【０００３】
現在存在する、一般的な２つのタイプのデジタルデータ記憶は、ファイル構造およびデータベースである。ファイル構造とは、階層的なデータ記憶システムであり、デジタルデータを含むファイルが、フォルダに格納される。フォルダは、他のフォルダにさらに格納することができる。ファイル中のデジタルデータは、項目ごとにアクセスされる。言い換えると、ファイルがアクセスされるとき、ファイルの中に何があるかがしばしばわかっており、ファイルへのアクセスは、具体的にはファイル中のデジタルデータを見直し、または操作するために行われる。
【０００４】
一方、データベースは、一般にデジタルデータを物理テーブルに格納する。物理テーブルは、一般に、何らかの論理的なグループ化によって編成される。たとえば、データベース中の物理テーブルは、デジタルアドレス帳を含むことができる。デジタルアドレス帳を含むテーブルは、テーブル中の情報のカテゴリを指定する列をさらに有することができる。たとえば、デジタルアドレス帳は、名、性、電話番号、住所などの列を含むことができる。
【０００５】
ファイルシステムとデータベースにおける違いのせいで、こうした２つのタイプのデジタルデータ記憶におけるセキュリティを実現するための手法も異なる。たとえば、ファイル構造では、アクセス制御リスト（ＡＣＬ）を、各ファイルに割り当てることができる。ＡＣＬは、各ユーザが所与のファイルに対してどのアクセス許可またはアクセス権を有するかを、コンピュータのオペレーティングシステムに示すデータ構造である。ＡＣＬは、ある特定のユーザまたはユーザグループが、たとえば読出し、書込みまたは実行アクセス許可などの特権を有することを指定することができる。ファイル構造では、フォルダ中に存在するどのフォルダもファイルも、ＡＣＬ中で示され割り当てられたものと同じセキュリティのアクセス許可を潜在的に初期設定するように、フォルダにＡＣＬを割り当てることができる。しかし、管理者は、ある特定のファイルに対するアクセス要件に基づいて、デフォルトのセキュリティのアクセス許可を変更することができる。したがって、ファイルを操作するための各要求に応答して、そのファイル用のＡＣＬは、ファイルに割り当てられるアクセス許可を決定するためにアクセスされなければならない。
【０００６】
ファイルと共にＡＣＬを使用することの１つの欠点は、ファイル探索などの操作を実行するときに、さらにオーバーヘッドが追加されることである。たとえば、ユーザが、ある特定のタイプのファイル、または特定のデータを含むファイルを指定して探索を構成した場合、この探索は、そのファイルを探索領域に含める前に、最初に各ファイルごとにＡＣＬを照合して、ユーザがファイルに対してもっているセキュリティのアクセス許可を判定しなければならない。たとえば、ユーザがアクセスすることさえできないファイルの存在を明らかにすることは、適切でない場合がある。フォルダ中のファイルに対するデフォルトのアクセス許可は変更することができるので、各ファイル用のＡＣＬは、フォルダレベルのＡＣＬによって潜在的にいくつかのファイルが同じセキュリティのアクセス許可を初期設定する場合でさえも、照合を受けなければならない。
【０００７】
対照的に、データベースシステムにおけるセキュリティは、ＡＣＬを列全体に割り当てることによって行われる。ＡＣＬを列全体に割り当てることにより、列全体のデータに対するセキュリティのアクセス許可を判定するためにただ１つのＡＣＬにアクセスすればよいので、探索がより効率的に実行されるようになる。ユーザが、ある列にアクセスするのに適したセキュリティのアクセス許可をもっている場合、データベースは、探索をその列に対して実行するだけでよいように構成することができる。したがって、テーブル中の各要素ごとにアクセス許可を調べる必要はない。セキュリティのアクセス許可を列ベースで割り当てることの１つの欠点は、一部のアプリケーションにとっては、細分性が粗すぎる場合があることである。たとえば、デジタルアドレス帳のエントリを表す列中のデジタルデータのほとんどが、一般のアクセスに適したものであり得るが、社会保障番号や他のタイプの機密情報などのデジタルデータへのアクセスを制限することが望ましい場合がある。しかし、ＡＣＬが列全体に割り当てられると、セキュリティのアクセス許可は、列にある別々の項目の間で変えることができない。したがって、住所および電話番号へのアクセスを同様に制限せずに、社会保障番号へのアクセスを制限する方法がない。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
したがって、ＡＣＬが、変更可能な細分性で割り当てられることを可能にするセキュリティシステムが有益であろう。
【課題を解決するための手段】
【０００９】
本発明の態様は、データ項目のためのゾーンベースのセキュリティ管理を対象とする。本発明の一実施形態では、コンピュータシステムが、項目の少なくとも一部分に対する権限を決定する。コンピュータシステムは、少なくとも１つのセキュリティゾーンに分けられる、いくつかの項目を格納するボリュームを備える。コンピュータシステムで格納される各項目は、単一のセキュリティゾーン内に置かれる。各項目が単一のセキュリティゾーンに存在するので、規則は、そうした項目のセキュリティを制御するように作成することができ、この場合、規則は、各個別の項目ごとに指定されなくてよく、代わりにゾーンの部分集合に対して適用することができる。コンピュータシステムは、プリンシパル（ｐｒｉｎｃｉｐａｌ）の同一性が確認済みであることを示す認証情報にアクセスする。
【００１０】
コンピュータシステムは、ボリュームのセキュリティゾーン用のセキュリティ規則にもアクセスする。セキュリティ規則は、１つのプリンシパルまたはプリンシパルグループが項目に対してもつ権限を指定する。セキュリティ規則は、少なくとも要素引数、プリンシパル引数、および権限引数（ｒｉｇｈｔ  ａｒｇｕｍｅｎｔ）を含む。要素引数は、たとえば要素経路を介して、権限が付与される項目の少なくとも一部分を指定する。要素経路を介して項目の少なくとも一部分を指定することは、規則を、データストア中のすべての個別セル（または１つの情報単位）ごとに作成しなくてよいように、適切な細分性の規則定義を可能にするのに有用である。プリンシパル引数は、少なくとも１つのプリンシパルを指定することができる。この少なくとも１つのプリンシパルは、項目の少なくとも一部分へのセキュリティ権限が付与されるエンティティである。コンピュータシステムは、確認されたプリンシパルの、項目の少なくとも一部分への権限を、アクセスしたセキュリティ規則に基づいて識別する。
【００１１】
本発明の別の実施形態では、コンピュータシステムが、プリンシパルに管理権限を委譲する。コンピュータシステムは、少なくとも１つの重複しないゾーンに分けられる、いくつかの項目を格納するボリュームを備える。各項目は、少なくとも１つの重複しないゾーンのうち１つのゾーンに置かれる。データベーステーブル全体より細かいが、各項目ごとに委譲を必要とするほど粗くはない適切な細分性で、ゾーン内の各項目ごとに、管理権限を移譲することができる。ゾーンはそれぞれ、管理権限をもつ１つまたは複数のプリンシパルを有する。コンピュータシステムは、メインゾーン中の第１の項目を識別する。
【００１２】
こうした第１の項目は、管理権限の移譲が行われる項目である。コンピュータシステムは、メインゾーンを、たとえば２つのゾーン、すなわち第１のゾーンおよび残りのメインゾーンに分割する。管理権限を有する１つまたは複数のプリンシパルは、残りのメインゾーンおよび第１のゾーン両方への管理権限をもち続ける。第１のゾーンは、識別済みの第１の項目を含む。残りのメインゾーンは、メインゾーンにあった項目で、第１のゾーンにある項目以外を含む。コンピュータシステムは、１つまたは複数の第１のプリンシパルが第１の項目に対する管理権限ももつことを指定する。
【００１３】
本発明の追加の特徴および利点を、以下の説明で述べるが、その一部は、以下の説明から明らかになり、または本発明の実施によって理解できよう。本発明の特徴および利点は、添付の特許請求の範囲において具体的に指摘される機器および組合せによって実現し達成することができる。本発明のこうしたおよび他の特徴は、以下の説明および添付の特許請求の範囲からより完全に明らかになり、または以下に述べる本発明の実施によって理解できよう。
【００１４】
本発明の上述したおよび他の利点および特徴を達成することができる方法を説明するために、上で簡潔に述べた本発明のより具体的な説明を、添付の図面に示す本発明の具体的な実施形態を参照して行う。こうした図面は本発明の典型的な実施形態を示すに過ぎず、したがって、本発明の範囲を限定するものとみなすべきではないという理解の下、本発明を、添付の図面を用いてさらに具体的かつ詳細に説明する。
【発明を実施するための最良の形態】
【００１５】
本発明は、データ項目用の、ゾーンベースのセキュリティ管理のための方法、システム、およびコンピュータプログラム製品に及ぶ。一実施形態では、コンピュータシステムが、セキュリティゾーンに含まれるデータ項目の少なくとも一部分に対するセキュリティ権限を決定する。データ項目のその部分は、セキュリティ規則をセルレベルで適用しなくてよいように、要素経路を介して指定される。本発明の別の実施形態では、コンピュータシステムは、管理権限（すなわち、データ項目の少なくとも一部分のセキュリティを変更する能力）をプリンシパルに委譲する。各項目は、少なくとも１つの重複しないゾーンのうち１つのゾーンに置かれる。データベーステーブル全体より細かいが、各項目ごとに委譲を必要とするほど粗くはない適切な細分性で、ゾーン内の各項目ごとに、管理権限を移譲することができる。
【００１６】
ここで図１を参照すると、本発明の態様を実施することができる例示的な環境を示してある。図１は、ネットワークアーキテクチャ１００を示す。ネットワークアーキテクチャ１００は、様々なデータ項目および／またはコンピュータ実行可能命令（たとえば方法）を格納することができる記憶装置１０２を備える。記憶装置１０２は、図６の説明において述べる記憶媒体を含むがそれに限定されない、いくつかの異なる記憶媒体として実装することができる。記憶装置１０２は、データ項目を階層形式で格納することができるデータストア１０４を備える。たとえば、項目１０６は、１つまたは複数の要素１０８を含むことができる。データ要素は、データ要素１０８に従属する属性１１０にさらに分けることができる。階層形式では、データ項目は、より高いレベルのデータ項目に対する要素でも属性でもよい。
【００１７】
記憶装置１０２は、階層形式で配置された方法を格納することができる方法ストア１１２をさらに備える。方法項目１１４は、方法とすることができる要素１１６を含む。こうした要素は、低レベルの方法（たとえば方法１１８）をさらに含むことができる。低レベルの方法１１８はそれ自体、自由に処理することができる利用可能な他の下位方法を有する方法でよい。方法ストア１１２およびデータストア１０４を別個のストアとして示してあるが、方法ストア１１２およびデータストア１０４を、同じ階層に共に配置することもできる。したがって、データ項目が、そのデータ項目に従属する方法をもつこともでき、または方法が、その方法に従属するデータ項目属性をもつこともできる。
【００１８】
ネットワークアーキテクチャ１００は、本発明の一実施形態において、様々な関数を実行するコンピュータ実行可能コードであるアプリケーション１２２を備える。アプリケーション１２２は、通信チャネル１２８を介して記憶装置１０２に接続される。通信チャネル１２８は、スクロール１２４と共に示してある。スクロール１２４は、アプリケーション１２２と記憶装置１０２の間で渡すことができるデータ項目、データ要素、データ属性、方法項目、および方法を表す。別の通信チャネル１２８が、トークン１２６などのトークンを、アプリケーションから認証モジュール１４６に転送するために存在する。
【００１９】
トークン１２６は、認証モジュール１４６が、トークンを提示するプリンシパルの同一性を判定することを可能にする情報を指定する。たとえばこの例では、トークン１２６は、プリンシパル、すなわちアプリケーション１２２を識別する情報を含む。プリンシパルの同一性を確認する処理はしばしば、認証と呼ばれる。認証モジュール１４６は、トークンと比較するための認証情報からなるデータベースへのアクセス権をもつことができる。本発明の一実施形態では、この認証データベースは、記憶装置１０２に格納される。プリンシパルが認証されると、プリンシパルの権限は、アクセス制御リスト（ＡＣＬ）を調べてそのプリンシパルに指定された権限を調査することによって、判定することができる。
【００２０】
記憶装置１０２は、プリンシパルが記憶装置１０２内の項目に対してどのような権限をもつか判定するのに使われる、１つまたは複数のＡＣＬ１３０をさらに備える。通常、ＡＣＬは、プリンシパル引数、権限引数、および項目引数を含む３つの引数を有する。こうした３つの引数は、組み合わされて、どのプリンシパルがどの項目に対してどの権限をもつか指定する。認証済みトークン１２６を用いることによって、アプリケーション１２２が、データストア１０４内の項目にアクセスし、または方法ストア１１２内の方法を実行するための権限を有することを判定することができる。この例では、ただ１つのＡＣＬを示してあるが、本発明のいくつかの実施形態では、ＡＣＬは、いくつかのセキュリティ規則を表し、各セキュリティ規則は、項目に対する権限をプリンシパルに付与することを理解されたい。
【００２１】
本発明の一実施形態では、付与することができる４つの権限は、読出し、書込み、削除および実行である。読出し、書込みおよび削除権限は、付与されると、それぞれ、プリンシパルがデータ項目１０６などのデータ項目、または要素１０８などの要素、または属性１１０などの属性を見直し、操作し、かつ削除することを可能にする。実行権限は、付与されると、アプリケーション１２２などのプリンシパルが、方法１１８などの方法を呼び出すことを可能にする。
【００２２】
ネットワークアーキテクチャ１００は、ユーザインターフェース１３２をさらに含むことができる。ユーザインターフェース１３２は、コンピュータユーザ１３４がネットワークアーキテクチャ１００と対話することを可能にする。ユーザインターフェース１３２は、通信経路１３６を介して記憶装置１０２に接続される。ネットワークアーキテクチャ１００に示す別の通信経路は、経路１３８であり、経路１３８は、トークン１４０およびクエリまたは要求１４２をコンピュータユーザ１３４からユーザインターフェース１３２に転送するのに使われる。存在するさらに別の通信経路は通信経路１４４であり、通信経路１４４を介して、データ項目、要素および属性を、コンピュータユーザ１３４とユーザインターフェース１３２の間で転送することができる。通信経路１３６を介したユーザインターフェース１３２は、記憶装置１０２との間でのデータ項目、要素および属性の転送を容易にする。
【００２３】
本発明の一実施形態では、データストア１０４中のデータ項目へのアクセス権を得るため、または方法ストア１１２中の方法を実行するために、コンピュータユーザ１３４は、データ項目へのアクセス権を得るように、または方法を実行するように認証されなければならない。これを容易にするために、トークン１４０が、コンピュータユーザ１３４によって、通信経路１３８を介してユーザインターフェース１３２に送られる。ユーザインターフェース１３２は、トークン１４０を、通信経路１２８を介して認証モジュール１４６に向ける。認証モジュール１４６は次いで、コンピュータユーザ１３４の同一性を確認する。ＡＣＬ１３０などのＡＣＬが、コンピュータユーザ１３４がデータストア１０４中のデータ項目および方法ストア１１２中の方法に対してもつ権限を決定する。
【００２４】
本発明の一実施形態では、ＡＣＬ１３０は、データストア１０４および方法ストア１１２中の項目に対する管理権限を有する管理プリンシパルによって作成することができる。管理プリンシパルは、管理権限を有する複数のプリンシパルの１つでよい。本発明の一実施形態では、管理権限を有する複数のプリンシパルは、後でより詳しく説明するように、セキュリティゾーンに存在する全項目に対して同じものである。
【００２５】
図１はネットワークアーキテクチャ１００を示すが、本発明の実施形態は、異なるいくつかのアーキテクチャ、たとえば図６に示し説明するような分散型コンピューティング環境、単一のコンピュータシステム、または様々な他の適切なシステムにおいて実現することができることを理解されたい。
【００２６】
セキュリティゾーンの概念は、図２および３を検討することによってより完全に理解できよう。図２は、記憶装置１０２などの記憶装置における、項目の階層的な配置を示す。図２に示す例では、項目を、ボリューム２０２の形で示す。上述したように、ボリューム２０２は、図６に示し説明する、適切などの記憶位置にも存在することができる。ボリューム２０２は、記憶装置１０２内の項目すべてを含む。一例では、ボリューム全体２０２は、単一のゾーンを含むことができる。したがって、ある複数のプリンシパルが、ゾーン／ボリューム２０２中の全項目に対して、管理権限、すなわちセキュリティを変更する能力を有する。本発明の他の実施形態では、図３に示すように、ボリュームは、ゾーン３０２およびゾーン３０４などのいくつかのゾーンに分けられる。ゾーンはそれぞれ、管理権限を有する異なる複数のプリンシパルをもつことができる。したがって、ボリューム２０２をゾーン３０２および３０４に分割することによって、管理権限を、他のプリンシパルに移譲することができる。
【００２７】
ここで図４を参照すると、他のプリンシパルに権限を委譲する方法を、方法４００に示す。方法４００は、本発明の一実施形態では、コンピュータシステム、たとえば図１のネットワークアーキテクチャ１００において実施され、データ項目１０６および方法項目１１４などの項目が、図２に示すボリューム２０２などのボリュームに格納される。ボリュームは、ゾーン３０２および３０４など、少なくとも１つの重複しないゾーンに分けられる。方法４００は、さらに、各項目が、少なくとも１つの重複しないゾーンのうち１つのゾーンに置かれることを企図している。ゾーンはそれぞれ、１つまたは複数の管理プリンシパルを有する。管理プリンシパルは、それが属す特定のゾーン用のセキュリティおよび／または監査を管理する。方法４００は、少なくとも１つの重複しないゾーンに含まれる１つのゾーンに含まれる第１の項目に対する管理権限を、他のプリンシパルに委譲する状況において構成される。
【００２８】
方法４００は、第１のゾーンを形成する、機能的な、結果志向のステップ（ステップ４０８）を含む。ステップ４０８は、第１のゾーンを形成する、対応するどの動作も含むことができる。ただし、図４の方法の例では、ステップ４０８は、メインゾーン内の第１の項目を識別する、対応する動作を含む（動作４０２）。動作４０２は、メインゾーン中の第１の項目を識別するコンピュータシステムを含むことができる。たとえば、ネットワークアーキテクチャ１００におけるコンピュータシステムは、ボリューム２０２にある項目を識別することができる。識別される第１の項目は、ゾーンの管理プリンシパルの１つまたは複数が管理権限を委譲したいと望む項目でよい。
【００２９】
ステップ４０８は、メインゾーンを第１のゾーンおよび残りのメインゾーンに分割する、対応する動作（動作４０４）をさらに含む。動作４０４は、コンピュータシステムが、メインゾーンを第１のゾーンおよび残りのメインゾーンに分割することを含むことができる。たとえば、ネットワークアーキテクチャ１００におけるコンピュータシステムは、ボリューム２０２をゾーン３０２および３０４に分割することができる。動作４０４から２つのゾーンが形成されるが、１つまたは複数のメインプリンシパルは、第１のゾーンおよび残りのメインゾーン両方に対する管理権限をもち続ける。
【００３０】
メインゾーンを分割すると、第１の項目が第１のゾーン内に配置され、残りのメインゾーンは、本来メインゾーンにあった項目のうち、第１の項目に含まれない部分を含む。分割の一例を図３に示す。たとえば、メインゾーンは、ボリューム２０２でよい。分割することにより、ゾーン３０２および３０４が作成される。ボリュームは本来、項目３０６から３２８を含んでいたが、分割によって、項目３２４から３２８が１つのゾーン（すなわち第１のゾーン）になり、項目３０６から３２２がもう１つのゾーン（すなわち残りのメインゾーン）になった。この時点では、ゾーン３０２および３０４の管理プリンシパルは同じである。
【００３１】
方法４００は、１つまたは複数の第１のプリンシパルが、第１の項目に対する管理権限も有することを指定する動作（動作４０６）をさらに含む。動作４０６は、コンピュータシステムが、１つまたは複数の第１のプリンシパルが第１の項目に対する管理権限も有することを指定することを含むことができる。たとえば、ネットワークアーキテクチャ１００におけるコンピュータシステムは、１つまたは複数の第１のプリンシパルが、ゾーン３０２内の項目への管理権限を有することを指定することができる。
【００３２】
動作４０６は、１つまたは複数の追加プリンシパルに管理権限を割り当てることによって達成することができる。したがって、メインプリンシパルおよび１つまたは複数の追加プリンシパルはすべて、ゾーンの項目に対する管理権限を有する。たとえばゾーン３０２が第１のゾーンである場合、１つまたは複数のメインプリンシパルおよび１つまたは複数の第１のプリンシパルはすべて、ゾーン３０２内の項目に対する管理権限を有する。管理権限は、セキュリティ権限か、または監査権限でよい。
【００３３】
方法４００は、１つまたは複数の第１のプリンシパルが、１つまたは複数のメインプリンシパルによって変更可能であるような方法でもよい。すなわち、メインプリンシパルはどれも、１つまたは複数の第１のプリンシパルにプリンシパルを追加することも、１つまたは複数の第１のプリンシパルからプリンシパルを取り除くこともできる。
【００３４】
方法４００は、第１のゾーン内の項目に、第１のゾーンに対応するゾーン列挙（ｅｎｕｍｅｒａｔｉｏｎ）でラベルづけすることを含むこともできる。たとえば図３に示すように、ゾーン３０２中の項目は、ゾーン列挙３３０で示される。ゾーン列挙３３０は、どの項目がどのゾーンに置かれているかを追跡するのに有用である。メインゾーンが分割されると、残りのメインゾーンおよび第１のゾーンは、２つのゾーンに重複する項目がないか確かめるために調べられる。ゾーンが分割されるときに重複が検査される限り、第１のゾーンおよび残りのメインゾーンと共に、重複する項目を求めて他のゾーンを検査する必要はない。ゾーン列挙は項目の間に新しい関係が追加されたときに重複がないか確認するのにも有用である。たとえば、項目が他の項目に関連づけられる場合、関連づけられたすべての項目は、同じゾーンにあるべきである。これは、ゾーン列挙を照会することによって達成することができる。
【００３５】
図１に示すＡＣＬ１３０に格納されるようなセキュリティ規則は、ゾーン３０２などの第１のゾーンが作成された後で、その第１のゾーンに追加することができる。本発明の一実施形態では、第１のゾーンは、メインゾーンに以前あったどのセキュリティ規則も自動的に含む。本発明の他の実施形態では、第１のゾーンは、それが作成された後はどのセキュリティ規則も含まず、全く新しいセキュリティ規則が、第１のゾーン用に作成されなければならない。
【００３６】
ゾーンは、組み換えることもできる。ゾーンは、そのゾーンが作成されたときに作成された他のゾーンか、またはそのゾーンが作成されたときに作成された他のゾーンとは別のときに作成されたゾーンと組み換えるべきである。残りのメインゾーンが分割されて第２のゾーンを形成した後、ゾーンが組み換えられると、ある問題が起こる。たとえば図３では、項目３２０を第２のゾーンにグループ化するために、境界線３３２で示すように分割が行われ、項目３０８から３１８および３２２は、分割の結果生じた残りのメインゾーン内にある。それにもかかわらず、新しいゾーンは、第１のゾーンおよび後続の残りのメインゾーンを組み換えることによって、作成することができる。この場合、後続の残りのメインゾーンは、その管理プリンシパルとして、本来のメインゾーンのプリンシパルを有するゾーンである。組み換えられたゾーンは、プリンシパルとして、本来のメインゾーンでのプリンシパルを有する。
【００３７】
ゾーンが組み換えられると、両方のゾーンのセキュリティ規則が依然として有効である。他のセキュリティ規則を、新しく作成されたゾーンで定義することもできる。
【００３８】
ここで図５を参照すると、本発明の態様を用いてセキュリティ権限を決定する方法を、方法５００として示してある。方法５００は、図１に示すネットワークアーキテクチャ１００などのコンピュータシステムにおいて実施することができる。コンピュータシステムは、データ項目１０６および方法項目１１４などの項目を含む。この項目は、コンピュータシステム上のボリューム、たとえば図２に示すボリューム２０２に置かれる。ボリュームは、少なくとも１つのセキュリティゾーンに分けられる。各項目は、１つのセキュリティゾーンに置かれる。この一例を、図３に示してある。図３は、２つのセキュリティゾーン、すなわちゾーン３０２およびゾーン３０４を示す。ゾーン３０２内の項目（項目３２４〜３２８）はどれも、ゾーン３０４には置かれていない。さらに、ゾーン３０４内の項目（項目３０６〜３２２）はどれも、ゾーン３０２には置かれていない。
【００３９】
方法５００は、プリンシパルの同一性が確認済みであることを示す認証情報にアクセスする動作（動作５０２）を含む。動作５０２は、コンピュータシステムが、プリンシパルの同一性が確認済みであることを示す認証情報にアクセスすることを含むことができる。たとえば、ネットワークアーキテクチャ１００におけるコンピュータシステムは、認証モジュール１４６によって提供される認証情報、またはキャッシュ１２０に格納される認証情報にアクセスすることができる。本発明の一実施形態において、動作５０２は、図１に示す認証モジュールなどの認証モジュール１４６によって実行される。
【００４０】
認証モジュールは、トークン１２６やトークン１４０などのトークンを、プリンシパルから受け取ることができる。認証モジュールは次いで、トークン中の情報を、認証モジュール１４６がプリンシパルの同一性を確認するために利用可能な情報と比較する。この情報は、認証情報を含むデータベースにおいて利用可能である。いくつかの異なるタイプのトークン、たとえばパスワード、暗号化された文字列、スマートカードなどの物理的な鍵、指紋や音声分析などの生体的な鍵などが存在する。使用することができる２つの具体的なトークンは、ウィンドウズ（登録商標）トークン、および認可されているＸｒＭＬライセンスセットである。動作５０２はさらに、図１に示すキャッシュ１２０中のエントリなどのキャッシュエントリを照会することによって実行することができる。具体的には、本発明の一実施形態において、トークンが認証モジュール１４６によって認証されると、キャッシュ１２０に情報を置くことができ、そうすることによって、同じセッション中に引き続き行われるプリンシパルの認証が、キャッシュ中のエントリを照会することによって行うことができるようになる。
【００４１】
方法５００は、セキュリティ規則にアクセスする動作（動作５０４）を含む。動作５０４は、コンピュータシステムがセキュリティ規則にアクセスすることを含むことができる。たとえば、ネットワークアーキテクチャ１００におけるコンピュータシステムは、ＡＣＬ１３０にあるセキュリティ規則にアクセスすることができる。このセキュリティ規則は、セキュリティゾーン用に存在する。セキュリティ規則は、本発明の一例において、図１に示すＡＣＬ１３０として具体化することができる。セキュリティ規則は、３つの引数、すなわち要素、プリンシパルおよび権限引数をもつことができる。要素引数は、要素経路を介して、項目の少なくとも一部分を指定する。
【００４２】
たとえば、セキュリティ規則が図３の項目３１２に対する権限を付与した場合、要素引数は、項目３１２への経路、たとえば３０６．３０８．３１２を指定する。この経路は、最上位の項目である項目３０６と、項目３０６に従属する項目である項目３０８と、そしてセキュリティが適用される項目であって、項目３０８に従属する項目３１２とを含む。本発明の別の実施形態では、セキュリティ規則は、複数の属性を含む複合エレメントである要素を指定することができる。この場合、アクセス権は、その要素の全属性に付与することができる。たとえば要素経路が３０６．３１０である場合、プリンシパルは、要素３１０、ならびに要素３１６から３２２を含む、要素３１０に従属する全要素に対する権限を有する。
【００４３】
さらに、セキュリティ規則は、プリンシパルが特定のタイプの要素へのアクセス権のみをもつことを指定することができる。たとえば、複合エレメントとは、いくつかの異なる属性を有する要素である。複合エレメントの具体的な一例は、デジタルアドレス帳の中の名前タイプという要素である。名前タイプの要素は、名、性およびミドルネーム属性を含むことができる。ユーザが、名前タイプの要素ならびに他の要素を含む項目に対する権限を付与される場合、セキュリティ規則中の名前タイプを指定することによって、そのユーザを名前タイプ要素のみに制限することができる。
【００４４】
セキュリティ規則は、データ項目の少なくとも一部分から少なくとも１つの要素を排除する拒否アクセス制御エントリ（ＡＣＥ）をさらに含むことができる。たとえば、セキュリティ規則は、プリンシパルが項目３１０に対する権限をもつことを指定することができる。上述したように、項目３１０のみが指定される場合、プリンシパルは、項目３１６、３１８、３２０、および３２２に対する権限をもつ。しかし、拒否ＡＣＥを用いると、規則は、プリンシパルが項目３２０を除く項目３１０に対する権限をもつことを指定することができる。
【００４５】
セキュリティ規則は、セキュリティ権限を有するプリンシパルを指定するプリンシパル引数を含む。本発明の一実施形態では、プリンシパルとは、図１に示すコンピュータユーザ１３４などのコンピュータユーザである。本発明の別の実施形態では、プリンシパルは、ネットワークアーキテクチャ１００上で実行されるアプリケーション１２２など、コンピュータシステム上で実行されるアプリケーションでよい。プリンシパル引数は、権限を付与されることができる１組のプリンシパルを指定することができる。たとえば、プリンシパル引数は、全ネットワーク管理者を含んでもよい。セキュリティ規則は、拒否ＡＣＥを含むこともでき、拒否ＡＣＥは、プリンシパルの組から少なくとも１つのプリンシパルを排除する。
【００４６】
たとえば、規則は、ある特定の管理者を排除し全ネットワーク管理者を含む１組のプリンシパルを指定することができる。拒否ＡＣＥによって排除される特定のネットワーク管理者が、そのネットワーク管理者を排除したセキュリティ規則において付与されるのと同じ権限を、異なるセキュリティ規則において付与されると、そのネットワーク管理者は、指定されたセキュリティ権限をもつことになる。たとえば、あるセキュリティ規則が、Ｘを除く全管理者が項目Ｙに対する権限をもつことを指定し、第２のセキュリティ規則が、管理者Ｘが項目Ｙに対する権限をもつことを指定すると、管理者Ｘは、項目Ｙに対する権限をもつ。項目Ｙに対する管理者Ｘの権限を除去するためには、拒否ＡＣＥを使って、項目Ｙに対する権限を付与するすべての規則において管理者Ｘを排除することができる。本発明の一実施形態におけるセキュリティ規則は、権限委譲、すなわち、権限を付与することができる規則である。権限は、拒否規則を作成することによってプリンシパルから取り去ることはできない。そうではなく、権限委譲規則はすべて、プリンシパルに特定の権限を認めないために変更しまたは除去されなければならない。
【００４７】
セキュリティ規則は、権限引数を含むこともできる。本発明の様々な実施形態では、読出し、書込み、削除および実行権限を含む権限を可能にする。読出し権限が、ある項目に関してプリンシパルに付与される場合、読出し権限は、一般に、プリンシパルが閲覧することはできるが変更することも削除することもできないデータ項目に関連づけられる。書込み権限が、ある項目に関してプリンシパルに付与される場合、書込み権限は、一般に、プリンシパルが閲覧し編集することはできるが削除することができないデータ項目に関連づけられる。削除権限が、ある項目に関してプリンシパルに付与される場合、削除権限は、一般に、プリンシパルが閲覧し、編集し、削除することができるデータ項目に関連づけられる。実行権限が、ある項目に付与される場合、削除権限は、一般に、プリンシパルが実行させることができる方法項目に関連づけられる。
【００４８】
方法５００は、アクセスされたセキュリティ規則に基づいて、項目の少なくとも一部分に対する、確認済みプリンシパルの権限を識別する動作（動作５０６）を含む。動作５０６は、コンピュータシステムが、アクセスされたセキュリティ規則に基づいて、項目の少なくとも一部分に対する、確認済みプリンシパルの権限を識別することを含むことができる。たとえば、ネットワークアーキテクチャ１００におけるコンピュータシステムは、ＡＣＬ１３０からアクセスされたセキュリティ規則に基づいて、項目３２４に対する、確認済みプリンシパルの権限を識別することができる。このようにして、本発明の一実施形態では、ネットワークアーキテクチャ１００は、コンピュータユーザ１３４またはアプリケーション１２２などのプリンシパルが、記憶装置１０２に格納された項目に対してどのアクセス権をもつか判定することができる。
【００４９】
方法５００は、プリンシパルがセキュリティ規則のプリンシパル引数で指定される場合、プリンシパルに、セキュリティ規則において指定された権限を付与することもできる。
【００５０】
方法５００は、クエリ要素引数を含むクエリを受け取ることもできる。クエリを送るプリンシパルがクエリ要素引数中の要素に対する適切な権限をもっている場合、方法５００は、クエリの結果を返す。たとえば、プリンシパルが、ある特定の項目中の「緑（ｇｒｅｅｎ）」である全要素を要求するクエリを送り、このプリンシパルがその項目、またはその項目中の全要素に対する権限をもっている場合、緑である要素が返される。プリンシパルが項目中の要素すべてに対する権限をもっているわけではない場合、クエリは、プリンシパルが項目中の緑である要素のいくつかに対する権限をもっていたとしても、「みつからなかった（ｎｏｔ  ｆｏｕｎｄ）」と返す。これは、セキュリティ規則を各要素に関連づけることを必要としなくても、効率的な探索を実行することができるように行われる。したがって、プリンシパルがすべての「緑の」要素をみつけるためにクエリを送ることを望む場合、プリンシパルは、プリンシパルがそれに対する権限をもっていない要素を除く全要素に関するクエリを送ることができる。したがって、たとえば、プリンシパルが要素３２０を除く図３に示す項目３１０に対する権限をもっている場合、プリンシパルは、項目３２０を除く、項目３１０中の緑である全要素を要求することになる。
【００５１】
方法５００は、セキュリティ規則自体を変更する権限を制御することもできる。この場合、セキュリティ規則は、ボリューム（たとえば図２および３のボリューム２０２）に項目として含まれる。次いで、セキュリティ規則のためのセキュリティを、別のセキュリティ規則を用いて設定することができる。
【００５２】
本発明の一実施形態では、ユーザが項目の効果的なセキュリティを問い合わせることを可能にするＡＰＩが提供される。このＡＰＩは、セキュリティ規則の組に基づいて、セキュリティを算定する。このＡＰＩは、後で図６で説明するような、実行可能なプログラムコードでよい。
【００５３】
本発明の範囲内の実施形態は、コンピュータ実行可能命令を実行しまたはそれを有するコンピュータ読取可能媒体、あるいはそこに格納されたデータ構造も含む。このようなコンピュータ読取可能媒体は、汎用コンピュータまたは専用コンピュータによってアクセスすることができるどのような利用可能媒体でもよい。限定ではなく例示のために、このようなコンピュータ読取可能媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ、もしくは他の光ディスク記憶装置、磁気ディスク記憶装置、または他の磁気記憶装置、あるいは所望のプログラムコード手段をコンピュータ実行可能命令またはデータ構造の形で実行しまたは格納するのに用いることができるとともに、汎用コンピュータまたは専用コンピュータによってアクセスすることができる、他のどの媒体も含むことができる。ネットワークあるいは別の通信接続（有線、無線、または有線もしくは無線の組合せのいずれか）を介して情報がコンピュータに転送されまたは提供されると、コンピュータは、その接続をコンピュータ読取可能媒体として正しく認識する。したがって、このようなどの接続も、正しくコンピュータ読取可能媒体と呼ばれる。上記の組合せも、コンピュータ読取可能媒体の範囲に含めるべきである。コンピュータ実行可能命令は、たとえば、汎用コンピュータ、専用コンピュータ、または専用処理装置に、ある特定の機能または一群の機能を実行させる命令およびデータを含む。
【００５４】
図６および以下の説明では、本発明を実装することができる適切なコンピューティング環境の、簡潔で一般的な説明を提供することを意図している。そうすることが必要なわけではないが、ネットワーク環境におけるコンピュータによって実行される、プログラムモジュールなどのコンピュータ実行可能命令という一般的な状況において、本発明を説明する。一般に、プログラムモジュールは、特定のタスクを実行しまたは特定の抽象データタイプを実装するルーチン、プログラム、オブジェクト、構成要素、データ構造などを含む。コンピュータ実行可能命令、関連データ構造、およびプログラムモジュールは、本明細書で開示した方法のステップを実行するプログラムコード手段の例を表す。この具体的な一連の実行可能命令または関連するデータ構造は、このようなステップにおいて説明した機能を実装する、対応する動作の例を表す。
【００５５】
本発明は、多くのタイプのコンピュータシステム構成を有するネットワークコンピューティング環境において実施できることが、当業者には理解されよう。こうしたコンピュータシステム構成には、パーソナルコンピュータ、ハンドヘルド装置、マルチプロセッサシステム、マイクロプロセッサベースの家電製品またはプログラム可能な家電製品、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータなどがある。本発明は、通信ネットワークを介して（有線リンク、無線リンク、または有線リンクもしくは無線リンクの組合せのいずれかによって）リンクされる、ローカルおよびリモート処理装置によって特定のタスクが実行される分散型コンピューティング環境でも実施することができる。分散型コンピューティング環境では、プログラムモジュールは、ローカルおよびリモートメモリ記憶装置両方に置くことができる。
【００５６】
図６を参照すると、本発明を実装する例示的なシステムは、汎用計算装置を、従来のコンピュータ６２０の形で含み、このコンピュータは、処理装置６２１、システムメモリ６２２、およびシステムバス６２３を含む。システムバス６２３は、システムメモリ６２２を含む様々なシステム構成要素を処理装置６２１に結合する。システムバス６２３は、様々なバスアーキテクチャのどれをも使用するメモリバスまたはメモリコントローラ、周辺バス、およびローカルバスなどいくつかのタイプのバス構造のいずれでもよい。システムメモリは、読出し専用メモリ（ＲＯＭ）６２４およびランダムアクセスメモリ（ＲＡＭ）６２５を含む。基本入出力システム（ＢＩＯＳ）６２６は、たとえば起動中にコンピュータ６２０内部の要素間の情報の転送を助ける基本ルーチンを含み、ＲＯＭ６２４に格納することができる。
【００５７】
コンピュータ６２０は、磁気ハードディスク６３９からの読出しまたはそこへの書込みを行う磁気ハードディスクドライブ６２７、取外し可能磁気ディスク６２９からの読出しまたはそこへの書込みを行う磁気ディスクドライブ６２８、および、たとえばＣＤ−ＲＯＭまたは他の光学媒体などの取外し可能光ディスク６３１からの読出しまたはそこへの書込みを行う光ディスクドライブ６３０も含む。磁気ハードディスクドライブ６２７、磁気ディスクドライブ６２８、および光ディスクドライブ６３０は、それぞれハードディスクドライブインターフェース６３２、磁気ディスクドライブインターフェース６３３、および光ドライブインターフェース６３４によって、システムバス６２３に接続される。ドライブおよびそれに関連するコンピュータ読取可能媒体は、コンピュータ実行可能命令、データ構造、プログラムモジュール、および他のデータを、コンピュータ６２０に提供する。本明細書で説明する例示的な環境では、磁気ハードディスク６３９、取外し可能磁気ディスク６２９、および取外し可能光ディスク６３１を使用したが、データを格納する他のタイプのコンピュータ読取可能媒体、たとえば磁気カセット、フラッシュメモリカード、デジタル多用途ディスク、ベルヌーイカートリッジ、ＲＡＭ、ＲＯＭなども使うことができる。
【００５８】
オペレーティングシステム６３５、１つまたは複数のアプリケーションプログラム６３６、他のプログラムモジュール６３７、およびプログラムデータ６３８など、１つまたは複数のプログラムモジュールを含むプログラムコード手段を、ハードディスク６３９、磁気ディスク６２９、光ディスク６３１、ＲＯＭ６２４、またはＲＡＭ６２５に格納することができる。ユーザは、キーボード６４０、ポインティングデバイス６４２、または他の入力装置（図示せず）、たとえばマイクロホン、ジョイスティック、ゲームパッド、衛星パラボラアンテナ、スキャナなどを介して、コマンドおよび情報をコンピュータ６２０に入力することができる。こうしたおよび他の入力装置はしばしば、システムバス６２３に結合されるシリアルポートインターフェース６４６を介して処理装置６２１に接続される。あるいは、入力装置は、他のインターフェース、たとえばパラレルポート、ゲームポート、またはユニバーサルシリアルバス（ＵＳＢ）によって接続することもできる。モニタ６４７または別の表示装置も、ビデオアダプタ６４８などのインターフェースを介してシステムバス６２３に接続される。モニタに加えて、パーソナルコンピュータは通常、他の周辺出力装置（図示せず）、たとえばスピーカおよびプリンタを含む。
【００５９】
コンピュータ６２０は、リモートコンピュータ６８３および６９３など、１つまたは複数のリモートコンピュータへの論理接続を使用してネットワーク接続された環境において動作することができる。リモートコンピュータ６８３および６９３は、それぞれ別のパーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピア装置、または他の共通ネットワークノードでよく、通常、コンピュータ６２０に関連して上述した要素の多くまたはすべてを含む。図６に示す論理接続は、限定ではなく例示のために本明細書に示すローカルエリアネットワーク（ＬＡＮ）６５１およびワイドエリアネットワーク（ＷＡＮ）６５２を含む。このようなネットワーク環境は、会社規模または企業規模のコンピュータネットワーク、イントラネットおよびインターネットにおいてよく見られる。
【００６０】
ＬＡＮネットワーク環境において使われる場合、コンピュータ６２０は、ネットワークインターフェースまたはアダプタ６５３を介してローカルネットワーク６５１に接続される。ＷＡＮネットワーク環境において使われる場合、コンピュータ６２０は通常、モデム６５４、無線リンク、または、たとえばインターネットなどのワイドエリアネットワーク６５２を介した通信を確立する他の手段を含むことができる。モデム６５４は、内蔵でも外付けでもよく、シリアルポートインターフェース６４６を介してシステムバス６２３に接続される。ネットワーク接続された環境では、コンピュータ６２０に関連して図示したプログラムモジュールまたはその一部は、リモートメモリ記憶装置に格納することができる。図示したネットワーク接続は例示的なものであり、ワイドエリアネットワーク６５２を介した通信を確立する他の手段も使うことができることが理解されよう。
【００６１】
本発明は、本発明の精神からも本質的な特性からも逸脱することなく、他の具体的な形で具現化することもできる。説明した実施形態は、あらゆる点において例示に過ぎず、限定ではないものと理解されたい。本発明の範囲は、したがって、上記の説明ではなく、添付の特許請求の範囲によって示される。特許請求の範囲の等価物の意義および範囲内であるすべての変更は、特許請求の範囲に含まれる。
【図面の簡単な説明】
【００６２】
【図１】本発明の原理による、セキュリティを管理することができるシステムを含む一例のネットワークアーキテクチャを示す図である。
【図２】本発明の原理による、項目を格納し規則を定義する一例の階層的なボリュームを示す図である。
【図３】本発明の原理による、セキュリティゾーンに分けられる一例の階層的なボリュームを示す図である。
【図４】本発明のいくつかの実施形態の態様を用いて、権限を移譲する一例の方法を示す図である。
【図５】本発明のいくつかの実施形態の態様を用いて、セキュリティ権限を決定する一例の方法を示す図である。
【図６】本発明の原理に適した動作環境を示す図である。
【符号の説明】
【００６３】
１０２  記憶装置
１０４  データストア
１１２  方法ストア
１２０  キャッシュ
１２２  アプリケーション／プリンシパル
１２６  トークン
１３２  ユーザインターフェース
１３４  コンピュータユーザ／プリンシパル
１４０  トークン
１４６  認証モジュール
【図１】
2005050335.tif 000003
【図２】
2005050335.tif 000004
【図３】
2005050335.tif 000005
【図４】
2005050335.tif 000006
【図５】
2005050335.tif 000007
【図６】
2005050335.tif 000008