説明

データベースへのアクセスを制御するための方法及び装置

【課題】データベース内のデータへのアクセスを制御するための方法及び装置を提供する。
【解決手段】データベースの少なくとも一部を形成して形成されたデータベース(33)のデータの少なくともいくつかが保安タグと関係するようにし、使用者識別名とそれに関係する使用者タグとの記憶構造(35)を形成し、使用者タグとそれに関係する保安タグとの記憶構造(34)を形成し、使用者タグとそれに関係する保安タグとの記憶構造(34)から該使用者識別名の使用者タグに適した保安タグを判断して該保安タグと関係して形成されたデータベース(33)のデータへのアクセスを認可することにより、少なくともデータのサブセットに対して該使用者識別名をマップすることで成る。

【発明の詳細な説明】
【技術分野】
【0001】
この発明はデータベースへのアクセスを制御するための方法及び装置に関する。
【背景技術】
【0002】
データベースシステムでは、多数の使用者(ユーザ)がシステムと対話をしてデータベースを利用することができるようにするのが普通である。このようなシステムはマルチ・ユーザシステムと呼ばれる。このようなシステムで問題が生ずるのはデータベースがある意味で敏感な情報もしくはデータを含む場合で、換言すれば、ある特定の使用者もしくは使用者の特定のクラス(級)の会員だけが情報もしくはデータを得られる場合である。このような場合、セキュリティ(保安)政策が実行されて、使用者のクラスに使用できるデータを制限するようにする。
【0003】
複数の使用者を支えるデータベース管理システムの一例はORACLE(登録商標)(Oracle社の登録商標)である。ORACLEはリレーショナル(関連付けされた)データベース管理システムである。リレーショナルデータベースでは唯1つの型式のデータ構造が存在し、これがデータの行と列の二次元構造であるテーブル(表)となっている。ストラクチャード・クェリィ・ランゲージ(SQL:構造をもつ照会言語)がサブルーチン(procedural:手続き)によらない方法でデータベース内のデータにアクセスするために使用される。
【0004】
データベース管理システム上で保安政策を実行する方法はたくさんある。例えば、1つの方法では、使用者の各クラスに中央データベース内に保持されているデータの一部である自分達のコピーを備え、これにはそのグループがアクセスするのに適したデータがコピーされている。この方法はレプリカ方法と呼ばれ、少なくともいくつかのデータが複数のコピー内に存在することになるためにデータが写しをとられることからこの名が付けられている。このような方法はメモリの使用という見地からは非常に効率が悪いことは明らかである。さらに、もしデータの1つのコピーの使用者が何らかの方法で、例えば特定のグループの使用者が値を更新することにより変更されるときは、他のグループにより保持されているそのデータの多数の別なコピーが更新されなければならなくなる。これは時間のかかることであり、システムが管理される方法が非常に正確で、例えばシステムが破壊した場合には一様な状態でデータを維持することを確実としなければならない。
【発明の開示】
【0005】
この発明はデータベース内のデータに対する使用者によるアクセスを制御するための方法を提供するものであり、その構成は、データベースの少なくとも一部を形成して形成されたデータベースのデータの少なくともいくつかが保安タグと関係するようにし;使用者の識別名とそれに関係する使用者タグとの記憶構造を形成し;使用者タグとそれに関係する保安タグの記憶構造を形成し;使用者タグとそれに関係する保安タグの記憶構造から使用者識別名の使用者タグに適した保安タグ(単数又は複数)を判断しかつ該保安タグと関係して形成されたデータベースからのデータのアクセスを認可することにより、少なくともデータのサブセットに対して使用者識別名をマップすることで成る。
【0006】
使用者タグと保安タグとの記憶構造を用意することにより、データベースの再形成や使用者名称と関係する使用者タグの変更を必要とせずに、記憶構造内の値の修正のみにより保安政策の変更が可能となる。保安タグというのは、関係するデータが保安分類といった特定の属性(アトリビュート)をもっていることを示すデータエントリィのことを意味する。それは数字、文字又は他のデータエントリィ(見出し項目)であってよい。例えば、木の形態、記録、セット(組)、テーブル(表)、あるいは他の記憶(格納)構造を指す。
【0007】
この発明の第2の特徴によると、使用者によるデータベースへのアクセス制御のための方法が提供されており、その構成は、データとそれに関係する保安タグとのデータベースを創製し;識別名と識別名タグとの第1の記憶構造を創製し;識別子タグとそれに関係する保安タグとの第2の記憶構造を創製し;第1の記憶構造から関係する識別名タグを判断し、かつ第2の記憶構造から判断した識別名に適した少なくとも1つの保安タグを判断してデータベースから保安タグに関係するデータを選択することにより、少なくとも1つの識別名に適したデータベースに対する概要(ビュー)を創製し;ものとしている。
【0008】
概要(ビュー)というのは、必要に応じて使用者により取扱い可能なデータのサブセット(副次の組)を意味する。SQL内では、概要は使用者用に創製でき、ユーザ(使用者)がデータ内で操作を実行できるようにする。概要を定義するときにSQLチェック・オプションを用意することによって、概要は保安状態として作られる。すなわち、使用者によってデータに対して作られた代替物はチェック・オプションが満足されない限りはデータベースに書き戻されない。このことは、使用者がデータベース内のデータに書込みアクセスをもつことがないが、データを読出すことと自分の使用のためだけにデータを処理することが許されているという場合にとくに有用である。
【0009】
この発明にしたがって動作するシステムは使用者により共用されるデータの1つのコピーだけがあるようにしなければならず、これによって既知のレプリカ方法に関係する少なくともいくつかの問題を回避する。この問題は例えば記憶メモリの非効率性とか余分なデータ管理や処理時間の必要性といった問題である。
【0010】
データベースの全部を保安のために形成する必要があるというのではないことに留意されたい。公開されてすべての使用者に開かれている部分があってもよい。
【0011】
使用者識別名と使用者タグとの記憶構造と、使用者タグと保安タグとの記憶構造とは、少なくともある使用者が記憶構造の全部分にアクセスができないように形成できる。こうして、排除された使用者はどんな保安の度合を自分が備えているかを判断することが妨げられるのでシステムが透明さであるかのように考えられる。つまり、使用者は保安政策に気付かず、アクセスが中央データベースのあるところに対して拒否されていると信ずるに足る証拠を得ることができないということである。
【0012】
この発明の別な特徴によると、使用者によるデータベースへのアクセスを制御するための装置が提供されている。その構成は:データベースの少なくとも一部を形成して、形成されたデータベースのデータの少なくともいくつかを保安タグと関係するように形成するための手段と;使用者識別名とそれに関係する使用者タグとの記憶構造を形成するための手段と;使用者タグとそれに関係する保安タグとの記憶構造を形成するための手段と;使用者タグとそれに関係する保安タグとの記憶構造から、使用者識別名の使用者タグに適した保安タグ(単数又は複数)を判断して、保安タグ(単数又は複数)に関係する形成したデータベースからのデータへ使用者がアクセスすることを認可することにより、データの少なくとも1つのサブセットに対する使用者識別名をマップするための手段とから成る。
【0013】
この装置又は方法は雇用者記録とか電気通信網上の情報といった他の情報へのアクセスのために使用できる。この種の情報は網管理者(マネージャ)による電気通信網の形成に使用できる。この装置はまた、網管理機能とデータベース保安機能との両方を組合わせるために形成することができる。
【0014】
この発明の特定の実施例を例としての目的で図面を参照して説明していく。
【発明を実施するための最良の形態】
【0015】
図1について、データベースシステム1はDEC Micro VAXのようなよく知られた型式のメインフレーム計算機2を含む多数の素子が多数の使用者端末3,4,5に接続されて成り、各端末はIBM PCのようなよく知られた型式のマイクロコンピュータで構成されている。接続はよく知られた同軸ケーブル6でされ、システム1の素子間の通信はよく知られた通信プロトコル、例えば伝送制御プロトコル/インターネットプロトコル(TCP/IP)によって行われている。
【0016】
使用者端末3,4,5は名目上同一である。各々はマイクロプロセッサ(μP)3a,4a,5a;メモリ3b,4b,5b;入力/出力装置(I/O)3c,4c,5c;バッファ3d,4d,5d;ビジュアル表示ユニット(VDU)3e,4e,5e;及びキーボード3f,4f,5fを備える。
【0017】
すぐ分かるように、メモリ3b,4b,5bはランダムアクセスメモリ、読出し専用メモリ、もしくはその両方の組合わせの形態をとることができる。メモリは半導体チップもしくはディスク(光又は磁気)としての固体形式又はこれらの形式の組合わせでよい。
【0018】
形態はいずれであっても、メモリには多数の記憶位置があり、そこには特定のメモリが関係するマイクロプロセッサ3a,4a,5aの動作を支配する命令が含まれることになる。マイクロプロセッサ3a,4a,5aはメモリにアクセスして命令を取得する。端末の動作を支配するためのプログラムは多数の記憶位置に置かれた1組の命令としてメモリの内部に保持される。命令はヘキサデシマル(16進法)数の形態をとることになる。
【0019】
メモリはよく知られた方法でデータバスによりマイクロプロセッサとリンクされている。データバスはまた端末の他の要素とマイクロプロセッサとをリンクする。入力/出力(I/O)装置3c,4c,5cは端末とシステム内の他の計算機との間のインターフェースとして動作する。
【0020】
各端末のキーボードとVDUとは、既知の方法でバッハを介して端末のマイクロプロセッサと対話をする。集合して、これらのものがシステム及びシステムとの対話を望んでいる使用者との間のインターフェースを提供する。
【0021】
メインフレーム計算機2はプロセッサ2a、メモリ2b、入力/出力(I/O)装置2c、周辺バッファ2dと関係するVDU2e、及びキーボード2fを有している。こうしてメインフレーム計算機2は使用者端末3,4,5と同じ形態のものとなっている。主な違いはメモリ2bの記憶容量が使用者端末のメモリのそれよりもはるかに大きいことである。データベースシステムの管理者はキーボード2fとVDU2eとを用いてシステムにアクセスできる。
【0022】
端末3,4,5とメインフレーム計算機2とは、同軸ケーブル6によって相互接続され、同軸ケーブル6は端末の入力/出力装置3c,4c,5cとメインフレームの入力/出力装置2cとの間に延びている。前に述べたように、TCP/IPと呼ばれるプロトコルがシステム1の要素間の通信用に使用されている。
【0023】
メモリ2bは情報のデータベースを含む。この情報には使用者がその端末からアクセスすることができる。しかし、各使用者が情報にアクセスを許されている程度は使用者で異なる。システム管理者はすべてのデータベースにアクセスできる。
【0024】
システムは1組のデータベース勘定口座(アカウント)を提供するのもとして図2に示すように考えることができる。管理者は管理者勘定(アカウント)21をもち、使用者は使用者勘定(アカウント)22,23,24をもっている。この場合、使用者の名前がブラウン(Brown)、スミス(Smith)、ジョーンズ(Jones)であり、勘定もそのように名付けられている。
【0025】
メモリ2bはデータベースと共にプロセッサ2aを制御するためのプログラム、とくにデータベースが各使用者によりアクセスされる方法を保持している。したがって、ソフトウェアの制御下でプロセッサ2aはデータベースエンジンとして動作する。
【0026】
図3に示すように、スミス、ブラウン、及びジョーンズはデータベースエンジン31に要求を入力することができ、エンジンは要求されたとおりデータベース32にアクセスしてその要求を処理する。データベースエンジン31は次に照会している使用者への応答を出力する。これらの要求は同軸ケーブル6を介した伝送により伝えられる。
【0027】
データベース32は3部分に細分割され、各部分はSQLテーブルとなっている。第1の区分はテーブル33で“雇用(EMPLOY)”と呼ばれる。第2の区分はテーブル34で“保安(SECURITY)”と呼ばれ、また第3の区分はテーブル35で“使用者(USER)”と呼ばれている。データベースシステム1はオラクルSQL(登録商標)(ORACLE SQL:Oracle社の登録商標)と呼ばれるプログラム言語を利用してテーブルを設定しかつ利用する。テーブルが最初に創造される方法については後に記述する。
【0028】
“雇用”テーブル33はある会社の従業員についての情報で構成され、図4に示すように多数のデータフィールドで成る。
【0029】
データフィールドには“EMP NO”と呼ばれるデータフィールド33aがあり、そこには特定の会社の従業員に対する被雇用者参照番号が含まれている。
【0030】
“NAME”と呼ばれるデータフィールド33bがあり、そこには30文字(CHAR)以下のストリングとしてその会社の従業員の名前が含まれている。
【0031】
次のデータフィールドはデータフィールド33cで“POSITION”と呼ばれる。この“POSITION”データフィールド33cはその会社の特定の従業員の地位に関する情報、例えばその従業員が管理者であるか事務員であるか秘書であるかについての情報が含まれている。この情報もまた10文字以下のストリングとして記憶されている。
【0032】
次のデータフィールドはデータフィールド33dで、“SAL”と呼ばれる。ここには各従業員の給与が7桁の数字で表現されている。
【0033】
データフィールド33eは“DEPT”と呼ばれ、ここにはその従業員が働いている部署名が含まれている。この情報は10文字のストリングとして保管されている。
【0034】
データフィールド33fは“ROW_TAG”と呼ばれる。このデータフィールドは1文字のストリングを含み、それが属している情報の行の保安状態を示している。このフィールドは“雇用(EMPLOY)”テーブル33の特定の行に対してアクセスが許される方法にとって特に重要な意味のあるものとなっている。
【0035】
“保安(SECURITY)”テーブル34は2つのデータフィールドで成り、第1のデータフィールド34aは“ROW_TAG”と呼ばれ、第2のデータフィールド34bは“USER_TAG”と呼ばれ、図5に示すようになっている。
【0036】
“ROW_TAG”データフィールド34aは“雇用”テーブルの“ROW_TAG”データフィールド33fに保管されているのと同じ文字を含む。これは後に述べるマッピング動作を認可するもので、ここで“雇用”テーブルの行が、“保安”テーブル34の“ROW_TAG”と同じ“ROW_TAG”を有する行を選択することにより選ばれる。
【0037】
“USER_TAG”データフィールド34bは1文字データを保管する。このフィールドの機能は上述のマッピング動作を可能とすることであり、これについては後にもっと詳細に説明される。
【0038】
“保安”テーブル34は、システム保安政策がこのテーブルの中で実現されていることからその名が付けられている。このテーブルの“ROW_TAG”及び“USER_TAG”は、保安政策がこれらのタグによって支配されていることから保安タグと命名されている。保安政策はこのテーブルを修正することにより簡単に修正することができる。システムのこの特徴は後に完全に説明される。
【0039】
“使用者(USER)”テーブル35は図6に示してあり、“USER_TAG”フィールド35と“USER_NAME”フィールド35とで成る。
【0040】
“USER_TAG”フィールド35aは1文字データを保管し、そこには“保安”テーブル34の“USER_TAG”フィールド34b内に保管されているのと同じ文字が含まれる。これが、後に述べるように、前述のマッピング動作の実行を認可することになる。
【0041】
“USER_NAME”フィールド35は文字ストリングの形でシステムの使用者の名前を保管する。
【0042】
システム動作の流れ図を図7に示す。この動作の第1の段階は初期化であり、箱70で示す。この段階で、端末3,4,5はオンに切換えられ、メイン計算機2も同様にオンに切換えられ、使用のための準備がされる。
【0043】
第2の段階は、箱71に示すように、メモリ2b内にテーブルを創製する。これは、データベースエンジン31によって、SQLコマンドCREATE TABLEを用いて次のように行われる。
【0044】
“雇用”テーブル33に対しては、次のようなコマンド記述がデータベースエンジン31によって実行される。
【0045】

