(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024081537
(43)【公開日】2024-06-18
(54)【発明の名称】データベース管理プログラム、データベース管理方法、および情報処理装置
(51)【国際特許分類】
G06F 21/60 20130101AFI20240611BHJP
G06F 21/62 20130101ALI20240611BHJP
【FI】
G06F21/60 340
G06F21/62 318
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2022195232
(22)【出願日】2022-12-06
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100104190
【弁理士】
【氏名又は名称】酒井 昭徳
(72)【発明者】
【氏名】森田 千尋
(72)【発明者】
【氏名】梅田 直樹
(72)【発明者】
【氏名】前田 卓真
(72)【発明者】
【氏名】椎木 裕鵬
(72)【発明者】
【氏名】鷲尾 信之
(72)【発明者】
【氏名】鈴木 康介
(57)【要約】
【課題】対象テーブルにおけるロールごとの適切なアクセス制御の内容を容易に特定可能にすること。
【解決手段】アクセス制御補助機能700は、新規テーブル701の作成時に、新規テーブル701に格納されるデータ種別に応じたポリシーラベル711を、新規テーブル701のメタデータに格納する。アクセス制御補助機能700は、ポリシー管理テーブル230を参照して、ポリシーラベル711に対応する各ロールパターンに対して実施すべきアクセス制御の内容を特定する。アクセス制御補助機能700は、ロール管理テーブル240を参照して、特定した各ロールパターンに対して実施すべきアクセス制御の内容に基づいて、アクセス制御情報を作成する。アクセス制御情報は、新規テーブル701におけるロールごとに、当該ロールに対して実施すべきアクセス制御の内容を表す。アクセス制御補助機能700は、作成したアクセス制御情報を出力する。
【選択図】
図7
【特許請求の範囲】
【請求項1】
データベース上のアクセス制御対象となる対象テーブルに格納されるデータ種別に応じた第1のポリシーラベルを、前記対象テーブルのメタデータに格納し、
前記第1のポリシーラベルを含む複数のポリシーラベルそれぞれについて、各ロールパターンに対して実施すべきアクセス制御の内容を定義したポリシー管理情報を参照して、前記メタデータに格納された前記第1のポリシーラベルに対応する前記各ロールパターンに対して実施すべきアクセス制御の内容を特定し、
前記対象テーブルにおける前記各ロールパターンと1以上のロールとの対応関係を表すロール管理情報を参照して、特定した前記各ロールパターンに対して実施すべきアクセス制御の内容に基づいて、前記対象テーブルにおけるロールごとに、当該ロールに対して実施すべきアクセス制御の内容を表すアクセス制御情報を作成する、
処理をコンピュータに実行させることを特徴とするデータベース管理プログラム。
【請求項2】
作成した前記アクセス制御情報を出力する、
処理を前記コンピュータに実行させることを特徴とする請求項1に記載のデータベース管理プログラム。
【請求項3】
前記データベース上の前記対象テーブルに対するアクセス制御の状況を参照して、前記対象テーブルにおけるロールごとに、当該ロールに対して実施されているアクセス制御の内容を表すアクセス制御実施情報を作成し、
前記アクセス制御情報と前記アクセス制御実施情報とを比較した比較結果に基づいて、前記アクセス制御情報に対する前記アクセス制御実施情報の差分箇所を検出する、
処理を前記コンピュータに実行させることを特徴とする請求項2に記載のデータベース管理プログラム。
【請求項4】
検出した前記差分箇所を特定可能な情報を出力する、
処理を前記コンピュータに実行させることを特徴とする請求項3に記載のデータベース管理プログラム。
【請求項5】
前記データベースに対する第1のロールからのログイン要求を受け付けた際に、前記第1のロールが前記差分箇所に対応するロールであるか否かを判断し、
前記第1のロールが前記差分箇所に対応するロールの場合、前記第1のロールのログインを拒否し、
前記第1のロールが前記差分箇所に対応するロールではない場合、前記第1のロールのログインを許可する、
処理を前記コンピュータに実行させることを特徴とする請求項3に記載のデータベース管理プログラム。
【請求項6】
前記アクセス制御情報を参照して、前記対象テーブルにおける前記差分箇所に対応するロールに対して実施するアクセス制御の内容を修正する、
処理を前記コンピュータに実行させることを特徴とする請求項3に記載のデータベース管理プログラム。
【請求項7】
前記ポリシー管理情報を参照して、前記第1のポリシーラベルに対応する前記各ロールパターンを特定し、
前記対象テーブルにおける、特定した前記各ロールパターンに対応する1以上のロールの指定を受け付け、
前記対象テーブルにおける前記各ロールパターンと、指定された前記1以上のロールとを対応付けた前記ロール管理情報を作成する、
処理を前記コンピュータに実行させることを特徴とする請求項1~6のいずれか一つに記載のデータベース管理プログラム。
【請求項8】
データベース上のアクセス制御対象となる対象テーブルに格納されるデータ種別に応じた第1のポリシーラベルを、前記対象テーブルのメタデータに格納し、
前記第1のポリシーラベルを含む複数のポリシーラベルそれぞれについて、各ロールパターンに対して実施すべきアクセス制御の内容を定義したポリシー管理情報を参照して、前記メタデータに格納された前記第1のポリシーラベルに対応する前記各ロールパターンに対して実施すべきアクセス制御の内容を特定し、
前記対象テーブルにおける前記各ロールパターンと1以上のロールとの対応関係を表すロール管理情報を参照して、特定した前記各ロールパターンに対して実施すべきアクセス制御の内容に基づいて、前記対象テーブルにおけるロールごとに、当該ロールに対して実施すべきアクセス制御の内容を表すアクセス制御情報を作成する、
処理をコンピュータが実行することを特徴とするデータベース管理方法。
【請求項9】
データベース上のアクセス制御対象となる対象テーブルに格納されるデータ種別に応じた第1のポリシーラベルを、前記対象テーブルのメタデータに格納し、
前記第1のポリシーラベルを含む複数のポリシーラベルそれぞれについて、各ロールパターンに対して実施すべきアクセス制御の内容を定義したポリシー管理情報を参照して、前記メタデータに格納された前記第1のポリシーラベルに対応する前記各ロールパターンに対して実施すべきアクセス制御の内容を特定し、
前記対象テーブルにおける前記各ロールパターンと1以上のロールとの対応関係を表すロール管理情報を参照して、特定した前記各ロールパターンに対して実施すべきアクセス制御の内容に基づいて、前記対象テーブルにおけるロールごとに、当該ロールに対して実施すべきアクセス制御の内容を表すアクセス制御情報を作成する、
制御部を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データベース管理プログラム、データベース管理方法、および情報処理装置に関する。
【背景技術】
【0002】
近年、システムとしてセキュリティ認定を取得することが必達要件となっており、導入されるミドルウェアやサービスもセキュリティ認定の標準規約に準拠することが求められる場合がある。セキュリティ認定は、一度取得すればよいのではなく、定期的な更新が必要となる場合がある。
【0003】
先行技術としては、アプリケーションによりリソースへアクセスが行われる場合に、当該アプリケーションが実行されている動作環境から動作環境DBに記憶されるロールを特定し、特定したロールに対応付けられているアクセス制御情報をアクセス制御DBから特定し、特定したアクセス制御情報に基づいて、リソースへのアクセス制御を実施するものがある。動作環境DBは、アプリケーションが実行される動作環境に対応付けてユーザのロールを記憶する。アクセス制御DBは、ユーザのロールに対応付けてアクセス制御情報を記憶する。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来技術では、データベース上のテーブルについて、セキュリティ認定の標準規約に基づいた適切なアクセス制御の実施や監視にかかる負荷が増大するという問題がある。
【0006】
一つの側面では、本発明は、対象テーブルにおけるロールごとの適切なアクセス制御の内容を容易に特定可能にすることを目的とする。
【課題を解決するための手段】
【0007】
1つの実施態様では、データベース上のアクセス制御対象となる対象テーブルに格納されるデータ種別に応じた第1のポリシーラベルを、前記対象テーブルのメタデータに格納し、前記第1のポリシーラベルを含む複数のポリシーラベルそれぞれについて、各ロールパターンに対して実施すべきアクセス制御の内容を定義したポリシー管理情報を参照して、前記メタデータに格納された前記第1のポリシーラベルに対応する前記各ロールパターンに対して実施すべきアクセス制御の内容を特定し、前記対象テーブルにおける前記各ロールパターンと1以上のロールとの対応関係を表すロール管理情報を参照して、特定した前記各ロールパターンに対して実施すべきアクセス制御の内容に基づいて、前記対象テーブルにおけるロールごとに、当該ロールに対して実施すべきアクセス制御の内容を表すアクセス制御情報を作成する、データベース管理プログラムが提供される。
【発明の効果】
【0008】
本発明の一側面によれば、対象テーブルにおけるロールごとの適切なアクセス制御の内容を容易に特定可能にすることができるという効果を奏する。
【図面の簡単な説明】
【0009】
【
図1】
図1は、実施の形態にかかるデータベース管理方法の一実施例を示す説明図である。
【
図2】
図2は、情報処理システム200のシステム構成例を示す説明図である。
【
図3】
図3は、データベース管理装置201のハードウェア構成例を示すブロック図である。
【
図4】
図4は、ポリシー管理テーブル230の記憶内容の一例を示す説明図である。
【
図5】
図5は、ロール管理テーブル240の記憶内容の一例を示す説明図である。
【
図6】
図6は、データベース管理装置201の機能的構成例を示すブロック図である。
【
図7】
図7は、データベース管理装置201の動作例を示す説明図である。
【
図8】
図8は、第1のポリシーラベルの格納例を示す説明図である。
【
図9】
図9は、ロール管理情報の作成例を示す説明図である。
【
図10】
図10は、アクセス制御情報の作成例を示す説明図である。
【
図11】
図11は、アクセス制御テーブル1100の記憶内容の一例を示す説明図である。
【
図12】
図12は、アクセス制御実施テーブル1200の記憶内容の一例を示す説明図である。
【
図13】
図13は、アクセス制御実施テーブル1200(更新後)の記憶内容の一例を示す説明図である。
【
図14】
図14は、差分検出結果の具体例を示す説明図(その1)である。
【
図15】
図15は、差分検出結果の具体例を示す説明図(その2)である。
【
図16】
図16は、データベース管理装置201のアクセス制御補助処理手順の一例を示すフローチャートである。
【
図17】
図17は、データベース管理装置201のアクセス制御状況監視処理手順の一例を示すフローチャートである。
【
図18】
図18は、データベース管理装置201のログイン許否判定処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下に図面を参照して、本発明にかかるデータベース管理プログラム、データベース管理方法、および情報処理装置の実施の形態を詳細に説明する。
【0011】
(実施の形態)
図1は、実施の形態にかかるデータベース管理方法の一実施例を示す説明図である。
図1において、情報処理装置101は、データベース上のアクセス制御対象となる対象テーブルに対するアクセス制御を支援するコンピュータである。アクセス制御とは、データベースにアクセスできるユーザを制限したり、ユーザがアクセスできる範囲を制限したりすることである。アクセス制御は、例えば、アクセス可能なロールごとに、書き込み、生データ読み込みといったアクセス権限を付与することによって行われる。
【0012】
どのようなアクセス制御を実施するかは、例えば、システムに要求されるセキュリティ認定の標準規約や、システムに格納されるデータによって異なる。セキュリティ認定の標準規約としては、例えば、ISMAP(Information system Security Management and Assessment Program)管理基準や一般データ保護規則(GDPR)がある。
【0013】
一般データ保護規則を例に挙げると、条文に記載されたアクセス制御を守るために、テーブルにアクセス可能なユーザを制限したり、ユーザの必要とする権限のみを付与したりするといった対処が必要となる。例えば、EU在住者の個人情報については、管理者用ロールからの書き込み、生データの参照を許可し、参照用ロールからの匿名化したテーブルの参照を許可し、その他ロールからのいかなる操作も許可しないといったアクセス制御が求められる。
【0014】
従来、データベース管理者は、テーブルに格納されるデータ種別、セキュリティ認定の標準規約に従ったアクセス制御、テーブルを利用するロールなどを考慮して、テーブルごとのアクセス制御の設計を行っていた。そして、データベース管理者の設計に従って、システム構築者などがテーブルごとのアクセス制御を手動で実施していた。
【0015】
なお、アクセス制御の実施とは、例えば、GRANT文などのコマンドを発行して、特定のロールにアクセス権限の範囲を設定したりすることである。
【0016】
一方、データベース管理者の設計に従ってアクセス制御を実施するにあたり、アクセス権限の誤設定や設定漏れなどの人的ミスが生じる可能性がある。このため、セキュリティ監査者が、アクセス制御の状況を確認して、セキュリティ認定の標準規約に従ったアクセス制御がなされているかを監査することが行われる。
【0017】
しかしながら、従来技術では、セキュリティ規約に従ったアクセス制御の実施や監査に手間や時間かかる。例えば、データベース管理者は、新たなテーブルを追加する際に、その都度、テーブルに格納されるデータ種別や、セキュリティ認定の標準規約に従ったアクセス制御の内容を確認して、アクセス制御の設計を行う。
【0018】
このため、テーブルを追加する頻度やデータベース上のロールの数が増えるほど、アクセス制御の設計にかかる負担が増大する。また、セキュリティ規約に変更があった場合に、どのテーブルのアクセス制御を修正するのかを判断するために、テーブルに格納されている個々のレコードのデータ種別を逐一確認しなければならない。
【0019】
また、セキュリティ監査者は、例えば、テーブルごとに現状のアクセス制御の状況を確認して、セキュリティ認定の標準規定に従ったアクセス制御がなされているかを目視で確認する。このため、テーブルやロールの数が増えるほど、確認しなければならないアクセス制御の数が増え、不適切なアクセス制御の見落としなどのヒューマンエラーが発生する可能性が増大する。
【0020】
また、セキュリティ規約に変更があった場合に、どのテーブルのアクセス制御の状況を確認しなければならないかを判断するために、テーブルに格納されている個々のレコードのデータ種別を逐一確認しなければならない。このようなことから、セキュリティ規約に基づいて定められたアクセス制御に従ったデータベース運用をサポートする機能が望まれている。
【0021】
そこで、本実施の形態では、対象テーブルにおけるロールごとの適切なアクセス制御の内容を容易に特定可能にすることで、セキュリティ規約に従ったアクセス制御の実施や監視にかかる負荷を低減するデータベース管理方法について説明する。ここで、情報処理装置101の処理例(下記(1)~(3)に対応)について説明する。
【0022】
(1)情報処理装置101は、対象テーブル120に格納されるデータ種別に応じた第1のポリシーラベルL1を、対象テーブル120のメタデータ121に格納する。ここで、対象テーブル120は、データベース110上のアクセス制御対象となるテーブルである。メタデータ121は、対象テーブル120の属性を表す情報であり、例えば、システムカタログで管理されるデータベース上のオブジェクトの情報を表すデータである。
【0023】
第1のポリシーラベルL1は、例えば、データベース管理者P1によって付与される。例えば、データベース管理者P1は、対象テーブル120に格納予定のデータを考慮して、適切なポリシーラベルを対象テーブル120に付与する。そして、情報処理装置101は、付与された第1のポリシーラベルL1を、対象テーブル120のメタデータ121に格納する。
【0024】
(2)情報処理装置101は、ポリシー管理情報130を参照して、メタデータ121に格納された第1のポリシーラベルL1に対応する各ロールパターンに対して実施すべきアクセス制御の内容を特定する。ここで、ポリシー管理情報130は、複数のポリシーラベルそれぞれについて、あらかじめ決められた各ロールパターンに対して実施すべきアクセス制御の内容を定義した情報である。複数のポリシーラベルそれぞれは、データ種別を表す。複数のポリシーラベルは、例えば、第1のポリシーラベルL1を含む。
【0025】
ロールパターンは、データベース上のテーブルにおけるロールの役割を表す。ロールパターンとしては、例えば、データ管理者、WEBアプリユーザ、バッチアプリユーザなどが挙げられる。各ロールのテーブルに対するアクセス制御は、テーブルにおけるロールの役割ごとにパターン化が可能である。各ロールパターンに対して実施すべきアクセス制御の内容は、例えば、システムが取得するセキュリティ認定の標準規約(セキュリティ規約)に従って定められる。
【0026】
ここでは、情報処理装置101は、各テーブルにおけるロールの役割を「ロールパターン(ロールのひな形)」として表し、ポリシー管理情報130において、ポリシーラベルと対応付けてロールパターンごとに実施すべきアクセス制御の内容を管理する。アクセス制御の内容は、例えば、ポリシーラベルが示すデータ種別のデータに対する書き込み、生データの参照などの権限の有無(権限範囲)によって表される。
【0027】
(3)情報処理装置101は、ロール管理情報140を参照して、特定した各ロールパターンに対して実施すべきアクセス制御の内容に基づいて、アクセス制御情報150を作成する。ここで、ロール管理情報140は、対象テーブル120における各ロールパターンと1以上のロールとの対応関係を表す情報である。
【0028】
ロール管理情報140は、例えば、データベース管理者P1によって作成される。例えば、情報処理装置101は、ポリシー管理情報130を参照して、第1のポリシーラベルL1に対応する各ロールパターンを特定する。つぎに、情報処理装置101は、対象テーブル120における、特定した各ロールパターンに対応する1以上のロールの指定を受け付ける。
【0029】
具体的には、例えば、情報処理装置101は、対象テーブル120について、特定した各ロールパターンをデータベース管理者P1に通知することにより、データベース管理者P1から各ロールパターンに対応する1以上のロールの指定を受け付ける。そして、情報処理装置101は、対象テーブル120における各ロールパターンと、指定された1以上のロールとを対応付けたロール管理情報140を作成する。
【0030】
また、アクセス制御情報150は、対象テーブル120におけるロールごとに、当該ロールに対して実施すべきアクセス制御の内容を表す情報である。具体的には、例えば、情報処理装置101は、特定した各ロールパターンに対して実施すべきアクセス制御の内容を、当該各ロールパターンに対応するロールに対応付けることにより、アクセス制御情報150を作成する。
【0031】
このように、情報処理装置101によれば、対象テーブル120におけるロールごとの適切なアクセス制御の内容を容易に特定可能にすることができる。これにより、情報処理装置101は、セキュリティ規約に従ったアクセス制御の実施や監視にかかる負荷を低減することができる。
【0032】
例えば、データベース管理者P1は、対象テーブル120を作成する際に、アクセス制御情報150を参照して、対象テーブル120についてロールごとに実施すべきアクセス制御の内容を容易に特定することができる。これにより、データベース管理者P1は、セキュリティ規約に従ったロールごとのアクセス制御を設計する手間を削減して、アクセス制御の実施にかかる負荷を軽減することができる。また、データベース管理者P1は、アクセス制御の設計ミスや実施ミスを防止することができる。
【0033】
また、セキュリティ監査者P2は、アクセス制御情報150を用いて、セキュリティ認定の標準規定に従ったアクセス制御がなされているかを確認することができる。また、セキュリティ監査者P2は、セキュリティ規約に変更があった場合などに、ポリシーラベルを確認することで、監視対象となるテーブルを容易に特定可能となり、アクセス制御の状況確認にかかる負荷を軽減することができる。
【0034】
(情報処理システム200のシステム構成例)
つぎに、
図1に示した情報処理装置101を含む情報処理システム200のシステム構成例について説明する。以下の説明では、
図1に示した情報処理装置101を、情報処理システム200内のデータベース管理装置201に適用した場合を例に挙げて説明する。情報処理システム200は、例えば、セキュリティ認定の取得が要求されるデータベースシステムに適用される。
【0035】
図2は、情報処理システム200のシステム構成例を示す説明図である。
図2において、情報処理システム200は、データベース管理装置201と、管理者端末202と、監査者端末203とを含む。情報処理システム200において、データベース管理装置201、管理者端末202および監査者端末203は、有線または無線のネットワーク210を介して接続される。ネットワーク210は、例えば、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)などである。
【0036】
ここで、データベース管理装置201は、データベース220を管理するコンピュータである。データベース管理装置201は、ポリシー管理テーブル230およびロール管理テーブル240を有し、データベース220上のアクセス制御対象となるテーブル(対象テーブル)に対するアクセス制御を支援する。データベース管理装置201は、例えば、データベースサーバである。
【0037】
図1に示したデータベース110は、例えば、データベース220に対応する。なお、ポリシー管理テーブル230およびロール管理テーブル240の記憶内容については、
図4および
図5を用いて後述する。
【0038】
管理者端末202は、データベース管理者P1が使用するコンピュータである。また、監査者端末203は、セキュリティ監査者P2が使用するコンピュータである。管理者端末202および監査者端末203は、例えば、PC(Personal Computer)、タブレット端末などである。
【0039】
なお、ここでは管理者端末202と監査者端末203をそれぞれ1台のみ表示したが、これに限らない。例えば、情報処理システム200には、複数の管理者端末202や監査者端末203が含まれてもよい。
【0040】
(データベース管理装置201のハードウェア構成例)
つぎに、データベース管理装置201のハードウェア構成例について説明する。
【0041】
図3は、データベース管理装置201のハードウェア構成例を示すブロック図である。
図3において、データベース管理装置201は、CPU(Central Processing Unit)301と、メモリ302と、ディスクドライブ303と、ディスク304と、通信I/F(Interface)305と、可搬型記録媒体I/F306と、可搬型記録媒体307と、を有する。また、各構成部は、バス300によってそれぞれ接続される。
【0042】
ここで、CPU301は、データベース管理装置201の全体の制御を司る。CPU301は、複数のコアを有していてもよい。メモリ302は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMがOSのプログラムを記憶し、ROMがアプリケーションプログラムを記憶し、RAMがCPU301のワークエリアとして使用される。メモリ302に記憶されるプログラムは、CPU301にロードされることで、コーディングされている処理をCPU301に実行させる。
【0043】
ディスクドライブ303は、CPU301の制御に従ってディスク304に対するデータのリード/ライトを制御する。ディスク304は、ディスクドライブ303の制御で書き込まれたデータを記憶する。ディスク304は、例えば、磁気ディスク、光ディスクなどである。
【0044】
通信I/F305は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して外部のコンピュータ(例えば、
図2に示した管理者端末202、監査者端末203)に接続される。そして、通信I/F305は、ネットワーク210と装置内部とのインターフェースを司り、外部のコンピュータからのデータの入出力を制御する。通信I/F305は、例えば、モデムやLANアダプタなどである。
【0045】
可搬型記録媒体I/F306は、CPU301の制御に従って可搬型記録媒体307に対するデータのリード/ライトを制御する。可搬型記録媒体307は、可搬型記録媒体I/F306の制御で書き込まれたデータを記憶する。可搬型記録媒体307は、例えば、CD(Compact Disc)-ROM、DVD(Digital Versatile Disk)、USB(Universal Serial Bus)メモリなどである。
【0046】
なお、データベース管理装置201は、上述した構成部のほかに、例えば、入力装置、ディスプレイなどを有してもよい。また、データベース管理装置201は、上述した構成部のうち、例えば、可搬型記録媒体I/F306、可搬型記録媒体307を有さなくてもよい。また、
図2に示した管理者端末202および監査者端末203についても、データベース管理装置201と同様のハードウェア構成により実現することができる。ただし、管理者端末202および監査者端末203は、上述した構成部のほかに、例えば、入力装置、ディスプレイなどを有する。
【0047】
(ポリシー管理テーブル230およびロール管理テーブル240の記憶内容)
つぎに、
図4および
図5を用いて、データベース管理装置201が有するポリシー管理テーブル230およびロール管理テーブル240の記憶内容について説明する。ポリシー管理テーブル230およびロール管理テーブル240は、例えば、メモリ302、ディスク304などの記憶装置により実現される。
【0048】
図4は、ポリシー管理テーブル230の記憶内容の一例を示す説明図である。
図4において、ポリシー管理テーブル230は、ポリシーラベル、ロールパターン、書き込み、生データ読み込み、マスキングおよびファイル暗号化のフィールドを有し、各フィールドに情報を設定することで、ポリシー管理情報(例えば、ポリシー管理情報400-1,400-2)をレコードとして記憶する。
図1に示したポリシー管理情報130は、例えば、ポリシー管理テーブル230に対応する。
【0049】
ここで、ポリシーラベルは、データベース220(
図2参照)上のテーブルに格納されるデータ種別を示す。例えば、ポリシーラベル「EU在住者_個人情報」は、EU在住者の個人情報というデータ種別を示す。ロールパターンは、データベース220上のテーブルにおけるロールの役割を表す。ロールパターンは、例えば、データ管理者、WEBアプリユーザ、バッチアプリユーザなどである。
【0050】
書き込み、生データ読み込みおよびマスキングは、各ロールパターンに対して実施すべきアクセス制御の内容を表す。書き込みは、データの書き込みを許可するか否かを示す。書き込み「○」は、データの書き込みを許可することを示す。書き込み「×」は、データの書き込みを許可しないことを示す。生データ読み込みは、生データの読み込みを許可するか否かを示す。生データ読み込み「○」は、生データの読み込みを許可することを示す。生データ読み込み「×」は、生データの読み込みを許可しないことを示す。
【0051】
マスキングは、マスキングされたデータの読み込みを許可するか否かを示す。マスキング「○」は、マスキングされたデータの読み込みを許可することを示す。マスキング「×」は、マスキングされたデータの読み込みを許可しないことを示す。ファイル暗号化は、データの暗号化が必要か否かを示す。ファイル暗号化「○」は、データベース220上でのデータの暗号化が必要であることを示す。ファイル暗号化「×」は、データの暗号化が不要であることを示す。
【0052】
例えば、ポリシー管理情報400-1は、ポリシーラベル「EU在住者_個人情報」のデータについて、各ロールパターンに対して実施すべきアクセス制御の内容、および、ファイル暗号の要否を示す。ロールパターン「データ管理者」を例に挙げると、ポリシー管理情報400-1は、ポリシーラベル「EU在住者_個人情報」のデータについて、書き込みを許可し、生データの読み込みを許可し、マスキングされたデータの読み込みを許可しないことを示す。
【0053】
以下の説明では、データ種別(ポリシーラベル)によって定められるロールパターンごとに実施すべきアクセス制御のルール(内容)を「セキュリティポリシー」と表記する場合がある。
【0054】
図5は、ロール管理テーブル240の記憶内容の一例を示す説明図である。
図5において、ロール管理テーブル240は、テーブル、ロールパターンおよびロールのフィールドを有し、各フィールドに情報を設定することで、ロール管理情報500-1~500-4をレコードとして記憶する。
図1に示したロール管理情報140は、例えば、ロール管理テーブル240に対応する。
【0055】
ここで、テーブルは、データベース220上のアクセス制御対象となるテーブル(対象テーブル)の名称である。ロールパターンは、データベース220上のテーブルにおけるロールの役割を表す。ロールは、データベース220上のテーブルを利用するロールである。ロールパターンは、ロールのひな形に相当する。ロールは、ロールパターンに対応する具体的なロール(例えば、ユーザ、アプリケーションなど)に相当する。
【0056】
例えば、ロール管理情報500-1は、テーブル「アンケート情報_EU」におけるロールパターン「データ管理者」とロール「販推_管理者」との対応関係を示す。また、ロール管理情報500-1は、テーブル「アンケート情報_EU」におけるロールパターン「WEBアプリユーザ」とロール「セミナー_APL1」との対応関係を示す。また、ロール管理情報500-1は、テーブル「アンケート情報_EU」におけるロールパターン「バッチアプリユーザ」とロール「セミナー_バッチ1」との対応関係を示す。
【0057】
なお、
図5の例では、各ロールパターンに対して、1つのロールが対応付けられる場合について説明したが、これに限らない。例えば、各ロールパターンに対して、2以上のロールが対応付けられてもよい。
【0058】
(データベース管理装置201の機能的構成例)
つぎに、データベース管理装置201の機能的構成例について説明する。
【0059】
図6は、データベース管理装置201の機能的構成例を示すブロック図である。
図6において、データベース管理装置201は、受付部601と、付与部602と、第1の作成部603と、第2の作成部604と、検出部605と、アクセス制御部606と、出力部607と、を含む。受付部601~出力部607は制御部600となる機能であり、具体的には、例えば、
図3に示したメモリ302、ディスク304、可搬型記録媒体307などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、または、通信I/F305により、その機能を実現する。各機能部の処理結果は、例えば、メモリ302、ディスク304などの記憶装置に記憶される。
【0060】
受付部601は、データベース220上のアクセス制御対象となる対象テーブルに格納されるデータ種別に応じた第1のポリシーラベルを受け付ける。第1のポリシーラベルは、例えば、データベース管理者P1によって、対象テーブルに格納予定のデータを考慮して指定される。具体的には、例えば、受付部601は、新規テーブル(対象テーブル)の作成時に、
図2に示した管理者端末202から、新規テーブルに格納されるデータ種別に応じた第1のポリシーラベルを受け付ける。
【0061】
付与部602は、受け付けた第1のポリシーラベルを、対象テーブルのメタデータに格納する。対象テーブルのメタデータは、例えば、PostgreSQL(Structured Query Language)におけるメタデータであり、システムカタログで管理される。具体的には、例えば、付与部602は、新規テーブル(対象テーブル)の作成時に、システムカタログ内の対象テーブルのメタデータに、受け付けた第1のポリシーラベルを追加する。
【0062】
これにより、付与部602は、例えば、新規テーブルの作成時に、新規テーブルに格納されるデータ種別に応じた第1のポリシーラベルを付与することができる。なお、第1のポリシーラベルの格納例については、
図8を用いて後述する。
【0063】
第1の作成部603は、対象テーブルにおける各ロールパターンと1以上のロールとの対応関係を表すロール管理情報を作成する。具体的には、例えば、第1の作成部603は、ポリシー管理情報を参照して、第1のポリシーラベルに対応する各ロールパターンを特定する。
【0064】
ここで、ポリシー管理情報は、データ種別を表すポリシーラベルごとに、各ロールパターンに対して実施すべきアクセス制御の内容を定義した情報である。ポリシー管理情報は、例えば、
図4に示したポリシー管理テーブル230である。
【0065】
例えば、第1のポリシーラベルを「EU在住者_個人情報」とする。この場合、第1の作成部603は、ポリシー管理テーブル230を参照して、第1のポリシーラベル「EU在住者_個人情報」に対応する各ロールパターン「データ管理者、WEBアプリユーザ、バッチアプリユーザ」を特定する。
【0066】
つぎに、第1の作成部603は、対象テーブルにおける、特定した各ロールパターンに対応する1以上のロールの指定を受け付ける。各ロールパターンに対応する1以上のロールの指定は、例えば、データベース管理者P1に行われる。そして、第1の作成部603は、対象テーブルにおける各ロールパターンと、指定された1以上のロールとを対応付けたロール管理情報を作成する。
【0067】
作成されたロール管理情報は、例えば、
図5に示したロール管理テーブル240に記憶される。なお、ロール管理情報の作成例については、
図9を用いて後述する。
【0068】
第2の作成部604は、対象テーブルにおけるロールごとに、当該ロールに対して実施すべきアクセス制御の内容を表すアクセス制御情報を作成する。具体的には、例えば、第2の作成部604は、ポリシー管理テーブル230を参照して、対象テーブルのメタデータに格納された第1のポリシーラベルに対応する各ロールパターンに対して実施すべきアクセス制御の内容を特定する。
【0069】
そして、第2の作成部604は、ロール管理テーブル240を参照して、特定した各ロールパターンに対して実施すべきアクセス制御の内容に基づいて、対象テーブルにおけるロールごとに、当該ロールに対して実施すべきアクセス制御の内容を表すアクセス制御情報を作成する。
【0070】
アクセス制御情報は、例えば、新規テーブルの作成時や、アクセス制御の状況の監視時に作成される。新規テーブルの作成時は、新規テーブルが対象テーブルとなる。アクセス制御の状況の監視時は、例えば、データベース220上の各テーブルが対象テーブルとなる。アクセス制御情報の作成例については、
図10および
図11を用いて後述する。
【0071】
出力部607は、作成されたアクセス制御情報を出力する。出力部607の出力形式としては、例えば、メモリ302、ディスク304などの記憶装置への記憶、通信I/F305による他のコンピュータへの送信、不図示のディスプレイへの表示、不図示のプリンタへの印刷出力などがある。
【0072】
具体的には、例えば、出力部607は、新規テーブルの作成時に、作成されたアクセス制御情報を管理者端末202に送信してもよい。これにより、データベース管理装置201は、新規テーブルにおけるロールごとに実施すべきアクセス制御の内容を特定可能な情報をデータベース管理者P1に提供することができる。
【0073】
また、出力部607は、アクセス制御の状況の監視時に、作成されたアクセス制御情報を監査者端末203(
図2参照)に送信してもよい。これにより、データベース管理装置201は、データベース220上の各テーブルにおけるロールごとに実施すべきアクセス制御の内容を特定可能な情報をセキュリティ監査者P2に提供することができる。
【0074】
検出部605は、データベース220上の対象テーブルに対するアクセス制御の状況を参照して、アクセス制御実施情報を作成する。ここで、アクセス制御実施情報は、対象テーブルにおけるロールごとに、当該ロールに対して実施されているアクセス制御の内容を表す情報である。
【0075】
対象テーブルに対するアクセス制御の状況は、例えば、データベース220上の各テーブルに対するアクセス制御の状況を特定可能なシステム情報から特定される。システム情報は、例えば、データベース220上の各オブジェクトに対するアクセス制御の状況を特定可能なシステムテーブル(不図示)である。システムテーブルは、例えば、データベース220に格納されている。
【0076】
そして、検出部605は、アクセス制御情報とアクセス制御実施情報とを比較した比較結果に基づいて、アクセス制御実施情報におけるアクセス制御情報に対する差分箇所を検出する。ここで、差分箇所は、適切なアクセス制御(例えば、セキュリティ規約に従ったアクセス制御)が施されていない箇所に相当する。
【0077】
検出部605による処理は、例えば、アクセス制御の状況の監視時に実行される。検出部605による処理は、例えば、一定期間(1週間、1ヶ月など)ごとに定期的に実行されてもよい。アクセス制御実施情報の作成例については、
図12および
図13を用いて後述する。また、差分箇所の検出例については、
図14および
図15を用いて後述する。
【0078】
出力部607は、差分検出結果を出力する。ここで、差分検出結果は、例えば、検出された差分箇所を特定可能な情報(テーブル名、データ種別、ロール名など)である。また、差分箇所が検出されなかった場合、差分検出結果は、差分箇所が検出されなかったことを示す情報であってもよい。
【0079】
具体的には、例えば、出力部607は、アクセス制御の状況の監視時に、差分検出結果を監査者端末203に送信してもよい。これにより、データベース管理装置201は、適切なアクセス制御(例えば、セキュリティ規約に従ったアクセス制御)が施されていない箇所を特定可能な情報をセキュリティ監査者P2に提供することができる。
【0080】
アクセス制御部606は、データベース220に対する第1のロールからのログイン要求を受け付けた際に、第1のロールが、検出された差分箇所に対応するロールであるか否かを判断する。第1のロールは、データベース220上の設定では、ログインが許可されているロールである。
【0081】
ログイン要求には、例えば、第1のロールを特定する情報(テーブル名、ロール名など)が含まれる。ログイン要求は、例えば、受付部601によって第1のロールに対応するユーザが使用するコンピュータや、第1のロールに対応するアプリケーションを実行するコンピュータから受け付けられる。
【0082】
そして、アクセス制御部606は、第1のロールが差分箇所に対応するロールの場合、第1のロールのログインを拒否してもよい。一方、第1のロールが差分箇所に対応するロールではない場合には、アクセス制御部606は、第1のロールのログインを許可してもよい。
【0083】
これにより、データベース管理装置201は、セキュリティポリシーに違反したロール(第1のロール)のデータベース220へのログインを拒否することができる。ログインの拒否例については、
図14を用いて後述する。
【0084】
なお、検出部605による処理は、例えば、ログイン要求を受け付けた際に実行されてもよい。具体的には、例えば、検出部605は、ログイン要求を受け付けた際に、システム情報(例えば、システムテーブル)を参照して、アクセス制御実施情報を作成してもよい。そして、検出部605は、アクセス制御情報とアクセス制御実施情報とを比較した比較結果に基づいて、アクセス制御実施情報におけるアクセス制御情報に対する差分箇所を検出する。
【0085】
これにより、データベース管理装置201は、最新のアクセス制御の状況を考慮して、セキュリティポリシーに違反したロール(第1のロール)を判断可能となる。
【0086】
また、アクセス制御部606は、作成されたアクセス制御情報を参照して、対象テーブルにおける、検出された差分箇所に対応する第2のロールに対して実施するアクセス制御の内容を修正してもよい。具体的には、例えば、アクセス制御部606は、アクセス制御情報を参照して、対象テーブルにおける第2のロールに対して実施すべきアクセス制御の内容を特定する。
【0087】
そして、アクセス制御部606は、GRANT文やREVOKE文などを用いて、データベース220を操作することにより、特定したアクセス制御の内容を第2のロールに設定する。GRANT文は、SQLに用意された構文の一つであり、データベースの利用者に権限を設定するためのものである。REVOKE文は、SQLに用意された構文の一つであり、GRANT文で与えた権限を抹消するためのものである。GRANT文やREVOKE文などを用いて変更された権限は、データベース220のシステムテーブルに反映される。
【0088】
(データベース管理装置201の動作例)
つぎに、
図7を用いて、データベース管理装置201の動作例について説明する。ここでは、
図6に示した機能部(受付部601~出力部607)を、データベース管理装置201のアクセス制御補助機能700により実現する場合を例に挙げて説明する。
【0089】
図7は、データベース管理装置201の動作例を示す説明図である。まず、新規テーブルを作成する際のデータベース管理装置201の動作例について説明する。
【0090】
データベース管理者P1は、管理者端末202を用いて、新規テーブル701を作成する。このとき、データベース管理者P1は、新規テーブル701に格納予定のデータ種別を考慮して、新規テーブル701にポリシーラベル711を付与する。ポリシーラベル711は、新規テーブル701に格納されるデータ種別を示す情報であり、新規テーブル701のメタデータに格納される。
【0091】
新規テーブル701のメタデータの具体例については、
図8を用いて後述する。
【0092】
つぎに、アクセス制御補助機能700は、ポリシー管理テーブル230を参照して、付与されたポリシーラベル711に対応するロールパターンを特定する。アクセス制御補助機能700は、データベース管理者P1に対して、新規テーブル701について、特定したロールパターンを通知して、ロール管理テーブル240に追記するロールを指定するよう要求する。
【0093】
データベース管理者P1は、管理者端末202を用いて、アクセス制御補助機能700からの要求に応じて、ロール管理テーブル240に、新規テーブル701と、ロールパターンと、ロールとの対応関係を追加する。これにより、新規テーブル701における各ロールパターンと1以上のロールとの対応関係を表すロール管理情報がロール管理テーブル240に作成される。
【0094】
ロール管理情報の具体例については、
図9を用いて後述する。
【0095】
つぎに、アクセス制御補助機能700は、ポリシー管理テーブル230とロール管理テーブル240とを結合して、アクセス制御情報を作成する。アクセス制御情報は、新規テーブル701におけるロールごとに、当該ロールに対して実施すべきアクセス制御の内容を表す。
【0096】
具体的には、例えば、アクセス制御補助機能700は、ポリシー管理テーブル230を参照して、新規テーブル701のポリシーラベル711に対応する各ロールパターンに対して実施すべきアクセス制御の内容を特定する。アクセス制御補助機能700は、ロール管理テーブル240を参照して、特定した各ロールパターンに対して実施すべきアクセス制御の内容に基づいて、アクセス制御情報を作成する。
【0097】
そして、アクセス制御補助機能700は、データベース管理者P1に対して、作成したアクセス制御情報を提示する。データベース管理者P1は、提示されたアクセス制御情報を参照して、新規テーブル701の各ロール712に対するアクセス制御を実施することができる。
【0098】
作成されたアクセス制御情報は、例えば、アクセス制御テーブル1100に記憶される。アクセス制御情報の作成例については、
図10および
図11を用いて後述する。
【0099】
つぎに、データベース220上の各テーブルに対するアクセス制御の状況を監視する際のデータベース管理装置201の動作例について説明する。
【0100】
アクセス制御補助機能700は、ポリシー管理テーブル230とロール管理テーブル240とを結合して、アクセス制御テーブル1100を作成する。アクセス制御テーブル1100は、データベース220上の各テーブル(対象テーブル)についてのアクセス制御情報を記憶する(例えば、後述の
図11参照)。
【0101】
つぎに、アクセス制御補助機能700は、作成したアクセス制御テーブル1100をコピーして、アクセス制御実施テーブル1200を作成する。そして、アクセス制御補助機能700は、システムテーブル(不図示)を参照して、現状施されているアクセス制御の状況を確認し、確認した結果に従ってアクセス制御実施テーブル1200を更新する。
【0102】
アクセス制御実施テーブル1200の具体例については、
図12を用いて後述する。また、アクセス制御実施テーブル1200の更新例については、
図13を用いて後述する。
【0103】
つぎに、アクセス制御補助機能700は、アクセス制御テーブル1100とアクセス制御実施テーブル1200とのdiff(差分)を取る。ここで、diffが出力された場合、適切なアクセス制御が施されていないとして、例えば、アクセス制御補助機能700またはセキュリティ監査者P2が適切な処理を実施する。
【0104】
(第1のポリシーラベルの格納例)
図8を用いて、第1のポリシーラベルの格納例について説明する。
【0105】
図8は、第1のポリシーラベルの格納例を示す説明図である。
図8において、システムカタログ800は、データベース220上のオブジェクトのメタデータを記憶する。メタデータは、例えば、oid、tablename、tablenamespace、tableownerなどの情報を含む。
【0106】
oidは、オブジェクトのidである。tablenameは、テーブルの名前を示す。tablenamespaceは、テーブルのnamespaceを示す。tableownerは、テーブルのownerを示す。例えば、メタデータ800-1は、データベース220上のoid「16393」、tablename「アンケート情報」、tablenamespace「99」およびtableowner「10」を示す。
【0107】
tablename「アンケート情報」のテーブルは、対象テーブル(例えば、
図7に示した新規テーブル701)の一例である。ここで、tablename「アンケート情報」のテーブルにポリシーラベル「EU在住者_個人情報」を付与する場合を想定する。
【0108】
この場合、アクセス制御補助機能700(
図7参照)は、システムカタログ800内のメタデータ800-1に、tablename「アンケート情報」のテーブルに付与するポリシーラベル「EU在住者_個人情報」を追加する。具体的には、例えば、アクセス制御補助機能700(
図7参照)は、CREATE文を用いて、メタデータ800-1にポリシーラベル「EU在住者_個人情報」を追加する。
【0109】
これにより、アクセス制御補助機能700は、tablename「アンケート情報」のテーブルのメタデータ800-1に、ポリシーラベル「EU在住者_個人情報」を格納することができる。
【0110】
(ロール管理情報の作成例)
つぎに、
図9を用いて、ロール管理情報の作成例について説明する。
【0111】
図9は、ロール管理情報の作成例を示す説明図である。
図9において、新規テーブル701に対して「EU在住者_個人情報」のポリシーラベル711が付与された場合を想定する。新規テーブル701は、例えば、tablename「アンケート情報」のテーブルである。
【0112】
この場合、アクセス制御補助機能700は、ポリシー管理テーブル230内のポリシーラベル711に対応するポリシー管理情報400-1を参照して、ポリシーラベル711に対応するロールパターンを特定する。ここでは、ロールパターン「データ管理者、WEBアプリユーザ、バッチアプリユーザ」が特定される。
【0113】
つぎに、アクセス制御補助機能700は、データベース管理者P1に対して、新規テーブル701について、ロールパターン「データ管理者、WEBアプリユーザ、バッチアプリユーザ」を通知する。これにより、アクセス制御補助機能700は、ロール管理テーブル240に追記するロールを指定するよう要求する。
【0114】
データベース管理者P1は、ロール管理テーブル240に、新規テーブル701について、各ロールパターン「データ管理者、WEBアプリユーザ、バッチアプリユーザ」と、1以上のロールとの対応関係を追加する。ロールパターン「データ管理者」とロール「購買_管理者」との対応関係が追加されている。
【0115】
また、ロールパターン「WEBアプリユーザ」とロール「在庫_APL1」との対応関係が追加されている。また、ロールパターン「バッチアプリユーザ」とロール「在庫_バッチ1」との対応関係が追加されている。この結果、新規テーブル701についてのロール管理情報500-3がロール管理テーブル240に追加される。
【0116】
(アクセス制御情報の作成例)
つぎに、
図10および
図11を用いて、アクセス制御情報の作成例について説明する。
【0117】
図10は、アクセス制御情報の作成例を示す説明図である。
図10において、アクセス制御補助機能700は、ポリシー管理テーブル230とロール管理テーブル240とを結合して、
図11に示すようなアクセス制御テーブル1100を作成する。
【0118】
ポリシーラベル「EU在住者_個人情報」が付与されたテーブル「アンケート情報_EU」を例に挙げて、アクセス制御テーブル1100に格納されるアクセス制御情報の作成例について説明する。
【0119】
この場合、アクセス制御補助機能700は、ポリシー管理テーブル230から、ポリシーラベル「EU在住者_個人情報」に対応するポリシー管理情報400-1を特定する。そして、アクセス制御補助機能700は、ポリシー管理情報400-1を参照して、ポリシーラベル「EU在住者_個人情報」に対応する各ロールパターンに対して実施すべきアクセス制御の内容を特定する。
【0120】
ロールパターン「データ管理者」を例に挙げると、ロールパターン「データ管理者」に対して実施すべきアクセス制御の内容「書き込み:○、生データ読み込み:○、マスキング:×、ファイル暗号化:○」が特定される。
【0121】
アクセス制御補助機能700は、ロール管理テーブル240を参照して、特定した各ロールパターンに対して実施すべきアクセス制御の内容に基づいて、アクセス制御情報を作成する。具体的には、例えば、アクセス制御補助機能700は、ロール管理テーブル240を参照して、各ロールパターンに対応するロールを特定する。そして、アクセス制御補助機能700は、特定した各ロールパターンに対して実施すべきアクセス制御の内容を、特定した各ロールパターンに対応するロールに対応付けることにより、アクセス制御情報を作成する。
【0122】
ここで、ロールパターン「データ管理者」を例に挙げると、ロールパターン「データ管理者」に対応するロールは「販推_管理者」である。この場合、ロールパターン「データ管理者」に対して実施すべきアクセス制御の内容「書き込み:○、生データ読み込み:○、マスキング:×、ファイル暗号化:○」をロール「販推_管理者」に対応付けることにより、
図11に示すようなアクセス制御情報1100-1が作成される。
【0123】
図11は、アクセス制御テーブル1100の記憶内容の一例を示す説明図である。
図11において、アクセス制御テーブル1100は、テーブル、ポリシーラベル、ロールパターン、ロール、書き込み、生データ読み込み、マスキングおよびファイル暗号化のフィールドを有する。各フィールドに情報を設定することで、アクセス制御情報1100-1~1100-5がレコードとして記憶される。
【0124】
ここで、テーブルは、データベース220上のテーブル(対象テーブル)の名称を示す。ポリシーラベルは、テーブルに格納されるデータ種別を示す。ロールパターンは、テーブルにおけるロールの役割を表す。ロールは、テーブルにおけるロールを示す。書き込み、生データ読み込みおよびマスキングは、各ロールパターンに対して実施すべきアクセス制御の内容を表す。
【0125】
アクセス制御情報1100-1は、ポリシーラベル「EU在住者_個人情報」が付与されたテーブル「アンケート情報_EU」について、各ロールパターンに対応するロールに対して実施すべきアクセス制御の内容を示す。ただし、ファイル暗号化「○、×」は、データベース220上でのデータの暗号化の要否を示す。
【0126】
(アクセス制御実施情報の作成例)
つぎに、
図12および
図13を用いて、アクセス制御実施情報の作成例について説明する。
【0127】
図12は、アクセス制御実施テーブル1200の記憶内容の一例を示す説明図である。
図13は、アクセス制御実施テーブル1200(更新後)の記憶内容の一例を示す説明図である。
図12および
図13において、アクセス制御実施テーブル1200は、テーブル、ポリシーラベル、ロールパターン、ロール、書き込み、生データ読み込み、マスキングおよびファイル暗号化のフィールドを有する。各フィールドに情報を設定することで、アクセス制御実施情報1200-1~1200-5がレコードとして記憶される。
【0128】
例えば、アクセス制御補助機能700は、
図11に示したアクセス制御テーブル1100をコピーして、
図12に示すようなアクセス制御実施テーブル1200を作成する。そして、アクセス制御補助機能700は、システムテーブル(不図示)を参照して、現状施されているアクセス制御の状況を確認し、確認した結果に従ってアクセス制御実施テーブル1200を更新する。
【0129】
ここで、ポリシーラベル「EU在住者_個人情報」が付与されたテーブル「口座情報_EU」について、ロールパターン「バッチアプリユーザ」に対応するロール「在庫_バッチ2」に対して、書き込み「×」のアクセス制御が実施されているとする。この場合、アクセス制御補助機能700は、アクセス制御実施テーブル1200内のアクセス制御実施情報1200-3のロール「在庫_バッチ2」についての書き込みを「×」に変更する。
【0130】
これにより、アクセス制御補助機能700は、データベース220上の各テーブルにおけるロールに対して実施されているアクセス制御の内容を表すアクセス制御実施情報1200-1~1200-5を作成することができる。
【0131】
(差分箇所の検出例)
つぎに、
図14および
図15を用いて、アクセス制御実施情報におけるアクセス制御情報に対する差分箇所の検出例について説明する。
【0132】
図14は、差分検出結果の具体例を示す説明図(その1)である。
図14において、差分検出結果1400は、diff結果1401~1405を含む。diff結果1401~1405は、データベース220上の各テーブルのロールについて、ロールに対して実施すべきアクセス制御の内容と、ロールに対して実施されているアクセス制御の内容との差分の有無を示す。
【0133】
図14および
図15中、「なし」は、アクセス制御の内容に差分がないことを示す。「あり」は、アクセス制御の内容に差分があることを示す。また、監査結果「OK」は、アクセス制御のすべての内容に差分がないことを示す。監査結果「NG」は、アクセス制御の少なくともいずれかの内容に差分があることを示す。
【0134】
例えば、diff結果1403によれば、ポリシーラベル「EU在住者_個人情報」が付与されたテーブル「口座情報_EU」における、ロール「在庫_バッチ2」に対する書き込みについてのアクセス制御に差分があることを特定することができる。
【0135】
この場合、アクセス制御補助機能700は、例えば、データベース220に対するロール「在庫_バッチ2」からのログイン要求を受け付けた際に、diff結果1403を参照して、ロール「在庫_バッチ2」のログインを拒否してもよい。これにより、アクセス制御補助機能700は、セキュリティポリシーに違反したロール「在庫_バッチ2」の操作を拒否することができる。
【0136】
図15は、差分検出結果の具体例を示す説明図(その2)である。
図15において、差分検出結果1500は、diff結果1501~1505を含む。例えば、diff結果1501によれば、ポリシーラベル「EU在住者_個人情報」が付与されたテーブル「アンケート情報_EU」における、ロール「セミナー_APL1」に対する書き込みについてのアクセス制御に差分があることを特定することができる。
【0137】
この場合、アクセス制御補助機能700は、例えば、ロール「セミナー_APL1」のアクセス制御情報1100-1(
図11参照)を参照して、ロール「セミナー_APL1」に対して実施するアクセス制御の内容を修正してもよい。具体的には、例えば、アクセス制御補助機能700は、ポリシーラベル「EU在住者_個人情報」が付与されたテーブル「アンケート情報_EU」におけるロール「セミナー_APL1」について、書き込みを許可しないように、データベース220の設定を変更する。
【0138】
これにより、アクセス制御補助機能700は、セキュリティポリシーに違反している箇所のアクセス制御を、正しい権限に自動で修正することができる。
【0139】
(データベース管理装置201の各種処理手順)
つぎに、データベース管理装置201の各種処理手順について説明する。まず、
図16を用いて、データベース管理装置201のアクセス制御補助処理手順について説明する。データベース管理装置201のアクセス制御補助処理は、例えば、新規テーブルの作成時に実行される。
【0140】
図16は、データベース管理装置201のアクセス制御補助処理手順の一例を示すフローチャートである。
図16のフローチャートにおいて、まず、データベース管理装置201は、新規テーブルに格納されるデータ種別に応じたポリシーラベルを受け付けたか否かを判断する(ステップS1601)。新規テーブルは、データベース220上のアクセス制御対象となる対象テーブルである。
【0141】
ここで、データベース管理装置201は、ポリシーラベルを受け付けるのを待つ(ステップS1601:No)。そして、データベース管理装置201は、ポリシーラベルを受け付けた場合(ステップS1601:Yes)、受け付けたポリシーラベルを、新規テーブルのメタデータに格納する(ステップS1602)。
【0142】
つぎに、データベース管理装置201は、ポリシー管理テーブル230を参照して、新規テーブルのメタデータに格納したポリシーラベルに対応するロールパターンを特定する(ステップS1603)。そして、データベース管理装置201は、データベース管理者P1に対して、新規テーブルについて、特定したロールパターンを通知する(ステップS1604)。
【0143】
つぎに、データベース管理装置201は、通知した各ロールパターンに対応する1以上のロールの指定を受け付けたか否かを判断する(ステップS1605)。ここで、データベース管理装置201は、ロールの指定を受け付けるのを待つ(ステップS1605:No)。
【0144】
データベース管理装置201は、ロールの指定を受け付けた場合(ステップS1605:Yes)、新規テーブルとロールパターンとロールとの対応関係を表すロール管理情報を作成する(ステップS1606)。作成されたロール管理情報は、例えば、ロール管理テーブル240に登録される。
【0145】
そして、データベース管理装置201は、ポリシー管理テーブル230を参照して、新規テーブルのメタデータに格納されたポリシーラベルに対応する各ロールパターンに対して実施すべきアクセス制御の内容を特定する(ステップS1607)。つぎに、データベース管理装置201は、ロール管理テーブル240を参照して、特定した各ロールパターンに対して実施すべきアクセス制御の内容に基づいて、アクセス制御情報を作成する(ステップS1608)。
【0146】
作成されたアクセス制御情報は、新規テーブルにおけるロールごとに、当該ロールに対して実施すべきアクセス制御の内容を表す。作成されたアクセス制御情報は、例えば、ポリシー管理テーブル230に登録される。
【0147】
そして、データベース管理装置201は、データベース管理者P1に対して、作成したアクセス制御情報を出力して(ステップS1609)、本フローチャートによる一連の処理を終了する。
【0148】
これにより、データベース管理装置201は、新規テーブルの作成時などに、新規テーブルにおける各ロールに対して実施すべきアクセス制御の内容を容易に特定可能にすることができる。
【0149】
つぎに、
図17を用いて、データベース管理装置201のアクセス制御状況監視処理手順について説明する。データベース管理装置201のアクセス制御状況監視処理は、例えば、一定期間(1週間、1ヶ月など)ごとに定期的に実行される。
【0150】
図17は、データベース管理装置201のアクセス制御状況監視処理手順の一例を示すフローチャートである。
図17のフローチャートにおいて、まず、データベース管理装置201は、アクセス制御テーブル1100を作成する(ステップS1701)。
【0151】
具体的には、例えば、データベース管理装置201は、データベース220上の各テーブル(対象テーブル)について、ポリシー管理テーブル230を参照して、各テーブルのメタデータに格納されたポリシーラベルに対応する各ロールパターンに対して実施すべきアクセス制御の内容を特定する。そして、データベース管理装置201は、データベース220上の各テーブルについて、ロール管理テーブル240を参照して、特定した各ロールパターンに対して実施すべきアクセス制御の内容に基づいて、アクセス制御情報を作成する。これにより、データベース管理装置201は、データベース220上の各テーブルについてのアクセス制御情報が登録されたアクセス制御テーブル1100を作成する。
【0152】
つぎに、データベース管理装置201は、作成したアクセス制御テーブル1100をコピーして、アクセス制御実施テーブル1200を作成する(ステップS1702)。そして、データベース管理装置201は、データベース220上の各テーブルについて、システムテーブル(不図示)を参照して、現状施されているアクセス制御の状況を特定する(ステップS1703)。
【0153】
つぎに、データベース管理装置201は、特定したアクセス制御の状況に従って、作成したアクセス制御実施テーブル1200を更新する(ステップS1704)。そして、データベース管理装置201は、アクセス制御テーブル1100内のアクセス制御情報とアクセス制御実施テーブル1200内のアクセス制御実施情報とを比較する(ステップS1705)。
【0154】
つぎに、データベース管理装置201は、比較した比較結果に基づいて、アクセス制御情報に対するアクセス制御実施情報の差分箇所を検出する(ステップS1706)。そして、データベース管理装置201は、差分箇所が検出されたか否かを判断する(ステップS1707)。
【0155】
ここで、差分箇所が検出されなかった場合(ステップS1707:No)、データベース管理装置201は、本フローチャートによる一連の処理を終了する。
【0156】
一方、差分箇所が検出された場合(ステップS1707:Yes)、データベース管理装置201は、差分箇所に対応するアクセス制御情報を参照して、差分箇所に対応するロールに対して実施するアクセス制御の内容を修正して(ステップS1708)、本フローチャートによる一連の処理を終了する。
【0157】
これにより、データベース管理装置201は、データベース220におけるアクセス制御の状況を定期的に確認して、セキュリティポリシーに違反している箇所のアクセス制御を、正しい権限に自動で修正することができる。
【0158】
なお、
図17の例では、差分箇所に対応するロールに対して実施するアクセス制御の内容を自動で修正する場合について説明したが、これに限らない。例えば、データベース管理装置201は、ステップS1708において、セキュリティ監査者P2に対して、検出された差分箇所を特定可能な差分検出結果を出力してもよい。
【0159】
これにより、データベース管理装置201は、適切なアクセス制御が施されていない箇所を特定可能な情報をセキュリティ監査者P2に提供することができる。差分検出結果には、例えば、差分箇所に対応するロールに対して実施すべきアクセス制御の内容と、現状施されているアクセス制御の内容とを特定可能な情報が含まれる。
【0160】
つぎに、
図18を用いて、データベース管理装置201のログイン許否判定処理手順について説明する。
【0161】
図18は、データベース管理装置201のログイン許否判定処理手順の一例を示すフローチャートである。
図18のフローチャートにおいて、まず、データベース220に対するログイン要求を受け付けたか否かを判断する(ステップS1801)。
【0162】
ここで、データベース管理装置201は、ログイン要求を受け付けるのを待つ(ステップS1801:No)。データベース管理装置201は、ログイン要求を受け付けた場合(ステップS1801:Yes)、アクセス制御テーブル1100を作成する(ステップS1802)。
【0163】
つぎに、データベース管理装置201は、作成したアクセス制御テーブル1100をコピーして、アクセス制御実施テーブル1200を作成する(ステップS1803)。そして、データベース管理装置201は、データベース220上の各テーブルについて、システムテーブル(不図示)を参照して、現状施されているアクセス制御の状況を特定する(ステップS1804)。
【0164】
つぎに、データベース管理装置201は、特定したアクセス制御の状況に従って、作成したアクセス制御実施テーブル1200を更新する(ステップS1805)。そして、データベース管理装置201は、アクセス制御テーブル1100内のアクセス制御情報とアクセス制御実施テーブル1200内のアクセス制御実施情報とを比較する(ステップS1806)。
【0165】
つぎに、データベース管理装置201は、比較した比較結果に基づいて、アクセス制御情報に対するアクセス制御実施情報の差分箇所を検出する(ステップS1807)。そして、データベース管理装置201は、差分箇所が検出されたか否かを判断する(ステップS1808)。
【0166】
ここで、差分箇所が検出されなかった場合(ステップS1808:No)、データベース管理装置201は、ステップS1810に移行する。一方、差分箇所が検出された場合(ステップS1808:Yes)、データベース管理装置201は、ログイン要求を受け付けたロールが、差分箇所に対応するロールであるか否かを判断する(ステップS1809)。
【0167】
ここで、差分箇所に対応するロールではない場合(ステップS1809:No)、データベース管理装置201は、ログイン要求を受け付けたロールのログインを許可して(ステップS1810)、本フローチャートによる一連の処理を終了する。
【0168】
一方、差分箇所に対応するロールの場合(ステップS1809:Yes)、データベース管理装置201は、ログイン要求を受け付けたロールのログインを許否して(ステップS1811)、本フローチャートによる一連の処理を終了する。
【0169】
これにより、データベース管理装置201は、セキュリティポリシーに違反したロールのデータベース220へのログインを拒否することができる。
【0170】
以上説明したように、実施の形態にかかるデータベース管理装置201によれば、データベース220上のアクセス制御対象となる対象テーブルに格納されるデータ種別に応じた第1のポリシーラベルを、対象テーブルのメタデータに格納することができる。また、データベース管理装置201によれば、ポリシー管理情報を参照して、メタデータに格納された第1のポリシーラベルに対応する各ロールパターンに対して実施すべきアクセス制御の内容を特定することができる。ポリシー管理情報は、データ種別を表すポリシーラベルごとに、各ロールパターンに対して実施すべきアクセス制御の内容を定義した情報である(例えば、
図4参照)。そして、データベース管理装置201によれば、ロール管理情報を参照して、特定した各ロールパターンに対して実施すべきアクセス制御の内容に基づいて、アクセス制御情報を作成し、作成したアクセス制御情報を出力することができる。ロール管理情報は、対象テーブルにおける各ロールパターンと1以上のロールとの対応関係を表す情報である(例えば、
図5参照)。アクセス制御情報は、対象テーブルにおけるロールごとに、当該ロールに対して実施すべきアクセス制御の内容を表す情報である(例えば、
図11参照)。
【0171】
これにより、データベース管理装置201は、データベース220上の対象テーブル(例えば、新規テーブル)について、セキュリティ規約に従ったロールごとのアクセス制御の内容を容易に特定可能にすることができる。このため、データベース管理装置201は、セキュリティ規約に従った適切なアクセス制御を設計する手間を削減して、アクセス制御の実施にかかるデータベース管理者P1の作業負荷を低減することができる。例えば、データベース管理者P1は、対象テーブルにおける各ロールについてのアクセス権限を一括して設定することが可能となる。
【0172】
また、データベース管理装置201によれば、データベース220上の対象テーブルに対するアクセス制御の状況を参照して、アクセス制御実施情報を作成することができる。アクセス制御実施情報は、対象テーブルにおけるロールごとに、当該ロールに対して実施されているアクセス制御の内容を表す情報である。そして、データベース管理装置201によれば、アクセス制御情報とアクセス制御実施情報とを比較した比較結果に基づいて、アクセス制御情報に対するアクセス制御実施情報の差分箇所を検出することができる。
【0173】
これにより、データベース管理装置201は、セキュリティポリシーに違反している箇所を検出することができる。
【0174】
また、データベース管理装置201によれば、検出した差分箇所を特定可能な差分検出結果を出力することができる。
【0175】
これにより、データベース管理装置201は、セキュリティポリシーに違反している箇所を容易に特定可能にして、セキュリティ監査者P2がアクセス制御の状況を監視する際にかかる負担を軽減することができる。
【0176】
また、データベース管理装置201によれば、データベース220に対する第1のロールからのログイン要求を受け付けた際に、第1のロールが、検出した差分箇所に対応するロールであるか否かを判断することができる。そして、データベース管理装置201によれば、第1のロールが差分箇所に対応するロールの場合、第1のロールのログインを拒否することができる。また、データベース管理装置201によれば、第1のロールが差分箇所に対応するロールではない場合、第1のロールのログインを許可することができる。
【0177】
これにより、データベース管理装置201は、不正なアクセス権限を持つロールのデータベース220への操作をできないようにして、セキュリティを確保することができる。
【0178】
また、データベース管理装置201によれば、ログイン要求を受け付けた際に、データベース220上の対象テーブルに対するアクセス制御の状況を参照して、アクセス制御実施情報を作成することができる。そして、データベース管理装置201によれば、アクセス制御情報とアクセス制御実施情報とを比較した比較結果に基づいて、アクセス制御情報に対するアクセス制御実施情報の差分箇所を検出し、第1のロールが、検出した差分箇所に対応するロールであるか否かを判断することができる。
【0179】
これにより、データベース管理装置201は、最新のアクセス制御の状況を確認して、セキュリティポリシーに違反している箇所を検出することができる。
【0180】
また、データベース管理装置201によれば、アクセス制御情報を参照して、対象テーブルにおける差分箇所に対応するロールに対して実施するアクセス制御の内容を修正することができる。
【0181】
これにより、データベース管理装置201は、セキュリティポリシーに違反している箇所のアクセス制御を、正しい権限に自動で修正することができる。
【0182】
また、データベース管理装置201によれば、ポリシー管理情報を参照して、第1のポリシーラベルに対応する各ロールパターンを特定し、対象テーブルにおける、特定した各ロールパターンに対応する1以上のロールの指定を受け付けることができる。例えば、データベース管理装置201は、新規テーブル(対象テーブル)について、特定した各ロールパターンをデータベース管理者P1に通知することにより、データベース管理者P1から各ロールパターンに対応する1以上のロールの指定を受け付ける。そして、データベース管理装置201によれば、対象テーブルにおける各ロールパターンと、指定された1以上のロールとを対応付けたロール管理情報を作成することができる。
【0183】
これにより、データベース管理装置201は、新規テーブルの作成時などに、新規テーブルにおける各ロールパターンと1以上のロールとの対応関係を表すロール管理情報を作成することができる。例えば、データベース管理者P1は、通知されたロールパターンに対応するロールを指定すればよいため、ロール管理情報の作成にかかる負担を軽減することができる。
【0184】
これらのことから、データベース管理装置201によれば、セキュリティ認定の標準規約に従ったアクセス制御が求められるデータベースシステムの管理にかかる負荷を軽減することができる。これにより、データベース管理装置201は、例えば、定期的な更新が必要なセキュリティ認定の取得にかかる負担を軽減するとともに、セキュリティ監査のためのランニングコストを抑えることができる。
【0185】
また、データベース管理装置201は、対象テーブルの列データとしてではなく、対象データのメタデータとしてデータ種別の情報(ポリシーラベル)を管理することができる。例えば、データベース管理者P1は、セキュリティ規約が書き換わるごとにすべてのテーブルを検分する必要がなくなる。例えば、セキュリティ規約の変更で「EU_在住者」に該当する個人情報は、管理者以外による生データ読み込みが禁止になったとする。この場合、列データとしてデータ種別の情報を追加すると、データベース管理者P1は、すべてのテーブルのポリシーラベル列を参照して、変更対象となるラベルが存在するテーブルのアクセス制限を変更することになる。
【0186】
一方、メタデータとしてデータ種別の情報を管理すると、データベース管理者P1は、テーブルの中身を確認しなくても、メタデータのポリシーラベルを参照して、テーブルのアクセス制限の変更を行うことが可能となる。例えば、データベース管理者P1は、セキュリティ規約に変更があった場合、ポリシー管理情報を更新することで、アクセス制御の状況の監視において、変更後のセキュリティ規約に従ったアクセス制御が行われているかどうかを監査可能にすることができる。
【0187】
また、データベース管理装置201は、テーブル設計の変更やテーブルサイズの肥大化を防いで、データ種別の情報管理にともなう性能劣化を防ぐことができる。また、データベース管理装置201は、テーブル設計を変更しないため、セキュリティ認定の取得のために業務アプリケーション側を修正するといった作業を削減することができる。
【0188】
なお、本実施の形態で説明したデータベース管理方法は、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本データベース管理プログラムは、ハードディスク、フレキシブルディスク、CD-ROM、DVD、USBメモリ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本データベース管理プログラムは、インターネット等のネットワークを介して配布してもよい。
【0189】
また、本実施の形態で説明した情報処理装置101(データベース管理装置201)は、スタンダードセルやストラクチャードASIC(Application Specific Integrated Circuit)などの特定用途向けICやFPGAなどのPLD(Programmable Logic Device)によっても実現することができる。
【0190】
上述した実施の形態に関し、さらに以下の付記を開示する。
【0191】
(付記1)データベース上のアクセス制御対象となる対象テーブルに格納されるデータ種別に応じた第1のポリシーラベルを、前記対象テーブルのメタデータに格納し、
前記第1のポリシーラベルを含む複数のポリシーラベルそれぞれについて、各ロールパターンに対して実施すべきアクセス制御の内容を定義したポリシー管理情報を参照して、前記メタデータに格納された前記第1のポリシーラベルに対応する前記各ロールパターンに対して実施すべきアクセス制御の内容を特定し、
前記対象テーブルにおける前記各ロールパターンと1以上のロールとの対応関係を表すロール管理情報を参照して、特定した前記各ロールパターンに対して実施すべきアクセス制御の内容に基づいて、前記対象テーブルにおけるロールごとに、当該ロールに対して実施すべきアクセス制御の内容を表すアクセス制御情報を作成する、
処理をコンピュータに実行させることを特徴とするデータベース管理プログラム。
【0192】
(付記2)作成した前記アクセス制御情報を出力する、
処理を前記コンピュータに実行させることを特徴とする付記1に記載のデータベース管理プログラム。
【0193】
(付記3)前記データベース上の前記対象テーブルに対するアクセス制御の状況を参照して、前記対象テーブルにおけるロールごとに、当該ロールに対して実施されているアクセス制御の内容を表すアクセス制御実施情報を作成し、
前記アクセス制御情報と前記アクセス制御実施情報とを比較した比較結果に基づいて、前記アクセス制御情報に対する前記アクセス制御実施情報の差分箇所を検出する、
処理を前記コンピュータに実行させることを特徴とする付記1または2に記載のデータベース管理プログラム。
【0194】
(付記4)検出した前記差分箇所を特定可能な情報を出力する、
処理を前記コンピュータに実行させることを特徴とする付記3に記載のデータベース管理プログラム。
【0195】
(付記5)前記データベースに対する第1のロールからのログイン要求を受け付けた際に、前記第1のロールが前記差分箇所に対応するロールであるか否かを判断し、
前記第1のロールが前記差分箇所に対応するロールの場合、前記第1のロールのログインを拒否し、
前記第1のロールが前記差分箇所に対応するロールではない場合、前記第1のロールのログインを許可する、
処理を前記コンピュータに実行させることを特徴とする付記3または4に記載のデータベース管理プログラム。
【0196】
(付記6)前記ログイン要求を受け付けた際に、前記データベース上の前記対象テーブルに対するアクセス制御の状況を参照して、前記アクセス制御実施情報を作成し、
前記アクセス制御情報と前記アクセス制御実施情報とを比較した比較結果に基づいて、前記差分箇所を検出し、
前記第1のロールが、検出した前記差分箇所に対応するロールであるか否かを判断する、ことを特徴とする付記5に記載のデータベース管理プログラム。
【0197】
(付記7)前記アクセス制御情報を参照して、前記対象テーブルにおける前記差分箇所に対応するロールに対して実施するアクセス制御の内容を修正する、
処理を前記コンピュータに実行させることを特徴とする付記3~6のいずれか一つに記載のデータベース管理プログラム。
【0198】
(付記8)前記ポリシー管理情報を参照して、前記第1のポリシーラベルに対応する前記各ロールパターンを特定し、
前記対象テーブルにおける、特定した前記各ロールパターンに対応する1以上のロールの指定を受け付け、
前記対象テーブルにおける前記各ロールパターンと、指定された前記1以上のロールとを対応付けた前記ロール管理情報を作成する、
処理を前記コンピュータに実行させることを特徴とする付記1~7のいずれか一つに記載のデータベース管理プログラム。
【0199】
(付記9)データベース上のアクセス制御対象となる対象テーブルに格納されるデータ種別に応じた第1のポリシーラベルを、前記対象テーブルのメタデータに格納し、
前記第1のポリシーラベルを含む複数のポリシーラベルそれぞれについて、各ロールパターンに対して実施すべきアクセス制御の内容を定義したポリシー管理情報を参照して、前記メタデータに格納された前記第1のポリシーラベルに対応する前記各ロールパターンに対して実施すべきアクセス制御の内容を特定し、
前記対象テーブルにおける前記各ロールパターンと1以上のロールとの対応関係を表すロール管理情報を参照して、特定した前記各ロールパターンに対して実施すべきアクセス制御の内容に基づいて、前記対象テーブルにおけるロールごとに、当該ロールに対して実施すべきアクセス制御の内容を表すアクセス制御情報を作成する、
処理をコンピュータが実行することを特徴とするデータベース管理方法。
【0200】
(付記10)データベース上のアクセス制御対象となる対象テーブルに格納されるデータ種別に応じた第1のポリシーラベルを、前記対象テーブルのメタデータに格納し、
前記第1のポリシーラベルを含む複数のポリシーラベルそれぞれについて、各ロールパターンに対して実施すべきアクセス制御の内容を定義したポリシー管理情報を参照して、前記メタデータに格納された前記第1のポリシーラベルに対応する前記各ロールパターンに対して実施すべきアクセス制御の内容を特定し、
前記対象テーブルにおける前記各ロールパターンと1以上のロールとの対応関係を表すロール管理情報を参照して、特定した前記各ロールパターンに対して実施すべきアクセス制御の内容に基づいて、前記対象テーブルにおけるロールごとに、当該ロールに対して実施すべきアクセス制御の内容を表すアクセス制御情報を作成する、
制御部を有することを特徴とする情報処理装置。
【符号の説明】
【0201】
101 情報処理装置
110,220 データベース
120 対象テーブル
121 メタデータ
130 ポリシー管理情報
140 ロール管理情報
150 アクセス制御情報
200 情報処理システム
201 データベース管理装置
202 管理者端末
203 監査者端末
210 ネットワーク
230 ポリシー管理テーブル
240 ロール管理テーブル
300 バス
301 CPU
302 メモリ
303 ディスクドライブ
304 ディスク
305 通信I/F
306 可搬型記録媒体I/F
307 可搬型記録媒体
600 制御部
601 受付部
602 付与部
603 第1の作成部
604 第2の作成部
605 検出部
606 アクセス制御部
607 出力部
700 アクセス制御補助機能
701 新規テーブル
711 ポリシーラベル
800 システムカタログ
1100 アクセス制御テーブル
1200 アクセス制御実施テーブル
1400,1500 差分検出結果