JP4892179B2 - データ項目のためのゾーンベースのセキュリティ管理 - Google Patents

データ項目のためのゾーンベースのセキュリティ管理 Download PDF

Info

Publication number
JP4892179B2
JP4892179B2 JP2004214830A JP2004214830A JP4892179B2 JP 4892179 B2 JP4892179 B2 JP 4892179B2 JP 2004214830 A JP2004214830 A JP 2004214830A JP 2004214830 A JP2004214830 A JP 2004214830A JP 4892179 B2 JP4892179 B2 JP 4892179B2
Authority
JP
Japan
Prior art keywords
principal
security
item
authority
zone
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004214830A
Other languages
English (en)
Other versions
JP2005050335A (ja
Inventor
フーディス イリーナ
ノビク レブ
アナンド サンジャイ
エイチ.アガーワル サミート
セス ラマン バラン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2005050335A publication Critical patent/JP2005050335A/ja
Application granted granted Critical
Publication of JP4892179B2 publication Critical patent/JP4892179B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2145Inheriting rights or properties, e.g., propagation of permissions or restrictions within a hierarchy

Description

本発明は、全般的にはデータセキュリティの分野に関する。より詳細には、本発明は、データ項目グループのためのセキュリティ管理に関する。
情報を扱う場合、しばしば情報の特定の部分へのアクセスを制限し、そうすることによって、その特定の部分が、許可された一定のユーザにのみアクセス可能であるようにすることが望ましい。情報が物理的な文書(たとえば、印刷された本や台帳)に含まれる場合、そうした文書は、物理的なアクセス制御、たとえば鍵および文書管理者を使って保護することができる。しかし、今日の世界では、大量の情報が、デジタルデータの形で格納される。デジタルデータは、容易に作成、変更、コピー、移送、および削除され、膨大なデジタルデータが無数の位置に分散して存在する結果となっている。物理的な文書と同様、しばしば、デジタルデータのある部分へのアクセスを制限することが望ましい。しかし、デジタルデータは莫大な量であり、デジタルデータの作成、コピー、移送、変更、および削除が容易なので、デジタルデータを保護することは困難である。
現在存在する、一般的な2つのタイプのデジタルデータ記憶は、ファイル構造およびデータベースである。ファイル構造とは、階層的なデータ記憶システムであり、デジタルデータを含むファイルが、フォルダに格納される。フォルダは、他のフォルダにさらに格納することができる。ファイル中のデジタルデータは、項目ごとにアクセスされる。言い換えると、ファイルがアクセスされるとき、ファイルの中に何があるかがしばしばわかっており、ファイルへのアクセスは、具体的にはファイル中のデジタルデータを見直し、または操作するために行われる。
一方、データベースは、一般にデジタルデータを物理テーブルに格納する。物理テーブルは、一般に、何らかの論理的なグループ化によって編成される。たとえば、データベース中の物理テーブルは、デジタルアドレス帳を含むことができる。デジタルアドレス帳を含むテーブルは、テーブル中の情報のカテゴリを指定する列をさらに有することができる。たとえば、デジタルアドレス帳は、名、性、電話番号、住所などの列を含むことができる。
ファイルシステムとデータベースにおける違いのせいで、こうした2つのタイプのデジタルデータ記憶におけるセキュリティを実現するための手法も異なる。たとえば、ファイル構造では、アクセス制御リスト(ACL)を、各ファイルに割り当てることができる。ACLは、各ユーザが所与のファイルに対してどのアクセス許可またはアクセス権を有するかを、コンピュータのオペレーティングシステムに示すデータ構造である。ACLは、ある特定のユーザまたはユーザグループが、たとえば読出し、書込みまたは実行アクセス許可などの特権を有することを指定することができる。ファイル構造では、フォルダ中に存在するどのフォルダもファイルも、ACL中で示され割り当てられたものと同じセキュリティのアクセス許可を潜在的に初期設定するように、フォルダにACLを割り当てることができる。しかし、管理者は、ある特定のファイルに対するアクセス要件に基づいて、デフォルトのセキュリティのアクセス許可を変更することができる。したがって、ファイルを操作するための各要求に応答して、そのファイル用のACLは、ファイルに割り当てられるアクセス許可を決定するためにアクセスされなければならない。
ファイルと共にACLを使用することの1つの欠点は、ファイル探索などの操作を実行するときに、さらにオーバーヘッドが追加されることである。たとえば、ユーザが、ある特定のタイプのファイル、または特定のデータを含むファイルを指定して探索を構成した場合、この探索は、そのファイルを探索領域に含める前に、最初に各ファイルごとにACLを照合して、ユーザがファイルに対してもっているセキュリティのアクセス許可を判定しなければならない。たとえば、ユーザがアクセスすることさえできないファイルの存在を明らかにすることは、適切でない場合がある。フォルダ中のファイルに対するデフォルトのアクセス許可は変更することができるので、各ファイル用のACLは、フォルダレベルのACLによって潜在的にいくつかのファイルが同じセキュリティのアクセス許可を初期設定する場合でさえも、照合を受けなければならない。
対照的に、データベースシステムにおけるセキュリティは、ACLを列全体に割り当てることによって行われる。ACLを列全体に割り当てることにより、列全体のデータに対するセキュリティのアクセス許可を判定するためにただ1つのACLにアクセスすればよいので、探索がより効率的に実行されるようになる。ユーザが、ある列にアクセスするのに適したセキュリティのアクセス許可をもっている場合、データベースは、探索をその列に対して実行するだけでよいように構成することができる。したがって、テーブル中の各要素ごとにアクセス許可を調べる必要はない。セキュリティのアクセス許可を列ベースで割り当てることの1つの欠点は、一部のアプリケーションにとっては、細分性が粗すぎる場合があることである。たとえば、デジタルアドレス帳のエントリを表す列中のデジタルデータのほとんどが、一般のアクセスに適したものであり得るが、社会保障番号や他のタイプの機密情報などのデジタルデータへのアクセスを制限することが望ましい場合がある。しかし、ACLが列全体に割り当てられると、セキュリティのアクセス許可は、列にある別々の項目の間で変えることができない。したがって、住所および電話番号へのアクセスを同様に制限せずに、社会保障番号へのアクセスを制限する方法がない。
したがって、ACLが、変更可能な細分性で割り当てられることを可能にするセキュリティシステムが有益であろう。
本発明の態様は、データ項目のためのゾーンベースのセキュリティ管理を対象とする。本発明の一実施形態では、コンピュータシステムが、項目の少なくとも一部分に対する権限を決定する。コンピュータシステムは、少なくとも1つのセキュリティゾーンに分けられる、いくつかの項目を格納するボリュームを備える。コンピュータシステムで格納される各項目は、単一のセキュリティゾーン内に置かれる。各項目が単一のセキュリティゾーンに存在するので、規則は、そうした項目のセキュリティを制御するように作成することができ、この場合、規則は、各個別の項目ごとに指定されなくてよく、代わりにゾーンの部分集合に対して適用することができる。コンピュータシステムは、プリンシパル(principal)の同一性が確認済みであることを示す認証情報にアクセスする。
コンピュータシステムは、ボリュームのセキュリティゾーン用のセキュリティ規則にもアクセスする。セキュリティ規則は、1つのプリンシパルまたはプリンシパルグループが項目に対してもつ権限を指定する。セキュリティ規則は、少なくとも要素引数、プリンシパル引数、および権限引数(right argument)を含む。要素引数は、たとえば要素経路を介して、権限が付与される項目の少なくとも一部分を指定する。要素経路を介して項目の少なくとも一部分を指定することは、規則を、データストア中のすべての個別セル(または1つの情報単位)ごとに作成しなくてよいように、適切な細分性の規則定義を可能にするのに有用である。プリンシパル引数は、少なくとも1つのプリンシパルを指定することができる。この少なくとも1つのプリンシパルは、項目の少なくとも一部分へのセキュリティ権限が付与されるエンティティである。コンピュータシステムは、確認されたプリンシパルの、項目の少なくとも一部分への権限を、アクセスしたセキュリティ規則に基づいて識別する。
本発明の別の実施形態では、コンピュータシステムが、プリンシパルに管理権限を委譲する。コンピュータシステムは、少なくとも1つの重複しないゾーンに分けられる、いくつかの項目を格納するボリュームを備える。各項目は、少なくとも1つの重複しないゾーンのうち1つのゾーンに置かれる。データベーステーブル全体より細かいが、各項目ごとに委譲を必要とするほど粗くはない適切な細分性で、ゾーン内の各項目ごとに、管理権限を移譲することができる。ゾーンはそれぞれ、管理権限をもつ1つまたは複数のプリンシパルを有する。コンピュータシステムは、メインゾーン中の第1の項目を識別する。
こうした第1の項目は、管理権限の移譲が行われる項目である。コンピュータシステムは、メインゾーンを、たとえば2つのゾーン、すなわち第1のゾーンおよび残りのメインゾーンに分割する。管理権限を有する1つまたは複数のプリンシパルは、残りのメインゾーンおよび第1のゾーン両方への管理権限をもち続ける。第1のゾーンは、識別済みの第1の項目を含む。残りのメインゾーンは、メインゾーンにあった項目で、第1のゾーンにある項目以外を含む。コンピュータシステムは、1つまたは複数の第1のプリンシパルが第1の項目に対する管理権限ももつことを指定する。
本発明の追加の特徴および利点を、以下の説明で述べるが、その一部は、以下の説明から明らかになり、または本発明の実施によって理解できよう。本発明の特徴および利点は、添付の特許請求の範囲において具体的に指摘される機器および組合せによって実現し達成することができる。本発明のこうしたおよび他の特徴は、以下の説明および添付の特許請求の範囲からより完全に明らかになり、または以下に述べる本発明の実施によって理解できよう。
本発明の上述したおよび他の利点および特徴を達成することができる方法を説明するために、上で簡潔に述べた本発明のより具体的な説明を、添付の図面に示す本発明の具体的な実施形態を参照して行う。こうした図面は本発明の典型的な実施形態を示すに過ぎず、したがって、本発明の範囲を限定するものとみなすべきではないという理解の下、本発明を、添付の図面を用いてさらに具体的かつ詳細に説明する。
本発明は、データ項目用の、ゾーンベースのセキュリティ管理のための方法、システム、およびコンピュータプログラム製品に及ぶ。一実施形態では、コンピュータシステムが、セキュリティゾーンに含まれるデータ項目の少なくとも一部分に対するセキュリティ権限を決定する。データ項目のその部分は、セキュリティ規則をセルレベルで適用しなくてよいように、要素経路を介して指定される。本発明の別の実施形態では、コンピュータシステムは、管理権限(すなわち、データ項目の少なくとも一部分のセキュリティを変更する能力)をプリンシパルに委譲する。各項目は、少なくとも1つの重複しないゾーンのうち1つのゾーンに置かれる。データベーステーブル全体より細かいが、各項目ごとに委譲を必要とするほど粗くはない適切な細分性で、ゾーン内の各項目ごとに、管理権限を移譲することができる。
ここで図1を参照すると、本発明の態様を実施することができる例示的な環境を示してある。図1は、ネットワークアーキテクチャ100を示す。ネットワークアーキテクチャ100は、様々なデータ項目および/またはコンピュータ実行可能命令(たとえば方法)を格納することができる記憶装置102を備える。記憶装置102は、図6の説明において述べる記憶媒体を含むがそれに限定されない、いくつかの異なる記憶媒体として実装することができる。記憶装置102は、データ項目を階層形式で格納することができるデータストア104を備える。たとえば、項目106は、1つまたは複数の要素108を含むことができる。データ要素は、データ要素108に従属する属性110にさらに分けることができる。階層形式では、データ項目は、より高いレベルのデータ項目に対する要素でも属性でもよい。
記憶装置102は、階層形式で配置された方法を格納することができる方法ストア112をさらに備える。方法項目114は、方法とすることができる要素116を含む。こうした要素は、低レベルの方法(たとえば方法118)をさらに含むことができる。低レベルの方法118はそれ自体、自由に処理することができる利用可能な他の下位方法を有する方法でよい。方法ストア112およびデータストア104を別個のストアとして示してあるが、方法ストア112およびデータストア104を、同じ階層に共に配置することもできる。したがって、データ項目が、そのデータ項目に従属する方法をもつこともでき、または方法が、その方法に従属するデータ項目属性をもつこともできる。
ネットワークアーキテクチャ100は、本発明の一実施形態において、様々な関数を実行するコンピュータ実行可能コードであるアプリケーション122を備える。アプリケーション122は、通信チャネル128を介して記憶装置102に接続される。通信チャネル128は、スクロール124と共に示してある。スクロール124は、アプリケーション122と記憶装置102の間で渡すことができるデータ項目、データ要素、データ属性、方法項目、および方法を表す。別の通信チャネル128が、トークン126などのトークンを、アプリケーションから認証モジュール146に転送するために存在する。
トークン126は、認証モジュール146が、トークンを提示するプリンシパルの同一性を判定することを可能にする情報を指定する。たとえばこの例では、トークン126は、プリンシパル、すなわちアプリケーション122を識別する情報を含む。プリンシパルの同一性を確認する処理はしばしば、認証と呼ばれる。認証モジュール146は、トークンと比較するための認証情報からなるデータベースへのアクセス権をもつことができる。本発明の一実施形態では、この認証データベースは、記憶装置102に格納される。プリンシパルが認証されると、プリンシパルの権限は、アクセス制御リスト(ACL)を調べてそのプリンシパルに指定された権限を調査することによって、判定することができる。
記憶装置102は、プリンシパルが記憶装置102内の項目に対してどのような権限をもつか判定するのに使われる、1つまたは複数のACL130をさらに備える。通常、ACLは、プリンシパル引数、権限引数、および項目引数を含む3つの引数を有する。こうした3つの引数は、組み合わされて、どのプリンシパルがどの項目に対してどの権限をもつか指定する。認証済みトークン126を用いることによって、アプリケーション122が、データストア104内の項目にアクセスし、または方法ストア112内の方法を実行するための権限を有することを判定することができる。この例では、ただ1つのACLを示してあるが、本発明のいくつかの実施形態では、ACLは、いくつかのセキュリティ規則を表し、各セキュリティ規則は、項目に対する権限をプリンシパルに付与することを理解されたい。
本発明の一実施形態では、付与することができる4つの権限は、読出し、書込み、削除および実行である。読出し、書込みおよび削除権限は、付与されると、それぞれ、プリンシパルがデータ項目106などのデータ項目、または要素108などの要素、または属性110などの属性を見直し、操作し、かつ削除することを可能にする。実行権限は、付与されると、アプリケーション122などのプリンシパルが、方法118などの方法を呼び出すことを可能にする。
ネットワークアーキテクチャ100は、ユーザインターフェース132をさらに含むことができる。ユーザインターフェース132は、コンピュータユーザ134がネットワークアーキテクチャ100と対話することを可能にする。ユーザインターフェース132は、通信経路136を介して記憶装置102に接続される。ネットワークアーキテクチャ100に示す別の通信経路は、経路138であり、経路138は、トークン140およびクエリまたは要求142をコンピュータユーザ134からユーザインターフェース132に転送するのに使われる。存在するさらに別の通信経路は通信経路144であり、通信経路144を介して、データ項目、要素および属性を、コンピュータユーザ134とユーザインターフェース132の間で転送することができる。通信経路136を介したユーザインターフェース132は、記憶装置102との間でのデータ項目、要素および属性の転送を容易にする。
本発明の一実施形態では、データストア104中のデータ項目へのアクセス権を得るため、または方法ストア112中の方法を実行するために、コンピュータユーザ134は、データ項目へのアクセス権を得るように、または方法を実行するように認証されなければならない。これを容易にするために、トークン140が、コンピュータユーザ134によって、通信経路138を介してユーザインターフェース132に送られる。ユーザインターフェース132は、トークン140を、通信経路128を介して認証モジュール146に向ける。認証モジュール146は次いで、コンピュータユーザ134の同一性を確認する。ACL130などのACLが、コンピュータユーザ134がデータストア104中のデータ項目および方法ストア112中の方法に対してもつ権限を決定する。
本発明の一実施形態では、ACL130は、データストア104および方法ストア112中の項目に対する管理権限を有する管理プリンシパルによって作成することができる。管理プリンシパルは、管理権限を有する複数のプリンシパルの1つでよい。本発明の一実施形態では、管理権限を有する複数のプリンシパルは、後でより詳しく説明するように、セキュリティゾーンに存在する全項目に対して同じものである。
図1はネットワークアーキテクチャ100を示すが、本発明の実施形態は、異なるいくつかのアーキテクチャ、たとえば図6に示し説明するような分散型コンピューティング環境、単一のコンピュータシステム、または様々な他の適切なシステムにおいて実現することができることを理解されたい。
セキュリティゾーンの概念は、図2および3を検討することによってより完全に理解できよう。図2は、記憶装置102などの記憶装置における、項目の階層的な配置を示す。図2に示す例では、項目を、ボリューム202の形で示す。上述したように、ボリューム202は、図6に示し説明する、適切などの記憶位置にも存在することができる。ボリューム202は、記憶装置102内の項目すべてを含む。一例では、ボリューム全体202は、単一のゾーンを含むことができる。したがって、ある複数のプリンシパルが、ゾーン/ボリューム202中の全項目に対して、管理権限、すなわちセキュリティを変更する能力を有する。本発明の他の実施形態では、図3に示すように、ボリュームは、ゾーン302およびゾーン304などのいくつかのゾーンに分けられる。ゾーンはそれぞれ、管理権限を有する異なる複数のプリンシパルをもつことができる。したがって、ボリューム202をゾーン302および304に分割することによって、管理権限を、他のプリンシパルに移譲することができる。
ここで図4を参照すると、他のプリンシパルに権限を委譲する方法を、方法400に示す。方法400は、本発明の一実施形態では、コンピュータシステム、たとえば図1のネットワークアーキテクチャ100において実施され、データ項目106および方法項目114などの項目が、図2に示すボリューム202などのボリュームに格納される。ボリュームは、ゾーン302および304など、少なくとも1つの重複しないゾーンに分けられる。方法400は、さらに、各項目が、少なくとも1つの重複しないゾーンのうち1つのゾーンに置かれることを企図している。ゾーンはそれぞれ、1つまたは複数の管理プリンシパルを有する。管理プリンシパルは、それが属す特定のゾーン用のセキュリティおよび/または監査を管理する。方法400は、少なくとも1つの重複しないゾーンに含まれる1つのゾーンに含まれる第1の項目に対する管理権限を、他のプリンシパルに委譲する状況において構成される。
方法400は、第1のゾーンを形成する、機能的な、結果志向のステップ(ステップ408)を含む。ステップ408は、第1のゾーンを形成する、対応するどの動作も含むことができる。ただし、図4の方法の例では、ステップ408は、メインゾーン内の第1の項目を識別する、対応する動作を含む(動作402)。動作402は、メインゾーン中の第1の項目を識別するコンピュータシステムを含むことができる。たとえば、ネットワークアーキテクチャ100におけるコンピュータシステムは、ボリューム202にある項目を識別することができる。識別される第1の項目は、ゾーンの管理プリンシパルの1つまたは複数が管理権限を委譲したいと望む項目でよい。
ステップ408は、メインゾーンを第1のゾーンおよび残りのメインゾーンに分割する、対応する動作(動作404)をさらに含む。動作404は、コンピュータシステムが、メインゾーンを第1のゾーンおよび残りのメインゾーンに分割することを含むことができる。たとえば、ネットワークアーキテクチャ100におけるコンピュータシステムは、ボリューム202をゾーン302および304に分割することができる。動作404から2つのゾーンが形成されるが、1つまたは複数のメインプリンシパルは、第1のゾーンおよび残りのメインゾーン両方に対する管理権限をもち続ける。
メインゾーンを分割すると、第1の項目が第1のゾーン内に配置され、残りのメインゾーンは、本来メインゾーンにあった項目のうち、第1の項目に含まれない部分を含む。分割の一例を図3に示す。たとえば、メインゾーンは、ボリューム202でよい。分割することにより、ゾーン302および304が作成される。ボリュームは本来、項目306から328を含んでいたが、分割によって、項目324から328が1つのゾーン(すなわち第1のゾーン)になり、項目306から322がもう1つのゾーン(すなわち残りのメインゾーン)になった。この時点では、ゾーン302および304の管理プリンシパルは同じである。
方法400は、1つまたは複数の第1のプリンシパルが、第1の項目に対する管理権限も有することを指定する動作(動作406)をさらに含む。動作406は、コンピュータシステムが、1つまたは複数の第1のプリンシパルが第1の項目に対する管理権限も有することを指定することを含むことができる。たとえば、ネットワークアーキテクチャ100におけるコンピュータシステムは、1つまたは複数の第1のプリンシパルが、ゾーン302内の項目への管理権限を有することを指定することができる。
動作406は、1つまたは複数の追加プリンシパルに管理権限を割り当てることによって達成することができる。したがって、メインプリンシパルおよび1つまたは複数の追加プリンシパルはすべて、ゾーンの項目に対する管理権限を有する。たとえばゾーン302が第1のゾーンである場合、1つまたは複数のメインプリンシパルおよび1つまたは複数の第1のプリンシパルはすべて、ゾーン302内の項目に対する管理権限を有する。管理権限は、セキュリティ権限か、または監査権限でよい。
方法400は、1つまたは複数の第1のプリンシパルが、1つまたは複数のメインプリンシパルによって変更可能であるような方法でもよい。すなわち、メインプリンシパルはどれも、1つまたは複数の第1のプリンシパルにプリンシパルを追加することも、1つまたは複数の第1のプリンシパルからプリンシパルを取り除くこともできる。
方法400は、第1のゾーン内の項目に、第1のゾーンに対応するゾーン列挙(enumeration)でラベルづけすることを含むこともできる。たとえば図3に示すように、ゾーン302中の項目は、ゾーン列挙330で示される。ゾーン列挙330は、どの項目がどのゾーンに置かれているかを追跡するのに有用である。メインゾーンが分割されると、残りのメインゾーンおよび第1のゾーンは、2つのゾーンに重複する項目がないか確かめるために調べられる。ゾーンが分割されるときに重複が検査される限り、第1のゾーンおよび残りのメインゾーンと共に、重複する項目を求めて他のゾーンを検査する必要はない。ゾーン列挙は項目の間に新しい関係が追加されたときに重複がないか確認するのにも有用である。たとえば、項目が他の項目に関連づけられる場合、関連づけられたすべての項目は、同じゾーンにあるべきである。これは、ゾーン列挙を照会することによって達成することができる。
図1に示すACL130に格納されるようなセキュリティ規則は、ゾーン302などの第1のゾーンが作成された後で、その第1のゾーンに追加することができる。本発明の一実施形態では、第1のゾーンは、メインゾーンに以前あったどのセキュリティ規則も自動的に含む。本発明の他の実施形態では、第1のゾーンは、それが作成された後はどのセキュリティ規則も含まず、全く新しいセキュリティ規則が、第1のゾーン用に作成されなければならない。
ゾーンは、組み換えることもできる。ゾーンは、そのゾーンが作成されたときに作成された他のゾーンか、またはそのゾーンが作成されたときに作成された他のゾーンとは別のときに作成されたゾーンと組み換えるべきである。残りのメインゾーンが分割されて第2のゾーンを形成した後、ゾーンが組み換えられると、ある問題が起こる。たとえば図3では、項目320を第2のゾーンにグループ化するために、境界線332で示すように分割が行われ、項目308から318および322は、分割の結果生じた残りのメインゾーン内にある。それにもかかわらず、新しいゾーンは、第1のゾーンおよび後続の残りのメインゾーンを組み換えることによって、作成することができる。この場合、後続の残りのメインゾーンは、その管理プリンシパルとして、本来のメインゾーンのプリンシパルを有するゾーンである。組み換えられたゾーンは、プリンシパルとして、本来のメインゾーンでのプリンシパルを有する。
ゾーンが組み換えられると、両方のゾーンのセキュリティ規則が依然として有効である。他のセキュリティ規則を、新しく作成されたゾーンで定義することもできる。
ここで図5を参照すると、本発明の態様を用いてセキュリティ権限を決定する方法を、方法500として示してある。方法500は、図1に示すネットワークアーキテクチャ100などのコンピュータシステムにおいて実施することができる。コンピュータシステムは、データ項目106および方法項目114などの項目を含む。この項目は、コンピュータシステム上のボリューム、たとえば図2に示すボリューム202に置かれる。ボリュームは、少なくとも1つのセキュリティゾーンに分けられる。各項目は、1つのセキュリティゾーンに置かれる。この一例を、図3に示してある。図3は、2つのセキュリティゾーン、すなわちゾーン302およびゾーン304を示す。ゾーン302内の項目(項目324〜328)はどれも、ゾーン304には置かれていない。さらに、ゾーン304内の項目(項目306〜322)はどれも、ゾーン302には置かれていない。
方法500は、プリンシパルの同一性が確認済みであることを示す認証情報にアクセスする動作(動作502)を含む。動作502は、コンピュータシステムが、プリンシパルの同一性が確認済みであることを示す認証情報にアクセスすることを含むことができる。たとえば、ネットワークアーキテクチャ100におけるコンピュータシステムは、認証モジュール146によって提供される認証情報、またはキャッシュ120に格納される認証情報にアクセスすることができる。本発明の一実施形態において、動作502は、図1に示す認証モジュールなどの認証モジュール146によって実行される。
認証モジュールは、トークン126やトークン140などのトークンを、プリンシパルから受け取ることができる。認証モジュールは次いで、トークン中の情報を、認証モジュール146がプリンシパルの同一性を確認するために利用可能な情報と比較する。この情報は、認証情報を含むデータベースにおいて利用可能である。いくつかの異なるタイプのトークン、たとえばパスワード、暗号化された文字列、スマートカードなどの物理的な鍵、指紋や音声分析などの生体的な鍵などが存在する。使用することができる2つの具体的なトークンは、ウィンドウズ(登録商標)トークン、および認可されているXrMLライセンスセットである。動作502はさらに、図1に示すキャッシュ120中のエントリなどのキャッシュエントリを照会することによって実行することができる。具体的には、本発明の一実施形態において、トークンが認証モジュール146によって認証されると、キャッシュ120に情報を置くことができ、そうすることによって、同じセッション中に引き続き行われるプリンシパルの認証が、キャッシュ中のエントリを照会することによって行うことができるようになる。
方法500は、セキュリティ規則にアクセスする動作(動作504)を含む。動作504は、コンピュータシステムがセキュリティ規則にアクセスすることを含むことができる。たとえば、ネットワークアーキテクチャ100におけるコンピュータシステムは、ACL130にあるセキュリティ規則にアクセスすることができる。このセキュリティ規則は、セキュリティゾーン用に存在する。セキュリティ規則は、本発明の一例において、図1に示すACL130として具体化することができる。セキュリティ規則は、3つの引数、すなわち要素、プリンシパルおよび権限引数をもつことができる。要素引数は、要素経路を介して、項目の少なくとも一部分を指定する。
たとえば、セキュリティ規則が図3の項目312に対する権限を付与した場合、要素引数は、項目312への経路、たとえば306.308.312を指定する。この経路は、最上位の項目である項目306と、項目306に従属する項目である項目308と、そしてセキュリティが適用される項目であって、項目308に従属する項目312とを含む。本発明の別の実施形態では、セキュリティ規則は、複数の属性を含む複合エレメントである要素を指定することができる。この場合、アクセス権は、その要素の全属性に付与することができる。たとえば要素経路が306.310である場合、プリンシパルは、要素310、ならびに要素316から322を含む、要素310に従属する全要素に対する権限を有する。
さらに、セキュリティ規則は、プリンシパルが特定のタイプの要素へのアクセス権のみをもつことを指定することができる。たとえば、複合エレメントとは、いくつかの異なる属性を有する要素である。複合エレメントの具体的な一例は、デジタルアドレス帳の中の名前タイプという要素である。名前タイプの要素は、名、性およびミドルネーム属性を含むことができる。ユーザが、名前タイプの要素ならびに他の要素を含む項目に対する権限を付与される場合、セキュリティ規則中の名前タイプを指定することによって、そのユーザを名前タイプ要素のみに制限することができる。
セキュリティ規則は、データ項目の少なくとも一部分から少なくとも1つの要素を排除する拒否アクセス制御エントリ(ACE)をさらに含むことができる。たとえば、セキュリティ規則は、プリンシパルが項目310に対する権限をもつことを指定することができる。上述したように、項目310のみが指定される場合、プリンシパルは、項目316、318、320、および322に対する権限をもつ。しかし、拒否ACEを用いると、規則は、プリンシパルが項目320を除く項目310に対する権限をもつことを指定することができる。
セキュリティ規則は、セキュリティ権限を有するプリンシパルを指定するプリンシパル引数を含む。本発明の一実施形態では、プリンシパルとは、図1に示すコンピュータユーザ134などのコンピュータユーザである。本発明の別の実施形態では、プリンシパルは、ネットワークアーキテクチャ100上で実行されるアプリケーション122など、コンピュータシステム上で実行されるアプリケーションでよい。プリンシパル引数は、権限を付与されることができる1組のプリンシパルを指定することができる。たとえば、プリンシパル引数は、全ネットワーク管理者を含んでもよい。セキュリティ規則は、拒否ACEを含むこともでき、拒否ACEは、プリンシパルの組から少なくとも1つのプリンシパルを排除する。
たとえば、規則は、ある特定の管理者を排除し全ネットワーク管理者を含む1組のプリンシパルを指定することができる。拒否ACEによって排除される特定のネットワーク管理者が、そのネットワーク管理者を排除したセキュリティ規則において付与されるのと同じ権限を、異なるセキュリティ規則において付与されると、そのネットワーク管理者は、指定されたセキュリティ権限をもつことになる。たとえば、あるセキュリティ規則が、Xを除く全管理者が項目Yに対する権限をもつことを指定し、第2のセキュリティ規則が、管理者Xが項目Yに対する権限をもつことを指定すると、管理者Xは、項目Yに対する権限をもつ。項目Yに対する管理者Xの権限を除去するためには、拒否ACEを使って、項目Yに対する権限を付与するすべての規則において管理者Xを排除することができる。本発明の一実施形態におけるセキュリティ規則は、権限委譲、すなわち、権限を付与することができる規則である。権限は、拒否規則を作成することによってプリンシパルから取り去ることはできない。そうではなく、権限委譲規則はすべて、プリンシパルに特定の権限を認めないために変更しまたは除去されなければならない。
セキュリティ規則は、権限引数を含むこともできる。本発明の様々な実施形態では、読出し、書込み、削除および実行権限を含む権限を可能にする。読出し権限が、ある項目に関してプリンシパルに付与される場合、読出し権限は、一般に、プリンシパルが閲覧することはできるが変更することも削除することもできないデータ項目に関連づけられる。書込み権限が、ある項目に関してプリンシパルに付与される場合、書込み権限は、一般に、プリンシパルが閲覧し編集することはできるが削除することができないデータ項目に関連づけられる。削除権限が、ある項目に関してプリンシパルに付与される場合、削除権限は、一般に、プリンシパルが閲覧し、編集し、削除することができるデータ項目に関連づけられる。実行権限が、ある項目に付与される場合、削除権限は、一般に、プリンシパルが実行させることができる方法項目に関連づけられる。
方法500は、アクセスされたセキュリティ規則に基づいて、項目の少なくとも一部分に対する、確認済みプリンシパルの権限を識別する動作(動作506)を含む。動作506は、コンピュータシステムが、アクセスされたセキュリティ規則に基づいて、項目の少なくとも一部分に対する、確認済みプリンシパルの権限を識別することを含むことができる。たとえば、ネットワークアーキテクチャ100におけるコンピュータシステムは、ACL130からアクセスされたセキュリティ規則に基づいて、項目324に対する、確認済みプリンシパルの権限を識別することができる。このようにして、本発明の一実施形態では、ネットワークアーキテクチャ100は、コンピュータユーザ134またはアプリケーション122などのプリンシパルが、記憶装置102に格納された項目に対してどのアクセス権をもつか判定することができる。
方法500は、プリンシパルがセキュリティ規則のプリンシパル引数で指定される場合、プリンシパルに、セキュリティ規則において指定された権限を付与することもできる。
方法500は、クエリ要素引数を含むクエリを受け取ることもできる。クエリを送るプリンシパルがクエリ要素引数中の要素に対する適切な権限をもっている場合、方法500は、クエリの結果を返す。たとえば、プリンシパルが、ある特定の項目中の「緑(green)」である全要素を要求するクエリを送り、このプリンシパルがその項目、またはその項目中の全要素に対する権限をもっている場合、緑である要素が返される。プリンシパルが項目中の要素すべてに対する権限をもっているわけではない場合、クエリは、プリンシパルが項目中の緑である要素のいくつかに対する権限をもっていたとしても、「みつからなかった(not found)」と返す。これは、セキュリティ規則を各要素に関連づけることを必要としなくても、効率的な探索を実行することができるように行われる。したがって、プリンシパルがすべての「緑の」要素をみつけるためにクエリを送ることを望む場合、プリンシパルは、プリンシパルがそれに対する権限をもっていない要素を除く全要素に関するクエリを送ることができる。したがって、たとえば、プリンシパルが要素320を除く図3に示す項目310に対する権限をもっている場合、プリンシパルは、項目320を除く、項目310中の緑である全要素を要求することになる。
方法500は、セキュリティ規則自体を変更する権限を制御することもできる。この場合、セキュリティ規則は、ボリューム(たとえば図2および3のボリューム202)に項目として含まれる。次いで、セキュリティ規則のためのセキュリティを、別のセキュリティ規則を用いて設定することができる。
本発明の一実施形態では、ユーザが項目の効果的なセキュリティを問い合わせることを可能にするAPIが提供される。このAPIは、セキュリティ規則の組に基づいて、セキュリティを算定する。このAPIは、後で図6で説明するような、実行可能なプログラムコードでよい。
本発明の範囲内の実施形態は、コンピュータ実行可能命令を実行しまたはそれを有するコンピュータ読取可能媒体、あるいはそこに格納されたデータ構造も含む。このようなコンピュータ読取可能媒体は、汎用コンピュータまたは専用コンピュータによってアクセスすることができるどのような利用可能媒体でもよい。限定ではなく例示のために、このようなコンピュータ読取可能媒体は、RAM、ROM、EEPROM、CD−ROM、もしくは他の光ディスク記憶装置、磁気ディスク記憶装置、または他の磁気記憶装置、あるいは所望のプログラムコード手段をコンピュータ実行可能命令またはデータ構造の形で実行しまたは格納するのに用いることができるとともに、汎用コンピュータまたは専用コンピュータによってアクセスすることができる、他のどの媒体も含むことができる。ネットワークあるいは別の通信接続(有線、無線、または有線もしくは無線の組合せのいずれか)を介して情報がコンピュータに転送されまたは提供されると、コンピュータは、その接続をコンピュータ読取可能媒体として正しく認識する。したがって、このようなどの接続も、正しくコンピュータ読取可能媒体と呼ばれる。上記の組合せも、コンピュータ読取可能媒体の範囲に含めるべきである。コンピュータ実行可能命令は、たとえば、汎用コンピュータ、専用コンピュータ、または専用処理装置に、ある特定の機能または一群の機能を実行させる命令およびデータを含む。
図6および以下の説明では、本発明を実装することができる適切なコンピューティング環境の、簡潔で一般的な説明を提供することを意図している。そうすることが必要なわけではないが、ネットワーク環境におけるコンピュータによって実行される、プログラムモジュールなどのコンピュータ実行可能命令という一般的な状況において、本発明を説明する。一般に、プログラムモジュールは、特定のタスクを実行しまたは特定の抽象データタイプを実装するルーチン、プログラム、オブジェクト、構成要素、データ構造などを含む。コンピュータ実行可能命令、関連データ構造、およびプログラムモジュールは、本明細書で開示した方法のステップを実行するプログラムコード手段の例を表す。この具体的な一連の実行可能命令または関連するデータ構造は、このようなステップにおいて説明した機能を実装する、対応する動作の例を表す。
本発明は、多くのタイプのコンピュータシステム構成を有するネットワークコンピューティング環境において実施できることが、当業者には理解されよう。こうしたコンピュータシステム構成には、パーソナルコンピュータ、ハンドヘルド装置、マルチプロセッサシステム、マイクロプロセッサベースの家電製品またはプログラム可能な家電製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータなどがある。本発明は、通信ネットワークを介して(有線リンク、無線リンク、または有線リンクもしくは無線リンクの組合せのいずれかによって)リンクされる、ローカルおよびリモート処理装置によって特定のタスクが実行される分散型コンピューティング環境でも実施することができる。分散型コンピューティング環境では、プログラムモジュールは、ローカルおよびリモートメモリ記憶装置両方に置くことができる。
図6を参照すると、本発明を実装する例示的なシステムは、汎用計算装置を、従来のコンピュータ620の形で含み、このコンピュータは、処理装置621、システムメモリ622、およびシステムバス623を含む。システムバス623は、システムメモリ622を含む様々なシステム構成要素を処理装置621に結合する。システムバス623は、様々なバスアーキテクチャのどれをも使用するメモリバスまたはメモリコントローラ、周辺バス、およびローカルバスなどいくつかのタイプのバス構造のいずれでもよい。システムメモリは、読出し専用メモリ(ROM)624およびランダムアクセスメモリ(RAM)625を含む。基本入出力システム(BIOS)626は、たとえば起動中にコンピュータ620内部の要素間の情報の転送を助ける基本ルーチンを含み、ROM624に格納することができる。
コンピュータ620は、磁気ハードディスク639からの読出しまたはそこへの書込みを行う磁気ハードディスクドライブ627、取外し可能磁気ディスク629からの読出しまたはそこへの書込みを行う磁気ディスクドライブ628、および、たとえばCD−ROMまたは他の光学媒体などの取外し可能光ディスク631からの読出しまたはそこへの書込みを行う光ディスクドライブ630も含む。磁気ハードディスクドライブ627、磁気ディスクドライブ628、および光ディスクドライブ630は、それぞれハードディスクドライブインターフェース632、磁気ディスクドライブインターフェース633、および光ドライブインターフェース634によって、システムバス623に接続される。ドライブおよびそれに関連するコンピュータ読取可能媒体は、コンピュータ実行可能命令、データ構造、プログラムモジュール、および他のデータを、コンピュータ620に提供する。本明細書で説明する例示的な環境では、磁気ハードディスク639、取外し可能磁気ディスク629、および取外し可能光ディスク631を使用したが、データを格納する他のタイプのコンピュータ読取可能媒体、たとえば磁気カセット、フラッシュメモリカード、デジタル多用途ディスク、ベルヌーイカートリッジ、RAM、ROMなども使うことができる。
オペレーティングシステム635、1つまたは複数のアプリケーションプログラム636、他のプログラムモジュール637、およびプログラムデータ638など、1つまたは複数のプログラムモジュールを含むプログラムコード手段を、ハードディスク639、磁気ディスク629、光ディスク631、ROM624、またはRAM625に格納することができる。ユーザは、キーボード640、ポインティングデバイス642、または他の入力装置(図示せず)、たとえばマイクロホン、ジョイスティック、ゲームパッド、衛星パラボラアンテナ、スキャナなどを介して、コマンドおよび情報をコンピュータ620に入力することができる。こうしたおよび他の入力装置はしばしば、システムバス623に結合されるシリアルポートインターフェース646を介して処理装置621に接続される。あるいは、入力装置は、他のインターフェース、たとえばパラレルポート、ゲームポート、またはユニバーサルシリアルバス(USB)によって接続することもできる。モニタ647または別の表示装置も、ビデオアダプタ648などのインターフェースを介してシステムバス623に接続される。モニタに加えて、パーソナルコンピュータは通常、他の周辺出力装置(図示せず)、たとえばスピーカおよびプリンタを含む。
コンピュータ620は、リモートコンピュータ683および693など、1つまたは複数のリモートコンピュータへの論理接続を使用してネットワーク接続された環境において動作することができる。リモートコンピュータ683および693は、それぞれ別のパーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピア装置、または他の共通ネットワークノードでよく、通常、コンピュータ620に関連して上述した要素の多くまたはすべてを含む。図6に示す論理接続は、限定ではなく例示のために本明細書に示すローカルエリアネットワーク(LAN)651およびワイドエリアネットワーク(WAN)652を含む。このようなネットワーク環境は、会社規模または企業規模のコンピュータネットワーク、イントラネットおよびインターネットにおいてよく見られる。
LANネットワーク環境において使われる場合、コンピュータ620は、ネットワークインターフェースまたはアダプタ653を介してローカルネットワーク651に接続される。WANネットワーク環境において使われる場合、コンピュータ620は通常、モデム654、無線リンク、または、たとえばインターネットなどのワイドエリアネットワーク652を介した通信を確立する他の手段を含むことができる。モデム654は、内蔵でも外付けでもよく、シリアルポートインターフェース646を介してシステムバス623に接続される。ネットワーク接続された環境では、コンピュータ620に関連して図示したプログラムモジュールまたはその一部は、リモートメモリ記憶装置に格納することができる。図示したネットワーク接続は例示的なものであり、ワイドエリアネットワーク652を介した通信を確立する他の手段も使うことができることが理解されよう。
本発明は、本発明の精神からも本質的な特性からも逸脱することなく、他の具体的な形で具現化することもできる。説明した実施形態は、あらゆる点において例示に過ぎず、限定ではないものと理解されたい。本発明の範囲は、したがって、上記の説明ではなく、添付の特許請求の範囲によって示される。特許請求の範囲の等価物の意義および範囲内であるすべての変更は、特許請求の範囲に含まれる。
本発明の原理による、セキュリティを管理することができるシステムを含む一例のネットワークアーキテクチャを示す図である。 本発明の原理による、項目を格納し規則を定義する一例の階層的なボリュームを示す図である。 本発明の原理による、セキュリティゾーンに分けられる一例の階層的なボリュームを示す図である。 本発明のいくつかの実施形態の態様を用いて、権限を移譲する一例の方法を示す図である。 本発明のいくつかの実施形態の態様を用いて、セキュリティ権限を決定する一例の方法を示す図である。 本発明の原理に適した動作環境を示す図である。
符号の説明
102 記憶装置
104 データストア
112 方法ストア
120 キャッシュ
122 アプリケーション/プリンシパル
126 トークン
132 ユーザインターフェース
134 コンピュータユーザ/プリンシパル
140 トークン
146 認証モジュール

Claims (22)

  1. 記憶装置に設定されたボリュームに格納された複数の項目を含むコンピュータシステムであって、前記項目はデータ項目を含み、前記ボリュームは複数のセキュリティゾーンを含み、複数の項目が階層的に前記ボリューム内に配置され、かつ各項目が単一のセキュリティゾーンに置かれ、少なくとも1つのセキュリティゾーンが階層的な複数の項目を含むコンピュータシステムにおける、項目の少なくとも一部分に対する、プリンシパルのセキュリティ権限を決定する方法であって、前記コンピュータシステムが、
    プリンシパルから、該プリンシパルを識別するのに有効なデータを含むトークンを受信する動作と、
    前記トークンと比較するための認証情報からなるデータベースにアクセスして、前記プリンシパルを認証する動作と、
    前記セキュリティゾーン内の少なくとも1つの項目に対するプリンシパルの権限を表すセキュリティ規則をアクセスする動作であって、前記セキュリティ規則は複数のセキュリティゾーンの1つに関連づけられており、前記セキュリティ規則は、少なくとも、前記階層的な項目間の経路を指定する要素引数、権限を付与される1組のプリンシパルを指定するプリンシパル引数、および権限を指定する権限引数を有し、前記セキュリティ規則の少なくとも1つは、前記経路および少なくとも1つのプリンシパルを介して項目の少なくとも一部分を指定する動作と、
    前記アクセスしたセキュリティ規則に基づいて、前記項目の前記少なくとも一部分に対する、認証された前記プリンシパルの権限を識別する動作とを備えることを特徴とする方法。
  2. 前記セキュリティ規則は、前記項目の前記少なくとも一部分に対するアクセス権を付与することであることを特徴とする請求項1に記載の方法。
  3. 前記プリンシパルが前記セキュリティ規則において指定される場合、前記セキュリティ規則において指定された権限を前記プリンシパルに付与する動作をさらに備えることを特徴とする請求項1に記載の方法。
  4. 前記セキュリティ規則は、複数のプリンシパルを指定することを特徴とする請求項3に記載の方法。
  5. 前記セキュリティ規則は、前記複数のプリンシパルから少なくとも1つのプリンシパルを排除する拒否ACEを含むことを特徴とする請求項4に記載の方法。
  6. 前記少なくとも1つの排除されたプリンシパルに、前記セキュリティ規則において指定された権限を付与する前記動作は、前記少なくとも1つの排除されたプリンシパルが前記セキュリティ規則において指定された前記権限をもつことを、前記セキュリティゾーン用の他のいずれかのセキュリティ規則が指定する場合に実行されることを特徴とする請求項5に記載の方法。
  7. 前記項目は属性を含み、前記セキュリティ規則において指定された前記権限は、読出しアクセス、書込みアクセス、または削除アクセスの少なくとも1つであり、前記付与する動作は、項目の前記少なくとも一部分の属性へのアクセスを可能にすることを含むことを特徴とする請求項3に記載の方法。
  8. 前記項目はメソッドを含み、前記セキュリティ規則において指定された前記権限は、前記メソッドを実行するための権限であり、前記付与する動作は、項目の前記少なくとも一部分の少なくとも1つのメソッドへのアクセスを可能にすることを含むことを特徴とする請求項3に記載の方法。
  9. 前記項目は少なくとも1つの要素を含み、前記方法は、
    前記プリンシパルからクエリを受け取る動作であって、前記クエリは少なくとも1つの要素を指定する動作と、
    前記プリンシパルの権限を識別する動作において、前記指定された要素に対するアクセス権が前記プリンシパルに付与されている場合に、前記少なくとも1つの要素を返す動作とをさらに備えることを特徴とする請求項3に記載の方法。
  10. 前記少なくとも1つの要素は、項目の属性を含む複合エレメントであり、前記付与する動作は、前記項目の属性のうちの全属性に対して実行されることを特徴とする請求項9に記載の方法。
  11. 前記項目は少なくとも1つの要素を含み、前記方法は、
    前記プリンシパルからクエリを受け取る動作であって、前記クエリは少なくとも1つの要素を指定する動作と、
    前記プリンシパルの権限を識別する動作において、前記少なくとも1つの要素に対する権限が、前記セキュリティ規則において指定されていない場合に、みつからなかったというメッセージを返す動作とをさらに備えることを特徴とする請求項1に記載の方法。
  12. 項目のセキュリティ権限を決定するために、記憶装置に格納されたAPIを実行する動作を備え、前記APIは、前記項目を指定するセキュリティ規則に基づいて、前記プリンシパルの権限を識別することを特徴とする請求項1に記載の方法。
  13. 前記セキュリティ規則は、前記ボリューム中の項目であることを特徴とする請求項1に記載の方法。
  14. 前記記憶装置はキャッシュを含み、
    認証情報にアクセスする前記動作は、同じセッション中に引き続き行われる認証で使うために、認証された前記プリンシパルに対応する認証情報をキャッシュすることを含むことを特徴とする請求項1に記載の方法。
  15. 前記記憶装置はキャッシュを含み、
    認証情報にアクセスする前記動作は、前記プリンシパルを認証するために、前記キャッシュに格納された認証情報を照会することを含むことを特徴とする請求項1に記載の方法。
  16. 前記項目は少なくとも1つの要素を含み、
    前記セキュリティ規則は、データ項目の前記少なくとも一部分から少なくとも1つの要素へのアクセスを排除するための拒否ACEを含むことを特徴とする請求項1に記載の方法。
  17. 前記セキュリティ規則は、どの権限も指定しないことによって、すべての権限を指定することを特徴とする請求項1に記載の方法。
  18. 前記項目は少なくとも1つの要素を含み、
    前記セキュリティ規則は、項目の種類を指定する項目タイプ引数を含み、
    前記プリンシパルから少なくとも1つの要素を指定するクエリ要素引数を含むクエリまたは要求の一方を受け取る動作と、
    前記少なくとも1つの要素の種類が前記クエリ要素引数により指定された種類である場合、前記プリンシパルに、前記少なくとも1つの要素に対するアクセス権を付与する動作とをさらに備えることを特徴とする請求項1に記載の方法。
  19. 前記要素引数は、前記経路を介して、項目の少なくとも一部分を指定することを特徴とする請求項1に記載の方法。
  20. 前記プリンシパル引数は、少なくとも1つのプリンシパルを指定することを特徴とする請求項1に記載の方法。
  21. 前記少なくとも1つのメソッドを実行して、前記少なくとも1つのセキュリティゾーンのうち1つのセキュリティゾーン用のセキュリティ規則を作成する動作をさらに含むことを特徴とする請求項8に記載の方法。
  22. 記憶装置に設定されたボリュームに格納された複数の項目を含むコンピュータシステムであって、前記項目はデータ項目を含み、前記ボリュームは複数のセキュリティゾーンを含み、複数の項目が階層的に前記ボリューム内に配置され、かつ各項目が単一のセキュリティゾーンに置かれ、少なくとも1つのセキュリティゾーンが階層的な複数の項目を含むコンピュータシステムに、項目の少なくとも一部分に対する、プリンシパルのセキュリティ権限を決定する方法を実行させるコンピュータプログラムであって、前記コンピュータシステムに、
    プリンシパルから、該プリンシパルを識別するのに有効なデータを含むトークンを受信する動作と、
    前記トークンと比較するための認証情報からなるデータベースにアクセスして、前記プリンシパルを認証する動作と、
    前記セキュリティゾーン内の少なくとも1つの項目に対するプリンシパルの権限を表すセキュリティ規則をアクセスする動作であって、前記セキュリティ規則は複数のセキュリティゾーンの1つに関連づけられており、前記セキュリティ規則は、少なくとも、前記階層的な項目間の経路を指定する要素引数、権限を付与される1組のプリンシパルを指定するプリンシパル引数、および権限を指定する権限引数を有し、前記セキュリティ規則の少なくとも1つは、前記経路および少なくとも1つのプリンシパルを介して複数の項目の少なくとも一部分を指定する動作と、
    前記アクセスしたセキュリティ規則に基づいて、前記項目の前記少なくとも一部分に対する、認証された前記プリンシパルの権限を識別する動作とを実行させることを特徴とするコンピュータプログラム。
JP2004214830A 2003-07-30 2004-07-22 データ項目のためのゾーンベースのセキュリティ管理 Expired - Fee Related JP4892179B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/630,162 US20050039001A1 (en) 2003-07-30 2003-07-30 Zoned based security administration for data items
US10/630,162 2003-07-30

Publications (2)

Publication Number Publication Date
JP2005050335A JP2005050335A (ja) 2005-02-24
JP4892179B2 true JP4892179B2 (ja) 2012-03-07

Family

ID=33541491

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004214830A Expired - Fee Related JP4892179B2 (ja) 2003-07-30 2004-07-22 データ項目のためのゾーンベースのセキュリティ管理

Country Status (5)

Country Link
US (1) US20050039001A1 (ja)
EP (1) EP1503266B1 (ja)
JP (1) JP4892179B2 (ja)
KR (1) KR101101085B1 (ja)
CN (1) CN1585325B (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070016771A1 (en) * 2005-07-11 2007-01-18 Simdesk Technologies, Inc. Maintaining security for file copy operations
US20070039045A1 (en) * 2005-08-11 2007-02-15 Microsoft Corporation Dual layered access control list
US8799680B2 (en) * 2005-09-15 2014-08-05 Microsoft Corporation Transactional sealed storage
CA2676289C (en) 2007-01-19 2018-01-02 Research In Motion Limited Selectively wiping a remote device
US10802990B2 (en) * 2008-10-06 2020-10-13 International Business Machines Corporation Hardware based mandatory access control
US11410129B2 (en) 2010-05-01 2022-08-09 Monday.com Ltd. Digital processing systems and methods for two-way syncing with third party applications in collaborative work systems
WO2021161104A1 (en) 2020-02-12 2021-08-19 Monday.Com Enhanced display features in collaborative network systems, methods, and devices
WO2021220058A1 (en) 2020-05-01 2021-11-04 Monday.com Ltd. Digital processing systems and methods for enhanced collaborative workflow and networking systems, methods, and devices
CN101895533A (zh) * 2010-07-05 2010-11-24 浙江汇信科技有限公司 统一身份认证系统中针对应用权限的委托授权的方法
US9792320B2 (en) * 2012-07-06 2017-10-17 Box, Inc. System and method for performing shard migration to support functions of a cloud-based service
US20160048700A1 (en) * 2014-08-14 2016-02-18 Nagravision S.A. Securing personal information
US10078618B2 (en) 2015-11-25 2018-09-18 Box, Inc. Accessing shared content using collaboration attribute partitioning
US10824751B1 (en) * 2018-04-25 2020-11-03 Bank Of America Corporation Zoned data storage and control security system
US10929556B1 (en) 2018-04-25 2021-02-23 Bank Of America Corporation Discrete data masking security system
US11436359B2 (en) 2018-07-04 2022-09-06 Monday.com Ltd. System and method for managing permissions of users for a single data type column-oriented data structure
US11698890B2 (en) * 2018-07-04 2023-07-11 Monday.com Ltd. System and method for generating a column-oriented data structure repository for columns of single data types
EP4062313A1 (en) 2019-11-18 2022-09-28 Monday.com Ltd. Collaborative networking systems, methods, and devices
US20210150135A1 (en) 2019-11-18 2021-05-20 Monday.Com Digital processing systems and methods for integrated graphs in cells of collaborative work system tables
US11829953B1 (en) 2020-05-01 2023-11-28 Monday.com Ltd. Digital processing systems and methods for managing sprints using linked electronic boards
US11277361B2 (en) 2020-05-03 2022-03-15 Monday.com Ltd. Digital processing systems and methods for variable hang-time for social layer messages in collaborative work systems
US11397847B1 (en) 2021-01-14 2022-07-26 Monday.com Ltd. Digital processing systems and methods for display pane scroll locking during collaborative document editing in collaborative work systems
US11741071B1 (en) 2022-12-28 2023-08-29 Monday.com Ltd. Digital processing systems and methods for navigating and viewing displayed content
US11886683B1 (en) 2022-12-30 2024-01-30 Monday.com Ltd Digital processing systems and methods for presenting board graphics
US11893381B1 (en) 2023-02-21 2024-02-06 Monday.com Ltd Digital processing systems and methods for reducing file bundle sizes

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60118954A (ja) * 1983-11-30 1985-06-26 Fujitsu Ltd 多レベルアクセス保護方式
JPH04317173A (ja) * 1991-04-17 1992-11-09 Nec Software Ltd 利用者管理方式
US5956715A (en) * 1994-12-13 1999-09-21 Microsoft Corporation Method and system for controlling user access to a resource in a networked computing environment
CA2167790A1 (en) * 1995-01-23 1996-07-24 Donald S. Maier Relational database system and method with high data availability during table data restructuring
WO2000079434A1 (en) * 1999-06-22 2000-12-28 Internet Dynamics, Inc. Query interface to policy server
US6021508A (en) * 1997-07-11 2000-02-01 International Business Machines Corporation Parallel file system and method for independent metadata loggin
US6453419B1 (en) 1998-03-18 2002-09-17 Secure Computing Corporation System and method for implementing a security policy
US7152165B1 (en) * 1999-07-16 2006-12-19 Intertrust Technologies Corp. Trusted storage systems and methods
US6671776B1 (en) * 1999-10-28 2003-12-30 Lsi Logic Corporation Method and system for determining and displaying the topology of a storage array network having multiple hosts and computer readable medium for generating the topology
KR100343069B1 (ko) 2000-08-26 2002-07-05 박태규 다중 등급 보안 방식에 의한 강제적 객체접근 제어 방법및 이를 프로그램화하여 수록한 컴퓨터로 읽을 수 있는기록매체
WO2003107219A1 (en) * 2000-09-11 2003-12-24 Zambeel, Inc. Storage system having partitioned migratable metadata
US6772157B2 (en) * 2000-10-19 2004-08-03 General Electric Company Delegated administration of information in a database directory
US7031962B2 (en) * 2001-03-27 2006-04-18 Bea Systems, Inc. System and method for managing objects and resources with access rights embedded in nodes within a hierarchical tree structure
US8214377B2 (en) * 2003-04-07 2012-07-03 International Business Machines Corporation Method, system, and program for managing groups of objects when there are different group types

Also Published As

Publication number Publication date
JP2005050335A (ja) 2005-02-24
KR101101085B1 (ko) 2011-12-30
EP1503266A3 (en) 2006-12-06
CN1585325B (zh) 2010-09-29
KR20050014678A (ko) 2005-02-07
EP1503266B1 (en) 2012-06-06
EP1503266A2 (en) 2005-02-02
CN1585325A (zh) 2005-02-23
US20050039001A1 (en) 2005-02-17

Similar Documents

Publication Publication Date Title
JP4892179B2 (ja) データ項目のためのゾーンベースのセキュリティ管理
KR100450402B1 (ko) 컴퓨터 시스템에 있어서 보안속성을 갖는 토큰을 이용한접근 제어방법
US8239954B2 (en) Access control based on program properties
US7200869B1 (en) System and method for protecting domain data against unauthorized modification
KR101432317B1 (ko) 자원 인가 정책으로의 역할 기반 접근 제어 정책의 변환
US7827403B2 (en) Method and apparatus for encrypting and decrypting data in a database table
JP4398371B2 (ja) リレーショナル・データベースへのアクセスを制御する方法
US7461395B2 (en) Distributed capability-based authorization architecture using roles
Ferrari Access control in data management systems
Kabir et al. A role-involved purpose-based access control model
US20070011749A1 (en) Secure clipboard function
Bertino Data security
US20070016771A1 (en) Maintaining security for file copy operations
US20070011469A1 (en) Secure local storage of files
US20040250120A1 (en) System and method for permission administration using meta-permissions
JP2011197903A (ja) アクセス制御情報配布装置、アクセス制御情報配布プログラム、アクセス制御システム、及びアクセス制御情報配布方法
US20030041154A1 (en) System and method for controlling UNIX group access using LDAP
AU2022341301A1 (en) Data management and governance systems and methods
US8132261B1 (en) Distributed dynamic security capabilities with access controls
Delessy et al. Patterns for access control in distributed systems
JP4723930B2 (ja) 複合的アクセス認可方法及び装置
van den Akker et al. The YGuard access control model: set-based access control
Shao et al. Privacy-aware OrLa Based Access Control Model in the Cloud.
Carter et al. SQL Server Security Model
KR100447511B1 (ko) 역할기반 접근제어 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070703

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101022

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110124

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110607

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110907

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111018

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20111117

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20111122

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111219

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141222

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees