(57)【特許請求の範囲】
【請求項１】
１つのレコードが複数のデータ項目からなり、複数のレコードにより構成されたデータベースに対してデータをアクセスする際に、アクセスを行うユーザの属性に基づいてデータのアクセスを制限するデータアクセス制御装置であって、
複数のユーザに対応して少なくともユーザ固有の識別情報を示すデータ項目，ユーザの属性を示すデータ項目を記憶するユーザ情報記憶手段と、
前記ユーザの属性を示すデータ項目の内容に対応するユーザグループを定義する定義手段と、
ユーザ毎にユーザグループを対応づけたユーザ別グループ情報を生成する生成手段と、
前記データベースに対するデータのアクセス可否を示すアクセス権情報をユーザグループに対応づけて記憶するアクセス権情報記憶手段と、
前記データベースのアクセス時に任意のユーザが指定された際に、前記生成手段により生成されたユーザ別グループ情報を参照して当該ユーザが属するユーザグループを決定し、そのユーザグループに対応づけられている前記アクセス権情報に基づいて前記データベースに対するデータのアクセス可否を決定するアクセス制御手段と、
を具備したことを特徴とするデータアクセス制御装置。
【請求項２】
前記定義手段は、ユーザの役職に対応するユーザグループを定義することを特徴とする請求項１記載のデータアクセス制御装置。
【請求項３】
前記定義手段は、ユーザの所属する部門に対応するユーザグループを定義することを特徴とする請求項１記載のデータアクセス制御装置。
【請求項４】
前記アクセス権情報記憶手段は、前記データを構成する項目毎にデータのアクセス可否を示す項目アクセス権情報を各ユーザグループに対応づけて記憶することを特徴とする請求項１記載のデータアクセス制御装置。
【請求項５】
前記アクセス権情報記憶手段に、各ユーザグループに対応づけて前記データを構成する項目毎に、データのアクセス可否を示す項目アクセス権情報を任意に設定する項目アクセス権設定手段を有することを特徴とする請求項４記載のデータアクセス制御装置。
【請求項６】
前記アクセス権情報記憶手段は、前記データを構成するレコード毎にデータのアクセス可否を示すレコードアクセス権情報を各ユーザグループに対応づけて記憶することを特徴とする請求項１記載のデータアクセス制御装置。
【請求項７】
前記アクセス権情報記憶手段に、各ユーザグループに対応づけて前記データを構成するレコード毎に、データのアクセス可否を示すレコードアクセス権情報を任意に設定するレコードアクセス権設定手段を有することを特徴とする請求項６記載のデータアクセス制御装置。
【請求項８】
前記アクセス権情報記憶手段は、前記データを構成する項目毎にデータのアクセス可否を示す項目アクセス権情報と、前記データを構成するレコード毎にデータのアクセス可否を示すレコードアクセス権情報とを各ユーザグループに対応づけて記憶することを特徴とする請求項１記載のデータアクセス制御装置。
【請求項９】
前記アクセス権情報記憶手段に、各ユーザグループに対応づけて前記データを構成する項目毎に、データのアクセス可否を示す項目アクセス権情報と、各ユーザグループに対応づけて前記データを構成するレコード毎に、データのアクセス可否を示すレコードアクセス権情報とを任意に設定するアクセス権設定手段を有することを特徴とする請求項８記載のデータアクセス制御装置。
【請求項１０】
前記生成手段は、前記ユーザ情報記憶手段に記憶されたユーザの属性を示すデータ項目が変更された際に、ユーザ毎にユーザグループを対応づけたユーザ別グループ情報を生成することを特徴とする請求項１記載のデータアクセス制御装置。
【請求項１１】
前記ユーザグループに対応するアクセス権情報を解析して前記データベースをアクセスするための所定のデータベース言語を生成する言語生成手段を備えることを特徴とする請求項１記載のデータアクセス制御装置。
【請求項１２】
コンピュータに対して、
複数のユーザに対応して少なくともユーザ固有の識別情報を示すデータ項目，ユーザの属性を示すデータ項目を記憶するユーザ情報と、前記ユーザの属性を示すデータ項目の内容に対応するユーザグループを定義する定義情報とを参照し、ユーザ毎にユーザグループを対応づけたユーザ別グループ情報を生成する機能を実現させる機能と、
前記データベースのアクセス時に任意のユーザが指定された際に、前記ユーザ別グループ情報を参照して当該ユーザが属するユーザグループを決定し、そのユーザグループに対応づけられている前記データベースに対するデータのアクセス可否を示すアクセス権情報に基づいて前記データベースに対するデータのアクセス可否を決定する機能と、
を実現させるプログラムを記録した記録媒体。
【請求項１３】
１つのレコードが複数のデータ項目からなり、複数のレコードにより構成されたデータベースに対してデータをアクセスする際に、アクセスを行うユーザの属性に基づいてデータのアクセスを制限するデータアクセス制御装置であって、
複数のユーザに対応して、少なくともユーザ固有の識別情報を示すデータ項目，ユーザの属性を示すデータ項目を記憶するユーザ情報記憶手段と、
前記ユーザの属性を示すデータ項目の内容に対応するユーザグループを定義する第１の定義手段と、
前記ユーザ固有の識別情報と、前記データベースに対するデータのアクセス時に入力指定されるログイン情報との対応関係を定義する第２の定義手段と、
ユーザ毎に、ログイン情報とユーザグループとを対応づけたユーザ別グループ情報を生成する生成手段と、
前記データベースに対するデータのアクセス可否を示すアクセス権情報をユーザグループに対応づけて記憶するアクセス権情報記憶手段と、
前記データベースのアクセス時に任意のログイン情報が入力指定された際に、前記生成手段により生成されたユーザ別グループ情報を参照して当該ユーザが属するユーザグループを決定し、そのユーザグループに対応づけられている前記アクセス権情報に基づいて前記データベースに対するデータのアクセス可否を決定するアクセス制御手段と、
を具備したことを特徴とするデータアクセス制御装置。
【請求項１４】
前記第１の定義手段は、ユーザの役職に対応するユーザグループを定義することを特徴とする請求項１３記載のデータアクセス制御装置。
【請求項１５】
前記第１の定義手段は、ユーザの所属する部門に対応するユーザグループを記憶することを特徴とする請求項１３記載のデータアクセス制御装置。
【請求項１６】
前記アクセス権情報記憶手段は、前記データを構成する項目毎にデータのアクセス可否を示す項目アクセス権情報を各ユーザグループに対応づけて記憶することを特徴とする請求項１３記載のデータアクセス制御装置。
【請求項１７】
前記アクセス権情報記憶手段に、各ユーザグループに対応づけて前記データを構成する項目毎に、データのアクセス可否を示す項目アクセス権情報を任意に設定する項目アクセス権設定手段を有することを特徴とする請求項１６記載のデータアクセス制御装置。
【請求項１８】
前記アクセス権情報記憶手段は、前記データを構成するレコード毎にデータのアクセス可否を示すレコードアクセス権情報を各ユーザグループに対応づけて記憶することを特徴とする請求項１３記載のデータアクセス制御装置。
【請求項１９】
前記アクセス権情報記憶手段に、各ユーザグループに対応づけて前記データを構成するレコード毎に、データのアクセス可否を示すレコードアクセス権情報を任意に設定するレコードアクセス権設定手段を有することを特徴とする請求項１８記載のデータアクセス制御装置。
【請求項２０】
前記アクセス権情報記憶手段は、前記データを構成する項目毎にデータのアクセス可否を示す項目アクセス権情報と、前記データを構成するレコード毎にデータのアクセス可否を示すレコードアクセス権情報とを各ユーザグループに対応づけて記憶することを特徴とする請求項１３記載のデータアクセス制御装置。
【請求項２１】
前記アクセス権情報記憶手段に、各ユーザグループに対応づけて前記データを構成する項目毎に、データのアクセス可否を示す項目アクセス権情報と、各ユーザグループに対応づけて前記データを構成するレコード毎に、データのアクセス可否を示すレコードアクセス権情報とを任意に設定するアクセス権設定手段を有することを特徴とする請求項２０記載のデータアクセス制御装置。
【請求項２２】
前記生成手段はユーザの属性を示すデータ項目が変更された際に、ユーザ毎にユーザグループを対応づけたユーザ別グループ情報を生成することを特徴とする請求項１３記載のデータアクセス制御装置。
【請求項２３】
前記ユーザグループに対応するアクセス権情報を解析して前記データベースをアクセスするための所定のデータベース言語を生成する言語生成手段を備えることを特徴とする請求項１３記載のデータアクセス制御装置。
【請求項２４】
コンピュータに対して、
複数のユーザに対応して、少なくともユーザ固有の識別情報を示すデータ項目，ユーザの属性を示すデータ項目を記憶するユーザ情報と、前記ユーザの属性を示すデータ項目の内容に対応するユーザグループを定義する定義情報と、前記ユーザ固有の識別情報と前記データベースに対するデータのアクセス時に入力指定されるログイン情報との対応関係を定義する定義情報とを参照し、ユーザ毎に、ログイン情報とユーザグループとを対応づけたユーザ別グループ情報を生成する機能と、
前記データベースのアクセス時に任意のログイン情報が入力指定された際に、前記ユーザ別グループ情報を参照して当該ユーザが属するユーザグループを決定し、そのユーザグループに対応づけられている前記データベースに対するデータのアクセス可否を示すアクセス権情報をユーザグループに対応づけて記憶するユーザ別アクセス権情報に基づいて前記データベースに対するデータのアクセス可否を決定する機能と、
を実現させるためのプログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、ユーザの属性に応じてデータのアクセスを制限するデータアクセス制御装置およびそのプログラム記録媒体に関する。
【０００２】
【従来の技術】
従来、リレーショナル型データベース管理システム（ＲＤＢＭＳ）にしたがってデータベースをアクセスするデータアクセス制御装置においては、データベース言語「ＳＱＬ」を用いてアクセス権情報を設定し、ＲＤＢＭＳの機能にしたがってデータベースのアクセスを制御するようにしている。また、他の方法としては上位アプリケーション層でアクセス権情報を管理し、データベースのアクセスを制御するようにしている。
【０００３】
【発明が解決しようとする課題】
ところで、データベース言語「ＳＱＬ」を用いてアクセス権を設定したり、変更する場合、データアクセスのＳＱＬ文（ＳＥＬＥＣＴ文）では、“ＳＥＬＥＣＴ”、“ＦＲＯＭ”、“ＷＨＥＲＥ”に対応付けてデータ項目名、ファイル名、検索条件を要求するというＳＱＬによる設定を意識した記述が必要であるが、データベースの問い合せ条件が複雑になればなるほど、その作業量が膨大なものとなり、しかも、高度なデータベース知識、ＳＱＬ知識を必要とするため、一般の業務担当者ではその設定／変更は極めて困難であり、データベース管理者等にその作業を依頼しなければならないのが現状であった。
また、上位アプリケーション層でアクセス権情報を管理するものにあっては、アプリケーション自体に複雑なロジックを組み込むため、その設定／変更は高度な知識を有する専門家であっても極めて困難なものとなると共に、他のツールでデータベースをアクセスした場合にセキュリティが損なわれるおそれがあるため、多様なソフトウエアが存在するオープン環境に適さないという欠点があった。
そこで、本出願人は、ユーザの属性に応じたアクセス権を設定する際に、データベース言語による設定を意識した記述を不要とし、専門的知識を有しない一般の業務担当者であっても簡単にアクセス権を設定したり、変更することができると共に、アプリケーション自体にアクセス権を記述せず、別個に管理されたアクセス権情報を解析してアクセス制御を行うことで、オープン環境下でもセキュリティを維持できるようにした技術（特願平９−１４９９１３号、発明の名称：データアクセス制御装置およびそのプログラム記録媒体）を提案した。
この発明の課題は本出願人が先に提案した技術を改善したもので、社員情報等のユーザ管理情報のアクセスをユーザの属性に応じてユーザグループ毎に制御するために、ユーザ毎にユーザログイン情報とユーザグループとを対応付けたユーザ別グループ情報をユーザ管理情報を基に自動生成することで、オペレータの負担を大幅に軽減したり、設定ミスを防止できる他、ユーザグループ別のアクセス権とユーザ管理情報との整合を確保できるようにすることである。
【０００４】
【課題を解決するための手段】
請求項１記載の発明は、１つのレコードが複数のデータ項目からなり、複数のレコードにより構成されたデータベースに対してデータをアクセスする際に、アクセスを行うユーザの属性に基づいてデータのアクセスを制限するデータアクセス制御装置であって、複数のユーザに対応して少なくともユーザ固有の識別情報を示すデータ項目，ユーザの属性を示すデータ項目を記憶するユーザ情報記憶手段と、前記ユーザの属性を示すデータ項目の内容に対応するユーザグループを定義する定義手段と、ユーザ毎にユーザグループを対応づけたユーザ別グループ情報を生成する生成手段と、前記データベースに対するデータのアクセス可否を示すアクセス権情報をユーザグループに対応づけて記憶するアクセス権情報記憶手段と、前記データベースのアクセス時に任意のユーザが指定された際に、前記生成手段により生成されたユーザ別グループ情報を参照して当該ユーザが属するユーザグループを決定し、そのユーザグループに対応づけられている前記アクセス権情報に基づいて前記データベースに対するデータのアクセス可否を決定するアクセス制御手段と、を具備したことを特徴とする。
【０００５】
【発明の実施の形態】
以下、図１〜図２１を参照してこの発明の一実施形態を説明する。
図１はデータアクセス制御装置の全体構成を示したブロック図である。
ＣＰＵ１はＲＡＭ２内にロードされている各種プログラムにしたがってこのデータアクセス制御装置の全体動作を制御する中央演算処理装置である。記憶装置３はオペレーティングシステムや各種アプリケーションプログラム、データベース、文字フォントデータ等が予め格納されている記憶媒体４やその駆動系を有している。この記憶媒体４は固定的に設けたもの、もしくは着脱自在に装着可能なものであり、フロッピーディスク、ハードディスク、光ディスク、ＲＡＭカード等の磁気的・光学的記憶媒体、半導体メモリによって構成されている。また、記憶媒体４内のプログラムやデータは、必要に応じてＣＰＵ１の制御により、ＲＡＭ２にロードされる。更に、ＣＰＵ１は通信回線等を介して他の機器側から送信されて来たプログラム、データを受信して記憶媒体４に格納したり、他の機器側に設けられている記憶媒体に格納されているプログラム、データを通信回線等を介して使用することもできる。
そして、ＣＰＵ１にはその入出力周辺デバイスである入力装置５、表示装置６、印刷装置７がバスラインを介して接続されており、入出力プログラムにしたがってＣＰＵ１はそれらの動作を制御する。
入力装置５は文字列データを入力したり、各種コマンドを入力するキーボードの他、マウス等のポインティングデバイスを有している。表示装置６は多色表示を行う液晶表示装置やＣＲＴ表示装置あるいはプラズマ表示装置等であり、また印刷装置７はフルカラープリンタ装置で、熱転写やインクジェットなどのノンインパクトプリンタあるいはインパクトプリンタである。
【０００６】
図２は記憶装置３の主要内容を示したもので、データベースＤＢは例えば、企業の業務活動に必要な情報を蓄積するリレーショナル型の事務処理データベースであり、社員情報ファイル、人事台帳ファイル、担当者別売上管理ファイル等が存在するが、ここではデータベースＤＢが社員情報ファイルの場合を例示する。この社員情報ファイルＤＢはリレーショナルデータベース管理システムＲＤＢＭＳにしたがってアクセスされる。すなわち、ユーザが所定の条件に合ったデータを要求すると、この検索要求を受けたアプリケーションプログラムＡＰは、その要求にしたがってＳＱＬ文を生成し、それをリレーショナルデータベース管理システムＲＤＢＭＳに送る。するとＳＱＬ文を受け取ったリレーショナルデータベース管理システムＲＤＢＭＳは、ＳＱＬ文を解析し、社員情報ファイルＤＢをアクセスし、これによって検索されたデータをアプリケーションプログラムＡＰへ転送する。アクセス権設定用表フォームＦＭは社員情報ファイルＤＢのアクセス権をユーザの属性に応じたユーザグループ毎に設定／変更する際に、表示出力される表フォーム情報であり、一般の業務担当者はこの表内にユーザグループに対応付けてアクセス権の設定／変更を行う。また、社員情報ファイルＤＢのアクセス権をユーザグループ毎に設定／変更するためのファイルとして記憶装置３には、項目アクセス権自動生成定義ファイルＦＧＦ、レコードアクセス権自動生成定義ファイルＲＧＦ、ログイン管理情報ファイルＬＭＦ、ログイン管理情報連携定義ファイルＬＬＦ、ユーザ別アクセス権管理ファイルＵＭＦ、項目アクセス権管理ファイルＦＭＦ、レコードアクセス権管理ファイルＲＭＦ、最適化アクセス権管理ファイルＯＰＦ、ユーザ別ＤＢアクセス権ファイルＵＡＦが設けられている。
【０００７】
項目アクセス権自動生成定義ファイルＦＧＦはユーザの属性、例えば、企業の役職に応じてユーザをグループ化するためのグループ情報を項目アクセス権グループとして定義するファイルである。図３（Ａ１）、（Ａ２）は項目アクセス権自動生成定義ファイルＦＧＦを説明するための図で、（Ａ１）はデータ構造、（Ａ２）はその具体例を示している。この場合、社員情報ファイル（ＤＢ）（図５参照）の項目名「Ｆｉｅｌｄ＝役職」で示されるデータ項目の内容に応じてユーザをグループ化するためにそのグループコードＡ、Ｂ、Ｃ、Ｄ……に対応してその項目値として「部門長」、「所属長」、「人事部長」、「一般社員」……が定義されている。レコードアクセス権自動生成定義ファイルＲＧＦはユーザの属性、例えば、企業の所属部門に応じてユーザをグループ化するためのグループ情報をレコードアクセス権グループとして定義するファイルである。図３（Ｂ１）、（Ｂ２）はレコードアクセス権自動生成定義ファイルＲＧＦを説明するための図で、（Ｂ１）はデータ構造、（Ｂ２）はその具体例を示している。この場合、社員情報ファイルＤＢの項目名「Ｆｉｌｄ＝部門」で示されるデータ項目の内容に応じてユーザをグループ化するためにそのグループコード１、２、３……に対応してその項目値として「人事部」、「総務部」、「営業部」……が定義されている。
【０００８】
ログイン管理情報連携定義ファイルＬＬＦは社員情報ファイル（ＤＢ）と後述するログイン管理情報ファイルＬＭＦを関連付けるための定義ファイルである。図３（Ｃ１）、（Ｃ２）はログイン管理情報連携定義ファイルＬＬＦを説明するための図で、（Ｃ１）はデータ構造、（Ｃ２）はその具体例を示している。この場合、「Ｌｏｇｉｎ＝項目名」はログイン管理情報ファイルＬＭＦ（図４参照）の項目名「ユーザNo」を示し、「Ｆｉｌｅ」はデータベース名「人事」、ファイル名「社員情報」を定義し、更に、「Ｆｉｅｌｄ」は社員情報ファイル（ＤＢ）の項目名「社員No」を定義するもので、これによってログイン管理情報ファイルＬＭＦの項目「ユーザNo」を検索キーとして社員情報ファイル（ＤＢ）の項目「社員No」を検索すべきことが定義される。ログイン管理情報ファイルＬＭＦは図４に示すように、ユーザ毎に「ログインＩＤ」、「ユーザNo」、「パスワード」、「ホームディレクトリ」等を定義するもので、ログインＩＤ、パスワードはファイルアクセス時に入力される。なお、ホームディレクトリは個人情報である。社員情報ファイル（ＤＢ）は図５に示すように１レコードは「社員No」、「氏名」、「事業所」、「部門」、「所属」、「役職」、「資格」、「考課」、「給与」……「異動申請」の各項目から成る。
【０００９】
ユーザ別アクセス権管理ファイルＵＭＦは図６（Ａ）に示すように「ログインＩＤ」、「項目アクセス権グループコード」、「レコードアクセス権グループコード」をユーザ毎に記憶管理するもので、このユーザ別アクセス権管理ファイルＵＭＦは社員情報ファイル（ＤＢ）、項目アクセス権自動生成定義ファイルＦＧＦ、レコードアクセス権自動生成定義ファイルＲＧＦ、ログイン管理情報ファイルＬＭＦ、ログイン管理情報連携定義ファイルＬＬＦの内容に基づいて自動生成される。図７はこのユーザ別アクセス権管理ファイルＵＭＦの生成を模式的に示したもので、ユーザ別アクセス権設定制御部Ｍ１によってユーザ別アクセス権グループ自動設定部Ｍ２が起動されると、ユーザ別アクセス権グループ自動設定部Ｍ２はログイン管理情報連携定義ファイルＬＬＦ、項目アクセス権自動生成定義ファイルＦＧＦ、レコードアクセス権自動生成定義ファイルＲＧＦ内の定義情報に基づいてログイン管理情報ファイルＬＭＦ、社員情報ファイル（ＤＢ）内の情報を読み出してユーザ別アクセス権管理ファイルＵＭＦを生成する。また、ユーザ別アクセス権設定制御部Ｍ１は社員情報ファイル（ＤＢ）の内容が変更されるとユーザ別アクセス権グループ自動設定部Ｍ２を起動させてユーザ別アクセス権管理ファイルＵＭＦの内容を社員情報ファイル（ＤＢ）の変更に応じて書き替えることにより、社員情報ファイルとユーザ別アクセス権管理ファイルＵＭＦとの整合を図るようにしている。そして、アプリ実行制御は社員情報ファイルのアクセス時に任意のログインＩＤ、パスワードが入力された際に、ユーザ別ＤＢアクセス権ファイルＵＡＦを参照して当該ユーザが属するユーザグループを決定すると共に、このユーザグループに対応付けられているアクセス権に基づいて項目、レコードのアクセス可否を決定し、それに応じたアクセス制御を行う。項目アクセス権管理ファイルＦＭＦは項目アクセス権グループ毎に、アクセスが許可される許可項目名を記憶管理する。レコードアクセス権管理ファイルＲＭＦは項目アクセス権とレコードアクセス権とを組み合せたグループ毎にアクセス条件を記憶管理する。最適化アクセス権管理ファイルＯＰＦはアクセス効率を高めるためにレコードアクセス権管理ファイルＲＭＦの内容を所定の条件下で最適化したアクセス権を記憶管理する。ユーザ別ＤＢアクセス権ファイルＵＡＦはユーザ別アクセス権管理ファイルＵＭＦと最適化アクセス権管理ファイルＯＰＦの内容に応じたユーザ別アクセス権を記憶管理する。
【００１０】
次に、データアクセス制御装置の動作を図８〜図１４に示すフローチャートにしたがって説明する。ここで、これらのフローチャートに記述されている各機能を実現するためのプログラムは、ＣＰＵ１が読み取り可能なプログラムコードの形態で記憶装置３に記憶されており、その内容がＲＡＭ２内にロードされている。
図８はこのデータアクセス制御装置におけるアクセス権設定時の全体動作を示したフローチャートである。
先ず、データベースアクセス権の設定動作が開始されると、図８のステップＡ１では項目アクセス権設定処理が行われる。
【００１１】
図９はこの設定処理を示したフローチャートであり、アクセス権設定用表フォームＦＭから所定の表フォーム情報を呼び出す（ステップＢ１）。この場合の表フォームは図１５に示すように、表外にファイル名欄が配置され、表内の列項目にグループ欄が配置され、行項目にファイルのデータ項目欄が配置されて成る。ここで、データベースに存在する各種ファイルのファイル名が一覧表示され、その中から任意のファイルをアクセス対象として指定するためにそのファイル名が選択されると（ステップＢ２）、選択されたファイル名はファイル名欄に表示される（ステップＢ３）。いま、社員情報ファイルが選択指定されたものとすると、そのファイル名「社員情報」がファイル名欄に表示される。ここで、アクセス対象として選択されたファイルに存在するデータ項目毎にその項目名を表フォームと共に表内のデータ項目欄に表示する（ステップＢ４）。次に、項目アクセス権自動生成定義ファイルＦＧＦに定義されているグループコードおよびその項目値をそれぞれ読み出して表内のグループ欄に表示する（ステップＢ５）。この場合、図１５に示すように表のグループ欄は、「Ａ、部門長」、「Ｂ、所属長」、「Ｃ、人事部員」、「Ｄ、一般社員」に区分されて配置表示される。
【００１２】
このように表の行見出しとしてアクセス対象ファイルの各データ項目名が表示され、表の列見出しとしてユーザグループを示すコードおよび項目内容が表フォームと共に表示されると、行見出しと列見出しとから成るマトリックス状の各交点領域に、所定の記号を記述することによって項目毎のアクセス権情報をユーザグループに対応付けて入力指定する（ステップＢ６）。この場合、項目アクセスを許可するときには交点領域内に丸印を記述し、アクセスを禁止する場合には記号を記述せずに交点領域を空白のままとする。そして、行ポイント、列ポイントを更新しながら各交点領域に記号を記述してゆく。ここで表の記述が終了すると、その設定情報は項目アクセス権管理ファイルＦＭＦに転送されて記憶管理される（ステップＢ７）。
図１７（Ａ）は項目アクセス権管理ファイルＦＭＦのデータ構造を示したもので、「ＦｌＬＥ」＝ファイル名、項目アクセス権グループコード；許可項目名；許可項目名；許可項目名；……のデータ形式で記憶管理される。なお、全項目のアクセスを許可する場合は、項目アクセス権グループコードに続く許可項目名は全て省略される。また、項目アクセス権グループコードが無い場合には、該当ファイルに全くアクセス権がないことを意味している。このようにしてユーザグループ毎に項目アクセス権が設定されることにより、社員情報ファイルに関してＡ（部門長）、Ｃ（人事部員）は全項目のアクセスが許可されているが、Ｂ（所属長）は「賞罰歴」、「異動申請」の項目アクセスが禁止され、その他の項目についてはアクセスが許可されている。また、Ｄ（一般社員）は、更にアクセス不可項目が多くなっている。
【００１３】
次に、図８のステップＡ２に進み、レコードアクセス権設定処理が行われる。
図１０はこの場合の設定処理を示したフローチャートであり、アクセス権設定用表フォームＦＭから所定の表フォーム情報を呼び出す（ステップＣ１）。この場合の表フォームは、図１６に示すように、表外にファイル名欄が配置され、表内の列項目に項目アクセス権グループ欄が配置され、行項目にレコードアクセス権グループ欄が配置されて成る。ここで、データベースに存在する各種ファイルのファイル名が一覧表示され、その中から任意のファイルをアクセス対象として指定するために、そのファイル名が選択されると（ステップＣ２）、選択されたファイル名はファイル名欄に表示される（ステップＣ３）。そして、項目アクセス権自動生成定義ファイルＦＧＦに定義されているユーザグループコードおよび項目内容をそれぞれ読み出して表内の項目アクセス権グループ欄に表示する（ステップＣ４）。この場合、図１６に示すように当該グループ欄には、「Ａ、部門長」……「Ｄ、一般社員」に区分されて配置表示される。次に、レコードアクセス権自動生成定義ファイルＲＧＦに定義されているユーザグループコードおよび項目内容をそれぞれ読み出して表内のレコードアクセス権グループ欄に表示する（ステップＣ５）。この場合、図１６に示すように当該グループ欄には「１、人事部」、「２、総務部」、「３、営業部」に区分されて配置表示される。
【００１４】
このように表の列見出しとして項目アクセス権グループ情報、行見出しとしてレコードアクセス権グループ情報が表示され、行見出しと列見出しとから成るマトリック状の交点領域に、レコードアクセス条件を記述する（ステップＣ６）。この場合、各交点領域は２種類のレコードアクセス条件が設定可能となるように区分されている。そして、データ項目名と条件値とを比較演算子（＜、≦、＝、≧、≠）で結びつけた論理式でレコードアクセス条件を記述する。なお、条件値を省略した場合は該当ユーザ自身が持つ値となる。つまり、「部門＝    」は該当ユーザと同じ部門を示す。また、交点領域内に複数のレコードアクセス条件を設定すると、それらのＡＮＤ条件が設定された論理式となる。例えば、項目アクセス権グループコードが「Ｃ」でレコードアクセス権グループコードが「１」の交点領域、「Ｃ１」（人事部員、人事部）は「該当ユーザと同じ事業所」かつ「自分以外（社員Noが異なる）」ことを意味している。なお、Ｃ２（人事部員、総務部）など意味のない領域にはレコードアクセス条件の設定は不要となる。そして、行ポイント、列ポイントを更新しながら各交点領域にレコードアクセス条件を記述してゆく。ここで、表の記述が終了すると、その設定内容はレコードアクセス権管理ファイルＲＭＦに転送されて記憶管理される（ステップＣ７）。
【００１５】
図１７（Ｂ）はレコードアクセス権管理ファイルＲＭＦのデータ構造を示したもので、図１６の表設定情報は図１７（Ｂ）に示したようなデータ形式で記憶管理される。この場合、ＦＩＬＥ＝ファイル名、アクセス権コード：条件項目名；条件；条件項目名：条件；……のデータ形式で記憶される。なお、アクセス権コードは項目アクセス権グループコードとレコードアクセス権グループコードとを組み合せたものである。
【００１６】
次に、図８のステップＡ３に進み、ユーザ別アクセス権自動設定処理が行われる。
図１１はこの自動設定処理を示したフローチャートである。
先ず、ログイン管理情報ファイルＬＭＦをアクセスするｉレジスタをクリアすると共に、ユーザ別アクセス権管理ファイルＵＭＦの内容を全てクリアするイニシャライズ処理が行われる（ステップＤ１）。そして、ｉレジスタに「１」を加算してその値を更新すると共に（ステップＤ２）、このｉレジスタの値でログイン管理情報ファイルＬＭＦをアクセスしてｉ番目のレコードを読み出し、そのレコードから「ログインＩＤ」を抽出してレジスタＸ１にセットしておく（ステップＤ３）。この場合、図４に示す具体例においては、最初のレコードのログインＩＤ「ｔｕｚａｋｉ」がレジスタＸ１にセットされる。次に、当該レコードのログインＩＤに代えてログイン管理情報連携定義ファイルＬＬＦの「Ｌｏｇｉｎ」に定義されている項目名「ユーザNo」の値を検索データとする（ステップＤ４）。次に、ログイン管理情報連携定義ファイルＬＬＦの「Ｆｉｌｅ」に定義されているファイル名、ＤＢ名「社員情報、人事」に基づいてデータベースファイル「社員情報ファイルＤＢ」を検索対象ファイルとして特定する（ステップＤ５）。そして、ログイン管理情報連携定義ファイルＬＬＦの「Ｆｉｅｌｄ」で定義されている項目名「社員No」をデータベースファイルの検索対象項目として、ステップＤ４で特定した検索データを検索キーとして当該ファイルを検索し、これによって検索されたレコードを連携対象とする（ステップＤ６）。すなわち、図３、図４の例では、「ユーザNo＝１０２６５」と社員情報ファイルの社員Noとを比較し、社員No＝１０２６５で示される津崎○○のレコードを連携対象とする。
【００１７】
次に、この連携対象のレコードを構成する各項目のうち、項目アクセス権自動生成手儀ファイルＦＧＦの「Ｆｉｌｄ」に定義されている項目名「役職」の項目内容に着目し、項目アクセス権自動生成手儀ファイルＦＧＦの「ＣｏｄｅＮ」に定義されている各項目内容「部門長」、「所属長」……と比較して何れかに一致する場合にはそのユーザグループコードをレジスタＸ２にセットする（ステップＤ７）。この場合、津崎○○のレコードにおいて、その役職は部門長であるため、レジスタＸ２にはユーザグループコードとして「Ａ」がセットされる。更に、連携対象レコードを構成する各項目のうちレコードアクセス権自動生成定義ファイルＲＧＦの「Ｆｉｌｄ」に定義されている項目名「部門」の項目内容に着目し、レコードアクセス権自動生成定義ファイルＲＧＦの「ＣｏｄｅＮ」に定義されている各項目内容「人事部」、「総務部」……と比較して何れかに一致する場合にはそのユーザグループコードをレジスタＸ３にセットする（ステップＤ８）。この場合、津崎○○のレコードにおいて、その部門は人事部であるため、レジスタＸ３にはユーザグループコードとして「１」がセットされる。そして、レジスタＸ１、Ｘ２、Ｘ３内のデータを組み合せてＸ１＝Ｘ２Ｘ３のデータ構造となるレコードを作成し、ユーザ別アクセス権管理ファイルＵＭＦに書き込む（ステップＤ９）。この場合、ｔｕｚａｋｉ＝Ａ１のレコードがユーザ別アクセス権管理ファイルＵＭＦの先頭レコードとして書き込まれる（図６（Ａ）参照）。この場合、ユーザ名はログインＩＤで示され、アクセス権グループは項目アクセス権グループコードとレコードアクセス権グループコードとを組み合せたものとなり、「ｔｕｚａｋｉ」は項目アクセス権グループが部門長で、レコードアクセス権グループが人事部となるアクセス権を持っている。以下、ログイン管理情報ファイルＬＭＦの最終レコードまで上述の動作を繰り返すために、ステップＤ１０で最終レコードを越えたことが検出されるまでステップＤ２に戻る。
【００１８】
このようにして項目アクセス権管理ファイルＦＭＦ、レコードアクセス権管理ファイルＲＭＦ、ユーザ別アクセス権管理ファイルＵＭＦへの設定が終了すると、図８のステップＡ４に進みアクセス権設定処理が行われる。
図１２はこの場合の設定処理を示したフローチャートであり、先ず、アクセス権最適化処理が行われる（ステップＥ１）。この最適化処理は図１３のフローチャートにしたがって実行される。すなわち、レコードアクセス権管理ファイルＲＭＦの内容を読み出し（ステップＦ１）、ファイル毎にアクセス権コードの項目アクセス権が同じ行のレコードアクセス条件を比較し、同一条件が設定されているアクセス権コードをグルーピングする（ステップＦ２）。ここで、レコードアクセス権管理ファイルＲＭＦに設定されているアクセス権コードは、Ａ１、Ｂ１、Ａ２……のように項目アクセス権とレコードアクセス権とを組み合せたもので、例えば、Ａ１、Ａ２、Ａ３のように項目アクセス権が同じ値である行に関してアクセス権コードに対応付けられているレコードアクセス条件を比較する。ここで、図１６に示したようにコードＡ２、Ａ３の条件はそれぞれ「部門＝    」で同一であり、またコードＢ２、Ｂ３の条件はそれぞれ「所属＝    」で同一であるため、同一条件が設定されているアクセス権コードＡ２、Ａ３あるいはＢ２、Ｂ３をグルーピングする。そして、全てのファイルに対して同一グループにグルーピングされたアクセス権コードをグループ「ｇｒｏｕｐ＝    」としてまとめ、それを最適化アクセス権管理ファイルＯＰＦに転送する（ステップＦ３）。
図１８（Ｂ）は最適化アクセス権管理ファイルＯＰＦのデータ構造を示したもので、図１７（Ｂ）に示したレコードアクセス権管理ファイルＲＭＦの内容が最適化されて図１８（Ｂ）に示すようなデータ形式で記憶管理される。この場合、ｇｒｏｕｐ＝グループ名：アクセス権グループコード；アクセス権グループコード；、ファイル名：条件項目名；条件：条件項目名：条件……のデータ形式で記憶管理される。なお、この場合のグループ名はアクセス権最適化処理時にグルーピングされたグループに対して付加された名称であり、Ａ−１、Ａ−２、Ｂ−１、Ｂ−２等によって表わされる。また、図中、「社員××」は社員情報ファイルとは異なる他のファイル名を示している。
【００１９】
このようなアクセス権最適化処理が行われると、図１２のステップＥ２に進み、最適化アクセス権管理ファイルＯＰＦと項目アクセス権管理ファイルＦＭＦとの組み合せによりアクセス権の仕様を決定する。ここで、仕様とはリレーショナルデータベース管理システムＲＤＢＭＳ側でのビュー、スキーマなどをどのように設定するかを指している。すなわち、スキーマ（所有者）は最適化グループ名（Ａ−１、Ｂ−１等）で、グループとスキーマとは１：１の関係で定義される。そして、各スキーマには項目アクセス権管理ファイルＦＭＦに定義されている項目アクセス権と、最適化アクセス権管理ファイルＯＰＦに定義されているレコードアクセス権によってファイル単位毎にアクセス権を管理するビューが定義される。ただし、全ての権限が許可されているファイルに対してはシノニムが定義される。
【００２０】
上述のようにして決定されたアクセス権仕様に基づいてリレーショナルデータベース管理システムＲＤＢＭＳに対してＶＩＥＷ表の生成を指示するためのＳＱＬ文を作成する（ステップＥ３）。そして、自動作成されたＳＱＬ文をリレーショナルデータベース管理システムＲＤＢＭＳを介してデータベースＤＢに設定する（ステップＥ４）。次に、最適化アクセス権管理ファイルＯＰＦとユーザ別アクセス権管理ファイルＵＭＦとの内容に基づいてユーザ別ＤＢアクセス権ファイルＵＡＦを作成する（ステップＥ５）。すなわち、データアクセス時に入力されるログイン名をデータベースＤＢのログイン名（最適化されたグループ名）に変換するために使用されるユーザ別ＤＢアクセス権ファイルＵＡＦを最適化アクセス権管理ファイルＯＰＦをユーザ別アクセス権管理ファイルＵＭＦとの内容に基づいて作成し、これをデータベースＤＢに設定する。図１８（Ａ）はユーザ別アクセス権管理ファイルＵＭＦ、図１８（Ｃ）はユーザ別ＤＢアクセス権ファイルＵＡＦのデータ構造を示している。
【００２１】
次に、上述のようにしてアクセス権の設定が終り、その設定内容にしたがってデータベースＤＢをアクセスする際の動作を図１４のフローチャートにしたがって説明する。
先ず、アクセスを要求したユーザのログイン名がシステム入力されると、入力されたログイン名に基づいてユーザ別ＤＢアクセス権ファイルＵＡＦを検索し、このログイン名を社員情報ファイルＤＢのログイン名に変換する（ステップＧ１）。例えば、「ｔｓｕｚａｋｉ」が入力されると、「Ａ−１」に変換される。そして、変換されたログイン名でリレーショナルデータベース管理システムＲＤＢＭＳに対してアクセス処理を要求する（ステップＧ２）。
ところで、リレーショナルデータベース管理システムＲＤＢＭＳ側においては、アプリケーションプログラムＡＰからのＳＱＬ文を解析してＶＩＥＷ表を生成して記憶管理しており、アクセス要求された際に、このログイン名のＶＩＥＷ表を解析する。これによってアクセス対象ファイルを指定すると共に、アクセス権が許可されている項目、レコードを検索し、その検索結果を出力するが、その際、アクセス不可の項目、レコードについては、その情報を上位のアプリ実行制御へ伝送する。
ここで、リレーショナルデータベース管理システムＲＤＢＭＳからアクセス不可が有れば（ステップＧ３）、アプリ実行制御によってアクセス不可の項目、レコード部分に対して※挿入、空白挿入、不表示等の後、処理が行われたのち（ステップＧ４）、データ表示処理に移るが（ステップＧ５）、アクセス不可が無ければ、そのままデータ表示処理に移る（ステップＧ５）。
以上は検索動作を示したが、書き込み処理に於ては、アクセス不可の項目、レコードに対しての処理要求に対して、ＲＤＢＭＳとアプリ実行制御で適切な処理が行なわれる。
【００２２】
したがって、図５に示した社員情報ファイルに対して、例えば、一般社員であるユーザがアクセス可能な社員情報ファイルの内容は、図１９に示す如くとなる。なお、図１９の例はレコードアクセス権を設定せず、項目アクセス権のみを設定した場合である。すなわち、項目アクセス権グループ（一般社員）に対応付けて項目アクセスの可否を社員情報ファイルのデータ項目毎に図１５の表の如く記述したものとすると、データ項目「資格」、「考課」、「給与」、「年齢」、「賞罰歴」、「異動申請」については機密保持の関係上、項目アクセスが禁止され、当該各項目領域はアスタリスクで埋め込まれた表示状態となる。また、例えば総務部の部門長がアクセスすることができる社員情報ファイルの内容は、図２０に示す如くとなる。すなわち、項目アクセス権グループ（部門長）、レコードアクセス権グループ（総務部）に対応付けて検索条件項目およびその条件値を図１６の表の如く記述したものとすると、該当ユーザと同じ部門のレコードのみがアクセスされて一覧表示されるが、営業部、人事部等、他部門に属するレコードは不表示となる。この場合、部門長は全項目についてアクセスが許可されている。更に、例えば、総務部で一般社員がアクセスすることができる社員情報ファイルの内容は、図２１に示す如くとなる。この場合、図１６で示したように項目アクセス権グループ（一般社員）、レコードアクセス権グループ（総務部）に対応付けて記述された検索条件項目およびその条件値は、「所属＝    」、「役職≦  」であり、それらのＡＮＤ条件にしたがってデータ項目、レコードアクセスの可否が設定されている。したがって、所属が同一で自分よりも役職が以下のレコードがアクセスされると共に、項目アクセス可否の各項目領域はアスタリスクで埋めこ込まれることになる。
【００２３】
以上のようにこのデータアクセス制御装置においては、ログイン管理情報連携定義ファイルＬＬＦ、項目アクセス権自動生成定義ファイルＦＧＦ、レコードアクセス権自動生成定義ファイルＲＧＦ内の各定義情報に基づいてログイン管理情報ファイルＬＭＦ、社員情報ファイルＤＢ内の情報を読み出してユーザ別アクセス権管理ファイルＵＭＦを自動設定するようにしたので、ユーザ別アクセス権管理ファイルＵＭＦの内容をユーザ毎に入力設定する作業が不要となる。つまり、ユーザ数が膨大な社員情報ファイルＤＢの内容にしたがってオペレータがユーザ別アクセス権管理ファイルＵＭＦの内容を設定しようとすると、入力操作に時間がかかると共にオペレータの注意力に頼ることになるので、入力ミスも起り易くなるが、ユーザ別アクセス権管理ファイルＵＭＦを自動設定することで、オペレータの負担を軽減できる他、確実な設定が可能となり、しかも社員情報ファイルＤＢとユーザ別アクセス権管理ファイルＵＭＦとの整合性を確保することができる。また、社員情報ファイルＤＢの内容が変更された際には、それに応じてユーザ別アクセス権管理ファイルＵＭＦの設定内容も自動的に変更することができる。
また、ユーザの属性に応じたアクセス権を設定する際に、データベース言語による設定を意識した記述を不要とし、専門的知識を有しない一般の業務担当者であっても簡単にアクセス権を設定したり、変更することができると共に、アプリケーション自体にアクセス権を記述せず、別個に管理されたアクセス権情報を解析してアクセス制御を行うことで、オープン環境下でもセキュリティを維持することができる。
【００２４】
なお、上述した一実施形態においては、図６（Ａ）に示したようにログインＩＤに対応付けて項目アクセス権グループコードとレコードアクセス権グループコードとを組み合せたが、図６（Ｂ）に示すように項目アクセス権グループコードのみ、あるいは図６（Ｃ）に示すようにレコードアクセス権グループコードのみをユーザ別アクセス権管理ファイルＵＭＦに設定するようにしてもよい。
また、リード、ライト、レコード挿入、レコード削除等のアクセス権設定制御を可能とすれば、より細やかなアクセス権制御が可能となる。またリレーショナルデータベース管理システムＲＤＢＭＳを採用したが、より上位のＤＢ応用層（ＤＢ利用アプリケーション）にて制御を行えば、アクセス権制御の自由度が拡張される。
また、データベースに存在する複数のファイルを結合するアクセス権設定、制御を可能とする他に、複数のデータベースから任意のデータベースを選択し、そこから１または複数のファイルを選択してアクセス権設定、制御を行うようにすれば、対象範囲の拡大を図ることができる。
【００２５】
【発明の効果】
この発明によれば、専門的知識を有しない一般の業務担当者であっても簡単にアクセス権を設定したり、変更することができると共に、アプリケーション自体にアクセス権を記述せず、別個に管理されたアクセス権情報を解析してアクセス制御を行うことで、オープン環境下でもセキュリティを維持することができる。
特に、社員情報等のユーザ管理情報のアクセスをユーザの属性に応じてユーザグループ毎に制御するために、ユーザ毎にユーザログイン情報とユーザグループとを対応付けたユーザ別グループ情報をユーザ管理情報を基に自動生成することで、オペレータの負担を大幅に軽減したり、設定ミスを防止できる他、ユーザグループ別のアクセス権とユーザ管理情報との整合を確保することができる。
【図面の簡単な説明】
【図１】データアクセス制御装置の全体構成を示したブロック図。
【図２】記憶装置３内の名称ファイルを示した図。
【図３】（Ａ１）、（Ａ２）は項目アクセス権自動生成定義ファイルＦＧＦのデータ構造およびその具体例を示した図、（Ｂ１）、（Ｂ２）はレコードアクセス権自動生成定義ファイルＲＧＦのデータ構造およびその具体例を示した図、（Ｃ１）、（Ｃ２）はログイン管理情報連携定義ファイルＬＬＦのデータ構造およびその具体例を示した図。
【図４】ログイン管理情報ファイルＬＭＦの構成を示した図。
【図５】社員情報ファイルＤＢの構成を示した図。
【図６】（Ａ）はこの一実施形態におけるユーザ別アクセス権管理ファイルＵＭＦの構成を示した図、（Ｂ）、（Ｃ）はユーザ別アクセス権管理ファイルＵＭＦの変形応用例を示した図。
【図７】社員情報ファイルＤＢ、項目アクセス権自動生成定義ファイルＦＧＦ、レコードアクセス権自動生成定義ファイルＲＧＦ、ログイン管理情報ファイルＬＭＦ、ログイン管理情報連携定義ファイルＬＬＦを基にユーザ別アクセス権管理ファイルＵＭＦが自動生成されることを模式的に示した図。
【図８】アクセス権設定時の全体動作の概要を示したフローチャート。
【図９】図８のステップＡ１（項目アクセス権設定処理）を詳述したフローチャート。
【図１０】図８のステップＡ２（レコードアクセス権設定処理）を詳述したフローチャート。
【図１１】図８のステップＡ３（ユーザ別アクセス権グループ自動設定処理）を詳述したフローチャート。
【図１２】図８のステップＡ４（アクセス権設定処理）を詳述したフローチャート。
【図１３】図１２のステップＥ１（アクセス権最適化処理）を詳述したフローチャート。
【図１４】アクセス権制御処理を示したフローチャート。
【図１５】項目アクセス権を表形式で設定する際の設定例を示した図。
【図１６】レコードアクセス権を表形式で設定する際の設定例を示した図。
【図１７】（Ａ）は項目アクセス権管理ファイルＦＭＦのデータ構造を示した図、（Ｂ）はレコードアクセス権管理ファイルＲＭＦのデータ構造を示した図。
【図１８】（Ａ）はユーザ別アクセス権管理ファイルＵＭＦ、（Ｂ）は最適化アクセス権管理ファイルＯＰＦ、（Ｃ）はユーザ別ＤＢアクセス権ファイルＵＡＦのデータ構造を示した図。
【図１９】一般社員についての項目アクセス権のみが設定されている場合に、その設定内容に応じて社員情報ファイルから検索されて表示出力される内容を例示した図。
【図２０】総務部の部門長であるユーザを条件として社員情報ファイルから検索されて表示出力される内容を例示した図。
【図２１】総務部の一般社員であるユーザを条件として社員情報ファイルから検索されて表示出力される内容を例示した図。
【符号の説明】
１  ＣＰＵ
２  ＲＡＭ
３  記憶装置
４  記憶媒体
５  入力装置
６  表示装置
ＤＢ  社員情報ファイル
ＲＤＢＭＳ  リレーショナルデータベース管理システム
ＡＰ  アプリケーションプログラム
ＦＭＦ  項目アクセス権管理ファイル
ＲＭＦ  レコードアクセス権管理ファイル
ＵＭＦ  ユーザ別アクセス権管理ファイル
ＦＧＦ  項目アクセス権自動生成定義ファイル
ＲＧＦ  レコードアクセス権自動生成定義ファイル
ＬＭＦ  ログイン管理情報ファイル
ＬＬＭ  ログイン管理情報連携定義ファイル
Ｍ１  ユーザ別アクセス権設定制御部
Ｍ２  ユーザ別アクセス権グループ自動設定部
【図１】
0003937548.tif 000002
【図２】
0003937548.tif 000003
【図３】
0003937548.tif 000004
【図４】
0003937548.tif 000005
【図５】
0003937548.tif 000006
【図６】
0003937548.tif 000007
【図７】
0003937548.tif 000008
【図８】
0003937548.tif 000009
【図９】
0003937548.tif 000010
【図１０】
0003937548.tif 000011
【図１１】
0003937548.tif 000012
【図１２】
0003937548.tif 000013
【図１３】
0003937548.tif 000014
【図１４】
0003937548.tif 000015
【図１５】
0003937548.tif 000016
【図１６】
0003937548.tif 000017
【図１７】
0003937548.tif 000018
【図１８】
0003937548.tif 000019
【図１９】
0003937548.tif 000020
【図２０】
0003937548.tif 000021
【図２１】
0003937548.tif 000022