(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-05-30
(45)【発行日】2023-06-07
(54)【発明の名称】情報処理プログラム、情報処理装置及び情報処理方法
(51)【国際特許分類】
G06F 21/62 20130101AFI20230531BHJP
【FI】
G06F21/62 318
(21)【出願番号】P 2019129149
(22)【出願日】2019-07-11
【審査請求日】2022-04-07
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100094525
【氏名又は名称】土井 健二
(74)【代理人】
【識別番号】100094514
【氏名又は名称】林 恒徳
(72)【発明者】
【氏名】谷口 和博
(72)【発明者】
【氏名】園村 祐輔
【審査官】小林 秀和
(56)【参考文献】
【文献】特開2009-187067(JP,A)
【文献】特開2010-176431(JP,A)
【文献】特開2012-190473(JP,A)
【文献】米国特許出願公開第2018/0330113(US,A1)
【文献】国際公開第2012/039081(WO,A1)
【文献】特開2013-196229(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/62
(57)【特許請求の範囲】
【請求項1】
第2のデータ表に含まれる特定のデータに対するアクセスに伴って、前記特定のデータの秘匿化を行うか否かを示す第1のデータ表に対するアクセスが行われる場合、前記第1のデータ表が
前記第2のデータ表
に従属するか否かを判定し、
前記第1のデータ表が前記第2のデータ表
に従属する場合、前記第1のデータ表に対するアクセス権限として、前記第2のデータ表に対するアクセス権限を承継する、
処理をコンピュータに実行させることを特徴とする情報処理プログラム。
【請求項2】
請求項1において、
前記判定する処理では、前記第1のデータ表に含まれるデータのうちの前記アクセスが行われるデータが承継する前記第2のデータ表が存在するか否かを判定し、
前記承継する処理では、前記第1のデータ表に含まれるデータのうちの前記アクセスが行われるデータに対するアクセス権限として、前記第2のデータ表に対するアクセス権限を承継する、
ことを特徴とする情報処理プログラム。
【請求項3】
請求項1において、さらに、
承継した前記アクセス権限が、前記アクセスの要求元による前記第1のデータ表に対するアクセス権限を含む場合、前記要求元による前記第1のデータ表に対するアクセスを許可する、
処理をコンピュータに実行させることを特徴とする情報処理プログラム。
【請求項4】
請求項1において、
前記アクセスは、前記第1のデータ表及び前記第2のデータ表に対応するデータベースが有する所定の機能の動作に伴って行われるアクセスである、
ことを特徴とする情報処理プログラム。
【請求項5】
請求項4において、
前記所定の機能は、前記データベースの拡張機能である、
ことを特徴とする情報処理プログラム。
【請求項6】
第2のデータ表に含まれる特定のデータに対するアクセスに伴って、前記特定のデータの属性を示す第1のデータ表に対するアクセスが行われる場合、前記第1のデータ表が前記第2のデータ表に従属するか否かを判定し、
前記第1のデータ表が前記第2のデータ表に従属する場合、前記第1のデータ表に対するアクセス権限として、前記第2のデータ表に対するアクセス権限を承継する、
処理をコンピュータに実行させることを特徴とする情報処理プログラム。
【請求項7】
請求項
6において、
前記第1のデータ表は、前記第2のデータ表に含まれるデータの少なくとも一部を含む、
ことを特徴とする情報処理プログラム。
【請求項8】
請求項
6において、
前記第1のデータ表は、前記第2のデータ表に含まれるデータを集計した集計データを含む、
ことを特徴とする情報処理プログラム。
【請求項9】
第2のデータ表に含まれる特定のデータに対するアクセスに伴って、前記特定のデータの秘匿化を行うか否かを示す第1のデータ表に対するアクセスが行われる場合、前記第1のデータ表が
前記第2のデータ表
に従属するか否かを判定する従属判定部と、
前記第1のデータ表が前記第2のデータ表
に従属する場合、前記第1のデータ表に対するアクセス権限として、前記第2のデータ表に対するアクセス権限を承継する権限承継部と、を有する、
ことを特徴とする情報処理装置。
【請求項10】
第2のデータ表に含まれる特定のデータに対するアクセスに伴って、前記特定のデータの属性を示す第1のデータ表に対するアクセスが行われる場合、前記第1のデータ表が前記第2のデータ表に従属するか否かを判定する従属判定部と、
前記第1のデータ表が前記第2のデータ表に従属する場合、前記第1のデータ表に対するアクセス権限として、前記第2のデータ表に対するアクセス権限を承継する権限承継部と、を有する、
ことを特徴とする情報処理装置。
【請求項11】
第2のデータ表に含まれる特定のデータに対するアクセスに伴って、前記特定のデータの秘匿化を行うか否かを示す第1のデータ表に対するアクセスが行われる場合、前記第1のデータ表が
前記第2のデータ表
に従属するか否かを判定し、
前記第1のデータ表が前記第2のデータ表
に従属する場合、前記第1のデータ表に対するアクセス権限として、前記第2のデータ表に対するアクセス権限を承継する、
処理をコンピュータ
が実行
することを特徴とする情報処理方法。
【請求項12】
第2のデータ表に含まれる特定のデータに対するアクセスに伴って、前記特定のデータの属性を示す第1のデータ表に対するアクセスが行われる場合、前記第1のデータ表が前記第2のデータ表に従属するか否かを判定し、
前記第1のデータ表が前記第2のデータ表に従属する場合、前記第1のデータ表に対するアクセス権限として、前記第2のデータ表に対するアクセス権限を承継する、
処理をコンピュータが実行することを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理プログラム、情報処理装置及び情報処理方法に関する。
【背景技術】
【0002】
例えば、ユーザにサービスを提供する事業者(以下、単に事業者とも呼ぶ)は、ユーザに対してサービスの提供を行うための情報処理システムを構築して稼働させる。具体的に、事業者は、例えば、データベースの管理を行うDBMS(DataBase Management System)を用いた情報処理システムの構築を行う。
【0003】
このようなDBMSでは、一般的に、拡張機能(プラグイン)の開発や実行を可能とする基盤が提供されている。これを用いることにより、事業者は、データベースの機能の拡張を必要なタイミングにおいて行うことが可能になる(例えば、特許文献1及び2参照)。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2009-146198号公報
【文献】特開2000-137735号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
上記のようにデータベースの機能を拡張する場合において、各種のポリシー設定(メタ情報)が必要なる場合、事業者は、例えば、データベースの表(以下、ポリシー表とも呼ぶ)を作成することによってポリシー設定の管理を行う。これにより、事業者は、拡張機能の生産性や異なるDBMSへの移植性等を向上させることが可能になる。
【0006】
ここで、上記のようにポリシー表を用いた管理を行う場合、事業者は、拡張機能を正常に動作させる必要性から、アクセス対象のデータが格納されたデータベースの表(以下、データ表とも呼ぶ)とポリシー表とをそれぞれ参照可能な状態にする必要がある。
【0007】
しかしながら、ポリシー表に対するアクセス権限を全てのユーザに対して与える場合、ポリシー表の内容が全てのユーザから参照可能な状態になる。そのため、例えば、悪意のユーザが存在する場合、事業者は、ポリシー設定の漏洩を防止することができなくなる。
【0008】
これに対し、例えば、ポリシー表に対するアクセス権限をDBMSの管理者(以下、DB管理者とも呼ぶ)のみに与えた場合、事業者は、悪意のユーザによるポリシー表の参照を防止することが可能になり、ポリシー設定の漏洩を防止することが可能になる。
【0009】
しかしながら、この場合、例えば、拡張機能の開発者とDB管理者との間において多くのやり取りが発生することになり、拡張機能の柔軟な開発が行われなくなる可能性がある。
【0010】
そこで、一つの側面では、本発明は、ポリシー表に対するアクセス制御を効率的に行うことを可能とする情報処理プログラム、情報処理装置及び情報処理方法を提供することを目的とする。
【課題を解決するための手段】
【0011】
実施の形態の一態様では、第1のデータ表に対するアクセスが行われる場合、前記第1のデータ表が従属する第2のデータ表が存在するか否かを判定し、前記第2のデータ表が存在する場合、前記第1のデータ表に対するアクセス権限として、前記第2のデータ表に対するアクセス権限を承継する、処理をコンピュータに実行させる。
【発明の効果】
【0012】
一つの側面によれば、ポリシー表に対するアクセス制御を効率的に行うことを可能とする。
【図面の簡単な説明】
【0013】
【
図1】
図1は、情報処理システム10の構成について説明する図である。
【
図2】
図2は、情報処理装置1のハードウエア構成を説明する図である。
【
図3】
図3は、情報処理装置1の機能のブロック図である。
【
図4】
図4は、第1の実施の形態におけるアクセス制御処理の概略を説明するフローチャート図である。
【
図5】
図5は、第1の実施の形態の具体例を説明する図である。
【
図6】
図6は、第1の実施の形態の具体例を説明する図である。
【
図7】
図7は、第1の実施の形態におけるアクセス制御処理の詳細を説明するフローチャート図である。
【
図8】
図8は、第1の実施の形態におけるアクセス制御処理の詳細を説明するフローチャート図である。
【
図9】
図9は、第1の実施の形態におけるアクセス制御処理の詳細を説明するフローチャート図である。
【
図10】
図10は、第1の実施の形態におけるアクセス制御処理の詳細を説明するフローチャート図である。
【
図11】
図11は、第1の実施の形態におけるアクセス制御処理の詳細を説明するフローチャート図である。
【
図12】
図12は、秘匿化ポリシー表TB1の具体例について説明する図である。
【
図13】
図13は、従属情報131の具体例について説明する図である。
【
図14】
図14は、権限情報132の具体例について説明する図である。
【
図15】
図15は、第2の実施の形態の概略を説明する図である。
【
図16】
図16は、第2の実施の形態の概略を説明する図である。
【
図17】
図17は、第2の実施の形態の概略を説明する図である。
【
図18】
図18は、第2の実施の形態におけるアクセス制御処理の詳細を説明するフローチャート図である。
【
図19】
図19は、第2の実施の形態におけるアクセス制御処理の詳細を説明するフローチャート図である。
【
図20】
図20は、第2の実施の形態におけるアクセス制御処理の詳細を説明するフローチャート図である。
【
図21】
図21は、第2の実施の形態におけるアクセス制御処理の詳細を説明するフローチャート図である。
【
図22】
図22は、統計情報表TB3の具体例について説明する図である。
【発明を実施するための形態】
【0014】
[情報処理システムの構成]
初めに、情報処理システム10の構成について説明を行う。
図1は、情報処理システム10の構成について説明する図である。
【0015】
図1に示すように、情報処理システム10は、例えば、1台以上の物理マシンまたは仮想マシンによって構成される情報処理装置1と、情報処理装置1がアクセス可能なデータベースDBと、ユーザが各種情報の入力等を行うPC(Personal Computer)である操作端末5とを有する。以下、情報処理装置1においてDBMSが動作しており、データベースDBに格納されたデータの秘匿化機能を拡張機能として有しているものとして説明を行う。
【0016】
データベースDBは、例えば、ポリシー表TB1(以下、第1のデータ表TB1とも呼ぶ)と、データ表TB2(以下、第2のデータ表TB2とも呼ぶ)とを格納する。以下、ポリシー表TB1が、秘匿化のポリシー設定(以下、秘匿化ポリシーとも呼ぶ)に関するポリシー表(以下、秘匿化ポリシー表TB1とも呼ぶ)であるものとして説明を行う。
【0017】
情報処理装置1は、例えば、ユーザが操作端末5を介してデータ表TB2に含まれるデータのアクセス要求(参照要求)を入力した場合、そのアクセス要求に対応するデータをデータベースDBから取得する。そして、情報処理装置1は、秘匿化ポリシー表TB1を参照し、取得したデータに対応する秘匿化ポリシーを特定する。さらに、情報処理装置1は、取得したデータに対して、特定した秘匿化ポリシーに対応する秘匿化を行う。その後、情報処理装置1は、秘匿化を行ったデータを操作端末5に出力する。
【0018】
これにより、情報処理装置1は、秘匿化対象のデータがユーザに閲覧されないように制御することが可能になる。
【0019】
ここで、上記のように秘匿化ポリシー表TB1を用いたポリシー設定の管理を行う場合、事業者は、アクセス要求に対応するデータの秘匿化を可能にするために、秘匿化ポリシー表TB1とポリシー表TB2とのそれぞれを参照可能な状態にする必要がある。
【0020】
しかしながら、秘匿化ポリシー表TB1に対するアクセス権限を全てのユーザに対して与える場合、秘匿化ポリシー表TB1が全てのユーザから参照可能な状態になる。そのため、例えば、悪意のユーザが存在する場合、事業者は、ポリシー設定の漏洩を防止することができなくなる。
【0021】
これに対し、事業者は、例えば、秘匿化ポリシー表TB1に対するアクセス権限をDBMSの管理者に対してのみに与えることにより、ポリシー設定の漏洩を防止することが可能になる。
【0022】
しかしながら、この場合、例えば、拡張機能の開発者とDB管理者との間において多くのやり取りが発生することになり、拡張機能の柔軟な開発が行われなくなる可能性がある。
【0023】
そこで、本実施の形態における情報処理装置1は、秘匿化ポリシー表TB1に対するアクセスが行われる場合、秘匿化ポリシー表TB1が従属するデータ表TB2が存在するか否かを判定する。そして、情報処理装置1は、秘匿化ポリシー表TB1が従属するデータ表TB2が存在すると判定した場合、秘匿化ポリシー表TB1に対するアクセス権限として、データ表TB2に対するアクセス権限を承継する。
【0024】
すなわち、情報処理装置1は、秘匿化ポリシー表TB1がデータ表TB2に従属している場合、データ表TB2に対するアクセス権限として、秘匿化ポリシー表TB1に対するアクセス権限を適用することが可能であると判断する。そのため、情報処理装置1は、この場合、秘匿化ポリシー表TB1に対するアクセス権限として、データ表TB2に対するアクセス権限を用いる。
【0025】
具体的に、情報処理装置1は、例えば、秘匿化ポリシー表TB1に対するアクセスが拡張機能を経由して行われた場合に、秘匿化ポリシー表TB1に対するアクセス権限として、データ表TB2に対するアクセス権限を用いる。
【0026】
これにより、情報処理装置1は、秘匿化ポリシー表TB1に対するアクセス権限を全てのユーザに対して与える必要がなくなる。また、情報処理装置1は、秘匿化ポリシー表TB1に対するアクセス権限をDB管理者に限定する必要がなくなる。そのため、情報処理装置1は、秘匿化ポリシー表TB1を用いることによってポリシー設定の管理を行う場合であっても、ポリシー設定の漏洩を防止しつつ、機能拡張の柔軟な開発を実現することが可能になる。
【0027】
[情報処理システムのハードウエア構成]
次に、情報処理システム10のハードウエア構成について説明する。
図2は、情報処理装置1のハードウエア構成を説明する図である。
【0028】
情報処理装置1は、
図2に示すように、プロセッサであるCPU101と、メモリ102と、外部インターフェース(I/Oユニット)103と、記憶媒体104とを有する。各部は、バス105を介して互いに接続される。
【0029】
記憶媒体104は、例えば、秘匿化ポリシー表TB1に対するアクセス権限を制御する処理(以下、アクセス制御処理とも呼ぶ)を行うためのプログラム110を記憶するプログラム格納領域(図示しない)を有する。また、記憶媒体104は、例えば、アクセス制御処理を行う際に用いられる情報を記憶する記憶部130(以下、情報格納領域130とも呼ぶ)を有する。なお、記憶媒体104は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)であってよい。
【0030】
CPU101は、記憶媒体104からメモリ102にロードされたプログラム110を実行してアクセス制御処理を行う。
【0031】
また、外部インターフェース103は、例えば、操作端末5等との通信を行う。
【0032】
[情報処理システムの機能]
次に、情報処理システム10の機能について説明を行う。
図3は、情報処理装置1の機能のブロック図である。
【0033】
情報処理装置1は、
図3に示すように、例えば、CPU101やメモリ102等のハードウエアとプログラム110とが有機的に協働することにより、要求受付部111と、データアクセス部112と、従属判定部113と、権限承継部114と、権限判定部115と、データ秘匿部116と、データ出力部117とを含む各種機能を実現する。
【0034】
また、情報処理装置1は、例えば、
図3に示すように、従属情報131と、権限情報132とを情報格納領域130に記憶する。
【0035】
要求受付部111は、データベースDBに格納されたデータ表TB2に対するアクセス要求を受け付ける。具体的に、要求受付部111は、例えば、ユーザが操作端末5を介して行ったアクセス要求を受け付ける。
【0036】
データアクセス部112は、データベースDBに格納されたデータ表TB2にアクセスし、要求受付部111が受け付けたアクセス要求に対応するデータを取得する。
【0037】
従属判定部113は、データベースDBに格納された秘匿化ポリシー表TBに対するアクセスが行われる場合、秘匿化ポリシー表TB1が従属するデータ表TB2が存在するか否かを判定する。
【0038】
具体的に、従属判定部113は、例えば、データアクセス部112がデータ表TB2からデータを取得したことに伴って、秘匿化ポリシー表TB1に含まれる秘匿化ポリシーに対してアクセスを行う必要が生じた場合、アクセスを行う必要が生じた秘匿化ポリシーが従属するデータ表TB2が存在するか否かを判定する。
【0039】
権限承継部114は、秘匿化ポリシー表TB1が従属するデータ表TB2が存在すると従属判定部113が判定した場合、秘匿化ポリシー表TB1に対するアクセス権限として、従属判定部113が存在すると判定したデータ表TB2に対するアクセス権限を承継する。
【0040】
具体的に、権限承継部114は、例えば、秘匿化ポリシーTB1に含まれる秘匿化ポリシーのうち、アクセスを行う必要が生じた秘匿化ポリシーに対するアクセス権限として、従属判定部113が存在すると判定したデータ表TB2に対するアクセス権限を承継する。
【0041】
権限判定部115は、権限承継部114によって承継されたアクセス権限に、要求受付部111が受け付けたアクセス要求を行ったユーザのアクセス権限が含まれているか否かを判定する。
【0042】
そして、データアクセス部112は、アクセス要求を行ったユーザのアクセス権限が含まれている権限判定部115が判定した場合、データベースDBに格納された秘匿化ポリシー表TB1にアクセスし、アクセスを行う必要が生じた秘匿化ポリシー(要求受付部111が受け付けたアクセス要求に対応するデータ表TB2に関する秘匿化ポリシー)を取得する。
【0043】
データ秘匿部116は、データアクセス部112がデータ表TB2から取得したデータに対して、データアクセス部112が秘匿化ポリシー表TB1から取得した秘匿化ポリシーに対応する秘匿化を行う。
【0044】
データ出力部117は、データ秘匿部116が秘匿化を行ったデータを出力する。具体的に、データ出力部117は、例えば、データ秘匿部116が秘匿化を行ったデータを、要求受付部111が受け付けたアクセス要求を行った操作端末5に出力する。
【0045】
[第1の実施の形態の概略]
次に、第1の実施の形態の概略について説明する。
図4は、第1の実施の形態におけるアクセス制御処理の概略を説明するフローチャート図である。
【0046】
なお、以下の例では、秘匿化ポリシー表TB1がデータベースDBに格納されている場合について説明を行うが、秘匿化ポリシー表TB1は、例えば、情報処理装置1内の記憶領域(例えば、情報格納領域130)に記憶されるものであってもよい。
【0047】
従属判定部113は、
図4に示すように、データベースDBに格納された秘匿化ポリシー表TB1に対するアクセスが行われることを検知するまで待機する(S1のNO)。具体的に、従属判定部113は、要求受付部111が受け付けたアクセス要求に対応するデータをデータアクセス部112が取得するまで待機する。
【0048】
そして、秘匿化ポリシー表TB1に対するアクセスが行われることを検知した場合(S1のYES)、従属判定部113は、S1の処理で受け付けたアクセス要求に対応する秘匿化ポリシー表TB1が従属するデータ表TB2が存在するか否かを判定する(S2)。
【0049】
その結果、データ表TB2が存在すると判定した場合(S3のYES)、権限承継部114は、S1の処理で受け付けたアクセス要求に対応する秘匿化ポリシー表TB1に対するアクセス権限として、S2の処理で存在すると判定したデータ表TB2に対するアクセス権限を承継する(S4)。
【0050】
一方、データ表TB2が存在しないと判定した場合(S3のNO)、権限承継部114は、S4の処理を行わない。
【0051】
これにより、情報処理装置1は、秘匿化ポリシー表TB1に対するアクセス権限を全てのユーザに対して与える必要がなくなる。また、情報処理装置1は、秘匿化ポリシー表TB1に対するアクセス権限をDB管理者に限定する必要がなくなる。そのため、情報処理装置1は、秘匿化ポリシー表TB1を用いることによってポリシー設定の管理を行う場合であっても、ポリシー設定の漏洩を防止しつつ、機能拡張の柔軟な開発を実現することが可能になる。
【0052】
また、情報処理装置1は、秘匿化ポリシー表TB1に対するアクセス権限の管理を自動的に行うことが可能になる。そのため、情報処理装置1は、秘匿化ポリシー表TB1に対するアクセス権限の管理に伴う負荷を軽減させることが可能になる。
【0053】
[第1の実施の形態の具体例]
次に、第1の実施の形態の具体例について説明を行う。
図5及び
図6は、第1の実施の形態の具体例を説明する図である。
【0054】
図5等に示すデータベースDBには、秘匿化ポリシー表TB1、データ表TB2-1、データ表TB2-2及びデータ表TB2-3が格納されている。また、
図5等に示す例において、秘匿化ポリシー表TB1には、秘匿化ポリシーPL1-1、秘匿化ポリシーPL1-2及び秘匿化ポリシーPL1-3の各行がそれぞれ含まれている。さらに、
図5等に示す例において、秘匿化ポリシーPL1-1、秘匿化ポリシーPL1-2及び秘匿化ポリシーPL1-3のそれぞれは、データ表TB2-1、データ表TB2-2及びデータ表TB2-3にそれぞれ従属している。
【0055】
具体的に、例えば、ユーザが操作端末5を介してデータ表2-1に対するアクセス要求(例えば、SQL文によるアクセス要求)を送信した場合、情報処理装置1は、データベースDBに格納されたデータ表TB2-1にアクセスし、操作端末5から送信されたアクセス要求に対応するデータを取得する。
【0056】
そして、情報処理装置1は、
図5に示すように、操作端末5から送信されたアクセス要求に対応するデータの秘匿化を行うために、秘匿化ポリシー表TB1に含まれる秘匿化ポリシーPL1-1に対してアクセスを行う必要性が発生したと判定し、秘匿化ポリシーPL1-1が従属する表であるデータ表TB2-1を特定する。
【0057】
さらに、情報処理装置1は、
図6に示すように、特定したデータ表TB2-1のアクセス権限に、アクセス要求を行ったユーザのアクセス権限が含まれているか否かを判定する。具体的に、情報処理装置1は、例えば、アクセス要求が拡張機能からのアクセス要求であり、かつ、アクセス要求を行ったユーザのアクセス権限がデータ表TB2-1のアクセス権限に含まれているか否かについての判定を行う。その結果、アクセス要求を行ったユーザのアクセス権限が含まれていると判定した場合、情報処理装置1は、秘匿化ポリシー表TB1に対するアクセスを行って秘匿化ポリシーPL1-1を取得する。
【0058】
その後、情報処理装置1は、データ表TB2-1から取得したデータ(アクセス要求に対応するデータ)を秘匿化ポリシーPL1-1に従って秘匿化し、秘匿化したデータを操作端末5に出力する。
【0059】
[第1の実施の形態の詳細]
次に、第1の実施の形態の詳細について説明する。
図7から
図11は、第1の実施の形態におけるアクセス制御処理の詳細を説明するフローチャート図である。また、
図12から
図14は、第1の実施の形態におけるアクセス制御処理の詳細を説明する図である。
【0060】
[データアクセス処理(1)]
初めに、データベースDBに格納されたデータ表TB2に含まれるデータに対してアクセスを行う処理(以下、データアクセス処理とも呼ぶ)について説明を行う。
図7及び
図8は、データアクセス処理を説明するフローチャート図である。
【0061】
要求受付部111は、
図7に示すように、データ表TB2に含まれるデータに対するアクセス要求を受け付けるまで待機する(S101のNO)。具体的に、要求受付部111は、例えば、ユーザが操作端末5を介してアクセス要求を送信するまで待機する。
【0062】
そして、データ表TB2に含まれるデータに対するアクセス要求を受け付けた場合(S101のYES)、データアクセス部112は、データベースDBに格納されたデータ表TB2にアクセスし、S101の処理でアクセス要求を受け付けたデータを取得する(S102)。
【0063】
続いて、データアクセス部112は、データベースDBに格納された秘匿化ポリシー表TB1に含まれる秘匿化ポリシーのうち、S102の処理で取得したデータに対応する秘匿化ポリシーを特定する(S103)。以下、秘匿化ポリシー表TB1の具体例について説明を行う。
【0064】
[秘匿化ポリシー表の具体例]
図12は、秘匿化ポリシー表TB1の具体例について説明する図である。
【0065】
図12に示す秘匿化ポリシー表TB1は、各秘匿化ポリシーを識別する「項番」と、各データ表TB2を特定する「表ID」と、各データ表TB2における秘匿化対象のデータを特定する「対象」と、秘匿化ポリシーの内容が記憶される「秘匿化ポリシー」とを項目として有する。
【0066】
具体的に、
図12に示す秘匿化ポリシー表TB1において、「項番」が「1」である情報には、「表ID」として「101」が記憶されており、「対象」として「列A」が記憶されており、「秘匿化ポリシー」として「市外局番以外を*に変更」が記憶されている。すなわち、「項番」が「1」であるポリシーは、表IDが101である表の列Aに対するアクセス要求があった場合、そのアクセス要求に対応するデータのうち、市外局番以外のデータの全てを*に変更してから出力する旨を示している。
【0067】
また、
図12に示す秘匿化ポリシー表TB1において、「項番」が「2」である情報には、「表ID」として「102」が記憶されており、「対象」として「なし」が記憶されており、「秘匿化ポリシー」として「なし」が記憶されている。すなわち、「項番」が「2」であるポリシーは、表IDが102である表に対するアクセス要求があった場合、そのアクセス要求に対応するデータを秘匿化することなく出力する旨を示している。
図12に含まれる他の情報についての説明は省略する。
【0068】
そして、例えば、「表ID」が「101」であるデータ表TB2に、S102の処理で取得したデータが含まれていた場合、データアクセス部112は、S103の処理において、
図12に示す秘匿化ポリシー表TB1に含まれる秘匿化ポリシーのうち、「表ID」が「101」である秘匿化ポリシー(「項番」が「1」である秘匿化ポリシー)を特定する。
【0069】
図7に戻り、情報処理装置1は、秘匿化ポリシー表TB1に対するアクセス制御処理の実行を開始する。なお、データアクセス部112は、この場合、S103の処理で特定した秘匿化ポリシーに対するアクセス要求を従属判定部113に送信するものであってもよい。以下、アクセス制御処理について説明を行う。
【0070】
[アクセス制御処理]
図9から
図11は、アクセス制御処理を説明するフローチャート図である。
【0071】
従属判定部113は、
図9に示すように、アクセス制御タイミングになるまで待機する(S11のNO)。アクセス制御タイミングは、例えば、S103の処理で特定した秘匿化ポリシーに対するアクセス要求をデータアクセス部112から受信したタイミングであってよい。
【0072】
そして、アクセス制御タイミングになった場合(S11のYES)、従属判定部113は、情報格納領域130に記憶された従属情報131を参照し、S103の処理で特定した秘匿化ポリシーが従属するデータ表TB2が存在するか否かを判定する(S12)。以下、従属情報131の具体例について説明を行う。
【0073】
[従属情報の具体例]
図13は、従属情報131の具体例について説明する図である。
【0074】
図13に示す従属情報131は、各情報を識別する「項番」と、各表を特定する「表ID」と、各表が従属する表を特定する「従属先」とを項目として有している。なお、以下、表IDが101、102または103である表がデータ表TB2であり、表IDが201である表が秘匿化ポリシー表TB1であるものとして説明を行う。
【0075】
具体的に、
図13に示す従属情報131において、例えば、「項番」が「1」である情報には、「表ID」として「101」が記憶され、「従属先」として「なし」が記憶されている。
【0076】
また、
図13に示す従属情報131において、例えば、「項番」が「4」である情報には、「表ID」として「201」が記憶され、「従属先」として「あり」が記憶されている。
図13に含まれる他の情報についての説明は省略する。
【0077】
すなわち、
図13に示す従属情報131において、秘匿化ポリシー表TB1に対応する情報(「項番」が「4」である情報)の「従属先」には、従属先が存在していることを示す「あり」が記憶されている。
【0078】
そのため、例えば、S103の処理において、
図12で説明した秘匿化ポリシー表TB1のうち、「表ID」が「101」である表に対応する秘匿化ポリシー(「項番」が「1」である秘匿化ポリシー)が特定されている場合、従属判定部113は、S12の処理において、S103の処理で特定した秘匿化ポリシーが従属するデータ表TB2として、「表ID」が「101」である表が存在すると判定する。
【0079】
図9に戻り、S103の処理で特定した秘匿化ポリシーが従属するデータ表TB2が存在すると判定した場合(S13のYES)、権限承継部114は、情報格納領域130に記憶された権限情報132を参照し、秘匿化ポリシー表TB1についてのセキュリティが有効であるか否かを判定する(S14)。以下、権限情報132の具体例について説明を行う。
【0080】
[権限情報の具体例]
図14は、権限情報132の具体例について説明する図である。
【0081】
図14に示す権限情報132は、各情報を識別する「項番」と、各表を特定する「表ID」と、各表に対するアクセス権限を有するユーザの情報を示す「アクセス権限」とを項目として有する。また、
図14に示す権限情報132は、各表に対するセキュリティ(例えば、悪意のユーザ等による不正なアクセスを防止するためのセキュリティ)が有効であるか否かを示す「セキュリティ」と、各表が従属先のアクセス権限を承継しているか否かを示す「権限承継」と、各表が従属先から承継しているアクセス権限の範囲を示す「承継の範囲」とを項目として有する。
【0082】
具体的に、
図14に示す権限情報132において、例えば、「項番」が「1」である情報には、「表ID」として「101」が記憶され、「アクセス権限」として「ユーザA、ユーザD、・・・」が記憶されている。また、
図14に示す権限情報132において、「項番」が「1」である情報には、「セキュリティ」として「NO」が記憶され、「権限承継」として「NO」が記憶され、「承継の範囲」として「なし」が記憶されている。
【0083】
すなわち、「項番」が「1」である情報は、表IDが101である表に対してユーザA及びユーザD等がアクセス可能であることを示している。また、「項番」が「1」である情報は、表IDが101である表に関するセキュリティが無効であることを示している。さらに、「項番」が「1」である情報は、表IDが101である表に対して、アクセス権限の承継が行われていないことを示している。
【0084】
また、
図14に示す権限情報132において、例えば、「項番」が「4」である情報には、「表ID」として「201」が記憶され、「アクセス権限」として「表管理者」が記憶されている。また、
図14に示す権限情報132において、「項番」が「4」である情報には、「セキュリティ」として「YES」が記憶され、「権限承継」として「YES」が記憶され、「承継の範囲」として「拡張機能」が記憶されている。
【0085】
すなわち、「項番」が「4」である情報は、表IDが201である表に対して表管理者がアクセス可能であることを示している。また、「項番」が「4」である情報は、表IDが201である表に関するセキュリティが有効であることを示している。さらに、「項番」が「4」である情報は、表IDが201である表に対して、拡張機能についてのアクセス権限の承継が行われていることを示している。
【0086】
また、
図14に示す権限情報132において、例えば、「項番」が「5」である情報には、「表ID」として「202」が記憶され、「アクセス権限」として「表管理者」が記憶されている。また、
図14に示す権限情報132において、「項番」が「5」である情報には、「セキュリティ」として「YES」が記憶され、「権限承継」として「YES」が記憶され、「承継の範囲」として「ユーザ」が記憶されている。
【0087】
すなわち、「項番」が「5」である情報は、表IDが202である表に対して表管理者がアクセス可能であることを示している。また、「項番」が「5」である情報は、表IDが202である表に関するセキュリティが有効であることを示している。さらに、「項番」が「5」である情報は、表IDが202である表に対して、アクセス要求を行うユーザについてのアクセス権限の承継が行われていることを示している。
図14に含まれる他の情報についての説明は省略する。
【0088】
そのため、従属判定部113は、S14の処理において、例えば、
図14に示す権限情報132を参照し、秘匿化ポリシー表TB1(「表ID」が「201」である表)についてのセキュリティが有効であると判定する。
【0089】
図9に戻り、秘匿化ポリシー表TB1についての行毎のセキュリティが有効であると判定した場合(S15のYES)、権限承継部114は、情報格納領域130に記憶された権限情報132を参照し、データ表TB2に対するアクセス権限を秘匿化ポリシー表TB1が承継しているか否かを判定する(S16)。
【0090】
具体的に、
図14で説明した権限情報132において、「表ID」が「201」である情報(「項番」が「4」である情報)の「権限承継」には、「YES」が記憶されている。そのため、権限承継部114は、S16の処理において、秘匿化ポリシー表TB1(「表ID」が「201」である表)がアクセス権限を承継していると判定する。
【0091】
なお、権限情報132は、秘匿化ポリシー表TB1に含まれる行(秘匿化ポリシー)ごとのセキュリティを含むものであってよい。そして、権限承継部114は、この場合、S14の処理において、秘匿化ポリシー表TB1のうち、S103の処理で特定した秘匿化ポリシーについてのセキュリティが有効であるか否かを判定するものであってよい。さらに、権限承継部114は、秘匿化ポリシー表TB1のうち、S103の処理で特定した秘匿化ポリシーについてのセキュリティが有効であると判定した場合、秘匿化ポリシー表TB1のうち、S103の処理で特定した秘匿化ポリシーがデータ表TB2に対するアクセス権限を承継しているか否かの判定を行うものであってよい(S15、S16)。
【0092】
その結果、
図10に示すように、データ表TB2に対するアクセス権限を承継していると判定した場合(S21のYES)、権限承継部114は、情報格納領域130に記憶された権限情報132を参照し、S16の処理で承継していると判定したアクセス権限の範囲に拡張機能が含まれているか否かを判定する(S22)。
【0093】
具体的に、
図14で説明した権限情報132において、「表ID」が「201」である情報(「項番」が「4」である情報)の「承継の範囲」には、「拡張機能」が記憶されている。そのため、権限承継部114は、S22の処理において、秘匿化ポリシー表TB1(「表ID」が「201」である表)が拡張機能のアクセス権限を承継していると判定する。
【0094】
そして、S16の処理で承継していると判定したアクセス権限の範囲に拡張機能が含まれていると判定した場合(S23のYES)、権限承継部114は、情報格納領域130に記憶された権限情報132を参照し、S12の処理で存在したデータ表TB2に対するアクセス権限を特定する(S24)。
【0095】
具体的に、
図14で説明した権限情報132において、「表ID」が「101」である情報(「項番」が「1」である情報)の「アクセス権限」には、「ユーザA、ユーザD、・・・」が記憶されている。そのため、権限承継部114は、S24の処理において、例えば、表IDが101である表に対してユーザA及びユーザDがアクセスできる旨を含む情報を特定する。
【0096】
続いて、権限判定部115は、S24の処理で特定したアクセス権限に、S101の処理で受け付けたアクセス要求を行ったユーザに対応するアクセス権限が含まれているか否かを判定する(S25)。
【0097】
具体的に、例えば、S101の処理で受け付けたアクセス要求を行ったユーザがユーザDである場合、権限判定部115は、S25の処理において、表IDが101である表に対するアクセス権限に、ユーザDによるアクセス権限が含まれていると判定する。
【0098】
その結果、S101の処理で受け付けたアクセス要求を行ったユーザに対応するアクセス権限が含まれていると判定した場合(S26のYES)、権限判定部115は、
図11に示すように、S103の処理で特定した秘匿化ポリシーに対するアクセスを許可する(S34)。
【0099】
一方、S13の処理において、S103の処理で特定した秘匿化ポリシーが従属するデータ表TB2が存在しないと判定した場合(S13のNO)、権限判定部115は、
図11に示すように、情報格納領域130に記憶された権限情報132を参照し、S103の処理で特定した秘匿化ポリシーに対するアクセス権限を特定する(S31)。
【0100】
そして、権限判定部115は、S31の処理で特定したアクセス権限に、S101の処理で受け付けたアクセス要求を行ったユーザに対応するアクセス権限が含まれているか否かを判定する(S32)。
【0101】
その結果、S101の処理で受け付けたアクセス要求を行ったユーザに対応するアクセス権限が含まれていると判定した場合(S33のYES)、権限判定部115は、S103の処理で特定した秘匿化ポリシーに対するアクセスを許可する(S34)。
【0102】
また、S101の処理で受け付けたアクセス要求を行ったユーザに対応するアクセス権限が含まれていないと判定した場合(S33のNO)、権限判定部115は、S34の処理を行わない。なお、情報処理装置1は、この場合、処理の実行を中断するものであってよい。そして、事業者は、S101の処理で受け付けたアクセス要求を行ったユーザに対応するアクセス権限が、S31の処理で特定したアクセス権限に含まれていなかったことについての調査等を行うものであってもよい。
【0103】
また、S103の処理で特定した秘匿化ポリシーについての行毎のセキュリティが無効であると判定した場合(S15のNO)や、S12の処理で存在したデータ表TB2に対するアクセス権限を承継していないと判定した場合についても同様に(S21のNO)、権限判定部115は、S31以降の処理を行う。さらに、S16の処理で承継していると判定したアクセス権限の範囲に拡張機能が含まれていないと判定した場合(S23のNO)や、S101の処理で受け付けたアクセス要求を行ったユーザに対応するアクセス権限が含まれていないと判定した場合についても同様に(S26のNO)、権限判定部115は、S31以降の処理を行う。
【0104】
[データアクセス処理(2)]
図8に戻り、データアクセス部112は、アクセス制御処理において、S103の処理で特定した秘匿化ポリシーに対するアクセスが許可されているか否かを判定する(S111)。
【0105】
その結果、S103の処理で特定した秘匿化ポリシーに対するアクセスが許可されていると判定した場合(S111のYES)、データアクセス部112は、S103の処理で特定した秘匿化ポリシーにアクセスする(S112)。
【0106】
そして、データ秘匿部116は、S112の処理でアクセスした秘匿化ポリシーに従って、S102の処理で取得したデータの秘匿化を行う(S113)。
【0107】
その後、データ出力部117は、S113の処理で秘匿化を行ったデータを出力する(S114)。具体的に、データ出力部117は、例えば、S113の処理で秘匿化を行ったデータを操作端末5に出力する。
【0108】
一方、S103の処理で特定した秘匿化ポリシーに対するアクセスが許可されていないと判定した場合(S111のNO)、データアクセス部112等は、S112以降の処理を行わない。なお、情報処理装置1は、この場合、処理の実行を中断するものであってよい。そして、事業者は、S103の処理で特定した秘匿化ポリシーに対するアクセスが許可されていなかったことについての調査等を行うものであってもよい。
【0109】
このように、本実施の形態における情報処理装置1は、秘匿化ポリシー表TB1に対するアクセスが行われる場合、秘匿化ポリシー表TB1が従属するデータ表TB2が存在するか否かを判定する。そして、情報処理装置1は、データ表TB2が存在すると判定した場合、秘匿化ポリシー表TB1に対するアクセス権限として、データ表TB2に対するアクセス権限を承継する。
【0110】
すなわち、情報処理装置1は、秘匿化ポリシー表TB1がデータ表TB2に従属している場合、データ表TB2に対するアクセス権限として、秘匿化ポリシー表TB1に対するアクセス権限が適用可能であると判断する。そのため、情報処理装置1は、この場合、秘匿化ポリシー表TB1に対するアクセス権限として、データ表TB2に対するアクセス権限を用いる。
【0111】
これにより、情報処理装置1は、秘匿化ポリシー表TB1に対するアクセス権限を全てのユーザに対して与える必要がなくなる。また、情報処理装置1は、秘匿化ポリシー表TB1に対するアクセス権限をDB管理者に限定する必要がなくなる。そのため、情報処理装置1は、秘匿化ポリシー表TB1を用いることによってポリシー設定の管理を行う場合であっても、ポリシー設定の漏洩を防止しつつ、機能拡張の柔軟な開発を実現することが可能になる。
【0112】
また、情報処理装置1は、秘匿化ポリシー表TB1に対するアクセス権限の管理を自動的に行うことが可能になる。そのため、情報処理装置1は、秘匿化ポリシー表TB1に対するアクセス権限の管理に伴う負荷を軽減させることが可能になる。
【0113】
なお、データアクセス部112は、
図8等で説明したように、アクセス制御処理によってポリシー表TB1に対するアクセスが認められた場合に限り、秘匿化ポリシー表TB1に対するアクセスを行うものであってよい。一方、データアクセス部112は、例えば、秘匿化ポリシー表TB1に対して直接アクセスするためのアクセス要求があった場合、そのアクセス要求に対応するアクセスを行わないものであってよい。
【0114】
具体的に、情報処理装置1は、例えば、秘匿化ポリシー表TB1に対するアクセス権限を、秘匿化ポリシー表TB1の表管理者に限定するものであってよい。そして、情報処理装置1は、秘匿化ポリシー表TB1に対するアクセス権限を持たないユーザが、拡張機能に対応する処理(例えば、
図7及び
図8で説明したS104からS113の処理)を実行する場合、そのユーザに対して秘匿化ポリシー表TB1の表管理者権限を与えるものであってよい。
【0115】
これにより、情報処理装置1は、秘匿化ポリシー表TB1に対するアクセスが拡張機能を経由して行われた場合に限り、秘匿化ポリシー表TB1に対するアクセスを許可することが可能になる。そのため、情報処理装置1は、悪意のユーザによる秘匿化ポリシー表TB1へのアクセスをより精度良く防止することが可能になる。
【0116】
[第2の実施の形態の概略]
次に、第2の実施の形態の概略について説明する。
図15は、第2の実施の形態の概略を説明する図である。
【0117】
第2の実施の形態におけるアクセス制御処理は、第1の実施の形態におけるアクセス制御処理のように、データベースDBに格納された秘匿化ポリシー表TB1に対するアクセス要求が発生した場合に行われる処理と異なり、
図15に示すように、データベースDBに格納された統計情報表TB3に対するアクセス要求が発生した場合に行われる処理である。
【0118】
統計情報表TB3は、各データ表TB2に含まれるデータの特徴(属性)を示す表であり、例えば、各データ表TB2に対するアクセスプランの作成に用いられる表である。具体的に、統計情報表TB3は、例えば、データ表TB2に含まれるデータの一部やデータのサマリ等が含まれる表である。また、統計情報表TB3は、例えば、データ表TB2に含まれるデータを集計した集計データが含まれる表である。以下、第2の実施の形態の具体例について説明を行う。
【0119】
[第2の実施の形態の具体例]
図16及び
図17は、第2の実施の形態の具体例を説明する図である。
【0120】
図16等に示すデータベースDBには、統計情報表TB3、データ表TB2-1、データ表TB2-2及びデータ表TB2-3が格納されている。また、
図16等に示す例において、統計情報表TB3には、統計情報ST3-1、統計情報ST3-2及び統計情報ST3-3の各行がそれぞれ含まれている。さらに、
図16等に示す例において、統計情報ST3-1、統計情報ST3-2及び統計情報ST3-3のそれぞれは、データ表TB2-1、データ表TB2-2及びデータ表TB2-3にそれぞれ従属している。
【0121】
具体的に、例えば、ユーザが操作端末5を介して統計情報ST3-3に対するアクセス要求(例えば、SQL文によるアクセス要求)を送信した場合、情報処理装置1は、
図16に示すように、統計情報TB3-3が従属する表としてデータ表TB2-3を特定する。
【0122】
そして、情報処理装置1は、
図17に示すように、特定したデータ表TB2-3のアクセス権限に、アクセス要求を行ったユーザのアクセス権限が含まれているか否かを判定する。その結果、アクセス要求を行ったユーザのアクセス権限が含まれていると判定した場合、情報処理装置1は、統計情報表TB3に対するアクセスを行い、統計情報ST3-3を取得する。その後、情報処理装置1は、取得した統計情報ST3-3を操作端末5に出力する。
【0123】
[第2の実施の形態の詳細]
次に、第2の実施の形態の詳細について説明する。
図18から
図21は、第2の実施の形態におけるアクセス制御処理の詳細を説明するフローチャート図である。また、
図22は、第2の実施の形態におけるアクセス制御処理の詳細を説明する図である。なお、以下、表IDが202である表が統計情報表TB3であるものとして説明を行う。また、以下、第1の実施の形態と異なる点についてのみ説明を行う。
【0124】
[統計アクセス処理(1)]
初めに、データベースDBに格納された統計情報表TB3に含まれる統計情報に対してアクセスを行う処理(以下、統計アクセス処理とも呼ぶ)について説明を行う。
図18は、統計アクセス処理を説明するフローチャート図である。
【0125】
要求受付部111は、
図18に示すように、統計情報表TB3に含まれる統計情報に対するアクセス要求を受け付けるまで待機する(S201のNO)。具体的に、要求受付部111は、例えば、ユーザが操作端末5を介してアクセス要求を送信するまで待機する。
【0126】
そして、統計情報表TB3に含まれる統計情報に対するアクセス要求を受け付けた場合(S201のYES)、情報処理装置1は、統計情報表TB3に対するアクセス制御処理の実行を開始する。なお、データアクセス部112は、この場合、S201の処理で受け付けたアクセス要求を従属判定部113に送信するものであってもよい。以下、第2の実施の形態におけるアクセス制御処理について説明を行う。
【0127】
[アクセス制御処理]
図19から
図21は、第2の実施の形態におけるアクセス制御処理を説明するフローチャート図である。
【0128】
従属判定部113は、
図19に示すように、アクセス制御タイミングになるまで待機する(S41のNO)。アクセス制御タイミングは、例えば、S201の処理で受け付けたアクセス要求をデータアクセス部112から受信したタイミングであってよい。
【0129】
そして、アクセス制御タイミングになった場合(S41のYES)、従属判定部113は、情報格納領域130に記憶された従属情報131を参照し、S201の処理でアクセス要求を受け付けた統計情報が従属するデータ表TB2が存在するか否かを判定する(S42)。以下、統計情報TB3の具体例について説明を行う。
【0130】
[統計情報の具体例]
図22は、統計情報表TB3の具体例について説明する図である。
【0131】
図22に示す統計情報表TB3は、各統計情報を識別する「項番」と、各データ表TB2を特定する「表ID」と、各データ表TB2についての統計情報が記憶される「統計情報」とを項目として有する。
【0132】
具体的に、
図22に示す統計情報表TB3において、「項番」が「1」である情報には、「表ID」として「101」が記憶されており、「統計情報」として「100万件のデータ」が記憶されている。
【0133】
また、
図22に示す統計情報表TB3において、「項番」が「2」である情報には、「表ID」として「102」が記憶されており、「統計情報」として「データ格納済ページ数が1万ページ」が記憶されている。
図22に含まれる他の情報については説明を省略する。
【0134】
そして、
図13で説明した従属情報131において、統計情報表TB3に対応する情報(「項番」が「5」である情報)の「従属先」には、従属先が存在していることを示す「あり」が記憶されている。
【0135】
そのため、例えば、S201の処理において、
図22で説明した統計情報表TB3のうち、「表ID」が「103」である表に対応する統計情報(「項番」が「3」である統計情報)へのアクセス要求を受け付けた場合、従属判定部113は、S201の処理でアクセス要求を受け付けた統計情報が従属するデータ表TB2として、「表ID」が「103」である表が存在すると判定する。
【0136】
図19に戻り、S201の処理でアクセス要求を受け付けた統計情報が従属するデータ表TB2が存在すると判定した場合(S43のYES)、権限承継部114は、情報格納領域130に記憶された権限情報132を参照し、統計情報表TB3についてのセキュリティが有効であるか否かを判定する(S44)。
【0137】
具体的に、
図14で説明した権限情報132において、「表ID」が「202」である情報(「項番」が「5」である情報)の「権限承継」には、「YES」が記憶されている。そのため、従属判定部113は、S44の処理において、統計情報表TB3(「表ID」が「202」である表)についてのセキュリティが有効であると判定する。
【0138】
図19に戻り、S201の処理でアクセス要求を受け付けた統計情報についての行毎のセキュリティが有効であると判定した場合(S45のYES)、権限承継部114は、情報格納領域130に記憶された権限情報132を参照し、データ表TB2に対するアクセス権限を統計情報表TB3が承継しているか否かを判定する(S46)。
【0139】
具体的に、
図14で説明した権限情報132において、「表ID」が「202」である情報(「項番」が「5」である情報)の「権限承継」には、「YES」が記憶されている。そのため、権限承継部114は、S46の処理において、統計情報表TB3(「表ID」が「202」である表)がアクセス権限を承継していると判定する。
【0140】
なお、権限情報132は、統計情報表TB3に含まれる行(統計情報)ごとのセキュリティを含むものであってよい。そして、権限承継部114は、この場合、S44の処理において、統計情報表TB3のうち、S201の処理でアクセス要求を受け付けた統計情報についてのセキュリティが有効であるか否かを判定するものであってよい。さらに、権限承継部114は、統計情報表TB3のうち、S201の処理でアクセス要求を受け付けた統計情報についてのセキュリティが有効であると判定した場合、統計情報表TB3のうち、S201の処理でアクセス要求を受け付けた統計情報がデータ表TB2に対するアクセス権限を承継しているか否かの判定を行うものであってよい(S45、S46)。
【0141】
その結果、
図20に示すように、データ表TB2に対するアクセス権限を統計情報表TB3が承継していると判定した場合(S51のYES)、権限承継部114は、情報格納領域130に記憶された権限情報132を参照し、S46の処理で承継していると判定したアクセス権限の範囲にアクセス要求を行うユーザが含まれているか否かを判定する(S52)。
【0142】
具体的に、
図14で説明した権限情報132において、「表ID」が「202」である情報(「項番」が「5」である情報)の「承継の範囲」には、「ユーザ」が記憶されている。そのため、権限承継部114は、S52の処理において、統計情報表TB3(「表ID」が「202」である表)がアクセス要求を行うユーザのアクセス権限を承継していると判定する。
【0143】
そして、S46の処理で承継していると判定したアクセス権限の範囲にアクセス要求を行うユーザが含まれていると判定した場合(S53のYES)、権限承継部114は、情報格納領域130に記憶された権限情報132を参照し、S42の処理で存在したデータ表TB2に対するアクセス権限を特定する(S54)。
【0144】
具体的に、
図14で説明した権限情報132において、「表ID」が「103」である情報(「項番」が「3」である情報)の「アクセス権限」には、「ユーザA、ユーザB、・・・」が記憶されている。そのため、権限承継部114は、S54の処理において、例えば、表IDが103である表に対してユーザA及びユーザBがアクセスできる旨を含む情報を特定する。
【0145】
続いて、権限判定部115は、S54の処理で特定したアクセス権限に、S201の処理で受け付けたアクセス要求を行ったユーザに対応するアクセス権限が含まれているか否かを判定する(S55)。
【0146】
具体的に、
図14で説明した権限情報132において、「表ID」が「103」である情報(「項番」が「3」である情報)の「アクセス権限」には、「ユーザA、ユーザB、・・・」が記憶されている。そのため、例えば、S201の処理で受け付けたアクセス要求を行ったユーザがユーザBである場合、権限判定部115は、S55の処理において、表IDが103である表に対するアクセス権限に、ユーザBによるアクセス権限が含まれていると判定する。
【0147】
その結果、S201の処理で受け付けたアクセス要求を行ったユーザに対応するアクセス権限が含まれていると判定した場合(S56のYES)、権限判定部115は、
図21に示すように、S201の処理でアクセス要求を受け付けた統計情報に対するアクセスを許可する(S64)。
【0148】
また、S43の処理において、S201の処理でアクセス要求を受け付けた統計情報が従属するデータ表TB2が存在しないと判定した場合(S43のNO)、権限判定部115は、
図21に示すように、情報格納領域130に記憶された権限情報132を参照し、S201の処理でアクセス要求を受け付けた統計情報に対するアクセス権限を特定する(S61)。
【0149】
そして、権限判定部115は、S61の処理で特定したアクセス権限に、S201の処理で受け付けたアクセス要求を行ったユーザに対応するアクセス権限が含まれているか否かを判定する(S62)。
【0150】
その結果、S201の処理で受け付けたアクセス要求を行ったユーザに対応するアクセス権限が含まれていると判定した場合(S63のYES)、権限判定部115は、S201の処理でアクセス要求を受け付けた統計情報に対するアクセスを許可する(S64)。
【0151】
一方、S201の処理で受け付けたアクセス要求を行ったユーザに対応するアクセス権限が含まれていないと判定した場合(S63のNO)、権限判定部115は、S64の処理を行わない。なお、情報処理装置1は、この場合、処理の実行を中断するものであってよい。そして、事業者は、S201の処理で受け付けたアクセス要求を行ったユーザに対応するアクセス権限が、S61の処理で特定したアクセス権限に含まれていなかったことについての調査等を行うものであってよい。
【0152】
また、S201の処理でアクセス要求を受け付けた統計情報についての行毎のセキュリティが無効であると判定した場合(S45のNO)や、S42の処理で存在したデータ表TB2に対するアクセス権限を承継していないと判定した場合についても同様に(S51のNO)、権限判定部115は、S61以降の処理を行う。さらに、S46の処理で承継していると判定したアクセス権限の範囲にアクセス要求を行うユーザが含まれていないと判定した場合(S53のNO)や、S201の処理で受け付けたアクセス要求を行ったユーザに対応するアクセス権限が含まれていないと判定した場合についても同様に(S56のNO)、権限判定部115は、S61以降の処理を行う。
【0153】
[統計アクセス処理(2)]
図18に戻り、データアクセス部112は、アクセス制御処理において、S201の処理でアクセス要求を受け付けた統計情報に対するアクセスが許可されているか否かを判定する(S203)。
【0154】
その結果、S201の処理でアクセス要求を受け付けた統計情報に対するアクセスが許可されていると判定した場合(S203のYES)、データアクセス部112は、S201の処理でアクセス要求を受け付けた統計情報にアクセスする(S204)。
【0155】
一方、S201の処理でアクセス要求を受け付けた統計情報に対するアクセスが許可されていないと判定した場合(S203のNO)、データアクセス部112は、S204の処理を行わない。
【0156】
これにより、情報処理装置1は、統計情報表TB3に含まれる統計情報の漏洩を防止することが可能になる。
【0157】
また、情報処理装置1は、統計情報表TB3に対するアクセス権限の管理を自動的に行うことが可能になり、統計情報表TB3に対するアクセス権限の管理に伴う負荷を軽減させることが可能になる。
【0158】
以上の実施の形態をまとめると、以下の付記のとおりである。
【0159】
(付記1)
第1のデータ表に対するアクセスが行われる場合、前記第1のデータ表が従属する第2のデータ表が存在するか否かを判定し、
前記第2のデータ表が存在する場合、前記第1のデータ表に対するアクセス権限として、前記第2のデータ表に対するアクセス権限を承継する、
処理をコンピュータに実行させることを特徴とする情報処理プログラム。
【0160】
(付記2)
付記1において、
前記判定する処理では、前記第1のデータ表に含まれるデータのうちの前記アクセスが行われるデータが承継する前記第2のデータ表が存在するか否かを判定し、
前記承継する処理では、前記第1のデータ表に含まれるデータのうちの前記アクセスが行われるデータに対するアクセス権限として、前記第2のデータ表に対するアクセス権限を承継する、
ことを特徴とする情報処理プログラム。(請求項2、
図9から
図13)
(付記3)
付記1において、さらに、
承継した前記アクセス権限が、前記アクセスの要求元による前記第1のデータ表に対するアクセス権限を含む場合、前記要求元による前記第1のデータ表に対するアクセスを許可する、
処理をコンピュータに実行させることを特徴とする情報処理プログラム。
【0161】
(付記4)
付記1において、
前記アクセスは、前記第1のデータ表及び前記第2のデータ表に対応するデータベースが有する所定の機能の動作に伴って行われるアクセスである、
ことを特徴とする情報処理プログラム。
【0162】
(付記5)
付記4において、
前記所定の機能は、前記データベースの拡張機能である、
ことを特徴とする情報処理プログラム。
【0163】
(付記6)
付記1において、
前記第1のデータ表は、前記第2のデータ表に含まれる秘匿化対象のデータを特定する方法と、前記秘匿化対象のデータを秘匿化する方法とを示すデータを含む、
ことを特徴とする情報処理プログラム。
【0164】
(付記7)
付記1において、
前記第1のデータ表は、前記第2のデータ表に含まれるデータの属性を示すデータを含む、
ことを特徴とする情報処理プログラム。
【0165】
(付記8)
付記7において、
前記第1のデータ表は、前記第2のデータ表に含まれるデータの少なくとも一部を含む、
ことを特徴とする情報処理プログラム。
【0166】
(付記9)
付記7において、
前記第1のデータ表は、前記第2のデータ表に含まれるデータを集計した集計データを含む、
ことを特徴とする情報処理プログラム。
【0167】
(付記10)
第1のデータ表に対するアクセスが行われる場合、前記第1のデータ表が従属する第2のデータ表が存在するか否かを判定する従属判定部と、
前記第2のデータ表が存在する場合、前記第1のデータ表に対するアクセス権限として、前記第2のデータ表に対するアクセス権限を承継する権限承継部と、を有する、
ことを特徴とする情報処理装置。
【0168】
(付記11)
付記10において、
前記従属判定部は、前記第1のデータ表に含まれるデータのうちの前記アクセスが行われるデータが承継する前記第2のデータが存在するか否かを判定し、
前記権限承継部は、前記第1のデータ表に含まれるデータのうちの前記アクセスが行われるデータに対するアクセス権限として、前記第2のデータに対するアクセス権限を承継する、
ことを特徴とする情報処理装置。
【0169】
(付記12)
付記10において、さらに、
承継した前記アクセス権限が、前記アクセスの要求元による前記第1のデータ表に対するアクセス権限を含む場合、前記要求元による前記第1のデータ表に対するアクセスを許可する権限判定部を有する、
ことを特徴とする情報処理装置。
【0170】
(付記13)
第1のデータ表に対するアクセスが行われる場合、前記第1のデータ表が従属する第2のデータ表が存在するか否かを判定し、
前記第2のデータ表が存在する場合、前記第1のデータ表に対するアクセス権限として、前記第2のデータ表に対するアクセス権限を承継する、
処理をコンピュータに実行させることを特徴とする情報処理方法。
【0171】
(付記14)
付記13において、
前記判定する処理では、前記第1のデータ表に含まれるデータのうちの前記アクセスが行われるデータが承継する前記第2のデータが存在するか否かを判定し、
前記承継する処理では、前記第1のデータ表に含まれるデータのうちの前記アクセスが行われるデータに対するアクセス権限として、前記第2のデータに対するアクセス権限を承継する、
ことを特徴とする情報処理方法。
【0172】
(付記15)
付記13において、さらに、
承継した前記アクセス権限が、前記アクセスの要求元による前記第1のデータ表に対するアクセス権限を含む場合、前記要求元による前記第1のデータ表に対するアクセスを許可する、
処理をコンピュータに実行させることを特徴とする情報処理方法。
【符号の説明】
【0173】
1:情報処理装置 5:操作端末
DB:データベース TB1:ポリシー表
TB2:データ表 TB3:統計情報表
NW:ネットワーク 10:情報処理システム