(57)【特許請求の範囲】
【請求項１】
ユーザの端末からのアクセスに基づいてデータベースへアクセスしてデータを取り出す処理を行うコンピュータシステムを含んで成るデータベースアクセス管理システムであって、
前記コンピュータシステムは、前記ユーザによる前記データベースへのアクセスを管理及び制御する処理機能を実現するセキュリティボックスと、当該セキュリティボックスの処理機能の設定情報であるセキュリティマスタとを有し、
前記セキュリティボックスは、マスタ設定部と、ユーザ確認部と、マスク処理部と、を有し、
前記マスタ設定部は、前記セキュリティマスタの情報を管理者により設定する処理を行い、当該設定情報は、前記ユーザまたはユーザ属性ごとに前記データベースのデータにおける参照制限の対象データ及び当該対象データに対して適用するマスク処理を指定する情報として、前記ユーザまたはユーザ属性の情報と、前記ユーザまたはユーザ属性ごとの前記参照制限の有無の情報と、前記参照制限の対象となるデータベース及び項目の情報と、複数の各々のルールのマスク処理と、前記参照制限の対象となるデータベースの項目に対して適用するマスク処理を指定する情報と、前記複数の各々のルールのマスク処理に対して関係付ける複数の各々のデータ利用用途もしくはユーザ属性と、を含み、前記ユーザ属性として、システム開発者を含み、前記データ利用用途として、システム開発用の複数のテスト処理を含み、前記テスト処理に対して適用するルールのマスク処理を含み、前記マスク処理の内容は、前記制限対象の項目のエリアのうちマスク位置を指定する情報と、マスク後の文字を指定する情報と、を含み、
前記ユーザ確認部は、前記ユーザによる前記データベースへのアクセスの際に、当該アクセスの情報、及び前記セキュリティマスタの情報を参照して、当該ユーザの参照制限を含む状態、かつ当該ユーザのデータ利用用途もしくはユーザ属性に応じて、適用するルールのマスク処理を判断及び確認する処理を行い、
前記マスク処理部は、複数の各々のルールのマスク処理を行うルール処理部を備え、前記ユーザによるアクセスにより前記データベースから取り出されたデータに対し、前記ユーザの参照制限を含む状態に応じて、所定のマスク処理を施し、当該マスク処理されたデータを返す処理を行い、
上記構成により、前記ユーザが前記データベースのデータを利用する際に自動的に前記マスク処理されたデータが利用されること、を特徴とするデータベースアクセス管理システム。
【請求項２】
請求項１記載のデータベースアクセス管理システムにおいて、
前記セキュリティボックスは、前記セキュリティマスタの情報に基づき、
前記ユーザの端末からの前記データベースへのアクセスの要求について、
当該ユーザがアクセス可能者かどうかを判断し、アクセス可能者ではない場合はアクセス不可能のエラーとする処理と、
当該ユーザの参照制限の有無を判断し、参照制限無しの場合はマスク処理無しのデータをそのまま応答する処理と、
当該ユーザの参照制限の対象データを判断し、前記要求のアクセス対象が当該参照制限の対象データである場合は当該対象データを前記マスク処理したデータを応答する処理と、を行うこと、を特徴とするデータベースアクセス管理システム。
【請求項３】
請求項１記載のデータベースアクセス管理システムにおいて、
前記コンピュータシステムは、
前記ユーザの端末からのアクセスを受けるＷＷＷサーバ装置と、
前記ＷＷＷサーバ装置からアクセスされ業務プログラムによる処理を提供するアプリケーションサーバ装置と、
前記アプリケーションサーバ装置からアクセスされ前記データベースへアクセスしてデータを取り出す処理を行うデータベースサーバ装置と、を有し、
前記データベースサーバ装置に前記セキュリティボックス及び前記セキュリティマスタを備え、前記データベースへのアクセスの際に連携処理すること、を特徴とするデータベースアクセス管理システム。
【請求項４】
ユーザの端末からのアクセスに基づいてデータベースへアクセスしてデータを取り出す処理を行うコンピュータシステムで行われるデータベースアクセス管理方法であって、
前記コンピュータシステムは、前記ユーザによる前記データベースへのアクセスを管理及び制御する処理機能を実現するセキュリティボックスと、当該セキュリティボックスの処理機能の設定情報であるセキュリティマスタとを有し、
前記セキュリティボックスの処理において、
前記セキュリティマスタの情報を管理者により設定する処理を行うステップと、
前記ユーザによる前記データベースへのアクセスの際に、当該アクセスの情報、及び前記セキュリティマスタの情報を参照して、当該ユーザの参照制限を含む状態、かつ当該ユーザのデータ利用用途もしくはユーザ属性に応じて、適用するルールのマスク処理を判断及び確認する処理を行うステップと、
前記ユーザによるアクセスにより前記データベースから取り出されたデータに対し、前記ユーザの参照制限を含む状態に応じて、複数の各々のルールのマスク処理のうちの所定のマスク処理を施し、当該マスク処理されたデータを返す処理を行うステップとを有し、
前記セキュリティマスタの設定情報は、前記ユーザまたはユーザ属性ごとに前記データベースのデータにおける参照制限の対象データ及び当該対象データに対して適用するマスク処理を指定する情報として、前記ユーザまたはユーザ属性の情報と、前記ユーザまたはユーザ属性ごとの前記参照制限の有無の情報と、前記参照制限の対象となるデータベース及び項目の情報と、複数の各々のルールのマスク処理と、前記参照制限の対象となるデータベースの項目に対して適用するマスク処理を指定する情報と、前記複数の各々のルールのマスク処理に対して関係付ける複数の各々のデータ利用用途もしくはユーザ属性と、を含み、前記ユーザ属性として、システム開発者を含み、前記データ利用用途として、システム開発用の複数のテスト処理を含み、前記テスト処理に対して適用するルールのマスク処理を含み、前記マスク処理の内容は、前記制限対象の項目のエリアのうちマスク位置を指定する情報と、マスク後の文字を指定する情報と、を含み、
上記構成により、前記ユーザが前記データベースのデータを利用する際に自動的に前記マスク処理されたデータが利用されること、を特徴とするデータベースアクセス管理方法。
【請求項５】
ユーザの端末からのアクセスに基づいてデータベースへアクセスしてデータを取り出す処理を行うコンピュータシステムで実行されるデータベースアクセス管理プログラムであって、
前記コンピュータシステムは、前記ユーザによる前記データベースへのアクセスを管理及び制御する処理機能を実現するセキュリティボックスと、当該セキュリティボックスの処理機能の設定情報であるセキュリティマスタとを有し、
前記セキュリティボックスの処理を実現するプログラムにおいて、
前記セキュリティマスタの情報を管理者により設定する処理を実行させるプログラムと、
前記ユーザによる前記データベースへのアクセスの際に、当該アクセスの情報、及び前記セキュリティマスタの情報を参照して、当該ユーザの参照制限を含む状態、かつ当該ユーザのデータ利用用途もしくはユーザ属性に応じて、適用するルールのマスク処理を判断及び確認する処理を行うプログラムと、
前記ユーザによるアクセスにより前記データベースから取り出されたデータに対し、前記ユーザの参照制限を含む状態に応じて、複数の各々のルールのマスク処理のうちの所定のマスク処理を施し、当該マスク処理されたデータを返す処理を行うプログラムとを有し、
前記セキュリティマスタの設定情報は、前記ユーザまたはユーザ属性ごとに前記データベースのデータにおける参照制限の対象データ及び当該対象データに対して適用するマスク処理を指定する情報として、前記ユーザまたはユーザ属性の情報と、前記ユーザまたはユーザ属性ごとの前記参照制限の有無の情報と、前記参照制限の対象となるデータベース及び項目の情報と、複数の各々のルールのマスク処理と、前記参照制限の対象となるデータベースの項目に対して適用するマスク処理を指定する情報と、前記複数の各々のルールのマスク処理に対して関係付ける複数の各々のデータ利用用途もしくはユーザ属性と、を含み、前記ユーザ属性として、システム開発者を含み、前記データ利用用途として、システム開発用の複数のテスト処理を含み、前記テスト処理に対して適用するルールのマスク処理を含み、前記マスク処理の内容は、前記制限対象の項目のエリアのうちマスク位置を指定する情報と、マスク後の文字を指定する情報と、を含み、
上記構成により、前記ユーザが前記データベースのデータを利用する際に自動的に前記マスク処理されたデータが利用されること、を特徴とするデータベースアクセス管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベース（ＤＢ）を含むコンピュータシステム等の技術に関し、特に、ユーザ（利用者）によるコンピュータシステムのＤＢのデータへのアクセスの際の制御により不正アクセス防止や個人情報保護などを実現するための技術に関する。
【背景技術】
【０００２】
昨今、コンピュータシステムのＤＢに対する不正アクセスによる犯罪が発生しており、これを防止するために、ＤＢに対するアクセスを管理・制御する方法が必要になっている。例えば基本的な方式としては、ユーザ端末からのコンピュータシステムのＤＢへのアクセスの際に当該ユーザがアクセス可能者かどうかを確認（例えばＷＷＷサーバでユーザ認証）し、特定のユーザのみＤＢへのアクセス（データ参照など）を許可するといった方式が挙げられる。
【０００３】
また特に、業務上のＤＢなどでデータに個人情報（例えば氏名・住所）などが含まれている場合、ＤＢへの不正アクセスなどによって個人情報が盗まれたりしないように対策の必要がある。このための手段として、ＤＢのデータの暗号化やマスク（目隠し）処理により、出力上意味を成さない情報に変換する技術が挙げられる。
【０００４】
不正アクセス防止のためのＤＢアクセス管理・制御に係わる先行技術例として、特開平６−３１４２８８号公報（特許文献１）（「情報管理システムのセキュリティシステム」）などがある。特許文献１では、個人に応じたセキュリティを可能とするため、情報カードに記録された患者の基本情報、救急情報、病歴情報等の複数の項目に渡る個人情報のうち、カードの所有者である患者ごとにアクセス可能な項目が異なるように、アクセスカードのアクセス権をテーブルとして設定可能であり、患者は所定の項目の情報のみ閲覧でき、権限が無ければ他の項目の情報は閲覧できないこと、が記載されている。
【０００５】
ＤＢデータ情報のマスク（目隠し）処理に係わる先行技術例として、特開２００８−３３４１１号公報（特許文献２）（「個人情報マスキングシステム」等）などがある。特許文献２では、個人情報を含む順次ファイルからデータ構造に基づき個人情報をマスキングする技術、システムの動作テストのためのテストデータの生成などに関して記載されている。テストデータとして顧客データを含む順次ファイルを使用すると確実なテストを実施できるが、例えばテスト作業を外注する場合、顧客データをテストデータに使用することは個人情報保護の観点からできないこと、しかしテストデータとしては実際の顧客データに近いデータを使用した方が動作テストにおいて実際の環境に近い状態を実現できるためより好ましいこと、等が記載されている。
【０００６】
特許文献２では、マスキングしようとするデータ項目をマスキング方法の選択肢と共に表示し、マスキング対象データ項目の選択及びマスキング方法の選択入力を受け付け、これに基づき、マスキング対象データ項目の文字列に対し対応するマスキング方法を適用して変換することでテスト用ファイルを生成する手段について記載されている。またマスキング処理（マスキング方法）としては、対象データ項目の文字列の少なくとも一部を所定の変換規則により他の文字に変換する処理などについて記載している。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平６−３１４２８８号公報
【特許文献２】特開２００８−３３４１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
基本的なＤＢアクセス管理・制御の方式として、例えばＤＢを含むオープン系のコンピュータシステムでは、通常、ＤＢ（ＤＢサーバ等）に対するアクセスは、ＷＷＷサーバ経由となる。このためＷＷＷサーバが不正アクセスの防波堤となる。例えばＷＷＷサーバでアクセスしてきたユーザ／端末の認証によりＤＢへのアクセスを認可・制限する。しかしこれを突破・侵入してくるアクセス、認可されていないユーザのアクセスなどがある。
【０００９】
更に、業務上などのＤＢデータの取り扱いでは一般的に情報漏洩などの問題があるため、基本的にＤＢへのアクセスが可能な（認可された）ユーザであっても当該ユーザの属性（所属部門や職位など）・権限・アクセスレベル等に応じてＤＢデータにおける個人情報などの参照をブロック（防止）したいというニーズが存在する。
【００１０】
この場合、前述のように、例えばユーザ属性などに応じてＤＢデータの個人情報などに相当する項目へのアクセスを制限する技術（特許文献１等）や、あるいは、当該項目のデータ情報をマスク処理してユーザに見えない・読めないようにする技術（特許文献２等）などにより、個人情報などの参照をブロックすることができる。
【００１１】
しかしながら上記技術では以下のような場合に課題がある。上記ＤＢを含むオープン系などのコンピュータシステム（一例として商品購入履歴管理のＤＢを含むシステム）を開発する場合などを考える。この場合、前述（特許文献２）のように、例えばシステム開発者が顧客のＤＢデータを開発用のテストのために利用することで、より確かなテストを実現できるが、顧客データをそのままテストに使用することは個人情報保護などの観点から問題（例えば開発者による個人情報の持ち出しの可能性の問題）がある。
【００１２】
そこで、顧客のＤＢデータのうち個人情報などに相当する項目などを対象としてマスク処理し、当該マスク処理したデータ（「マスクデータ」）を用いてテストなどの用途に利用することで、個人情報保護を図り、情報漏洩などに対処できる。
【００１３】
従来例では、上記マスク処理及びテストを行う場合、担当者により顧客のＤＢから取り出したデータ（個人情報などに相当するデータを含む）に対して、所定のプログラム（パッチ）を実行することによりマスク処理したデータを得るという作業をしていた。そして当該マスクデータを用いて開発者によりテスト処理を実行するといった作業をしていた。このように、別途マスク処理に係わる作業の手間がかかるという問題点があった。
【００１４】
また上記担当者によるマスク処理の作業の際に、顧客のＤＢデータを取り扱うため、個人情報などに相当する項目の情報が担当者の目に触れてしまう可能性もあった。
【００１５】
また、上記マスク処理が一律の内容である場合、当該マスクデータでは、テスト内容・種類（データ利用用途）によっては、扱い難かったり十分なテストができないといった不便の問題があった。例えば個人情報保護の観点からはＤＢの所定のデータ項目を完全にマスク処理してユーザに完全に見えないようにしてしまえば簡単であるが、当該マスクデータではテスト処理結果が確認できないといった場合がある。
【００１６】
上記システム開発用のテストの場合に限らず、他の様々なデータ利用用途に関しても、一律のマスク処理では柔軟に対応することはできない。
【００１７】
以上を鑑み、本発明の主な目的は、ＤＢを含むコンピュータシステムのＤＢへのアクセスの管理・制御を行う情報処理システム等に係わり、上述の問題点を解決する技術を提供することである。即ち、（１）ユーザによるＤＢデータへの不正アクセス・個人情報漏洩などの問題（特に例えばシステム開発者などを含む組織内部のユーザによるＤＢデータの不正な持ち出し等の可能性）に対する有効な対策、（２）マスク処理及びテスト等の作業の手間の削減、（３）複数（各種）のデータ利用用途（例えばシステム開発用のテスト処理）に応じた柔軟なマスク処理の実現により情報保護などの効果とデータ利用の利便性の効果とのバランス、などを実現できる技術を提供する。
【課題を解決するための手段】
【００１８】
本発明のうち代表的な形態は、ＤＢを含んで成るコンピュータシステムのＤＢに対するアクセスを管理・制御する情報処理システム（ＤＢアクセス管理システム）等であって、以下に示す構成を有することを特徴とする。
【００１９】
本発明では、前述の（１）〜（３）のような課題（目的）に対し、（１）ユーザ／ユーザ属性（例えばシステム開発者）等に応じたＤＢアクセス制御（データ項目の参照の制限など）、（２）ＤＢデータに対してユーザ／ユーザ属性等に応じた自動的なマスク処理の適用（実行）の制御、（３）複数（各種）のデータ利用用途を考慮した複数のマスク処理を柔軟に設定・選択可能な機能、といった解決手段を有する。
【００２０】
本形態のシステムは例えば以下の構成である。本形態のＤＢアクセス管理システムは、ユーザの端末からのアクセスに基づいてＤＢへアクセスしてデータを取り出す処理を行うコンピュータシステムを含んで成り、前記コンピュータシステムは、前記ユーザによる前記ＤＢへのアクセスを管理・制御する処理機能を実現するセキュリティボックスと、当該セキュリティボックスの処理機能の設定情報であるセキュリティマスタとを有する。前記セキュリティボックスは、マスタ設定部と、ユーザ確認部と、マスク処理部と、を有する。前記マスタ設定部は、前記セキュリティマスタの情報を管理者により設定する処理を行い、当該設定情報は、前記ユーザまたはユーザ属性ごとに前記ＤＢのデータにおける参照制限の対象データ及び当該対象データに対して適用するマスク処理を規定する情報を含む。前記ユーザ確認部は、前記ユーザによる前記ＤＢへのアクセスの際に、当該アクセスの情報、及び前記セキュリティマスタの情報を参照して、当該ユーザの参照制限を含む状態を判断・確認する処理を行う。前記マスク処理部は、前記ユーザによるアクセスにより前記ＤＢから取り出されたデータに対し、前記ユーザの参照制限を含む状態に応じて、所定のマスク処理を施し、当該マスク処理されたデータを返す処理を行う。上記構成により、前記ユーザが前記ＤＢのデータを利用する際に自動的に前記マスク処理されたデータが利用される。
【発明の効果】
【００２１】
本発明のうち代表的な形態によれば、（１）ユーザによるＤＢデータへの不正アクセス・個人情報漏洩などの問題（特に例えばシステム開発者などを含む組織内部のユーザによるＤＢデータの不正な持ち出し等の可能性）に対する有効な対策、（２）マスク処理及びテスト等の作業の手間の削減、（３）複数（各種）のデータ利用用途（例えばシステム開発用のテスト処理）に応じた柔軟なマスク処理の実現により情報保護などの効果とデータ利用の利便性の効果とのバランス、などを実現できる。
【図面の簡単な説明】
【００２２】
【図１】本発明の一実施の形態のシステム（ＤＢアクセス管理システム）の構成を示す図である。
【図２】図１のＡＰＰサーバ（業務プログラム）−ＤＢサーバ間の処理の構成例を示す図である。
【図３】図１のシステムの具体的な利用例（データ利用用途の例を含む）の構成を示す図である。
【図４】本実施の形態のシステムにおけるセキュリティボックスの処理例を示すフロー図である。
【図５】本実施の形態のシステムのＤＢデータ例を示す図であり、（ａ）は元のＤＢデータ例、（ｂ）はＤＢデータ参照（マスク後）の第１の例、（ｃ）ＤＢデータ参照（マスク後）の第２の例を示す。
【図６】本実施の形態のシステムにおけるセキュリティマスタの設定情報の例を示す図であり、（ａ）は基本的な第１のテーブル、（ｂ）はマスクルールに関する第２のテーブル、（ｃ）はＤＢごとのマスクルールに関する第３のテーブルを示す。
【図７】本実施の形態のシステムにおける各ルールのマスク処理例を示す図である。
【発明を実施するための形態】
【００２３】
以下、本発明の実施の形態（ＤＢアクセス管理システム、方法、及びプログラム等）を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一符号を付し、その繰り返しの説明は省略する。
【００２４】
本実施の形態のシステム（図１等）は、ユーザ（端末）によるＤＢへのアクセス（参照等）の際の制御として、当該ユーザ／ユーザ属性等に応じて自動的にＤＢデータへのマスク（目隠し）処理を施して応答する処理機能（セキュリティボックス１０）を有する。ＤＢから取り出されたデータに含まれている対象項目等をマスク処理によりユーザに見えない・読めないように参照制限することにより個人情報保護などを図ると共に、当該ユーザによる当該マスクデータの効率的な利用（例えばテスト処理）を可能とする。上記処理機能（セキュリティボックス１０）に関する設定として、管理者等により、ユーザ／ユーザ属性等に応じた参照制限及びマスク処理などの内容を設定可能である（セキュリティマスタ５０）。
【００２５】
また特に本システムでは、マスク処理に関して複数の各ルールのマスク処理を提供し（図１、１３Ａ〜１３Ｃ等）、柔軟に設定が可能である。特に、ユーザ属性やデータ利用用途（例えばシステム開発用のテスト処理）に応じた関係付けでマスク処理（ルール）を設定し適用することで、個人情報保護などの効果とＤＢデータ利用の利便性とのバランスをとることができる。
【００２６】
［システム構成］
図１において、本実施の形態のシステム（ＤＢアクセス管理システム）の構成を示している。本システム全体は、コンピュータシステム１００、ユーザ（Ｕ）の端末２００、プリンタサーバ／プリンタ３００、等がネットワーク９０で接続される構成である。ネットワーク９０（図３の９１，９２も同様）はインターネットあるいはＬＡＮや専用網など、コンピュータシステムに応じた通信手段を指している。
【００２７】
コンピュータシステム１００は、顧客（例えば企業・自治体等）が通常運用する所定の業務用などのシステムであり、本実施の形態では、ネットワーク９０に接続されたオープン系（Ｗｅｂ）のシステムである。
【００２８】
コンピュータシステム１００は、ＤＢ（データベース）１、ＤＢサーバ２、ＡＰＰ（アプリケーション）サーバ３、ＷＷＷサーバ４、等の要素を有し、これらは図示しない通信手段により接続されている。
【００２９】
ＤＢ１は、例えばリレーショナルデータベースであり、例えば顧客が業務上管理する所定のデータ情報（後述、図５）を格納している。ＤＢ１は、ＤＢサーバ２内または他の記憶手段にて保持される。なおＤＢ１は、ネットワーク型ＤＢ、階層型ＤＢなどの種類を問わない。またＤＢ１の数、物理配置は、複数存在してもよい。ＤＢサーバ２は、ＤＢ１及びＤＢ１へのアクセスを管理する既存（公知技術）のＤＢアクセス処理部２１と、本特徴的な要素であるセキュリティボックス１０及びセキュリティマスタ５０とを備える。
【００３０】
ＤＢアクセス処理部２１は、所定の方式、例えばＳＱＬで、ＤＢ１に対するアクセス（操作）の処理を行う（例えば公知のリレーショナルＤＢ管理システム）。例えばＳＥＬＥＣＴ構文でＤＢ１のデータを取り出す処理などを含む。ＤＢサーバ２の動作時（ＤＢ１へのアクセス時）にＤＢアクセス処理部２１とセキュリティボックス１０とで連携するように予め設定されている。
【００３１】
ＡＰＰサーバ３は、業務プログラム３１を含み、業務プログラム３１の処理により、ＤＢサーバ２及びＷＷＷサーバ４と連携した所定の業務処理（サービス処理）を提供する。業務プログラム３１の処理内容例は後述（図２）する。ＡＰＰサーバ３（業務プログラム３１）では、マスク処理されているデータ（マスクデータ）を含むＤＢ１データの参照が行われる。
【００３２】
ＷＷＷサーバ４は、ユーザの端末２００からのアクセスに対して、所定のＷｅｂページ等によるサービス処理を提供する。ＷＷＷサーバ４は、ユーザ認証部４１（公知技術）を含み、ユーザ認証部４１の処理により、アクセスしてきたユーザ（端末）がコンピュータシステム１００で認可されているユーザ（端末）であるかどうかを判断し、認可されていないユーザ（端末）である場合は当該アクセスを拒否する。
【００３３】
ユーザ（Ｕ）が使用する端末２００は、ネットワーク９０を介してＷＷＷサーバ４にアクセスする機能を持つＷＷＷブラウザやＯＳ等を備える例えば一般的なＰＣ等のコンピュータである（公知技術）。図１ではあるユーザＵ１の端末２００のみ例示している。ユーザ（Ｕ）は、例えばコンピュータシステム１００を運用する企業の社員、あるいはコンピュータシステム１００により提供されるサービス（Ｗｅｂページ等）にアクセスするエンドユーザ等である。
【００３４】
ユーザ（Ｕ）の端末２００は、ＤＢデータ利用部６０、及び記憶部７０を備える。ＤＢデータ利用部６０は、当該ユーザのデータ利用用途に対応した、ＤＢ１のデータを利用する所定の処理手段により構成され、記憶部７０が含まれる又は接続される。記憶部７０は、ＤＢ１のデータ（ＤＢデータ８０）を記憶する、メモリやストレージや可搬媒体等の記憶手段により構成される。例えば、ＤＢデータ利用部６０では、ユーザ操作に基づきコンピュータシステム１００から取得／参照されるＤＢ１のデータ（ＤＢデータ８０）を記憶部７０に格納し、端末２００のディスプレイ画面に表示する処理などを行う。別例として、データ利用部６０は、上記取得したＤＢ１のデータに対し所定のプログラム処理を実行しその結果を記憶部７０に格納し出力する処理などを行う。
【００３５】
プリンタサーバ／プリンタ３００は、ＤＢ１のデータの利用（出力）の一例として、ユーザの端末２００からの操作に基づき、ＤＢ１のデータ（ＤＢデータ８０）をプリント処理し、帳票３０１として出力する場合に使用される。その他ＤＢ１のデータ（ＤＢデータ８０）は、ユーザのデータ利用用途に応じて使用され出力される。
【００３６】
［セキュリティボックス］
図１で、セキュリティボックス１０の構成例は以下である。セキュリティボックス１０は、マスタ設定部１１、ユーザ確認部１２、及びマスク処理部１３を有する。マスク処理部１３は、詳しくは、ルールＡ処理部１３Ａ，ルールＢ処理部１３Ｂ，ルールＣ処理部１３Ｃ等の複数の各ルールのマスク処理部（プログラム）を含む。セキュリティボックス１０の処理機能は、例えばＤＢサーバ２（ハードウェア・ソフトウェア）において本実施の形態のプログラムを実行する処理により実現できる。
【００３７】
マスタ設定部１１は、例えば管理者Ｕ０の操作に基づきセキュリティマスタ５０の情報を設定する処理を行う。管理者Ｕ０により、マスタ設定部１１を用いて、セキュリティマスタ５０に必要な情報を設定する作業が適宜可能である。設定インタフェースは例えばＷｅｂページ画面による。例えば管理者Ｕ０の端末からマスタ設定部１１により提供される設定用のＷｅｂページ画面にアクセスする。当該画面で、セキュリティマスタ５０の設定用の情報、例えば後述の図６のようなテーブル情報を表示し、管理者Ｕ０の操作により各値を入力して設定を更新し保存することが可能である。
【００３８】
ユーザ確認部１２は、セキュリティマスタ５０（図６）等を参照し、アクセスしてきたユーザ／ユーザ属性（部門・職位）等に応じた参照制限などの状態を確認し、また参照制限に応じて適用されるマスク処理（ルール）等を確認する処理を行う（後述、図４）。参照制限（参照制限有無及び制限項目）の確認として、当該ユーザ／端末が、ＤＢ１のアクセス対象のデータのうち、どの範囲（項目など）は参照可能としどの範囲（項目など）は参照不可能とするか等を確認する。
【００３９】
マスク処理部１３は、ユーザ確認部１２による確認状態に基づき、及びセキュリティマスタ５０等を参照して、ＤＢアクセス処理部２１によりＤＢ１から取り出されたデータに対して、当該ユーザに適用する該当ルールのマスク処理を、対応するルール処理部（１３Ａ等）を用いて実行し、当該処理結果のマスクデータを返す処理を行う（後述、図４）。例えばルールＡのマスク処理を適用する場合はルールＡ処理部１３Ａによるマスク処理が行われる。マスク処理では、所定のルール（アルゴリズム等）に従って、ＤＢ１のアクセス対象の項目などに対応した参照制限対象のエリアにおける文字列などのデータ値を処理することにより、ユーザに見えない・読めないように変換したデータ（マスクデータ）を生成する。
【００４０】
［セキュリティマスタ］
図６を用いて、セキュリティマスタ５０の構成例は以下である。セキュリティマスタ５０の設定情報は、例えば図６（ａ）の第１のテーブルＴ１、図６（ｂ）の第２のテーブルＴ２、図６（ｃ）の第３のテーブルＴ３を含む。セキュリティマスタ５０では、ＤＢ１のデータにおける各ユーザによりアクセス可能な対象とする範囲（項目など）、ないしは参照制限の対象とする範囲（項目など）を設定することにより、不正アクセス防止・個人情報保護などを図る。
【００４１】
図６（ａ）の第１のテーブルＴ１では、項目として、（ａ）ユーザ名，（ｂ）ユーザ属性，（ｃ）参照制限有無，（ｄ）マスクルール，（ｅ）制限項目１，（ｆ）制限項目２，（ｇ）制限項目３，……等を有する。第１のテーブルＴ１では、例えば個別のユーザごとに又はユーザ属性ごとに、参照制限有無及び制限項目、適用マスクルールなどが関係付けて設定される。
【００４２】
ａのユーザ名は、ユーザ（Ｕ）の識別情報であり、コンピュータシステム１００で基本的にアクセスが認可されるユーザが登録される。ｂのユーザ属性は、当該ユーザの属性として、本実施の形態では組織における所属する部門や職位、あるいはユーザグループ、ユーザ種別などを示す情報である。例えば「管理者」（Ｕ０対応）や「開発者Ａ」「開発者Ｂ」などがある。またユーザ属性は、近い概念として、当該ユーザの職務・業務などを設定してもよい。
【００４３】
ｃの参照制限有無は、当該ユーザの参照制限の有無を示すフラグ情報である。０は参照制限無し、１は参照制限有りを示す。ｄのマスクルールは、参照制限有り（１）の場合に適用するマスク処理（そのルール）を指定する情報である（図６（ｂ）の第２のテーブルＴ２の情報を指し示す）。参照制限無し（０）の場合は設定されない（空白）。ｅの「制限項目１」等の制限項目は、参照制限有り（１）の場合における参照制限の対象となる項目を指定する情報であり、複数が設定可能である。
【００４４】
Ｔ１の例えばユーザＵ１（開発者Ａ）のレコードでは、参照制限有りであり、ＤＢ１のデータにおける「氏名」「住所」などの項目に対してルールＡのマスク処理を施して制限することを設定している。
【００４５】
図６（ｂ）の第２のテーブルＴ２では、項目として、（ａ）マスクルール，（ｂ）内容，（ｃ）データ利用用途，（ｄ）マスク位置、等を有する。Ｔ２では、Ｔ１のマスクルールの内容や、データ利用用途などの情報が関係付けて設定される。
【００４６】
ａのマスクルールは、Ｔ１のｄと同じであるが、マスク処理（そのルール）を指定する情報である。本例では、ルールＡ，ルールＢ，ルールＣ，ルールＤ等がある。例えばルールＡは、図１のルールＡ処理部１３Ａによるマスク処理（プログラム）を指し示す。ｂの内容は、マスクルールの内容を示す情報であり、対応するマスク処理のアルゴリズム（プログラム等）の名称や識別情報や概要説明その他である（詳しくは後述、図７）。ルールＡ〜Ｄに限らず、対応するルール処理部のプログラム等を用意することで複数のマスクルールを適宜設定可能である。
【００４７】
ｃのデータ利用用途は、当該ルールでマスク処理されたデータ（マスクデータ）を含むＤＢ１データを当該ユーザ（ユーザ属性等）が利用する場合の想定されるデータ利用用途を示す情報である。例えば、本実施の形態では、システム開発用のテストＡ，Ｂ，Ｃ等がある。例えば「テストＡ」は、図３のテストＡ処理部６２Ａで行う処理である。これらの異なる内容・種類のテスト処理（データ利用用途）に応じてそれぞれ適したマスク処理（ルール）を設定可能である。またデータ利用用途（例えば新しいテスト内容）に応じて新たなルールのマスク処理を追加したり調整したりする設定も可能である。
【００４８】
ｄのマスク位置は、マスク対象エリア（項目など）の中でマスク対象となる位置（例えば何番目の文字列か）を任意に指定する情報である。本実施の形態では、柔軟なマスク処理を実現するため、ユーザ単位、項目単位、個別ＤＢの項目指定単位などでマスク有無を決めることができると共に、ｄのようにマスク位置を任意に決めることができる。例えばルールＢでは１，３，５番目の文字、ルールＤでは２，４，６，８，１０番目の文字が指定の記号（アスタリスクやパーセント）で置換される。
【００４９】
セキュリティマスタ５０の設定の際、管理者Ｕ０により、例えば、ユーザ属性（例えば開発者Ａ，Ｂ，Ｃ等）に応じたデータ利用用途（例えばシステム開発用のテストＡ，Ｂ，Ｃ等）を考慮して、Ｔ１の参照制限及び適用ルール等の情報を設定する。上記のように、セキュリティマスタ５０では、個別のユーザまたはユーザ属性等、及びそのデータ利用用途（テスト処理等）の単位に応じて、参照制限及びマスクルール等を柔軟に詳細に設定可能な構成である。これにより、データ利用（テスト等）の際の個人情報保護などを図りつつ、データ利用が従来よりもしやすくなる。
【００５０】
なお、セキュリティマスタ５０は、上記設定の形態に限らず、ユーザの権限やアクセスレベル等を設定して、当該単位ごとに参照制限や適用ルール等を設定可能としてもよい。また、所定の参照制限や適用ルールのセット（例えばユーザＵ１のレコードの設定に相当する情報）の単位で情報を定義し、当該単位で指定して設定可能にしてもよい。また更に、すべての制限項目（ｅ，ｆ，ｇ等）に対して同一のマスクルール（ｄ）が適用される形に限らず、制限項目ごとに異なるマスクルールを適用するように設定可能としてもよい。
【００５１】
また例えばユーザ属性でユーザの職務・業務を設定し、当該職務・業務に応じた項目を設定可能とし、当該職務・業務に応じた項目については自動的に参照制限（マスク）せず、当該項目以外の項目については自動的に参照制限（マスク）するようにしてもよい。
【００５２】
図６（ｃ）のテーブルＴ３は、別の設定例である。対象として複数のＤＢ１が存在する場合（（ｈ）ＤＢ名：住所マスタ，受注マスタ）で、ＤＢごとに異なるルール（Ａ，Ｂ）を設定している場合である。
【００５３】
［基本処理］
図１のシステム構成で、ユーザ確認の処理を含む基本的な処理内容については以下である。まず予め管理者Ｕ０によりセキュリティボックス１０のマスタ設定部１１を用いてセキュリティマスタ５０に対し情報（例えば図６）を設定しておく。また適宜、当該セキュリティマスタ５０の設定情報の内容をメンテナンス（更新）が可能である。
【００５４】
ユーザの端末２００からのアクセスにつき、ＷＷＷサーバ４でユーザ認証部４１により当該アクセスユーザ／端末を認証する（公知技術）。ＷＷＷサーバ４のユーザ認証を通過後、ＡＰＰサーバ３の業務プログラム３１経由で、あるいはＷＷＷサーバ４から直接で、ＤＢサーバ２へのアクセスが行われ、これによりＤＢ１のデータの参照などが行われる。その際に経由するＤＢサーバ２では、ＷＷＷサーバ４（ユーザ認証）を突破してくる認可されていないユーザ／端末によるＤＢ１へのアクセスにも対処できるように、ＤＢ１へのアクセスの際に常にセキュリティボックス１０を通過（連携）するように予め設定（構成）されている。ＤＢ１へのアクセスの要求／命令を受けたＤＢアクセス処理部２１は、上記設定に基づき、セキュリティボックス１０の処理に連携する。
【００５５】
連携するセキュリティボックス１０の処理では、セキュリティマスタ５０の設定情報に基づき、ユーザ確認部１２により当該ユーザ／ユーザ属性等に応じた参照制限などの状態を確認し、ＤＢアクセス処理部２１によりＤＢ１から取り出されるデータに対して、マスク処理部１３により当該参照制限などの状態に応じたマスク処理を施して応答する。
【００５６】
本実施の形態では、上記セキュリティボックス１０（ユーザ確認部１２）は、ＤＢ１へのアクセス要求／命令につき、セキュリティマスタ５０のテーブル（図６）を参照し、以下（Ａ１）〜（Ａ４）のような点を含めて判断・確認を行う（図４にも対応する）。
【００５７】
（Ａ１）  当該ユーザ（／ユーザ属性等）は、ＤＢ１へのアクセス可能者（セキュリティマスタ５０に登録されている基本的に認可されたユーザ）であるかどうか（図４のステップＳ１４に対応する）。
【００５８】
（Ａ２）  上記ユーザ（認可ユーザ）はＤＢ１のデータに対する参照制限が有るか無いか（同Ｓ１６）。
【００５９】
（Ａ３）  上記参照制限に該当するＤＢ１における特定の対象データ（個人情報に相当する項目など）は何か（同Ｓ１９）。
【００６０】
（Ａ４）  上記参照制限及び対象データ（制限項目）に応じた適用マスクルール（種類）は何か（同Ｓ２０）。
【００６１】
セキュリティボックス１０（マスク処理部１３等）は、上記参照制限などの状態の確認・判断に基づき、ＤＢ１から取り出したデータについて、例えば以下（Ｂ１）〜（Ｂ４）のような対処を行う（図４にも対応する）。
【００６２】
（Ｂ１）  当該ユーザ（／ユーザ属性等）がアクセス可能者ではない場合、当該ＤＢアクセスを不許可し、エラーを応答する（図４のステップＳ１５に対応する）。
【００６３】
（Ｂ２）  当該ユーザが、アクセス可能者で、参照制限無しの場合、ＤＢ１から取り出されたデータ（対象項目など）をマスク処理無し（マスク無しデータ）で応答する（同Ｓ１７）。
【００６４】
（Ｂ３）  当該ユーザが、アクセス可能者で、参照制限有りの場合、参照制限項目及び適用マスクルールなどに応じて、ＤＢ１から取り出されたデータ（アクセス対象項目など）に対して、該当ルールのマスク処理を施し、当該データ（マスク済みデータ）を返す（同Ｓ２１）。
【００６５】
例えば、図６のようにユーザＵ１（開発者Ａ）は参照制限有りで、参照制限項目が「氏名」「住所」などであり、適用マスクルールがルールＡ（ルールＡ処理部１３Ａによる）であり、図５（ｂ）のようなマスクデータが得られ、応答される。
【００６６】
（Ｂ４）  Ｂ３の別例であるが、同様に、当該ユーザが、アクセス可能者で、Ｂ３とは別種類の参照制限有りのユーザである場合、当該参照制限の内容に応じて、ＤＢ１から取り出されたデータに対して該当ルールのマスク処理が施されたデータが応答される。
【００６７】
例えば、図６のようにユーザＵ２（開発者Ｂ）は参照制限有りで、参照制限項目が「氏名」などであり、適用マスクルールがルールＢ（ルールＢ処理部１３Ｂによる）であり、図５（ｃ）のようなマスクデータが得られ、応答される。
【００６８】
［ＤＢアクセス時の流れ］
図１で、ＤＢアクセス時の流れの概要は以下である（ｓ１等は手順を示す）。例えばユーザＵ１が端末２００からコンピュータシステム１００へアクセスしてサービスを利用し、ＤＢ１から取り出されるデータを参照する場合である。
【００６９】
（ｓ１）  ユーザＵ１の端末２００からネットワーク９０を介してＷＷＷサーバ４にアクセス（ログイン、サービス要求等）する。なお当該アクセス要求には、例えばユーザＩＤないし端末ＩＤといった識別情報が付属する（公知技術）。
【００７０】
（ｓ２）  ＷＷＷサーバ４は、Ｗｅｂページを提供し、ユーザ認証部４１を用いて、当該アクセスユーザ（端末）を認証し、認可されていないユーザ（端末）である場合は、このＷＷＷサーバ４で当該アクセスを止める。
【００７１】
（ｓ３）  ユーザ認証通過後、ＷＷＷサーバ４から、例えば所定のサービス処理（業務処理）の提供のためにＡＰＰサーバ３にアクセスする。
【００７２】
（ｓ４）  ＡＰＰサーバ３は、ＷＷＷサーバ４からのアクセスにつき、業務プログラム３１の処理により所定のサービス処理（業務処理）を提供する（詳しくは後述、図２）。ここでサービス処理（例）として、ＤＢデータ（マスクデータ）の参照（例えばＷｅｂページ画面への表示）を含むとする。業務プログラム３１中には、ＤＢ１のデータへアクセス（参照など）する命令などが含まれている。当該命令が有る場合、ＡＰＰサーバ３（業務プログラム３１）からＤＢサーバ２へアクセスが発生する。なお業務プログラム３１は通常の業務処理を実装したプログラムであり、マスキングプログラムではなく、ここでマスキングプログラムを生成することはない。
【００７３】
（ｓ５）  ＤＢサーバ２は、ＡＰＰサーバ３（業務プログラム３１）からのアクセスを受けると、ＤＢアクセス処理部２１により、従来であればＤＢ１に対してアクセス処理を行うが、本実施の形態では、ＤＢ１へのアクセス処理の前にセキュリティボックス１０の処理へ連携する。
【００７４】
（ｓ６）  ＤＢアクセス処理部２１からの連携に基づき、セキュリティボックス１０は、ＤＢアクセス直前の段階（ＤＢアクセス要求時）での所定の処理を実行する。本実施の形態では、ユーザ確認部１２により、セキュリティマスタ５０などを参照しながら、当該アクセスユーザの参照制限などの状態を確認する。参照制限有りの場合は、下記でＤＢ１から取り出されたデータに対してマスク処理部１３によりマスク処理が行われ、参照制限無しの場合は行われない。
【００７５】
（ｓ７）  セキュリティボックス１０での処理後、ＤＢサーバ２のＤＢアクセス処理部２１は、ＤＢ１に対して命令に基づくデータ参照などの処理を実行する。例えばＳＱＬのＳＥＬＥＣＴ構文などにより行われ、これによりＤＢ１から対象（命令で指定された項目など）のデータが取り出される。
【００７６】
（ｓ８）  ＤＢサーバ２のＤＢアクセス処理部２１は、前記ｓ６で連携している場合、セキュリティボックス１０に連携し、ｓ７でＤＢ１から取り出したデータを渡す。
【００７７】
（ｓ９）  セキュリティボックス１０は、ＤＢアクセス直後の段階（ＤＢアクセス応答時）での所定の処理を実行する。本実施の形態では、特に、ｓ６で参照制限有りの場合に、セキュリティマスタ５０などを参照しながら、マスク処理部１３により当該ユーザに応じたルールでのマスク処理を実行する。テーブル（図６）に基づき、当該ユーザ／ユーザ属性等に応じた適用マスクルールが確認され、当該適用マスクルールに応じたルール処理部（１３Ａ等）によるマスク処理が起動され実行される。これにより、ＤＢ１のデータにおける参照制限に該当するレコードや項目に対してマスク処理が施されたデータ（マスクデータ）が得られる。
【００７８】
（ｓ１０）  ＤＢサーバ２のＤＢアクセス処理部２１は、上記参照制限有りの場合、上記ｓ９のマスクデータ（ＤＢ参照データ）を得て、要求元のＡＰＰサーバ３（業務プログラム３１）へ応答する。
【００７９】
（ｓ１１）  ＡＰＰサーバ３（業務プログラム３１）は、ＤＢサーバ２から取得した上記マスクデータ（ＤＢ参照データ）を前記サービス処理の中に反映する。ＤＢアクセス命令ごとに上記同様の処理が繰り返される。ＡＰＰサーバ３（業務プログラム３１）は、上記サービス処理の結果情報（例えばマスクデータを含んだＤＢデータ参照結果）をＷＷＷサーバ２へ応答する。
【００８０】
（ｓ１２）  ＷＷＷサーバ４は、上記ＡＰＰサーバ３から取得したサービス処理結果情報（マスクデータを含んだＤＢデータ参照結果）を含むＷｅｂページ画面（更新用データ）をネットワーク９０を介してユーザＵ１の端末２００へ応答する。
【００８１】
（ｓ１３）  ユーザＵ１の端末２００（データ利用部６０、記憶部７０）では、上記Ｗｅｂページ画面（更新用データ）を取得してディスプレイ画面に表示する。これによりユーザＵ１はＷｅｂページ画面でマスクデータを含んだＤＢデータ参照結果を見ることができる。また例えば、データ利用部６０及び記憶部７０により、当該マスクデータを含んだＤＢデータ８０を用いて所定のデータ利用のための処理を実行し、結果を保存及び出力することができる。
【００８２】
［処理フロー］
図４を参照して、セキュリティボックス１０の処理フロー例を説明する（Ｓ１０等は処理ステップを表す）。
【００８３】
（Ｓ１０）  セキュリティボックス１０は、ＤＢアクセス処理部２１からの連携により、ＤＢアクセス要求などを受け付ける。ＤＢアクセス要求は、例えば、ＤＢ１のテーブルから指定のレコード・項目のデータを参照する命令などである。
【００８４】
（Ｓ１１）  セキュリティボックス１０は、Ｓ１０のＤＢアクセス要求の情報を解読し、例えば、ユーザ情報、アクセス対象情報などに分解する。ユーザ情報は例えばユーザＩＤ／端末ＩＤ等の情報である。アクセス対象情報は例えばＤＢ１のデータ参照の対象となるレコードや項目などの情報である。
【００８５】
（Ｓ１２）  ＤＢアクセス要求の情報が読み込み終了である場合（Ｙ）はＳ２４へ進み、読み込み終了ではない場合（Ｎ）は次のＳ１３へ進む。
【００８６】
（Ｓ１３）  ユーザ確認部１２は、上記読み込み情報（ＤＢアクセス要求のユーザ情報など）、及びセキュリティマスタ５０のテーブル（図６）の情報を参照し、以降のステップで前述（Ａ１〜Ａ４等）の参照制限などの判断・確認の処理を行う。
【００８７】
（Ｓ１４）  ユーザ確認部１２は、まず、当該アクセスユーザがＤＢアクセス可能者かどうかを判断する（前記Ａ１）。本実施の形態では、ＤＢアクセス要求のユーザ情報をみて、図６のテーブルＴ１で「ユーザ名」（ａ）の項目に該当ユーザが登録されている場合は、ＤＢアクセス可能者と判断する。アクセス可能者ではない場合（Ｎ）はＳ１５へ進み、アクセス可能者である場合（Ｙ）は次のＳ１６へ進む。
【００８８】
（Ｓ１５）  アクセス可能者ではない場合（Ｎ）、セキュリティボックス１０は、前記Ｂ１のように、ＤＢアクセス不可としてエラーを応答し、最初（Ｓ１０）に戻る。
【００８９】
(Ｓ１６）  次にＳ１６では、ユーザ確認部１２は、当該ユーザの参照制限の有無を判断する（前記Ａ２）。本実施の形態では、図６のテーブルＴ１の「参照制限有無」（ｃ）の項目のフラグ値をみることで確認できる。参照制限無し（０）の場合（Ｎ）はＳ１７へ進み、参照制限有り（１）の場合（Ｙ）は次のＳ１８へ進む。
【００９０】
（Ｓ１７）  参照制限無し（０）の場合（Ｎ）、当該ＤＢアクセス要求でＤＢ１から取り出されたデータについて、そのままマスク処理無しのデータを応答し、最初（Ｓ１０）に戻る。
【００９１】
（Ｓ１８）  次に、ユーザ確認部１２は、当該ユーザの参照制限有り（１）について、前記ＤＢアクセス要求のアクセス対象情報、及びセキュリティマスタ５０のテーブルＴ１の情報を参照しながら、以降のステップで、アクセス対象の項目のデータ値に関する処理を行う。
【００９２】
（Ｓ１９）  ユーザ確認部１２は、当該ユーザのアクセス対象の中の参照対象となる項目が参照制限に該当するかどうかを確認する。本実施の形態では、図６のテーブルＴ１の各「制限項目」（ｅ等）の値が参照制限に該当する。対象項目が参照制限項目である場合（Ｙ）はＳ２０へ進み、参照制限項目ではない場合（Ｎ）はＳ２２へ進む。
【００９３】
（Ｓ２２）  Ｓ２２では、対象項目のデータ値をそのままマスク処理無し（マスク無しデータ）とする。
【００９４】
（Ｓ２０）  Ｓ２０では、当該ユーザ（／ユーザ属性等）、及び対象項目に対して適用するマスクルールを判断する（前記Ａ４）。本実施の形態では、図６のテーブルＴ１の「マスクルール」（ｄ）をみて確認できる。本実施の形態では、ユーザ単位、ＤＢ単位、項目単位などで、マスク処理（ルール適用）を行うことができる。
【００９５】
（Ｓ２１）  Ｓ２１では、マスク処理部１３により、Ｓ２０の適用ルールに対応したルール処理部（１３Ａ等）を用いて、参照制限の対象項目（マスク処理対象エリア）のデータ値に対して、該当ルールのマスク処理を実行し、その結果のマスク済みデータを得る。
【００９６】
（Ｓ２３）  Ｓ２３では、Ｓ２１によるマスク済みデータ（項目単位）、または、Ｓ２２によるマスク無しデータ（項目単位）を、ＤＢアクセス処理部２１へ返す。
【００９７】
（Ｓ２４）  Ｓ２４では、セキュリティボックス１０は、所定の終了処理を行い、ＤＢアクセス処理部２１へ処理を戻す。
【００９８】
なお図４の処理例に限らず、例えばレコードの複数の項目データの参照の処理についてセキュリティボックス１０で項目データごとに繰返し処理（Ｓ１９〜Ｓ２２等）を行い、その結果（マスク済みデータ／マスク無しデータを含むＤＢ参照データ）をまとめてＤＢアクセス処理部２１へ応答する形としてもよい。
【００９９】
［ＡＰＰサーバ−ＤＢサーバ間の処理例］
図２を用いて、前記ｓ４〜ｓ１１等に相当する、ＡＰＰサーバ３（業務プログラム３１）−ＤＢサーバ２（ＤＢアクセス処理部２１）間の処理例は以下である。ＡＰＰサーバ３は、端末２００からのアクセスに基づくＷＷＷサーバ４からのアクセス（例えばＤＢ１内の複数の件数（レコード）のデータを参照するための要求に対応する）につき、図２のような内容の業務プログラム３１を処理する。業務プログラム３１は、所定のサービス処理（業務処理）の論理が記述されている。業務プログラム３１中、ＤＢ接続命令（Ｃ１）、繰返し開始命令（Ｃ２）、ＤＢアクセス命令（Ｃ３）、読込エリア保存（Ｃ４）、繰返し終了命令（Ｃ５）などが含まれている。ＤＢアクセス命令（Ｃ３）は、ＤＢ１のデータ（指定のレコードや項目など）を参照する命令などである。これらの命令は例えばＳＱＬを用いて記述される。例えば繰返し命令（Ｃ２〜Ｃ５）では複数の件数（レコード）のデータを参照する。
【０１００】
業務プログラム３１の処理中、ＤＢ接続命令（Ｃ１）があると、ＡＰＰサーバ３（業務プログラム３１）からＤＢサーバ２（ＤＢアクセス処理部２１）に対して、対応する要求／命令が発生し、この要求を受けてＤＢアクセス処理部２１は、ＤＢ１への接続処理（ＣＯＮＮＥＣＴ）を行う。
【０１０１】
また繰返し命令（Ｃ２〜Ｃ５）中に、ＤＢアクセス命令（Ｃ３）（例えば指定のレコード・項目のデータの参照の命令）があると、その都度、ＤＢサーバ２（ＤＢアクセス処理部２１）に対して、対応する要求／命令が発生する。この要求を受けてＤＢアクセス処理部２１は、セキュリティボックス１０との連携の処理（ユーザ確認）を行い、その後、ＤＢ１に対して、要求されたアクセス処理（例えば指定のレコード・項目のデータの参照）の処理を例えばＳＱＬのＳＥＬＥＣＴ構文などにより行い、その結果ＤＢ１から取り出されたデータを得る。そして、ＤＢアクセス処理部２１からセキュリティボックス１０との連携の処理を行い、ＤＢ１のデータの該当項目に対して必要なマスク処理が施されたデータ（マスクデータ）を得た後、当該マスクデータをＡＰＰサーバ３（業務プログラム３１）に応答する。
【０１０２】
上記のようなＤＢ１へのアクセス処理が例えばレコードの参照ごとに繰り返される。ＡＰＰサーバ３は、一連の業務プログラム３１の処理を実行後、その結果情報をＷＷＷサーバ４へ応答し、更にＷＷＷサーバ４からユーザの端末２００へ応答される。ＤＢ１内の項目はマスクデータ（マスク処理されたデータ）ではないが、本技術により、ＤＢ１データ参照時にはマスクデータ（マスク処理方法はセキュリティマスタ５０の指定に従う）を参照することになる。
【０１０３】
［利用例］
次に、図３等を用いて、本実施の形態のシステムの利用例、及びＤＢ１のデータの利用用途の例として、システム開発用のテスト処理などを行う場合について説明する。図３で、上側は、顧客の通常運用の稼働環境である第１のコンピュータシステム１０１等を示し、下側は、第１のコンピュータシステム１０１を対象としたシステム開発環境である第２のコンピュータシステム１０２等を示す。基本的な構成要素は図１と重複している。
【０１０４】
第１のコンピュータシステム１０１において、図１の要素と同様に、ＤＢ１ａ、ＤＢサーバ２ａ、ＡＰＰサーバ３ａ、ＷＷＷサーバ４ａ等を有する。そして例えばＤＢサーバ２ａにセキュリティボックス１０及びセキュリティマスタ５０を備える。ＤＢ１ａは、元の完全なデータでありマスクデータを含まない（具体例は図５（ａ））。ＡＰＰサーバ３ａの業務プログラム３１は、マスクデータの参照（オンライン照会やデータ吸い上げ）などを行う。端末２０１は、ＤＢ１ａのデータを利用するためのＤＢデータ利用部６１及び記憶部７１を有し、ＤＢ１ａから取り出されたＤＢデータ８１（マスクデータを含む）を利用、記憶することができる。ユーザＵ１は、例えば第２のコンピュータシステム１０２側の開発者Ａであり、システム開発用にＤＢ１のデータ（８１）を取り出す作業のために端末２０１を使用する（なお当該取り出し作業は図６のテーブルに登録された（認可された）他の担当者が行ってもよい）。ユーザＵ１（開発者Ａ）により端末２０１から前述（図１等）と同様にコンピュータシステム１０１のＤＢ１ａのデータが取り出され、その際にセキュリティボックス１０の機能により自動的にマスクデータが得られ（マスキングプログラム生成することなくマスクデータ参照可能である）、ＤＢデータ８１（マスクデータを含む）として記憶部７１に格納される。
【０１０５】
第２のコンピュータシステム１０２において、図１の要素と同様に、ＤＢ１ｂ、ＤＢサーバ２ｂ、ＡＰＰサーバ３ｂ、ＷＷＷサーバ４ｂ等を有する。例えば２ｂ，３ｂ，４ｂ等が開発対象となる。第２のコンピュータシステム１０２（ＤＢサーバ２ｂ）側はセキュリティボックス１０等の具備は必要無い。また第２のコンピュータシステム１０２では、ＤＢ１ｂは、第１のコンピュータシステム１０１から取り出されたデータ（８１，８２）を用いるので、マスクデータを含んでいる。またＡＰＰサーバ３ｂ（業務プログラム３１）として例えば＃１（３１Ａ），＃２（３１Ｂ）のように複数が存在してよい。例えばＡＰＰサーバ＃１（３１Ａ）ではマスクデータの出力を行い、ＡＰＰサーバ＃２（３１Ｂ）ではマスクデータの参照を行う（当然ながらマスク処理不要で参照可能である）。
【０１０６】
第２のコンピュータシステム１０２に対し、ユーザＵ１（開発者Ａ）が端末２０２からアクセスする。ユーザＵ１の端末２０２は、ＤＢ１ｂのデータを利用するためのデータ利用部６２及び記憶部７２を備える。例えばユーザＵ１（開発者Ａ）は、第１のコンピュータシステム１０１でＤＢ１ａから取り出され自動的にマスク処理され記憶部７１に格納されたＤＢデータ８１を、第２のコンピュータシステム１０２のユーザＵ１の端末２０２の記憶部７２内へ移動／コピーさせ、ＤＢデータ８２とする。このＤＢデータの移動／コピーは、例えばＤＢデータ８１を記憶媒体に格納して持ち運ぶ形や、ネットワーク９０を介して転送する形など、データ利用に応じた形態となる。また図６のように任意にマスク位置の指定及びマスク文字（置換記号）の変更などが設定可能である。
【０１０７】
データ利用部６２は、例として特に、テストＡ処理部６２Ａを含む。テストＡ処理部６２Ａは、ＤＢデータ８２を用いて、システム開発用の特定のテストＡの処理を行う。同様に、図示しないが他のユーザＵ２（例えば開発者Ｂ）の端末に備えるテストＢ処理部６２Ｂは、システム開発用の別の特定のテストＢの処理を行う。同様に、図示しない複数のユーザＵがそれぞれ端末で接続され、それぞれ同じまたは異なるデータ利用処理（テスト処理その他）を行ってもよい。
【０１０８】
［ＤＢデータ］
図５（ａ）は、ＤＢ１に格納されている元のデータのテーブル例を示す。本テーブルは、店舗やＥＣサイトで顧客が商品を購入した実績情報を管理する場合（商品購入履歴管理ＤＢ）である。本テーブルは、項目として、主キー、副キー、レコード区分、氏名、住所、ＴＥＬ（電話番号）、購入商品、型名、その他各種項目を有する。
【０１０９】
図５（ｂ）は、ＤＢ１の図５（ａ）のテーブルを対象としてデータを参照した結果の第１の例である。例えばユーザＵ１（開発者Ａ）によるＤＢ１へのアクセスにつき、図示する指定項目を参照した場合である。ＤＢ１から取り出されたデータの項目のうち、セキュリティマスタ５０の設定（例えば図６（ａ）のユーザＵ１のレコードの設定に対応する）に基づき、参照制限に該当する項目「氏名」「住所」について、ルールＡのマスク処理（図６（ｂ）のテーブルＴ２のルールＡで定義されている）が施された後のデータを示している。
【０１１０】
図５（ｃ）は、ＤＢ１の図５（ａ）のテーブルを対象としてデータを参照した結果の第２の例である。例えばユーザＵ２（開発者Ｂ）によるＤＢ１へのアクセスにつき、図示する指定レコードを参照した場合である。ＤＢ１から取り出されたデータの項目のうち、セキュリティマスタ５０の設定（例えば図６（ａ）のユーザＵ２のレコードの設定に対応する）に基づき、参照制限に該当する項目「氏名」について、ルールＢのマスク処理（図６（ｂ）のテーブルＴ２のルールＢで定義されている）が施された後のデータを示している。なお図５（ｃ）ではマスク位置（Ｔ２のｄ）が１，３，５でマスク文字（置換記号）がアスタリスク（＊）の場合である。
【０１１１】
［マスク処理］
図７は、図６（ｂ）のテーブルＴ２及び図１の各ルール処理部に対応した、各ルールのマスク処理の内容例について示す。
【０１１２】
ルールＡ処理部１３ＡによるルールＡのマスク処理は、内容（例えばプログラム名称）が「連続アスタリスク」である。ルールＡの処理論理は、参照制限に対応したマスク対象エリア（例えば項目）の文字を、すべて（連続的）、所定の記号、例えばアスタリスク（＊）で置き換える（埋める）ものである。
【０１１３】
例えばＴ１の「制限項目１」で指定された項目「氏名」のデータ値が文字列“鈴木＿太郎”のとき（なお“＿”はスペース）、置き換え後のデータ値（マスク済みデータ）は文字列“＊＊＊＊＊”となる。
【０１１４】
ルールＢ処理部１３ＢによるルールＢのマスク処理は、内容が「部分アスタリスク」である。ルールＢの処理論理は、マスク対象エリアの文字を、部分的に、所定の記号、例えばアスタリスク（＊）で置き換えるものである。例えば、１，３，５文字目といったように１文字とびで置き換える。図６のＴ２のように任意にマスク位置（ｄ）の指定及びマスク文字（置換記号）の変更が設定可能となっている。例えばマスク前の値“鈴木＿太郎”は、マスク後の値“＊木＊太＊”となる。
【０１１５】
ルールＣ処理部１３ＣによるルールＣのマスク処理は、内容が「不特定英数字」である。ルールＣの処理論理は、マスク対象エリアの文字を、すべて、不特定（ランダム）の文字に置き換えるものである。置き換えの文字は例えば英数字である。例えばマスク前の値“鈴木＿太郎”は、マスク後の値“ＡＢＣＤＥ”となる。また図６（ｃ）のように項目（制限項目）が例えば同じ「住所」でも、ユーザやＤＢごとにマスク処理を変更可能となっている。
【０１１６】
上記ルール（処理論理）の内容詳細、マスク対象エリア、置換記号などについては、マスタ設定部１１を用いて適宜設定変更が可能である。例えばルールＡ処理部１３Ａ等のプログラムの追加や更新などが可能である。データ利用用途に応じて、その他の各種のルール（例えば文字コード値をシフトして別の文字に変換する等）が適宜設定可能である。また図６（ｃ）のＴ３のように、テーブル上で個別に指定（設定）の無いユーザについては、「その他」のレコードで示すように、対象項目に対して所定のルール（例えばＡ）のマスクが自動的に実施されるように設定可能となっている。
【０１１７】
［マスク処理（ルール）とデータ利用用途（ユーザ属性等）との関係］
本システムでは、マスタ設定部１１及びセキュリティマスタ５０（図６）を用いることで、マスク処理（ルール）とデータ利用用途（ユーザ属性等）との対応関係を柔軟に設定することができる。例えば、データ利用用途として、システム開発用のテストＡ，Ｂ，Ｃ等がある（図３）。これらの各種のテスト処理ごとに、適用するルールのマスク処理を異なるように設定することができる。例えば図６のテーブルでは、ルールＡに対してはデータ利用用途として開発者ＡによるテストＡを関係付け、ルールＢに対しては開発者ＢによるテストＢを関係付けている。例えばルールＡのマスク処理はテストＡに適したマスクデータを生成する処理であり、ルールＢのマスク処理はテストＢに適したマスクデータを生成する処理である。すなわちデータ利用用途（各種のテスト）に適したマスクデータが自動的に得られるので、個人情報保護などを実現しつつ、テストがしやすい等、データ利用の利便性が高いという効果が得られる。
【０１１８】
同様に、システム開発用のテストの例に限らず、異なるデータ利用用途に対してそれぞれ参照制限及び適用ルール（マスク処理）を設定することができる。
【０１１９】
また例えば図７等のルールＡの場合、当該マスクデータでは、対象エリア内の文字がすべてアスタリスク（＊）で隠れるため、例えば氏名などが完全に見えなくなり保護されるが、当該マスクデータの利用用途として例えばテスト処理の内容によっては、ユーザ（開発者等）が当該マスクデータの処理結果を視認（確認）しにくいといった不便があり得る。そのような場合にも、本システムでは、データ利用用途（テスト処理等）の内容に応じて、参照制限及びルールの設定を調整が可能である。例えばテストＡにはルールＡが適し、テストＢにはルールＢが適するといったように効果的な関係付けで設定可能である。これにより、ユーザによるマスクデータの利用の際に、個人情報保護と利便性とのバランスを適切にすることができる。
【０１２０】
［効果・変形例など］
以上説明したように、本実施の形態によれば、（１）ユーザ／ユーザ属性等に応じた参照制限及びマスク処理の制御により、ユーザによるＤＢ１のデータへの不正アクセス・個人情報漏洩などの問題（特に例えばシステム開発者などを含む組織内部のユーザによるＤＢデータの不正な持ち出し等の可能性）に対する有効な対策を実現できる。（２）またマスク処理及びテスト等の作業の手間の削減を実現できる。従来例ではＤＢから取り出したデータに対して別途プログラム処理によりマスクデータを得るといった作業の手間が必要であったが、そのような作業を不要化／削減し、個人情報項目などのマスク（目隠し）が容易に実現できる。（３）また複数（各種）のデータ利用用途（例えばシステム開発用のテスト処理）に応じた柔軟なマスク処理（複数のルールのマスク処理）の実現により情報保護などの効果とデータ利用の利便性の効果とのバランスを実現できる。
【０１２１】
また、従来例では、ＤＢデータに対して別途プログラム処理によりマスクを施す場合、当該作業を行う担当者の目に該当の制限項目（マスク対象）のデータ情報が触れていた。一方、本実施の形態では、ＤＢ１側からデータを取り出して業務プログラム３１等に対してデータを応答する時点で既にマスク処理済みのデータが得られるため、ユーザ（担当者）の目に該当データ情報が全く触れないで済み、即ち個人情報保護等の効果が高い。
【０１２２】
また、本マスク処理は、暗号化処理ではなく、ＤＢ１から取り出されマスク処理されたデータ自体を解読して元のデータを得ることはできない。したがって情報漏洩対策として効果が高い。
【０１２３】
なお、前記特許文献２では、マスキングプログラムを生成する必要があり、また、マスク対象入力は順次ファイルであるという制約がある。一方、本発明（本実施の形態）では、マスキングプログラムを生成することなくＤＢ参照時に直接マスク可能である（マスキングプログラム生成無しにマスク可能である）。また、マスク対象入力は、ＤＢに対して直接可能である（順次ファイルを介さずにマスク可能である）、という利点がある。
【０１２４】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
【０１２５】
例えばＤＢのアクセス管理に限らず他の文書・ファイル等を対象とした同様のアクセス管理システムとしてもよい。またマスク処理の種類を拡張し、テキスト処理に限らずイメージ処理を用いてもよい。また例えばセキュリティボックス１０等を具備する位置は、ＤＢサーバ２に限らず、他の装置としてもよいし、専用のサーバなどを設けてもよい。前述のように、ＤＢ１へのアクセスの際に必ずセキュリティボックス１０の処理を経由するように構成すればよい。
【産業上の利用可能性】
【０１２６】
本発明は、ＤＢなどのデータのアクセス管理システム、システム開発用のシステム、などに利用可能である。
【符号の説明】
【０１２７】
１…ＤＢ、２…ＤＢサーバ、３…ＡＰＰサーバ、４…ＷＷＷサーバ、１０…セキュリティボックス、１１…マスタ設定部、１２…ユーザ確認部、１３…マスク処理部、１３Ａ…ルールＡ処理部、１３Ｂ…ルールＢ処理部、１３Ｃ…ルールＣ処理部、２１…ＤＢアクセス処理部、３１…業務プログラム、４１…ユーザ認証部、５０…セキュリティマスタ、６０，６１，６２…データ利用部、７０，７１，７２…記憶部、１００，１０１，１０２…コンピュータシステム、２００，２０１，２０２…端末、３００…プリンタサーバ／プリンタ、３０１…帳票。
【図１】
0005707250.tif 000002
【図２】
0005707250.tif 000003
【図３】
0005707250.tif 000004
【図４】
0005707250.tif 000005
【図５】
0005707250.tif 000006
【図６】
0005707250.tif 000007
【図７】
0005707250.tif 000008