EMP NUMBER(4)
NAME CHAR(30),
POSITION CHAR(10),
SAL NUMBER(7),
DEPT CHAR(10),
ROW_TAG CHAR(1)
);
“保安”テーブル34はSQL CREATE TABLEコマンドを用いて次のように形成される。
【0046】
CREATE TABLE SECURITY
(ROW_TAG CHAR(1),
USER_TAG CHAR(1)
);
“使用者”テーブル35はSQL CREATE COMMANDにより次のように形成される。
【0047】
CREATE TABLE USER

USER_TAG CHAR(1),
USER_NAME CHAR(10)
);
次の段階72はテーブルがデータで占有されるものである。これは網管理者がデータベースエンジン31とSQL INSERT コマンドとを利用して、次のような方法で行われる。
例えば、Stuart Fitchett(スチュワート・フィチェット)という従業員についてのデータの行を“雇用”テーブルに挿入するためには、次のコマンドが管理者によって発せられる。
【0048】
INSERT INTO EMPLOY
VALUES(10,´Stuart Fichett´,´CLERK´,1000,´CS´,´U´);
こうして従業員番号10はFichett と呼ばれ、この男は事務員で月給が1000ポンドであり、顧客サービス部門(略称CS)に属し、かつこの情報を読出すために必要とされる保安タグは´U´であることが記録される。
【0049】
“保安”テーブル34に同様の方法でデータが入力される。例えば、データの最初の7行には次のように入力される。
【0050】
INSERT INTO SECURITY
VALUES(´U´,´A´);
INSERT INTO SECURITY
VALUES(´V,´´A´);
INSERT INTO SECURITY
VALUES(´U,´´B´);
INSERT INTO SECURITY
VALUES(´W´ ´B´);
INSERT INTO SECURITY
VALUES(´W´ ´C´);
“使用者”テーブルは同じように完成される。
【0051】
INSERT INTO USER
VALUES(´A´,´SMITH´);
INSERT INTO USER
VALUES(´B´,´JONES´);
INSERT INTO USER
VALUES(´C´,´BROWN´);
データベースエンジン31は次に、図7の箱73で示されるように、使用者の1人からデータベース32の情報への要求が来るのを待つ。
【0052】
要求が受け付けられて処理されるのが箱74で示されている。処理が完了するとシステムは要求待ち段階73に戻る。
【0053】
完成されたテーブルは図8に模式的に示されている。
ここで処理要求段階74のもっと詳細を図9を参照して記述する。この処理段階は上述のマッピング動作を利用するもので、システム1を支配する保安政策が実行される。
【0054】
第1段階はデータベースエンジン31がデータベース32内に記憶されている情報へのアクセスの要求をしている使用者を識別するためのもので、図9の箱90で示す。
【0055】
次の段階はデータベースエンジン31が“USER_TABLE”35を利用して識別された使用者に適した“USER_TAG”を得るためのものであり、図9の箱91で示す。
【0056】
さらに箱92で示した段階はデータベースエンジン31が“保安”テーブル34を利用して段階91で識別された“USER_TAG”に適した“ROW_TAG”を得るためのものである。
【0057】
最終段階は箱93で示したもので、データベースエンジン31が、“雇用”テーブル33から、データ行であってその行に関係する“ROW_TAG”が前の段階92で識別された“ROW_TAG”と整合するものを戻すためのものである。
【0058】
データベースエンジン31が要求を処理する仕方を示すために一例を用いよう。
【0059】
USER_NAME SMITHをもつ使用者(スミス)はUSER_TAG Aを割当てられており、これが“保安”テーブル34を経てROW_TAG UとROW_TAG Vとにマップされ得るようになっている。これは、SMITHがROW_TAG U又はROW_TAG Vを割当てられている“雇用”テーブル33の行へのアクセスを取得できるようにする。こうしてSMITHはテーブルEMPLOYの行ROW1,ROW2及びROW3上にマップされ、これらの行のデータを見ることができる。
さらに詳しく言えば、仮にSMITHが“雇用”テーブル33からの全ての情報にアクセスできるようにしたいとする。これをするには、SMITHはSQL SELECTコマンドであるSELECT * FROM EMPLOY;をデータベースエンジン31に送る。
【0060】
データベースエンジン31はSMITHのこのコマンド使用者に対する論拠があるものとして使用者を識別し、次にUSER_NAMEが“SMITH”である場合は次のマッピング動作を実行する。マッピング動作はデータベースエンジン31の動作を支配しているプログラム内に用意されている。
【0061】
CREATE VIEW SECURE_EMPLOY AS
SELECT EMP,
NAME,
POSITION,
SAL,
DEPT,
FROM EMPLOY
WHERE EMPLOY.ROW_TAG IN

