[go: up one dir, main page]

JP2007018309A - Database apparatus, DB access control apparatus, access control system, access control method, and access control program - Google Patents

Database apparatus, DB access control apparatus, access control system, access control method, and access control program Download PDF

Info

Publication number
JP2007018309A
JP2007018309A JP2005199746A JP2005199746A JP2007018309A JP 2007018309 A JP2007018309 A JP 2007018309A JP 2005199746 A JP2005199746 A JP 2005199746A JP 2005199746 A JP2005199746 A JP 2005199746A JP 2007018309 A JP2007018309 A JP 2007018309A
Authority
JP
Japan
Prior art keywords
control
access
function
attribute
unit
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.)
Pending
Application number
JP2005199746A
Other languages
Japanese (ja)
Inventor
Yoshiaki Takeda
義聡 竹田
Masashi Kowatari
昌史 虎渡
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.)
Mitsubishi Electric Corp
Mitsubishi Electric Information Systems Corp
Mitsubishi Electric Information Technology Corp
Original Assignee
Mitsubishi Electric Corp
Mitsubishi Electric Information Systems Corp
Mitsubishi Electric Information Technology 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 Mitsubishi Electric Corp, Mitsubishi Electric Information Systems Corp, Mitsubishi Electric Information Technology Corp filed Critical Mitsubishi Electric Corp
Priority to JP2005199746A priority Critical patent/JP2007018309A/en
Publication of JP2007018309A publication Critical patent/JP2007018309A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】 ユーザ属性などの属性情報に基づいたデータベースアクセス制御において、属性情報が変更された場合の管理負荷を軽減しながら、データベースへアクセスするデータアクセスプログラムの性能の低下を防止することを目的とする。
【解決手段】 コンテキスト記憶部430は、属性管理サーバ200から取得したデータオブジェクトにアクセスするユーザなどに関する属性情報を記憶する。また、ポリシー関数記憶部440は、コンテキスト記憶部430が記憶する属性情報に基づいて制御条件を生成するポリシー関数を記憶する。関数実行部450は、ユーザがデータアクセスプログラムでデータオブジェクトにアクセスする場合、ポリシー関数を実行する。制御条件付加部460は、ポリシー関数によって生成された制御条件をデータアクセスプログラムに付加する。実行部470は、制御条件を付加したデータアクセスプログラムを実行する。
【選択図】 図1
PROBLEM TO BE SOLVED: To prevent deterioration in performance of a data access program for accessing a database while reducing a management load when the attribute information is changed in database access control based on attribute information such as a user attribute. To do.
A context storage unit 430 stores attribute information regarding a user who accesses a data object acquired from an attribute management server 200. Further, the policy function storage unit 440 stores a policy function that generates a control condition based on the attribute information stored in the context storage unit 430. The function execution unit 450 executes the policy function when the user accesses the data object with the data access program. The control condition adding unit 460 adds the control condition generated by the policy function to the data access program. The execution unit 470 executes the data access program to which the control condition is added.
[Selection] Figure 1

Description

本発明は、データベース装置で管理するデータへのアクセスの制御に関するものである。   The present invention relates to control of access to data managed by a database apparatus.

従来のDB(データベース)に格納された情報を不正利用から保護する方策としては、表またはビュー単位にユーザの登録を行い、ユーザの所属や役職などの属性に応じてユーザのアクセス権限を設定するという方法があった。つまり、ユーザが表またはビューへアクセスする場合、アクセスする表またはビューに設定されたアクセス権限に応じて、DBの内容を表示したり、非表示にしたりしていた。ところが、DBで管理している情報は増加しており、それに比例し、DBを使用するユーザ数なども増加していた。また、従来の方策では、人事異動や組織変更などによりユーザの役職や所属などの属性に変更が発生した場合にも、様々な設定変更を行う必要があった。このため、上述した方策でDBに格納された情報を不正利用から保護するのは、管理者の負荷が大きかった。
これに対し、特開2005−31862号公報では、DBの表定義や表の列定義などのメタデータとユーザ属性を管理しているディレクトリ情報などとを用いることによりアクセス制御を行う技術が開示されている。特開2005−31862号公報では、ユーザなどの属性情報に変更があった場合にも、既存のDBの表などに設定された制御情報への変更を加えることなくDBへのアクセス制御を維持する技術が開示されている。特開2005−31862号公報の実現に当たっては、アクセス実行時にSQL(Structured Query Language)プログラムなどのデータアクセスプログラムを解釈し、ディレクトリ情報と照らし合わせてDBへのアクセス制御条件を生成する必要があった。ここで、アクセス条件は、例えば、SQLプログラムであれば、WHERE句として生成されるものである。
特開2005−31862号公報
As a measure to protect information stored in a conventional DB (database) from unauthorized use, the user is registered for each table or view, and the user's access authority is set according to attributes such as the user's affiliation and job title. There was a method. That is, when a user accesses a table or view, the contents of the DB are displayed or hidden depending on the access authority set for the accessed table or view. However, the information managed by the DB has increased, and the number of users who use the DB has increased in proportion to this. Further, according to the conventional measures, it is necessary to make various setting changes even when the attributes such as the job title and affiliation of the user are changed due to personnel changes or organizational changes. For this reason, it has been a heavy burden on the administrator to protect the information stored in the DB from unauthorized use by the above-described measures.
On the other hand, Japanese Patent Application Laid-Open No. 2005-31862 discloses a technique for performing access control by using metadata such as DB table definitions and table column definitions, and directory information managing user attributes. ing. In JP-A-2005-31862, even when there is a change in attribute information such as a user, the access control to the DB is maintained without changing the control information set in the table of the existing DB. Technology is disclosed. In realizing JP-A-2005-31862, it was necessary to interpret a data access program such as a SQL (Structured Query Language) program at the time of access execution and generate an access control condition for the DB by comparing with directory information. . Here, for example, in the case of an SQL program, the access condition is generated as a WHERE clause.
JP 2005-31862 A

従来の方法では、属性情報が変更された場合の管理負荷が大きいという課題があった。
また、特開2005−31862号公報の方法では、DBへのアクセス実行時に、データアクセスプログラムを解釈し、解釈に基づきデータアクセスプログラムを書き換えする必要があった。この処理は、場合によっては複雑になり、データアクセスプログラムの性能が低下するという課題があった。
本発明は、これらの課題を解決し、DBアクセス実行時にDBアクセス制御装置が行う処理を最小限に止めることを目的とする。
The conventional method has a problem that the management load when the attribute information is changed is large.
In the method disclosed in JP-A-2005-31862, it is necessary to interpret the data access program and rewrite the data access program based on the interpretation when executing access to the DB. This processing is complicated in some cases, and there is a problem that the performance of the data access program is lowered.
An object of the present invention is to solve these problems and to minimize processing performed by a DB access control device when executing DB access.

本発明は、業務サーバに関する属性情報を管理記憶する属性管理サーバと、上記属性管理サーバから属性情報を取得するDBアクセス制御装置とに、ネットワークを介して接続され、データオブジェクトを管理するDB(データベース)装置において、業務サーバがデータオブジェクトへアクセスする場合、DBアクセス制御装置が上記属性管理サーバから取得した上記業務サーバに関する属性情報をDBアクセス制御装置から取得して記憶するコンテキスト記憶部と、属性情報を埋め込んだ制御条件を返値とする、データオブジェクトに関連付けられたポリシー関数を記憶するポリシー関数記憶部と、上記業務サーバがデータオブジェクトへアクセスするために発行したデータアクセスプログラムを受信するプログラム受信部と、上記プログラム受信部がデータアクセスプログラムを受信した場合、上記コンテキスト記憶部が記憶した属性情報を入力して、上記ポリシー関数記憶部が記憶したポリシー関数を実行して属性情報を埋め込んだ制御条件を返値として出力する関数実行部と、上記関数実行部が出力したポリシー関数の返値である制御条件を取得し、制御条件を上記データアクセスプログラムに付加する制御条件付加部と、上記制御条件付加部が制御条件を付加したアクセスプログラムを実行することによりデータオブジェクトへアクセスする実行部と
を備えることを特徴とする。
The present invention is a database (database) that manages data objects connected to an attribute management server that manages and stores attribute information related to a business server and a DB access control device that acquires attribute information from the attribute management server via a network. ) In the apparatus, when the business server accesses the data object, a context storage unit that acquires and stores attribute information related to the business server acquired from the attribute management server by the DB access control apparatus from the DB access control apparatus, and attribute information A policy function storage unit that stores a policy function associated with a data object, and a program reception unit that receives a data access program issued by the business server to access the data object. And the above pro When the ram reception unit receives the data access program, the attribute information stored in the context storage unit is input, the policy function stored in the policy function storage unit is executed, and the control condition in which the attribute information is embedded is returned. A function execution unit that outputs the control function, a control condition that is a return value of the policy function output by the function execution unit, and a control condition addition unit that adds the control condition to the data access program, and the control condition addition unit And an execution unit that accesses a data object by executing an access program to which a control condition is added.

本発明にかかるデータベース装置によれば、属性管理サーバから取得した属性情報に基づいた制御条件を、ポリシー関数を実行することにより生成するため、属性情報が更新された場合に、DBの設定を変更する手間がかからない。また、あらかじめ設定されたポリシー関数を実行するため、DBアクセス実行時の処理が複雑とならず、データアクセスプログラムの性能が低下することもない。   According to the database device of the present invention, the control condition based on the attribute information acquired from the attribute management server is generated by executing the policy function, so that the DB setting is changed when the attribute information is updated. It does not take time to do. Further, since the policy function set in advance is executed, the processing at the time of executing the DB access is not complicated, and the performance of the data access program is not deteriorated.

以下、本発明を図面に示す実施の形態に基づいて説明する。   Hereinafter, the present invention will be described based on embodiments shown in the drawings.

実施の形態1.
まず、実施の形態1について説明する。実施の形態1では、DBが管理するデータオブジェクトのレコード(行)に対して、属性情報に基づいたアクセス制御をかける方法について説明する。
Embodiment 1 FIG.
First, the first embodiment will be described. In the first embodiment, a method of applying access control based on attribute information to a record (row) of a data object managed by a DB will be described.

図1は、実施の形態1にかかるアクセス制御システム1000の機能を示す機能ブロック図である。図1に基づいて、実施の形態1にかかるアクセス制御システム1000の機能を説明する。   FIG. 1 is a functional block diagram illustrating functions of the access control system 1000 according to the first embodiment. Based on FIG. 1, functions of the access control system 1000 according to the first embodiment will be described.

アクセス制御システム1000は、業務サーバ100、属性管理サーバ200、DBアクセス制御装置300、データベース装置400を備える。業務サーバ100、属性管理サーバ200、DBアクセス制御装置300、データベース装置400は、それぞれがネットワークを介して接続されているものとする。   The access control system 1000 includes a business server 100, an attribute management server 200, a DB access control device 300, and a database device 400. It is assumed that the business server 100, the attribute management server 200, the DB access control device 300, and the database device 400 are connected via a network.

業務サーバ100は、ユーザ20がデータベース装置400へアクセスする場合、ユーザ20からの指示を受け、データベース装置400からの応答を返す。業務サーバ100は、データアクセスプログラムを発行することにより、データベース装置400が管理するデータオブジェクトへアクセスする。ここでは、データアクセスプログラムは、SQLプログラムであるとする。   When the user 20 accesses the database device 400, the business server 100 receives an instruction from the user 20 and returns a response from the database device 400. The business server 100 accesses a data object managed by the database device 400 by issuing a data access program. Here, it is assumed that the data access program is an SQL program.

属性管理サーバ200は、属性情報を管理記憶する。属性管理サーバ200は、例えば、LDAP(Lightweight Directory Access Protocol)のようなインターフェースを備えたディレクトリである。属性管理サーバ200は、後述する図2に示すような、ユーザ情報や組織情報などの階層構造を扱うのに適した機能を持つことができる。属性管理サーバ200は、属性情報記憶部210、定義情報記憶部220を備える。
属性情報記憶部210は、業務サーバ100に関する属性情報を管理記憶する。属性情報記憶部210は、例えば、業務サーバ100を使用するユーザ20に関する属性情報を管理記憶する。ここでは、属性情報記憶部210は、業務サーバ100を使用するユーザ20に関するユーザ情報と組織情報とを属性情報として管理記憶するものとする。定義情報記憶部220は、データベース装置400が管理するデータオブジェクトの定義情報やアクセスの制御情報などを記憶する。ここでは、データベース装置400は、RDB(Relational DataBase)などであるとする。そのため、定義情報記憶部220は、データベース装置400が管理する表の定義情報である表定義情報と、行制御情報と、列制御情報とを記憶する。定義情報記憶部220は、表の定義情報に行制御情報と列制御情報とを関連付けして記憶する。表定義情報は、より一般的にはデータオブジェクト定義情報である。また、列制御情報は、より一般的にはレコードの項目(フィールド)に関連付けられたアクセス制御条件であり、行制御情報は、より一般的にはレコードの値に基づくレコードへのアクセス制御条件である。また、データオブジェクトとしては、表に限定されるわけではなく、ビューや索引などであっても構わない。
The attribute management server 200 manages and stores attribute information. The attribute management server 200 is a directory provided with an interface such as LDAP (Lightweight Directory Access Protocol). The attribute management server 200 can have a function suitable for handling a hierarchical structure such as user information and organization information as shown in FIG. The attribute management server 200 includes an attribute information storage unit 210 and a definition information storage unit 220.
The attribute information storage unit 210 manages and stores attribute information related to the business server 100. The attribute information storage unit 210 manages and stores attribute information related to the user 20 who uses the business server 100, for example. Here, it is assumed that the attribute information storage unit 210 manages and stores user information and organization information regarding the user 20 who uses the business server 100 as attribute information. The definition information storage unit 220 stores definition information of data objects managed by the database apparatus 400, access control information, and the like. Here, it is assumed that the database device 400 is an RDB (Relational DataBase) or the like. Therefore, the definition information storage unit 220 stores table definition information, which is table definition information managed by the database device 400, row control information, and column control information. The definition information storage unit 220 stores the row control information and the column control information in association with the table definition information. The table definition information is more generally data object definition information. The column control information is more generally an access control condition associated with the item (field) of the record, and the row control information is more generally an access control condition for the record based on the record value. is there. Further, the data object is not limited to a table, and may be a view or an index.

DBアクセス制御装置300は、業務サーバ100からのデータベース装置400が管理するデータオブジェクトへのアクセスを制御する。DBアクセス制御装置300は、DBアクセス制御実行部310、DBアクセス制御管理部350とを備える。
DBアクセス制御実行部310は、業務サーバ100が、データベース装置400が管理するデータオブジェクトへのアクセスする場合に、業務サーバ100に関連する属性情報に基づいてデータベース装置400が管理するデータオブジェクトへのアクセスを制御する。DBアクセス制御実行部310は、属性取得部320、属性記憶部330、属性送信部340を備える。属性取得部320は、業務サーバ100が、データベース装置400が管理するデータオブジェクトへのアクセスする場合に、属性情報記憶部210が記憶する属性情報を取得する。まず、業務サーバ100が、属性情報記憶部210が記憶する属性情報を取得し、次に、属性取得部320が、業務サーバ100から属性情報を取得しても構わない。属性記憶部330は、属性取得部320が取得した属性情報を記憶する。属性送信部340は、属性記憶部330が記憶した属性情報をデータベース装置400へ送信する。
DBアクセス制御管理部350は、管理者10などの指示により、業務サーバ100が、データベース装置400が管理するデータオブジェクトへのアクセスする場合の制御情報を作成する。ここで、DBアクセス制御管理部350が行う処理を、プロビジョニングと呼ぶ。DBアクセス制御管理部350は、制御情報取得部360、制御情報記憶部370、関数生成部380、関数制御部390を備える。制御情報取得部360は、定義情報記憶部220が記憶した制御情報を取得する。つまり、ここでは制御情報取得部360は、定義情報記憶部220が記憶した行制御情報と列制御情報とを取得する。制御情報記憶部370は、制御情報取得部360が取得した制御情報を記憶する。関数生成部380は、制御情報記憶部370が記憶した制御情報に基づき、ポリシー関数を生成する。ポリシー関数は、入力された属性情報を埋め込んだ制御条件を返値とする関数である。つまり、関数生成部380は、制御情報記憶部370が記憶した制御情報に基づいた制御条件を返値とするポリシー関数を生成する。関数制御部390は、関数生成部380が生成したポリシー関数を、データオブジェクトに関連付けしてデータベース装置400に記憶させる。関数制御部390は、制御情報記憶部370が記憶した制御情報が関連付けされている表定義情報に基づいて、ポリシー関数をデータオブジェクトに関連付けする。
The DB access control device 300 controls access from the business server 100 to data objects managed by the database device 400. The DB access control apparatus 300 includes a DB access control execution unit 310 and a DB access control management unit 350.
The DB access control execution unit 310 accesses the data object managed by the database device 400 based on the attribute information related to the business server 100 when the business server 100 accesses the data object managed by the database device 400. To control. The DB access control execution unit 310 includes an attribute acquisition unit 320, an attribute storage unit 330, and an attribute transmission unit 340. The attribute acquisition unit 320 acquires attribute information stored in the attribute information storage unit 210 when the business server 100 accesses a data object managed by the database device 400. First, the business server 100 may acquire attribute information stored in the attribute information storage unit 210, and then the attribute acquisition unit 320 may acquire attribute information from the business server 100. The attribute storage unit 330 stores the attribute information acquired by the attribute acquisition unit 320. The attribute transmission unit 340 transmits the attribute information stored in the attribute storage unit 330 to the database device 400.
The DB access control management unit 350 creates control information when the business server 100 accesses a data object managed by the database device 400 according to an instruction from the administrator 10 or the like. Here, the process performed by the DB access control management unit 350 is called provisioning. The DB access control management unit 350 includes a control information acquisition unit 360, a control information storage unit 370, a function generation unit 380, and a function control unit 390. The control information acquisition unit 360 acquires the control information stored in the definition information storage unit 220. That is, here, the control information acquisition unit 360 acquires the row control information and the column control information stored in the definition information storage unit 220. The control information storage unit 370 stores the control information acquired by the control information acquisition unit 360. The function generation unit 380 generates a policy function based on the control information stored in the control information storage unit 370. The policy function is a function that returns a control condition in which input attribute information is embedded. That is, the function generation unit 380 generates a policy function that returns a control condition based on the control information stored in the control information storage unit 370. The function control unit 390 stores the policy function generated by the function generation unit 380 in the database device 400 in association with the data object. The function control unit 390 associates the policy function with the data object based on the table definition information associated with the control information stored in the control information storage unit 370.

データベース装置400は、データオブジェクトを管理記憶する。データベース装置400は、RDBなどのデータベースシステムを備え、データオブジェクトを管理記憶する。データベース装置400は、プログラム受信部410、属性受信部420、コンテキスト記憶部430、ポリシー関数記憶部440、関数実行部450、制御条件付加部460、実行部470、結果出力部480、関数付加部490を備える。
プログラム受信部410は、業務サーバ100が発行したデータアクセスプログラムを受信する。属性受信部420は、属性送信部340が送信した属性情報を受信する。コンテキスト記憶部430は、属性受信部420が受信した属性情報を記憶する。データベース装置400は、データオブジェクトにアクセスするセッション毎にコンテキスト記憶部を作成することで、セッション毎に属性情報を管理することができる。あるいは、データベース装置400は、単一のコンテキスト記憶部430を用いて、データオブジェクトにアクセスするセッションごとに属性情報を管理できるようにしても構わない。コンテキスト記憶部430は、データベース装置400の外部の装置として実現しても構わない。ポリシー関数記憶部440は、関数制御部390がデータオブジェクトに関連付けしたポリシー関数を記憶する。ポリシー関数記憶部440は、複数のポリシー関数を記憶することが可能である。また、ポリシー関数記憶部440は、1つのデータオブジェクトに対して、複数のポリシー関数を関連付けて記憶することも可能である。関数実行部450は、コンテキスト記憶部430が記憶した属性情報を入力して、ポリシー関数記憶部440が記憶したポリシー関数を実行する。制御条件付加部460は、関数実行部450が実行したポリシー関数の返値を、プログラム受信部410が受信したデータアクセスプログラムの制御条件に付加する。制御条件付加部460は、例えば、プログラム受信部410が受信したデータアクセスプログラムがSQLプログラムであった場合、関数実行部450が実行したポリシー関数の返値をWHERE区に追加する。実行部470は、制御条件付加部460が制御条件を付加したデータアクセスプログラムを実行する。実行部470は、データアクセスプログラムを実行することにより、データオブジェクトにアクセスする。つまり、実行部470は、属性管理サーバ200が管理する制御情報と、業務サーバ100に関する属性情報とに基づいて生成された制御条件の下で、データオブジェクトにアクセスする。
The database device 400 manages and stores data objects. The database device 400 includes a database system such as an RDB, and manages and stores data objects. The database apparatus 400 includes a program reception unit 410, an attribute reception unit 420, a context storage unit 430, a policy function storage unit 440, a function execution unit 450, a control condition addition unit 460, an execution unit 470, a result output unit 480, and a function addition unit 490. Is provided.
The program receiving unit 410 receives a data access program issued by the business server 100. The attribute reception unit 420 receives the attribute information transmitted by the attribute transmission unit 340. The context storage unit 430 stores the attribute information received by the attribute reception unit 420. The database device 400 can manage attribute information for each session by creating a context storage unit for each session that accesses the data object. Alternatively, the database device 400 may manage the attribute information for each session that accesses the data object using the single context storage unit 430. The context storage unit 430 may be realized as a device external to the database device 400. The policy function storage unit 440 stores the policy function associated with the data object by the function control unit 390. The policy function storage unit 440 can store a plurality of policy functions. The policy function storage unit 440 can also store a plurality of policy functions in association with one data object. The function execution unit 450 inputs the attribute information stored in the context storage unit 430 and executes the policy function stored in the policy function storage unit 440. The control condition adding unit 460 adds the return value of the policy function executed by the function executing unit 450 to the control condition of the data access program received by the program receiving unit 410. For example, when the data access program received by the program receiving unit 410 is an SQL program, the control condition adding unit 460 adds the return value of the policy function executed by the function executing unit 450 to the WHERE section. The execution unit 470 executes the data access program to which the control condition adding unit 460 has added the control condition. The execution unit 470 accesses the data object by executing the data access program. That is, the execution unit 470 accesses the data object under the control condition generated based on the control information managed by the attribute management server 200 and the attribute information related to the business server 100.

次に、実施の形態1にかかるアクセス制御システム1000の動作の一例を説明する。図2は、属性情報記憶部210が記憶する属性情報の一例である。図3は、データベース装置400が管理記憶するデータオブジェクトの一例である売上表600である。図2、図3に基づき、実施の形態1にかかるアクセス制御システム1000の動作の一例を説明する。   Next, an example of the operation of the access control system 1000 according to the first embodiment will be described. FIG. 2 is an example of attribute information stored in the attribute information storage unit 210. FIG. 3 is a sales table 600 which is an example of a data object managed and stored by the database device 400. An example of the operation of the access control system 1000 according to the first embodiment will be described with reference to FIGS.

ここでは、図2における営業1課520の社員a521が、図3における売上表600にアクセスする場合の処理を説明する。図3において、月601は、何月かを示す月の情報を記憶する。売上602は、売上の金額を記憶する。部門603は、部門の名称を記憶する。ここでは、売上表600の部門603がアクセスするユーザ20の所属部門と等しい行のみアクセスを許可するという制御を行うための操作と処理の流れを示す。
アクセス制御システム1000の処理は、事前準備であるプロビジョニングと、データオブジェクトへのアクセス実行の2つのフェーズに分けて実現される。
Here, a process when the employee a521 of the sales department 1 520 in FIG. 2 accesses the sales table 600 in FIG. 3 will be described. In FIG. 3, a month 601 stores information on the month indicating the month. Sales 602 stores the amount of sales. The department 603 stores the name of the department. Here, a flow of operations and processing for performing a control of permitting access only to the same row as the department to which the user 20 belongs to which the department 603 of the sales table 600 accesses is shown.
The processing of the access control system 1000 is realized by dividing into two phases of provisioning, which is advance preparation, and execution of access to a data object.

まず、プロビジョニングについて説明する。
初めに、管理者10は、定義情報記憶部220に対して、売上表600の定義情報に行制御情報と列制御情報とを関連付けして定義する。ここでは、管理者10は、売上表600の部門603がアクセスするユーザ20の所属部門と等しい行のみアクセスを許可するという行制御情報を定義するものとする。
図4は、管理者10によって定義された行制御情報の一例である。図4において、コード611は、行制御情報を一意に識別するインデックス情報を記憶する。表名612は、行制御情報が関連付けされている表の名前を記憶する。列名613は、行制御情報が制御に使用する列名を記憶する。ユーザ属性614は、行制御情報が制御に使用する属性情報を記憶する。演算条件615は、行制御情報が行う制御の演算内容を記憶する。図4では、売上表600に対して、売上表600の列である部門603と、アクセスするユーザ20のsoshiki(所属部門)とが等しい場合にアクセスを許可することを示している。
First, provisioning will be described.
First, the administrator 10 defines the definition information storage unit 220 by associating the row control information and the column control information with the definition information of the sales table 600. Here, it is assumed that the administrator 10 defines row control information that permits access only to rows that are the same as the department to which the user 20 belongs that is accessed by the department 603 of the sales table 600.
FIG. 4 is an example of row control information defined by the administrator 10. In FIG. 4, a code 611 stores index information that uniquely identifies row control information. The table name 612 stores the name of the table associated with the row control information. The column name 613 stores a column name used for control by the row control information. The user attribute 614 stores attribute information used by the line control information for control. The calculation condition 615 stores the calculation contents of the control performed by the row control information. FIG. 4 shows that access to the sales table 600 is permitted when the department 603 that is a column of the sales table 600 and the soshiki (affiliation department) of the user 20 to access are equal.

次に、管理者10からDBアクセス制御管理部350へプロビジョニングの指示をする。プロビジョニングの指示を受けたDBアクセス制御管理部350は、定義情報記憶部220が記憶した行制御情報に基づきポリシー関数を生成する。そして、DBアクセス制御管理部350は、生成したポリシー関数をポリシー関数記憶部440に登録する。ポリシー関数の生成については、後述する。   Next, the administrator 10 instructs the DB access control management unit 350 to perform provisioning. Upon receiving the provisioning instruction, the DB access control management unit 350 generates a policy function based on the row control information stored in the definition information storage unit 220. Then, the DB access control management unit 350 registers the generated policy function in the policy function storage unit 440. The generation of the policy function will be described later.

プロビジョニングを終了した後、ユーザ20である社員a521は、業務サーバ100へログインし、売上表600へアクセスする。初めに、業務サーバ100は、属性情報記憶部210から社員a521の属性情報を取得する。ここでは、業務サーバ100は、属性情報記憶部210から社員a521の属性情報として所属部門である営業1課520を取得する。次に、業務サーバ100は、データベース装置400へデータアクセスプログラムを発行する。また、一方で、業務サーバ100は、DBアクセス制御実行部310へ売上表600へのアクセスの指示をするとともに、取得した社員a521の属性情報を渡す。業務サーバ100から指示を受けたDBアクセス制御実行部310は、取得した属性情報をコンテキスト記憶部430に登録する。つまり、コンテキスト記憶部430は、社員a521の属性情報として所属部門である営業1課520を記憶する。また、DBアクセス制御実行部310は、データベース装置400へ売上表600へのデータアクセスプログラムによるアクセスの指示をする。データベース装置400は、コンテキスト記憶部430に登録された属性情報を入力して、プロビジョニングにおいてポリシー関数記憶部440が記憶したポリシー関数を実行する。データベース装置400は、実行したポリシー関数の返値である制御条件をデータアクセスプログラムに付加して、データアクセスプログラムを実行する。ここでは、ポリシー関数は、部門603がアクセスするユーザ20の所属部門と等しい行のみアクセスを許可するというという制御条件を返値とする。つまり、データベース装置400は、データアクセスプログラムに対して、部門603がアクセスするユーザ20の所属部門と等しい行のみアクセスを許可するという制御条件を付加してデータアクセスプログラムを実行する。
上記では、業務サーバ100が属性情報記憶部210から社員a521の属性情報を取得し、DBアクセス制御実行部310へ渡した。しかし、DBアクセス制御実行部310の属性情報の取得方法は、これに限られるわけではなく、例えば、DBアクセス制御実行部310が直接属性情報記憶部210から取得しても構わない。
After completing the provisioning, the employee a521 who is the user 20 logs in to the business server 100 and accesses the sales table 600. First, the business server 100 acquires the attribute information of the employee a521 from the attribute information storage unit 210. Here, the business server 100 acquires the sales department 1 520 as the department to which the employee a 521 belongs from the attribute information storage unit 210. Next, the business server 100 issues a data access program to the database device 400. On the other hand, the business server 100 instructs the DB access control execution unit 310 to access the sales table 600 and passes the acquired attribute information of the employee a521. Upon receiving an instruction from the business server 100, the DB access control execution unit 310 registers the acquired attribute information in the context storage unit 430. That is, the context storage unit 430 stores the sales department 1 520 as the department to which the employee a521 belongs as attribute information. In addition, the DB access control execution unit 310 instructs the database device 400 to access the sales table 600 using a data access program. The database device 400 inputs the attribute information registered in the context storage unit 430, and executes the policy function stored in the policy function storage unit 440 in provisioning. The database device 400 adds a control condition that is a return value of the executed policy function to the data access program, and executes the data access program. Here, the policy function uses a control condition that the access is permitted only in the same row as the department to which the user 20 that the department 603 accesses has been assigned. That is, the database device 400 executes the data access program with a control condition that permits access to only the same row as the department to which the user 20 belongs to the department 603 accesses the data access program.
In the above, the business server 100 acquires the attribute information of the employee a 521 from the attribute information storage unit 210 and passes it to the DB access control execution unit 310. However, the attribute information acquisition method of the DB access control execution unit 310 is not limited to this, and for example, the DB access control execution unit 310 may acquire directly from the attribute information storage unit 210.

上述した図4では、1つの行に対して、行制御情報が1つのみ存在していた。1つの行に対して、行制御情報が複数存在する場合には、それぞれの行制御情報の論理積を制御条件とすることで対応することができる。制御条件を論理和として扱う必要がある場合には、各制御条件の下でデータオブジェクトへアクセスし、アクセスした結果の論理和をとることで実現することができる。また、制御条件を論理和として扱う必要がある場合、行制御情報を拡張し、制御条件の論理和を記述できるようにすることで対応することもできる。図5は、行制御情報を拡張し、制御条件の論理和を記述できるようにした一例である。図5において、コード611、表名612、列名613、ユーザ属性614は、図4に示す、コード611、表名612、列名613、ユーザ属性614と同様である。演算条件615は、行制御情報が行う制御の演算内容または制御条件の論理演算内容を示す。条件a626と条件b627とは、演算条件615が論理演算内容を示す場合に、論理演算の対象となる制御条件を記憶する。図5の例では、コード611が0001である行では、コード611が0002と0003との行の制御条件の論理和を取ることを示している。ここでは、行制御情報の拡張は、論理和についてのみ説明したが、これに限られるわけではなく、論理積などに対しても適用可能である。   In FIG. 4 described above, only one row control information exists for one row. When there are a plurality of row control information for one row, it can be dealt with by using the logical product of the respective row control information as a control condition. When it is necessary to treat the control condition as a logical sum, it can be realized by accessing the data object under each control condition and taking the logical sum of the accessed results. Further, when it is necessary to handle the control condition as a logical sum, it can be dealt with by expanding the line control information so that the logical sum of the control conditions can be described. FIG. 5 shows an example in which the line control information is expanded so that the logical sum of the control conditions can be described. In FIG. 5, a code 611, a table name 612, a column name 613, and a user attribute 614 are the same as the code 611, the table name 612, the column name 613, and the user attribute 614 shown in FIG. The calculation condition 615 indicates the calculation contents of the control performed by the row control information or the logical calculation contents of the control condition. The condition a 626 and the condition b 627 store a control condition that is a target of the logical operation when the calculation condition 615 indicates the content of the logical operation. In the example of FIG. 5, in the line where the code 611 is 0001, the code 611 indicates that the logical sum of the control conditions of the lines 0002 and 0003 is obtained. Here, the extension of the row control information has been described only for the logical sum, but is not limited to this and can be applied to the logical product.

次に、プロビジョニングの処理について詳細に説明する。
DBアクセス制御管理部350は、定義情報記憶部220が記憶する制御情報に基づき、ポリシー関数を生成する。ここでは、DBアクセス制御管理部350は、定義情報記憶部220が記憶する行制御情報に基づき、ポリシー関数を生成する。
Next, the provisioning process will be described in detail.
The DB access control management unit 350 generates a policy function based on the control information stored in the definition information storage unit 220. Here, the DB access control management unit 350 generates a policy function based on the row control information stored in the definition information storage unit 220.

初めに、プロビジョニングの処理で生成するポリシー関数について説明する。ここでは、図4に示す行制御情報に基づいてポリシー関数を説明する。図6は、図4に示す行制御情報に基づいて生成したポリシー関数の一例を示した図である。
図6において、関数部710は、ポリシー関数を示す。行番号720は、ポリシー関数である関数部710の行番号を示す。以下何行目と示した場合、行番号720の該当する番号の行を意味する。
First, the policy function generated by the provisioning process will be described. Here, the policy function will be described based on the row control information shown in FIG. FIG. 6 is a diagram showing an example of a policy function generated based on the row control information shown in FIG.
In FIG. 6, a function unit 710 indicates a policy function. A line number 720 indicates a line number of the function unit 710 that is a policy function. In the following, what number line means the line of the corresponding number of the line number 720.

図6において、1行目に示すcreate or replace functionは、ポリシー関数の宣言部である。売上表_rowは、ポリシー関数の関数名である。2行目は、空行である。3行目は、ポリシー関数の実行部の開始を示すコマンドである。4行目に示すsys_contextは、コンテキスト記憶部430から属性情報を取得するコマンドである。ここでは、sys_contextコマンドにより、属性情報としてsoshikiを取得する。また、gcnは、コンテキスト記憶部430を示す識別子である。また、vsoshikiは、ポリシー関数で使用する変数である。つまり、4行目では、gcnで示されるコンテキスト記憶部430から属性情報soshikiを取得し、変数vsoshikiに格納することを示す。5行目は、コメントを示すものである。6行目に示すReturnに続く部分は、ポリシー関数の返値を生成する部分である。6行目に示すvsoshikiは、4行目で取得した属性情報soshikiの値に置換される。また、||は文字列の結合演算子である。つまり、部門=と、vsoshikiを属性情報soshikiに置換した値を引用符で囲ったものを結合した文字列を返す。すなわち、図4に示す例では、属性情報soshikiの値が営業1課520であるため、返値は、「売上表.部門=‘営業1課’」となる。7行目は、ポリシー関数の実行部の終了を示すコマンドである。
つまり、図6に示すポリシー関数は、上述した図2における営業1課520の社員a521が、図3における売上表600にアクセスする場合の例において、「売上表.部門=‘営業1課’」を返値とする。
ここで、属性情報soshikiは、属性管理サーバ200で属性情報を特定するために管理されている属性名称である。ポリシー関数の返値では、属性情報soshikiは、コンテキスト記憶部430が記憶した値に置換される。属性情報soshikiを特定するために使用される属性名称は、DBアクセス制御装置300とデータベース装置400とにあらかじめ登録しておいても、DBアクセス制御実行部310から属性情報が登録される場合に動的に登録を行っても構わない。
In FIG. 6, create or replace function shown in the first line is a policy function declaration part. Sales table_row is a function name of the policy function. The second line is a blank line. The third line is a command indicating the start of the execution part of the policy function. The sys_context shown on the fourth line is a command for acquiring attribute information from the context storage unit 430. Here, sokiki is acquired as attribute information by the sys_context command. Gcn is an identifier indicating the context storage unit 430. Moreover, vsoshiki is a variable used in the policy function. That is, the fourth line indicates that the attribute information sokiki is acquired from the context storage unit 430 indicated by gcn and is stored in the variable vsoshiki. The fifth line shows a comment. The part following “Return” shown in the sixth line is a part for generating a return value of the policy function. The vsshiki shown in the sixth line is replaced with the value of the attribute information sokiki acquired in the fourth line. Also, || is a character string combination operator. That is, a character string obtained by combining the division = and a value obtained by substituting the attribute soshiki with the attribute information soshiki and enclosed in quotation marks is returned. That is, in the example shown in FIG. 4, since the value of the attribute information sokiki is sales 1 section 520, the return value is “sales table. Department =“ sales 1 section ””. The seventh line is a command indicating the end of the execution part of the policy function.
That is, the policy function shown in FIG. 6 is “sales table.department =“ sales 1 section ”” in the example in which the employee a521 of the sales 1 section 520 in FIG. 2 accesses the sales table 600 in FIG. Is the return value.
Here, the attribute information soshiki is an attribute name managed by the attribute management server 200 to identify the attribute information. In the return value of the policy function, the attribute information soshiki is replaced with the value stored in the context storage unit 430. The attribute name used to identify the attribute information sokiki is registered when the attribute information is registered from the DB access control execution unit 310 even if it is registered in the DB access control device 300 and the database device 400 in advance. Registration may be performed automatically.

