(57)【要約】  本発明は、階層データベースまたはストレージ構造内に常駐する（またはそれに関連付けられる）データ・アイテムのセキュリティ保護を促進するためのシステムおよび方法論に関する。１つまたは複数のデータ・アイテムに関連付けられる階層データ構造を有するデータベース・セキュリティ・システムが提供される。このシステムは、データベースに関連付けられるグローバル位置または領域から、セキュリティ・ポリシーをデータ・アイテムに適用するセキュリティ・コンポーネントを含む。遭遇しまたは処理するデータ構造のタイプに応じて、明示および／または継承セキュリティ・プロパティがデータ・アイテムによって受信され、それに伝播されることを可能にするために、様々なコンポーネントおよびプロセスが使用される。
2007509414.tif 000002
【特許請求の範囲】
【請求項１】
１つまたは複数のデータ・アイテムに関連付けられる少なくとも１つの階層データ構造と、
データストアに関連付けられるグローバル位置から、少なくとも１つのセキュリティ・ポリシーを前記データ・アイテムに適用するセキュリティ・コンポーネントと
を備えることを特徴とするデータ・ストレージ・セキュリティ・システム。
【請求項２】
前記階層データ構造は、ツリー構造および包含階層のうちの少なくとも１つであることを特徴とする請求項１に記載のシステム。
【請求項３】
前記包含階層は、有向非循環グラフ（ＤＡＧ）としてモデル化されることを特徴とする請求項２に記載のシステム。
【請求項４】
前記セキュリティ・ポリシーは、前記データベースに関連付けられる１つまたは複数のセキュリティ領域にマップされることを特徴とする請求項１に記載のシステム。
【請求項５】
前記セキュリティ・ポリシーは、前記データベースの内部からマッピングされるもの、および前記データストアの外部からマッピングされるもの、のうちの少なくとも１つであることを特徴とする請求項４に記載のシステム。
【請求項６】
前記セキュリティ・ポリシーは、アイテムに明示的にマップされたもの、およびアイテムによって継承されたもの、のうちの少なくとも１つであることを特徴とする請求項１に記載のシステム。
【請求項７】
前記セキュリティ・コンポーネントは、１つまたは複数のアクセス制御エントリを含むアクセス制御リストを含むことを特徴とする請求項１に記載のシステム。
【請求項８】
前記アクセス制御リストは、包含階層の保持リレーションシップに関連付けられることができることを特徴とする請求項７に記載のシステム。
【請求項９】
前記包含階層のセキュリティ保護を促進するための複数のアクセス制御リストをさらに備えることを特徴とする請求項８に記載のシステム。
【請求項１０】
前記セキュリティ・コンポーネントは、アイテムに対してオペレーションを実施するためのアクセスが許可されまたは拒否される１組のプリンシパルを指定することを特徴とする請求項１に記載のシステム。
【請求項１１】
前記セキュリティ・コンポーネントは、任意アクセス制御リスト、システム・アクセス制御リスト、およびセキュリティ識別子、のうちの少なくとも１つを含むことを特徴とする請求項１に記載のシステム。
【請求項１２】
アイテムについて実施されるセキュリティ・ポリシーを判断するために、アクセス制御リスト（ＡＣＬ）内に１つまたは複数のアクセス制御エントリ（ＡＣＥ）を配列する順序付けコンポーネントをさらに備えることを特徴とする請求項１に記載のシステム。
【請求項１３】
順序付けアルゴリズムであって：
アイテム（Ｉ）の継承されたＡＣＬ（Ｌ）について、
アイテムＩ１、Ｉ２について、
Ｌ内のＡＣＥ  Ａ１およびＡ２について、
Ｉ１は、Ｉ２の祖先であり、かつ
Ｉ２は、Ｉ３の祖先であり、かつ
Ａ１は、Ｉ１から継承されたＡＣＥであり、かつ
Ａ２は、Ｉ２から継承されたＡＣＥであることは、
ＬにおいてＡ２がＡ１に優先することを暗黙に定義し、ただし、ＬおよびＩは整数である、
を備える順序付けアルゴリズムをさらに備えることを特徴とする請求項１２に記載のシステム。
【請求項１４】
順序付けアルゴリズムであって：
アイテム（Ｉ）の継承されたＡＣＬ（Ｌ）について、
アイテムＩ１について、
Ｌ内のＡＣＥ  Ａ１およびＡ２について、
Ｉ１は、Ｉ２の祖先であり、かつ
Ａ１は、Ｉ１から継承されたＡＣＣＥＳＳ＿ＤＥＮＩＥＤ＿ＡＣＥであり、かつ
Ａ２は、Ｉ１から継承されたＡＣＣＥＳＳ＿ＧＲＡＮＴＥＤ＿ＡＣＥであることは、
ＬにおいてＡ１がＡ２に優先することを暗黙に定義し、ただし、ＬおよびＩは整数である、
を備える順序付けアルゴリズムをさらに備えることを特徴とする請求項１２に記載のシステム。
【請求項１５】
所与のプリンシパルの所与のアイテムに対するアクセス権を評価するコンポーネントをさらに備えることを特徴とする請求項１２に記載のシステム。
【請求項１６】
前記セキュリティ・コンポーネントは、アイテムによって継承されたリストを処理し、また明示的なアクセス制御リスト内の継承可能なアクセス制御エントリを追加することによって取得される有効なアクセス制御リストをさらに備えることを特徴とする請求項１に記載のシステム。
【請求項１７】
前記セキュリティ・コンポーネントは、オブジェクト固有アクセス権、標準アクセス権、および汎用アクセス権、のうちの少なくとも１つを指定するアクセス・マスクをさらに備えることを特徴とする請求項１に記載のシステム。
【請求項１８】
同様に保護されるセキュリティ領域についてのセキュリティ・テーブルをさらに備えることを特徴とする請求項１に記載のシステム。
【請求項１９】
前記セキュリティ・テーブルは、以下のフィールド、アイテムＩＤ、アイテムＯＲＤＰＡＴＨ、明示アイテム、パスＡＣＬおよび領域ＡＣＬ、のうちの少なくとも１つを含むことを特徴とする請求項１８に記載のシステム。
【請求項２０】
コンテナ内の新しいアイテムの作成、アイテムへの明示ＡＣＬの追加、アイテムへの保持リンクの追加、アイテムからの保持リンクの削除、アイテムからの明示ＡＣＬの削除、およびアイテムに関連付けられるＡＣＬの修正、のうちの少なくとも１つを行うためのコンポーネントをさらに備えることを特徴とする請求項１に記載のシステム。
【請求項２１】
請求項１に記載のセキュリティ・コンポーネントを実装するためのコンピュータ読取り可能命令が格納されたコンピュータ読取り可能媒体。
【請求項２２】
データ・アイテムのセキュリティ保護を促進するための方法であって、
階層データベース構造について少なくとも１つのセキュリティ・ポリシーを定義すること、
前記階層データベース構造について少なくとも１つセキュリティ領域を定義すること、
前記セキュリティ領域から前記セキュリティ・ポリシーを前記セキュリティ階層データ構造に適用すること
を備えることを特徴とする方法。
【請求項２３】
少なくとも１つの明示および継承セキュリティ・ポリシーを自動的にサポートすることをさらに備えることを特徴とする請求項２２に記載の方法。
【請求項２４】
セキュリティ・ポリシーを自動的に順序付けすることをさらに備えることを特徴とする請求項２２に記載の方法。
【請求項２５】
ツリー構造および包含階層のうちの少なくとも１つについてセキュリティ・ポリシーを処理することをさらに備えることを特徴とする請求項２２に記載の方法。
【請求項２６】
データベースからのリモート位置からセキュリティ・ポリシーをセキュリティ領域にマップすることをさらに備えることを特徴とする請求項２２に記載の方法。
【請求項２７】
前記セキュリティ・ポリシーは、１つまたは複数のアクセス制御エントリを含むアクセス制御リストに関連付けられることを特徴とする請求項２２に記載の方法。
【請求項２８】
アイテムについて実施されるセキュリティ・ポリシーを判断するために、前記アクセス制御リスト内に１つまたは複数のアクセス制御エントリを自動的に配列することをさらに備えることを特徴とする請求項２７に記載の方法。
【請求項２９】
データベース・セキュリティ処理を容易にするためのシステムであって、
セキュリティ・ポリシーを定義する手段と、
前記セキュリティ・ポリシーついてセキュリティ領域を判断する手段と、
前記セキュリティ領域に従って、前記セキュリティ・ポリシーをツリー構造および包含階層のうちの少なくとも１つに適用する手段と
を備えることを特徴とするシステム。
【請求項３０】
階層データ構造に関連付けられるセキュリティ領域に関する第１のデータ・フィールドと、
セキュリティ・ポリシーに関する第２のデータ・フィールドと、
前記セキュリティ・ポリシーを前記セキュリティ領域にリンクする第３のデータ・フィールドと
を備えることを特徴とする、データ構造体が格納されたコンピュータ読取り可能媒体。
【請求項３１】
オブジェクト固有アクセス権、標準アクセス権、および汎用アクセス権、のうちの少なくとも１つを指定するアクセス・マスクのためのフィールドをさらに備えることを特徴とする請求項３０に記載のコンピュータ読取り可能媒体。
【請求項３２】
同様に保護されるセキュリティ領域のためのセキュリティフィールドをさらに備えることを特徴とする請求項３０に記載のコンピュータ読取り可能媒体。
【請求項３３】
前記セキュリティ・テーブル・フィールドは、アイテムＩＤ、アイテムＯＲＤＰＡＴＨ、明示アイテム、パスＡＣＬおよび領域ＡＣＬ、のうちの少なくとも１つを含むことを特徴とする請求項３２に記載のコンピュータ読取り可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般には、コンピュータ・システムに関し、より詳細には、階層的に配列されたデータ・アイテムに従って拡張型セキュリティ・モデルを使用するシステムおよび方法に関する。
【背景技術】
【０００２】
本出願は、２００３年１０月２３日に出願した米国特許出願第１０／６９１９９９号「SYSTEM AND METHODS PROVIDING ENHANCED SECURITY MODEL」の優先権を主張するものである。同特許全体を本明細書中で参考として援用する。
【０００３】
現代のオペレーティング・システムは、多くの多様なニーズに対処しながら、ハードウェアとソフトウェアの両方の開発のためのプラットフォームを提供することによって、今日の技術ベースの革新を推進してきた。こうしたシステムは、より単純化したファイル管理システムから、ハイエンドのパフォーマンスを妥当なコストで提供するより複雑なワークステーションに進化してきた。こうしたシステムはしばしば、多重処理アーキテクチャ、高速メモリ、高度な周辺装置、ソフトウェア開発に役立つ様々なシステム・ライブラリおよびコンポーネント、複雑な／インタリーブされたバス・アーキテクチャなどを含む。こうしたシステムの中心には、コンピュータ関連のハードウェアだけでなく、様々なリレーションシップを有する多数の一連のソフトウェア・コンポーネントを管理する精緻なオペレーティング・システムを含む。こうしたコンポーネントはしばしば、多くのデータ管理システムで見られるファイルおよびディレクトリの階層ツリー構造などで重層的なリレーションシップを有するオブジェクトまたはクラスの言葉で表される。
【０００４】
新技術は、データベース内のオブジェクトを格納し管理するための他のタイプの構造およびモデルを生み出してきた。それは、個々のアイテムまたはオブジェクトの間の複数のリレーションシップを可能にする包含階層のような階層構造を含む。こうした階層はしばしば、有向非循環グラフ（ＤＡＧ：Directed Acyclic Graph）としてモデル化され、包含階層のルート・ノードからアイテムへの複数のパス・リレーションシップをサポートする。しかし、エンティティ（ユーザまたは他のコンポーネントなど）が、各構造内に常駐するオブジェクトまたはアイテムへのアクセスをどのように許可されるかを判断し容易にするため、セキュリティ・モデルは、関係するデータ構造のタイプに関係なく、こうしたシステムに適用されてきた。
【０００５】
多くの側面において、現在のセキュリティ・モデルによって、安全性と効率性の両方を備えてデータを管理するために、オペレーティング・システムの有効性を制限する。たとえば、あるセキュリティ・モデルは、アクセス制御リスト（ＡＣＬ：Access Control List）を階層内のあらゆるファイルまたはディレクトリに関連付けることによって、セキュリティ保護を実装する。次いで、継承モデルは、ディレクトリ内の新しく作成されたアイテムについて、既定のＡＣＬを指定するためのサポートを提供するが、その後、ディレクトリのＡＣＬが変更される場合、そのディレクトリ下の階層内に含まれるファイルおよびフォルダは、自動的に更新されない。また任意のディレクトリで指定されたＡＣＬは、たとえば高水準ＡＰＩを使用して伝播されることができる。その結果、あらゆるアイテムが、その上にセキュリティ・ポリシーをオーバライドし、また、上からのさらなる継承を明示的にブロックし、あるいは新しく作成されたＡＣＬが階層の上から下に伝播される場合にだけ再継承するそのレベルでＡＣＬを指定することができる。残念ながら、ボリューム・レベルでは、こうしたそれぞれ異なるセキュリティ・ポリシーがトラッキングされる単一の場所がないので（それらは一般に、アイテム単位にトラッキングされる）、結果としてもたらされるセキュリティ・ポリシーをそのレベルで判断することは、不可能ではないにしても、非常に難しい。
【０００６】
上述したように、新しいＡＣＬがディレクトリで指定される場合、それは、階層を上から下に伝播されることができるが、これには通常、その階層内のあらゆるファイルおよびディレクトリ上に関してオペレーションを実行させることを伴う。かなり大きいボリュームである場合、これは、法外な時間がかかる可能性がある。単一インスタンス化は包含パスに関係なく発生するので、単一インスタンス化のＡＣＬによってでも、この問題は緩和されないことに留意されたい。したがって、２つの階層がその包含されたアイテムについて同じＡＣＬを有する場合、またそのうちの１つのポリシーが変更される場合、それによって他の階層に関するポリシーも同様に変化するので、単一のインスタンス・テーブルだけを更新することは誤りである。
【０００７】
現在のセキュリティ・モデルに関する他の問題は、ＡＣＬ継承に関連して考慮される場合に意味論的な問題を提示する、アイテム間のハード・リンク（hard link）の存在に関連する。たとえば、アイテムがフォルダ１の下で作成される場合、それは、フォルダ１から既定のＡＣＬ１を受け取る。フォルダ２からそのアイテムへの次のリンクを生成することによって、セキュリティは変更されない。しかし、フォルダ２に関する新しいＡＣＬ３がその階層に適用される場合、それは、そのアイテムに関するＡＣＬも同様に変更する。次いで、新しいＡＣＬがフォルダ１で適用される場合、それは、そのアイテムに受け継がれる。したがって、誰かが、または何かが、偶然に、継承された既存のＡＣＬに最後の上書きをする、ことが起きる。このタイプのセキュリティ構成は、少なくとも混乱を招き、よりしばしば予測不可能であり、これは非常に好ましくない。
【発明の開示】
【課題を解決するための手段】
【０００８】
以下に、本発明のいくつかの態様についての基本的な理解をもたらすために、本発明について簡略化された要約を提示する。この要約は、本発明の広範な要約ではない。本発明の主要な／重要な要素を識別し、または本発明の範囲を描くためのものではない。その唯一の目的は、後に提示されるより詳細な説明の序文として、本発明のいくつかの概念を簡略化された形で提示することである。
【０００９】
本発明は、階層的に配列されたデータ・アイテムのための予測可能なグローバル化されたセキュリティ・モデルを提供するシステムおよび方法に関する。こうした階層は、一般的なツリー構造や、より複雑なデータ構造たとえば有向非循環グラフ（ＤＡＧ）など、階層的に配列された実質上どんなタイプのアイテムをも含む可能性がある。ある態様では、セキュリティ・ポリシーが、よりグローバルなやり方、たとえばデータベース内でマップされる１つまたは複数のセキュリティ領域から適用されることを可能にするセキュリティ・コンポーネントが提供される。こうしたポリシーは、明示的に定義されたポリシー、および／または関係するデータ構造のタイプに関連するパスまたは領域の様々な部分から継承されることができる、より一般化されたポリシー（ツリー構造についてはあるやり方で、また包含階層については次のやり方で適用されるセキュリティ・ポリシーなど）を含むことができる。それぞれのセキュリティ・ポリシーは、階層構造内のデータ・アイテムごとに別個のセキュリティ・ファイルを提供するのではなく、データベースの領域またはグローバルレベルで適用されるので、本発明によって、データベースのパフォーマンスが大きく向上する。パフォーマンスの向上は、データ・アイテムがデータベースに追加されるのにつれて量がやはり増加し続ける複数の孤立したセキュリティ・ファイルを作成／管理する従来システムのセキュリティ・モデルに付随するコンピューティング・オペレーションを軽減することによって達成される。
【００１０】
本発明の別の態様では、セキュリティ・ポリシーがデータベースのアイテムに自動的に関連付けられることを可能にする様々なコンポーネントおよびプロセスが提供される。こうしたコンポーネントは、使用されるデータ構造のタイプに応じて、セキュリティ・ポリシーを各アイテムにマップするセキュリティ・モデルを定義する。たとえば、あるタイプのデータベースでは、包含階層は、階層内に現れるアイテム間の様々な保持リレーションシップ（holding relationship）を含むことができる。保持リレーションシップを使用して、各アイテムについてセキュリティ・ポリシーを伝播することができ、該ポリシーは、（たとえばシステム管理者によって定義される）明示的な部分と、およびアイテムに関連する親および／または他のコンポーネントから受け取られる継承部分の両方を含むことができる。したがって、アイテムが階層構造に従って、階層の根（root）から各アイテムへのパスの枝に沿ってセキュリティ・ポリシーを継承することを可能にする規則がモデル化されることができる。たとえばツリーのルート・ノードと各データ・アイテムの間に１つのパスがある場合など、より従来型のツリー構造に遭遇する場合、セキュリティ・ポリシーの代替マッピングを適用することができる。遭遇する階層のタイプに応じてセキュリティ・ポリシーをマップするための様々な手法を提供することによって、本発明は、システム・パフォーマンスを促進する堅牢なセキュリティ・モデルを提供し、また従来のセキュリティ技術に付随する不確実性を軽減することによって安定性を高める。
【００１１】
上記内容および関連する目的を達成するために、本発明のある例示的な態様について、以下の説明および添付の図面に関連して本明細書中で説明する。こうした態様は、本発明を実施することが可能な様々なやり方を示すものであり、そのすべては、本発明によって網羅されるものである。本発明の他の利点および新規な特徴は、図面と併せて考慮すれば、本発明についての以下の詳細な説明から明らかになることになる。
【発明を実施するための最良の形態】
【００１２】
本発明は、階層的なデータベースまたはストレージ構造（様々なノードに分岐する階層ツリーなど）内に常駐する（またはそれに関連する）データ・アイテムのセキュリティ保護を促進するためのシステムおよび方法論に関する。ある態様では、１つまたは複数のデータ・アイテムに関連する階層的なデータ構造を有するデータベース・セキュリティ・システムが提供される。このシステムは、データベースに関連するグローバル位置または領域からセキュリティ・ポリシーをデータ・アイテムに適用するセキュリティ・コンポーネントを含む。遭遇されまたは処理されるデータ構造のタイプに応じて、明示および／または継承セキュリティ・プロパティがデータ・アイテムによって受け取られ、データ・アイテムに伝播されることを可能にするために、様々なコンポーネントおよび処理が使用される。アイテム・レベルではなく、データベースのグローバル、ボリュームまたは領域レベルでセキュリティ・ポリシーおよび／またはプロパティを関連付けることによって、データベースの処理オペレーションは、個々のセキュリティ・ファイルをデータベース内に常駐する個々のデータ・アイテムに一般にリンクする従来のシステムよりも軽減される。
【００１３】
本出願では、用語「コンポーネント」、「ツリー」、「モデル」、「システム」などは、コンピュータ関連のエンティティ、すなわちハードウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアを指す。たとえば、コンポーネントは、それだけに限らないが、プロセッサ上で実行されるプロセス、プロセッサ、オブジェクト、実行可能物（ｅｘｅｃｕｔａｂｌｅ）、実行スレッド、プログラムおよび／またはコンピュータであることができる。例を挙げると、サーバ上で実行されるアプリケーションとサーバの両方がコンポーネントであることができる。１つまたは複数のコンポーネントが実行のプロセスおよび／またはスレッド内に常駐することがあり、またコンポーネントは、１つのコンピュータ上に集中させ、かつ／または２つ以上のコンピュータ間で分散することができる。
【００１４】
最初に図１を参照すると、本発明の一態様によるデータベース・セキュリティ・システムおよびモデル１００が示されている。システム１００は、データベース内のグローバルなまたは領域化された位置から管理される（データベースの外部のリモート位置から管理されることもできる）セキュリティ・コンポーネント１２０を備えるデータベース１１０を含む。データベース１２０は、１つまたは複数の階層構造１３０および１４０を含む。こうした階層は、一般的なツリー構造１３０や、より複雑なデータ構造たとえば有向非循環グラフ（ＤＧＡ）として一般にモデル化される包含階層１４０など、階層的に配列された実質上どんなタイプのデータ・アイテム（楕円形のノードとして図示する）をも含むことができる。ツリー１３０および包含階層１４０（ＤＡＧとも称される）が図示されているが、本発明のセキュリティ・モデルは、実質上どんなタイプの階層データ構造にも適用することができることを理解されたい。以下でより詳細に述べるように、セキュリティ・コンポーネント１２０から各階層１３０および１４０にセキュリティ・ポリシーを与えるために、様々なプロセスおよびコンポーネントが使用される。
【００１５】
本発明のある態様では、セキュリティ・コンポーネント１２０は、よりグローバルなやり方で、たとえばデータベース１１０の内部で／からマップされる１つまたは複数のセキュリティ領域１５０から、セキュリティ・ポリシーが適用されることを可能にする。こうしたポリシーは、１６０上の明示的に定義されたポリシーまたはプロパティ、および／または１７０上の関係するデータ構造のタイプに関連するパスまたは領域の様々な部分から継承されることができる一般化されたポリシーまたはプロパティを含むことができる。たとえば、セキュリティ・ポリシーは、所望であれば、ツリー１３０についてはあるやり方で、ＤＡＧ１４０については次のやり方で適用されることができる。
【００１６】
上述したように、セキュリティ・ポリシーがデータベース・アイテムに自動的に関連付けられることを可能にする様々なコンポーネントおよびプロセスが提供される。こうしたコンポーネントは、使用されるデータ構造のタイプに応じて、セキュリティ・コンポーネント１２０から階層１３０および１４０内の各アイテムにセキュリティ・ポリシーをマップするセキュリティ・モデルを定義する。たとえば、あるタイプの構造では、包含階層は、階層内に現れるアイテム間の様々な保持リレーションシップを含むことができる。この保持リレーションシップを使用して、それぞれのアイテムについてセキュリティ・ポリシーを伝播することができ、該ポリシーは、明示的部分１６０（たとえばシステム管理者によって定義される）、ならびに／またはそのアイテムに関連する親および／または他のコンポーネントから受け取られる継承部分１７０を含むことができる。このように、アイテムが階層構造に従って、階層の根から各アイテムへのパスの枝に沿ってセキュリティ・ポリシーを継承できるようにする規則が提供されることができる。また、たとえばツリーのルート・ノードと各データ・アイテムの間に１つのパスがある場合など、より従来型のツリー構造に遭遇する場合、セキュリティ・ポリシーの代替マッピングが適用されることができる。
【００１７】
データベース１１０、および／または階層１３０／１４０は、アイテム・ストア（データベース内のメモリ領域など）としてモデル化されることができることに留意されたい。セキュリティ・ポリシーが指定され実施され粒度は一般に、所与のストアにおけるアイテムに対する様々なオペレーションのレベルである。一般に、セキュリティ・コンポーネント１２０（またはモデル）は、たとえばアクセス制御リスト（ＡＣＬ）を用いて、アイテムに対するこうしたオペレーションを実施するためにアクセスが許可され、または拒否される可能性のある１組のプリンシパルを提供する。それぞれのＡＣＬは一般に、以下でより詳細に述べるアクセス制御エントリ（ＡＣＥ：Access Control Entry）の順次付けされた集まりである。
【００１８】
あるアイテムのセキュリティ・ポリシーは、たとえば任意アクセス制御ポリシーおよびシステム・アクセス制御ポリシーで表されることができ、こうしたポリシーは、１組のＡＣＬとしてモデル化することができる。第１の組（任意ＡＣＬ−ＤＡＣＬ）は、アイテムの所有者によって様々なプリンシパルに許可される任意アクセスを表し、第２の組のＡＣＬはＳＡＣＬ（システム・アクセス制御リスト：System Access Control List）と称され、このＳＡＣＬは、オブジェクトが操作されるときにシステム監査がどのように達成されるかについて指定する。こうしたリストに加えて、アイテム・ストア内のアイテムは一般に、アイテムの所有者（所有者ＳＩＤ）に対応するセキュリティ識別子（ＳＩＤ）に関連付けられる。
【００１９】
アイテム・ストア内にアイテムを編成するためのある態様は、１４０に示すような包含階層のものである。一般に、包含階層は、アイテム間の保持リレーションシップを介して実現される。たとえば、「ＡがＢを包含する」と表現される、２つのアイテムＡとＢの間の保持リレーションシップは、アイテムＡがアイテムＢの存続期間に影響を及ぼすことを可能にする。一般に、アイテム・ストア内のアイテムは、別のアイテムからのそれへの保持リレーションシップがあって初めて存在することができる。この規則の１つの例外は、包含階層の根である。上述したように、保持リレーションシップは、アイテムの存続期間を制御するのに加えて、アイテムのセキュリティ・ポリシーを伝播するためのコンポーネントを提供する。
【００２０】
各アイテムについて指定されたセキュリティ・ポリシーは一般に、２つ（またはそれ以上）の部分、すなわちそのアイテムについて明示的に指定された部分、およびアイテム・ストア内のアイテムの親から継承された部分を含む。アイテムについて明示的に定義されたセキュリティ・ポリシーもまた、２つ（またはそれ以上）の部分、すなわち考慮対象のアイテムへのアクセスを管理する部分、および包含階層または他の階層構造内の子孫によって継承されたセキュリティ・ポリシーに影響を及ぼす部分を含むことができる。子孫によって継承されるセキュリティ・ポリシーは一般に、明示的に定義されたポリシーと継承されたポリシーの総合機能である。
【００２１】
次に図２を参照すると、本発明の一態様によるアクセス制御リスト２００および順序付けコンポーネント２１０が示されている。上述したように、セキュリティ・ポリシーは一般に、包含階層内の保持リレーションシップを介して伝播される。セキュリティ・ポリシーは保持リレーションシップを介して伝播され、またアイテムでオーバライドされることもできるので、アイテムについて有効なセキュリティ・ポリシーがどのように判断されるかについて以下に述べる。たとえば、包含階層内のアイテムは、アイテム・ストアの根からアイテムへのパスに沿ってＡＣＬを継承する。所与のパスについて継承されたＡＣＬ内では、ＡＣＬ２００内の様々なアクセス制御エントリ（ＡＣＥ：Access Control Entry）の順序付けによって、実施される最終的なセキュリティ・ポリシーが一般に判断される。以下の表記は、順序付けコンポーネント２１０を介した、ＡＣＬ内のＡＣＥの順序付けについて示している。
【００２２】
アイテムによって継承されるＡＣＬ内のＡＣＥの順序付けは、以下の規則によって判断することができる。  
規則１  
アイテム（Ｉ）の継承されたＡＣＬ（Ｌ）について、  
アイテムＩ１、Ｉ２について、  
Ｌ内のＡＣＥ  Ａ１およびＡ２について  
Ｉ１は、Ｉ２の祖先であり、かつ  
Ｉ２は、Ｉ３の祖先であり、かつ  
Ａ１は、Ｉ１から継承されたＡＣＥであり、かつ  
Ａ２は、Ｉ２から継承されたＡＣＥであることは、  
ＬにおいてＡ２がＡ１に優先することを暗黙に定義する。
【００２３】
上記規則は、包含階層の根からアイテムＩへのパス内の様々なアイテムから継承されるＡＣＥを階層化する。より近くのコンテナから継承されたＡＣＥが、遠くのコンテナから継承されたエントリよりも優先される。これによって、直感的に、包含階層内のさらに上から継承されたＡＣＥをオーバライドする能力が管理者に与えられる。
【００２４】
以下の規則は、アイテムへのアクセスを否定するＡＣＥが、アイテムへのアクセスを許可するＡＣＥに先行することを規定する。  
規則２  
アイテム（Ｉ）の継承されたＡＣＬ（Ｌ）について、  
アイテムＩ１について、  
Ｌ内のＡＣＥ  Ａ１およびＡ２について、  
Ｉ１は、Ｉ２の祖先であり、かつ  
Ａ１は、Ｉ１から継承されたＡＣＣＥＳＳ＿ＤＥＮＩＥＤ＿ＡＣＥであり、かつ  
Ａ２は、Ｉ１から継承されたＡＣＣＥＳＳ＿ＧＲＡＮＴＥＤ＿ＡＣＥであることは、  
ＬにおいてＡ１がＡ２に優先することを暗黙に定義する。
【００２５】
図３を参照すると、システム３００に、本発明の一態様によるセキュリティ・ポリシーの配布が示されている。システム３００は、ツリー構造３２０および／またはＤＡＧ３３０に、１つまたは複数のセキュリティ・ポリシー３１０を展開する。ツリー３２０である包含階層の場合、ツリーの根からアイテムに１つのパスが存在し、したがって、アイテムは、３４０で、継承された１つのＡＣＬを有する。こうした状況下では、アイテムによって継承されるＡＣＬは、その中のＡＣＥの相対順序付けに関する既存のセキュリティ・モデルにおいてファイル（アイテム）によって継承されるＡＣＬに一致する。しかし、包含階層が有向非循環グラフ（ＤＡＧ）３３０である場合、アイテムに複数の保持リレーションシップが許される。こうした状況下では、包含階層の根からアイテムへの複数のパスが存在する。アイテムは、アイテムが関連付けられるパスに沿ってＡＣＬを継承するので、３５０で、単一のＡＣＬではなく、ＡＣＬの集まりが使用される。
【００２６】
上記のモデルは、厳密に１つのＡＣＬがファイルまたはフォルダに関連付けられるファイルシステムモデルとは異なることに留意されたい。したがって、レガシー・インターフェースの場合、システム３００は、アイテムがアクセスされた特定のパスに関するＡＣＬを返すことができる。しかし、アイテム・ストア・モデルの場合、アイテムに関連する１組のＡＣＬが返されることになる。
【００２７】
包含階層がツリー３２０ではなく、ＤＡＧ３３０である場合、入念に策定されるべき２つの側面が一般に存在する。１つの側面では、このモデルは、アイテムがその親から２つ以上のＡＣＬを継承する場合に、有効なセキュリティ・ポリシーがどのように計算されるか、またどのようにアイテムが編成され、表現され、アイテム・ストアのセキュリティ・モデルの管理に影響を及ぼすかについての記述を提供する。
【００２８】
以下のアルゴリズムは、所与のプリンシパルの所与のアイテムに対するアクセス権を評価する。アルゴリズムに進む前に、以下の表記によって、アイテムに関連付けられるＡＣＬを示す。  
Ｉｎｈｅｒｉｔｅｄ＿ＡＣＬｓ（ＩｔｅｍＩＤ）−アイテムによって継承された１組のＡＣＬであり、このアイテムのＩＤは、ストア内のその親からのＩｔｅｍＩＤである。  
Ｅｘｐｌｉｃｉｔ＿ＡＣＬ（ＩｔｅｍＩＤ）−アイテムについて明示的に定義されたＡＣＬであり、このアイテムのＩＤは、ＩｔｅｍＩＤである。  
【００２９】
【表１】
2007509414.tif 000003
【００３０】
所望のアクセスが明示的に拒否されなかった場合、上記ルーチンは、ＳＴＡＴＵＳ＿ＳＵＣＣＥＳＳを返し、ｐＧｒａｎｔｅｄＡｃｃｅｓｓは、ユーザによって望まれる権利のうちのどれが、指定されたＡＣＬによって許可されたかを判断する。所望のアクセスが明示的に拒否された場合、上記ルーチンは、ＳＴＡＴＵＳ＿ＡＣＣＥＳＳ＿ＤＥＮＩＥＤを返す。
【００３１】
【表２−１】
2007509414.tif 000004
【００３２】
【表２−２】
2007509414.tif 000005
【００３３】
【表２−３】
2007509414.tif 000006
【００３４】
アイテムで定義されるセキュリティ・ポリシーの影響の範囲は、アイテム・ストアで定義される包含階層内のアイテムの子孫をカバーする。明示的なポリシーが定義されるアイテムの場合、その効果は、包含階層内の子孫によって継承されるポリシーを定義することに類似する。子孫によって継承された有効なＡＣＬは、アイテムによって継承されたＡＣＬを取り、（伝播されたＡＣＥは継承されないと指定するフラグが設定されていない限りは）明示的なＡＣＬ内の継承可能なＡＣＥをそのＡＣＬの最初に追加することによって得ることができる。これは、アイテムに関連する１組の継承可能なＡＣＬと称される。
【００３５】
フォルダ・アイテムを根とする包含階層内にセキュリティ保護についての明示的な指定が存在しないときは、そのフォルダのセキュリティ指定が一般に、包含階層内のそのアイテムのすべての子孫に適用される。したがって、明示的なセキュリティ・ポリシーの指定が設けられているあらゆるアイテムは、同様に保護されるアイテムの領域を定義し、またその領域内のすべてのアイテムについての有効なＡＣＬが、そのアイテムについての１組の継承可能なＡＣＬである。これによって、ツリーである包含階層の場合の領域が完全に定義される。各領域が番号と関連付けられる場合、アイテムが属する領域を、そのアイテムと共に含むだけで十分である。
【００３６】
ＤＡＧである包含階層の場合、有効なセキュリティ・ポリシーが変化する、包含階層内の箇所は、２つのタイプのアイテムによって一般に判断される。
【００３７】
明示的なＡＣＬが指定されているアイテム。それは一般に、管理者が明示的にＡＣＬを指定している、包含階層内の箇所である。
【００３８】
２つ以上の親をもつアイテムとその親は、それに関連付けられた異なるセキュリティ・ポリシーを有する。それらは一般に、アイテム・ボリュームについて指定されたセキュリティ・ポリシーの合流箇所であり、新しいセキュリティ・ポリシーの開始を示すアイテムである。
【００３９】
上記の定義によって、アイテム・ストア内のアイテムは一般に、２つのカテゴリ、すなわち同様に保護されるセキュリティ領域の根であるもの、およびそうでないものに分類される。セキュリティ領域を定義しないアイテムは一般に、１つのセキュリティ領域に属する。ツリーの場合と同様に、アイテムについての有効なセキュリティ保護は、アイテムが属する領域を指定することによって特定されることになる。これは、ストア内の同様に保護される様々な領域に基づいてアイテム・ストア内のセキュリティを管理するための簡単明瞭なモデルにつながる。
【００４０】
図４〜６に関する以下の議論は、本発明に従って使用することができるセキュリティ・ポリシーおよび／またはセキュリティ実装についてのより詳細な説明に関する。たとえば、詳細なビットマッピングについて説明されていが、本発明は、そのように説明される特定の実装に限定されない（たとえば他のビットマッピングおよび／または実装が可能である）ことを理解されたい。
【００４１】
一般に、セキュリティ記述子は、セキュリティ保護可能な（securable）オブジェクトに関連するセキュリティ情報を含む。セキュリティ記述子は、ＳＥＣＵＲＩＴＹ＿ＤＥＳＣＲＩＰＴＯＲ構造体、およびその関連するセキュリティ情報を含む。セキュリティ記述子は、以下のセキュリティ情報を含むことができる。  
オブジェクトの所有者および１次グループのＳＩＤ  
特定のユーザまたはグループに許可されまたは拒否されるアクセス権を指定するＤＡＣＬ  
オブジェクトについての監査記録を生成するアクセス試行のタイプを指定するＳＡＣＬ
セキュリティ記述子またはその個々のメンバの意味を限定する１組の制御ビット
【００４２】
アプリケーションは、セキュリティ記述子の内容を直接的に操作すべきではない。オブジェクトセキュリティ記述子内のセキュリティ情報を設定し、取り出すために、アプリケーションプログラミングインターフェース（ＡＰＩ：application programming interface）関数を提供することができる。さらに、新しいオブジェクトのためにセキュリティ記述子を作成し、初期化するための関数がある。
【００４３】
任意アクセス制御リスト（ＤＡＣＬ）は、セキュリティ保護可能なオブジェクトへのアクセスを許可されまたは拒否されるトラスティを識別する。あるプロセスがセキュリティ保護可能なオブジェクトにアクセスしようとする場合、システムは、オブジェクトのＤＡＣＬ内のＡＣＥをチェックして、それにアクセスを許可するかどうか判断する。オブジェクトがＤＡＣＬをもたない場合、システムは、完全アクセスを許可することができる。オブジェクトのＤＡＣＬがＡＣＥをもたない場合、ＤＡＣＬがアクセス権を与えていないので、このシステムは、オブジェクトへのアクセスの試行を拒否する。システムは、要求されたアクセス権を許可する１つまたは複数のＡＣＥを見つけ、または要求されたアクセス権が拒否されるまでＡＣＥを順にチェックする。
【００４４】
システム・アクセス制御リスト（ＳＡＣＬ）は、管理者が、セキュリティ保護されたオブジェクトへのアクセスの試行を記録できるようにする。ＡＣＥは、システムにセキュリティ・イベント・ログ内に記録を生成させる、指定されたトラスティによるアクセス試行のタイプを指定する。ＳＡＣＬ内のＡＣＥは、アクセス試行が失敗する場合、それが成功する場合、またはその両方の場合に監査記録を生成することができる。ＳＡＣＬは、許可されていないユーザがオブジェクトへのアクセスを得ようとするときに、アラームを発することもできる。一般にＡＣＥは、以下のアクセス制御情報を含む。  
ＡＣＥが適用されるトラスティを識別するセキュリティ識別子（ＳＩＤ）  
ＡＣＥによって制御されるアクセス権を指定するアクセス・マスク  
ＡＣＥのタイプを示すフラグ  
子のコンテナまたはオブジェクトが、ＡＣＬが添付された１次オブジェクトからＡＣＥを継承することができるかどうかを判断する１組のビットフラグ。
【００４５】
以下の表は、セキュリティ保護可能オブジェクトによってサポートされる可能なＡＣＥのタイプをリストする。
【００４６】
【表３】
2007509414.tif 000007
【００４７】
ある態様では、セキュリティ保護可能オブジェクトは、図４のマスク４００内に示されたアクセス・マスク形式（他の形式も可能である）によってそのアクセス権を構成することができる。この形式では、下位１６ビットはオブジェクト固有のアクセス権のためのものであり、次の７ビットは、ほとんどのタイプのオブジェクトに適用される標準のアクセス権のためのものであり、高位４ビットは、オブジェクト・タイプが１組の標準およびオブジェクト固有の権利にマップすることができる汎用のアクセス権を指定するために使用される。ＡＣＣＥＳＳ＿ＳＹＳＴＥＭ＿ＳＥＣＵＲＩＴＹビット（ＡＳビット）は、オブジェクトのＳＡＣＬにアクセスする権利に対応する。
【００４８】
汎用的な権利は、マスク４００内の高位４ビット内に指定される。一般に、それぞれのタイプのセキュリティ保護可能オブジェクトは、こうしたビットを、その１組の標準およびオブジェクト固有の権利にマップする。たとえば、あるタイプのファイル・オブジェクトは、ＧＥＮＥＲＩＣ＿ＲＥＡＤビットを、ＲＥＡＤ＿ＣＯＮＴＲＯＬおよびＳＹＮＣＨＲＯＮＩＺＥ標準アクセス権、ならびにＦＩＬＥ＿ＲＥＡＤ＿ＤＡＴＡ、ＦＩＬＥ＿ＲＥＡＤ＿ＥＡおよびＦＩＬＥ＿ＲＥＡＤ＿ＡＴＴＲＩＢＵＴＥＳオブジェクト固有アクセス権にマップすることができる。
【００４９】
他のタイプのオブジェクトは、ＧＥＮＥＲＩＣ＿ＲＥＡＤビット（ＧＲ）を、そのタイプのオブジェクトに適した１組のアクセス権にマップする。汎用アクセス権（generic access rights）を使用して、たとえばオブジェクトへのハンドルを開くときに望まれるアクセス権のタイプを指定することができる。これは一般に、対応する標準および特定の権利のすべてを指定するよりも単純である。以下の表に、汎用アクセス権について定義される可能な定数を示す。
【００５０】
【表４】
2007509414.tif 000008
【００５１】
一般に、各タイプのセキュリティ保護可能オブジェクトは、そのタイプのオブジェクトに固有のオペレーションに対応する１組のアクセス権を有する。こうしたオブジェクト固有のアクセス権に加えて、ほとんどのタイプのセキュリティ保護可能オブジェクトに共通のオペレーションに対応する１組の標準のアクセス権がある。以下の表に、標準アクセス権について定義される可能な定数を示す。
【００５２】
【表５】
2007509414.tif 000009
【００５３】
図５に、本発明の一態様による、同様に保護されるセキュリティ領域についての例示的なデータベース構造体５００を示す。同様に保護されるセキュリティ領域を定義するアイテムは、５００に示すセキュリティ・テーブル内でそれに関連付けられたエントリを有する。このセキュリティ・テーブルは、以下のように定義される。  
アイテムＩＤ−これは、同様に保護されるセキュリティ領域の根のアイテムＩＤである。  
アイテムＯＲＤＰＡＴＨ―これは、同様に保護されるセキュリティ領域の根に関連付けられたＯＲＤＰＡＴＨである。  
明示アイテムＡＣＬ−これは、同様に保護されるセキュリティ領域の根について定義された明示ＡＣＬである。場合によっては、これは、ＮＵＬＬである可能性がある（アイテムが、それぞれ異なる領域に属する複数の親を有するので、新しいセキュリティ領域が定義される場合など）。  
パスＡＣＬ−これは、アイテムによって継承された１組のＡＣＬである。  
領域ＡＣＬ−これは、アイテムに関連する同様に保護されるセキュリティ領域について定義された１組のＡＣＬである。明示的な列が非ＮＵＬＬ値を含む場合、これは、継承されたＡＣＬの列とは異なる。
【００５４】
所与のストア内のアイテムについて有効なセキュリティを計算するには、表５００を活用する。アイテムに関連するセキュリティ・ポリシーを判断するために、アイテムに関連するセキュリティ領域が解析され、その領域に関連するＡＣＬが取り出される。アイテムに関連するセキュリティ・ポリシーが（たとえば、明示的なＡＣＬを直接追加し、または新しいセキュリティ領域の形成をもたらす保持リンクを追加することによって間接的に）変更されるときに、セキュリティ・テーブル５００は、アイテムの有効なセキュリティを判断するための上記アルゴリズムが有効であることを容易にするため、最新に保たれなければならない。セキュリティ・テーブルを維持するための可能なアルゴリズムは、以下のとおりである。  
コンテナ内に新しいアイテムを作成する−  
コンテナ内にアイテムが新しく作成されるときに、それは、そのコンテナに関連するＡＣＬを継承する。新しく作成されたアイテムは１つの親をもつので、それは、その親と同様のセキュリティ領域に属する。したがって、一般に、セキュリティ・テーブル内に新しいエントリを作成する必要はない。  
明示的なＡＣＬをアイテムに追加する−
ＡＣＬがアイテムに追加されるときに、その所与のアイテム自体と同じセキュリティ領域に属する、包含階層内の子孫について新しいセキュリティ領域を定義する。他のセキュリティ領域に属し、しかし包含階層内のその所与のアイテムの子孫であるアイテムの場合、セキュリティ領域は変更されないままであり、しかし領域に関連する有効なＡＣＬは、新しいＡＣＬの追加を反映するように変更される。この新しいセキュリティ領域を取り入れることによって、祖先と複数の保持リンクを有するアイテムについてのさらなる領域定義を引き起こすことができ、この祖先は、古いセキュリティ領域と、新しく定義されたセキュリティ領域の両方にまたがるものである。こうしたアイテムについて、新しいセキュリティ領域が定義されることができ、この手順が繰り返される。
【００５５】
図６に、新しい明示ＡＣＬを取り入れることによって既存のセキュリティ領域から作り出される同様に保護される新しいセキュリティ領域を示す。これは、参照番号６００で、２でマーク付けされたノードによって示されている。しかし、この新しい領域を取り入れることによって、アイテムが複数の保持リンクを有するために、参照番号６１０の追加の領域３の作成がもたらされる。セキュリティ・テーブルの更新の以下のシーケンスは、同様に保護されるセキュリティ領域の要素の分解（factoring）を反映している。
【００５６】
アイテムに保持リンクを追加する−  
アイテムに保持リンクが追加される場合、それは一般に、３つの可能性のうちの１つを引き起こす。保持リンクのターゲット、すなわち考慮対象のアイテムがセキュリティ領域の根である場合は、その領域に関連する有効なＡＣＬは変更され、セキュリティ・テーブルへのさらなる修正は一般に必要とされない。新しい保持リンクのソースのセキュリティ領域が、アイテムの既存の親のセキュリティ領域と同一である場合は、変更は一般に必要とされない。しかし、アイテムが現在、それぞれ異なるセキュリティ領域に属する複数の親を有する場合、セキュリティ領域の根として、その所与のアイテムを含む新しいセキュリティ領域が形成される。この変更は、そのアイテムに関連するセキュリティ領域を修正することによって、包含階層内のアイテムに伝播される。考慮対象のアイテムとして同じセキュリティ領域に属し、また包含階層内のその子孫であるアイテムは、変更されるべきである。こうした変更が行われる場合、複数の保持リンクを有するアイテムは、追加の変更が必要であるかどうか判断するために検査されなければならない。そのアイテムのうちのいずれかが、それぞれ異なるセキュリティ領域の複数の親を有する場合、さらなる変更を必要とする可能性がある。
【００５７】
アイテムからの保持リンクを削除する−  
アイテムからの保持リンクが削除される場合、ある条件が満たされるならば、その親の領域を含むセキュリティ領域を壊す可能性がある。より厳密に言うと、これは、以下の条件下で達成することができる。
【００５８】
保持リンクの削除によって、親を１つだけ有するアイテムがもたらされ、またそのアイテムについて、明示ＡＣＬが指定されていない場合。
【００５９】
保持リンクの削除によって、その複数の親がすべて同じセキュリティ領域に属するアイテムがもたらされ、またそのアイテムについて、明示ＡＣＬが指定されていない場合。こうした状況下では、そのセキュリティ領域は、親と同じであるとマーク付けされることができる。このマーク付けは、そのセキュリティ領域が、壊される領域に対応するすべてのアイテムに適用されるべきである。
【００６０】
アイテムから明示ＡＣＬを削除する−  
アイテムから明示ＡＣＬが削除される場合、そのアイテムを根とするセキュリティ領域を、その親のそれとともに壊す可能性がある。より厳密に言うと、これは、明示ＡＣＬの削除によって、包含階層内の複数の親が同じセキュリティ領域に属するアイテムがもたらされる場合に達成することができる。こうした状況下では、そのセキュリティ領域は、親と同じであるとマーク付けされることができ、その変更は、そのセキュリティ領域が壊される領域に対応するアイテムに適用される。
【００６１】
アイテムに関連するＡＣＬを修正する−  
この場合、セキュリティ・テーブルへの新しい追加は、一般に必要とされない。領域に関連する有効ＡＣＬが更新され、新しいＡＣＬ変更が、それによって影響を受けるセキュリティ領域に伝播される。
【００６２】
図７は、本発明の一態様によるセキュリティ・プロセス７００を示すフローチャートである。説明を簡潔にするために、この方法論は、一連の行為として示され説明されているが、一部の行為は、本発明によれば、本明細書で示され説明されるものとは異なる順序で、かつ／または他の行為と同時に行うことができるのと同様に、本発明は、その行為の順序によって限定されないことを理解されたい（understand and appreciate）。たとえば、代替方法として、方法論は、相互に関係する一連の状態または事象として、たとえば状態図に表することができることが当業者には理解されよう。さらに、本発明による方法論を実施するために、図示されたすべての行為が必要であるとは限らないことがある。
【００６３】
図７の７１０に進むと、階層構造について１つまたは複数のセキュリティ・ポリシーが定義されている。上述したように、これは、通常のツリー構造、および包含階層などの他の構造を含むことができる。ツリー構造のいくつかの側面、および包含階層に関するいくつかの側面を含むハイブリッド構造もまた可能である。セキュリティ・ポリシーは、その中に個々のポリシーを記述する１つまたは複数のアクセス制御エントリを含むアクセス制御リストなどの装置内に設けることができる。７２０で、セキュリティ・ポリシーについて、明示および／また継承マッピング規則が定義される。こうした規則は、明示的マッピングの場合には、オーバライド機能を含むことができ、他の規則は、複数の保持リレーションシップが可能である包含階層などのより複雑な構成内でどのようにポリシーがマッピングされるかを規定する。７３０で、各規則およびポリシーの順序付けが判断される。たとえば、遭遇する構造および／または階層リレーションシップのタイプに応じて、アクセス制御エントリが、アクセス制御リスト内に配列することができる。７４０で、所与の階層構造について、１つまたは複数のセキュリティ領域が定義される。７５０で、１つまたは複数のセキュリティ・ポリシーが、７４０で定義された選択領域に適用される。
【００６４】
図８を参照すると、本発明の様々な態様を実施するための例示的な環境８１０が、コンピュータ８１２を含んでいる。コンピュータ８１２は、処理装置８１４、システム・メモリ８１６およびシステム・バス８１８を含む。システム・バス８１８は、それだけに限らないが、システム・メモリ８１６を含めてシステム構成要素を処理装置８１４に結合する。処理装置８１４は、様々な使用可能なプロセッサのうちのいずれかであることができる。デュアル・マイクロ・プロセッサおよび他のマルチ・プロセッサ・アーキテクチャもまた、処理装置８１４として使用することができる。
【００６５】
システム・バス８１８は、メモリ・バスまたはメモリ・コントローラ、周辺バスまたは外部バス、および／またはそれだけに限らないが、１６ビット・バス、業界標準アーキテクチャ（ＩＳＡ：Industry Standard Architecture）、マイクロ・チャネル・アーキテクチャ（ＭＣＡ：Micro Channel Architecture）、拡張ＩＳＡ（ＥＩＳＡ：Enhanced ISA）、インテリジェント・ドライブ・エレクトロニクス（ＩＤＥ：Intelligent Drive Electronics）、ＶＥＳＡローカル・バス（ＶＬＢ：VESA Local bus）、周辺コンポーネント相互接続（ＰＣＩ：Peripheral Component Interconnect）、ユニバーサル・シリアル・バス（ＵＳＢ：Universal Serial Bus）、拡張グラフィック・ポート（ＡＧＰ：Advanced graphics port）、パーソナル・コンピュータ・メモリ・カード国際協会バス（ＰＣＭＣＩＡ：Personal Computer Memory Card International Association）および小型コンピュータ・システム・インターフェース（ＳＣＳＩ：Small Computer System Interface）を含めて任意の様々な使用可能バス・アーキテクチャを使用するローカル・バスを含めて、複数のタイプのバス構造のいずれかであることができる。
【００６６】
システム・メモリ８１６は、揮発性メモリ８２０および不揮発性メモリ８２２を含む。起動時などにコンピュータ８１２内の要素間で情報を転送するための基本ルーチンを含む基本入出力システム（ＢＩＯＳ：basic input/output system）は、不揮発性メモリ８２２内に格納される。限定のためではなく、例を挙げると、不揮発性メモリ８２２には、読出し専用メモリ（ＲＯＭ：read only memory）、プログラマブルＲＯＭ（ＰＲＯＭ）、電気的プログラマブルＲＯＭ（ＥＰＲＯＭ：electrically programmable ROM）、電気的消去可能ＲＯＭ（ＥＥＰＲＯＭ：electrically erasable ROM）またはフラッシュ・メモリを含むことができる。揮発性メモリ８２０は、外部キャッシュ・メモリの働きをするランダム・アクセス・メモリ（ＲＡＭ：random access memory）を含む。限定のためではなく、例を挙げると、ＲＡＭは、同期ＲＡＭ（ＳＲＡＭ：synchronous RAM）、ダイナミックＲＡＭ（ＤＲＡＭ：ｄｙｎａｍｉｃ  ＲＡＭ）、同期ＤＲＡＭ（ＳＤＲＡＭ：synchronous DRAM）、ダブルデータレートＳＤＲＡＭ（ＤＤＲ  SDRAM:double data rate SDRAM）、拡張ＳＤＲＡＭ（ＥＳＤＲＡＭ：enhanced SDRAM）、シンクリンクＤＲＡＭ（ＳＬＤＲＡＭ：Synchlink DRAM）およびダイレクト・ラムバスＲＡＭ（ＤＲＲＡＭ：direct Rambus RAM）などの多くの形を取ることができる。
【００６７】
コンピュータ８１２は、取出し可能／取出し不可能、揮発性／不揮発性のコンピュータ記憶媒体をも含むことができる。図８に、たとえばディスク記憶装置８２４を示す。ディスク記憶装置８２４は、それだけに限らないが、磁気ディスク・ドライブ、フロッピー（登録商標）ディスク・ドライブ、テープ・ドライブ、Ｊａｚドライブ、Ｚｉｐドライブ、ＬＳ−１００ドライブ、フラッシュ・メモリ・カードまたはメモリスティックなどの装置を含む。さらに、ディスク記憶装置８２４は、それだけに限らないが、コンパクト・ディスクＲＯＭ（ＣＤ−ＲＯＭ：compact disk ROM）装置、ＣＤ記録可能ドライブ（ＣＤ−Ｒドライブ：CD recordable drive）、ＣＤ再書込み可能ドライブ（ＣＤ−ＲＷ  ドライブ：CD rewritable drive）、またはデジタル多用途ディスクＲＯＭドライブ（ＤＶＤ−ＲＯＭ：digital versatile disk ROM drive）などの光ディスク・ドライブを含めて、他の記憶媒体とは別個に、またはそれと組み合わせた記憶媒体を含むことができる。ディスク記憶装置８２４のシステム・バス８１８への接続を容易にするために、インターフェース８２６などの取出し可能または取出し不可能インターフェースが一般に使用される。
【００６８】
図８は、ユーザと、適切なオペレーティング環境８１０内に示す基本的なコンピュータ・リソースの間の仲介の働きをするソフトウェアを示していることを理解されたい。こうしたソフトウェアは、オペレーティング・システム８２８を含む。ディスク記憶装置８２４内に格納することができるオペレーティング・システム８２８は、コンピュータ・システム８１２のリソースを制御し割り当てるように働く。システム・アプリケーション８３０は、システム・メモリ８１６またはディスク記憶装置８２４内に格納されたプログラム・モジュール８３２およびプログラムデータ８３４を介して、オペレーティング・システム８２８によるリソース管理を利用する。本発明は、様々なオペレーティング・システム、またはオペレーティング・システムの組合せで実装することができることを理解されたい。
【００６９】
ユーザは、入力装置８３６を介してコンピュータ８１２にコマンドまたは情報を入力する。入力装置８３６は、それだけに限らないが、マウス、トラックボール、スタイラス、タッチパッド、キーボード、マイク、ジョイスティック、ゲームパッド、パラボラ・アンテナ、スキャナ、ＴＶチューナカード、デジタルカメラ、デジタルビデオカメラ、ウェブカメラなどのポインティング装置を含む。こうしたおよび他の入力装置は、インターフェース・ポート８３８を介してシステム・バス８１８を通って処理装置８１４に接続する。インターフェース・ポート８３８は、たとえばシリアル・ポート、パラレル・ポート、ゲーム・ポートおよびユニバーサル・シリアル・バス（ＵＳＢ）を含む。出力装置８４０は、入力装置８３６と同じタイプのポートのうちのいくつかを使用する。したがって、ＵＳＢポートを使用して、コンピュータ８１２に入力を提供し、またコンピュータ８１２から出力装置８４０に情報を出力することができる。数ある出力装置８４０の中でも特にモニタ、スピーカおよびプリンタなど、特別なアダプタを必要とするいくつかの出力装置８４０があることを示すために、出力アダプタ８４２が設けられている。出力アダプタ８４２は、限定のためではなく、例を挙げると、出力装置８４０とシステム・バス８１８の間の接続手段を提供するビデオおよび音声カードを含む。リモート・コンピュータ８４４など、他の装置、および／または装置のシステムが、入力と出力の両方の能力を提供することに留意されたい。
【００７０】
コンピュータ８１２は、リモート・コンピュータ８４４などの１つまたは複数のリモート・コンピュータへの論理接続を使用して、ネットワーク化された環境で動作することができる。例を挙げると、リモート・コンピュータ８４４は、パーソナル・コンピュータ、サーバ、ルータ、ネットワークＰＣ、ワークステーション、マイクロ・プロセッサ・ベースの機器、ピア・デバイス、他の一般的なネットワーク・ノードなどとすることができ、コンピュータ８１２に関して述べた要素の多くまたはすべてを一般に含む。簡潔にするために、メモリ記憶装置８４６だけがリモート・コンピュータ８４４とともに示されている。リモート・コンピュータ８４４は、ネットワーク・インターフェース８４８を介してコンピュータ８１２に論理的に接続され、次いで通信接続８５０を介して物理的に接続される。ネットワーク・インターフェース８４８は、ローカル・エリア・ネットワーク（ＬＡＮ：local area network）および広域ネットワーク（ＷＡＮ：wide area network）などの通信ネットワークを包含する。ＬＡＮ技術には、ファイバ分散データ・インターフェース（ＦＤＤＩ：Fiber Distributed Data Interface）、銅分散データ・インターフェース（ＣＤＤＩ：Copper Distributed Data Interface）、イーサネット（登録商標）／ＩＥＥＥ１１０２．３、トークンリング／ＩＥＥＥ１１０２．５などが含まれる。ＷＡＮ技術は、それだけに限らないが、ポイント・ツー・ポイント・リンク、総合デジタル通信網（ＩＳＤＮ：Integrated Services Digital Network）などの回路交換ネットワークおよびその変形体、パケット交換網、ならびにデジタル加入者線（ＤＳＬ：Digital Subscriber Line）が含まれる。
【００７１】
通信接続８５０は、ネットワーク・インターフェース８５０をバス８１８に接続するために使用されるハードウェア／ソフトウェアを指す。通信接続８５０は、説明を分かりやすくするために、コンピュータ８１２内に示されているが、それは、コンピュータ８１２の外部にあることもある。ネットワーク・インターフェース８４８への接続に必要なハードウェア／ソフトウェアは、例示するためだけに挙げると、通常の電話級のモデム、ケーブル・モデムおよびＤＳＬモデム、ＩＳＤＮアダプタ、ならびにイーサネット（登録商標）カードを含めて、モデムなどの内部および外部技術を含む。
【００７２】
図９は、本発明が対話することができる例示的なコンピュータ環境９００の概略ブロック図である。システム９００は、１つまたは複数のクライアント９１０を含む。クライアント９１０は、ハードウェアおよび／またはソフトウェア（スレッド、プロセス、コンピューティング装置など）であることができる。システム９００は、１つまたは複数のサーバ９３０をも含む。サーバ９３０もまた、ハードウェアおよび／またはソフトウェア（スレッド、プロセス、コンピューティング装置など）であることができる。サーバ９３０は、たとえば本発明を使用することによって変換を実施するためのスレッドを収容することができる。クライアント９１０とサーバ９３０の間の１つの可能な通信は、２つ以上のコンピュータ・プロセスの間で伝送されるように適応されたデータ・パケットの形であることができる。システム９００は、クライアント９１０とサーバ９３０の間の通信を円滑に進めるために使用することができる通信フレームワーク９５０を含む。クライアント９１０は、１つまたは複数のクライアント・データ・ストア９６０に動作可能に接続され、このクライアント・データ・ストアを使用して、クライアント９１０にとってローカルの情報を格納することができる。同様に、サーバ９３０は、１つまたは複数のサーバ・データ・ストア９４０に動作可能に接続され、このサーバ・データ・ストアを使用して、サーバ９３０にとってローカルの情報を格納することができる。
【００７３】
上記で述べた内容は、本発明の例を含む。もちろん、本発明について説明するために、構成要素または方法論の考えられるあらゆる組合せについて述べることは不可能であるが、本発明の多くのさらなる組合せおよび置換えが可能であることが当業者には理解されよう。したがって、本発明は、特許請求の範囲の精神および範囲内に含まれるすべてのこうした変更、修正および変形を包含するものである。さらに、詳細説明または特許請求の範囲中で用語「含む（include）」が使用される範囲で、こうした用語は、特許請求の範囲において「備える（comprise）」が移行語（transitional word）として使用される場合に解釈されるように、用語「備える」と同じように包含的なものである。
【図面の簡単な説明】
【００７４】
【図１】本発明の一態様によるデータベース・セキュリティ・システムおよびモデルの概略ブロック図である。
【図２】本発明の一態様によるアクセス制御リストおよび順序付けコンポーネントの図である。
【図３】本発明の一態様によるセキュリティ・ポリシー配布を示す図である。
【図４】本発明の一態様による例示的なアクセス・マスクを示す図である。
【図５】本発明の一態様による、同様に保護されるセキュリティ領域についての例示的なデータ構造体を示す図である。
【図６】本発明の一態様によるセキュリティ領域作成を示す図である。
【図７】本発明の一態様によるセキュリティ・プロセスを示すフローチャートである。
【図８】本発明の一態様による適切なオペレーティング環境を示す概略ブロック図である。
【図９】本発明が対話することができる例示的なコンピューティング環境の概略ブロック図である。
【図１】
2007509414.tif 000010
【図２】
2007509414.tif 000011
【図３】
2007509414.tif 000012
【図４】
2007509414.tif 000013
【図５】
2007509414.tif 000014
【図６】
2007509414.tif 000015
【図７】
2007509414.tif 000016
【図８】
2007509414.tif 000017
【図９】
2007509414.tif 000018
【国際調査報告】
2007509414.tif 000019
2007509414.tif 000020