SELECT SECURITY.ROW_TAG
FROM SECURITY
WHERE SECURITY.USER_TAG IN

SELECT USER.USER_TAG
FROM USER
WHERE USER.USER_NAME=username


これは、ROW_TAG ´U´又はROW_TAG ´V´をもつテーブル“雇用”の行、すなわちテーブル33のROW1,ROW2及びROW3を使用者SMITHに戻す。SELECTコマンドは“雇用”テーブル33の“ROW_TAG”列を含まないから、この情報は使用者に戻されず、データを支配している保安政策は使用者には判断できないことに留意したい。こうして保安政策は使用者に透明となっている。
【0062】
このシステムはBROWN及びJONESによるアクセスに対しても、データベースエンジンにより特定された使用者名論拠がBROWN又はJONESで適切であるとされると、同じように要求に応じる。
【0063】
保安政策に変更を実現しなければならない場合、例えば、以前はTAG ´U´又は´V´をもつ“雇用”テーブル33の行にアクセスしていたUSER_TAG ´A´をもつ使用者のクラスを、TAG ´U´をもつ行だけに制限しようとする場合には、網管理者が“保安”テーブル34を修正して使用者タグAに指定されている保安タグから削除すればよいだけのことである。これはSQL DELETE FROMテーブル(削除)コマンドを用いて実行することができる。すなわち:
DELETE FROM SECURITY
WHERE SECURITY.USER_TAG=´A´
AND SECURITY.ROW_TAG=´V´;
こうして、図8に示すように“保安”テーブル34の第2行が削除され、使用者SMITHから“TAG”´V´をもつ“雇用”テーブル6の第2行へのマッピング経路が除去される。
【0064】
USER_TAG´B´をもつ使用者のクラスにアクセスできる雇用テーブル33の量を拡張するために、例えばROW_TAG´V´又はROW_TAG´X´をもつ行にアクセスできるようにするためには、SQLコマンドINSERT INTO(挿入)テーブルを用いる。すなわち:
INSERT INTO SECURITY
VALUES(´V´,´B´);
INSERT INTO SECURITY
VALUES(´X´,´B´);
これにより、図8に破線で示したように、使用者テーブルから“雇用”テーブルへのさらに2つのマッピング経路が用意されることになる。
【0065】
あるデータベース保安システムでは、ある使用者のクラスによってデータベース内のデータが更新されるのを妨げることが望ましい。これをする1つの方法は“雇用”テーブル33への展望(ビュー)を創製することであり、これは、チェックオプションを用意して使用者がデータベースの一部に入力を挿入することができないようにし、この使用者がその後このデータベースから情報を消去することができないようにするという意味で保安に適っている。データの挿入又は更新は、SQL“WHERE”ステートメントが満たされているときに限り許される。例えば:
CREATE VIEW SECURE EMPLOY_2 AS
SELECT*
FROM EMPLOY
WHERE EMPLOY.ROW_TAG IN