DBアクセス制御管理部350は、生成したポリシー関数を、表に関連付けてデータベース装置400のポリシー関数記憶部440に登録する。DBアクセス制御管理部350は、例えば、図7に示すコマンドを用いてポリシー関数を表に関連付ける。図7は、表とポリシー関数とを関連付けするコマンドの一例である。図7において、関数部710は、ポリシー関数を表に関連付けるコマンドを示す。行番号720は、関数部710の行番号を示す。
図7において、表名とポリシー関数名とは、それぞれ、関連付けされる表とポリシー関数の名称である。また、ポリシー名は、表とポリシー関数の結びつきを示す任意の名称である。ポリシー名を用いることにより、データベース装置400が管理記憶する表は複数のポリシー関数との関連付けを持つことができる。
The DB access control management unit 350 registers the generated policy function in the policy function storage unit 440 of the database device 400 in association with the table. The DB access control management unit 350 associates the policy function with the table using, for example, the command shown in FIG. FIG. 7 is an example of a command for associating a table with a policy function. In FIG. 7, a function unit 710 indicates a command for associating a policy function with a table. A line number 720 indicates a line number of the function unit 710.
In FIG. 7, the table name and the policy function name are names of the associated table and policy function, respectively. The policy name is an arbitrary name indicating the connection between the table and the policy function. By using the policy name, the table managed and stored by the database apparatus 400 can have associations with a plurality of policy functions.

上述したポリシー関数である売上表_rowを表である売上表600に関連付ける場合、上記のコマンドは、図8に示すようになる。図8は、図7に示すコマンドに表とポリシー関数を割り当てした一例である。図8において、関数部710と行番号720とは、図7に示す関数部710と行番号720と同様である。図7において、売上表_rowポリシーと売上表_ROWとは、任意の名称であり、表名および行制御条件よりDBアクセス制御管理部350が任意に生成することができる。   When associating the sales table_row that is the policy function described above with the sales table 600 that is the table, the above command is as shown in FIG. FIG. 8 shows an example in which a table and a policy function are assigned to the command shown in FIG. In FIG. 8, the function part 710 and the line number 720 are the same as the function part 710 and the line number 720 shown in FIG. In FIG. 7, sales table_row policy and sales table_ROW are arbitrary names, and the DB access control management unit 350 can arbitrarily generate them based on the table name and the row control conditions.

ポリシー関数は、業務サーバ100が発行したデータアクセスプログラムによってデータベース装置400が管理記憶する売上表600にアクセスする場合、データベース装置400により実行される。ポリシー関数は、返値として制御条件を出力し、データアクセスプログラムに、出力した制御条件を付加する。例えば、データアクセスプログラムがSQLプログラムであった場合、ポリシー関数は、WHERE区に制御条件を付加する。上記の例では、「WHERE 売上表.部門=‘営業1課’」という制御条件を付加する。   The policy function is executed by the database device 400 when the sales table 600 managed and stored by the database device 400 is accessed by the data access program issued by the business server 100. The policy function outputs a control condition as a return value, and adds the output control condition to the data access program. For example, when the data access program is an SQL program, the policy function adds a control condition to the WHERE area. In the above example, a control condition “WHERE sales table. Department =’ Sales 1 Section ”” is added.

次に、DBアクセス制御管理部350がプロビジョニングを行う動作の流れについて説明する。図9は、DBアクセス制御管理部350がプロビジョニングを行う動作を示すフローチャートである。図9に基づいて、DBアクセス制御管理部350がプロビジョニングを行う動作について説明する。   Next, the flow of operations in which the DB access control management unit 350 performs provisioning will be described. FIG. 9 is a flowchart illustrating an operation in which the DB access control management unit 350 performs provisioning. Based on FIG. 9, an operation in which the DB access control management unit 350 performs provisioning will be described.

制御情報取得ステップS101では、制御情報取得部360は、定義情報記憶部220から表に対する制御情報を取得する。ここでは、制御情報取得部360は該当する表に対する行制御情報を取得する。   In control information acquisition step S <b> 101, the control information acquisition unit 360 acquires control information for the table from the definition information storage unit 220. Here, the control information acquisition unit 360 acquires row control information for the corresponding table.

制御情報記憶ステップS102では、制御情報記憶部370は、制御情報取得部360が取得した制御情報を記憶する。   In the control information storage step S102, the control information storage unit 370 stores the control information acquired by the control information acquisition unit 360.

関数名生成ステップS103では、関数生成部380は、行制御情報に基づくポリシー関数の関数名を生成する。関数生成部380は、例えば、制御情報記憶部370が記憶した表名および行制御条件よりに基づいて関数名を生成する。関数生成部380は、例えば、「表名」+「_row」のように規則的に関数名の生成を行うことができる。   In function name generation step S103, the function generation unit 380 generates a function name of the policy function based on the row control information. The function generation unit 380 generates a function name based on, for example, the table name and the row control condition stored in the control information storage unit 370. The function generation unit 380 can generate a function name regularly, for example, “table name” + “_ row”.

返値初期化ステップS104では、関数生成部380は、ポリシー関数の返値を示す変数を初期化する。関数生成部380は、例えば、「1=1」のように、アクセス制御条件として評価してみると、結果が常に真となる値で初期化しておく。   In the return value initialization step S104, the function generation unit 380 initializes a variable indicating the return value of the policy function. For example, when the function generation unit 380 evaluates the access control condition as “1 = 1”, the function generation unit 380 initializes the result with a value that is always true.

関数生成部380は、ステップS105からステップS107までの処理を、制御情報記憶部370が記憶した行制御情報がなくなるまで繰り返す。ステップS105からステップS107までの処理は、ポリシー関数生成ステップである。   The function generation unit 380 repeats the processing from step S105 to step S107 until there is no more row control information stored in the control information storage unit 370. The processing from step S105 to step S107 is a policy function generation step.

属性情報抽出ステップS105では、関数生成部380は、行制御情報に用いられている属性情報を抽出する。   In attribute information extraction step S105, the function generation unit 380 extracts attribute information used for the row control information.

コマンド追加ステップS106では、関数生成部380は、抽出した属性情報について、コンテキスト記憶部430から属性情報の値を取り出すコマンドをポリシー関数に追加する。コンテキスト記憶部430から属性情報の値を取り出すコマンドとは、図6に示す例においては、sys_contextコマンドである。   In the command addition step S106, the function generation unit 380 adds a command for extracting the attribute information value from the context storage unit 430 to the policy function for the extracted attribute information. In the example illustrated in FIG. 6, the command for retrieving the value of attribute information from the context storage unit 430 is a sys_text command.

制御条件追加ステップS107では、関数生成部380は、行制御情報における属性情報に対する制御条件を、ポリシー関数の返値を示す変数に追加する。1つの行に対して、行制御情報が複数存在する場合は、例えば、通常は制御条件を論理積で結合するようにする。しかし、制御条件を結合する方法については、行制御情報を、例えば図5のように拡張することにより、論理和で結合することも可能である。   In the control condition addition step S107, the function generation unit 380 adds the control condition for the attribute information in the row control information to a variable indicating the return value of the policy function. When there are a plurality of row control information for one row, for example, the control conditions are usually combined by AND. However, with respect to the method for combining the control conditions, it is possible to combine the row control information by logical sum by extending the row control information as shown in FIG.

制御情報記憶部370が記憶した行制御情報全てに対してステップS105からステップS107までの処理を終了した場合、関数制御ステップS108へ進む。ステップS108では、関数制御部390は、ポリシー関数と表との関連付けを行う。関数制御部390は、例えば、上述したような関連付けのコマンドを生成し、生成したコマンドを実行する。   When the processing from step S105 to step S107 is completed for all the row control information stored in the control information storage unit 370, the process proceeds to function control step S108. In step S108, the function control unit 390 associates the policy function with the table. For example, the function control unit 390 generates an association command as described above, and executes the generated command.

ポリシー関数記憶ステップS109では、関数制御部390コマンドを実行することにより、ポリシー関数記憶部440は、表と関連付けされたポリシー関数を記憶する。   In the policy function storage step S109, the policy function storage unit 440 stores the policy function associated with the table by executing the function control unit 390 command.

次に、プロビジョニングが終了した後に業務サーバ100よりデータオブジェクトへのアクセス実行処理について詳細に説明する。ここでは、上記と同様に、社員a521が業務サーバ100へログインし、売上表600へアクセスする動作の例を用いて説明する。   Next, a process for executing access to a data object from the business server 100 after provisioning is completed will be described in detail. Here, in the same manner as described above, an example in which the employee a521 logs in to the business server 100 and accesses the sales table 600 will be described.

ユーザ20である社員a521は、業務サーバ100へログインし、売上表600へアクセスする。初めに、業務サーバ100は、属性情報記憶部210から社員a521の属性情報を取得する。業務サーバ100による属性情報の取得については、予め決められた属性情報の組について取得するようにしても、業務サーバ100が発行するデータアクセスプログラムなどに基づいて取得する属性情報を指定するようにしても構わない。ここでは、業務サーバ100は、属性情報記憶部210から社員a521の属性情報として所属部門である営業1課520を取得する。つまり、業務サーバ100は、上述したポリシー関数における属性情報soshikiの値として営業1課520を取得する。次に、業務サーバ100は、DBアクセス制御実行部310へ売上表600へのアクセスの指示をするとともに、取得した社員a521の属性情報を渡す。つまり、属性取得部320は、属性情報soshikiの値として営業1課520を取得する。ここでは、属性取得部320は、業務サーバ100が属性情報記憶部210から取得した属性情報を渡されることにより属性情報を取得した。しかし、属性取得部320が属性情報を取得する方法は、これに限られるわけではなく、例えば、DBアクセス制御実行部310が直接属性情報記憶部210から取得しても構わない。属性記憶部330は、属性取得部320が取得した属性情報を記憶する。次に、属性送信部340は、属性記憶部330が記憶した属性情報をデータベース装置400へ送信し、コンテキスト記憶部430に登録する。つまり、コンテキスト記憶部430は、社員a521の属性情報として所属部門である営業1課520を記憶する。属性情報の送信と併せて、DBアクセス制御実行部310は、データベース装置400へデータアクセスプログラムによって売上表600へのアクセスの指示をする。
DBアクセス制御実行部310へアクセスの指示をする一方で、業務サーバ100は、データベース装置400へデータアクセスプログラムを発行する。データベース装置400のプログラム受信部410は、業務サーバ100が発行したデータアクセスプログラムを受信する。
DBアクセス制御実行部310からアクセスの指示があり、実行部470が、プログラム受信部410が受信したデータアクセスプログラムを実行する場合、関数実行部450は、データアクセスプログラムがアクセスするデータオブジェクトに関連付けしてポリシー関数記憶部440が記憶したポリシー関数を実行する。制御条件付加部460は、関数実行部450が実行したポリシー関数の返値をデータアクセスプログラムの制御条件に付加する。ここで、関数実行部450は、ポリシー関数を実行する場合にコンテキスト記憶部430が記憶した属性情報を入力する。そして、ポリシー関数は、返値として入力した属性情報を埋め込んだ制御条件を出力する。例えば、図6に示したポリシー関数実行する場合、関数実行部450は、コンテキスト記憶部430が記憶した営業1課520を入力する。そして、ポリシー関数は、「売上表.部門=‘営業1課’」を返値として出力する。つまり、制御条件付加部460は、「売上表.部門=‘営業1課’」を制御条件として、データアクセスプログラムに付加する。
The employee a 521 who is the user 20 logs in to the business server 100 and accesses the sales table 600. First, the business server 100 acquires the attribute information of the employee a521 from the attribute information storage unit 210. As for the acquisition of attribute information by the business server 100, the attribute information to be acquired is specified based on the data access program issued by the business server 100 or the like, even if it is acquired for a predetermined set of attribute information. It doesn't matter. Here, the business server 100 acquires the sales department 1 520 as the department to which the employee a 521 belongs from the attribute information storage unit 210. That is, the business server 100 acquires the sales section 1 520 as the value of the attribute information sokiki in the policy function described above. Next, the business server 100 instructs the DB access control execution unit 310 to access the sales table 600 and passes the acquired attribute information of the employee a521. That is, the attribute acquisition unit 320 acquires the sales 1 section 520 as the value of the attribute information soshiki. Here, the attribute acquisition unit 320 acquires the attribute information by passing the attribute information acquired from the attribute information storage unit 210 by the business server 100. However, the method by which the attribute acquisition unit 320 acquires attribute information is not limited to this. For example, the DB access control execution unit 310 may acquire the attribute information directly from the attribute information storage unit 210. The attribute storage unit 330 stores the attribute information acquired by the attribute acquisition unit 320. Next, the attribute transmission unit 340 transmits the attribute information stored in the attribute storage unit 330 to the database device 400 and registers it in the context storage unit 430. That is, the context storage unit 430 stores the sales department 1 520 as the department to which the employee a521 belongs as attribute information. Along with the transmission of the attribute information, the DB access control execution unit 310 instructs the database device 400 to access the sales table 600 by a data access program.
While instructing access to the DB access control execution unit 310, the business server 100 issues a data access program to the database device 400. The program receiving unit 410 of the database device 400 receives a data access program issued by the business server 100.
When there is an access instruction from the DB access control execution unit 310 and the execution unit 470 executes the data access program received by the program reception unit 410, the function execution unit 450 associates it with the data object accessed by the data access program. The policy function stored in the policy function storage unit 440 is executed. The control condition adding unit 460 adds the return value of the policy function executed by the function executing unit 450 to the control condition of the data access program. Here, the function execution unit 450 inputs the attribute information stored by the context storage unit 430 when executing the policy function. Then, the policy function outputs a control condition in which the attribute information input as a return value is embedded. For example, when executing the policy function shown in FIG. 6, the function execution unit 450 inputs the sales 1 section 520 stored in the context storage unit 430. Then, the policy function outputs “Sales Table.Department =“ Sales 1 Section ”” as a return value. That is, the control condition adding unit 460 adds “sales table.department =“ Sales 1 Section ”” as a control condition to the data access program.

図10は、業務サーバ100が発行するデータアクセスプログラムとしてSQLプログラムを用いた場合の一例である。図10において、関数部710は、データアクセスプログラムを示す。行番号720は、データアクセスプログラムである関数部710の行番号を示す。   FIG. 10 shows an example in which an SQL program is used as a data access program issued by the business server 100. In FIG. 10, a function unit 710 indicates a data access program. The line number 720 indicates the line number of the function unit 710 that is a data access program.

図11は、業務サーバ100が図10に示すデータアクセスプログラムを発行した場合の、制御条件付加部460によって制御条件を付加されたデータアクセスプログラムである。図11において、関数部710は、制御条件を付加されたデータアクセスプログラムを示す。行番号720は、制御条件を付加されたデータアクセスプログラムである関数部710の行番号を示す。つまり、業務サーバ100が図10に示すデータアクセスプログラムを発行した場合、実行部470は、図11に示すデータアクセスプログラムを実行する。
上述した処理により、売上表600の部門603が社員a521の属性情報の1つである所属部門を表す営業1課と等しい行のみ、社員a521のアクセスを許可するように制御される。
FIG. 11 shows a data access program to which a control condition is added by the control condition adding unit 460 when the business server 100 issues the data access program shown in FIG. In FIG. 11, a function unit 710 indicates a data access program to which a control condition is added. A line number 720 indicates a line number of the function unit 710 that is a data access program to which a control condition is added. That is, when the business server 100 issues the data access program shown in FIG. 10, the execution unit 470 executes the data access program shown in FIG.
By the above-described processing, the department 603 of the sales table 600 is controlled so as to permit the access of the employee a521 only in the same row as the sales department 1 representing the department to which the employee a521 belongs.

次に、上述した社員a521が、営業1課から営業2課へ異動した場合の動作について説明する。ここでは、プロビジョニングについては、上記と同様に処理されているものとする。
異動後の社員a521が業務サーバ100にログインし、業務サーバ100が発行するデータアクセスプログラムによって売上表にアクセスする。業務サーバ100は、属性情報記憶部210から所属部門である属性情報「soshiki」の値を取得する。社員a521は、営業1課から営業2課へ異動しているため、属性情報「soshiki」の値は営業2課である。従って、DBアクセス制御実行部310によりコンテキスト記憶部430に属性情報「soshiki」の値として営業2課を登録する。よって、ポリシー関数が返値として出力する制御条件は、「売上表.部門=’営業2課’」となる。そのため、データアクセスプログラムがSQLプログラムの場合には、Where句に「売上表.部門=’営業2課’」が付加される。
Next, an operation when the employee a521 described above is transferred from the sales section 1 to the sales section 2 will be described. Here, provisioning is processed in the same manner as described above.
The transferred employee a 521 logs into the business server 100 and accesses the sales table by a data access program issued by the business server 100. The business server 100 acquires the value of the attribute information “soshiki” that is the department to which the business server 100 belongs from the attribute information storage unit 210. Since the employee a521 has been transferred from the sales section 1 to the sales section 2, the value of the attribute information “soshiki” is the sales section 2. Therefore, the DB access control execution unit 310 registers the sales section 2 as the value of the attribute information “soshiki” in the context storage unit 430. Therefore, the control condition output as a return value by the policy function is “sales table.department =“ Sales Section 2 ””. Therefore, when the data access program is an SQL program, “Sales Table.Department =“ Sales Section 2 ”” is added to the Where clause.

図12は、業務サーバ100が図10に示すデータアクセスプログラムを発行した場合の、制御条件付加部460によって制御条件を付加されたデータアクセスプログラムである。つまり、業務サーバ100が図10に示すデータアクセスプログラムを発行した場合、実行部470は、図12に示すデータアクセスプログラムを実行する。
そのため、売上表600の部門603が社員a521の属性情報の1つである所属部門を表す営業2課と等しい行のみ、社員a521のアクセスを許可するように制御される。つまり、ポリシー関数を変更することなく、人事異動を制御条件に反映することが可能である。
FIG. 12 shows a data access program to which a control condition is added by the control condition adding unit 460 when the business server 100 issues the data access program shown in FIG. That is, when the business server 100 issues the data access program shown in FIG. 10, the execution unit 470 executes the data access program shown in FIG.
For this reason, control is performed so that only the line in which the department 603 of the sales table 600 is equal to the sales section 2 representing the department to which the employee a 521 is one of the attribute information of the employee a 521 is permitted to access the employee a 521. That is, personnel changes can be reflected in the control conditions without changing the policy function.

次に、上述した処理の流れを説明する。図13は、上述した処理のシーケンスを示した図である。図13に基づいて上述した処理の流れを説明する。   Next, the process flow described above will be described. FIG. 13 is a diagram illustrating the above-described processing sequence. The above-described processing flow will be described with reference to FIG.

属性問合せステップS201では、業務サーバ100は、属性情報記憶部210から属性情報を取得するため、属性管理サーバ200へ問合せを行う。例えば、業務サーバ100は、属性情報の問合せを行う場合に、属性管理サーバ200で属性情報を特定するために管理されている属性名称などを送信して問合せを行う。   In attribute inquiry step S <b> 201, the business server 100 makes an inquiry to the attribute management server 200 in order to acquire attribute information from the attribute information storage unit 210. For example, when making a query for attribute information, the business server 100 sends a query by sending an attribute name or the like managed by the attribute management server 200 to identify the attribute information.

属性返答ステップS202では、属性管理サーバ200は、業務サーバ100からの属性情報の問合せに対して返答する。   In attribute response step S202, the attribute management server 200 responds to an inquiry about attribute information from the business server 100.

初期化要求ステップS203では、業務サーバ100は、DBアクセス制御実行部310へ取得した属性情報を送信する。業務サーバ100は、併せて、DBアクセス制御実行部310にコンテキスト記憶部430に属性情報を登録するという指示をする。ここでは、この指示をアプリケーション初期化要求と呼ぶ。   In the initialization request step S203, the business server 100 transmits the acquired attribute information to the DB access control execution unit 310. In addition, the business server 100 instructs the DB access control execution unit 310 to register attribute information in the context storage unit 430. Here, this instruction is called an application initialization request.

コンテキスト記憶ステップS204では、DBアクセス制御実行部310はコンテキスト記憶部430に取得した属性情報の値を登録する。   In context storage step S <b> 204, the DB access control execution unit 310 registers the value of the acquired attribute information in the context storage unit 430.

登録完了通知ステップS205では、コンテキスト記憶部430はDBアクセス制御実行部310に属性情報の登録結果を通知する。   In the registration completion notification step S205, the context storage unit 430 notifies the DB access control execution unit 310 of the attribute information registration result.

初期化完了通知ステップS206では、DBアクセス制御実行部310は、業務サーバ100へアプリケーション初期化完了を通知する。   In the initialization completion notification step S206, the DB access control execution unit 310 notifies the business server 100 of the completion of application initialization.

アクセス要求ステップ(プログラム受信ステップ)S207では、業務サーバ100は、データベース装置400へデータアクセスプログラムを送信することにより、データオブジェクトへのアクセスを要求する。データベース装置400のプログラム受信部410は、データアクセスプログラムを受信する。   In the access request step (program receiving step) S207, the business server 100 requests access to the data object by transmitting the data access program to the database device 400. The program receiving unit 410 of the database device 400 receives a data access program.

関数実行ステップS208では、関数実行部450は、ポリシー関数記憶部440が記憶したポリシー関数を起動する。   In function execution step S208, the function execution unit 450 activates the policy function stored in the policy function storage unit 440.

コンテキスト情報参照ステップS209では、ポリシー関数は、コンテキスト記憶部430が記憶した属性情報を参照するため問合せを送信する。   In the context information reference step S209, the policy function transmits an inquiry to refer to the attribute information stored in the context storage unit 430.

属性情報通知ステップS210では、コンテキスト記憶部430は、問合せされた属性情報を通知する。   In the attribute information notification step S210, the context storage unit 430 notifies the inquired attribute information.

制御条件付加ステップS211では、関数実行部450は、属性情報を反映したポリシー関数の返値をデータベース装置400の制御条件付加部460へ渡す。制御条件付加部460は、プログラム受信部410が受信したデータアクセスプログラムの制御条件に、ポリシー関数の返値を付加する。   In the control condition addition step S211, the function execution unit 450 passes the return value of the policy function reflecting the attribute information to the control condition addition unit 460 of the database device 400. The control condition adding unit 460 adds the return value of the policy function to the control condition of the data access program received by the program receiving unit 410.

実行ステップS212では、実行部470は、制御条件付加部460が制御条件にポリシー関数の返値を付加したデータアクセスプログラムを実行し、データオブジェクトへアクセスした結果を業務サーバ100へ送信する。   In execution step S212, the execution unit 470 executes the data access program in which the control condition adding unit 460 adds the return value of the policy function to the control condition, and transmits the result of accessing the data object to the business server 100.

上述したように、一旦プロビジョニングを行うと、人事異動などで所属や役職などのユーザ属性の値が変更になっても、属性管理サーバ200の管理する属性値を変更することにより、データベース装置400の制御に使用する属性値の変更が反映される。そのため、データアクセスプログラムやデータオブジェクトの設定を変更する必要がない。データオブジェクトへアクセスする場合の処理は、ユーザ属性値のコンテキスト受渡装置への設定のみである。データオブジェクトへアクセスする場合に、ユーザのデータアクセスプログラムを解釈し、書き換えたりする必要がない。そのため、実施の形態1に示したアクセス制御システム1000によれば、データオブジェクトへアクセスする場合に、処理が複雑とならず、データアクセスプログラムの性能が低下することもない。   As described above, once provisioning is performed, even if the value of a user attribute such as affiliation or job title is changed due to personnel change or the like, the attribute value managed by the attribute management server 200 is changed, so that the database device 400 Changes in attribute values used for control are reflected. Therefore, it is not necessary to change the settings of the data access program and the data object. The process for accessing the data object is only the setting of the user attribute value to the context delivery device. When accessing a data object, there is no need to interpret and rewrite the user's data access program. Therefore, according to the access control system 1000 shown in the first embodiment, when accessing a data object, the processing does not become complicated and the performance of the data access program does not deteriorate.

実施の形態2.
実施の形態1では、データオブジェクトである表に対しての行制御情報に基づく制御の実現について説明した。実施の形態2では、列制御情報に基づく制御の方法について説明する。
Embodiment 2. FIG.
In the first embodiment, the implementation of control based on row control information for a table that is a data object has been described. In the second embodiment, a control method based on column control information will be described.

実施の形態2にかかるアクセス制御システム1000の機能ブロック図は、図1に示す実施の形態1にかかるアクセス制御システム1000の機能ブロック図と同様である。また、実施の形態2にかかるアクセス制御システム1000の処理も実施の形態1と同様、事前準備であるプロビジョニングと、データオブジェクトへのアクセス実行の2つのフェーズに分けて実現される。   The functional block diagram of the access control system 1000 according to the second embodiment is the same as the functional block diagram of the access control system 1000 according to the first embodiment shown in FIG. The processing of the access control system 1000 according to the second embodiment is also realized by dividing into two phases of provisioning, which is advance preparation, and execution of access to a data object, as in the first embodiment.

図14は、定義情報記憶部220が記憶する列制御情報の一例である。図14は、売上表600の列定義情報と、各列(データオブジェクトの属性)に対するアクセス制御の条件の有無を示す。列名631は、売上表600の各列の属性名である。データ型632は、各列が保持するデータの型である。条件633は、各列に対して設定された制御条件である。月601と部門603との条件ANYは誰でも当該列にアクセスできることを示す。また、売上602は、条件C01が適用されることを示す。   FIG. 14 is an example of column control information stored in the definition information storage unit 220. FIG. 14 shows the column definition information of the sales table 600 and the presence / absence of an access control condition for each column (data object attribute). A column name 631 is an attribute name of each column of the sales table 600. The data type 632 is a type of data held in each column. The condition 633 is a control condition set for each column. The condition ANY of the month 601 and the department 603 indicates that anyone can access the column. Sales 602 indicates that the condition C01 is applied.

図14に基づいて、列制御情報に基づく制御の方法について説明する。以下の説明では、条件C01として、属性情報positionの値が‘02’である場合には、売上602の列へのアクセスを許可し、それ以外場合には売上602の列へのアクセスを許可しない、という情報が設定されているものとする。アクセスを許可されない属性情報を持つユーザ20の指示により発行されたデータアクセスプログラムが売上602の列を参照しようとした場合、データベース装置400は、例えば、Null値を返すようにしても、値を返さないようにするなどしても構わない。   A control method based on the column control information will be described with reference to FIG. In the following description, as the condition C01, when the value of the attribute information position is “02”, access to the column of sales 602 is permitted, and access to the column of sales 602 is not permitted otherwise. It is assumed that the information is set. When the data access program issued by the instruction of the user 20 having attribute information that is not permitted to access refers to the column of sales 602, the database device 400 returns a value even if it returns a null value, for example. You do n’t have to.

まず、プロビジョニングについて説明する。
図15は、列制御情報に基づく制御を実現するポリシー関数の一例である。図15に基づき、プロビジョニングの処理で生成するポリシー関数について説明する。
図15において、関数部710は、ポリシー関数を示す。行番号720は、ポリシー関数である関数部710の行番号を示す。
First, provisioning will be described.
FIG. 15 is an example of a policy function that implements control based on column control information. Based on FIG. 15, the policy function generated in the provisioning process will be described.
In FIG. 15, a function unit 710 indicates a policy function. A line number 720 indicates a line number of the function unit 710 that is a policy function.

図15に示すポリシー関数は、図6に示すポリシー関数と概ね同様である。そのため、図15に示すポリシー関数について、図6に示すポリシー関数と異なる部分について説明する。4行目では、属性情報positionを取得し、変数vpositionに格納する。6行目と7行目とは、変数vpositionが‘02’であった場合、「1=1」を返値とする。8行目と9行目とは、変数vpositionが‘02’でなかった場合、「1=2」を返値とする。つまり、図6に示すポリシー関数は、変数vpositionが‘02’であった場合、制御条件として常に真の値を取る条件を返値とし、変数vpositionが‘02’でなかった場合、制御条件として常に偽の値を取る条件を返値とする。   The policy function shown in FIG. 15 is almost the same as the policy function shown in FIG. Therefore, the policy function shown in FIG. 15 will be described with respect to portions different from the policy function shown in FIG. In the fourth line, attribute information position is acquired and stored in variable vposition. The sixth and seventh lines return “1 = 1” when the variable vposition is “02”. The 8th and 9th lines return “1 = 2” when the variable vposition is not “02”. That is, the policy function shown in FIG. 6 returns a condition that always takes a true value as a control condition when the variable vposition is “02”, and a control condition when the variable vposition is not “02”. The return value is a condition that always takes a false value.

次に、ポリシー関数を表の列に関連付けてポリシー関数記憶部440に登録する。図16は、ポリシー関数を表の列に関連付けてポリシー関数記憶部440に登録するコマンドの一例を示す。
図16において、関数部710は、ポリシー関数を表の列に関連付けるコマンドを示す。行番号720は、関数部710の行番号を示す。
図16では、図7に示すコマンドに1つパラメータが追加されている。売上表は、図6の表名である。売上表_売上_colは、図6のポリシー関数の関数名である。売上表_売上_colポリシーは、図6のポリシー名であり、DBアクセス制御管理部350が任意に生成することができる。DBアクセス制御管理部350は、例えば、接尾辞colを加えることで、列制御に用いられるポリシー関数であることを示す。4行目のsec_relevant_cols=>は、後ろに示すパラメータが列制御対象となる列名を保持するオプションパラメータである。ここでは、このポリシー関数は、売上表600の売上602にアクセスしようとすると起動されることを示す。また、sec_relevant_cols=>の後ろに複数の列名を含む文字列を設定しても構わない。
Next, the policy function is registered in the policy function storage unit 440 in association with the table column. FIG. 16 shows an example of a command for associating a policy function with a table column and registering it in the policy function storage unit 440.
In FIG. 16, a function unit 710 indicates a command for associating a policy function with a table column. A line number 720 indicates a line number of the function unit 710.
In FIG. 16, one parameter is added to the command shown in FIG. The sales table is the table name of FIG. Sales table_sales_col is a function name of the policy function of FIG. The sales table_sales_col policy is the policy name of FIG. 6 and can be arbitrarily generated by the DB access control management unit 350. For example, the DB access control management unit 350 adds a suffix col to indicate that it is a policy function used for column control. The sec_relevant_cols => in the fourth line is an optional parameter that holds the column name for which the parameter shown later is the column control target. Here, it is indicated that this policy function is activated when an attempt is made to access the sales 602 of the sales table 600. A character string including a plurality of column names may be set after sec_relevant_cols =>.

上述したプロビジョニングを行った後に、業務サーバ100が発行したデータアクセスプログラムが売上表600の売上602にアクセスしようとすると、ポリシー関数である売上表_売上_colが実行される。この場合、業務サーバ100へ指示をしたユーザ20の属性情報positionの値が‘02’であると、売上表_売上_colは、返値として「1=1」を出力する。つまり、ポリシー関数は、制御条件としては常に真の値をとる条件である。従って、ユーザ20は、売上602へのアクセスが許可される。一方、業務サーバ100へ指示をしたユーザ20の属性情報positionの値が‘02’でないと、売上表_売上_colは、返値として「1=2」を出力する。つまり、ポリシー関数は、制御条件としては常に偽の値をとる条件である。従って、ユーザ20は、売上602へのアクセスが拒否される。   After the provisioning described above, when the data access program issued by the business server 100 tries to access the sales 602 of the sales table 600, the sales function_sales_col as a policy function is executed. In this case, if the value of the attribute information position of the user 20 who has instructed the business server 100 is “02”, the sales table_sales_col outputs “1 = 1” as a return value. That is, the policy function is a condition that always takes a true value as a control condition. Accordingly, the user 20 is permitted to access the sales 602. On the other hand, if the value of the attribute information position of the user 20 who has instructed the business server 100 is not “02”, the sales table_sales_col outputs “1 = 2” as a return value. That is, the policy function is a condition that always takes a false value as a control condition. Accordingly, the user 20 is denied access to the sales 602.

次に、列制御情報に基づく制御を行う場合のプロビジョニングを行う動作について説明する。図17は、列制御情報に基づく制御を行う場合のプロビジョニングを行う動作を示すフローチャートである。   Next, an operation of performing provisioning when performing control based on column control information will be described. FIG. 17 is a flowchart illustrating an operation of performing provisioning when performing control based on column control information.

制御情報取得ステップS301では、制御情報取得部360は、定義情報記憶部220から表に対する制御情報を取得する。ここでは、制御情報取得部360は該当する表に対する列制御情報を取得する。   In the control information acquisition step S301, the control information acquisition unit 360 acquires control information for the table from the definition information storage unit 220. Here, the control information acquisition unit 360 acquires column control information for the corresponding table.

制御情報記憶ステップS302では、制御情報記憶部370は、制御情報取得部360が取得した制御情報を記憶する。   In the control information storage step S302, the control information storage unit 370 stores the control information acquired by the control information acquisition unit 360.

関数生成部380と関数制御部390とは、制御情報記憶部370が記憶した列制御情報における制御条件毎に、ステップS303からステップS311までの処理を実行する。つまり、図14の条件633の値が異なるもの毎にステップS303からステップS311までの処理を実行する。ただし、図14の条件633の値がANYの場合は対象外とする。
ステップS303からステップS310までの処理は、ポリシー関数生成ステップである。また、ステップS311の処理は、関数制御ステップである。
The function generation unit 380 and the function control unit 390 execute the processing from step S303 to step S311 for each control condition in the column control information stored in the control information storage unit 370. That is, the processing from step S303 to step S311 is executed for each of the different values of the condition 633 in FIG. However, if the value of the condition 633 in FIG.
The processing from step S303 to step S310 is a policy function generation step. Further, the process of step S311 is a function control step.

変数生成ステップS303では、関数生成部380は、表の列制御対象となる列名を格納する変数を用意する。   In the variable generation step S303, the function generation unit 380 prepares a variable for storing a column name to be a column control target of the table.

列名抽出ステップS304では、関数生成部380は、表の列制御情報より、制御対象となる列名を抽出する。   In the column name extraction step S304, the function generation unit 380 extracts the column name to be controlled from the column control information in the table.

列名格納ステップS305では、関数生成部380は、制御条件の制御対象となる列名を変数に格納する。   In the column name storage step S305, the function generation unit 380 stores the column name to be controlled by the control condition in a variable.

対象判定ステップS306では、関数生成部380は、制御条件の制御対象となる列名をすべて変数に格納したかを確認する。格納していない列名が存在する場合、ステップS305へ戻り、列名を変数に格納する。全ての列名を格納している場合、ステップS307へ進む。   In the object determination step S306, the function generation unit 380 confirms whether all the column names to be controlled by the control condition are stored in the variables. If there is an unstored column name, the process returns to step S305 to store the column name in a variable. If all the column names are stored, the process proceeds to step S307.

関数名生成ステップS307では、関数生成部380は、列制御情報に基づくポリシー関数の関数名と、表の列と列制御情報に基づくポリシー関数とを関連付けるポリシー名とを生成する。関数生成部380は、例えば、実施の形態1と同様に、制御情報記憶部370が記憶した表名および行制御条件よりに基づいて関数名を生成する。関数生成部380は、例えば、この場合のポリシー関数名を「表名」+「_列名」+「_col」のように規則的に生成することができる。ここで、列が複数ある場合には、上述した「表名」+「_列名」+「_col」の「_列名」を含んでいる列名をつなげたものとしても構わない。また、関数生成部380は、例えば、ポリシー名を「ポリシー関数名」+「_ポリシー」のように規則的に生成することができる。   In function name generation step S307, the function generation unit 380 generates a function name of a policy function based on column control information and a policy name that associates a table column with a policy function based on column control information. For example, the function generation unit 380 generates a function name based on the table name and the row control condition stored in the control information storage unit 370, as in the first embodiment. For example, the function generation unit 380 can regularly generate the policy function name in this case as “table name” + “_ column name” + “_ col”. Here, when there are a plurality of columns, the column names including “_column name” of “table name” + “_ column name” + “_ col” described above may be connected. In addition, the function generation unit 380 can regularly generate a policy name such as “policy function name” + “_ policy”, for example.

属性名抽出ステップS308では、関数生成部380は、列制御情報に基づいて、制御条件に用いられている属性名を抽出する。関数生成部380は、図15のポリシー関数の例においては属性情報positionを抽出する。   In attribute name extraction step S308, the function generation unit 380 extracts the attribute name used for the control condition based on the column control information. The function generation unit 380 extracts the attribute information position in the policy function example of FIG.

コマンド追加ステップS309では、関数生成部380は、抽出した属性情報について、コンテキスト記憶部430から属性情報の値を取り出すコマンドをポリシー関数に追加する。コンテキスト記憶部430から属性情報の値を取り出すコマンドとは、図15に示す例においては、sys_contextコマンドである。   In the command addition step S309, the function generation unit 380 adds a command for extracting the attribute information value from the context storage unit 430 to the policy function for the extracted attribute information. In the example illustrated in FIG. 15, the command for extracting the value of attribute information from the context storage unit 430 is a sys_context command.

条件句追加ステップS310では、関数生成部380は、制御条件における属性情報に関する条件を、ポリシー関数に追加する。関数生成部380は、図15に示す例においては、if文によって示す文を追加する。関数生成部380は、併せて、追加した制御条件に基づいて、返値をポリシー関数に追加する。関数生成部380は、図15に示す例においては、return文によって示す文を追加する。また、関数生成部380は、このステップで生成した処理に合わせて、ポリシー関数のその他の部分を生成する。   In the conditional phrase adding step S310, the function generating unit 380 adds a condition regarding attribute information in the control condition to the policy function. In the example illustrated in FIG. 15, the function generation unit 380 adds a sentence indicated by an “if” sentence. In addition, the function generation unit 380 adds a return value to the policy function based on the added control condition. In the example illustrated in FIG. 15, the function generation unit 380 adds a sentence indicated by a return sentence. In addition, the function generation unit 380 generates another part of the policy function in accordance with the processing generated in this step.

関数制御ステップS311では、関数制御部390は、ポリシー関数と表との関連付けを行う。関数制御部390は、例えば、上述したような関連付けのコマンドを生成し、生成したコマンドを実行する。   In function control step S311, the function control unit 390 associates a policy function with a table. For example, the function control unit 390 generates an association command as described above, and executes the generated command.

ポリシー関数記憶ステップS312では、関数制御部390コマンドを実行することにより、ポリシー関数記憶部440は、列と関連付けされたポリシー関数を記憶する。   In the policy function storage step S312, the policy function storage unit 440 stores the policy function associated with the column by executing the function control unit 390 command.

関数生成部380と関数制御部390とは、制御情報記憶部370が記憶した全ての列制御情報に対して、ステップS303からステップS311までの処理を実行し、処理を終了する。   The function generation unit 380 and the function control unit 390 execute the process from step S303 to step S311 for all the column control information stored in the control information storage unit 370, and ends the process.

上記の説明では、1つの制御条件において参照される属性情報は、1つであることを前提としている。1つの制御条件に複数の属性情報の参照を許す場合は、ステップS308において、処理対象となっている制御条件において参照される属性情報を複数抽出し、ステップS309とステップS310との処理を属性情報それぞれに対して繰り返し実行することで実現できる。   In the above description, it is assumed that there is one attribute information referred to in one control condition. When a plurality of pieces of attribute information can be referred to in one control condition, a plurality of pieces of attribute information referred to in the control condition to be processed are extracted in step S308, and the processes in steps S309 and S310 are performed as attribute information. This can be realized by repeatedly executing for each.

データオブジェクトへのアクセス実行の処理については、実施の形態1と同様である。   The processing for executing access to the data object is the same as in the first embodiment.

実施の形態2では、列に対する制御に関しても、実施の形態1と同様に、一旦プロビジョニングを行うと、人事異動などで所属や役職などのユーザ属性の値が変更になっても、属性管理サーバ200の管理する属性値を変更することにより、データベース装置400の制御に使用する属性値の変更が反映される。そのため、データアクセスプログラムやデータオブジェクトの設定を変更する必要がない。データオブジェクトへアクセスする場合の処理は、ユーザ属性値のコンテキスト受渡装置への設定のみである。データオブジェクトへアクセスする場合に、ユーザのデータアクセスプログラムを解釈し、書き換えたりする必要がない。そのため、実施の形態2に示したアクセス制御システム1000によれば、データオブジェクトへアクセスする場合に、処理が複雑とならず、データアクセスプログラムの性能が低下することもない。   In the second embodiment, as in the case of the first embodiment, regarding the column control, once provisioning is performed, even if the user attribute value such as affiliation or job title is changed due to personnel change or the like, the attribute management server 200 By changing the attribute value managed by, the change of the attribute value used for control of the database apparatus 400 is reflected. Therefore, it is not necessary to change the settings of the data access program and the data object. The process for accessing the data object is only the setting of the user attribute value to the context delivery device. When accessing a data object, there is no need to interpret and rewrite the user's data access program. Therefore, according to the access control system 1000 shown in the second embodiment, when accessing a data object, the processing does not become complicated and the performance of the data access program does not deteriorate.

実施の形態3.
上述した実施の形態では、行制御情報と列制御情報とのそれぞれに基づく制御について別々に説明した。実施の形態3では、ポリシー関数と、ポリシー関数と表との関連付けを拡張することにより、行の制御と列の制御とを組合せた制御を行う方法について説明する。
Embodiment 3 FIG.
In the above-described embodiment, the control based on each of the row control information and the column control information has been described separately. In the third embodiment, a method for performing control combining row control and column control by expanding the policy function and the association between the policy function and the table will be described.

行の制御と列の制御とを組合せた制御を行う方法は、図14の列制御情報において、条件633の値C01に対して実施の形態2で述べた列に対する制御でなく、行に対する制御を関連付けることにより実現できる。この場合、業務サーバ100が、列制御情報が指定された売上602にアクセスするデータアクセスプログラムを発行すると、列制御情報C01に関連付けられた行制御情報が評価され、C01を満たす行においてのみ売上602へのアクセスを許可し、他の行においては売上602へのアクセスを許可しない。   A method of performing control combining row control and column control is not the column control described in the second embodiment for the value C01 of the condition 633 in the column control information of FIG. This can be realized by associating. In this case, when the business server 100 issues a data access program for accessing the sales 602 for which the column control information is specified, the row control information associated with the column control information C01 is evaluated, and the sales 602 is obtained only in a row satisfying C01. Access to is permitted, and access to sales 602 is not permitted in other rows.

実施の形態3にかかるアクセス制御システム1000の機能ブロック図は、図1に示す実施の形態1にかかるアクセス制御システム1000の機能ブロック図と同様である。また、実施の形態3にかかるアクセス制御システム1000の処理も実施の形態1と同様、事前準備であるプロビジョニングと、データオブジェクトへのアクセス実行の2つのフェーズに分けて実現される。   The functional block diagram of the access control system 1000 according to the third embodiment is the same as the functional block diagram of the access control system 1000 according to the first embodiment shown in FIG. The processing of the access control system 1000 according to the third embodiment is also realized by dividing into two phases of provisioning, which is preparation in advance, and execution of access to a data object, as in the first embodiment.

実施の形態3では、図4に示した行制御情報を売上表600の売上602の列にかける例を用いて説明する。   The third embodiment will be described using an example in which the row control information illustrated in FIG. 4 is applied to the sales 602 column of the sales table 600.

まず、プロビジョニングについて説明する。
図18は、行の制御と列の制御とを組合せた制御を実現するポリシー関数である。図18に示すポリシー関数は、関数名を除いて図6に示すポリシー関数と同様である。また、ポリシー関数を表の列に関連付けるコマンドは、図16に示す例を使用する。つまり、図6に示すポリシー関数と同様の制御が、売上表600の売上602の列に関連付けされる。
First, provisioning will be described.
FIG. 18 shows a policy function that realizes control combining row control and column control. The policy function shown in FIG. 18 is the same as the policy function shown in FIG. 6 except for the function name. In addition, the command shown in FIG. 16 is used as a command for associating a policy function with a table column. That is, the same control as the policy function shown in FIG. 6 is associated with the sales 602 column of the sales table 600.

業務サーバ100が発行したデータアクセスプログラムが売上表600の売上602にアクセスしようとすると、ポリシー関数である図18に示すポリシー関数が実行される。ポリシー関数は、売上表600の部門603の値が、属性情報soshikiの値と同じレコードのみ売上602の値へのアクセスを許可し、それ以外のレコードについてはアクセスを許可しない。アクセスを許可しないレコードの売上602の値として、データベース装置400は、実施の形態2と同様に、例えば、Null値を返すようにしても、値を返さないようにするなどしても構わない。   When the data access program issued by the business server 100 tries to access the sales 602 of the sales table 600, the policy function shown in FIG. 18 which is a policy function is executed. The policy function permits access to the value of sales 602 only for records where the value of the department 603 in the sales table 600 is the same as the value of the attribute information sokiki, and does not permit access to other records. As the value of the sales 602 of the record that does not permit access, the database device 400 may return a null value or no value, for example, as in the second embodiment.

次に、行の制御と列の制御とを組合せた制御を行う場合のプロビジョニングを行う動作について説明する。図19は、行の制御と列の制御とを組合せた制御を行う場合のプロビジョニングを行う動作を示すフローチャートである。   Next, the provisioning operation in the case of performing control combining row control and column control will be described. FIG. 19 is a flowchart illustrating an operation for performing provisioning in the case of performing control combining row control and column control.

制御情報取得ステップS401では、制御情報取得部360は、定義情報記憶部220から表に対する制御情報を取得する。ここでは、制御情報取得部360は該当する表に対する行制御情報と列制御情報とを取得する。   In control information acquisition step S <b> 401, the control information acquisition unit 360 acquires control information for the table from the definition information storage unit 220. Here, the control information acquisition unit 360 acquires row control information and column control information for the corresponding table.

制御情報記憶ステップS402では、制御情報記憶部370は、制御情報取得部360が取得した制御情報を記憶する。   In the control information storage step S402, the control information storage unit 370 stores the control information acquired by the control information acquisition unit 360.

列制御判定ステップS403では、関数生成部380は、制御情報記憶部370が記憶した制御情報に列制御情報が存在するかを判定する。関数生成部380は、列制御情報が存在する場合、ステップS404へ進み、列制御情報が存在しない場合、ステップS409へ進む。   In column control determination step S403, the function generation unit 380 determines whether column control information exists in the control information stored in the control information storage unit 370. The function generation unit 380 proceeds to step S404 when the column control information exists, and proceeds to step S409 when the column control information does not exist.

行列制御判定ステップS404では、関数生成部380は、制御情報記憶部370が記憶した列制御情報の条件に関連付けられた行制御情報が存在するかを判定する。関数生成部380は、行制御情報が存在する場合、ステップS405へ進み、行制御情報が存在しない場合、ステップS407へ進む。   In the matrix control determination step S404, the function generation unit 380 determines whether there is row control information associated with the column control information condition stored in the control information storage unit 370. The function generation unit 380 proceeds to step S405 when the line control information exists, and proceeds to step S407 when the line control information does not exist.

行列ポリシー関数生成ステップS405では、関数生成部380は、行制御情報に基づいたポリシー関数を生成する。   In matrix policy function generation step S405, the function generation unit 380 generates a policy function based on the row control information.

行列関数制御ステップS406では、関数制御部390は、表と列に関連付けられた行制御情報に基づいたポリシー関数の関連付けコマンドを生成し、実行する。
ステップS405とステップS406とは、後述する図20に示すのフローに従って処理を行う。
In the matrix function control step S406, the function control unit 390 generates and executes a policy function association command based on the row control information associated with the table and the column.
Steps S405 and S406 are performed according to the flow shown in FIG.

列ポリシー関数生成ステップS407では、関数制御部390は、行制御情報が関連付けされていない列制御情報に基づいたポリシー関数を生成する。   In the column policy function generation step S407, the function control unit 390 generates a policy function based on the column control information not associated with the row control information.

列関数制御ステップS408では、関数制御部390は、列に関連付けられた列制御情報に基づいたポリシー関数の関連付けコマンドを生成し、実行する。
ステップS407とステップS408とは、上述した図17に示すステップS303からステップS312に従って処理を行う。
In the column function control step S408, the function control unit 390 generates and executes a policy function association command based on the column control information associated with the column.
Steps S407 and S408 are performed according to steps S303 to S312 shown in FIG.

行制御判定ステップS409では、関数制御部390は、表と関連付けられ、列制御情報に関連付けられていない行制御情報が存在するかを判定する。関数制御部390は、表と関連付けられ、列制御情報に関連付けられていない行制御情報が存在する場合、ステップS410へ進み、存在しない場合、処理を終了する。   In the row control determination step S409, the function control unit 390 determines whether there is row control information associated with the table and not associated with the column control information. The function control unit 390 proceeds to step S410 when there is row control information associated with the table and not associated with the column control information, and ends the process when there is no row control information.

行ポリシー関数生成ステップS410では、関数制御部390は、行制御情報に基づいたポリシー関数を生成する。   In the line policy function generation step S410, the function control unit 390 generates a policy function based on the line control information.

行関数制御ステップS411では、関数制御部390は、表に関連付けられた行制御情報に基づいたポリシー関数の関連付けコマンドを生成し、実行する。
ステップS410とステップS411とは、上述した図9に示すのフローチャートに従って処理を行う。
In the row function control step S411, the function control unit 390 generates and executes a policy function association command based on the row control information associated with the table.
Steps S410 and S411 are performed according to the flowchart shown in FIG. 9 described above.

図20は、図19におけるステップS405とステップS406の動作を詳細化したフローチャートである。図20は、図17に示すフローチャートのステップS308とステップS310との処理を、列制御情報の制御条件に関連付けられた行制御情報についての処理に置換したものである。図20に示すフローチャートついては、図17に示すフローチャートとの相違点のみ説明する。   FIG. 20 is a flowchart detailing the operations in steps S405 and S406 in FIG. FIG. 20 is obtained by replacing the processing in step S308 and step S310 in the flowchart shown in FIG. 17 with processing for row control information associated with the control condition of column control information. Only the differences from the flowchart shown in FIG. 17 will be described with respect to the flowchart shown in FIG.

ステップS501からステップS507までについては、それぞれ、図17に示すステップS301からステップS307までと同様である。   Steps S501 to S507 are the same as steps S301 to S307 shown in FIG.

属性名抽出ステップS508では、関数生成部380は、列制御情報の制御条件に関連付けられた行制御情報の制御条件に用いられている属性名を抽出する。   In attribute name extraction step S508, the function generation unit 380 extracts the attribute name used for the control condition of the row control information associated with the control condition of the column control information.

ステップS509は、図17に示すステップS309と同様である。   Step S509 is the same as step S309 shown in FIG.

条件句追加ステップS510では、関数生成部380は、列制御情報の制御条件に関連付けられた行制御情報の制御条件における属性情報に関する条件を、ポリシー関数に追加する。   In the conditional phrase adding step S510, the function generation unit 380 adds a condition related to attribute information in the control condition of the row control information associated with the control condition of the column control information to the policy function.

ステップS511は、図17に示すステップS311と同様である。   Step S511 is the same as step S311 shown in FIG.

実施の形態3では、行の制御と列の制御とを組合せた制御に関しても、実施の形態1と同様に、一旦プロビジョニングを行うと、人事異動などで所属や役職などのユーザ属性の値が変更になっても、属性管理サーバ200の管理する属性値を変更することにより、データベース装置400の制御に使用する属性値の変更が反映される。そのため、データアクセスプログラムやデータオブジェクトの設定を変更する必要がない。データオブジェクトへアクセスする場合の処理は、ユーザ属性値のコンテキスト受渡装置への設定のみである。データオブジェクトへアクセスする場合に、ユーザのデータアクセスプログラムを解釈し、書き換えたりする必要がない。そのため、実施の形態3に示したアクセス制御システム1000によれば、データオブジェクトへアクセスする場合に、処理が複雑とならず、データアクセスプログラムの性能が低下することもない。   In the third embodiment, regarding the control combining row control and column control, as in the first embodiment, once provisioning is performed, user attribute values such as affiliation and job title change due to personnel changes and the like. Even in this case, by changing the attribute value managed by the attribute management server 200, the change of the attribute value used for the control of the database device 400 is reflected. Therefore, it is not necessary to change the settings of the data access program and the data object. The process for accessing the data object is only the setting of the user attribute value to the context delivery device. When accessing a data object, there is no need to interpret and rewrite the user's data access program. Therefore, according to the access control system 1000 shown in the third embodiment, when the data object is accessed, the processing is not complicated and the performance of the data access program is not deteriorated.

実施の形態4.
上述した実施の形態では、DBアクセス制御管理部350は、プロビジョニングにおいて行制御情報もしくは列制御情報もしくは行制御情報と列制御情報とに基づきポリシー関数を生成する処理の説明をした。実施の形態4では、上記の各制御情報に対して階層構造を持つ属性情報の値が入力される場合の制御について説明する。
Embodiment 4 FIG.
In the above-described embodiment, the DB access control management unit 350 has described the process of generating a policy function based on row control information, column control information, or row control information and column control information in provisioning. In the fourth embodiment, control when attribute information values having a hierarchical structure are input to each control information described above will be described.

階層構造を持った属性情報の一例として、ここでは、図2に示す属性情報を使用する。図2に示す属性情報において、社員が所属する組織の属性情報である組織名soshikiには、部や課というように組織の階層構造における異なるレベルの組織名が設定されている。このような階層構造を持つ属性情報の下では、例えば、部長など部に直属するユーザ20については、組織名soshikiとして営業部や技術部などの部の名称が付けられ、課長や課の一般メンバーなど課に直属するユーザ20については、組織名soshikiとして営業1課や技術1課などの課の名称が付けられる場合がある。このような場合には、各名称が属性情報としてコンテキスト記憶部430に設定される。
異なるレベルの組織名が属性情報として使用される場合、例えば、行制御情報を部のレベルの組織名を用いてアクセスの許可をすると、DBアクセス制御実行部310は、制御情報においてアクセスが許可されている部に属する課にもアクセスを許可する必要があることが考えられる。
As an example of attribute information having a hierarchical structure, the attribute information shown in FIG. 2 is used here. In the attribute information shown in FIG. 2, the organization name sokiki, which is the attribute information of the organization to which the employee belongs, is set with different levels of organization names in the hierarchical structure of the organization such as departments and sections. Under the attribute information having such a hierarchical structure, for example, for the user 20 who directly belongs to the department such as a department manager, the department name such as the sales department or the technical department is given as the organization name sokiki, and the section manager or general member of the department For the user 20 who directly belongs to the section, the name of the section such as the sales section 1 or the technical section 1 may be given as the organization name sokiki. In such a case, each name is set in the context storage unit 430 as attribute information.
When an organization name of a different level is used as attribute information, for example, when access is permitted using the organization name of the department level in the row control information, the DB access control execution unit 310 is allowed access in the control information. It may be necessary to allow access to the departments belonging to the department.

上記のような場合に対応するため、属性取得部320は、属性情報記憶部210が管理記憶する属性情報から、指定された属性情報の下位の属性情報を取得する。そして、コンテキスト記憶部430は、指定された属性情報の下位の属性情報を含めて記憶する。また、関数生成部380は、上位の属性情報のアクセス権限を下位の属性情報に継承するようポリシー関数を生成する。   In order to deal with the above case, the attribute acquisition unit 320 acquires attribute information subordinate to the specified attribute information from the attribute information managed and stored by the attribute information storage unit 210. Then, the context storage unit 430 stores the attribute information subordinate to the specified attribute information. Further, the function generation unit 380 generates a policy function so that the access authority of the upper attribute information is inherited by the lower attribute information.

実施の形態4にかかるアクセス制御システム1000の機能ブロック図は、図1に示す実施の形態1にかかるアクセス制御システム1000の機能ブロック図と同様である。また、実施の形態4にかかるアクセス制御システム1000の処理も実施の形態1と同様、事前準備であるプロビジョニングと、データオブジェクトへのアクセス実行の2つのフェーズに分けて実現される。   The functional block diagram of the access control system 1000 according to the fourth embodiment is the same as the functional block diagram of the access control system 1000 according to the first embodiment shown in FIG. The processing of the access control system 1000 according to the fourth embodiment is also realized by dividing into two phases of provisioning, which is preparation in advance, and execution of access to a data object, as in the first embodiment.

まず、列制御情報に基づくポリシー関数について説明する。
図2に示す属性情報は、本社の下に営業部510があり、営業部510の下に営業1課520と営業2課530とがあるという階層構造を持っている。図3の売上表600の売上602へは、アクセスする社員の所属する部が営業部510である場合、アクセスを許可するという列制御情報が設定されているとする。図21は、上記の列制御情報に基づいて生成したポリシー関数の一例である。図21において、関数部710は、ポリシー関数を示す。行番号720は、関数部710の行番号を示す。図21に示すポリシー関数について、図18に示すポリシー関数との相違点を説明する。
図21において、6行目に示す条件文は、営業部510以下の組織全てを論理和で接続している。そのため、営業部510に所属する社員からのアクセスの場合、6行目の条件式を満たし、「1=1」を返値として出力する。つまり、図21に示すポリシー関数は、営業部510に所属する社員からのアクセスの場合、制御条件として常に真の値を取る条件を返値として出力する。一方、営業部510に所属する社員からのアクセスでない場合、6行目の条件式を満たさず、「1=2」を返値として出力する。つまり、図21に示すポリシー関数は、営業部510に所属する社員からのアクセスでない場合、制御条件として常に偽の値を取る条件を返値として出力する。
First, the policy function based on the column control information will be described.
The attribute information shown in FIG. 2 has a hierarchical structure in which the sales department 510 is under the head office and the sales section 1 520 and the sales section 2 530 are under the sales section 510. In the sales table 602 of FIG. 3, it is assumed that column control information for permitting access is set when the department to which the accessing employee belongs is the sales department 510. FIG. 21 is an example of a policy function generated based on the above column control information. In FIG. 21, a function unit 710 indicates a policy function. A line number 720 indicates a line number of the function unit 710. A difference between the policy function shown in FIG. 21 and the policy function shown in FIG. 18 will be described.
In FIG. 21, the conditional statement shown in the sixth line connects all the organizations below the sales department 510 with a logical sum. Therefore, in the case of access from an employee belonging to the sales department 510, the conditional expression on the sixth line is satisfied, and “1 = 1” is output as a return value. That is, the policy function shown in FIG. 21 outputs, as a return value, a condition that always takes a true value as a control condition in the case of an access from an employee belonging to the sales department 510. On the other hand, if the access is not from an employee belonging to the sales department 510, the conditional expression on the sixth line is not satisfied and “1 = 2” is output as a return value. That is, the policy function shown in FIG. 21 outputs, as a return value, a condition that always takes a false value as a control condition when the access is not from an employee belonging to the sales department 510.

次に、行制御情報に基づくポリシー関数について説明する。
図2に示す属性情報について、図3の売上表600へ図4の行制御情報を適用する。この場合に、アクセスする社員の所属する部が営業部510である場合、売上表600の部門603が営業部510に所属する値を持つレコードの参照を許可するという行制御情報であるとする。図22は、上記の行制御情報に基づいて生成したポリシー関数の一例である。図22において、関数部710は、ポリシー関数を示す。行番号720は、関数部710の行番号を示す。図22に示すポリシー関数について、図6に示すポリシー関数との相違点を説明する。
図22において、6行目に示す条件文は、営業部510以下の組織全てを論理和で接続している。そのため、営業部510に所属する社員からのアクセスの場合、6行目の条件式を満たし、「部門=’営業部’ OR 部門=’営業1課’ OR 部門=’営業2課’」を返値として出力する。この返値の制御条件は、売上表600の部門603が営業部510に所属する値を持つレコードの場合、満たされる。従って、このポリシー関数を使用することにより、アクセスする社員の所属する部が営業部510である場合、売上表600の部門603が営業部510に所属する値を持つレコードの参照が許可される。
Next, a policy function based on the row control information will be described.
For the attribute information shown in FIG. 2, the row control information shown in FIG. 4 is applied to the sales table 600 shown in FIG. In this case, when the department to which the employee to access belongs is the sales department 510, it is assumed that the department control 603 of the sales table 600 is row control information that permits reference to a record having a value belonging to the sales department 510. FIG. 22 shows an example of a policy function generated based on the row control information. In FIG. 22, a function unit 710 indicates a policy function. A line number 720 indicates a line number of the function unit 710. Differences between the policy function shown in FIG. 22 and the policy function shown in FIG. 6 will be described.
In FIG. 22, the conditional statement shown in the sixth line connects all the organizations below the sales department 510 with a logical sum. Therefore, in the case of an access from an employee belonging to the sales department 510, the conditional expression on the sixth line is satisfied and “department = 'sales department' OR department = 'sales department 1' OR department = 'sales department 2'" is returned. Output as a value. This return value control condition is satisfied when the department 603 of the sales table 600 has a value belonging to the sales department 510. Therefore, by using this policy function, when the department to which the employee to access belongs is the sales department 510, reference to a record having a value to which the department 603 of the sales table 600 belongs to the sales department 510 is permitted.

属性情報が階層構造を持っているおり、かつ、行制御情報や列制御情報において属性情報と即値との比較を行う場合には、上述した方法により、プロビジョニングを行う必要がある。ここで、即値とは、指定された値を意味する。   When the attribute information has a hierarchical structure and the attribute information and the immediate value are compared in the row control information and the column control information, it is necessary to perform provisioning by the method described above. Here, the immediate value means a designated value.

次に、階層構造を持つ属性情報の値に基づくプロビジョニングを行う動作について説明する。図23は、階層構造を持つ属性情報の値に基づくプロビジョニングの処理を行う動作を示すフローチャートである。図23に示すフローチャートは、行制御情報に基づくプロビジョニングの処理である図9に示すフローチャートのステップS107と、行の制御と列の制御とを組合せた制御を行う場合のプロビジョニングの処理である図20に示すフローチャートのステップS510と置き換わる。   Next, an operation for provisioning based on the value of attribute information having a hierarchical structure will be described. FIG. 23 is a flowchart showing an operation of performing provisioning processing based on the value of attribute information having a hierarchical structure. The flowchart shown in FIG. 23 is a provisioning process in the case where step S107 of the flowchart shown in FIG. 9 which is a provisioning process based on the row control information and a combination of the row control and the column control are performed. It replaces step S510 in the flowchart shown in FIG.

関数生成部380は、行制御情報における属性情報に関する制御条件に対して、ステップS601からステップS607までの処理を実行する。   The function generation unit 380 executes the processing from step S601 to step S607 with respect to the control condition related to the attribute information in the row control information.

階層構造判定ステップS601では、関数生成部380は、行制御情報における属性情報に関する制御条件が、階層構造を持つ属性情報を含むかどうかを判定する。関数生成部380は、階層構造を持つ属性情報を含む場合、ステップS602へ進み、階層構造を持つ属性情報を含まない場合、ステップS607へ進む。
関数生成部380は、例えば、階層構造を持つ属性情報の属性名をDBアクセス制御管理部350にあらかじめ登録しておくことにより、属性情報が階層構造を持つかどうかを判定できる。あるいは、関数生成部380は、全ての属性情報について、属性管理サーバ200に階層構造の有無を問い合わせることにより、属性情報が階層構造を持つかどうかを判定できる。
In hierarchical structure determination step S601, the function generation unit 380 determines whether or not the control condition related to the attribute information in the row control information includes attribute information having a hierarchical structure. If the function generation unit 380 includes attribute information having a hierarchical structure, the function generation unit 380 proceeds to step S602. If the function generation unit 380 does not include attribute information having a hierarchical structure, the function generation unit 380 proceeds to step S607.
For example, the function generation unit 380 can determine whether or not the attribute information has a hierarchical structure by registering in advance the attribute name of the attribute information having a hierarchical structure in the DB access control management unit 350. Alternatively, the function generation unit 380 can determine whether or not the attribute information has a hierarchical structure by inquiring the attribute management server 200 about the presence or absence of the hierarchical structure for all the attribute information.

即値比較判定ステップS602では、関数生成部380は、階層構造を持つ属性情報を含む制御条件は、属性値と即値との比較を含むかどうかを判定する。関数生成部380は、属性値と即値との比較を含む場合、ステップS603へ進み、属性値と即値との比較を含まない場合、ステップS607へ進む。   In immediate value comparison determination step S602, the function generation unit 380 determines whether or not the control condition including attribute information having a hierarchical structure includes a comparison between the attribute value and the immediate value. If the function generation unit 380 includes the comparison between the attribute value and the immediate value, the process proceeds to step S603. If the function generation unit 380 does not include the comparison between the attribute value and the immediate value, the function generation unit 380 proceeds to step S607.

属性管理サーバ接続ステップS603では、関数生成部380は、属性管理サーバ200にアクセスする。   In the attribute management server connection step S603, the function generation unit 380 accesses the attribute management server 200.

属性値取得ステップS604では、関数生成部380は、属性情報の階層構造情報を参照し、即値を含むノードの属性値と、当該ノードの下位にある属性値を取得する。ここで、ノードとは、図2に示す木構造により表現された属性情報において、本社500や営業部510などの属性を表す節の部分である。また、下位とは、図2においては、指定されたノードに接続されるノードで、下に描かれているノードである。営業1課520の下位とは、社員a521と社員b522である。また、営業部510の下位とは、営業1課520と営業2課530と、営業1課520と営業2課530とのそれぞれの下位のノードを含むものである。   In the attribute value acquisition step S604, the function generation unit 380 refers to the hierarchical structure information of the attribute information, and acquires the attribute value of the node including the immediate value and the attribute value below the node. Here, the node is a section of a node representing attributes such as the head office 500 and the sales department 510 in the attribute information represented by the tree structure shown in FIG. Further, the subordinate is a node connected to a designated node in FIG. 2 and is a node depicted below. The employees a521 and b522 are subordinate to the sales section 1 520. The subordinates of the sales department 510 include the subordinate nodes of the sales 1 section 520 and the sales 2 section 530 and the sales 1 section 520 and the sales 2 section 530, respectively.

条件句追加ステップS605では、関数生成部380は、行制御情報における属性情報に関する制御条件を、ステップS604で取得した属性情報についての条件として展開し、論理和で結合する。関数生成部380は、論理和で結合した条件文を表へのアクセスを許可するかを判定する条件文をポリシー関数追加する。関数生成部380は、例えば、図22の6行目に示すif文などを条件文として追加する。   In the conditional phrase addition step S605, the function generation unit 380 expands the control condition related to the attribute information in the row control information as a condition for the attribute information acquired in step S604, and combines them with a logical sum. The function generation unit 380 adds a policy statement to the conditional statement that determines whether or not the conditional statement combined by the logical sum is permitted to access the table. For example, the function generation unit 380 adds an “if” statement shown in the sixth line of FIG. 22 as a conditional statement.

返値追加ステップS606では、関数生成部380は、論理和で結合した条件文をポリシー関数の返値を示す変数に追加する。関数生成部380は、例えば、図22の7行目に示すreturn文などを返値として追加する。   In the return value adding step S606, the function generating unit 380 adds the conditional statement combined by the logical sum to a variable indicating the return value of the policy function. For example, the function generation unit 380 adds a return statement shown in the seventh line of FIG. 22 as a return value.

直接追加ステップS607では、関数生成部380は、行制御情報における属性情報に関する条件を、ポリシー関数の返値を示す変数に追加する。   In the direct addition step S607, the function generation unit 380 adds the condition related to the attribute information in the row control information to a variable indicating the return value of the policy function.

また、実施の形態4では、列制御情報に基づいたポリシー関数を生成するプロビジョニングの処理である図17に示すフローチャートのステップS310は、図23において行制御情報を列制御情報に置換した処理に置き換わる。ただし、列制御情報に基づいたポリシー関数を生成するプロビジョニングの処理である図17に示すフローチャートでは、図23におけるステップS606の処理は行わない。   In the fourth embodiment, step S310 in the flowchart shown in FIG. 17 which is a provisioning process for generating a policy function based on the column control information is replaced with a process in which the row control information is replaced with the column control information in FIG. . However, in the flowchart shown in FIG. 17 which is the provisioning process for generating the policy function based on the column control information, the process of step S606 in FIG. 23 is not performed.

実施の形態4では、階層構造を持つ属性情報の値に基づく制御について説明した。実施の形態4に示した方法により、一旦プロビジョニングを行うと、人事異動などで所属など階層構造を持つユーザ属性の値が階層を越えて変更になっても、属性管理サーバ200の管理するユーザ属性の値を変更するだけでデータベース装置400の制御に使用する属性値の変更が反映される。そのため、データアクセスプログラムやデータオブジェクトの設定を変更する必要がない。データオブジェクトへアクセスする場合の処理は、ユーザ属性値のコンテキスト受渡装置への設定のみである。データオブジェクトへアクセスする場合に、ユーザのデータアクセスプログラムを解釈し、書き換えたりする必要がない。そのため、実施の形態4に示したアクセス制御システム1000によれば、データオブジェクトへアクセスする場合に、処理が複雑とならず、データアクセスプログラムの性能が低下することもない。   In the fourth embodiment, the control based on the value of attribute information having a hierarchical structure has been described. Once provisioning is performed by the method described in the fourth embodiment, even if the value of a user attribute having a hierarchical structure such as affiliation changes due to personnel changes or the like, the user attribute managed by the attribute management server 200 is changed. The change of the attribute value used for the control of the database apparatus 400 is reflected only by changing the value of. Therefore, it is not necessary to change the settings of the data access program and the data object. The process for accessing the data object is only the setting of the user attribute value to the context delivery device. When accessing a data object, there is no need to interpret and rewrite the user's data access program. Therefore, according to the access control system 1000 shown in the fourth embodiment, when the data object is accessed, the processing is not complicated and the performance of the data access program is not deteriorated.

実施の形態5.
上述した実施の形態では、データベース装置400が管理記憶するデータオブジェクトへのアクセス制御について説明した。しかし、データベース装置400が管理記憶するデータオブジェクトの不正利用などからの保護を徹底するためには、データオブジェクトに対してのデータアクセスプログラムによる検索結果を保存した結果ファイルについても、データオブジェクトと同様のアクセス制御を行う必要がある。実施の形態5では、データオブジェクトに対してのデータアクセスプログラムによる検索結果を保存した結果ファイルのアクセス制御について説明する。
Embodiment 5. FIG.
In the above-described embodiment, the access control to the data object managed and stored by the database apparatus 400 has been described. However, in order to thoroughly protect data objects managed and stored by the database device 400 from unauthorized use, the result file that stores the search result of the data access program for the data object is the same as that of the data object. Access control needs to be performed. In the fifth embodiment, access control of a result file storing a search result by a data access program for a data object will be described.

図24は、実施の形態5にかかるアクセス制御システム1000の機能ブロック図である。図24に示すアクセス制御システム1000の機能ブロック図について、図1に示すアクセス制御システム1000の機能ブロック図との相違点のみを説明する。
データベース装置400は、さらに、結果出力部480と関数付加部490とを備える。結果出力部480は、実行部470がデータアクセスプログラムを実行し、データオブジェクトにアクセスした結果を記憶する結果ファイルを出力する。関数付加部490は、結果出力部480が出力した結果ファイルに、ポリシー関数を付加する。
FIG. 24 is a functional block diagram of the access control system 1000 according to the fifth embodiment. Only the differences between the functional block diagram of the access control system 1000 shown in FIG. 24 and the functional block diagram of the access control system 1000 shown in FIG. 1 will be described.
The database device 400 further includes a result output unit 480 and a function addition unit 490. The result output unit 480 outputs a result file that stores the result of accessing the data object by executing the data access program by the execution unit 470. The function addition unit 490 adds a policy function to the result file output by the result output unit 480.

データベース装置400は、ポリシー関数が付加された結果ファイルへアクセスする場合にも、データオブジェクトへのアクセスと同様にポリシー関数によるアクセス制御を行う。つまり、結果ファイルに対してアクセスする場合のアクセス制御の処理は、実行するポリシー関数がポリシー関数記憶部440に記憶されたものでなく、結果ファイルに付加されたものであることを除き、実施の形態1に示したデータオブジェクトへのアクセス実行の処理と同様である。つまり、結果ファイルに付加されたポリシー関数により参照を許可されたユーザのみ、結果ファイルを参照することができる。   Even when accessing the result file to which the policy function is added, the database device 400 performs access control by the policy function in the same manner as the access to the data object. That is, the access control process when accessing the result file is performed except that the policy function to be executed is not stored in the policy function storage unit 440 but is added to the result file. This is the same as the access execution process to the data object shown in the first embodiment. That is, only a user who is permitted to refer to the policy function added to the result file can refer to the result file.

結果ファイルに対してもポリシー関数によるアクセス制御を行うことで、データオブジェクトに対してのデータアクセスプログラムによる検索結果を保存した結果ファイルについても、データベース装置400が管理記憶するデータオブジェクトへのアクセス制御と同様のアクセス制御が可能である。
また、結果ファイルを暗号化するなどの方法で併せて保護することも可能である。
By performing access control by the policy function for the result file, access control to the data object managed and stored by the database apparatus 400 can be performed for the result file storing the search result by the data access program for the data object. Similar access control is possible.
It is also possible to protect the result file by a method such as encryption.

