JP4571746B2 - アプリケーション機能に対するアクセスを選択的に規定するためのシステムおよび方法 - Google Patents
アプリケーション機能に対するアクセスを選択的に規定するためのシステムおよび方法 Download PDFInfo
- Publication number
- JP4571746B2 JP4571746B2 JP2000560497A JP2000560497A JP4571746B2 JP 4571746 B2 JP4571746 B2 JP 4571746B2 JP 2000560497 A JP2000560497 A JP 2000560497A JP 2000560497 A JP2000560497 A JP 2000560497A JP 4571746 B2 JP4571746 B2 JP 4571746B2
- Authority
- JP
- Japan
- Prior art keywords
- attribute
- user
- value
- parent
- application
- 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 - Lifetime
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- UGODCLHJOJPPHP-AZGWGOJFSA-J tetralithium;[(2r,3s,4r,5r)-5-(6-aminopurin-9-yl)-4-hydroxy-2-[[oxido(sulfonatooxy)phosphoryl]oxymethyl]oxolan-3-yl] phosphate;hydrate Chemical compound [Li+].[Li+].[Li+].[Li+].O.C1=NC=2C(N)=NC=NC=2N1[C@@H]1O[C@H](COP([O-])(=O)OS([O-])(=O)=O)[C@@H](OP([O-])([O-])=O)[C@H]1O UGODCLHJOJPPHP-AZGWGOJFSA-J 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- KJBWWVTTZNVMKW-LPYMAVHISA-N 1-(dipyridin-2-ylmethylideneamino)-3-[(E)-(2-hydroxyphenyl)methylideneamino]thiourea Chemical compound Oc1ccccc1\C=N\N\C([S-])=[NH+]/N=C(c1ccccn1)c1ccccn1 KJBWWVTTZNVMKW-LPYMAVHISA-N 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/629—Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1491—Protection against unauthorised use of memory or access to memory by checking the subject access rights in a hierarchical protection system, e.g. privilege levels, memory rings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99932—Access augmentation or optimizing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
- Devices For Executing Special Programs (AREA)
- Stored Programmes (AREA)
- Vehicle Body Suspensions (AREA)
- Steering-Linkage Mechanisms And Four-Wheel Steering (AREA)
- Mobile Radio Communication Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Description
発明の技術分野
本発明は一般に、コンピュータシステムに対するユーザアクセスを規定することに関し、特に、コンピュータシステム上で稼働することができる一つ以上のアプリケーションの機能に対する複数のユーザそれぞれのアクセスの限界を選択的かつ融通性に規定する能力に関する。
【0002】
発明の背景
多くの従業員および/または顧客が、多数のアプリケーションを実行することができるコンピュータシステムに対するアクセスを有する共用リソースサービスビューロ環境のような環境では、そのようなアプリケーションの一つ以上の機能に対する特定のユーザまたはユーザのクラスによるアクセスを制限する能力を有することがしばしば望ましい。本明細書で使用する「機能」は、たとえば、データベーステーブルからデータにアクセスする機能、レポートを作成し、閲覧し、プリントする機能およびeメールを送受信する機能など、ほぼ無限の可能なアプリケーション機能のいずれをも含む。
【0003】
現在、ユーザアクセスを制限する際のそのような融通性は利用不可能である。データに対するアクセスの制限に関して、Oracle(登録商標)Corporationによって現在そのデータベースプログラムの中で使用されている一つの方法は、特定のデータテーブルにアクセスするユーザの能力をデータベースレベルで制限する方法である。Oracle(登録商標)Corporationは、具体的にデータそのものに対するアクセスではなく、そのデータを保持するテーブルに対するアクセスを制限する、ユーザへの「役割」の割り当てを許容することにより、これを達成している。
【0004】
Oracle(登録商標)役割によって制限されるデータアクセス機能をはじめとする、アプリケーション機能に対するアクセスを制限する際のいっそうの融通性の必要性は、簡単な例によって実証することができる。以下は、1998年6月15日の朝に顧客A、BおよびCによって実行された機密金融取引の仮想データ表である(表中、WDRWLは引き出しを示し、DPSTは預け入れを示し、PYMNTは支払いを示す)。
【0005】
【表1】
【0006】
顧客Aだけの6月分の機密取引に関するレポートを作成するためには、列1、4および6のデータにアクセスしなければならないが、行2、3、5および7にアクセスする必要はない。このデータは非常に機密にかかわるものであるため、アクセスを、割り当て(すなわち、顧客Aの取引の報告)に関するデータだけに制限することが非常に望ましい。
【0007】
加えて、Aの過去の取引のレポートを作成するために使用されるアプリケーションは、過去の実績を示すことに加えて将来の実績を予測するレポートを含む、いくつかの異なるタイプのレポートを作成する能力を有するかもしれない。だれが割り当てを与えられるかに依存して、両方のタイプのレポート作成能力に対するアクセスを許可することは望ましくないかもしれない。また、作成されたレポートのプリントを許可することは望ましくないかもしれない。
【0008】
発明の概要
本発明にしたがって、一つ以上の「属性」が、多数のアプリケーションを実行することができるコンピュータシステムのユーザに割り当てられる。各属性は名称−数値対であり、名称が、アクセスが規定されているアプリケーション機能(たとえば、データにアクセスする、レポートを作成する)を指定し、数値がアクセスの限界(たとえば全データまたは一部のデータ)をセットする。属性をグループで割り当てて、ユーザごとに個々の属性割り当てを生成する負担を除くこともできる。
【0009】
本発明にしたがって、アプリケーションの少なくとも一つの機能を実行するユーザの能力を規定するためのシステムおよび方法が提供される。本システムおよび方法にしたがって、ユーザは少なくとも一つの属性を割り当てられる。属性はデータベース中のテーブルに格納される。アプリケーションがユーザによって実行され、そのユーザに割り当てられた属性が検索される。属性は、アプリケーションの機能に対するユーザのアクセスが、検索された属性にしたがって規定されるよう、アプリケーションによって強制される。
【0010】
本発明のさらなる態様にしたがって、グループが少なくとも一つの属性を割り当てられ、そのグループがユーザに割り当てられる、アプリケーションの少なくとも一つの機能を実行するユーザの能力を規定するためのシステムおよび方法が提供される。グループはデータベース中のテーブルに格納される。アプリケーションがユーザによって実行され、そのユーザに割り当てられたグループが検索される。グループに割り当てられた属性は、アプリケーションの機能に対するユーザのアクセスが、検索された属性にしたがって規定されるよう、アプリケーションによって強制される。
【0011】
したがって、本発明の目的は、コンピュータシステムの所与のユーザまたはユーザのグループに利用可能なアプリケーション機能に対するアクセスを選択的に規定する能力を提供することである。
【0012】
本発明のさらなる目的は、テーブル指向データベースに含まれるデータに対するユーザアクセスを制限する能力において現在利用可能であるよりも大きな融通性を提供することである。
【0013】
本発明を他の目的およびさらなる目的とともにいっそう理解するため、添付図面と併せて読まれる以下の説明を参照し、その範囲を請求の範囲で指摘する。
【0014】
発明の詳細な説明
ユーザ属性
図1は、本発明のシステムの例を示すブロック図である。コンピュータ5が、テーブル11、13および15によって表されるデータテーブルを維持するデータベースソフトウェア8を実行する。また、アプリケーションABC、DEFおよびGHIによって表される多数のアプリケーションがコンピュータ5上で稼働し、テーブル11、13および15中のデータを検索し、加工するための手段を提供するものもある。システムの各ユーザX、YおよびZは、それぞれコンピュータ18、21および24によって表される端末機を介してコンピュータ5へのアクセスを有している。本発明にしたがって、ユーザX、YおよびZは、一つ以上の「属性」を割り当てられる。各属性は、アクセスが規定されているアプリケーション機能(たとえば、データベース内のデータにアクセスする能力)を指定する名称と、以下さらに詳細に説明する、アクセスの限界を規定する値とを有する。別段指定しない限り、本明細書で使用する「属性」は、名称−値対を示すために使用する。
【0015】
属性は、データベースソフトウェア8によってテーブル中に維持され、アプリケーションABC、DEFおよびGHIを実行するユーザそれぞれの能力を規定する。一例として、二つの有用な属性がDATA_SCOPEおよびUSER_LEVELである。DATA_SCOPEは、ユーザがアクセスを許可されているデータを規定し、前記表1を例として使用するならば、それぞれ顧客A、B、Cまたは3顧客すべてに対応するデータを表すA、B、CまたはALLの可能な値を有している。USER_LEVELは、ユーザが実行することを選択する所与のアプリケーションの特定の機能に対するアクセスのレベルを一般に規定する広い属性である。USER_LEVELは、好ましくは、ADMIN、REGULARおよびRESTRICTEDの値を有する。ADMINは、最も制限的でなく、特定のアプリケーションの利用可能なすべての機能、たとえばレポート検索、eメール、プリントに対するアクセスを許可する。RESTRICTEDは、ユーザを、最も基本的なアプリケーション機能、たとえばレポート作成に制限する。REGULARレベルユーザは、ADMINレベルユーザよりも少ない機能に対するアクセスしか許可されないが、RESTRICTEDレベルユーザよりも多くの機能に対するアクセスを許可される。各アプリケーションは、それが提供する種々の機能に基づいてUSER_LEVEL属性を解釈することができる。USER_LEVEL属性に代えて、たとえばレポート作成またはプリントに関するいくつかの集束的な属性を使用してもよい。
【0016】
二つの属性DATA_SCOPEおよびUSER_LEVELならびにそれぞれの数値はもちろん単なる例である。当業者は、アプリケーション機能に対するアクセスを制限する属性を規定する無限の潜在性を理解するであろう。
【0017】
グループ分け
属性は、ユーザ個々に割り当てることもできるし、好ましい実施態様では、グループ分け方法を実現することもできる。その一例を図2に示す。DATA_SCOPEおよびUSER_LEVELのような属性が四角によって表され、「属性グループ」が三角形によって表され、「割り当て対象グループ」が円によって表されている。属性グループは、属性およびそれらの値のみからなり、割り当て対象グループは、属性グループおよび/または他の割り当て対象グループからなるが、個々の属性からなるものではない。グループ分け方法の好ましい実施態様では、各属性グループを一つのアプリケーションに関する属性に制限し、それにより、種々のアプリケーションのための種々の属性および値を割り当てる能力を提供する。代替態様では、一つのグループがすべてのアプリケーションのための属性を含むことができるよう、特定のアプリケーションから独立して属性グループを生成することもできる。個々のアプリケーションの機能に対するアクセスを規定する際の融通性は少なくなるが、そのようなシステムは、より実現しやすいであろう。
【0018】
好ましい実施態様では、APP_CODEと呼ばれる少なくとも一つの列を含むテーブルAPPSが、対応する属性を有することができる有効なアプリケーションのリストを規定する。再び図1を参照すると、この例で有効なAPP_CODE値は、ABC、DEFおよびGHIである。APPSテーブル中の他の列は、各アプリケーションによって必要である情報を含むであろう。たとえば、ユーザが実行するアプリケーションを選択するためのアイコンを提供するメニューシステムでは、列APP_NAMEが、APP_CODE列中のアプリケーションに対応するアイコンの可視ラベルとして使用される文字列を含むであろう。
【0019】
各属性グループは、APP_CODEによって特定される具体的なアプリケーションのためのゼロ以上の属性のセットを規定する。ゼロ属性の属性グループは、属性のためのデフォルト値をそのアプリケーションに割り当てるべきであることを示すために使用することができる。通常、デフォルト値は最も制限的である。あるいはまた、ゼロ属性の属性グループは、アプリケーションを実行する能力以外には、アクセスが規定されるAPP_CODEによって特定されるアプリケーションの機能がないことを示すために使用することもできる。
【0020】
図2のグループ分け例は、図1および表1に関して先に論じた例よりも複雑なユーザ構造を示す。図2の属性グループ106、115、130、145および148は、以下のように割り当てられた属性を有している。
【0021】
【表2】
【0022】
この好ましい実施態様では、各属性グループが当てはまるアプリケーションは、グループが生成される時点で指定され、論じる例では、前記表2の第二列に示されている。
【0023】
図2に戻ると、ユーザ割り当て属性グループ106は、属性DATA_SCOPE107およびUSER_LEVEL108を、それぞれ表2に示すALLおよびADMINの値とともに有する。属性にしたがって、ユーザは、アプリケーションGHIに対するADMINアクセスを許可されるべきであり、そのアプリケーションを実行しているとき、各顧客A、BおよびCに関するデータに対するアクセスを許可される。ユーザ割り当て属性グループ130は、三つの属性DATA_SCOPE133、DATA_SCOPE136およびUSER_LEVEL139を、それぞれA、BおよびREGULARの値とともに有する。属性にしたがって、このユーザは、クライアントAまたはBに関するデータにアクセスすることができ、REGULAR状態のユーザに事前に規定されているアプリケーションABCの機能にアクセスすることができる。ユーザ割り当て属性グループ145は、アプリケーションABCに対するRESTRICTEDアクセスを有し、顧客AおよびBに関するデータに対するアクセスを許可される。ユーザ割り当て属性グループ148は、アプリケーションDEFに対するRESTRICTEDアクセスを許可され、顧客BおよびCに関するデータに対するアクセスを許可される。
【0024】
一つ以上の属性グループを割り当て対象グループに割り当てることができる。図2では、たとえば割り当て対象グループ142は、属性グループ145および148からなることができ、以下の表3の最後二列に掲載された属性名−値対のすべてを含むことができる。
【0025】
【表3】
【0026】
割り当て対象グループは、他の割り当て対象グループに割り当てることもできる。これは、図2では、割り当て対象グループ142中のすべての属性ならびに属性グループ130および115中のすべての属性を含む割り当て対象グループ103によって示されている。図の一番上の割り当て対象グループ100は、割り当て対象グループ103および属性グループ106からなる。したがって、割り当て対象グループ100は、五つの各属性グループ130、145、148、115および106中のすべての属性を含む。
【0027】
属性グループ分けシステムは、異なる責任レベルの従業員に属性を割り当てるのに特に適している。たとえば、属性グループ115、130、145および148は、低レベルまたは中レベルの従業員に割り当てることができるが、割り当て対象グループ100、103および142ならびに属性グループ106は、より低レベルの従業員の仕事を監督し、属性グループ106に関して、自らのアプリケーションを実行する責任を負う管理職に割り当てることができる。
【0028】
この好ましいグループ分けシステムでは、属性グループ、割り当て対象グループおよびユーザに対する属性の割り当ては、テーブルATTRIBUTESの中に維持される。ATTRIBUTESテーブルは、三つの列ASSIGNEE、ATTRIBUTE_NAMEおよびATTRIBUTE_VALUEを有している。ASSIGNEEは、属性グループ名、割り当て対象グループ名またはユーザであることができる。ATTRIBUTE_NAMEは、属性の名称(たとえばDATA_SCOPE)である。ATTRIBUTE_VALUEは、指定された属性の特定の値(たとえばALL)である。
【0029】
ATTRIBUTESテーブルは、7種の基本コマンドを使用して維持される。これらのコマンドの例を、Oracle(登録商標)データベース環境で使用するためのOracle(登録商標)手続きとして以下に記す。当業者は、他の環境の場合に類似したコマンドを導出しうることを理解するであろう。以下の記述では、パラメータを一重引用符で示し、リテラル列を二重引用符で示す。
【0030】
コマンドNo.1
attr_utils.create_group('group_name'、'group_type'、'app_code')
'group_name':グループ名
'group_type':"ATTRIBUTE"または"ASSIGNEE"
'app_code':'group_type'が"ATTRIBUTE"であるならば、このフィールドが必要である。そうでなければ、このフィールドは無視される。
【0031】
この手続きは、指定されたタイプのグループを生成する。'group_name'がグループまたはOracle(登録商標)ユーザとしてすでに存在するならば、エラーで出る。
【0032】
手続きにしたがって、'group_name'および'group_type'の値が大文字に変換される。すると、以下の列値を有するレコードがATTRIBUTESテーブルに挿入される。
ASSIGNEE='group_name'にセットし、
ATTRIBUTE_NAME="ASSIGNEE_TYPE"にセットし、
'group_type'の値に基づき、ATTRIBUTE_VALUE="ATTRIBUTE_GROUP"または"ASSIGNEE_GROUP"にセットせよ。
【0033】
加えて、'group_type'が"ATTRIBUTE"であるならば、以下の列値を有する別のレコードがATTRIBUTESテーブルに挿入される。
ASSIGNEE='group_name'にセットし、
ATTRIBUTE_NAME="APP_CODE"にセットし、
ATTRIBUTE_VALUE='app_code'にセットせよ。
【0034】
コマンドNo.2
attr_utils.assign_group('assignee'、'group_name')
'assignee':'group_name'を割り当てられるユーザまたは割り当て対象グループ
'group_name':割り当て対象に割り当てられるグループ
【0035】
この手続きは、一つのグループを別のグループまたはユーザに割り当てる。'assignee'が割り当て対象グループまたはユーザとして存在しないならば、エラーが返される。'group_name'が存在しない場合にも、エラーが返される。
【0036】
この手続きは、第一に、'assignee'および'group_name'の値を大文字に変換する。第二に、以下の列値を有するレコードをATTRIBUTESテーブルに挿入する。
ASSIGNEE='assignee'にセットし、
ATTRIBUTE_NAME="ASSIGNED_GROUP"にセットし、
ATTRIBUTE_VALUE='group_name'にセットせよ。
【0037】
コマンドNo.3
attr_utils.assign_attribute('assignee'、'attribute_name'、'attribute_value')
'assignee':属性グループ名。これは属性グループでなければならない。
'attribute_name':属性の名称
'attribute_value':指定された属性の値
【0038】
この手続きは、特定された値を有する属性を'assignee'に割り当てる。割り当て対象が属性グループとして存在しないか、attribute_nameが予約されているならば、エラーが返される。
【0039】
この手続きは、まず、'assignee'および'attribute_name'の値を大文字に変換し、次に、以下の列値を有するレコードをATTRIBUTESテーブルに挿入する。
ASSIGNEE='assignee'にセットし、
ATTRIBUTE_NAME="attribute_name"にセットし、
ATTRIBUTE_VALUE='attribute_value'にセットせよ。
【0040】
コマンドNo.4
attr_utils.drop_group('group_name')
'group_name':グループまたはユーザに対するすべての参照とともに削除されるグループまたはユーザの名称
【0041】
この手続きは、グループまたはユーザをそのグループまたはユーザに対するすべての参照とともに省略する。'group_name'が存在しないならば、エラーが返される。
【0042】
この手続きは、まず、'group_name'値を大文字に変換し、次に、ASSIGNEE列中の値が'group_name'にマッチするATTRIBUTESテーブル中のすべてのレコードを削除する。加えて、以下の規準の両方にマッチするATTRIBUTESテーブル中のすべてのレコードを削除する。
a.ATTRIBUTE_NAME列中の値が"ASSIGNED_GROUP"である。
b.ATTRIBUTE_VALUE列中の値が'group_name'にマッチする。
【0043】
コマンドNo.5
attr_utils.rescind_group('assignee'、'group_name')
'assignee':'group_name'を除かれるユーザまたは割り当て対象グループ
'group_name':割り当て対象から除かれるグループ
【0044】
この手続きは、'assignee'から指定された'group_name'を除く。'group_name'または'assignee'が存在しないならば、エラーが返される。
【0045】
この手続きはまず、'assignee'および'group_name'を大文字に転換し、次に、以下の三つの規準にマッチするATTRIBUTESテーブル中のすべてのレコードを削除する。
a.ATTRIBUTE_NAME列中の値が"ASSIGNED_GROUP"である。
b.ATTRIBUTE_VALUE列中の値が'group_name'にマッチする。
c.ASSIGNEE列中の値が'assignee'にマッチする。
【0046】
コマンドNo.6
attr_utils.rescind_attribute('assignee'、'attribute_name')
'assignee':属性グループ名。これは、属性グループでなければならない。
'attribute_name':属性の名称
【0047】
この手続きは、'assignee'から指定された'attribute_name'を除く。attribute_nameまたは割当て対象が存在しないか、attribute_nameが予約されているならば、エラーが返される。
【0048】
この手続きはまず、'assignee'および'attribute_name'を大文字に転換し、次に、以下の両方の規準にマッチするATTRIBUTESテーブル中のすべてのレコードを削除する。
a.ASSIGNEE列中の値が"assignee"にマッチする。
b.ATTRIBUTE NAME列中の値が'attribute_name'にマッチする。
【0049】
コマンドNo.7
attr_utils.update_attribute('assignee'、'attribute_name'、'attribute_value')
'assignee':属性グループ名。これは属性グループでなければならない。
'attribute_name':属性の名称
'attribute_value':指定された属性の新たな値
【0050】
この手続きは、特定された'assignee'および'attribute_name'に指定された'attribute_value'を更新する。attribute_nameまたは割り当て対象が存在しないか、attribute_nameが予約されているならば、エラーが返される。
【0051】
この手続きはまず、'assignee'および'attribute_name'を大文字に転換し、次に、以下の両方の規準にマッチするすべてのレコードについてATTRIBUTE_VALUE列を'attribute_value'にセットすることにより、ATTRIBUTESテーブルを更新する。
a.ASSIGNEE列中の値が'assignee'にマッチする。
b.ATTRIBUTE_NAME列中の値が'attribute_name'にマッチする。
【0052】
前記コマンドを使用してATTRIBUTESテーブルが維持される。コマンドNo.1および2で示すように、好ましい実施態様では、ATTRIBUTESテーブル中でいくつかの予約されたATTRIBUTE_NAMEを使用して、システム内で使用される特定の情報を識別する。"APP_CODE"のATTRIBUTE_NAMEが自動的に属性グループに割り当てられて、そのグループに対応するアプリケーションを特定する。"ASSIGNED_GROUP"のATTRIBUTE_NAMEを使用して、属性を属性グループに割り当て、属性グループおよび割り当て対象グループを割り当て対象グループに割り当て、属性グループおよび割り当て対象グループをユーザに割り当てる。"ASSIGNEE_TYPE"のATTRIBUTE_NAMEを使用して、グループが、属性グループであるのか、割り当て対象グループであるのかを識別する。手続きは、ATTRIBUTE_NAMEパラメータを有効にして、それらが予約されていないことを立証し、予約されているATTRIBUTE_NAMEが使用されようとするならば、エラーを返す。
【0053】
一例として、図2の割り当て対象グループ142に関するATTRIBUTESテーブルの一部は、以下の表4のように見える。
【0054】
【表4】
【0055】
属性グループが特定のアプリケーションに限定されない、前記で論じた本発明の代替態様では、create_group手続きは'app_code'入力を必要とせず、APP_CODE属性はATTRIBUTESテーブル中で維持されないであろう。しかし、アプリケーションに対する大規模アクセスは、APP_CODEを直接ユーザに割り当てるさらなるテーブルを使用して制御することができる。ユーザが特定のAPP_CODEを割り当てられないならば、対応するアプリケーションはユーザにとって完全に利用不可能になるであろう。
【0056】
親子階層
一つの割り当て対象グループに多数の属性グループおよび/または割り当て対象グループを割り当てる能力は、しばしば、同じ属性に関して重複し、反復し、さらには競合する値をグループまたはユーザに割り当てる結果をもたらす。たとえば、図2の一番上に示す割り当て対象グループ100は、図中のすべての属性を含み、したがって、前記表2に示すように、同じアプリケーションDEFの場合で、DATA_SCOPE属性について異なる値B、CおよびALLを含み、USER_LEVEL属性について異なる値REGULARおよびRESTRICTEDを含む。この理由のため、好ましい実施態様では、属性値ごとに「親値」が割り当てられて、たとえばDATA_SCOPE属性の値Bが親値ALLに割り当てられるような属性階層則が設けられる。実際には、ユーザの割り当てられた属性が呼び出され、同じ属性およびアプリケーションに関して親値および子値が存在する場合、親が維持され、子が捨てられる。加えて、反復値は捨てられる。
【0057】
親子割り当ては、三つの列ATTRIBUTE_NAME、CHILD_VALUEおよびPARENT_VALUEを有するテーブルATTRIBUTE_LEVELSの中に維持される。ATTRIBUTE_NAMEは、属性の名称(たとえばDATA_SCOPE)である。CHILD_VALUEは、属性の実効値(たとえばC)である。PARENT_VALUEは、実効値がサブセットである値(たとえばALL)である。実際の属性値が階層中の最高値、たとえばALLである場合、割り当てられる親値はNULLである。
【0058】
ATTRIBUTE_LEVELSテーブルは、4種の基本コマンドを使用して維持される。これらのコマンド例を、Oracle(登録商標)データベース環境で使用するためのOracle(登録商標)手続きとして以下に記す。当業者は、他のデータベース環境の場合に類似したコマンドを導出しうることを理解するであろう。以下の記述では、パラメータを一重引用符で示し、リテラル列を二重引用符で示す。
【0059】
コマンドNo.1
attr_utils.add_attr_level('attribute_name'、'child_value'、'parent_value')
'attribute_name':属性の名称
'child_value':指定された'attribute_name'の子値
'parent_value':指定された'attribute_name'に指定された'child_value'の親値
【0060】
この手続きは、指定されたパラメータについて新たな属性レベルを加える。'child_value'が指定された'attribute_name'の最高レベルの権限を有するならば、'parent_value'は"NULL"であることができる。親値がヌルではなく、存在しないならば、エラーが返される。
【0061】
この手続きは、まず、'attribute_name'を大文字に変換し、次に、以下の列値を有するレコードをATTRIBUTE_LEVELSテーブルに挿入する。
ATTRIBUTE_NAME='attribute_name'にセットし、
CHILD_VALUE='child_value'にセットし、
PARENT_VALUE='parent_value'にセットせよ。
【0062】
コマンドNo.2
attr_utils.update_attr_level('attribute_name'、'child_value'、'parent_value')
'attribute_name':属性の名称
'child_value':指定されたattribute_nameの子値
'parent_value':指定された属性名に指定された子値の親値
【0063】
この手続きは、指定されたパラメータの親値を更新する。'child_value'が指定された'attribute_name'の最高レベルの権限を有するならば、'parent_value'は"NULL"であることができる。親値がヌルではなく、存在せず、また、attribute_nameとchild_valueとの組み合わせが存在しないならば、エラーが返される。
【0064】
この手続きは、まず、'attribute_name'を大文字に変換し、次に、以下の両方の規準にマッチするすべてのレコードについてPARENT_VALUE列値を'parent_value'にセットすることにより、ATTRIBUTE_LEVELSテーブルを更新する。
a.ATTRIBUTE_NAME列中の値が'attribute_name'にマッチする。
b.CHILD_VALUE列中の値が'child_value'にマッチする。
【0065】
コマンドNo.3
attr_utils.delete_attr_levels('attribute_name'、'child_value')
'attribute_name':属性の名称
'child_value':指定されたattribute_nameの子値
【0066】
この手続きは、指定されたパラメータの属性レベルおよびすべての子属性レベルを削除する。組み合わせが存在しないならば、エラーが返される。
【0067】
この手続きは、まず、'attribute_name'を大文字に変換し、次に、'attribute_name'および'child_value'の指名された対の「子」であるATTRIBUTE_LEVELSテーブル中のすべてのレコードを削除する。一例として、以下のSQLステートメントを使用してこれら最初の2ステップを達成することができる。
【0068】
【0069】
この手続きは、以下の規準の両方にマッチするATTRIBUTE_LEVELSテーブル中のすべてのレコードを削除する。
a.ATTRIBUTE_NAME列中の値が'attribute_name'にマッチする。
b.CHILD_VALUE列中の値が'child_value'にマッチする。
【0070】
コマンドNo.4
attr_utils.delete_all_levels('attribute_name')
'attribute_name':属性の名称
【0071】
この手続きは、指定されたattribute_nameのすべての属性レベルを削除する。attribute_nameが存在しないならば、エラーが返される。
【0072】
この手続きは、まず、'attribute_name'を大文字に変換し、次に、ATTRIBUTE_NAME列中の値が'attribute_name'にマッチするATTRIBUTE_LEVELSテーブル中のすべてのレコードを削除する。
【0073】
前記コマンドを使用してATTRIBUTE_LEVELSテーブルが維持される。一例として、前記で論じたサンプル属性のATTRIBUTE_LEVELSテーブルは、以下の表5のように見える。
【0074】
【表5】
【0075】
表5にしたがって、ALLのDATA_SCOPEが同じアプリケーションについて同じユーザに割り当てられるならば、値A、BまたはCを有するDATA_SCOPE属性の割り当ては捨てられる。同様に、より低いUSER_LEVEL値の割り当てが、割り当てられる最高値の代わりに捨てられる。
【0076】
好ましくは、属性値が、ATTRIBUTESテーブルに割り当てられているが、ATTRIBUTE_LEVELSテーブル中で規定されていないならば、それは、NULLの親値を有し、その親値として割り当てられた値を有する他の値を有さずに、ATTRIBUTE_LEVELSテーブル中で規定されているかのように処理される。
【0077】
より低レベルの割り当てられた値の完全なセットをより高レベルの値によって置き換えることができることを認識することにより、さらなる最小化を得ることができる。たとえば、A、BおよびCのDATA_SCOPE値が割り当てられるならば、システムは値ALLを返すことができる。この最小化は、より低レベルの値の完全なセットがより高レベルの値と同じものを実際に表す場合にのみ実施すべきである。理由は、より高レベルの値は、より低レベルの値の合計よりも大きな値を表すことが可能であるからである。
【0078】
ユーザ属性システムの操作
本発明のユーザ属性システムの使用例の以下の説明に関連して図3を参照する。本発明の好ましい実施態様によると、データベース環境中で実行されるアプリケーションに対するアクセスは、初期グラフィカルユーザインタフェース(IGUI)によって制御される。IGUIの例は、ウェブサイトホームページおよびローカルエリアネットワークスタートアップページを含む。
【0079】
しかし、アプリケーションに対してアクセスする前に、ユーザは通常、ボックス201で示すように、コンピュータシステムにログインし、そのとき、コンピュータシステムは、ログインが正常に完了するならば、そのユーザを認識する。ボックス204で、IGUIは、ユーザが利用可能であるアプリケーションを検索する。好ましい実施態様では、IGUIは、矢印205で、ユーザのためのグループ割り当てを含むATTRIBUTESテーブルにアクセスすることによってこれを実施する。前記で論じたように、好ましい実施態様では、グループ割り当ては属性グループ割り当てを含み、この属性グループ割り当ては逆に、利用可能なアプリケーションの詳細を含む。Oracle(登録商標)データベースシステムでは、かなりのサイズになりうるATTRIBUTESテーブル全体をサーチするのではなく、繰り返し使用される可能性のある、頻繁に使用されるサーチの結果(たとえば特定のユーザの属性)を含む「ビュー」を生成することができる。属性が特定のアプリケーションに制限されない代替態様では、特定のユーザに利用しうるアプリケーションを別のテーブルに格納したり、別のテーブルから検索したりすることができる。
【0080】
矢印205で、IGUIはまた、APP_CODE列を含む有効なアプリケーションのAPPSテーブルにアクセスして、IGUIが利用可能なアプリケーションをユーザに表示するボックス207で、どの文字列をユーザに表示するのかをIGUIに教える。ボックス210で、ユーザは、利用可能なアプリケーションの一つを選択する。ボックス213で、IGUIは、矢印214でATTRIBUTESテーブルにアクセスし、選択したアプリケーションのためのユーザの属性を検索する。同じくOracle(登録商標)データベースシステムでは、Oracle(登録商標)ビューを使用して属性を検索してもよい。加えて、IGUIは、ATTRIBUTE_LEVELSテーブルにアクセスして属性の数を減らすこともできる。
【0081】
矢印215で、IGUIは、該当する属性をアプリケーションにパスし、ボックス216で、アプリケーションを実行してアプリケーションがそれらの属性を強制する。ユーザが、属性によって規定されたアクセスの制限を超えようとするならば、エラーまたは警告を出すこともできる。
【0082】
代替態様では、アプリケーションが、IGUIの支援を受けずに属性を直接検索し、属性を強制してもよいことが当業者によって理解されよう。
【0083】
ビュー
前記で論じたように、Oracle(登録商標)ビューを本発明で使用して、テーブルからレコードを検索し、編成することもできる。以下は、本発明の実現に役立つことがわかった12種のビューのリストである。各ビューおよびSQL例の説明を記載する。
【0084】
ビューNo.1
V_ATTRIBUTE_APP_CODES
このビューは、ユーザ属性システムにおけるすべての個別のアプリケーションコードセットアップのリストを返す。このビューは、ATTRIBUTE_NAMEが'APP_CODE'の予約されたATTRIBUTE_NAMEであるレコードについてDISTINCT文節を用いてSELECTを実行する。
SQL例
【0085】
【0086】
ビューNo.2
V_ATTRIBUTE_GROUPS_ATTR
このビューは、すべての個別の属性グループのリストを返す。このビューは、ATTRIBUTE_NAMEが'ASSIGNEE_TYPE'の予約されたATTRIBUTE_NAMEであり、ATTRIBUTE_VALUEが'ATTRIBUTE_GROUP'であるレコードについてDISTINCT文節を用いてSELECTを実行する。
SQL例
【0087】
【0088】
ビューNo.3
V_ATTRIBUTE_GROUPS_ASSIGN
このビューは、すべての個別の割り当て対象グループのリストを返す。このビューは、ATTRIBUTE_NAMEが'ASSIGNEE_TYPE'の予約されたATTRIBUTE_NAMEであり、ATTRIBUTE_VALUEが'ASSIGNEE_GROUP'であるレコードについてDISTINCT文節を用いてSELECTを実行する。
SQL例
【0089】
【0090】
ビューNo.4
V_ATTRIBUTE_USERS
このビューは、すべての個別の属性ユーザのリストを返す。このビューは、ASSIGNEEがOracle Data DictionaryテーブルALL_USERSで見られるUSERNAMEに等しいレコードについてDISTINCT文節を用いてSELECTを実行する。
SQL例
【0091】
【0092】
ビューNo.5
V_ATTRIBUTE_GROUPS_ALL
このビューは、システム中のすべての個別のグループのリストを返す。これは、属性およびAssigneeの両グループを含む。このビューは、ASSIGNEEが属性ユーザではないレコードについてDISTINCT文節を用いてSELECTを実行する。
SQL例
【0093】
【0094】
ビューNo.6
V_USER_GROUPS
このビューは、現在Oracleに接続されたユーザに割り当てられたすべてのグループのリストを返す。結果は、ユーザに直接的に割り当てられたグループおよびユーザに間接的に割り当てられたグループを含む。すなわち、ユーザに割り当てられたASSIGNEE GROUPSに割り当てられたグループである。このビューは、CONNECT BY文節を利用して、ファミリツリータイプの問い合わせを実行する。
SQL例
【0095】
【0096】
ビューNo.7
V_USERS_ATTR_APPS
このビューは、現在Oracleに接続されているユーザに割り当てられたすべての属性と、対応するAPP_CODEとのリストを返す。このビューは、ユーザに割り当てられたグループ(V_USER_GROUPS)のリスト、ATTRIBUTESテーブルおよびATTRIBUTE_GROUPSのリストを、対応するAPP_CODE値(V_ATTRIBUTE_APP_CODES)と合わせる。
SQL例
【0097】
【0098】
ビューNo.8
V_USER_ATTR_HIGHEST_VALUES
このビューは、対応するATTRIBUTE_NAMEの最高レベルのATTRIBUTE_VALUEのリストを返す。このビューは、以下に論じるV_USER_ATTRIBUTESビューがこれらの個別の値のリストを検索することができるよう、複製のエントリを含むことができる。このビューは、現在のユーザに割り当てられた属性ごとのAPP_CODE、ATTRIBUTE_NAMEおよびATTRIBUTE_VALUEを関数ATTR_UTILS.HIGHEST_VALUEにパスする。関数は、問い合わせの一部として実行できることと、値を返すことを除き、手続きと同じである。
【0099】
ここで、関数は、現在ユーザに割り当てられている最高の親値を返す。このビューの場合、この関数の記述はSQL例に準ずる。
SQL例
【0100】
【0101】
ATTR_UTILS.HIGHEST_VALUE関数は、3種の入力APP_CODE、ATTRIBUTE_NAMEおよびATTRIBUTE_VALUEを必要とする。関数はまず、所与のユーザに割り当てられたすべての属性値APP_CODEおよびATTRIBUTE_NAMEからなる内部属性値テーブルをロードする。関数は、既存のビューの一つを使用してこれを実施することができる(すなわち、V_USER_ATTR_VALUE_LEVELS)。関数は次に、現在の属性値を使用し、この値の親レコードのすべてを見いだす。関数は、以下のようなSQL問い合わせを使用する。
【0102】
【0103】
そして、関数は、各親値を属性値テーブル中のレコードと比較して、他の割り当てられた属性値の一つが親レコード、すなわち現在の属性値の親、祖親などであるかどうかを決定する。親レコードであるならば、より高レベルの属性値が返される。そうでなければ、現在の属性値が返される。
【0104】
ビューNo.9
V_ATTR_VALUE_LEVELS
このビューは、ATTRIBUTE_NAME、関連するATTRIBUTE_VALUEおよび対応するレベルの値のリストを返す。たとえば、最高レベルのATTRIBUTE_VALUEは1のATTRIBUTE_LEVELを有し、その値の子は2の値を有する。このビューは、CONNECT BY文節を使用するファミリーツリータイプの問い合わせを実行する。
SQL例
【0105】
【0106】
ビューNo.10
V_USER_ATTR_VALUE_LEVELS
このビューは、ユーザに割り当てられたすべての属性およびそれらの対応するレベルのリストを返す。このビューは、現在Oracleに接続されているユーザに割り当てられた属性のリスト(V_USER_ATTR_APPS)と、属性およびそれらの対応するレベルのリスト(V_ATTR_VALUE_LEVELS)とを合わせる。
SQL例
【0107】
【0108】
ビューNo.11
V_USER_APP_CODES
このビューは、現在のユーザが割り当てられたすべての個別のAPP_CODEのリストを返す。このビューは、CONNECT BY文節を使用するファミリーツリータイプの問い合わせを実行する。
SQL例
【0109】
【0110】
ビューNo.12
V_USER_ATTRIBUTES
このビューは、ユーザに割り当てられたすべての属性と、対応するATTRIBUTE_NAMEの最高レベルのATTRIBUTE_VALUEのみとのリストを返す。このビューは、V_USER_ATTR_HIGEST_VALUESに対してSELECT DISTINCTを実行する。(V_USER_ATTR_VALUE_LEVELS)。
SQL例
【0111】
【0112】
Oracle(登録商標)環境では、ATTRIBUTESおよびATTRIBUTE_LEVELSテーブル中のデータが正しく維持されることを保証するために、Oracle(登録商標)手続きのみを使用してユーザ属性に対する維持を実行することが好ましい。これは、ユーザ属性システム中の種々のオブジェクト、たとえばテーブル、ビュー、手続きおよび関数に対するアクセスを制限することによって保証することができる。読み取りのみの権限が、ATTRIBUTESおよびATTRIBUTE_LEVELSテーブルならびにビューのすべてに与えられるべきである。これらのテーブルを維持するために使用されるOracle(登録商標)手続きにおける実行権限は、ユーザ属性管理責任者のみに与えられるべきである。これは、権限のないユーザが属性又は属性レベルを操作することができないよう保証する。
【0113】
いくつかの代表的な例および実施態様を参照して本発明を説明したが、これらは、属性発明の範囲または本質を限定するものとして解釈されてはならない。実際には、添付の請求の範囲で表す本発明の範囲を逸することなく、当業者によって多くの変形を加えることができる。
【図面の簡単な説明】
【図1】 本発明のシステムの例を示すブロック図である。
【図2】 本発明のユーザ属性システムグループ分け方法の例を示すブロック図である。
【図3】 本発明の方法の一つの実施態様を示す流れ図である。
Claims (14)
- それぞれが少なくとも一つの機能を有する少なくとも一つのアプリケーションを実行し、データベースを維持することができるコンピュータシステムにおいて、前記少なくとも一つの機能に対するユーザのアクセスを規定する方法であって、
少なくとも一つの属性を前記ユーザに割り当てるステップと、
前記少なくとも一つの属性を前記データベース中の第一のテーブルに格納するステップと、
前記少なくとも一つの属性の実効値ごとに親値を割り当て、それにより、一つ以上の親子値関係を生成するステップと、
前記一つ以上の親子値関係を前記データベース中の第二のテーブルに格納するステップと、
前記コンピュータシステム中でアプリケーションを実行するステップと、
前記第一のテーブルから、ユーザに割り当てられた前記少なくとも一つの属性の一つ以上を検索するステップと、
前記一つ以上の親子値関係を前記第二のテーブルから検索するステップと、
検索された親子値関係にしたがって、検索された属性の数を減らすステップと、
前記アプリケーションの前記少なくとも一つの機能に対するユーザのアクセスに対し、減らされた数の前記検索された属性によって規定されるアクセス制限を課すステップと、
を含む方法。 - 前記少なくとも一つのアプリケーションの機能の少なくとも一つが、データにアクセスする能力に関する、請求項1記載の方法。
- それぞれが少なくとも一つの機能を有する少なくとも一つのアプリケーションを実行し、データベースを維持することができるコンピュータシステムにおいて、前記少なくとも一つの機能に対するユーザのアクセスを規定する方法であって、
(a)少なくとも一つの属性を前記ユーザに割り当てるステップと、
(b)前記少なくとも一つの属性を前記データベース中の第一のテーブルに格納するステップと、
(c) 前記少なくとも一つの属性の実効値ごとに親値を割り当てるステップと、
(d)親子値関係を前記データベース中の第二のテーブルに格納するステップと、
(e)前記コンピュータシステム中でアプリケーションを実行するステップと、
(f)データベース中の前記第一のテーブルから、ユーザに割り当てられた前記少なくとも一つの属性の一つ以上を検索するステップと、
(g)検索した属性を前記実行中のアプリケーションに提供するステップと、
(h)前記親子値関係を前記第二のテーブルから検索するステップと、
(i)検索された親子値関係にしたがって、検索された属性の数を減らすステップと、
(j)前記アプリケーションの前記少なくとも一つの機能に対するユーザのアクセスに対し、減らされた数の前記検索された属性によって規定されるアクセス制限を課すステップと
を含む方法。 - 前記アプリケーションを実行するステップ(e)の前に、前記ユーザに割り当てられた少なくとも一つの属性にしたがって実行すべき一つ以上のアプリケーションの選択を前記ユーザに提供するステップをさらに含む、請求項3記載の方法。
- 前記少なくとも一つのアプリケーションの機能の少なくとも一つが、データにアクセスする能力に関する、請求項3記載の方法。
- それぞれが少なくとも一つの機能を有する少なくとも一つのアプリケーションを実行し、データベースを維持することができるコンピュータシステムにおいて、前記少なくとも一つの機能に対するユーザのアクセスを規定する方法であって、
少なくとも一つの属性をグループに割り当てるステップと、
前記グループを少なくとも一つのユーザに割り当てるステップと、
前記グループを前記データベース中の第一のテーブルに格納するステップと、
前記少なくとも一つの属性の実効値ごとに親値を割り当て、それにより、一つ以上の親子値関係を生成するステップと、
前記一つ以上の親子値関係を前記データベース中の第二のテーブルに格納するステップと、
前記コンピュータシステム中でアプリケーションを実行するステップと、
前記第一のテーブルから、前記グループに割り当てられた属性の少なくとも一つを検索するステップと、
前記一つ以上の親子値関係を前記第二のテーブルから検索するステップと、
検索された親子値関係にしたがって、検索された属性の数を減らすステップと、
前記アプリケーションの前記少なくとも一つの機能に対するユーザのアクセスに対し、減らされた数の前記検索された属性によって規定されるアクセス制限を課すステップと、
を含む方法。 - 前記グループに割り当てられた前記少なくとも一つの属性が、前記アプリケーションのみに対するアクセスを規定する、請求項6記載の方法。
- 少なくとも一つの機能を有するアプリケーションを実行するための手段と、
データベースを維持するための手段と、
少なくとも一つの属性をユーザに割り当てるための手段と、
前記少なくとも一つの属性を前記データベース中の第一のテーブルに格納するための手段と、
前記少なくとも一つの属性の実効値ごとに親値を割り当て、それにより、一つ以上の親子値関係を生成する手段と、
前記一つ以上の親子値関係を前記データベース中の第二のテーブルに格納する手段と、
前記第一のテーブルから、ユーザに割り当てられた前記少なくとも一つの属性を検索するための手段と、
前記一つ以上の親子値関係を前記第二のテーブルから検索する手段と、
検索された親子値関係にしたがって、検索された属性の数を減らす手段と、
前記アプリケーションの前記少なくとも一つの機能に対するユーザのアクセスに対し、減らされた数の前記検索された属性によって規定されるアクセス制限を課す手段と、
を含むコンピュータシステム。 - 前記少なくとも一つのアプリケーションの機能の少なくとも一つが、データにアクセスする能力に関する、請求項8記載のシステム。
- 少なくとも一つの機能を有するアプリケーションを実行するための手段と、
データベースを維持するための手段と、
少なくとも一つの属性をユーザに割り当てるための手段と、
前記少なくとも一つの属性の実効値ごとに親値を割り当て、それにより、一つ以上の親子値関係を生成する手段と、
前記親子値関係を前記データベース中の第二のテーブルに格納する手段と、
前記少なくとも一つの属性を前記データベース中の第一のテーブルに格納するための手段と、
前記第一のテーブルから、ユーザに割り当てられた前記少なくとも一つの属性を検索するための手段と、
検索された属性を前記アプリケーションに提供するための手段と、
前記親子値関係を前記第二のテーブルから検索する手段と、
検索された親子値関係にしたがって、検索された属性の数を減らす手段と、
前記アプリケーションの少なくとも一つの機能に対するユーザのアクセスに対し、減らされた数の前記検索された属性によって規定されるアクセス制限を課す手段と、
を含むコンピュータシステム。 - 前記ユーザに割り当てられた前記少なくとも一つの属性にしたがって実行すべき一つ以上のアプリケーションの選択を前記ユーザに提供するための手段をさらに含む、請求項10記載のシステム。
- 前記少なくとも一つのアプリケーションの機能の少なくとも一つが、データにアクセスする能力に関する、請求項10記載のシステム。
- 少なくとも一つの機能を有するアプリケーションを実行するための手段と、
データベースを維持するための手段と、
少なくとも一つの属性をグループに割り当てるための手段と、
前記グループをユーザに割り当てるための手段と、
前記グループを前記データベース中の第一のテーブルに格納するための手段と、
前記少なくとも一つの属性の実効値ごとに親値を割り当て、それにより、一つ以上の親子値関係を生成する手段と、
前記一つ以上の親子値関係を前記データベース中の第二のテーブルに格納する手段と、
前記第一のテーブルから、前記グループに割り当てられた属性の少なくとも一つを検索するための手段と、
前記一つ以上の親子値関係を前記第二のテーブルから検索する手段と、
検索された親子値関係にしたがって、検索された属性の数を減らす手段と、
前記アプリケーションの少なくとも一つの機能に対するユーザのアクセスに対し、減らされた数の前記属性によって規定されるアクセス制限を課す手段と、
を含むコンピュータシステム。 - 前記グループに割り当てられた前記少なくとも一つの属性が、前記アプリケーションのみに対するアクセスを規定する、請求項13記載のシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/118,621 US6430549B1 (en) | 1998-07-17 | 1998-07-17 | System and method for selectivety defining access to application features |
US09/118,621 | 1998-07-17 | ||
PCT/US1999/016029 WO2000004435A1 (en) | 1998-07-17 | 1999-07-15 | System and method for selectively defining access to application features |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002520727A JP2002520727A (ja) | 2002-07-09 |
JP4571746B2 true JP4571746B2 (ja) | 2010-10-27 |
Family
ID=22379742
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000560497A Expired - Lifetime JP4571746B2 (ja) | 1998-07-17 | 1999-07-15 | アプリケーション機能に対するアクセスを選択的に規定するためのシステムおよび方法 |
Country Status (20)
Country | Link |
---|---|
US (2) | US6430549B1 (ja) |
EP (1) | EP1108238B1 (ja) |
JP (1) | JP4571746B2 (ja) |
KR (3) | KR100628426B1 (ja) |
CN (1) | CN1318163B (ja) |
AT (1) | ATE352071T1 (ja) |
AU (1) | AU757061B2 (ja) |
BG (1) | BG64962B1 (ja) |
BR (1) | BR9912119A (ja) |
CA (1) | CA2336987A1 (ja) |
DE (1) | DE69934894T2 (ja) |
EA (1) | EA003618B1 (ja) |
ES (1) | ES2280123T3 (ja) |
HR (1) | HRP20010029B1 (ja) |
HU (1) | HUP0301138A2 (ja) |
IL (1) | IL140906A0 (ja) |
NZ (1) | NZ509240A (ja) |
PL (1) | PL345904A1 (ja) |
WO (1) | WO2000004435A1 (ja) |
YU (1) | YU2701A (ja) |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6430549B1 (en) * | 1998-07-17 | 2002-08-06 | Electronic Data Systems Corporation | System and method for selectivety defining access to application features |
US6988138B1 (en) * | 1999-06-30 | 2006-01-17 | Blackboard Inc. | Internet-based education support system and methods |
US7908602B2 (en) | 1999-06-30 | 2011-03-15 | Blackboard Inc. | Internet-based education support system, method and medium providing security attributes in modular, extensible components |
US6876991B1 (en) | 1999-11-08 | 2005-04-05 | Collaborative Decision Platforms, Llc. | System, method and computer program product for a collaborative decision platform |
JP4718662B2 (ja) * | 2000-03-24 | 2011-07-06 | 株式会社東芝 | コンピュータシステム |
US7362868B2 (en) | 2000-10-20 | 2008-04-22 | Eruces, Inc. | Hidden link dynamic key manager for use in computer systems with database structure for storage of encrypted data and method for storage and retrieval of encrypted data |
US20030021417A1 (en) | 2000-10-20 | 2003-01-30 | Ognjen Vasic | Hidden link dynamic key manager for use in computer systems with database structure for storage of encrypted data and method for storage and retrieval of encrypted data |
EP1350167A4 (en) * | 2000-11-16 | 2007-10-24 | Dlj Long Term Invest Corp | SYSTEM AND METHOD FOR SAFETY AT THE APPLICATION LEVEL |
GB2383147B (en) * | 2001-12-13 | 2005-04-06 | Inventec Corp | Method for integrating multiple web servers based on individual client authorisation |
US7020653B2 (en) * | 2002-11-06 | 2006-03-28 | Oracle International Corporation | Techniques for supporting application-specific access controls with a separate server |
JP2004302516A (ja) * | 2003-03-28 | 2004-10-28 | Ntt Docomo Inc | 端末装置およびプログラム |
US20040249674A1 (en) * | 2003-05-06 | 2004-12-09 | Eisenberg Floyd P. | Personnel and process management system suitable for healthcare and other fields |
US20050097343A1 (en) * | 2003-10-31 | 2005-05-05 | Michael Altenhofen | Secure user-specific application versions |
EP1560139A1 (en) * | 2004-01-30 | 2005-08-03 | Jaffe Associates LLC | Computer-based system and method of designating content for presentation to a target entity |
US9407963B2 (en) * | 2004-02-27 | 2016-08-02 | Yahoo! Inc. | Method and system for managing digital content including streaming media |
US8225221B2 (en) * | 2004-04-12 | 2012-07-17 | Microsoft Corporation | Method and apparatus for constructing representations of objects and entities |
US20060053035A1 (en) * | 2004-09-09 | 2006-03-09 | Eisenberg Floyd P | Healthcare personnel management system |
JP4643213B2 (ja) * | 2004-09-29 | 2011-03-02 | シスメックス株式会社 | アプリケーションプログラムの使用制限方法、測定装置のユーザ認証システム、認証サーバ、クライアント装置、及びアプリケーションプログラム |
WO2006039516A2 (en) * | 2004-09-30 | 2006-04-13 | Millennium It (Usa) Inc. | System and method for configurable trading system |
US7668846B1 (en) | 2005-08-05 | 2010-02-23 | Google Inc. | Data reconstruction from shared update log |
US7567973B1 (en) * | 2005-08-05 | 2009-07-28 | Google Inc. | Storing a sparse table using locality groups |
US8677499B2 (en) | 2005-12-29 | 2014-03-18 | Nextlabs, Inc. | Enforcing access control policies on servers in an information management system |
US8627490B2 (en) * | 2005-12-29 | 2014-01-07 | Nextlabs, Inc. | Enforcing document control in an information management system |
US8621549B2 (en) | 2005-12-29 | 2013-12-31 | Nextlabs, Inc. | Enforcing control policies in an information management system |
US9942271B2 (en) * | 2005-12-29 | 2018-04-10 | Nextlabs, Inc. | Information management system with two or more interactive enforcement points |
US7783686B2 (en) * | 2006-06-16 | 2010-08-24 | Microsoft Corporation | Application program interface to manage media files |
US8413110B2 (en) * | 2007-04-25 | 2013-04-02 | Kai C. Leung | Automating applications in a multimedia framework |
US8326211B1 (en) | 2007-06-11 | 2012-12-04 | Distance EDU Learning, Inc. | Computer systems for capturing student performance |
US9214090B2 (en) | 2007-06-11 | 2015-12-15 | Distance EDU Learning, Inc. | Computer systems for capturing student performance |
US20100017246A1 (en) * | 2008-07-20 | 2010-01-21 | Farrell Glenn H | Software user interface for specification of project task dependencies and deadlines |
US8484351B1 (en) | 2008-10-08 | 2013-07-09 | Google Inc. | Associating application-specific methods with tables used for data storage |
US9400879B2 (en) * | 2008-11-05 | 2016-07-26 | Xerox Corporation | Method and system for providing authentication through aggregate analysis of behavioral and time patterns |
US8255820B2 (en) | 2009-06-09 | 2012-08-28 | Skiff, Llc | Electronic paper display device event tracking |
WO2011122572A1 (ja) * | 2010-03-31 | 2011-10-06 | 日本電気株式会社 | グルーピング装置、コンピュータ読み取り可能な記録媒体、及びグルーピング方法 |
US20170171292A1 (en) * | 2015-12-11 | 2017-06-15 | Quixey, Inc. | Generating Software Application Search Results Using Shared Application Connections |
US10657239B2 (en) | 2017-05-25 | 2020-05-19 | Oracle International Corporation | Limiting access to application features in cloud applications |
CA3093080A1 (en) | 2018-03-12 | 2019-09-19 | Twilio Inc. | Customizable cloud-based software platform |
US11609974B2 (en) | 2020-08-10 | 2023-03-21 | Walmart Apollo, Llc | Methods and apparatus for automatic permission assignment |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2533495B2 (ja) | 1986-07-25 | 1996-09-11 | 株式会社日立製作所 | ワ−クスケジユ−リング方法及び装置 |
US5117353A (en) | 1989-05-05 | 1992-05-26 | Staff-Plus, Inc. | System for use in a temporary help business |
US5164897A (en) | 1989-06-21 | 1992-11-17 | Techpower, Inc. | Automated method for selecting personnel matched to job criteria |
US5459859A (en) | 1991-06-18 | 1995-10-17 | Mitsubishi Denki Kabushiki Kaisha | Apparatus and system for providing information required for meeting with desired person while travelling |
US5283731A (en) | 1992-01-19 | 1994-02-01 | Ec Corporation | Computer-based classified ad system and method |
GB9402935D0 (en) * | 1994-02-16 | 1994-04-06 | British Telecomm | A method for controlling access to a database |
US5416694A (en) | 1994-02-28 | 1995-05-16 | Hughes Training, Inc. | Computer-based data integration and management process for workforce planning and occupational readjustment |
US5592375A (en) | 1994-03-11 | 1997-01-07 | Eagleview, Inc. | Computer-assisted system for interactively brokering goods or services between buyers and sellers |
US5754850A (en) | 1994-05-11 | 1998-05-19 | Realselect, Inc. | Real-estate method and apparatus for searching for homes in a search pool for exact and close matches according to primary and non-primary selection criteria |
JP2912840B2 (ja) | 1994-12-07 | 1999-06-28 | 富士通株式会社 | ファイル管理システム |
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 |
US5799304A (en) | 1995-01-03 | 1998-08-25 | Intel Corporation | Information evaluation |
US5671409A (en) | 1995-02-14 | 1997-09-23 | Fatseas; Ted | Computer-aided interactive career search system |
GB2301912A (en) | 1995-06-09 | 1996-12-18 | Ibm | Security for computer system resources |
US5734828A (en) | 1995-08-30 | 1998-03-31 | Intel Corporation | System for accessing/delivering on-line/information services via individualized environments using streamlined application sharing host and client services |
US5758324A (en) | 1995-12-15 | 1998-05-26 | Hartman; Richard L. | Resume storage and retrieval system |
US5778181A (en) | 1996-03-08 | 1998-07-07 | Actv, Inc. | Enhanced video programming system and method for incorporating and displaying retrieved integrated internet information segments |
JPH09288609A (ja) * | 1996-04-23 | 1997-11-04 | Mitsubishi Electric Corp | ファイルの安全管理方式 |
US5799285A (en) | 1996-06-07 | 1998-08-25 | Klingman; Edwin E. | Secure system for electronic selling |
SE506853C2 (sv) | 1996-06-20 | 1998-02-16 | Anonymity Prot In Sweden Ab | Metod för databearbetning |
US6131120A (en) * | 1997-10-24 | 2000-10-10 | Directory Logic, Inc. | Enterprise network management directory containing network addresses of users and devices providing access lists to routers and servers |
US6085191A (en) * | 1997-10-31 | 2000-07-04 | Sun Microsystems, Inc. | System and method for providing database access control in a secure distributed network |
US6064656A (en) * | 1997-10-31 | 2000-05-16 | Sun Microsystems, Inc. | Distributed system and method for controlling access control to network resources |
US6202066B1 (en) * | 1997-11-19 | 2001-03-13 | The United States Of America As Represented By The Secretary Of Commerce | Implementation of role/group permission association using object access type |
JPH11161536A (ja) * | 1997-11-26 | 1999-06-18 | Nec Inf Service Ltd | 利用者制限装置およびその方法 |
JP3937548B2 (ja) * | 1997-12-29 | 2007-06-27 | カシオ計算機株式会社 | データアクセス制御装置およびそのプログラム記録媒体 |
US6182142B1 (en) * | 1998-07-10 | 2001-01-30 | Encommerce, Inc. | Distributed access management of information resources |
US6430549B1 (en) * | 1998-07-17 | 2002-08-06 | Electronic Data Systems Corporation | System and method for selectivety defining access to application features |
-
1998
- 1998-07-17 US US09/118,621 patent/US6430549B1/en not_active Expired - Lifetime
-
1999
- 1999-07-15 EP EP99934061A patent/EP1108238B1/en not_active Expired - Lifetime
- 1999-07-15 JP JP2000560497A patent/JP4571746B2/ja not_active Expired - Lifetime
- 1999-07-15 EA EA200100145A patent/EA003618B1/ru not_active IP Right Cessation
- 1999-07-15 NZ NZ509240A patent/NZ509240A/xx not_active IP Right Cessation
- 1999-07-15 YU YU2701A patent/YU2701A/sh unknown
- 1999-07-15 HU HU0301138A patent/HUP0301138A2/hu unknown
- 1999-07-15 KR KR1020017000681A patent/KR100628426B1/ko not_active IP Right Cessation
- 1999-07-15 AU AU49978/99A patent/AU757061B2/en not_active Ceased
- 1999-07-15 CN CN998110868A patent/CN1318163B/zh not_active Expired - Lifetime
- 1999-07-15 KR KR1020067012276A patent/KR100692330B1/ko not_active IP Right Cessation
- 1999-07-15 WO PCT/US1999/016029 patent/WO2000004435A1/en active IP Right Grant
- 1999-07-15 AT AT99934061T patent/ATE352071T1/de not_active IP Right Cessation
- 1999-07-15 ES ES99934061T patent/ES2280123T3/es not_active Expired - Lifetime
- 1999-07-15 IL IL14090699A patent/IL140906A0/xx not_active IP Right Cessation
- 1999-07-15 PL PL99345904A patent/PL345904A1/xx not_active Application Discontinuation
- 1999-07-15 CA CA002336987A patent/CA2336987A1/en not_active Abandoned
- 1999-07-15 KR KR1020067012275A patent/KR100712569B1/ko not_active IP Right Cessation
- 1999-07-15 DE DE69934894T patent/DE69934894T2/de not_active Expired - Lifetime
- 1999-07-15 BR BR9912119-0A patent/BR9912119A/pt not_active Application Discontinuation
-
2001
- 2001-01-12 HR HR20010029A patent/HRP20010029B1/xx not_active IP Right Cessation
- 2001-01-15 BG BG105150A patent/BG64962B1/bg unknown
-
2002
- 2002-06-06 US US10/164,511 patent/US6578029B2/en not_active Expired - Lifetime
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4571746B2 (ja) | アプリケーション機能に対するアクセスを選択的に規定するためのシステムおよび方法 | |
US6631381B1 (en) | System and method for referencing a user-generated copy of a catalog | |
US10872162B2 (en) | Role-based security policy for an object-oriented database system | |
US5845067A (en) | Method and apparatus for document management utilizing a messaging system | |
US7308704B2 (en) | Data structure for access control | |
US6606627B1 (en) | Techniques for managing resources for multiple exclusive groups | |
US7650644B2 (en) | Object-based access control | |
US5778222A (en) | Method and system for managing access to objects | |
US6587854B1 (en) | Virtually partitioning user data in a database system | |
US7941785B2 (en) | System and method for managing information objects | |
JPH04321143A (ja) | データベースオブジェクトのユーザアクセス特権を判定するための方法およびそのシステム | |
WO2008033577A2 (en) | Hierarchy global management system and user interface | |
CA2379767A1 (en) | Method and apparatus for viewing the effect of changes to an index for a database table on an optimization plan for a database query | |
US7617211B2 (en) | System and method for automatically synchronizing security-relevant information between a relational database and a multidimensional database | |
US20020188774A1 (en) | Virtualizing external data as native data | |
US20020188727A1 (en) | Method for processing external data for access and manipulation through a host operating environment | |
AU2003200813B2 (en) | System and method for selectively defining access to application features | |
Tebbutt | Guidelines for the evaluation of X. 500 directory products | |
MXPA01000614A (en) | System and method for selectively defining access to application features |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060628 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20090605 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090929 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091224 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100202 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100428 |
|
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: 20100727 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100813 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130820 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4571746 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
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 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
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 |
|
EXPY | Cancellation because of completion of term |