SESLECT SECURITY.ROW_TAG
FROM SECURITY
WHERE SECURITY.USER_TAG IN

SELECT USER.USER_TAG
FROM USER
WHERE USER.USER_NAME=USERNAME


WITH CHECK OPTION
第1の記述した実施例では、データベースに含まれる情報は雇用者についてのもの、すなわち人事データベースであった。他の形式の情報も記憶できる。
【0066】
図10はこの発明によるシステム1を示し、網マネージャ内で使用される。このシステムでは、データベースは電気通信網100上の構成管理情報のような情報が含まれ、網は多数の網素子101ないし103とその素子マネージャ104ないし106とで構成される。システム1の使用者、すなわち網100の動作と制御に関係する網マネージャなどは、前述と同じやり方でデータベースのいろいろな部分にアクセスできる。
【図面の簡単な説明】
【0067】
【図1】図1はこの発明の実施例により動作するデータベースのハードウェアを模式図形式で示す。
【図2】図2はデータベースシステムによって支持されている1組のデータベース勘定口座を示す。
【図3】図3はデータベースシステムのソフトウェア概要を示す。
【図4】図4はデータベースシステムで使用されるテーブルを模式図型式で示す。
【図5】図5はデータベースシステムで使用されるテーブルを模式図型式で示す。
【図6】図6はデータベースシステムで使用されるテーブルを模式図型式で示す。
【図7】図7はデータベースシステムの動作の説明図である。
【図8】図8はデータベースシステムで実行されるマッピング動作の説明図である。
【図9】図9はマッピング動作における段階を示す別な説明図である。
【図10】図10は網管理応用で使用されているデータベースシステムを模式図で示す。
【発明の詳細な説明】
【技術分野】
【0001】
この発明はデータベースへのアクセスを制御するための方法及び装置に関する。
【背景技術】
【0002】
データベースシステムでは、多数の使用者(ユーザ)がシステムと対話をしてデータベースを利用することができるようにするのが普通である。このようなシステムはマルチ・ユーザシステムと呼ばれる。このようなシステムで問題が生ずるのは、データベースがある意味で要注意な情報もしくはデータを含む場合で、換言すれば、ある特定の使用者もしくは使用者の特定のクラス(級)の会員だけがその情報もしくはデータを得られる場合である。このような場合、セキュリティ(保安)政策が実行されて、使用者のクラスに使用できるデータを制限するようにする。
【0003】
複数の使用者を支えるデータベース管理システムの一例はORACLE(登録商標)(Oracle社の登録商標)である。ORACLEはリレーショナル(関連付けされた)データベース管理システムである。リレーショナルデータベースでは唯1つの型式のデータ構造が存在し、これがデータの行と列の二次元構造であるテーブル(表)となっている。ストラクチャード・クェリィ・ランゲージ(SQL)がサブルーチン(procedural: 手続き)によらない方法でデータベース内のデータにアクセスするために使用される。
【0004】
データベース管理システム上で保安政策を実行する方法はたくさんある。例えば、1つの方法では、使用者の各クラスに中央データベース内に保持されているデータの一部である自分達のコピーを備え、これにはそのグループがアクセスするのに適したデータがコピーされている。この方法はレプリカ方法と呼ばれ、少なくともいくつかのデータが複数のコピー内に存在することになるためにデータが写しをとられることからこの名が付けられている。このような方法はメモリの使用という見地からは非常に効率が悪いことは明らかである。さらに、もしデータの1つのコピーが何らかの方法で、例えば特定のグループの使用者が値を更新することにより変更されると、他のグループにより保持されているそのデータの多数の別なコピーが更新されなければならなくなる。これは時間のかかることであり、システムが管理される方法が非常に正確でなければならず、例えばシステムが破壊した場合は一様な状態でデータを維持することを確実としなければならない。
【0005】
EP−A−O 398 645にはオブジェクト・オリエンテッド(目的指向の)データベースへのアクセス特権制御用システムが記述されている。このシステムでは、各ユーザにはユーザ(使用者)識別素子(アイデンティティ、ID)と1組のグループIDとが指定される。各オブジェクトにはアクセスリストがあり、それがアクセス認可を与える。各アクセス制御リストには7つのユーザ(使用者)又はグループIDがある。
【発明の開示】
【0006】
この発明の1つの特徴によると、データのサブセット(副次の組)に分割された1組のデータで構成されるデータベースに対する使用者によるアクセスの方法を提供するものであり、この方法は、該データのサブセットの少なくともいくつかの中のデータの各サブセットに対して単一の保安タグを指定する段階と;使用者テーブル内の各使用者の識別子(アイデンティファイヤ)に対して使用者タグを指定する段階と;保安テーブル内の各使用者タグに対して少なくとも1つの保安タグを指定する段階と;該使用者に対する使用者タグを得るために使用者テーブルを利用する段階と;該使用者タグに対応する少なくとも1つの保安タグを得るために保安テーブルを利用する段階と;該少なくとも1つの保安タグをもつデータのサブセットのいずれかに使用者がアクセスするのを認可する段階とから構成される。
【0007】
この発明によると、保安テーブル内の値だけを変更することにより保安政策を変えることが可能であり、データベースを再構築したり使用者識別名に関連付けた使用者タグを変更したりする必要がない。保安タグは数字もしくは文字あるいは他のデータ入力でよい。
【0008】
この発明によると、データベースは使用者により共用されるデータの唯1つのコピーを有するものでなければならない。これによって既知のレプリカ方法に関連付けた問題の少なくともいくつかは回避できる。すべてのデータベースが保安のために構築される必要がないことに留意されたい。ある部分は公開され使用者に開かれている。
【0009】
この発明の別な特徴によると、データのサブセットに分けられたデータベースへの使用者のアクセスを制御するための装置が提供され、この装置は、該データのサブセットの少なくともいくつかの中のデータの各サブセットに対して単一の保安タグを指定するため手段と;使用者テーブル内の各使用者のための識別名に対して使用者タグを指定するための手段と;保安テーブル内の各使用者タグに対して少なくとも1つの保安タグを指定するための手段と;ある使用者に対して使用者タグを得るために使用者テーブルを利用するための手段と;ある使用者タグに対応する少なくとも1つの保安タグを得るために保安テーブルを利用するための手段と;少なくとも1つの保安タグをもつデータのサブセットのいずれかに使用者がアクセスするのを認可する手段とから構成される。
【発明を実施するための最良の形態】
【0010】
図1について、データベースシステム1はDEC Micro VAXのようなよく知られた型式のメインフレーム計算機2を含む多数の素子が多数の使用者端末3,4,5に接続されて成り、各端末はIBM(登録商標) PCのようなよく知られた型式のマイクロコンピュータで構成されている。接続はよく知られた同軸ケーブル6でされ、システム1の素子間の通信はよく知られた通信プロトコル、例えば伝送制御プロトコル/インターネットプロトコル(TCP/IP)によって行われている。
【0011】
使用者端末3、4、5は名目上同一である。各々はマイクロプロセッサ3a、4a、5a;メモリ3b、4b、5b;入力/出力装置(I/O)3c、4c、5c;バッファ3d、4d、5d;ビジュアル表示ユニット(VDU)3e、4e、5e;及びキーボード3f、4f、5fを備える。
【0012】
すぐ分かるように、メモリ3b、4b、5bはランダムアクセスメモリ、読出し専用メモリ、もしくはその両方の組合わせの形態をとることができる。メモリは半導体チップもしくはディスク(光又は磁気)としての固体形式又はこれらの形式の組合わせでよい。
【0013】
形態はいずれであっても、メモリには多数の記憶位置があり、そこには特定のメモリが関係するマイクロプロセッサ3a、4a、5aの動作を支配する命令が含まれることになる。マイクロプロセッサ3a、4a、5aはメモリにアクセスして命令を取得する。端末の動作を支配するためのプログラムは多数の記憶位置に置かれた1組の命令としてメモリの内部に保持される。命令はヘキサデシマル(16進法)数の形態をとることになる。
【0014】
メモリはよく知られた方法でデータバスによりマイクロプロセッサとリンクされている。データバスはまた端末の他の要素とマイクロプロセッサとをリンクする。入力/出力(I/O)装置3c、4c、5cは端末とシステム内の他の計算機との間のインターフェースとして動作する。
【0015】
各端末のキーボードとVDUとは、既知の方法でバッハを介して端末のマイクロプロセッサと対話をする。集合して、これらのものがシステム及びシステムとの対話を望んでいる使用者との間のインターフェースを提供する。
【0016】
メインフレーム計算機2はプロセッサ2a、メモリ2b、入力/出力(I/O)装置2c、周辺バッファ2dと関係するVDU2e、及びキーボード2fを有している。こうしてメインフレーム計算機2は使用者端末3,4,5と同じ形態のものとなっている。主な違いはメモリ2bの記憶容量が使用者端末のメモリのそれよりもはるかに大きいことである。データベースシステムの管理者はキーボード2fとVDU2eとを用いてシステムにアクセスできる。
【0017】
端末3、4、5とメインフレーム計算機2とは、同軸ケーブル6によって相互接続され、同軸ケーブル6は端末の入力/出力装置3c、4c、5cとメインフレームの入力/出力装置2cとの間に延びている。前に述べたように、TCP/IPと呼ばれるプロトコルがシステム1の要素間の通信用に使用されている。
【0018】
メモリ2bは情報のデータベースを含む。この情報には使用者がその端末からアクセスすることができる。しかし、各使用者が情報にアクセスを許されている程度は使用者で異なる。システム管理者はすべてのデータベースにアクセスできる。
【0019】
システムは1組のデータベース勘定口座(アカウント)を提供するのもとして図2に示すように考えることができる。管理者は管理者勘定(アカウント)21をもち、使用者は使用者勘定(アカウント)22、23、24をもっている。この場合、使用者の名前がブラウン(Brown)、スミス(Smith)、ジョーンズ(Jones)であり、勘定もそのように名付けられている。
【0020】
メモリ2bはデータベースと共にプロセッサ2aを制御するためのプログラムを保持し、そのプログラムはとくにデータベースが各使用者によりアクセスされる仕方を制御する。したがって、ソフトウェアの制御下でプロセッサ2aはデータベースエンジンとして動作する。
【0021】
図3に示すように、スミス、ブラウン、及びジョーンズはデータベースエンジン31に要求を入力することができ、エンジンは必要に応じてデータベース32にアクセスしてその要求を処理する。データベースエンジン31は次に照会している使用者への応答を出力する。これらの要求は同軸ケーブル6を介した伝送により伝えられる。
【0022】
データベース32は3部分に細分割され、各部分はSQLテーブルとなっている。第1の区分はテーブル33で“雇用(EMPLOY)”と呼ばれる。第2の区分はテーブル34で“保安(SECURITY)”と呼ばれ、また第3の区分はテーブル35で“使用者(USER)”と呼ばれている。データベースシステム1はオラクルSQL(登録商標)(ORACLE SQL:Oracle社の登録商標)と呼ばれるプログラム言語を利用してテーブルを設定しかつ利用する。テーブルが最初に創造される方法については後に記述する。
【0023】
“雇用”テーブル33はある会社の従業員についての情報で構成され、図4に示すように多数のデータフィールドで成る。
【0024】
データフィールドには“EMP NO”と呼ばれるデータフィールド33aがあり、そこには特定の会社の従業員に対する被雇用者参照番号が含まれている。
【0025】
“NAME”と呼ばれるデータフィールド33bがあり、そこには30文字(CHAR)以下のストリングとしてその会社の従業員の名前が含まれている。
【0026】
次のデータフィールドはデータフィールド33cで“POSITION”と呼ばれる。この“POSITION”データフィールド33cはその会社の特定の従業員の地位に関する情報、例えばその従業員が管理者であるか事務員であるか秘書であるかについての情報が含まれている。この情報もまた10文字以下のストリングとして記憶されている。
【0027】
次のデータフィールドはデータフィールド33dで、“SAL”と呼ばれる。ここには各従業員の給与が7桁の数字で表現されている。
【0028】
データフィールド33eは“DEPT”と呼ばれ、ここにはその従業員の所属部署名が含まれている。この情報は10文字のストリングとして保管されている。
【0029】
データフィールド33fは“ROW_TAG”と呼ばれる。このデータフィールドは1文字のストリングを含み、それが属している情報の行の保安状態を示している。このフィールドは“雇用(EMPLOY)”テーブル33の特定の行に対してアクセスが許される方法にとって特に重要な意味のあるものとなっている。
【0030】
“保安(SECURITY)”テーブル34は2つのデータフィールドで成り、第1のデータフィールド34aは“ROW_TAG”と呼ばれ、第2のデータフィールド34bは“USER_TAG”と呼ばれ、図5に示すようになっている。
【0031】
“ROW_TAG”データフィールド34aは“雇用”テーブルの“ROW_TAG”データフィールド33fに保管されているのと同じ文字を含む。これは後に述べるマッピング動作を認可するもので、ここで“雇用”テーブルの行が、“保安”テーブル34の“ROW_TAG”と同じ“ROW_TAG”を有する行を選択することにより選ばれる。
【0032】
“USER_TAG”データフィールド34bは1文字データを保管する。このフィールドの機能は上述のマッピング動作を可能とすることであり、これについては後にもっと詳細に説明される。
【0033】
“保安”テーブル34は、システム保安政策がこのテーブルの中で実現されていることからその名が付けられている。このテーブルの“ROW_TAG”及び“USER_TAG”は、保安政策がこれらのタグによって支配されていることから保安タグと命名されている。保安政策はこのテーブルを修正することにより簡単に修正することができる。システムのこの特徴は後により詳しく説明される。
【0034】
“使用者(USER)”テーブル35は図6に示してあり、“USER_TAG”フィールド35と“USER_NAME”フィールド35とで成る。
【0035】
“USER_TAG”フィールド35aは1文字データを保管し、そこには“保安”テーブル34の“USER_TAG”フィールド34b内に保管されているのと同じ文字が含まれる。これが、後に述べるように、前述のマッピング動作の実行を認可することになる。
【0036】
“USER_NAME”フィールド35は文字ストリングの形でシステムの使用者の名前を保管する。
【0037】
システム動作の流れ図を図7に示す。この動作の第1の段階は初期化であり、箱70で示す。この段階で、端末3、4、5はオンに切換えられ、メイン計算機2も同様にオンに切換えられ、使用のための準備がされる。
【0038】
第2の段階は、箱71に示すように、メモリ2b内にテーブルを創製する。これは、データベースエンジン31によって、SQLコマンドCREATE TABLEを用いて次のように行われる。
【0039】
“雇用”テーブル33に対しては、次のようなコマンド文がデータベースエンジン31によって実行される。
【0040】
CREATE TABLE EMPLOY