図25は、実施の形態1におけるアクセス制御システム1000の外観の一例を示す図である。
図25において、アクセス制御システム1000は、サーバ910、CRT(Cathode Ray Tube)表示装置901、キーボード(K/B)902、マウス903、コンパクトディスク装置(CDD)905、データベース908、システムユニット909を備え、これらはケーブルで接続されている。
さらに、アクセス制御システム1000は、ローカルエリアネットワーク(LAN)942、ゲートウェイ941を介してインターネット940に接続されている。
上述した実施の形態において、「業務サーバ100」、「属性管理サーバ200」、「DBアクセス制御装置300」などは、例えば、サーバ910である。また、「データベース装置400」、「〜記憶部」として説明するものは、例えば、データベース908である。また、「管理者10」、「ユーザ20」などは、例えば、システムユニット909を使用して業務サーバ100やDBアクセス制御装置300へ指示をする。
FIG. 25 is a diagram illustrating an example of an appearance of the access control system 1000 according to the first embodiment.
25, the access control system 1000 includes a server 910, a CRT (Cathode Ray Tube) display device 901, a keyboard (K / B) 902, a mouse 903, a compact disk device (CDD) 905, a database 908, and a system unit 909. These are connected by cables.
Further, the access control system 1000 is connected to the Internet 940 via a local area network (LAN) 942 and a gateway 941.
In the embodiment described above, the “business server 100”, “attribute management server 200”, “DB access control device 300”, and the like are, for example, the server 910. Also, what is described as “database device 400” and “˜storage unit” is, for example, a database 908. In addition, the “manager 10”, the “user 20”, and the like, for example, give an instruction to the business server 100 and the DB access control apparatus 300 using the system unit 909.

図26は、実施の形態1におけるアクセス制御システム1000の備えるサーバ910、データベース908、システムユニット909などのハードウェア構成の一例を示す図である。
図26において、サーバ910、データベース908、システムユニット909などは、プログラムを実行するCPU(Central Processing Unit)911を備えている。CPU911は、バス912を介してROM913、RAM914、通信ボード915、CRT表示装置901、K/B902、マウス903、FDD(Flexible Disk Drive)904、磁気ディスク装置920、CDD905、プリンタ装置906、スキャナ装置907と接続されている。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部120の一例である。
通信ボード915は、FAX機932、電話器931、LAN942、無線アンテナ943等に接続されている。
例えば、通信ボード915、K/B902、スキャナ装置907、FDD904などは、入力部の一例である。
また、例えば、通信ボード915、CRT表示装置901などは、出力部の一例である。
FIG. 26 is a diagram illustrating an example of a hardware configuration of the server 910, the database 908, the system unit 909, and the like included in the access control system 1000 according to the first embodiment.
In FIG. 26, a server 910, a database 908, a system unit 909, and the like include a CPU (Central Processing Unit) 911 that executes a program. The CPU 911 includes a ROM 913, a RAM 914, a communication board 915, a CRT display device 901, a K / B 902, a mouse 903, an FDD (Flexible Disk Drive) 904, a magnetic disk device 920, a CDD 905, a printer device 906, and a scanner device 907 via a bus 912. Connected with.
The RAM 914 is an example of a volatile memory. The ROM 913, the FDD 904, the CDD 905, and the magnetic disk device 920 are examples of nonvolatile memories. These are examples of the storage device or the storage unit 120.
The communication board 915 is connected to a FAX machine 932, a telephone 931, a LAN 942, a wireless antenna 943, and the like.
For example, the communication board 915, the K / B 902, the scanner device 907, the FDD 904, and the like are examples of the input unit.
Further, for example, the communication board 915, the CRT display device 901, and the like are examples of the output unit.

ここで、通信ボード915は、LAN942に限らず、直接、インターネット940、或いはISDN等のWAN(ワイドエリアネットワーク)に接続されていても構わない。直接、インターネット940、或いはISDN等のWANに接続されている場合、アクセス制御システム1000は、インターネット940、或いはISDN等のWANに接続され、ゲートウェイ941は不用となる。
磁気ディスク装置920には、オペレーティングシステム(OS)921、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923は、CPU911、OS921、ウィンドウシステム922により実行される。
Here, the communication board 915 is not limited to the LAN 942 but may be directly connected to the Internet 940 or a WAN (Wide Area Network) such as ISDN. When directly connected to a WAN such as the Internet 940 or ISDN, the access control system 1000 is connected to a WAN such as the Internet 940 or ISDN, and the gateway 941 is unnecessary.
The magnetic disk device 920 stores an operating system (OS) 921, a window system 922, a program group 923, and a file group 924. The program group 923 is executed by the CPU 911, the OS 921, and the window system 922.

上記プログラム群923には、上述した実施の形態の説明において「〜部」として説明した機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
ファイル群924には、上述した実施の形態の説明において、「〜の判定」として説明したものが、「〜ファイル」として記憶されている。
また、上述した実施の形態の説明において説明したフローチャートの矢印の部分は主としてデータの入出力を示し、そのデータの入出力のためにデータは、磁気ディスク装置920、FD(Flexible Disk)、光ディスク、CD(コンパクトディスク)、MD(ミニディスク)、DVD(Digital Versatile Disk)等のその他の記録媒体に記録される。あるいは、信号線やその他の伝送媒体により伝送される。
The program group 923 stores a program for executing the function described as “˜unit” in the description of the above-described embodiment. The program is read and executed by the CPU 911.
In the file group 924, what has been described as “determination” in the description of the above-described embodiment is stored as “˜file”.
In addition, the arrow portion of the flowchart described in the description of the above-described embodiment mainly indicates data input / output, and for the data input / output, the data includes a magnetic disk device 920, an FD (Flexible Disk), an optical disk, It is recorded on other recording media such as CD (compact disc), MD (mini disc), DVD (Digital Versatile Disk). Alternatively, it is transmitted through a signal line or other transmission medium.

また、上述した実施の形態の説明において「〜部」として説明したものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、ハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。   In addition, what has been described as the “˜unit” in the description of the above-described embodiment may be realized by firmware stored in the ROM 913. Alternatively, it may be implemented by software alone, hardware alone, a combination of software and hardware, or a combination of firmware.

また、上述した実施の形態を実施するプログラムは、また、磁気ディスク装置920、FD(Flexible Disk)、光ディスク、CD(コンパクトディスク)、MD(ミニディスク)、DVD(Digital Versatile Disk)等のその他の記録媒体による記録装置を用いて記憶されても構わない。   In addition, programs for implementing the above-described embodiments are also other disk drives such as a magnetic disk device 920, an FD (Flexible Disk), an optical disk, a CD (Compact Disk), an MD (Mini Disk), a DVD (Digital Versatile Disk), and the like. You may memorize | store using the recording device by a recording medium.

実施の形態1にかかるアクセス制御システム1000の機能を示す機能ブロック図である。FIG. 3 is a functional block diagram showing functions of an access control system 1000 according to the first embodiment. 属性情報記憶部210が記憶する属性情報の一例である。It is an example of the attribute information which the attribute information storage part 210 memorize | stores. データベース装置400が管理記憶するデータオブジェクトの一例である売上表600である。It is a sales table 600 which is an example of a data object managed and stored by the database device 400. 管理者10によって定義された行制御情報の一例である。It is an example of the line control information defined by the administrator. 行制御情報を拡張し、制御条件の論理和を記述できるようにした一例である。This is an example in which the row control information is extended so that the logical sum of the control conditions can be described. 図4に示す行制御情報に基づいて生成したポリシー関数の一例を示した図である。FIG. 5 is a diagram illustrating an example of a policy function generated based on the row control information illustrated in FIG. 4. 表とポリシー関数とを関連付けするコマンドの一例である。It is an example of the command which links | relates a table | surface and a policy function. 図7に示すコマンドに表とポリシー関数を割り当てした一例である。It is an example which allocated the table | surface and the policy function to the command shown in FIG. DBアクセス制御管理部350がプロビジョニングを行う動作を示すフローチャートである。It is a flowchart which shows the operation | movement which DB access control management part 350 performs provisioning. 業務サーバ100が発行するデータアクセスプログラムとしてSQLプログラムを用いた場合の一例である。This is an example when an SQL program is used as a data access program issued by the business server 100. 業務サーバ100が図10に示すデータアクセスプログラムを発行した場合の、制御条件付加部460によって制御条件を付加されたデータアクセスプログラムである。This is a data access program to which the control condition is added by the control condition adding unit 460 when the business server 100 issues the data access program shown in FIG. 業務サーバ100が図10に示すデータアクセスプログラムを発行した場合の、制御条件付加部460によって制御条件を付加されたデータアクセスプログラムである。This is a data access program to which the control condition is added by the control condition adding unit 460 when the business server 100 issues the data access program shown in FIG. データオブジェクトへアクセスする処理のシーケンスを示した図である。It is the figure which showed the sequence of the process which accesses a data object. 定義情報記憶部220が記憶する列制御情報の一例である。4 is an example of column control information stored in a definition information storage unit 220. 列制御情報に基づく制御を実現するポリシー関数の一例である。It is an example of the policy function which implement | achieves control based on column control information. ポリシー関数を表の列に関連付けてポリシー関数記憶部440に登録するコマンドの一例を示す。An example of a command for associating a policy function with a table column and registering it in the policy function storage unit 440 is shown. 列制御情報に基づく制御を行う場合のプロビジョニングを行う動作を示すフローチャートである。It is a flowchart which shows the operation | movement which performs provisioning in the case of performing control based on column control information. 行の制御と列の制御とを組合せた制御を実現するポリシー関数である。This is a policy function that realizes control combining row control and column control. 行の制御と列の制御とを組合せた制御を行う場合のプロビジョニングを行う動作を示すフローチャートである。It is a flowchart which shows the operation | movement which performs provisioning in the case of performing control combining row control and column control. 図19におけるステップS405とステップS406の動作を詳細化したフローチャートである。FIG. 20 is a flowchart detailing the operations in steps S405 and S406 in FIG. 列制御情報に基づいて生成したポリシー関数の一例である。It is an example of the policy function produced | generated based on column control information. 行制御情報に基づいて生成したポリシー関数の一例である。It is an example of the policy function produced | generated based on line control information. 階層構造を持つ属性情報の値に基づくプロビジョニングの処理を行う動作を示すフローチャートである。It is a flowchart which shows the operation | movement which performs the process of provisioning based on the value of attribute information with a hierarchical structure. 実施の形態5にかかるアクセス制御システム1000の機能ブロック図である。FIG. 10 is a functional block diagram of an access control system 1000 according to a fifth embodiment. 実施の形態1におけるアクセス制御システム1000の外観の一例を示す図である。1 is a diagram illustrating an example of an appearance of an access control system 1000 according to Embodiment 1. FIG. 実施の形態1におけるアクセス制御システム1000のハードウェア構成の一例を示す図である。2 is a diagram illustrating an example of a hardware configuration of an access control system 1000 according to Embodiment 1. FIG.

符号の説明Explanation of symbols

100 業務サーバ、1000 アクセス制御システム、200 属性管理サーバ、210 属性情報記憶部、220 定義情報記憶部、300 DBアクセス制御装置、310 DBアクセス制御実行部、320 属性取得部、330 属性記憶部、340 属性送信部、350 DBアクセス制御管理部、360 制御情報取得部、370 制御情報記憶部、380 関数生成部、390 関数制御部、400 データベース装置、410 プログラム受信部、420 属性受信部、430 コンテキスト記憶部、440 ポリシー関数記憶部、450 関数実行部、460 制御条件付加部、470 実行部、480 結果出力部、490 関数付加部、600 売上表、601 月、602 売上、603 部門、610 売上表の行制御情報、611 コード、612 表名、613 列名、614 ユーザ属性、615 演算条件、626 条件a、627 条件b、630 売上表の列制御情報、631 列名、632 データ型、633 条件、901 CRT表示装置、902 K/B、903 マウス、904 FDD、905 CDD、908 データベース、909 システムユニット、911 CPU、912 バス、913 ROM、914 RAM、915 通信ボード、920 磁気ディスク装置、921 OS、922 ウィンドウシステム、923 プログラム群、924 ファイル群、931 電話器、932 FAX機、940 インターネット、941 ゲートウェイ、942 LAN。   100 business server, 1000 access control system, 200 attribute management server, 210 attribute information storage unit, 220 definition information storage unit, 300 DB access control device, 310 DB access control execution unit, 320 attribute acquisition unit, 330 attribute storage unit, 340 Attribute transmission unit, 350 DB access control management unit, 360 control information acquisition unit, 370 control information storage unit, 380 function generation unit, 390 function control unit, 400 database device, 410 program reception unit, 420 attribute reception unit, 430 context storage Part, 440 policy function storage part, 450 function execution part, 460 control condition addition part, 470 execution part, 480 result output part, 490 function addition part, 600 sales table, 601 month, 602 sales, 603 department, 610 sales table Line control information, 611 612 Table name, 613 Column name, 614 User attribute, 615 Calculation condition, 626 Condition a, 627 Condition b, 630 Sales table column control information, 631 Column name, 632 Data type, 633 Condition, 901 CRT display device 902 K / B, 903 mouse, 904 FDD, 905 CDD, 908 database, 909 system unit, 911 CPU, 912 bus, 913 ROM, 914 RAM, 915 communication board, 920 magnetic disk unit, 921 OS, 922 window system, 923 program group, 924 file group, 931 telephone, 932 FAX machine, 940 Internet, 941 gateway, 942 LAN.

Claims (15)

