JP2005258591A - データベースアクセス制御システム - Google Patents
データベースアクセス制御システム Download PDFInfo
- Publication number
- JP2005258591A JP2005258591A JP2004066219A JP2004066219A JP2005258591A JP 2005258591 A JP2005258591 A JP 2005258591A JP 2004066219 A JP2004066219 A JP 2004066219A JP 2004066219 A JP2004066219 A JP 2004066219A JP 2005258591 A JP2005258591 A JP 2005258591A
- Authority
- JP
- Japan
- Prior art keywords
- access
- database
- user
- access control
- client
- 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.)
- Withdrawn
Links
Images
Landscapes
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】 少ない管理工数でアクセス権の設定を可能にする。
【解決手段】 サーバは、アクセスユーザ情報に応じて各テーブル及びビューを構成する列及びレコード単位で設定されたアクセス権に関するアクセス制御情報を保持するアクセス制御情報保持手段と、処理要求したユーザのアクセスユーザ情報に基づいて、前記データベース管理手段に対するデータベースアクセス実行文を生成する実行文生成手段と、生成されたデータベースアクセス実行文を実行して前記データベースにアクセスするデータベース管理手段と、前記データベース管理手段による前記データベースへのアクセス結果をクライアントへ返却する処理結果返却手段と、を有し、クライアントからのアクセス要求に応じて、各テーブル及びビューを構成する列及びレコード単位でユーザの役割に応じたアクセス権を設定可能とした。
【選択図】 図1
【解決手段】 サーバは、アクセスユーザ情報に応じて各テーブル及びビューを構成する列及びレコード単位で設定されたアクセス権に関するアクセス制御情報を保持するアクセス制御情報保持手段と、処理要求したユーザのアクセスユーザ情報に基づいて、前記データベース管理手段に対するデータベースアクセス実行文を生成する実行文生成手段と、生成されたデータベースアクセス実行文を実行して前記データベースにアクセスするデータベース管理手段と、前記データベース管理手段による前記データベースへのアクセス結果をクライアントへ返却する処理結果返却手段と、を有し、クライアントからのアクセス要求に応じて、各テーブル及びビューを構成する列及びレコード単位でユーザの役割に応じたアクセス権を設定可能とした。
【選択図】 図1
Description
本発明は、特にユーザの会社組織における属性情報に応じた処理を効率的に実行可能なデータベースアクセス制御システムに関する。
一般に、会社の基幹業務を担うデータベースは、多くのテーブルやビューで構成されている。そして、そのような会社の基幹業務におけるデータベースに対してデータ入力や入力データの承認、あるいは決裁といった操作を行う場合、例えば部長や課長などのような会社組織に基づく役割に応じ、アクセス可能なデータの範囲を制限する必要がある。
ここで、従来のデータベースアクセス制御システムにおいては、各ユーザ対応のビューを個別に定義し、そのビューに対するアクセス権限を設定している。しかし、上述のように各ユーザ対応のビューを個別に定義し、そのビューに対するアクセス権限を設定したデータベースアクセス制御システムにおいては、各ユーザ対応のビュー定義を数多く設定しなければならないため、設定したビュー定義の管理およびアクセス権の設定・保守に多くの工数を必要とするといった不都合な点があった。
そこで、上述のように個別にビュー定義を設定する代わりにユーザ別にアクセス権を設定することにより、ビューの設定・管理およびアクセス権の設定・保守にかかる工数を減らすことを可能とするものとして、例えば下記特許文献1に記載の方法がある。この方法は、ユーザ毎に設定されたアクセス権に従って、要求ユーザのアクセス可能なテーブルおよび列の情報がユーザ操作のマシン(クライアント)に送られ、そのクライアントマシン内でSQL文を構成してデータベースにアクセスを行うものである。またこの方法は、データウェアハウスに蓄積された変更されないデータをユーザが特別に参照するのに対応したものである。
また、このような方法の他に、組織構成を考慮したアクセス制御方法として、下記特許文献2に記載のものもある。下記特許文献2には、利用者が属する組織に関する組織情報を格納した認証書を発行すると共に、アプリケーションに、所属または役職に対して許可される権限を定義するアクセス管理情報を用意しておき、アプリケーション利用時には、利用者から送られてくる認証書に格納された利用者の組織情報に基づき、上記アクセス管理情報を参照して、当該利用者に関する所属・組織構成を考慮したアクセス制御を実行するアクセス制御方法が説明されている。
特開2003−6194号公報
特開平11−338825号公報
しかしながら、上記特許文献1に記載のデータベースアクセス制御システムによれば、ユーザがアクセス可能なテーブル、レコード、列情報を一旦クライアントマシンに送るオーバーヘッドが発生してしまうといった問題点がある。また、この特許文献1に記載の技術ではユーザ毎に個別にアクセス権の設定を行う必要があるため、アクセス権の設定に工数がかかるという問題点もある。
また、上記特許文献2に記載のアクセス制御方法では、各利用者に発行する認証書を管理・発行するための認証サーバがアプリケーションサーバとは別個に設けられていることから、全社的に統一した権限付与の管理には適しているといえるが、部署内で個別に役割(権限)設定を可能にするという点について考慮されていない。また、上記特許文献2に記載のアクセス制御方法では、アクセス制御する情報の単位がファイルまたはテーブルであり、データベースの列単位のアクセス制御まで考慮されていない。
本発明の目的は、アクセス可能であるテーブルや列などの情報をクライアントに送るオーバーヘッドを発生させることなく、また、ユーザ個別のビューを設定することもなく、少ない管理工数でアクセス権の設定を可能にするデータベースアクセス制御システムを提供することにある。
上記目的を達成するために、本発明のデータベースアクセス制御システムは、複数のテーブル及びビューが蓄積されたデータベースを備え、クライアントからのユーザのアクセス要求に応じて当該ユーザのアクセス権に従い前記データベースへアクセスするサーバを有し、前記サーバは、アクセスユーザ情報に応じて各テーブル及びビューを構成する列及びレコード単位で設定されたアクセス権に関するアクセス制御情報を保持するアクセス制御情報保持手段と、処理要求したユーザのアクセスユーザ情報に基づいて、前記データベース管理手段に対するデータベースアクセス実行文を生成する実行文生成手段と、生成されたデータベースアクセス実行文を実行して前記データベースにアクセスするデータベース管理手段と、前記データベース管理手段による前記データベースへのアクセス結果をクライアントへ返却する処理結果返却手段と、を有し、クライアントからのアクセス要求に応じて、各テーブル及びビューを構成する列及びレコード単位でユーザの役割に応じたアクセス権を設定可能とした。
本発明によれば、特別な認証サーバを設けることなくアクセス制御情報をアプリケーションサーバ、またはデータベースサーバマシン内で処理でき、サーバマシンとクライアントマシンとの間で認証書やアクセス制御情報の授受を行う必要がなくなるとともに、要求処理種別およびアクセスするデータベースのテーブルおよび列単位のアクセス制御を、会社組織情報と組み合わせて容易に設定することが可能となる。
以下、本発明の一実施形態について、図面を参照して説明する。ここで、図1は本発明のデータベースアクセス制御システムのシステム構成図である。
本発明のデータベースアクセス制御システムでは、例えばインターネット等のネットワークを用いる等して、サーバマシン101とクライアントマシン102との間でデータの送受信が可能となるように構成されている。以下、サーバマシン101とクライアントマシン102の構成および動作について説明する。
前記クライアントマシン102には、サーバマシン101内のデータベース111に対して各種のアクセス要求を行うためのプログラムである処理1〜処理nが予めインストールされている。
また、前記サーバマシン101は、各種テーブルおよび各種ビューが格納されたデータベース111と、前記データベース111の入出力を管理するデータベース管理システム(以下、DBMSという)110と、クライアントマシン102から要求される各処理に対応するサーバ側の処理部1SP〜nSP104と、各処理部1SP〜nSP104からの要求によってDBMS110に対するSQL文の生成と処理結果返却処理を共通的に行うSQL生成/結果返却部105と、アクセス権限テーブル106と、処理役割テーブル107と、選択条件テーブル108と、選択条件修飾テーブル109とから構成されている。そして、このサーバマシン101では、次のような処理動作が行われる。
まず、前記クライアントマシン102から各処理(例えば、図1中の処理n103)を実行すると、前記クライアントマシン102の処理nに対応するサーバ101側の処理nSP104が、各処理で共通のプロシジャであるSQL文生成/結果返却部105に、アクセスユーザ情報として氏名番号、所属、職位の各データと、アクセス先のテーブル名およびビュー名、アクセスを行う列情報およびテーブルやビューにおけるレコードの選択条件や順序条件を渡すように動作する。
次に、前記SQL文生成/結果返却部105は、渡されたアクセスユーザ情報を用い、処理要求したユーザの役割(入力者、または承認者)を前記処理役割テーブル107から求めるとともにアクセス権限テーブル106からアクセス可能なテーブルおよびビューの列情報を取得し、SQL文の列リスト部分を設定する。
また、アクセス対象のテーブルおよびビューのレコードについては、選択条件テーブル108および選択条件修飾テーブル109を用いて、アクセス可能なレコードの選択条件のSQL文を生成し、処理nSP104から渡された選択条件に追加し、順序条件などと合わせてアクセス権に応じたSQL文を生成し、DBMS110へ渡しデータベース111へのアクセスを行う。そして、その結果をSQL文生成/結果返却部105が受け取ることとなる。
そして、このSQL文生成/結果返却部105は、受け取った実行結果を処理nSP104に戻し、処理nSP104は、戻された実行結果を使って演算を行い、その結果をクライアントマシン102の処理n103に戻す。
また、サーバマシン101内に格納されている各種テーブルの構成について、図2及び図3を参照して以下説明する。図2は、選択条件テーブル108と選択条件修飾テーブル109の一例を示すものであり、図3は、処理役割テーブル107とアクセス権限テーブル106の一例を示すものである。
前記選択条件テーブル108は、アクセス制御を行うテーブルおよびビュー情報を格納するテーブル/ビュー名列201と、そのテーブル/ビューに対してアクセスを行うSQLに追加する選択条件式の定義情報を格納する選択条件式列202とを有している。
また、前記選択条件修飾テーブル109は、選択条件テーブルの選択条件式列202に格納された’%%’で囲まれた文字列(修飾詞と称する)を格納する修飾詞列203と、その修飾詞を置き換える値式を格納する値式列204と、を有している。尚、この選択条件式202に格納されるアクセスを行うSQLに追加する選択条件式内の’%%’で囲まれた文字列(例えば、%所属%)は、選択条件修飾テーブル109内に定義された値式(<所属値を返却するDBMS定義関数>)で置き換えられて選択条件を生成し、処理から渡された選択条件に追加するものである。
また、前記処理役割テーブル107は、業務処理を特定する情報を格納する処理列301、所属情報を格納する所属列302、割当てられる役割を格納する役割列303、および役割を満たすための条件を格納する条件列304を有している。そして、前記SQL文生成/結果返却部105は、渡されたアクセスユーザ情報の氏名番号、職位を使い、条件列304を評価して、アクセスユーザに割当てる役割(入力者、承認者、決裁者等)を求めるようになっている。
また、前記アクセス権限テーブル106は、アクセス制限を行うテーブル/ビューを定義する情報を格納するテーブル/ビュー名列305、列名列306、業務処理列307、アクセスを許可するユーザの所属を規定する所属列308、処理役割テーブルで割当てられた役割に対応する役割列309、および、当該テーブル/ビューに許可するアクセス種別(参照、更新、削除、属性変更)を4桁の数値桁位置に割当て、各桁について「0」(不許可)、「1」(許可)の値で定義するアクセス権限列310を有している。
尚、アクセス権限の値が‘0000’はアクセス権限なしを示し、‘1000’は参照のみアクセス可を示すものとする。よって、図3のアクセス権限テーブルにおいて、1行目のアクセス権限=‘0000’は、「入力者A」は当該処理nを実行できるが当該列Col1のデータについては参照不可を定義した状態を示し、2行目のアクセス権限=‘1000’は、1行目と同じ「入力者A」であっても当該列Col2のデータについては参照可を定義した状態を示すものである。また同様に、1行目のアクセス権限も2行目のアクセス権限も‘1000’であることから、当該処理nを「入力者B」については、当該列Col1及び列Col2のデータについては参照可を定義した状態を示すものである。さらに、「承認者C」については‘1111’であることから、参照、更新、削除、属性変更の全ての処理が可能であることが定義されている。
そして、上記構成の処理役割テーブル107を用いて、アクセスユーザに対して業務処理別に割当てられた役割を参照し、その役割に基づいて、アクセス権限テーブル106を用いて、アクセス先のテーブルおよびビューの列に対するアクセス権限を得るようになっている。
以上のように構成されたデータベースアクセス制御システムのSQL文生成/結果返却部105における処理手順を、図4を参照して詳細に説明する。図4は、本実施形態に係るデータベースアクセス制御システムのSQL文生成/結果返却部105の処理手順を示すフローチャートである。
まず、要求元の処理名およびアクセスユーザ情報として氏名番号、所属、職位の各データを取得し(401)、続けて、処理役割テーブル107から要求元の処理に対応するアクセスユーザ別の役割を取得する(402)。さらに、アクセス権限テーブル106から要求元の処理に応じたアクセスユーザ別の各列に対してのアクセス権情報を取得する(403)。こうして各データを取得後、アクセス権のない列の有無を判断し(404)、アクセス権限がない列が存在し、且つ要求元の処理が参照だけでない場合(405)には、「アクセス権限なし」メッセージを要求元の業務処理対応のプロシジャに戻して処理を終了する。また、このとき要求元の処理が参照(SELECT)だけの場合には、DBMS110へ要求するSQL文からアクセス権限のない列を除外する(406)。そして、処理対象テーブルおよびビューに対して、選択条件テーブル108および選択条件修飾テーブル109から渡された選択条件に追加する選択条件を求め(408)、渡された選択条件にand接続して追加してアクセス対象のレコードの制限を行う(409)。
こうして生成したSQL文をDBMS110に対して発行し、その実行結果を要求元の業務処理対応のプロシジャに返却し(410)、SQL文生成/結果返却部105の処理動作を終了する。
尚、本実施形態では、SQL文生成/結果返却部105において前記データベース管理システムに対するSQL文の生成処理と、処理結果の返却処理とを共通的に行うようにしているが、各処理を個別に行うような構成としても良い。例えば、前記SQL文生成/結果返却部105に替えて、SQL文の生成処理を行うSQL文生成手段と、処理結果の返却処理を行う処理結果返却手段とを別個に設けても良い。
また、処理役割テーブル107で定義される会社組織におけるユーザの役割は、ユーザ個人を静的に既定するものではないので、異動などが発生した場合、ユーザ別に役割を割当て直す必要が軽減され、アクセス権の設定に要する工数を軽減できる。
さらに、人事情報データベースと連携することにより、会社組織に則った役割を自動的に付与する拡張も行うことができる。
101…サーバマシン
102…クライアントマシン
103…処理n(プログラム)
104…処理nSP
105…SQL文生成/結果返却部
106…アクセス権限テーブル
107…処理役割テーブル
108…選択条件テーブル
109…選択条件修飾テーブル
110…DBMS
111…データベース
102…クライアントマシン
103…処理n(プログラム)
104…処理nSP
105…SQL文生成/結果返却部
106…アクセス権限テーブル
107…処理役割テーブル
108…選択条件テーブル
109…選択条件修飾テーブル
110…DBMS
111…データベース
Claims (1)
- 複数のテーブル及びビューが蓄積されたデータベースを備え、クライアントからのユーザのアクセス要求に応じて当該ユーザのアクセス権に従い前記データベースへアクセスするサーバを有し、
前記サーバは、アクセスユーザ情報に応じて各テーブル及びビューを構成する列及びレコード単位で設定されたアクセス権に関するアクセス制御情報を保持するアクセス制御情報保持手段と、処理要求したユーザのアクセスユーザ情報に基づいて、前記データベース管理手段に対するデータベースアクセス実行文を生成する実行文生成手段と、生成されたデータベースアクセス実行文を実行して前記データベースにアクセスするデータベース管理手段と、前記データベース管理手段による前記データベースへのアクセス結果をクライアントへ返却する処理結果返却手段と、を有し、
クライアントからのアクセス要求に応じて、各テーブル及びビューを構成する列及びレコード単位でユーザの役割に応じたアクセス権を設定可能とすることを特徴とするデータベースアクセス制御システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004066219A JP2005258591A (ja) | 2004-03-09 | 2004-03-09 | データベースアクセス制御システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004066219A JP2005258591A (ja) | 2004-03-09 | 2004-03-09 | データベースアクセス制御システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005258591A true JP2005258591A (ja) | 2005-09-22 |
Family
ID=35084269
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004066219A Withdrawn JP2005258591A (ja) | 2004-03-09 | 2004-03-09 | データベースアクセス制御システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005258591A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007061580A1 (en) * | 2005-11-22 | 2007-05-31 | Microsoft Corporation | Security and data filtering |
JP2008065809A (ja) * | 2006-08-11 | 2008-03-21 | Ricoh Co Ltd | 情報処理装置、情報取得方法および情報取得プログラム |
CN105095792A (zh) * | 2015-08-12 | 2015-11-25 | 浪潮(北京)电子信息产业有限公司 | 一种基于多用户权限的存储资源管理方法及系统 |
JP2020530614A (ja) * | 2017-08-07 | 2020-10-22 | 成都牽牛草信息技術有限公司Chengdu Qianniucao Information Technology Co., Ltd. | 列値に基づいて統計列表操作権限をそれぞれ承認する方法 |
CN112464212A (zh) * | 2020-03-30 | 2021-03-09 | 上海汇招信息技术有限公司 | 基于成熟复杂业务系统的数据权限控制改造方法 |
-
2004
- 2004-03-09 JP JP2004066219A patent/JP2005258591A/ja not_active Withdrawn
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007061580A1 (en) * | 2005-11-22 | 2007-05-31 | Microsoft Corporation | Security and data filtering |
JP2008065809A (ja) * | 2006-08-11 | 2008-03-21 | Ricoh Co Ltd | 情報処理装置、情報取得方法および情報取得プログラム |
CN105095792A (zh) * | 2015-08-12 | 2015-11-25 | 浪潮(北京)电子信息产业有限公司 | 一种基于多用户权限的存储资源管理方法及系统 |
CN105095792B (zh) * | 2015-08-12 | 2018-05-25 | 浪潮(北京)电子信息产业有限公司 | 一种基于多用户权限的存储资源管理方法及系统 |
JP2020530614A (ja) * | 2017-08-07 | 2020-10-22 | 成都牽牛草信息技術有限公司Chengdu Qianniucao Information Technology Co., Ltd. | 列値に基づいて統計列表操作権限をそれぞれ承認する方法 |
JP7231911B2 (ja) | 2017-08-07 | 2023-03-02 | 成都牽牛草信息技術有限公司 | 列値に基づいて統計一覧の操作権限をそれぞれ承認する方法 |
CN112464212A (zh) * | 2020-03-30 | 2021-03-09 | 上海汇招信息技术有限公司 | 基于成熟复杂业务系统的数据权限控制改造方法 |
CN112464212B (zh) * | 2020-03-30 | 2023-02-10 | 上海汇招信息技术有限公司 | 基于成熟复杂业务系统的数据权限控制改造方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11128465B2 (en) | Zero-knowledge identity verification in a distributed computing system | |
US11082226B2 (en) | Zero-knowledge identity verification in a distributed computing system | |
CN103377336B (zh) | 一种计算机系统用户权限的控制方法和系统 | |
US7340447B2 (en) | Partitioning data access requests | |
US7904487B2 (en) | Translating data access requests | |
JP4856627B2 (ja) | 部分的クエリーキャッシング | |
US7882132B2 (en) | Support for RDBMS in LDAP system | |
US7979463B2 (en) | Database system and method for access control and workflow routing | |
US7617211B2 (en) | System and method for automatically synchronizing security-relevant information between a relational database and a multidimensional database | |
US9430665B2 (en) | Dynamic authorization to features and data in JAVA-based enterprise applications | |
KR20200018665A (ko) | 기준 필드에 의거하여 승인 절차를 설정하는 방법 | |
CN103927353A (zh) | 用于生成业务表的方法和设备 | |
US20090210421A1 (en) | Access control decision method and system | |
JP2003006194A (ja) | データベースアクセス制御システム | |
CN103136621B (zh) | 工程送审表单的审核流程的在线管理方法 | |
US9063995B2 (en) | Access control list (ACL) generation for replicated data | |
JP4292342B2 (ja) | 電子承認システムにおける承認ルート決定方法及びプログラム | |
JP2017199075A (ja) | 業務プロセス管理システム、クライアント、サーバおよび業務プロセス管理方法 | |
US9946885B2 (en) | Process-oriented modeling and flow to restrict access to objects | |
JP2005258591A (ja) | データベースアクセス制御システム | |
JP5012900B2 (ja) | 更新管理システム | |
US9305066B2 (en) | System and method for remote data harmonization | |
JP2006260074A (ja) | Cadデータ管理装置 | |
JP2007018309A (ja) | データベース装置およびdbアクセス制御装置およびアクセス制御システムおよびアクセス制御方法およびアクセス制御プログラム | |
JP2005285008A (ja) | データセキュリティ管理システム、プログラム、データセキュリティ管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20070605 |