EMP NUMBER(4)
NAME CHAR(30),
POSITION CHAR(10),
SAL NUMBER(7),
DEPT CHAR(10),
ROW_TAG CHAR(1)
);
“保安”テーブル34はSQL CREATE TABLEコマンドを用いて次のように構成される。
【0041】
CREATE TABLE SECURITY
(ROW_TAG CHAR(1),
USER_TAG CHAR(1)
);
“使用者”テーブル35はSQL CREATE COMMANDにより次のように構成される。
【0042】
CREATE TABLE USER

USER_TAG CHAR(1),
USER_NAME CHAR(10)
);
次の段階72はテーブルがデータで占有されるものである。これは網管理者がデータベースエンジン31とSQL INSERT コマンドとを利用して、次のような方法で行われる。
【0043】
例えば、Stuart Fitchett(スチュワート・フィチェット)という従業員についてのデータの行を“雇用”テーブルに挿入するためには、次のコマンドが管理者によって発せられる。
【0044】
INSERT INTO EMPLOY
VALUES(10,´Stuart Fitchett´,´CLERK´,1000,´CS´,´U´);
こうして従業員番号10はFitchettと呼ばれ、この男は事務員で月給が1000ポンドであり、顧客サービス部門(略称CS)に属し、かつこの情報を読出すために必要とされる保安タグは´U´であることが記録される。“保安”テーブル34に同様の方法でデータが入力される。例えば、データの最初の7行には次のように入力される。
【0045】
INSERT INTO SECURITY
VALUES(´U´,´A´);
INSERT INTO SECURITY
VALUES(´V,´A´);
INSERT INTO SECURITY
VALUES(´U,´B´);
INSERT INTO SECURITY
VALUES(´W´ ´B´);
INSERT INTO SECURITY
VALUES(´W´ ´C´);
“使用者”テーブルは同じように完成される。
【0046】
INSERT INTO USER
VALUES(´A´,´SMITH´);
INSERT INTO USER
VALUES(´B´,´JONES´);
INSERT INTO USER
VALUES(´C´,´BROWN´);
データベースエンジン31は次に、図7の箱73で示されるように、使用者の1人からデータベース32の情報への要求が来るのを待つ。
【0047】
要求が受け付けられて処理されるのが箱74で示されている。処理が完了するとシステムは要求待ち段階73に戻る。
【0048】
完成されたテーブルは図8に模式的に示されている。
【0049】
ここで処理要求段階74のもっと詳細を図9を参照して記述する。この処理段階は上述のマッピング動作を利用するもので、そのマッピング動作はシステム1を支配する保安政策を実行する。
【0050】
第1段階はデータベースエンジン31がデータベース32内に記憶されている情報へのアクセスの要求をしている使用者を識別するためのもので、図9の箱90で示す。
【0051】
次の段階はデータベースエンジン31が“USER_TABLE”35を利用して識別された使用者に適した“USER_TAG”を得るためのものであり、図9の箱91で示す。
【0052】
さらに箱92で示した段階はデータベースエンジン31が“保安”テーブル34を利用して段階91で識別された“USER_TAG”に適した“ROW_TAG”を得るためのものである。
【0053】
最終段階は箱93で示したもので、データベースエンジン31が、“雇用”テーブル33から、データ行であってその行に関係する“ROW_TAG”が前の段階92で識別された“ROW_TAG”と整合するものを戻すためのものである。
【0054】
データベースエンジン31が要求を処理する仕方を示すために一例を用いよう。
【0055】
USER_NAME SMITHをもつ使用者(スミス)はUSER_TAG Aを割当てられており、これが“保安”テーブル34を経てROW_TAG UとROW_TAG Vとにマップされ得るようになっている。これは、SMITHがROW_TAG U又はROW_TAG Vを割当てられている“雇用”テーブル33の行へのアクセスを取得できるようにする。こうしてSMITHはテーブルEMPLOYの行ROW1、ROW2及びROW3上にマップされ、これらの行のデータを見ることができる。
【0056】
さらに詳しく言えば、仮にSMITHが“雇用”テーブル33からSMITHがアクセスできる全ての情報にアクセスできるようにしたいとする。これをするには、SMITHはSQL SELECTコマンドであるSELECT * FROM EMPLOYをデータベースエンジン31に送る。
【0057】
データベースエンジン31はSMITHをもつ使用者のこのコマンドに対して引数を与えて使用者を識別し、次にUSER_NAMEが“SMITH”である場合は次のマッピング動作を実行する。マッピング動作はデータベースエンジン31の動作を支配しているプログラム内に用意されている。
【0058】
CREATE VIEW SECURE_EMPLOY AS
SELECT EMP,
NAME,
POSITION,
SAL,
DEPT,
FROM EMPLOY
WHERE EMPLOY.ROW_TAG IN

