(57)【要約】【課題】データに対するアクセスが制限されている場合に、データの検索結果一覧を作成するための処理時間を短縮する。【解決手段】契約データ２１の新規登録・更新時にユーザ毎にアクセス可能契約情報２２を作成する（図２、Ｓ３０）。契約データ２１の検索を行ったとき、アクセス可能契約情報２２を参照して、検索結果のデータのアクセス権限をユーザが持っているか否かを判定し（Ｓ３２）、その判定結果に基づいてユーザが閲覧可能な検索結果一覧を表示する（Ｓ３３）。これにより検索結果一覧を作成するための処理時間を短縮できる。【選択図】図２
2008243089.tif 000002
【特許請求の範囲】
【請求項１】
データの登録または更新時またはユーザ追加時に、ユーザ識別情報と、前記データのデータ識別情報と、前記データの複数の項目データに対するアクセス権の有無を示すアクセス権情報からなるアクセス可能情報を作成するステップと、
ユーザからデータの検索要求があったとき、検索条件と一致するデータを記憶手段から検索するステップと、
検索を要求したユーザの前記アクセス可能情報を参照して、前記ユーザが検索結果の前記項目データに対するアクセス権を持っているか否かを判定するステップと、
前記ユーザがアクセス権を持っている場合には、前記項目データの前記ユーザへの出力を許可し、前記ユーザがアクセス権を持っていない場合には、前記項目データの出力を禁止するステップとを、コンピュータに実行させるデータのアクセス権制御プログラム。
【請求項２】
データを記憶する記憶手段と、
データの登録または更新時またはユーザ追加時に、ユーザ識別情報と、前記データのデータ識別情報と、前記データの複数の項目データに対するアクセス権の有無を示すアクセス権情報からなるアクセス可能情報を作成するアクセス可能情報作成手段と、
検索条件に該当するデータを前記記憶手段から検索する検索手段と、
検索を要求したユーザの前記アクセス可能情報を参照して、前記ユーザが前記検索手段の検索結果の前記項目データに対するアクセス権を持っているか否かを判定する判定手段と、
前記ユーザがアクセス権を持っている場合には、前記項目データの前記ユーザへの出力を許可し、前記ユーザがアクセス権を持っていない場合には、前記項目データの出力を禁止する出力制御手段とを備えるアクセス管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データのアクセス権を制御するプログラム及びデータのアクセス管理を行う装置に関する。
【背景技術】
【０００２】
セキュリティを確保するためにアクセス権限が設定されているデータを管理するデータ管理システムにおいては、ユーザの検索要求に応じて検索結果のデータを出力する場合に、そのユーザが検索結果のデータの閲覧権限を持っているか否かを判定する必要がある。
【０００３】
図２１は、契約データのアクセスを管理する契約データ管理システムにおける検索処理の概要を示す図である。
ユーザから検索要求があると、指定された条件で記憶装置に格納されている契約データ１１を検索する（図２１、Ｓ１１）。検索結果のデータの内でユーザがアクセス可能なデータと、アクセスできないデータを振り分けるために（Ｓ１２）、契約データ１１毎に所属部門を読み込み（Ｓ１３）、アクセス権情報を契約データ毎にダイナミックに作成する（Ｓ１４）。そして、作成されたアクセス権情報に基づいて検索結果のデータに対するアクセス権をユーザが持っているか否かを判断し、アクセス可能なデータの検索結果一覧を表示する（Ｓ１５）。
【０００４】
図２２は、従来の検索処理のフローチャートである。ユーザの検索指定に従って契約データ１１の検索（ＳＱＬ（Structured Query Language）発行）を行う（図２２、Ｓ２１）。検索によりヒットした契約データ一覧から契約データ１１を１件抽出する（Ｓ２２）。次に、その契約データ１１に対するアクセス権情報を取得する（Ｓ２３）。
【０００５】
上記のアクセス権情報の取得処理では、例えば、契約データ１１に設定されている契約管理部門、契約事業部門等の情報を取得し、さらに、ユーザの所属部門等によるアクセス権情報を取得する。
【０００６】
次に、抽出した契約データ１１に対して一覧表示権限があるか否かを判別する（Ｓ２４）。一覧表示権限がある場合には（Ｓ２４、有り）、ステップ２５に進み、その契約データ１１に対して検索項目のアクセス権があるか否かを判別する。
【０００７】
ステップ２４において、その契約データ１１に対する一覧権限が無いと判別された場合（Ｓ２４，無し）、またはステップ２５において、その契約データ１１の検索項目のアクセス権限が無いと判別された場合には（Ｓ２５，無し）、ステップ２６に進み、契約一覧からその契約データ１１を除外する。
【０００８】
ステップ２５で、抽出した契約データ１１の検索項目のアクセス権限が有ると判定された場合には（Ｓ２５、有り）、ステップ２７に進み、他の契約データ１１が有るか否かを判別する。他の契約データ１１が有る場合には（Ｓ２７、有り）、ステップ２２に戻り、ヒットした検索データ一覧から次の契約データ１１を抽出して、上述した処理を繰り返す。
【０００９】
図２３は、従来のアクセス権制御方法の説明図である。従来のアクセス権制御では、利用者は、基本的には自分が所有するデータのみアクセスが可能であり、管理者はスーパーユーザとして全てのデータにアクセス可能である。
【００１０】
特許文献１には、検索要求に合致する文書情報を検索するときに、該当する文書のアクセス権をユーザが持っているどうかを判別して一定数の文書一覧を作成するときに、ユーザが閲覧可能と判別された最後の文書の位置を次検索ポインタに記憶しておくことで、次に閲覧可能な文書一覧を作成するときの処理時間を短縮することが記載されている。
【００１１】
特許文献２には、契約管理システムにおいて、契約情報をその内容に応じて複数のグループに分けて、ユーザ毎にどのグループまでの契約データをアクセスできるかを決めておき、ユーザから契約情報の検索要求があったとき、検索により得られるデータの中でそのユーザがアクセス権を有する契約データを提供することが記載されている。
【００１２】
上述した従来のアクセス権制御方法では、データの項目データ毎にアクセス権が設定されている場合に、検索結果が得られた時点で、項目データのアクセス権の制限条件と、ユーザのアクセス権情報を調べて、検索結果のデータに対するアクセス権をそのユーザが持っているか否か判定する必要がある。このような判定を検索結果の全てのデータの各項目データに対して行って検索結果一覧を作成する必要があるため、検索結果を得た後に、検索結果一覧を作成するための処理に多くの時間を要するという問題点があった。
【特許文献１】特開２００４−１８５０９５号公報
【特許文献２】特開２００４−２４０８９１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
本発明の課題は、データに対するアクセスが制限されている場合に、データの検索結果一覧を作成するための処理時間を短縮することである。
【課題を解決するための手段】
【００１４】
本発明のデータのアクセス権制御プログラムは、データの登録または更新時に、ユーザ識別情報と、前記データのデータ識別情報と、前記データの複数の項目データに対するアクセス権の有無を示すアクセス権情報からなるアクセス可能情報を作成するステップと、ユーザからデータの検索要求があったとき、検索条件と一致するデータを記憶手段から検索するステップと、検索を要求したユーザの前記アクセス可能情報を参照して、前記ユーザが検索結果の前記項目データに対するアクセス権を持っているか否かを判定するステップと、前記ユーザがアクセス権を持っている場合には、前記項目データの前記ユーザへの出力を許可し、前記ユーザがアクセス権を持っていない場合には、前記項目データの出力を禁止するステップとを、コンピュータに実行させる。
【００１５】
この発明によれば、検索結果を得た後に、検索結果のデータに対するユーザのアクセス権の有無を判定して検索結果一覧を作成するときの処理時間を短縮することができる。
図１は、本発明に係るアクセス管理装置の説明図である。アクセス管理装置は、データを記憶する記憶手段１と、データの登録または更新時またはユーザ追加時に、ユーザ識別情報と、前記データのデータ識別情報と、前記データの複数の項目データに対するアクセス権の有無を示すアクセス権情報からなるアクセス可能情報を作成するアクセス可能情報作成手段２と、検索条件に該当するデータを前記記憶手段から検索する検索手段３と、検索を要求したユーザの前記アクセス可能情報を参照して、前記ユーザが前記検索手段の検索結果の前記項目データに対するアクセス権を持っているか否かを判定する判定手段４と、前記ユーザがアクセス権を持っている場合には、前記項目データの前記ユーザへの出力を許可し、前記ユーザがアクセス権を持っていない場合には、前記項目データの出力を禁止する出力制御手段５とを備える。
【００１６】
この発明によれば、アクセスが制限されているデータの検索結果一覧を作成する処理の処理時間を短縮することができる。
【発明の効果】
【００１７】
本発明によれば、アクセスが制限されているデータの検索結果一覧を作成する処理の処理時間を短縮することができる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の実施の形態について図面を参照しながら説明する。図２は、実施の形態の検索処理の概要を示す図である。以下、契約管理システムを例にとり、実施の形態のアクセス権制御方法について説明する。
【００１９】
この実施の形態においては、契約データ２１の新規登録・更新時にユーザ毎にアクセス可能契約情報（アクセス可能情報に対応する）２２を作成し、そのアクセス可能契約情報２２をディスク装置等の記憶装置に格納しておく（図２、Ｓ３０）。そして、ユーザに指定された検索条件で契約データ２１の検索を実行し、検索結果を出力する（図２、Ｓ３１）。検索結果が得られたなら、ユーザのアクセス可能契約情報２２を参照して、検索結果のデータをユーザがアクセス権限を持っているデータとアクセス権限を持っていないデータに振り分ける。
【００２０】
アクセス可能契約情報２２とは、契約データ２１に対するユーザのアクセス権限の有無を示す情報である。実施の形態の契約データ２１は、複数の項目データからなり、項目データに対するアクセスを制限するために項目データに対して複数のアクセスグループＡＧ１〜ＡＧ６の内の１つのアクセスグループが設定されている。アクセス可能契約情報２２には、ユーザＩＤ、契約番号と対応付けてそのユーザが複数のアクセスグループＡＧ１〜ＡＧ６の内のどのアクセスグループに対するアクセス権限を持っているかを示す情報が設定される。
【００２１】
従って、上記のアクセス可能契約情報２２を参照することで、検索結果のデータ（項目データ）に対してユーザがアクセス権限を持っているか否かを判定することができる。そして、ユーザがアクセス権限を持っていないデータを除外し、アクセス権限を持っているデータを検索結果一覧として表示する（Ｓ３３）。
【００２２】
ここで、実施の形態の契約管理システムの契約データ２１とアクセスグループの関係、ユーザの所属部門とアクセス権限との関係、ユーザに対して設定されている１または複数の社内グループとアクセス権限の関係について説明する。
【００２３】
図３は、アクセスグループの説明図である。この実施の形態においては、契約データ２１の項目データに対するアクセスを個別に制限するために６種類のアクセスグループＡＧ１〜ＡＧ６が定義されている。そして、契約データ２１の金銭的な情報を含まない基本情報、金銭的な情報を含む対価・収支情報、検索結果一覧情報、電子保管文書、事業部単位での統計機能、契約単位での統計機能等のデータに対してアクセスグループＡＧ１〜ＡＧ６の内の１つのアクセスグループが設定されている。
【００２４】
例えば、基本情報全体、あるいはその一部のデータのＡＧ種類としてアクセスグループＡＧ１が設定されている場合には、アクセスグループＡＧ１に対するアクセス権限を有するユーザのみがそのデータを検索して表示させることができる。
【００２５】
また、対価・収支情報のＡＧ種類としてアクセスグループＡＧ２が設定されている場合には、アクセスグループＡＧ２に対するアクセス権限を有するユーザのみが、対価・収支情報を検索して表示させることができる。
【００２６】
契約データ２１の検索結果一覧情報（契約名、契約期間、契約会社、関連部門の契約管理部門等の情報）のＡＧ種類としてアクセスグループＡＧ３が設定されている場合には、アクセスグループＡＧ３に対するアクセス権限を有するユーザのみが、その一覧情報を検索して表示させることができる。
【００２７】
電子保管文書のＡＧ種類としてアクセスグループＡＧ４が設定されている場合には、アクセスグループＡＧ４に対するアクセス権限を有するユーザのみが、契約データ２１の電子保管文書を検索して表示させることができる。
【００２８】
事業部単位での統計機能のＡＧ種類としてアクセスグループＡＧ５が設定されている場合には、アクセスグループＡＧ５に対するアクセス権限を有するユーザのみが、契約データ２１の事業部単位の統計データを検索して出力させることができる。
【００２９】
契約単位での統計機能のＡＧ種類としてアクセスグループＡＧ６が設定されている場合には、アクセスグループＡＧ６に対するアクセス権限を有するユーザのみが、契約データ２１データの契約単位の統計データを検索して出力させることができる。
【００３０】
図４は、契約データ２１の構成の一例を示す図である。契約データ２１は、基本情報と、テキスト情報と、関連部門情報と、対価情報と、電子保管文書と、収支情報に分類することができる。テキスト情報は契約データ２１のメモ事項等からなる。
【００３１】
図４に示すように、基本情報の各データは、アクセスグループＡＧ１またはＡＧ２のデータとして設定され、テキスト情報の各データは、アクセスグループＡＧ１〜ＡＧ３のデータとして設定されている。関連部門情報の各データは、アクセスグループＡＧ１〜ＡＧ３のデータとして設定され、対価情報の各データは、アクセスグループＡＧ２のデータとして設定され、電子保管文書はアクセスグループＡＧ４のデータとして設定され、収支情報はアクセスグループＡＧ２のデータとして設定されている。また、事業部単位の統計データはアクセスグループＡＧ５のデータとして設定され、契約単位の統計データはアクセスグループＡＧ６のデータとして設定されている。
【００３２】
次に、図５は、所属部門によるアクセス権を示す図である。図５の行方向の所属部門と、列方向のアクセスグループＡＧ１〜ＡＧ６の交差する位置の○と×の表示は、それぞれの所属部門の人が、どのアクセスグループに対するアクセス権限を持っているかを示している。
【００３３】
契約管理部門に属するユーザと知財部門に属するユーザは、全てのアクセスグループＡＧ１〜ＡＧ６に対するアクセス権限を有している。従って、契約データ２１に設定されている契約関連部門が契約管理部門または知財部門である場合には、契約管理部門または知財部門に属するユーザは、該当する契約データ２２の基本情報、関連部門情報、対価情報、収支情報等の全てのデータを検索して閲覧することができる。
【００３４】
経理部門に属するユーザは、アクセスグループＡＧ４を除いた他の全てのアクセスグループに対するアクセス権限を有する。従って、契約データ２１に設定されている契約関連部門が経理部門の場合には、経理部門に属するユーザは、アクセスグループＡＧ４のデータ以外の全てのデータに対するアクセス権限を有する。
【００３５】
事業部門に属するユーザは、アクセスグループＡＧ１とＡＧ３に対するアクセス権限のみを有している。従って、契約データ２１に設定されている契約関連部門が、自分の属する事業部門である場合には、その事業部門に属するユーザはアクセスグループＡＧ１とＡＧ３のデータに対するアクセス権限を有する。
【００３６】
次に、図６は、ユーザ登録画面において登録されるユーザの社内グループとアクセス権限を示す図である。図６の表示例は、事業部が電算課で、ビジネスグループがＰＣグループであるユーザのアクセス権限の設定例を示している。
【００３７】
このユーザに対しては、社内グループのＰＣ開発に属する契約データ（ここでは、契約データに登録された事業部門の所属する社内グループがＰＣ開発であるときに「社内グループのＰＣ開発に属する契約データ」と称する）に対し、アクセスグループＡＧ１とＡＧ３に対するアクセスが可能であるという権限が与えられている。ユーザ登録画面における社内グループとアクセス権限の設定はシステムの管理者により行われる。
【００３８】
上記のユーザ登録画面で、１人のユーザに対して複数の社内グループに対するアクセス権限を設定し、かつ社内グループ毎にアクセスグループＡＧ１〜ＡＧ６に対するアクセス権限を個別に設定することが可能である。また、契約に関係しない部門、例えば、会社の役員等に対しては全ての社内グループの全てのアクセスグループＡＧ１〜ＡＧ６にアクセス可能であるという権限を設定することで、役員は全ての契約データ２１をアクセスすることが可能となる。
【００３９】
前述した各ユーザのアクセス可能契約情報２２は、上記の契約データ２１に対して設定されているアクセスグループと、ユーザの所属部門により決まるアクセス権限と、ユーザ登録画面で設定されるユーザの社内グループのアクセス権限に基づいて作成される。
【００４０】
次に、実施の形態の検索処理について図７のフローチャートを参照して説明する。
ユーザの検索指定に従って契約データ２１の検索（ＳＱＬ発行）を行う（図７、Ｓ４１）。次に、ヒットした検索結果一覧から契約データ２１を１件抽出する（Ｓ４２）。
【００４１】
次に、検索を要求したユーザの契約データ２１に対するアクセス可能契約情報２２を取得する（Ｓ４３）。
図８は、アクセス可能契約情報２２の構成の一例を示す図である。アクセス可能契約情報２２は、利用者ＩＤと契約番号とアクセスグループＡＧ１〜ＡＧ６に対するアクセス権限が有るか否かを示す情報とで構成されている。各アクセスグループＡＧ１〜ＡＧ６の列の数字「１」はそのアクセスグループに対するアクセス権限を有することを示し、数字「０」はアクセス権限が無いことを示している。
【００４２】
例えば、利用者ＩＤ「１２３４５６７８」のユーザは、契約番号「ＫＥＩ００１」の契約データ２１のアクセスグループＡＧ１〜ＡＧ６の全てのデータに対するアクセス権限を持っている。また、同じユーザが、契約番号「ＫＥＩ００２」の契約データ２２のアクセスグループＡＧ１、ＡＧ３のデータに対するアクセス権限を有しているが、アクセスグループＡＧ２、ＡＧ４〜ＡＧ６のデータのアクセス権限は持っていないことを示している。
【００４３】
図７に戻り、次に、そのユーザのアクセス可能契約情報２２と契約データ２１を参照して、ユーザがその契約データ２１の一覧表示権限があるか否かを判別する（Ｓ４４）。
一覧表示権限がある場合には（Ｓ４４、有り）、ステップＳ４５に進み、その契約データ２１に対して検索項目のアクセス権限があるか否かを判別する。
【００４４】
その契約データ２１の一覧表示権限が無い場合（Ｓ４４、無し）、または検索項目のアクセス権限が無い場合（Ｓ４５、無し）には、ステップＳ４６に進み、契約一覧からアクセス権限の無い契約データ２１を除外する。
【００４５】
契約データ２１の検索項目のアクセス権限が有る場合には（Ｓ４５、有り）、ステップ
Ｓ４７に進み、他の契約データ２１が存在するか否かを判定する。他の契約データ２１が存在する場合には（Ｓ４７、有り）、ステップＳ４２に戻り、契約データ一覧から次の契約データ２１を取り出して上述した処理を繰り返す。
【００４６】
次に、図９は、契約データ２１を新規に登録するとき、または更新するときの処理の説明図である。以下の処理は、パーソナルコンピュータ等のＣＰＵ等の制御部により実行される。
【００４７】
契約データ２１をデータベースに新規に登録・更新するときに（図９、Ｓ５１）、登録または更新した契約データ２１に対するアクセス可能契約情報２２の処理依頼を行う（Ｓ５２）。この処理依頼に対して、バッチ処理等によりアクセス可能契約情報２２の更新が行われる（Ｓ５３）。
【００４８】
図１０は、アクセス可能契約情報作成処理のフローチャートである。最初に、契約データ２１の新規登録・更新時にデータの保存を行う（図１０、Ｓ６１）。
ここで、契約データ２１の構成の一例を図１１〜図１４を参照して説明する。契約データ２１は、図１１〜図１４に示すような基本情報３１、テキスト情報３２、関連部門情報３３、対価情報３４等からなる。
【００４９】
図１１に示す基本情報３１は、１つのレコードが、契約番号と、契約名称、契約種別、契約締結日、契約発行日、終了予定日等のデータからなる。基本情報３１は、１つのレコードの各列のデータに対してアクセスグループ（ＡＧ種類）が設定されており、それぞれのアクセスグループのアクセス権限を有するユーザのみが、それらのデータを閲覧することができる。この場合、各列のデータが項目データに該当する。
【００５０】
例えば、契約番号に対してはアクセスグループとして「ＡＧ３」が設定されているので、所属部門（または社内グループ）がその契約データ２１の契約関連部門で、アクセスグループＡＧ３のアクセス権限を有するユーザのみが、契約番号を閲覧することができる。アクセスグループＡＧ３のアクセス権限を持たないユーザは契約番号を閲覧することはできない。
【００５１】
また、契約名称に対してはアクセスグループとして「ＡＧ１」が設定されているので、所属部門が契約データ２１の契約関連部門で、かつアクセスグループＡＧ１のアクセス権限を有するユーザのみが、契約名称を検索して閲覧することができる。
【００５２】
図１２に示すテキスト情報３２は、１つのレコードが、アクセスグループの種類と、契約番号と、ＳＥＱと、分類と、テキスト内容等のデータからなる。テキスト情報３２は、各レコードに対してアクセスグループが設定されている。この場合、レコード単位でアクセスグループが設定されているので、１つのレコードが項目データに該当する。
【００５３】
例えば、契約番号ＫＥＩ００１のレコードに対しては、アクセスグループ種類として「ＡＧ１」が設定されているので、所属部門が契約データ２１の契約関連部門で、かつアクセスグループＡＧ１のアクセス権限を有するユーザのみが、契約番号ＫＥＩ００１のテキスト情報３２の検索結果を閲覧することができる。
【００５４】
図１３に示す関連部門情報３３は、１つのレコードが、アクセスグループ種類と、契約番号と、部門識別情報と、部門コードと、担当者コード等のデータからなる。関連部門情報３３は、レコード単位でアクセスグループが設定されており、それぞれのアクセスグループのアクセス権限を有するユーザのみが、関連部門情報３３の検索結果を閲覧することができる。
【００５５】
上記の関連部門情報３３を参照することで、例えば、契約番号ＫＥＩ００１の契約に関連する契約管理部門、契約担当知財部門、契約担当事業部門及び経理担当部門の部門コードを取得して、後述する処理で検索要求を行ったユーザの所属部門が該当する契約データ２１の契約関連部門か否かを判断することができる。
【００５６】
図１４に示す対価情報３４は、１つのレコードが、契約番号と、収支区分と、一時金等の規定区分と、一時金金額と、実施料規定と、最低実施料と、実施報告要否の各項目からなる。対価情報３４の収支区分の「１」は収入を、「２」は支出を示し、実施料規定の「１」は規定が有ることを、「０」は規定が無いことを示している。
【００５７】
上記の対価情報３４は、データ全体のアクセスグループ種類として「ＡＧ２」が設定されており、アクセスグループＡＧ２のアクセス権限を有するユーザのみが、対価情報３４の検索結果を閲覧することができる。この場合、対価情報３４全体が項目データに該当する。
【００５８】
図１０のフローチャートに戻り、ステップＳ６２において、契約データ２１の契約関連部門情３３を取得する。なお、図１０の点線で囲んだ部分の処理がアクセス可能契約情報作成処理を示しており、この処理は契約データ２１の登録・更新処理とは別のジョブとして実行される。このアクセス可能契約情報作成処理を別のジョブではなく、契約データ登録・更新処理の一部として作成しても良い。
【００５９】
次に、契約データ２１の契約関連部門情報３３から契約担当事業部門を特定し、その事業部門に対応する社内グループを部門−社内部門対応テーブル４１から取得する（Ｓ６３）。
【００６０】
図１５は、部門−社内グループ対応テーブル４１の構成の一例を示す図である。部門−社内グループ対応テーブル４１は、部門コードと社内グループコードを対応付けたテーブルである。この部門−社内グループ対応テーブル４１を参照することで、契約担当部門に対応する社内グループのコードを知ることができる。図１５の例では、部門コード「０１０１２３００」と「０１０１２４００」の部門が同じ社内グループに属している。
【００６１】
図１６は、部門マスタ４２を示す図であり、図１７は、社内グループマスタ４３を示す図である。図１６の部門マスタ４２を参照することで、部門コードに対応する部門名が分かる。また、図１７の社内グループマスタ４３を参照することで、社内グループコードに対応する社内グループ名が分かる。
【００６２】
図１０に戻り、ステップＳ６４において、ユーザ管理テーブル４４を参照してユーザＩＤを１件取得し、そのユーザＩＤと対応付けられている部門コードを取得する（Ｓ６４）。
【００６３】
図１８は、ユーザ管理テーブル４４の構成を示す図である。ユーザ管理テーブル４４には、ユーザＩＤと対応付けてパスワード、有効日付、メールアドレス、申請日、部門コード、申請状態、審査登録日、権限変更日、ログインの有無を示す情報が設定されている。申請状態は、申請済みのとき「０」が、申請中のとき「１」が設定される。また、ログイン情報は、そのユーザがログイン中は「１」が、ログオフしているときには「０」が設定される。
【００６４】
上記のユーザ管理テーブル４４を参照することで任意のユーザの部門コードを取得することができる。
図１０に戻り、ステップＳ６５において、ユーザの所属部門が契約データ２１に設定されている契約関連部門か否かを判別する。この処理は、ユーザ管理テーブル４４から取得した特定のユーザの所属部門コードと、登録または更新された契約データ２１に設定されている契約関連部門の部門コードが一致するか否かを判定することで実現される。
【００６５】
ユーザの所属部門コードが、契約データ２１の契約関連部門情報３３に登録されている部門コードと一致するときには（Ｓ６５、ＹＥＳ）、ステップＳ６６に進み、ユーザの所属部門に基づいてアクセス権情報（１）を設定する。
【００６６】
上記のステップＳ６５、Ｓ６６の処理では、例えば、図１８のユーザ管理テーブル４４からユーザＩＤとそのユーザの所属部門コードを取得し、さらに図１３の関連部門情報３３を参照して、登録または変更された契約データ２１の契約関連部門の部門コードを取得し、それらの部門コードが一致するか否かを判定する。そして、部門コードが一致したなら、図５の所属部門によるアクセス権設定に基づいてアクセスグループＡＧ１〜ＡＧ６に対するアクセス権限の有無を示すアクセス権情報（１）を作成する。
【００６７】
例えば、ユーザの所属部門が特定の事業部門で、契約データ２１の関連部門情報３３にその事業部門が登録されている場合には、図５の事業部門のアクセス権設定例に示されるアクセスグループＡＧ１とＡＧ３に対するアクセス権限を有するアクセス権情報（１）が作成される。なお、ユーザの所属部門コードが、登録または更新された契約データ２１の契約関連部門の部門コードと異なる場合には、所属部門によるアクセス権情報（１）の設定は行われない。
【００６８】
次に、図１０のステップＳ６５またはＳ６６の次には、ステップＳ６７に進み、そのユーザの社内グループとユーザアクセス権設定に基づいてアクセス権情報（２）を設定する。具体的には、ユーザアクセス権設定テーブル４５（図１９）を参照して、該当するユーザの社内グループと対応付けて設定されているアクセスグループＡＧ１〜ＡＧ６のアクセス権限の有無を示す情報を取得してアクセス権情報（２）を作成する。
【００６９】
次に、アクセス権情報（１）と（２）をＯＲしてアクセス可能契約情報２２を更新する（Ｓ６８）。
１人のユーザに対するアクセス可能契約情報２２の更新が終了したなら、ステップＳ６９に進み、アクセス可能契約情報２２の更新が終了していない他のユーザが存在するか否かを判別する。他のユーザが存在する場合には（Ｓ６９、有り）、ステップＳ６４に戻り、次のユーザＩＤを取得して上述した処理を繰り返す。
【００７０】
図１０に示す所属部門アクセス権情報の例は、あるユーザの所属部門が、アクセスグループＡＧ１とＡＧ３とＡＧ６に対するアクセス権限を有し、他のアクセスグループ、ＡＧ２、ＡＧ４、ＡＧ５に対するアクセス権を持たない場合の例である。この所属部門アクセス権情報がアクセス権情報（１）に該当する。
【００７１】
また、図１０に示すユーザアクセス権設定の例は、あるユーザの社内グループに対するアクセス権限として「ＰＣ開発」社内グループに関してアクセスグループＡＧ１とＡＧ３に対するアクセス可能な権限が与えられている場合の例である。この場合、社内グループ「ＰＣ開発」のアクセスグループＡＧ１とＡＧ３に対するアクセス権がアクセス権情報（２）に該当する。
【００７２】
上記のアクセス情報（１）とアクセス権情報（２）の論理和（ＯＲ）を取って、登録または更新された特定の契約データ２１に関する特定のユーザのアクセス可能契約情報２２が作成または更新される。
【００７３】
ここで、図１９を参照してユーザアクセス権設定テーブル４５について説明する。ユーザアクセス権設定テーブル４５は、ユーザＩＤと、社内グループコードと、アクセスグループＡＧ１〜ＡＧ６に対するアクセス権の有無を示す情報とからなる。アクセスグループＡＧ１〜ＡＧ６に対するアクセス権限を有する場合には「１」が設定され、アクセス権限を有しない場合には「０」が設定される。
【００７４】
上記のユーザアクセス権設定テーブル４５は、図６のユーザ登録画面において登録される、１または複数社内グループのアクセスグループＡＧ１〜ＡＧ６に対するアクセス権限に基づいて作成される。図６のユーザ登録画面では、ユーザＩＤ「００１２３４５６」のユーザに対して、社内グループの「ＰＣ開発」に対してアクセスグループＡＧ１とＡＧ３に対するアクセス権限が与えられている。そして、他の社内グループである「ソフト開発」、「半導体」、「その他」に対してはアクセス権限は設定されていない。
【００７５】
この場合、ユーザアクセス権テーブル４５には、ユーザＩＤ「００１２３４５６」と対応付けて、社内グループ「ソフト開発」の全てのアクセスグループＡＧ１〜ＡＧ６に対してアクセス権限として「０」が設定される。また、社内グループ「ＰＣ開発」については、アクセスグループＡＧ１とＡＧ３に対して「１」が設定されアクセス権が与えられ、他のアクセスグループに対しては「０」が設定される。
【００７６】
図１９のユーザアクセス権設定テーブル４５は、図６の例とは異なる社内グループが定義されている場合の例を示している。
図１９のユーザアクセス権テーブル４５の社内グループコードは、図１７の社内グループマスタ４３の社内グループコードに対応している。例えば、ユーザＩＤ「１２５００００１」のユーザは、社内グループコード「２００７０１０７０１００１」（ソフトウェアグループ、図１７参照）と、「２００７０１０７０１００２」（ハードディスクグループ）と、「２００７０１０７０１００３」（ＤＶＤグループ）と、「２００７０１０７０１００４」（ディスプレイグループ）と、「２００７０１０７０１００５」（プリンタグループ）と、「２００７０１０７０１００６」（携帯グループ）と、「２００７０１０７０１００７」（ネットワークグループ）の７つの社内グループに対してアクセス権が設定されている。このユーザは、６つの社内グループに対してアクセスグループＡＧ１、ＡＧ２、ＡＧ３のアクセス権を有し、アクセスグループＡＧ４、ＡＧ５、ＡＧ６のアクセス権は持っていない。
【００７７】
上記のように１人のユーザに対して、それぞれの社内グループのアクセスグループに対するアクセス権を設定することができるので、例えば、事業部門の責任者に複数の社内グループのアクセス権を設定することができる。また、社内グループ毎にアクセスグループに対するアクセス権限を任意に設定できるので、ある社内グループと別の社内グループのアクセス権の範囲を異ならせるようなアクセス権の制御も実現できる。
【００７８】
さらに、図６のユーザ登録画面において、契約関連部門ではない役員に対しても全ての社内グループについて全てのアクセスグループＡＧ１〜ＡＧ６のアクセス権を設定することで、役員は全ての契約データ２１の検索結果を閲覧することが可能となる。
【００７９】
図２０は、ユーザが所属する部門により契約データ２１に対するアクセス権を制限するアクセス権の制御と、ユーザに対して社内グループ毎にアクセスグループＡＧ１〜ＡＧ６のアクセス権を設定するアクセス権の制御を行う多次元のアクセス権制御を行う場合のアクセス権制御方法の説明図である。
【００８０】
実施の形態のアクセス権制御方法では、契約管理部門Ａに所属するユーザは、契約デー
タ２１の契約関連部門として登録されている全てのデータに対して一定のアクセス権限を持っている。
【００８１】
また、事業部門に所属するユーザは、自分の所属する部門が契約関連部門として登録されている契約データ２１について、例えば基本情報のみ参照可能で、収支情報については参照できない。また、社内グループのアクセス権限として事業部のアクセス権限より広いアクセス権限が設定されている場合には、その社内グループのアクセス権限の範囲で契約データ２１を検索して閲覧することができる。
【００８２】
役員は、ユーザ登録画面で全ての社内グループのアクセスグループに対してアクセス権限を設定することで、全ての契約データ２１を参照可能となる。
実施の形態の契約管理システムには、全ての契約データ２１にアクセス可能は管理者（スーパーユーザ）は存在しない。
【００８３】
上述した実施の形態によれば、契約データの登録または更新時またはユーザ追加時に、ユーザが契約データ２１のどのデータに対してアクセス権限を持っているかを示すアクセス可能契約情報２２を作成または更新しておくことで、検索結果のデータをユーザに提示するときに、上記のアクセス可能契約情報２２を参照して検索結果のデータの中からユーザがアクセス権限を持っているデータを抽出することができるので、ユーザが閲覧可能な検索結果一覧を作成するための処理時間を大幅に短縮できる。
【００８４】
契約データ２１の個々のデータ（項目データ）に対してアクセスグループＡＧ１〜ＡＧ６を設定してアクセス権の管理を行い、さらに、ユーザの所属部門によるアクセス権限の制御と、１人のユーザに対して１または複数の社内グループを設定し、社内グループ単位でアクセス権限の制御を同時に行う多次元のアクセス権制御を行う場合にも、複数のアクセス権情報から予めアクセス可能契約情報２２を作成しておくことで、契約データ２１に対するユーザのアクセス権の有無を判定して検索結果一覧を作成する処理時間を短縮することができる。
【００８５】
本発明は上述した実施の形態に限らず、例えば、以下のように構成しても良い。
（１）実施の形態は、契約データ管理システムを例に取り説明したが、契約データ２１に限らず、本発明は、他のデータ管理システムのデータのアクセス権を制御する場合にも適用できる。
（２）上述した実施の形態は、契約データ２１に対して６種類のアクセスグループを設定し、さらに、ユーザに対して１または複数の社内グループを設定してアクセス権の制御を行う場合について説明したが、アクセス権の制御方法はこの例に限らない。
（３）契約データ２１の基本情報３１、関連部門情報３３、対価情報３４、アクセス権設定テーブル４５等の構成は、実施の形態に示した構成に限らず、他のデータ構成でも良い。
【図面の簡単な説明】
【００８６】
【図１】発明の説明図である。
【図２】実施の形態の検索処理の概要を示す図である。
【図３】アクセスグループの説明図である。
【図４】契約データの構成を示す図である。
【図５】所属部門によるアクセス権設定の例を示す図である。
【図６】ユーザ登録画面を示す図である。
【図７】実施の形態の検索処理のフローチャートである。
【図８】アクセス可能毛約情報の構成を示す図である。
【図９】契約データの登録・更新時の処理の説明図である。
【図１０】アクセス可能契約情報作成処理のフローチャートである。
【図１１】契約データの基本情報の構成を示す図である。
【図１２】契約データのテキスト情報の構成を示す図である。
【図１３】契約データの関連部門情報の構成を示す図である。
【図１４】契約データの対価情報の構成を示す図である。
【図１５】部門−社内グループ対応テーブルを示す図である。
【図１６】部門マスタを示す図である。
【図１７】社内グループマスタを示す図である。
【図１８】ユーザ管理テーブルを示す図である。
【図１９】ユーザアクセス権設定テーブルを示す図である。
【図２０】実施の形態のアクセス権制御方法の説明図である。
【図２１】従来の検索処理の概要を示す図である。
【図２２】従来の検索処理のフローチャートである。
【図２３】従来のアクセス権制御方法の説明図である。
【符号の説明】
【００８７】
１      記憶手段
２      アクセス可能情報作成手段
３      検索手段
４      判定手段
５      出力制御手段
２１      契約データ
２２      アクセス可能契約情報
３１      基本情報
３２      テキスト情報
３３      関連部門情報
３４      収支情報
４１      部門−社内グループ対応テーブル
４４      ユーザ管理テーブル
４５      ユーザアクセス権設定テーブル
【図１】
2008243089.tif 000003
【図２】
2008243089.tif 000004
【図３】
2008243089.tif 000005
【図４】
2008243089.tif 000006
【図５】
2008243089.tif 000007
【図６】
2008243089.tif 000008
【図７】
2008243089.tif 000009
【図８】
2008243089.tif 000010
【図９】
2008243089.tif 000011
【図１０】
2008243089.tif 000012
【図１１】
2008243089.tif 000013
【図１２】
2008243089.tif 000014
【図１３】
2008243089.tif 000015
【図１４】
2008243089.tif 000016
【図１５】
2008243089.tif 000017
【図１６】
2008243089.tif 000018
【図１７】
2008243089.tif 000019
【図１８】
2008243089.tif 000020
【図１９】
2008243089.tif 000021
【図２０】
2008243089.tif 000022
【図２１】
2008243089.tif 000023
【図２２】
2008243089.tif 000024
【図２３】
2008243089.tif 000025