業務サーバに関する属性情報を管理記憶する属性管理サーバと、上記属性管理サーバから属性情報を取得するDBアクセス制御装置とに、ネットワークを介して接続され、データオブジェクトを管理するDB(データベース)装置において、
業務サーバがデータオブジェクトへアクセスする場合、DBアクセス制御装置が上記属性管理サーバから取得した上記業務サーバに関する属性情報をDBアクセス制御装置から取得して記憶するコンテキスト記憶部と、
属性情報を埋め込んだ制御条件を返値とする、データオブジェクトに関連付けられたポリシー関数を記憶するポリシー関数記憶部と、
上記業務サーバがデータオブジェクトへアクセスするために発行したデータアクセスプログラムを受信するプログラム受信部と、
上記プログラム受信部がデータアクセスプログラムを受信した場合、上記コンテキスト記憶部が記憶した属性情報を入力して、上記ポリシー関数記憶部が記憶したポリシー関数を実行して属性情報を埋め込んだ制御条件を返値として出力する関数実行部と、
上記関数実行部が出力したポリシー関数の返値である制御条件を取得し、制御条件を上記データアクセスプログラムに付加する制御条件付加部と、
上記制御条件付加部が制御条件を付加したアクセスプログラムを実行することによりデータオブジェクトへアクセスする実行部と
を備えることを特徴とするデータベース装置。
In a DB (database) device that is connected via a network to an attribute management server that manages and stores attribute information related to a business server and a DB access control device that acquires attribute information from the attribute management server, and manages data objects.
When the business server accesses a data object, a context storage unit that acquires and stores attribute information about the business server acquired from the attribute management server by the DB access control device, and
A policy function storage unit for storing a policy function associated with a data object, the return value of which is a control condition in which attribute information is embedded;
A program receiving unit that receives a data access program issued by the business server to access a data object;
When the program receiving unit receives the data access program, the attribute information stored in the context storage unit is input, the policy function stored in the policy function storage unit is executed, and the control condition in which the attribute information is embedded is returned. A function execution unit that outputs as a value;
A control condition adding unit that obtains a control condition that is a return value of the policy function output by the function execution unit and adds the control condition to the data access program;
A database apparatus, comprising: an execution unit that accesses a data object by executing an access program to which the control condition is added.
上記属性管理サーバは、データオブジェクトへアクセスする業務サーバを使用するユーザに関するユーザ属性情報を上記属性情報として管理記憶し、
上記コンテキスト記憶部は、上記ユーザ属性情報を属性情報として記憶する
ことを特徴とする請求項1記載のデータベース装置。
The attribute management server manages and stores user attribute information related to a user who uses a business server accessing a data object as the attribute information.
The database apparatus according to claim 1, wherein the context storage unit stores the user attribute information as attribute information.
上記ポリシー関数記憶部は、データオブジェクトの属性に関連付けられたポリシー関数を記憶する
ことを特徴とする請求項1記載のデータベース装置。
The database apparatus according to claim 1, wherein the policy function storage unit stores a policy function associated with an attribute of a data object.
上記データベース装置は、さらに、
データオブジェクトへアクセスされた場合に結果ファイルを出力する結果出力部と、
上記結果出力部が出力した結果ファイルに上記ポリシー関数を付加する関数付加部とを備え、
上記コンテキスト記憶部は、業務サーバが結果ファイルへアクセスする場合、DBアクセス制御装置が上記属性管理サーバから取得した上記業務サーバに関する属性情報をDBアクセス制御装置から取得して記憶し、
上記プログラム受信部は、上記業務サーバが結果ファイルへアクセスするために発行したデータアクセスプログラムを受信し、
上記関数実行部は、上記プログラム受信部がデータアクセスプログラムを受信した場合、上記コンテキスト記憶部が記憶した属性情報を入力して、上記関数付加部が結果ファイルに付加したポリシー関数を実行して属性情報を埋め込んだ制御条件を返値として出力し、
上記制御条件付加部は、上記関数実行部が出力したポリシー関数の返値である制御条件を取得し、制御条件を上記データアクセスプログラムに付加し、
上記実行部は、上記制御条件付加部が制御条件を付加したアクセスプログラムを実行することにより結果ファイルへアクセスする
ことを特徴とする請求項1記載のデータベース装置。
The database device further includes:
A result output unit that outputs a result file when a data object is accessed;
A function addition unit for adding the policy function to the result file output by the result output unit;
When the business server accesses the result file, the context storage unit acquires the attribute information about the business server acquired from the attribute management server by the DB access control device from the DB access control device and stores the attribute information.
The program receiving unit receives a data access program issued by the business server to access the result file,
When the program receiving unit receives the data access program, the function executing unit inputs the attribute information stored in the context storage unit, executes the policy function added to the result file by the function adding unit, and sets the attribute Output the control condition with embedded information as a return value,
The control condition adding unit acquires a control condition that is a return value of the policy function output from the function executing unit, adds the control condition to the data access program,
The database apparatus according to claim 1, wherein the execution unit accesses the result file by executing an access program to which the control condition is added by the control condition adding unit.
属性情報を管理する属性管理サーバとネットワークを介して接続されるDB(データベース)装置が管理するデータオブジェクトへのアクセスを制御するDBアクセス制御装置において、
データオブジェクトのレコードに対して設定されたアクセス制御情報を取得する制御情報取得部と、
上記制御情報取得部が取得したアクセス制御情報を記憶する制御情報記憶部と、
上記制御情報記憶部が記憶したアクセス制御情報に基づき、上記属性管理サーバが管理する属性情報を入力し、上記属性情報を埋め込んだ制御条件を返値とするポリシー関数を生成する関数生成部と、
上記関数生成部が生成したポリシー関数をデータオブジェクトに関連付けし、DBに記憶させる関数制御部と
を備えることを特徴とするDBアクセス制御装置。
In a DB access control apparatus that controls access to a data object managed by a DB (database) apparatus connected to an attribute management server that manages attribute information via a network,
A control information acquisition unit for acquiring access control information set for the record of the data object;
A control information storage unit for storing the access control information acquired by the control information acquisition unit;
Based on the access control information stored in the control information storage unit, a function generation unit that inputs attribute information managed by the attribute management server and generates a policy function that returns a control condition in which the attribute information is embedded;
A DB access control apparatus comprising: a function control unit that associates a policy function generated by the function generation unit with a data object and stores the policy function in a DB.
制御情報取得部は、データオブジェクトのレコードを構成するフィールドに対して設定されたアクセス制御情報を取得し、
上記関数制御部は、上記関数生成部が生成したポリシー関数をデータオブジェクトの属性に対して関連付けし、DBに記憶させる
ことを特徴とする請求項5記載のDBアクセス制御装置。
The control information acquisition unit acquires access control information set for the fields constituting the record of the data object,
6. The DB access control apparatus according to claim 5, wherein the function control unit associates the policy function generated by the function generation unit with the attribute of the data object and stores the policy function in the DB.
上記関数生成部は、上記属性管理サーバが管理する属性情報が階層構造を持つ場合、入力された属性情報に対して下位の属性情報を埋め込んだ制御条件を返値とするポリシー関数を生成する
ことを特徴とする請求項5記載のDBアクセス制御装置。
When the attribute information managed by the attribute management server has a hierarchical structure, the function generation unit generates a policy function that returns a control condition in which lower attribute information is embedded in the input attribute information. 6. The DB access control device according to claim 5.
上記関数生成部は、上記属性管理サーバが管理する属性情報に基づいてアクセスを認容するかを判定し、アクセスを認容する場合、常にアクセスを許可する制御条件を返値とするポリシー関数を生成する
ことを特徴とする請求項5記載のDBアクセス制御装置。
The function generation unit determines whether to permit access based on the attribute information managed by the attribute management server. When the access is permitted, the function generation unit generates a policy function that always returns a control condition permitting access. 6. The DB access control apparatus according to claim 5, wherein
上記関数生成部は、上記属性管理サーバが管理する属性情報に基づいてアクセスを認容するかを判定し、アクセスを認容しない場合、常にアクセスを許可しない制御条件を返値とするポリシー関数を生成する
ことを特徴とする請求項5記載のDBアクセス制御装置。
The function generation unit determines whether to permit access based on the attribute information managed by the attribute management server. If the access is not permitted, the function generation unit generates a policy function that always returns a control condition that does not permit access. 6. The DB access control apparatus according to claim 5, wherein
業務サーバに関する属性情報を管理記憶する属性管理サーバと、データオブジェクトを管理するDB(データベース)装置と、上記データベース装置が管理するデータオブジェクトへの業務サーバのデータアクセスプログラムによるアクセスを制御するDBアクセス制御装置とがネットワークを介して接続されるアクセス制御システムにおいて、
上記DBアクセス制御装置は、
業務サーバがデータオブジェクトへアクセスする場合、上記属性管理サーバから上記業務サーバに関する属性情報を取得する属性取得部と、
上記属性取得部が取得した属性情報を記憶する属性記憶部と、
上記属性記憶部が記憶した属性情報を上記データベース装置へ送信する属性送信部とを備え、
上記データベース装置は、
上記属性送信部が送信した属性情報を受信する属性受信部と、
上記属性受信部が受信した属性情報を記憶するコンテキスト記憶部と、
属性情報を入力し、上記属性情報を埋め込んだ制御条件を返値とする、データオブジェクトに関連付けられたポリシー関数を記憶するポリシー関数記憶部と、
上記業務サーバがデータオブジェクトへアクセスするために発行したデータアクセスプログラムを受信するプログラム受信部と、
上記プログラム受信部がデータアクセスプログラムを受信した場合、上記コンテキスト記憶部が記憶した属性情報を入力して、上記ポリシー関数記憶部が記憶したポリシー関数を実行して属性情報を埋め込んだ制御条件を返値として出力する関数実行部と、
上記関数実行部が出力したポリシー関数の返値である制御条件を取得し、制御条件を上記データアクセスプログラムに付加する制御条件付加部と、
上記制御条件付加部が制御条件を付加したアクセスプログラムを実行することによりデータオブジェクトへアクセスする実行部と
を備えることを特徴とするアクセス制御システム。
An attribute management server that manages and stores attribute information related to the business server, a DB (database) device that manages data objects, and a DB access control that controls access by the business server data access program to the data objects managed by the database device In an access control system in which devices are connected via a network,
The DB access control device
When the business server accesses the data object, an attribute acquisition unit that acquires attribute information about the business server from the attribute management server;
An attribute storage unit for storing attribute information acquired by the attribute acquisition unit;
An attribute transmission unit that transmits the attribute information stored in the attribute storage unit to the database device;
The database device is
An attribute receiver that receives the attribute information transmitted by the attribute transmitter;
A context storage unit for storing attribute information received by the attribute reception unit;
A policy function storage unit for storing a policy function associated with a data object, which is input with attribute information and returns a control condition in which the attribute information is embedded;
A program receiving unit that receives a data access program issued by the business server to access a data object;
When the program receiving unit receives the data access program, the attribute information stored in the context storage unit is input, the policy function stored in the policy function storage unit is executed, and the control condition in which the attribute information is embedded is returned. A function execution unit that outputs as a value;
A control condition adding unit that obtains a control condition that is a return value of the policy function output by the function execution unit and adds the control condition to the data access program;
An access control system comprising: an execution unit that accesses a data object by executing an access program to which the control condition is added.
上記DBアクセス制御装置は、さらに、
データオブジェクトのレコードに対して設定されたアクセス制御情報を取得する制御情報取得部と、
上記制御情報取得部が取得したアクセス制御情報を記憶する制御情報記憶部と、
上記制御情報記憶部が記憶したアクセス制御情報に基づき、上記属性管理サーバが管理する属性情報を入力し、上記属性情報を埋め込んだ制御条件を返値とするポリシー関数を生成する関数生成部と、
上記関数生成部が生成したポリシー関数をデータオブジェクトに関連付けする関数制御部とを備え、
上記ポリシー関数記憶部は、上記関数制御部がデータオブジェクトに関連付けしたポリシー関数を記憶する
ことを特徴とする請求項10記載のアクセス制御システム。
The DB access control device further includes:
A control information acquisition unit for acquiring access control information set for the record of the data object;
A control information storage unit for storing the access control information acquired by the control information acquisition unit;
Based on the access control information stored in the control information storage unit, a function generation unit that inputs attribute information managed by the attribute management server and generates a policy function that returns a control condition in which the attribute information is embedded;
A function control unit that associates the policy function generated by the function generation unit with a data object;
11. The access control system according to claim 10, wherein the policy function storage unit stores a policy function associated with the data object by the function control unit.
業務サーバに関する属性情報を管理記憶する属性管理サーバと、上記属性管理サーバから属性情報を取得するDBアクセス制御装置とに、ネットワークを介して接続され、データオブジェクトを管理するDB(データベース)装置のアクセス制御方法において、
業務サーバがデータオブジェクトへアクセスする場合、DBアクセス制御装置が上記属性管理サーバから取得した上記業務サーバに関する属性情報をDBアクセス制御装置から取得してコンテキスト記憶部に記憶するコンテキスト記憶ステップと、
属性情報を埋め込んだ制御条件を返値とする、データオブジェクトに関連付けられたポリシー関数をポリシー関数記憶部に記憶するポリシー関数記憶ステップと、
上記業務サーバがデータオブジェクトへアクセスするために発行したデータアクセスプログラムを受信するプログラム受信ステップと、
上記プログラム受信ステップでデータアクセスプログラムを受信した場合、上記コンテキスト記憶ステップで上記コンテキスト記憶部に記憶した属性情報を入力して、上記ポリシー関数記憶ステップで上記ポリシー関数記憶部に記憶したポリシー関数を実行して属性情報を埋め込んだ制御条件を返値として出力する関数実行ステップと、
上記関数実行ステップで出力したポリシー関数の返値である制御条件を取得し、制御条件を上記データアクセスプログラムに付加する制御条件付加ステップと、
上記制御条件付加ステップで制御条件を付加したアクセスプログラムを実行することによりデータオブジェクトへアクセスする実行ステップと
を備えることを特徴とするアクセス制御方法。
Access of a DB (database) device that is connected via a network to an attribute management server that manages and stores attribute information related to a business server and a DB access control device that acquires attribute information from the attribute management server and manages data objects In the control method,
When the business server accesses the data object, a context storage step in which the DB access control apparatus acquires attribute information about the business server acquired from the attribute management server from the DB access control apparatus and stores it in the context storage unit;
A policy function storage step of storing a policy function associated with a data object in a policy function storage unit, wherein the return value is a control condition in which attribute information is embedded;
A program receiving step for receiving a data access program issued by the business server to access a data object;
When the data access program is received in the program reception step, the attribute information stored in the context storage unit in the context storage step is input, and the policy function stored in the policy function storage unit is executed in the policy function storage step And a function execution step for outputting a control condition in which attribute information is embedded as a return value,
A control condition adding step of acquiring a control condition that is a return value of the policy function output in the function executing step and adding the control condition to the data access program;
An access control method comprising: an execution step of accessing a data object by executing an access program to which a control condition is added in the control condition addition step.
業務サーバに関する属性情報を管理記憶する属性管理サーバと、上記属性管理サーバから属性情報を取得するDBアクセス制御装置とに、ネットワークを介して接続され、データオブジェクトを管理するDB(データベース)装置で動作するアクセス制御プログラムにおいて、
業務サーバがデータオブジェクトへアクセスする場合、DBアクセス制御装置が上記属性管理サーバから取得した上記業務サーバに関する属性情報をDBアクセス制御装置から取得してコンテキスト記憶部に記憶するコンテキスト記憶ステップと、
属性情報を埋め込んだ制御条件を返値とする、データオブジェクトに関連付けられたポリシー関数をポリシー関数記憶部に記憶するポリシー関数記憶ステップと、
上記業務サーバがデータオブジェクトへアクセスするために発行したデータアクセスプログラムを受信するプログラム受信ステップと、
上記プログラム受信ステップでデータアクセスプログラムを受信した場合、上記コンテキスト記憶ステップで上記コンテキスト記憶部に記憶した属性情報を入力して、上記ポリシー関数記憶ステップで上記ポリシー関数記憶部に記憶したポリシー関数を実行して属性情報を埋め込んだ制御条件を返値として出力する関数実行ステップと、
上記関数実行ステップで出力したポリシー関数の返値である制御条件を取得し、制御条件を上記データアクセスプログラムに付加する制御条件付加ステップと、
上記制御条件付加ステップで制御条件を付加したアクセスプログラムを実行することによりデータオブジェクトへアクセスする実行ステップと
をコンピュータに実行させることを特徴とするアクセス制御プログラム。
Connected via a network to an attribute management server that manages and stores attribute information related to business servers and a DB access control device that acquires attribute information from the attribute management server, and operates on a DB (database) device that manages data objects In the access control program to
When the business server accesses the data object, a context storage step in which the DB access control apparatus acquires attribute information about the business server acquired from the attribute management server from the DB access control apparatus and stores it in the context storage unit;
A policy function storage step of storing a policy function associated with a data object in a policy function storage unit, wherein the return value is a control condition in which attribute information is embedded;
A program receiving step for receiving a data access program issued by the business server to access a data object;
When the data access program is received in the program reception step, the attribute information stored in the context storage unit in the context storage step is input, and the policy function stored in the policy function storage unit is executed in the policy function storage step And a function execution step for outputting a control condition in which attribute information is embedded as a return value,
A control condition adding step of acquiring a control condition that is a return value of the policy function output in the function executing step and adding the control condition to the data access program;
An access control program causing a computer to execute an execution step of accessing a data object by executing an access program to which a control condition is added in the control condition addition step.
属性情報を管理する属性管理サーバとネットワークを介して接続されるDB(データベース)装置が管理するデータオブジェクトへのアクセスを制御するDBアクセス制御装置のアクセス制御方法において、
データオブジェクトのレコードに対して設定されたアクセス制御情報を取得する制御情報取得ステップと、
上記制御情報取得ステップで取得したアクセス制御情報を制御情報記憶部に記憶する制御情報記憶ステップと、
上記制御情報記憶ステップで上記制御情報記憶部に記憶したアクセス制御情報に基づき、上記属性管理サーバが管理する属性情報を入力し、上記属性情報を埋め込んだ制御条件を返値とするポリシー関数を生成する関数生成ステップと、
上記関数生成ステップで生成したポリシー関数をデータオブジェクトに関連付けし、DBに記憶させる関数制御ステップと
を備えることを特徴とするアクセス制御方法。
In an access control method of a DB access control device that controls access to a data object managed by a DB (database) device connected to an attribute management server that manages attribute information via a network,
A control information acquisition step for acquiring access control information set for the record of the data object;
A control information storage step of storing the access control information acquired in the control information acquisition step in a control information storage unit;
Based on the access control information stored in the control information storage unit in the control information storage step, the attribute information managed by the attribute management server is input, and a policy function is generated that returns the control condition in which the attribute information is embedded. Function generation step,
A function control step of associating the policy function generated in the function generation step with a data object and storing the policy function in a DB.
属性情報を管理する属性管理サーバとネットワークを介して接続されるDB(データベース)装置が管理するデータオブジェクトへのアクセスを制御するDBアクセス制御装置で動作するアクセス制御プログラムにおいて、
データオブジェクトのレコードに対して設定されたアクセス制御情報を取得する制御情報取得ステップと、
上記制御情報取得ステップで取得したアクセス制御情報を制御情報記憶部に記憶する制御情報記憶ステップと、
上記制御情報記憶ステップで上記制御情報記憶部に記憶したアクセス制御情報に基づき、上記属性管理サーバが管理する属性情報を入力し、上記属性情報を埋め込んだ制御条件を返値とするポリシー関数を生成する関数生成ステップと、
上記関数生成ステップで生成したポリシー関数をデータオブジェクトに関連付けし、DBに記憶させる関数制御ステップと
をコンピュータに実行させることを特徴とするアクセス制御プログラム。
In an access control program that operates on a DB access control device that controls access to a data object managed by a DB (database) device connected to an attribute management server that manages attribute information via a network,
A control information acquisition step for acquiring access control information set for the record of the data object;
A control information storage step of storing the access control information acquired in the control information acquisition step in a control information storage unit;
Based on the access control information stored in the control information storage unit in the control information storage step, the attribute information managed by the attribute management server is input, and a policy function is generated that returns the control condition in which the attribute information is embedded. Function generation step,
An access control program that causes a computer to execute a function control step of associating a policy function generated in the function generation step with a data object and storing it in a DB.
JP2005199746A 2005-07-08 2005-07-08 Database apparatus, DB access control apparatus, access control system, access control method, and access control program Pending JP2007018309A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005199746A JP2007018309A (en) 2005-07-08 2005-07-08 Database apparatus, DB access control apparatus, access control system, access control method, and access control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005199746A JP2007018309A (en) 2005-07-08 2005-07-08 Database apparatus, DB access control apparatus, access control system, access control method, and access control program

Publications (1)

Publication Number Publication Date
JP2007018309A true JP2007018309A (en) 2007-01-25

Family

ID=37755425

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005199746A Pending JP2007018309A (en) 2005-07-08 2005-07-08 Database apparatus, DB access control apparatus, access control system, access control method, and access control program

Country Status (1)

Country Link
JP (1) JP2007018309A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013533525A (en) * 2010-04-30 2013-08-22 インターナショナル・ビジネス・マシーンズ・コーポレーション Method, system, and computer program for centralized control of database applications
US8639707B2 (en) 2009-12-22 2014-01-28 International Business Machines Corporation Retrieval device, retrieval system, retrieval method, and computer program for retrieving a document file stored in a storage device
US11899668B2 (en) 2013-08-12 2024-02-13 International Business Machines Corporation Database management apparatus, database control method and program

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8639707B2 (en) 2009-12-22 2014-01-28 International Business Machines Corporation Retrieval device, retrieval system, retrieval method, and computer program for retrieving a document file stored in a storage device
JP2013533525A (en) * 2010-04-30 2013-08-22 インターナショナル・ビジネス・マシーンズ・コーポレーション Method, system, and computer program for centralized control of database applications
US9129000B2 (en) 2010-04-30 2015-09-08 International Business Machines Corporation Method and system for centralized control of database applications
US9679017B2 (en) 2010-04-30 2017-06-13 International Business Machines Corporation Method and system for centralized control of database applications
US10360211B2 (en) 2010-04-30 2019-07-23 International Business Machines Corporation Method and system for centralized control of database applications
US11899668B2 (en) 2013-08-12 2024-02-13 International Business Machines Corporation Database management apparatus, database control method and program

Similar Documents

Publication Publication Date Title
US6601071B1 (en) Method and system for business to business data interchange using XML
RU2546322C2 (en) Cooperation capability enhancement using external data
US7895176B2 (en) Entry group tags
US6606627B1 (en) Techniques for managing resources for multiple exclusive groups
JP5710851B2 (en) System and method for impact analysis
JP2001056810A (en) Database access system
JP2002032246A (en) Directory information managing device directory information managing method and computer readable recording medium in which program is recorded
JP2001344245A (en) Information processing device
US7363328B2 (en) Method and system for modifying schema definitions
JP2003006194A (en) Database access control system
US20220075810A1 (en) Method and apparatus for the conversion and display of data
JP2000163303A (en) Directory data conversion method, storage medium storing directory data conversion program, and directory conversion server
JP4445941B2 (en) Customer database management device and customer database management program
US20120310918A1 (en) Unique join data caching method
CN112889039B (en) Identification of records for post-cloning tenant identifier conversion
JP2017199075A (en) Business process management system, client, server, and business process management method
US20120330923A1 (en) Value-based positioning for outer join queries
JPH08185349A (en) Data security equipment
US7330853B2 (en) Attribute value selection for entity objects
JP2007018309A (en) Database apparatus, DB access control apparatus, access control system, access control method, and access control program
US20140280385A1 (en) Hierarchical intersections
US20060037062A1 (en) Method, system and program product for securing resources in a distributed system
JP2009110241A (en) Electronic file management device
JP2007279839A (en) Database management system and table association method for relational database
JP7418238B2 (en) Information processing device, information processing method, and program