SELECT SECURITY.ROW_TAG
FROM SECURITY
WHERE SECURITY.USER_TAG IN

SELECT USER.USER_TAG
FROM USER
WHERE USER.USER_NAME=username


これは、ROW_TAG ´U´又はROW_TAG ´V´をもつテーブル“雇用”の行、すなわちテーブル33のROW1、ROW2及びROW3を使用者SMITHに戻す。SELECTコマンドは“雇用”テーブル33の“ROW_TAG”列を含まないから、この情報は使用者に戻されず、データを支配している保安政策は使用者には判断できないことに留意したい。こうして保安政策は使用者に透明となっている。
【0059】
このシステムはBROWN及びJONESによるアクセスに対しても同じように取り扱う。その場合、データベースエンジンにより与えられた引数である使用者名が必要に応じてBROWN又はJONESである。
【0060】
保安政策に変更を実現しなければならない場合、例えば、以前はTAG ´U´又は´V´をもつ“雇用”テーブル33の行にアクセスしていたUSER_TAG ´A´をもつ使用者のクラスを、TAG ´U´をもつ行だけに制限しようとする場合には、網管理者が“保安”テーブル34を修正して使用者タグAに指定されている保安タグから削除すればよいだけのことである。これはSQL DELETE FROMテーブル(削除)コマンドを用いて実行することができる。すなわち:
DELETE FROM SECURITY
WHERE SECURITY.USER_TAG=´A´
AND SECURITY.ROW_TAG=´V´;
こうして、図8に示すように“保安”テーブル34の第2行が削除され、使用者SMITHから“TAG”´V´をもつ“雇用”テーブル6の第2行へのマッピング経路が除去される。
【0061】
USER_TAG´B´をもつ使用者のクラスにアクセスできる雇用テーブル33の量を拡張するために、例えばROW_TAG´V´又はROW_TAG´X´をもつ行にアクセスできるようにするためには、SQLコマンドINSERT INTO(挿入)テーブルを用いる。すなわち:
INSERT INTO SECURITY
VALUES(´V´,´B´);
INSERT INTO SECURITY
VALUES(´X´,´B´);
これにより、図8に破線で示したように、使用者テーブルから“雇用”テーブルへのさらに2つのマッピング経路が用意されることになる。
【0062】
あるデータベース保安システムでは、ある使用者のクラスによってデータベース内のデータが更新されるのを妨げることが望ましい。これをする1つの方法は“雇用”テーブル33への展望(ビュー)を創製することであり、これは、チェックオプションを用意して使用者がデータベースの後で情報を消去することができない部分に入力を挿入することができないようにするという意味で保安に適っている。データの挿入又は更新は、SQL“WHERE”ステートメントが満たされているときに限り許される。例えば:
CREATE VIEW SECURE EMPLOY_2 AS
SELECT*
FROM EMPLOY
WHERE EMPLOY.ROW_TAG IN

SESLECT SECURITY.ROW_TAG
FROM SECURITY
WHERE SECURITY.USER_TAG IN

SELECT USER.USER_TAG
FROM USER
WHERE USER.USER_NAME=USERNAME


WITH CHECK OPTION
第1の記述した実施例では、データベースに含まれる情報は被雇用者についてのもの、すなわち人事データベースであった。他の形式の情報も記憶できる。
【0063】
図10はこの発明によるシステム1を示し、網マネージャ内で使用される。このシステムでは、データベースは電気通信網100上の構成管理情報のような情報が含まれ、網は多数の網素子101ないし103とその素子マネージャ104ないし106とで構成される。システム1の使用者、すなわち網100の動作と制御に関係する網マネージャなどは、前述と同じやり方でデータベースのいろいろな部分にアクセスできる。
【図面の簡単な説明】
【0064】
【図1】図1はこの発明の実施例により動作するデータベースシステムのハードウェアを模式図形式で示す。
【図2】図2はデータベースシステムによって支持されている1組のデータベース勘定口座を示す。
【図3】図3はデータベースシステムのソフトウェア概要を示す。
【図4】図4はデータベースシステムで使用されるテーブルを模式図型式で示す。
【図5】図5はデータベースシステムで使用されるテーブルを模式図型式で示す。
【図6】図6はデータベースシステムで使用されるテーブルを模式図型式で示す。
【図7】図7はデータベースシステムの動作の説明図である。
【図8】図8はデータベースシステムで実行されるマッピング動作の説明図である。
【図9】図9はマッピング動作における段階を示す別な説明図である。
【図10】図10は網管理応用で使用されているデータベースシステムを模式図で示す。

【特許請求の範囲】
【請求項1】
使用者によるデータベースへのアクセスを制御するための方法であって、データベースの少なくとも一部を形成して該形成されたデータベースのデータの少なくともいくつかが保安タグと関係するようにし、使用者識別名とそれに関係する使用者タグとの記憶構造を形成し、該使用者タグとそれに関係する保安タグとの記憶構造を形成し、該使用者タグとそれに関係する保安タグとの該記憶構造から該使用者識別名の使用者タグに適した保安タグ(単数又は複数)を判断して該保安タグと関係して形成されたデータベースのデータへのアクセスを認可することにより、少なくともデータのサブセットに対して該使用者識別名をマップすることで成る方法。
【請求項2】
データベース内に入力されたデータは、データを入力した使用者の使用者識別名の使用者タグに適した保安タグと関係する請求項1記載の方法。
【請求項3】
データベースと記憶構造の両方又はどちらか一方がテーブルである請求項1または2記載の方法。
【請求項4】
使用者によるデータベースへのアクセスを制御するための方法であって、データのデータベースとそれに関係する保安タグを創製し、識別名とそれに関係する識別名タグとの第1の記憶構造を創製し、識別名タグとそれに関係する保安タグとの第2の記憶構造を創製し、該第1の記憶構造から関係する識別名タグを判断し、かつ該第2の記憶構造から該判断された識別名タグに適した少なくとも1つの保安タグを判断してデータベースからその保安タグに適したデータを選択することにより、該識別名の少なくとも1つに適したデータベースに対する概要(ビュー)を創製することから成る方法。
【請求項5】
データベースが電気通信網データベースである請求項1ないし4のいずれか1つに記載の方法。
【請求項6】
使用者によるデータベースへのアクセスを制御するための装置であって:データベースの少なくとも一部を、形成されたデータベースのデータの少なくともいくつかが保安タグと関係するように形成するための手段と;使用者識別名とそれに関係する使用者タグとの記憶構造を形成するための手段と;使用者タグとそれに関係する保安タグとの記憶構造を形成するための手段と;使用者タグとそれに関係する保安タグとの記憶構造から使用者識別名の使用者タグに適した保安タグ(単数又は複数)を判断して使用者が保安タグ(単数又は複数)に関係して形成したデータベース内のデータにアクセスすることを認可することにより、データの少なくとも1つのサブセットに対する使用者識別名をマップするための手段とから成る装置。
【請求項7】
データベース内に入力されたデータを、該データを入力した使用者の使用者識別名の使用者タグに適した保安タグと関係付けるための手段から成る請求項6記載の装置。
【請求項8】
請求項6又は7記載の装置を含む電気通信網を管理するための装置。
【請求項9】
請求項1ないし5のいずれか1つに記載の方法によりアクセスされるデータの組。
【特許請求の範囲】
【請求項1】
データのサブセットに分割されているデータの組からなるデータベースへの使用者によるアクセスを制御するための方法であって、該方法は、
データのサブセットの少なくともいくつかに関してデータのサブセットの各々に単一のロウタグ(row tag)を指定する段階と、
使用者テーブル内の各使用者の識別子に対して使用者タグを指定する段階と、
保安テーブル内の各使用者タグに対して少なくとも1つのロウタグを指定する段階と、
使用者のための使用者タグを得るために使用者テーブルを利用する段階と、
使用者タグに対応する少なくとも1つのロウタグを得るために保安テーブルを利用する段階と、
該使用者タグに対応する少なくとも1つのロウタグを有するどのデータのサブセットにも使用者がアクセスするのを認可する段階と、を具備する。
【請求項2】
前記データベースがデータの行を有するリレーショナルデータベースであり、データの各行がデータのサブセットを形成する請求項1に記載のデータベースへの使用者によるアクセスを制御するため方法。
【請求項3】
データのサブセットに分割されているデータの組からなるデータベースへの使用者によるアクセスを制御するための装置であって、該装置は、
データのサブセットの少なくともいくつかに関してデータのサブセットの各々に単一のロウタグを指定する手段と、
使用者テーブル内の各使用者の識別子に対して使用者タグを指定する手段と、
保安テーブル内の各使用者タグに対して少なくとも1つのロウタグを指定する手段と、
使用者のための使用者タグを得るために使用者テーブルを利用する手段と、
使用者タグに対応する少なくとも1つのロウタグを得るために保安テーブルを利用する手段と、
該使用者タグに対応する少なくとも1つのロウタグを有するどのデータのサブセットにも使用者がアクセスするのを認可する手段と、を具備する。
【請求項4】
前記データベースがデータの行を有するリレーショナルデータベースであり、データの各行がデータのサブセットを形成する請求項3に記載のデータベースへの使用者によるアクセスを制御するための装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2006−277756(P2006−277756A)
【公開日】平成18年10月12日(2006.10.12)
【国際特許分類】
【出願番号】特願2006−114510(P2006−114510)
【出願日】平成18年4月18日(2006.4.18)
【分割の表示】特願平7−521653の分割
【原出願日】平成7年2月14日(1995.2.14)
【出願人】(390028587)ブリティッシュ・テレコミュニケーションズ・パブリック・リミテッド・カンパニー (104)
【氏名又は名称原語表記】BRITISH TELECOMMUNICATIONS PUBLIC LIMITED COMPANY
【Fターム(参考)】