説明

アクセス制御データ編集支援プログラム、アクセス制御データ編集支援装置、及びアクセス制御データ編集支援方法

【課題】アクセス制御データの編集作業の負担を軽減すること。
【解決手段】アクセス制御データ編集支援プログラムは、アクセス対象に対するアクセスごとに、アクセス制御データを用いて行われた許否判定の結果と、前記許否判定に利用した内容とが1以上記録されたログ情報と、前記アクセス制御データを変更する変更手順と、前記ログ情報が示す許否判定に利用した内容に前記変更後のアクセス制御データを適用させてアクセスの許否判定を行い、許否判定の結果と前記許否判定に利用した内容を含む判定結果情報を生成する生成手順とをコンピュータに実行させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、アクセス制御データ編集支援プログラム、アクセス制御データ編集支援装置、及びアクセス制御データ編集支援方法に関し、特にリソースへのアクセスを制御するアクセス制御データの編集を支援するアクセス制御データ編集支援プログラム、アクセス制御データ編集支援装置、及びアクセス制御データ編集支援方法に関する。
【背景技術】
【0002】
従来、コンピュータシステムにおいてアクセス対象とされる資源(例えば、ファイル等)に対するアクセス制御は、ACL(Access Control List)等のアクセス制御の規則が定義されたデータ(以下、「アクセス制御データ」という。)に基づいて行われている。すなわち、アクセス制御データには、アクセス対象のファイルごとに、各種のアクセスについて許否等が定義される。ファイルに対してアクセスが発生した場合、当該アクセスはアクセス制御機構にフックされる。当該アクセスがアクセス制御データに照らして許可されるものであれば、当該アクセスはアクセス制御機構によって許可される。なお、ここでいうアクセス制御機構は、OS(Operating System)におけるファイルシステムが有している機構とは別に、独自に構築される機構をいう。
【0003】
アクセス制御データに基づいてアクセス制御を行う場合、アクセス対象とされるファイルは、予めアクセス制御データにアクセス対象として指定されている必要がある。したがって、アクセス制御の漏れを無くすためには、新たに生成されることが予測されるファイルを予め把握しておくことが重要である。又は、新たにファイルが生成された場合、当該ファイルをアクセス制御の対象とするための変更が、迅速にアクセス制御データに対して行われることが重要である。
【0004】
そこで、従来、新たに生成されるファイルに対するアクセス制御データの編集作業を軽減すべく、アクセス制御データを自動的に生成する技術が検討されている(例えば、特許文献1、特許文献2)。具体的には、新規ファイルに対応したアクセス制御データが自動的に生成される。又は、ファイルアクセスが行われたことを契機に、アクセス制御データが自動的に更新される。
【0005】
他方において、アクセス制御機構により取得されたアクセスログを参考に、アクセス制御データを手動で設定することは、SecureOS(セキュアOS)が利用さている環境で実施されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2005−99982号公報
【特許文献2】特開2003−6027号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、自動的に生成されるアクセス制御データは、必ずしも望み通りの制御結果を得られるものではない。したがって、手動でアクセス制御データの修正を行い、その修正の妥当性を確認するためのテストが実運用を模した環境で行われていた。通常は、一回のテストでは、満足な結果を得ることはできず、アクセス制御データの修正及びテストは繰り返し行われる必要があった。
【0008】
この作業自体多大な作業工数を要するものであるにも拘わらず、手動による直接的なアクセス制御データの修正は、設定ミスや影響範囲の把握ミス等により、更に作業工数が肥大化する傾向にあった。
【0009】
上記の点に鑑みて、アクセス制御データの編集作業の負担を軽減することのできるアクセス制御データ編集支援プログラム、アクセス制御データ編集支援装置、及びアクセス制御データ編集支援方法の提供を目的とする。
【課題を解決するための手段】
【0010】
そこで上記課題を解決するため、アクセス制御データ編集支援プログラムは、アクセス対象に対するアクセスごとに、アクセス制御データを用いて行われた許否判定の結果と、前記許否判定に利用した内容とが1以上記録されたログ情報と、前記アクセス制御データを変更する変更手順と、前記ログ情報が示す許否判定に利用した内容に前記変更後のアクセス制御データを適用させてアクセスの許否判定を行い、許否判定の結果と前記許否判定に利用した内容を含む判定結果情報を生成する生成手順とをコンピュータに実行させる。
【発明の効果】
【0011】
アクセス制御データの編集作業の負担を軽減することができる。
【図面の簡単な説明】
【0012】
【図1】本発明の実施の形態におけるポリシー編集支援システムの機能構成例を示す図である。
【図2】本発明の実施の形態におけるポリシーデータの一例を示す図である。
【図3】本発明の実施の形態におけるポリシー編集支援装置のハードウェア構成例を示す図である。
【図4】ポリシー編集支援装置による全体の処理手順を説明するためのフローチャートの一例である。
【図5】ログ編集画面の表示例を示す図である。
【図6】本実施の形態におけるアクセスログの形式及び具体例を示す図である。
【図7】入力ログファイルの編集処理の処理手順を説明するためのフローチャートの一例である。
【図8】入力ログの変更例を示す図である。
【図9】ポリシーデータ更新処理の処理手順を説明するためのフローチャートの一例である。
【図10】入力ログの変更に応じたポリシーデータの変更例を示す図である。
【図11】変更後のポリシーデータに基づくアクセス制御のシミュレーション処理の処理手順を説明するためのフローチャートの一例である。
【図12】本実施の形態のログインデックスの構成例を示す図である。
【図13】影響ログの検索処理の処理手順を説明するためのフローチャートの一例である。
【図14】差分表示画面の表示例を示す図である。
【発明を実施するための形態】
【0013】
以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態におけるポリシー編集支援システムの機能構成例を示す図である。同図において、ポリシー編集支援装置10及びアクセス制御装置20は、LAN(Local Area Network)又はインターネット等のネットワークを介して通信可能に接続されている。
【0014】
アクセス制御装置20は、アクセス(操作)対象とされるリソース(資源)に対するアクセス(操作)主体によるアクセス(操作)の許否判定等を行うコンピュータである。本実施の形態において、アクセス対象(又はアクセス制御対象)とされるリソースとして、ファイルシステム上に生成されるファイルを具体例として説明する。したがって、本実施の形態におけるアクセスは、ファイルに関して実行可能なアクセスということになる。また、アクセス主体は、ユーザID又はグループIDによって識別されるユーザ又はグループを具体例として説明する。グループとは、アクセス制御において一以上のユーザの集合を一つの主体として表現する概念である。但し、リソース、アクセス主体、及びアクセスの具体的内容は、本実施の形態が適用されるコンピュータシステムに応じて適宜変更されてよい。
【0015】
同図において、アクセス制御装置20は、アプリケーションプログラム21及びアクセス制御部22等を含む。アプリケーションプログラム21は、ユーザからの指示に応じ、ファイルに対してアクセスを行うプログラムの一例である。
【0016】
アクセス制御部22は、OS(Operating System)が有するファイルシステムにおけるアクセス制御機構とは独立して、アプリケーションプログラム21によるファイルへのアクセスを検知し(フックし)、当該アクセスの許否判定等を行う。アクセス制御部22は、アクセス監視部221、アクセス許否判定部222、ログ出力部223、及びポリシーデータ30等を含む。
【0017】
アクセス監視部221は、アプリケーションプログラム21によるファイルへのアクセスを監視する。監視方法は、公知技術に従えばよい。アクセス監視部221は、アプリケーションプログラム21によるファイルへのアクセスを検知すると、アプリケーションプログラム21の識別子、アプリケーションプログラム21の操作者(ユーザ)の識別子、アクセス対象のファイル名、アクセスの種別等をアクセス許否判定部222に入力する。
【0018】
アクセス許否判定部222は、入力された情報をポリシーデータ30に当てはめて、検知されたアクセスの許否判定を行う。アクセス許否判定部222によって許可されたアクセスは実行される。アクセス許否判定部222によって拒否されたアクセスは実行されない。ポリシーデータ30は、アクセス主体、アクセス対象(リソース)、及びアクセスの種別(操作種別)の組合せに応じて、アクセスの許否が設定又は定義された、アクセス制御データの一例である。
【0019】
図2は、本発明の実施の形態におけるポリシーデータの一例を示す図である。同図に示されるように、本実施の形態のポリシーデータ30は、XML(eXtensible Markup Language)形式によって記述されている。ポリシーデータ30の内容の説明においても、XMLに関する用語を用いる。例えば、XXX要素とは、<XXX>タグで囲まれた部分をいう。
【0020】
ポリシーデータ30において、ACL要素がルート要素である。ACL要素は、子要素として、Version要素と、1以上のSection要素とを含む。同図においても、Version要素eV1と、Section要素eS1及びeS2とが含まれている。
【0021】
Version要素の値は、ポリシーデータ30のバージョンを示す。Section要素は、当該Section内で定義内容がグルーピングされる範囲(例えば、アプリケーション名)を規定する。アクセス制御のポリシーデータはアクセス対象(ファイル)に対するアクセス許否の条件定義であるため、ファイル構成が同一となる汎用的なアプリケーションに対するポリシーデータは、異なるシステム間でも共通利用できる。そのアプリケーション単位のグルーピングにSection要素を利用する。Section要素のvalue属性の値は、当該範囲の識別名又は識別子を示す。例えば、Section要素eS1のvalue属性の値は、「共通1」となっている。したがって、Section要素eS1の定義内容は、「共通1」によって識別されるアプリケーションが導入されたシステムのポリシーグループとして管理される。なお、アクセス許否の条件を複数まとめて管理する必要が無い場合、Section要素は不要である。この場合、以下に説明されるSection要素の子要素は、ACL要素の子要素として記述されてもよい。
【0022】
各Section要素は、1以上のACE要素を子要素として含む。例えば、Section要素eS1は、ACE要素eAE1及びeAE2を含む。ACE要素は、本実施の形態において「アクセス制御エントリ」とも呼ばれる。アクセス制御エントリは、ポリシーデータ30において、アクセス制御に関する定義の最小単位のエントリに相当する。したがって、一つのポリシーデータ30は、少なくとも一つのACE要素を含む。
【0023】
ACE要素は、PolicyId要素、BasePolicyId要素、Target要素、Process要素、及び1以上のAction要素を子要素として含む。例えば、ACE要素eAE1は、PolicyId要素ePL1、BasePolicyId要素eBL1、Target要素eT1、Process要素ePS1、Action要素eAT1及びeAT2を含む。
【0024】
PolicyId要素の値は、ポリシーIDを示す。ポリシーIDは、アクセス制御エントリごとに一意な識別子である。BasePolicyId要素は、当該ACL要素(アクセス制御エントリ)の変更元の(すなわち、変更前の)ACL要素(アクセス制御エントリ)のポリシーIDである。「変更元」における「変更」とは、ポリシー編集支援装置10によって行われる自動的な変更をいう。なお、同図のBasePolicyId要素eBL1の値は、「*」となっている。これは、当該アクセス制御エントリ(ACE要素eAE1)の変更元は無い(すなわち、初版である)ことを示す。
【0025】
Target要素の値は、当該アクセス制御エントリが適用されるアクセス対象(リソース)の名前(すなわち、ファイル名)を示す。Process要素は、当該アクセス制御エントリが適用されるアプリケーションプログラム21(プロセス)の名前の一覧を示す。すなわち、一つのProcess要素内には一以上のアプリケーションプログラム21の名前を指定することが可能である。
【0026】
Action要素は、Target要素に指定されたリソース(ファイル)に対するアクセスに関する制御内容が定義される要素である。Action要素は、Read要素、Write要素、Create要素、Delete要素、Name要素、Attribute要素、Start要素、若しくはTerminate要素等のアクセス権に応じた要素とControl要素とを子要素として含む。例えば、Action要素AT1は、Read要素eR1及びControl要素eC1を子要素として含む。
【0027】
Read要素の値は、参照(読み込み)について制御対象とする主体(ユーザ又はグループ)のIDを示す。Write要素の値は、書き込みについて制御対象とする主体のIDを示す。Create要素の値は、作成について制御対象とする主体のIDを示す。Delete要素は、削除について制御対象とする主体のIDを示す。Name要素は、名前の変更について制御対象とする主体のIDを示す。Attribute要素は、属性値の変更について制御対象とする主体のIDを示す。Start要素は、起動操作について制御対象とする主体のIDを示す。Terminate要素は、終了操作について制御対象とする主体のIDを示す。
【0028】
アクセス権に応じた各要素の値には、複数のユーザID又はグループIDを指定することが可能である。上記以外のアクセス種別について制御する必要がある場合は、当該アクセス種別に応じた要素が定義されればよい。
【0029】
Control要素の値は、アクセス権に応じた要素に係るアクセスが試みられた場合のアクセス制御の種別を示す。本実施の形態において、アクセス制御の種別には「Permit」又は「Deny」が有る。「Permit」は、許可を示す。「Deny」は、拒否を示す。
【0030】
以上より、ACE要素eAE1には、「/var/opt/Appl01/workdata」という名前のファイルに対するrootユーザによる参照は、許可されることが定義されていることが分かる。
【0031】
なお、図2は、あくまでも一例である。ポリシーデータ30は、XML形式でなくてもよいし、他の構造によって定義されてもよい。
【0032】
図1に戻る。ログ出力部223は、アクセスの内容及びアクセス許否判定部222が許否判定に利用した内容と、その判定結果(すなわち、アクセス結果)等を含むログ(アクセスログ)をアクセスログファイル41に出力(記録)する。基本的に1回のアクセスに対して1行のアクセスログが出力される。
【0033】
このように、アクセス制御装置20は、実際の運用時において、ファイルに対するアクセス制御を行う。なお、アプリケーションプログラム21又はファイルが配置されているコンピュータは、アクセス制御装置20と別であってもよい。また、ポリシーデータ30は、アクセス制御装置20とネットワークを介して接続された記憶装置に保存されていてもよい。更に、アクセスログファイル41は、アクセス制御装置20とネットワークを介して接続された記憶装置に生成されてもよい。
【0034】
ポリシー編集支援装置10は、アクセス制御装置20が利用するポリシーデータ30を編集する必要が生じた際に、その編集作業を支援するコンピュータである。
【0035】
ポリシー編集支援装置10は、ログ編集部11、影響ログ検索部12、ポリシー変更部13、シミュレーション部14、インデクシング部15、及び差分抽出部16等を有する。これら各部は、ポリシー編集支援装置10にインストールされたプログラムがポリシー編集支援装置10のCPU(後述されるCPU104)に実行させる処理によって実現される。
【0036】
ログ編集部11は、ユーザ(例えば、管理者等)によって入力される、入力ログファイル42の編集指示に応じ、入力ログファイル42を編集(変更)する。入力ログファイル42は、アクセス制御装置20におけるアクセスログファイル41がコピー(転送)されたものである。入力ログファイル42は、ログ情報の一例である。入力ログファイル42の編集の一例としては、ユーザAによってファイルaに対する書き込みが拒否されたことを示すアクセスログについて、拒否を許可に変更することが挙げられる。すなわち、入力ログファイル42の編集によって、管理者等が所望するアクセス制御結果を示すように、アクセスログが変更される。
【0037】
ポリシー変更部13は、入力ログファイル42に対する変数(変更)に応じた変更をポリシーデータ30aに対して実行する。ポリシーデータ30aの初期状態は、アクセス制御装置20におけるポリシーデータ30と同じである。例えば、変更前のポリシーデータ30aが、アクセス制御装置20に対して配布又は配信されたものが、ポリシーデータ30であるともいえる。
【0038】
このように、本実施の形態では、最終的な編集対象であるポリシーデータ30aを直接ユーザが編集するのではなく、入力ログファイル42をユーザに編集させる。編集後の入力ログファイル42に基づいて、ポリシーデータ30aの一部が、いわゆる逆生成される。なお、本実施の形態において、ログ編集部11及びポリシー変更部13は、変更手段の一例である。
【0039】
シミュレーション部14は、ポリシーデータ30aに基づくアクセス制御のシミュレーションを実行する。ここで、「シミュレーション」という言葉を用いるのは、シミュレーション部14が実行するアクセス制御は、実際のファイルアクセスに基づくアクセス制御ではないからである。すなわち、シミュレーション部14は、入力ログファイル42に記録されている、運用環境において発生した過去のアクセスを擬似的に発生させる。シミュレーション部14は、擬似的に発生したアクセスに関してアクセス制御等を行う。
【0040】
具体的には、シミュレーション部14は、入力ログファイル42に記録されている各アクセスログのアクセス内容(許否判定に利用された内容)をポリシーデータ30aに当てはめて(適用して)、当該アクセスの許否判定を行う。シミュレーション部14は、当該アクセス内容と当該許否判定の結果とを含むアクセスログを出力ログファイル43に出力(記録)する。シミュレーション部14によって出力されるアクセスログを、以下「出力ログ」という。出力ログは、判定結果情報の一例である。また、シミュレーション部14は、生成手段の一例である。
【0041】
このように、シミュレーション部14は、アクセス制御装置20における、アクセス許否判定部222及びログ出力部223とほぼ同様の処理(ロジック)を実行する。実際の実装においては、アクセス許否判定部222及びログ出力部223と共通のソフトウェアモジュールが利用されるのが好適である。アクセス制御装置20とポリシー編集支援装置10とは、一台のコンピュータ内において実現されてもよい。この場合、当該ソフトウェアモジュールは、シミュレーション部14と、アクセス許否判定部222及びログ出力部223とより共用されるのが望ましい。
【0042】
インデクシング部15は、索引記録手段の一例である。インデクシング部15は、シミュレーション部14によって出力される出力ログについてインデクシング(索引データの記録)を行う。すなわち、インデクシング部15は、出力ログファイル43からの出力ログごとに、当該出力ログに係るアクセス対象及びアクセス主体等への関連情報をログインデックス17に記録する。ログインデックス17は、索引記憶手段の一例である。
【0043】
差分抽出部16は、入力ログファイル42と出力ログファイル43との差分(相違点)を抽出し、表示させる。ユーザが、表示された差分に満足な場合は、ポリシーデータ30aの編集作業(ユーザから見たら、入力ログファイル42の編集作業)は終了する。ユーザが、表示された差分に不満な場合、すなわち、出力ログが所望する結果になっていない場合、出力ログファイル43が、新たな入力ログファイル42とされて、改めて、ログ編集部11による編集が行われ、以降の処理が繰り返される。
【0044】
ログ編集部11による2回目以降の編集時(すなわち、出力ログファイル43が入力ログファイル42とされたときの編集時)は、ログインデックス17が生成されている。したがって、2回目以降の処理において、シミュレーション部17によるシミュレーション処理等は、ログインデックス17を用いて高速化される。
【0045】
影響ログ検索部12は、ログ編集部11による2回目以降の入力ログファイル42の編集時において、編集(変更)によって影響を受ける可能性のある入力ログをログインデックス17を用いて検索する。
【0046】
図3は、本発明の実施の形態におけるポリシー編集支援装置のハードウェア構成例を示す図である。同図のポリシー編集支援装置10は、それぞれバスBで相互に接続されているドライブ装置100と、補助記憶装置102と、メモリ装置103と、CPU104と、インタフェース装置105と、表示装置106と、入力装置107とを有する。
【0047】
ポリシー編集支援装置10での処理を実現するプログラムは、CD−ROM等の記録媒体101によって提供される。プログラムを記録した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【0048】
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従ってポリシー編集支援装置10に係る機能を実現する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。表示装置106はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置107はキーボード及びマウス等であり、様々な操作指示を入力させるために用いられる。
【0049】
以下、ポリシー編集支援装置10の処理手順について説明する。図4は、ポリシー編集支援装置による全体の処理手順を説明するためのフローチャートの一例である。同図の処理の開始時点において、アクセス制御装置20において記録されたアクセスログファイル41は、ポリシー編集支援装置10の補助記憶装置102に入力ログファイル42としてコピーされている。また、アクセス制御装置20において利用されているポリシーデータ30は、ポリシーデータ30aとして補助記憶装置102に保存されている。
【0050】
例えば、ユーザによって、特定の入力ログファイル42が指定されて、ポリシーデータ30の編集指示が入力されると、ログ編集部11は、ログ編集画面を表示装置106に表示させる(S101)。
【0051】
図5は、ログ編集画面の表示例を示す図である。同図のログ編集画面510は、ログ表示領域511、ログ編集領域512、影響ログ表示領域513、実行ボタン514、及び終了ボタン515等を含む。
【0052】
ログ表示領域511には、ステップS101において、ログ編集部11によってメモリ装置103に読み込まれた編集対象の入力ログファイル42に含まれているアクセスログの一覧が表示される。
【0053】
図6は、本実施の形態におけるアクセスログの形式及び具体例を示す図である。同図において、(1)は、アクセスログの形式を示す。1行のアクセスログには、日時、リソース名、アクセス種別、アクセスID、アクセスプロセス、アクセス結果、及びポリシーID等の項目の値がCSV(Comma Separated Values)の形式によって記録される。
【0054】
日時は、アクセスが試みられた日時である。リソース名は、アクセス対象とされたリソースの名前(ファイル名)である。アクセス種別は、参照(r)、書き込み(w)、作成(c)、削除(d)、名前変更(r)、属性変更(a)、起動(s)、又は終了(t)等、試みられたアクセスの種別である。なお、括弧内の文字は、アクセスログに記録される値である。アクセスIDは、アクセス主体のID(ユーザID又はグループID)である。アクセスプロセスIDは、アクセスに利用されたアプリケーションプログラム21の名前である。アクセス結果は、アクセス制御の結果(許可(P)又は拒否(D))である。ポリシーIDは、適用されたアクセス制御エントリ(ACE要素)のポリシーIDである。
【0055】
同図において(2)は、アクセスログの具体例である。同図の具体例の、日時は「2009/12/20:13:59:30.603000」であり、リソース名は、「/var/opt/Appl01/workdata」であり、アクセス種別は、「r(参照)」であり、アクセスIDは「root」であり、アクセスプロセスIDは、「Appl01_main」であり、アクセス結果は、「P(許可)」であり、ポリシーIDは、「POL008101_20091215001008」である。
【0056】
なお、以下、入力ログファイル42内のアクセスログを「入力ログ」という。
【0057】
図5のログ編集領域512、影響ログ表示領域513、実行ボタン514、及び終了ボタン515等については後述する。図5には、便宜上、ログ編集領域512及び影響ログ表示領域513について、表示内容の例が示されているが、ステップS101の段階ではこれらの領域は空欄である。
【0058】
続いて、ログ編集部11は、ログ編集画面510に対するユーザによる入力に応じ、入力ログファイル42の編集処理を実行する(S102)。編集処理の結果、入力ログファイル42の内容は、ユーザが所望する制御結果を示すものとなる。なお、ステップS102では、入力ログファイル42の一箇所(一つの入力ログの一つの項目)について編集が行われる。
【0059】
続いて、ポリシー変更部13は、ログ編集部11による入力ログの編集結果に基づいて、ポリシーデータ30aを更新(変更)する(S103)。
【0060】
続いて、影響ログ検索部12は、入力ログファイル42に対するログインデックス17が補助記憶装置102に生成されているか否かを確認する(S104)。ログインデックス17が生成されている場合(S104でYes)、影響ログ検索部12は、ステップS102における編集によって影響を受ける可能性のある入力ログをログインデックス17を用いて検索する(S105)。影響ログ検索部12は、ログ編集画面510の影響ログ表示領域503に検索結果を表示させる。なお、影響を受けるとは、アクセス結果が変化することをいう。すなわち、一つの入力ログの変更に基づく、ポリシーデータ30aの変更によって、他の入力ログに関してもアクセス結果が変化しうる。
【0061】
一方、入力ログファイル42に対するログインデックス17が生成されていない場合(S104でNo)、ステップS105は実行されずにステップS106に進む。ログインデックス17は、ステップS107において生成されるため、アクセス制御のシミュレーションが実行されるまでは、ステップS105は、実行されない。
【0062】
ユーザが、入力ログファイル42の他の箇所について編集を継続する場合(S106でYes)、ステップS101〜SS103又はS105が繰り返される。入力ログファイル42の編集(変更)が完了し、ユーザによって実行ボタン514がクリックされると(S106でNo)、シミュレーション部14は、ポリシーデータ30aに基づくアクセス制御のシミュレーションを実行する(S107)。すなわち、シミュレーション部14は、入力ログファイル42に記録されている各入力ログのアクセス内容をポリシーデータ30aに当てはめて、当該アクセスの許否判定を行う。シミュレーション部14は、当該アクセス内容と当該許否判定の結果とを含む出力ログを出力ログファイル43に出力する。
【0063】
続いて、差分抽出部16は、入力ログファイル42と出力ログファイル43との差分を抽出し、表示装置106に表示させる(S108)。
【0064】
ユーザは、表示された差分に不満な場合、すなわち、出力ログが所望する結果になっていない場合、ログ編集画面510を用いて編集作業を継続する。したがって、この場合、ステップS101以降が繰り返し実行される。
【0065】
ユーザは、表示された差分に満足な場合、終了ボタン515をクリックする。ログ編集部11は、終了ボタン515のクリックを検知すると(S109でYes)、図4の処理を終了させる。この時点におけるポリシーデータ30aが、ユーザの所望するアクセス制御に適したものである。したがって、この時点におけるポリシーデータ30aが、アクセス制御装置20に配布され、ポリシーデータ30として実運用のアクセス制御に使用される。
【0066】
続いて、ステップS102の詳細について説明する。図7は、入力ログファイルの編集処理の処理手順を説明するためのフローチャートの一例である。
【0067】
ログ編集画面のログ表示領域501において、ユーザの指示によって、一つ(一行)の入力ログが編集対象として選択されると(S201)、ログ編集部11は、選択された入力ログをログ編集領域512に表示させる(S202)。なお、図14のログ編集領域512に表示されている入力ログは、図6の(2)に示されているものと同じである。
【0068】
続いて、ログ編集領域512に表示された入力ログ(以下、「カレント入力ログ」という。)に関して、変更対象とする項目がユーザの指示によって選択される(S203)。例えば、変更対象の項目の文字列がクリックされる。続いて、ログ編集部11は、当該項目の値の入力に適した表示部品を表示させる(S204)。すなわち、値が選択的な項目に関しては、選択肢を選択させるためのリスト又はチェックボックス等が表示される。一方、比較的自由な文字列を入力可能な項目に関しては、文字列を入力可能な表示部品が表示される。図5のログ編集領域512では、アクセス結果の「P」が選択された例が示されている。当該項目に関しては、「P」又は「D」が選択可能である。したがって、「P」又は「D」を入力させるためのリスト512Lが表示されている。
【0069】
また、例えば、リソース名が選択された場合、ファイルパスの編集用の表示部品が表示される。ファイルダイアログが表示されてもよい。アクセス種別が選択された場合、例えば、アクセス種別を選択させるためチェックボックスが表示される。複数のアクセス種別を組み合わせることが可能だからである。また、アクセスIDが選択された場合は、入力ログファイル42内に記録されているユーザID又はグループIDの一覧が表示される。ユーザ管理DBのような記憶手段に記録されているユーザID又はグループIDの一覧が表示されてもよい。又は、ユーザID又はグループIDを文字列として入力させる表示部品が表示されてもよい。また、アクセスプロセスが選択された場合、既存のアプリケーションプログラム21を選択させるためのチェックボックス、又はアプリケーションプログラム21の名前を文字列として入力させる表示部品が表示される。また、日時が選択された場合は、平日、休日、又は所定時間(例えば、営業時間)内若しくは外等の選択肢が表示される。本実施の形態のポリシーデータ30には、アクセス制御に関して時間を限定する要素は含まれていない。しかし、斯かる要素が定義可能とされてもよい。斯かる要素を定義可能なポリシーデータ30の場合、ポリシー変更部13は、ステップS103において、当該要素に対して、これらの選択肢の中から選択された値を設定すればよい。
【0070】
なお、ログ編集領域512を、テキストエディタとして、直接的な編集を可能としてもよい。
【0071】
続いて、ログ編集部11は、選択された項目について、所望される(期待される)値の選択又は入力をユーザより受け付ける(S205)。続いて、ログ編集部11は、新しいポリシーIDを採番する(S206)。続いて、ログ編集部11は、カレント入力ログに対する変更を、メモリ装置103に読み込まれている入力ログファイル42に反映させる(S207)。すなわち、入力ログファイル42のカレント入力ログの行が、ログ編集領域512に表示されている状態のものによって置換される。それによって、ログ表示領域511におけるカレント入力ログの表示内容も、編集後(変更後)のものとなる。この際、カレント入力ログのポリシーIDの値は、新しい値に置換される。但し、変更前のポリシーIDはメモリ装置103内に保持される。
【0072】
例えば、図5のリスト512Lにおいて、「D」(拒否)が選択された場合、カレント入力ログは、図8に示されるように変更される。
【0073】
図8は、入力ログの変更例を示す図である。同図において、(1)は変更前を示し、(2)は変更後を示す。(2)では、アクセス結果について、「P」から「D」に変更されているのが分かる。同図の変更例は、ユーザ(管理者)は、いままで許可されていた、ファイル「/var/opt/Appl01/workdata」に対するrootユーザによる参照が拒否されることを期待している場合の変更例だからである。また、ポリシーIDに関しても変更されている。すなわち、(2)のポリシーIDの値は、ステップS206において採番された、新たなポリシーIDによって置換されている。
【0074】
続いて、図4のステップS103の詳細について説明する。図9は、ポリシーデータ更新処理の処理手順を説明するためのフローチャートの一例である。
【0075】
ステップS301において、ポリシー変更部13は、変更された入力ログ(カレント入力ログ)にポリシーIDが含まれているか否かを判定する(S301)。ポリシーIDが含まれている場合(S301でYes)、ポリシー変更部13は、カレント入力ログの変更前のポリシーIDを有するアクセス制御エントリ(ACE要素)をポリシーデータ30aより検索する(S302)。ここで、変更前のポリシーIDを有するとは、変更前のポリシーIDを、PolicyId要素又はBasePolicyId要素の値として有することを意味する。すなわち、現時点のポリシーIDの値ではなく、以前のポリシーIDの値が当該変更前のポリシーIDと一致するACE要素も、ステップS302の検索に合致する。但し、検索されるACE要素(アクセス制御エントリ)は一つである。ポリシーIDは、ACE要素ごと及び更新ごと(世代ごと)に一意だからである。
【0076】
続いて、ポリシー変更部13は、検索されたアクセス制御エントリ(ACE要素)に対して、カレント入力ログにおける変更に応じた変更を行う(S303)。例えば、図8に示される変更が行われた場合、変更前のポリシーIDと一致するポリシーIDを有するACE要素eAE1(図2)が、図10に示されるように変更される。
【0077】
図10は、入力ログの変更に応じたポリシーデータの変更例を示す図である。同図には、図2のACE要素eAE1が抽出表示されている。図10中、図2と同一部分には同一符号を付し、その説明は省略する。
【0078】
図10のACE要素eAE1には、Action要素eAT3が子要素として新たに追加されている。Action要素eAT3は、図8に示される入力ログの変更に応じて追加されたAction要素である。Action要素eAT3は、Read要素eR2及びControl要素eC2を子要素として含む。Read要素eR2の値は「root」である。Control要素eC2の値は「Deny」である。したがって、Action要素eAT3は、rootユーザによる参照は許可しないことを示す。この内容は、図8の(2)に示される入力ログに合致する。
【0079】
また、図10において、PolicyId要素ePL1の値は、新たに採番されたポリシーIDに変更されている。更に、BasePoilcyId要素eBL1には、変更前のPolicyId要素ePL1の値が追加されている。
【0080】
なお、同図では、Action要素eAT1について変更は行われていない。すなわち、Read要素eR1の値には、「root」が含まれたままである。本実施の形態のポリシーデータ30では、前に出現した定義が優先(前方優先)されるからである。具体的には、Action要素eAT3がAction要素eAT1に対して優先されるからである。したがって、新たに追加されたAction要素eAT3は、既存のAction要素より前に追加されているのである。但し、Read要素eR1から「root」が削除されるようにしてもよい。この場合、前方優先であっても、Action要素eAT3は、Action要素eAT1の後に追加されてもよい。
【0081】
入力ログに対するアクセス結果の変更は、上記のように、Action要素の追加としてポリシーデータ30aに反映される。
【0082】
なお、入力ログのリソース名が変更された場合、Target要素の値が変更される。入力ログのアクセス種別が変更された場合、変更後のアクセス種別に対応する要素を子要素として有するAction要素が追加される。例えば、入力ログのアクセス種別が「r」から「w」に変更された場合、Write要素を子要素として有するAction要素が追加される。当該Write要素の値は、入力ログのアクセスIDの値に従う。また、当該Action要素の子要素であるControl要素の値は、入力ログのアクセス結果の値に従う。
【0083】
入力ログのアクセスIDが変更された場合、変更前のアクセスID、アクセス種別、及びアクセス結果に対応するAction要素の子要素である、アクセス種別に係る要素(例えば、Read要素等)の値が変更される。入力ログのアクセスプロセスが変更された場合、Process要素の値が変更される。
【0084】
一方、カレント入力ログにポリシーIDが含まれていない場合(S301でNo)、ポリシー変更部13は、変更後のカレント入力ログのリソース名、アクセス種別、アクセスID、アクセスプロセス、及びアクセス結果の内容を表現するアクセス制御エントリ(ACE要素)をポリシーデータ30aに追加生成する(S304)。当該ACE要素には、新たなポリシーIDが付与される。なお、カレント入力ログにポリシーIDが含まれていない場合は、例えば、運用時における性能等を考慮して、ログ出力部223が出力するアクセスログには、ポリシーIDが付与されない場合等に生じうる。
【0085】
ログ編集画面510を介した、入力ログの編集がユーザによって繰り返されることにより、図7及び図9において説明した処理手順が繰り返し実行される。その結果、ポリシーデータ30aには、変更箇所が蓄積される。
【0086】
続いて、図4のステップS107の詳細について説明する。図11は、変更後のポリシーデータに基づくアクセス制御のシミュレーション処理の処理手順を説明するためのフローチャートの一例である。
【0087】
ステップS401において、シミュレーション部14は、影響ログリストが生成されているか否かを判定する(S401)。影響ログリストは、図4のステップS105の実行時に生成されるリストである。すなわち、影響ログリストは、図11の処理が一回実行された後に生成されるリストである。したがって、ここでは生成されていない場合(S401でNo)について説明する。
【0088】
ステップS405に進み、シミュレーション部14は、変更後の入力ログファイル42に記録されている全ての入力ログを、シミュレーション対象とする(S405)。シミュレーション対象とされた入力ログのリストを以下、「シミュレーション用入力ログリスト」という。なお、シミュレーション用入力ログリストの内容は、図11の開始時に初期化される(空にされる)。
【0089】
続いて、シミュレーション部14は、シミュレーション用入力ログリストより1行の入力ログを取得する(S406)。ここでは、上の行から順番に取得される。取得に成功した場合(S407でYes)、シミュレーション部14は、取得された入力ログ(以下、「シミュレーション入力ログ」という。)のアクセス内容をポリシーデータ30aに当てはめて当該アクセスの許否判定を行う(S408)。具体的には、シミュレーション部14は、シミュレーション入力ログのリソース名及びアクセスプロセスに対応するアクセス制御エントリ(ACE要素)を特定する。シミュレーション部14は、特定されたアクセス制御エントリ内において、シミュレーション入力ログのアクセス種別及びアクセスIDに対応するAction要素に含まれているControl要素の値に基づいて、アクセスの許否を判定する。
【0090】
続いて、シミュレーション部14は、図6の(1)において説明した形式で、シミュレーション入力ログのアクセス内容及びアクセス許否の判定結果(アクセス結果)を含む出力ログを生成し、当該出力ログを出力ログファイル43に出力(記録)する(S409)。出力ログのリソース名、アクセス種別、アクセスID、及びアクセスプロセスの値には、シミュレーション入力ログの値がそのまま転記される。出力ログの日時には、現在の日時が記録されてもよいし、出力ログの値が転記されてもよい。出力ログのポリシーIDには、ステップS408の許否判定に利用(適用)されたアクセス制御エントリのポリシーIDが記録される。したがって、シミュレーション部14が出力する出力ログには、常にポリシーIDが含まれている。
【0091】
続いて、シミュレーション部14は、出力ログに関してログインデックス17に行番号を登録(記録)する(S410)。なお、各出力ログを一意に識別可能な情報であれば、行番号以外の情報が各出力ログの識別子としてログインデックス17に登録されてもよい。
【0092】
本実施の形態において、ログインデックス17は、4つのインデックス(テーブル)を含む。図12は、本実施の形態のログインデックスの構成例を示す図である。
【0093】
同図には、ログインデックス17を構成するインデックスとして、リソースインデックス17a、ユーザインデックス17b、グループインデックス17c、及びポリシーインデックス17dが示されている。
【0094】
リソースインデックス17aは、リソース名ごとに、当該リソース名を含む出力ログの行番号を記憶するインデックスである。ユーザインデックス17bは、ユーザIDごとに、当該ユーザIDをアクセスIDとして含む出力ログの行番号を記憶するインデックスである。グループインデックス17cは、グループIDごとに、当該グループIDをアクセスIDとして含む出力ログの行番号を記憶するインデックスである。ポリシーインデックス17dは、ポリシーIDごとに、当該ポリシーIDを含む出力ログの行番号を記憶するインデックスである。
【0095】
このように、ログインデックス17は、基本的に、出力ログと、アクセス対象又はアクセス主体との関連情報を記憶する手段である。すなわち、アクセス対象との関連情報を記憶するのは、リソースインデックス17aであり、アクセス主体との関連情報を記憶するのは、ユーザインデックス17b又はグループインデックス17cである。なお、アクセス対象及びアクセス主体によって適用されるアクセス制御エントリが一意に決まる場合は、ポリシーインデックス17dは、生成されなくてもよい。すなわち、ポリシーインデックス17dは、アクセス対象及びアクセス主体との組合せと出力ログとの関連情報を記憶する手段だといえる。
【0096】
なお、各インデックスは、出力ログファイル43に関連付けられて補助記憶装置102又はメモリ装置103に生成される。
【0097】
したがって、ステップS410において、シミュレーション部14は、出力ログに含まれるリソース名、ユーザID若しくはグループID、及びポリシーIDに対して、当該出力ログの行番号(ログの出力順)を追加登録する。現在処理対象の出力ログファイル43に対して、ログインデックス17が生成されていない場合、シミュレーション部14は、各インデックスを当該出力ログファイル43に関連付けて補助記憶装置102又はメモリ装置103に生成する。また、該当するリソース名、ユーザID若しくはグループID、及びポリシーIDに対応するレコードが対応するインデックスに無い場合、シミュレーション部14は、新たなレコードを対応するインデックスに追加する。
【0098】
なお、ユーザIDとグループIDとの間に重複が無い場合、ユーザインデックス17bとグループインデックス17cとは一つに統合されてもよい。
【0099】
シミュレーション用入力ログリストに含まれている全てのシミュレーション入力ログについて上記ステップS406〜S410が実行された後(S407でNo)、図11の処理は終了する。なお、ステップS401〜S404については後述する。
【0100】
続いて、図4のステップS105の詳細について説明する。図13は、影響ログの検索処理の処理手順を説明するためのフローチャートの一例である。なお、図13は、少なくとも一回のシミュレーション(S107)が実行された後に有効となる処理である。したがって、図13が実行される場合の入力ログファイル42は、その前に実行されたシミュレーション時に出力された出力ログファイル43である。
【0101】
ステップS501において、影響ログ検索部12は、ステップS102において変更された入力ログ(カレント入力ログ)に含まれるリソース名と少なくとも一部が一致する全てのリソース名に係るレコードに含まれている全ての行番号をリソースインデックス17aより取得する。すなわち、カレント入力ログに含まれるリソース名と少なくとも一部が一致するリソース名に係る入力ログが特定される。少なくとも一部が一致するか否かについて、正規表現が用いられてもよい。リソース名が変更項目である場合、影響ログ検索部12は、変更前のリソース名に係るレコード及び変更後のリソース名に係るレコードの全ての行番号をリソースインデックス17aより取得する。
【0102】
続いて、影響ログ検索部12は、カレント入力ログに含まれるアクセスIDと一致するユーザIDに係るにレコードの全ての行番号をリソースインデックス17aより取得する(S502)。アクセスIDが変更項目である場合、影響ログ検索部12は、変更前のアクセスIDに係るレコード及び変更後のアクセスIDに係るレコードの全ての行番号をユーザインデックス17bより取得する。すなわち、カレント入力ログに含まれるアクセスIDと一致するユーザIDに係る入力ログが特定される。なお、カレント入力ログに含まれるアクセスIDがグループIDである場合、ステップS502は、実行されなくてよい。
【0103】
続いて、影響ログ検索部12は、カレント入力ログに含まれるアクセスIDと一致するグループIDに係るにレコードの全ての行番号をリソースインデックス17aより取得する(S503)。アクセスIDが変更項目である場合、影響ログ検索部12は、変更前のアクセスIDに係るレコード及び変更後のアクセスIDに係るレコードの全ての行番号をグループインデックス17cより取得する。なお、カレント入力ログに含まれるアクセスIDがユーザIDである場合、ステップS503は、実行されなくてよい。
【0104】
続いて、影響ログ検索部12は、カレント入力ログに含まれるポリシーIDに係るにレコードの全ての行番号をポリシーインデックス17dより取得する(S504)。
【0105】
続いて、影響ログ検索部12は、ステップS501〜S505において取得された行番号の重複を除去(排除)し、重複排除後の行番号の集合を影響ログリストとしてメモリ装置103に記録する(S505)。すなわち、影響ログリストとは、カレント入力ログの変更によって影響を受ける可能性がある(アクセス結果が変化する可能性がある)入力ログの行番号の集合をいう。
【0106】
続いて、影響ログ検索部12は、影響ログリストに記録されている行番号に係る入力ログ(影響ログ)を入力ログファイル42より抽出し、メモリ装置103に記録する(S506)。続いて、影響ログ検索部12は、抽出された影響ログの件数を、ログ編集画面の影響ログ表示領域513に表示させる(S507)。図5の影響ログ表示領域513は、このときの状態を示している。なお、一覧表示ボタン513Bがクリックされると、影響ログ検索部12は、影響ログの一覧を影響ログ表示領域513に表示させる。
【0107】
このように、ログインデックス17を用いることにより、膨大な行数を含みうる入力ログファイル42を処理対象とする場合に比べて、影響ログの検索を高速化することができる。また、影響ログが参照可能なことにより、今回行った入力ログへの変更の影響範囲を容易に把握することができる。すなわち、ポリシーデータ30の定義内容は非常に複雑になる可能性が有るため、1箇所のログの変更に応じて予期しない箇所に影響が及ぶ場合がある。このような予期しない箇所に関しても影響ログとして予め把握することができ、変更の修正等を行うことができる。
【0108】
なお、ログ編集部11は、影響ログ表示領域513において選択された影響ログをログ編集領域512に表示させるようにしてもよい。この場合、影響ログについて、即座に編集対象とすることができる。
【0109】
上記のように生成される影響ログリストをふまえて、図11(シミュレーション処理)のステップS401〜S404について説明する。
【0110】
ここでは、影響ログリストが生成されていることが前提であるため(S401でYes)、ステップS402に進む。ステップS402において、シミュレーション部14は、影響ログリストから行番号を一つ取得する(S402)。続いて、シミュレーション部14は、取得された行番号に係る入力ログは、入力ログファイル42に含まれているか否かを確認する(S403)。該当する入力ログが入力ログファイル42に含まれている場合(S403でYes)、シミュレーション部14は、当該入力ログを入力ログファイル42より取得し、シミュレーション用入力ログリストに追加する(S404)。
【0111】
影響ログリストに含まれている全ての行番号について処理が終了すると(S403でNo)、ステップS406以降が実行される。
【0112】
したがって、この場合、シミュレーションの対象とされるシミュレーション入力ログの件数は、著しく削減されることが期待される。すなわち、一般的にアクセスログファイル41の行数は膨大であり、シミュレーションといえども、全てのアクセスログについて行うのは相当の時間を必要とする。一方、図11のようにシミュレーションの範囲が影響ログリストの範囲に限定されることにより、図11全体の処理性能の著しい向上が期待できる。
【0113】
なお、影響ログをシミュレーション用入力ログとした場合、ステップS409は、前回のシミュレーション時に生成された出力ログファイル43のカレント入力ログの行番号に対応する行に対して上書きが行われる。また、ステップS410において記録される行番号は、シミュレーション用入力ログリスト内の順番ではなく、当初の行番号である。すなわち、ステップS404において当該影響ログを取得するために用いられた行番号である。
【0114】
続いて、図4のステップS107の詳細について説明する。差分抽出部16は、図11の処理によって生成される出力ログファイル43と入力ログファイル42とについて抽出された差分を、例えば、図14に示される差分表示画面に表示させる。
【0115】
図14は、差分表示画面の表示例を示す図である。同図において、差分表示画面520は、入力ログ表示領域521、出力ログ表示領域522、及び差分表示領域523等を有する。
【0116】
入力ログ表示領域521には、同一行番号の出力ログと少なくとも一部が異なる入力ログの一覧が表示される。出力ログ表示領域522には、同一行番号の入力ログと少なくとも一部が異なる出力ログの一覧が表示される。なお、入力ログ表示領域522と出力ログ表示領域523とにおいて、行番号が一致するログは、その対応関係が分かるように表示される。例えば、表示上、同じ表示位置(高さ)に表示されてもよいし、相互を連結する図形(線分等)が表示されてもよい。
【0117】
例えば、入力ログ表示領域521又は出力ログ表示領域522において、一つの入力ログ又は出力ログが選択されると、差分抽出部16は、選択された入力ログ又は出力ログの行番号に係る入力ログ及び出力ログを、差分表示領域523に縦方向に並べられて表示させる。この際、差分抽出部16は、両者の差分(相違点)をハイライト(強調)表示させる。同図では、差分が矩形513rによって囲まれて強調されている例が示されている。なお、同図では、出力ログの日時は、入力ログの値が転記された例が示されている。仮に、出力ログの日時にシミュレーション時の日時が記録される場合であっても、日時の相違は差分として扱われなくてよい(無視されてよい)。また、ポリシーIDの相違も、無視されてもよい。
【0118】
差分表示画面530を参照して、ユーザは、ポリシーデータ30aの妥当性を判断する。すなわち、ユーザは、期待通りのアクセス制御がなされているか(アクセス結果が得られているか)を確認することができる。ログ編集画面510においては、入力ログ1件ずつに関して、所望の結果が入力されるが、その結果に応じて更新されたポリシーデータ30aに基づく全体のアクセス結果は、必ずしもユーザ(管理者)にとって望ましいものであるとは限らない。例えば、或るフォルダ配下の全てのファイルにアクセスを許可するアクセス制御エントリと、当該フォルダ配下の特定ファイルのアクセスを許否するアクセス制御エントリとがポリシーデータ30a内に設定される場合がある。この場合、当該ファイルへのアクセス結果はアクセス制御エントリの評価順序等によって異なってくる。
【0119】
本実施の形態のように、ポリシーデータ30aが、複数のアクセス制御エントリの集合である場合、一つのアクセス制御エントリの変更の影響は、事前に計算で求めることは困難である。したがって、変更が期待通りのアクセス結果をもたらすかについて、実運用の環境でテストが行われる必要が有る。しかし、当該テストには膨大な工数を有する。
【0120】
本実施の形態によれば、実運用におけるアクセスログの集合である入力ログファイル42を用いて、変更後のポリシーデータ30aに基づいてアクセス制御のシミュレーションが実行される。したがって、実運用の環境におけるテストにおいて把握されるアクセス結果と同等のアクセス結果を短時間で得ることができる。
【0121】
上述したように、本実施の形態のポリシー編集支援装置10によれば、ポリシーデータ30aの編集作業の作業負担を軽減することができる。すなわち、ポリシー編集支援装置10は、ポリシーデータ30aの編集作業を効率化することができる。
【0122】
また、ポリシーデータ30は、直接的な編集対象とならないため、ユーザによる入力ミス等による設定ミスを削減することができる。
【0123】
また、古いアクセスログと最近のアクセスログとを含むアクセスログファイル41を利用して、ポリシーデータ30の更新を行うことにより、長期間にわたるポリシーの設定要件を満たしたポリシーデータ30を生成することができる。その結果、過去における設定要件の取りこぼし等を回避することができ、変更による改悪を防止することができる。
【0124】
また、膨大な量のアクセスログを利用したアクセス制御のシミュレーションは、人手で行うテストに比較すれた短時間であるが、それでも長時間を要する。本実施の形態では、入力ログに対する変更によって影響の生じる可能性の有る範囲に限定してシミュレーションを実行する。したがって、シミュレーションの高速化を期待できる。
【0125】
また、ログインデックス17を生成し、ログインデックス17を用いて影響範囲と特定することにより、影響範囲の特定に関しても、高速化を期待することができる。
【0126】
なお、本実施の形態では、通常運用時には、ログインデックス17は生成されない例について説明したが、ログ出力部223がアクセスログファイル41にアクセスログを記録する際に、ログインデックス17が生成されてもよい。この場合、ポリシー編集支援装置10は、当該アクセスログファイル41に関する1回目の編集時より、図4のステップS105が実行し、影響ログを提示することができる。また、1回目のシミュレーションから、ログインデックス17を用いた高速化を実現することができる。
【0127】
また、本実施の形態では、入力ログファイル42の編集作業を簡便化させるため、ログ編集部11が表示させるログ編集画面によって入力ログを編集させ、当該編集に応じてポリシー変更部13がポリシーデータ30aを更新する例を説明した。但し、一般的なテキストエディタによって入力スログファイルの編集が実行されてもよい。この場合、ポリシー変更部13は、編集(変更)前の入力ログファイル42と、編集(変更)後の入力ログファイル42とを比較することにより変更部分を判別すればよい。ポリシー変更部13は、当該変更部分に関して、一括して、図9の処理を実行すればよい。
【0128】
また、本実施の形態では、説明の便宜上、アクセスログファイル41は、一つのファイルである例について説明した。但し、アクセスログの量は膨大なものとなる可能性が高い。したがって、実運用においては、1日ごと等に別ファイルに記録される可能性も有る。すなわち、アクセスログファイル41は、複数のファイルに分割されて管理される可能性がある。このような場合、各アクセスログ(入力ログ)は、当該入力ログが記録されているファイルの識別情報(ファイル名等)と、当該ファイル内における識別情報(行番号等)との組合せによって識別されればよい。例えば、ログインデックス17には、ファイル名と行番号との組が記録されればよい。
【0129】
また、本実施の形態において、出力ログには、ポリシーIDが記録される例を説明した。ポリシーIDの記録は、図9のステップS302の処理を高速化するための工夫である。すなわち、本実施の形態を実現するための必須要件ではない。したがって、出力ログにポリシーIDが記録されなくてもよい。この場合、図9の処理において、常にステップS304が実行されることになる。ステップS304では、新しいアクセス制御エントリが生成されることを説明した。しかし、変更前の入力ログが当てはまるアクセス制御エントリを特定し、当該アクセス制御エントリに関して、入力ログの変更に応じた変更がおこなわれてもよい。この場合、実質的に、ステップS302及びS303と同じ処理が実行されることになる。
【0130】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【0131】
以上の説明に関し、更に以下の項を開示する。
(付記1)
アクセス対象に対するアクセスごとに、アクセス制御データを用いて行われた許否判定の結果と、前記許否判定に利用した内容とが1以上記録されたログ情報と、前記アクセス制御データを変更する変更手順と、
前記ログ情報が示す許否判定に利用した内容に前記変更後のアクセス制御データを適用させてアクセスの許否判定を行い、許否判定の結果と前記許否判定に利用した内容を含む判定結果情報を生成する生成手順と、
をコンピュータに実行させるアクセス制御データ編集支援プログラム。
(付記2)
前記ログ情報と前記第判定結果情報との差分を抽出し、該差分を出力する差分抽出手順を前記コンピュータに実行させる付記1記載のアクセス制御データ編集支援プログラム。
(付記3)
前記生成手順は、前記ログ情報に含まれる前記許否判定に利用した内容ごとに当該許否判定に利用した内容におけるアクセス対象及びアクセス主体に対する関連情報を記憶した索引記憶手段を用いて、前記アクセス制御データに適用する前記許否判定に利用した内容の対象を、変更された前記許否判定に利用した内容と前記アクセス対象又は前記アクセス主体が一致する前記許否判定に利用した内容とする付記1又は2記載のアクセス制御データ編集支援プログラム。
(付記4)
前記判定結果情報ごとに、前記関連情報を前記索引記憶手段に記録する索引記録手順を前記コンピュータに実行させる付記3記載のアクセス制御データ編集支援プログラム。
(付記5)
変更された前記許否判定に利用した内容と前記アクセス対象又は前記アクセス主体が一致する前記許否判定に利用した内容を前記索引記憶手段を用いて特定し、特定された前記許否判定に利用した内容を出力する影響ログ検索手順とを前記コンピュータに実行させる付記3又は4記載のアクセス制御データ編集支援プログラム。
(付記6)
前記許否判定に利用した内容に対する変更を受け付けるログ編集手順を前記コンピュータに実行させ、
前記変更手順は、前記許否判定に利用した内容の変更に応じて前記アクセス制御データを変更する付記1記載のアクセス制御データ編集支援プログラム。
(付記7)
アクセス対象に対するアクセスごとに、アクセス制御データを用いて行われた許否判定の結果と、前記許否判定に利用した内容とが1以上記録されたログ情報と、前記アクセス制御データを変更する変更手段と、
前記ログ情報が示す許否判定に利用した内容に前記変更後のアクセス制御データを適用させてアクセスの許否判定を行い、許否判定の結果と前記許否判定に利用した内容を含む判定結果情報を生成する生成手段と、
を有するアクセス制御データ編集支援装置。
(付記8)
前記ログ情報と前記第判定結果情報との差分を抽出し、該差分を出力する差分抽出手段を有する付記7記載のアクセス制御データ編集支援装置。
(付記9)
前記生成手段は、前記ログ情報に含まれる前記許否判定に利用した内容ごとに当該許否判定に利用した内容におけるアクセス対象及びアクセス主体に対する関連情報を記憶した索引記憶手段を用いて、前記アクセス制御データに適用する前記許否判定に利用した内容の対象を、変更された前記許否判定に利用した内容と前記アクセス対象又は前記アクセス主体が一致する前記許否判定に利用した内容とする付記7又は8記載のアクセス制御データ編集支援装置。
(付記10)
前記判定結果情報ごとに、前記関連情報を前記索引記憶手段に記録する索引記録手段を有する付記9記載のアクセス制御データ編集支援装置。
(付記11)
変更された前記許否判定に利用した内容と前記アクセス対象又は前記アクセス主体が一致する前記許否判定に利用した内容を前記索引記憶手段を用いて特定し、特定された前記許否判定に利用した内容を出力する影響ログ検索手段を有する付記9又は10記載のアクセス制御データ編集支援装置。
(付記12)
前記許否判定に利用した内容に対する変更を受け付けるログ編集手段を有し、
前記変更手段は、前記許否判定に利用した内容の変更に応じて前記アクセス制御データを変更する付記7記載のアクセス制御データ編集支援装置。
(付記13)
アクセス対象に対するアクセスごとに、アクセス制御データを用いて行われた許否判定の結果と、前記許否判定に利用した内容とが1以上記録されたログ情報と、前記アクセス制御データを変更する変更手順と、
前記ログ情報が示す許否判定に利用した内容に前記変更後のアクセス制御データを適用させてアクセスの許否判定を行い、許否判定の結果と前記許否判定に利用した内容を含む判定結果情報を生成する生成手順と、
をコンピュータが実行するアクセス制御データ編集支援方法。
(付記14)
前記ログ情報と前記第判定結果情報との差分を抽出し、該差分を出力する差分抽出手順を前記コンピュータが実行する付記13記載のアクセス制御データ編集支援方法。
(付記15)
前記生成手順は、前記ログ情報に含まれる前記許否判定に利用した内容ごとに当該許否判定に利用した内容におけるアクセス対象及びアクセス主体に対する関連情報を記憶した索引記憶手段を用いて、前記アクセス制御データに適用する前記許否判定に利用した内容の対象を、変更された前記許否判定に利用した内容と前記アクセス対象又は前記アクセス主体が一致する前記許否判定に利用した内容とする付記13又は14記載のアクセス制御データ編集支援方法。
(付記16)
前記判定結果情報ごとに、前記関連情報を前記索引記憶手段に記録する索引記録手順を前記コンピュータが実行する付記15記載のアクセス制御データ編集支援方法。
(付記17)
変更された前記許否判定に利用した内容と前記アクセス対象又は前記アクセス主体が一致する前記許否判定に利用した内容を前記索引記憶手段を用いて特定し、特定された前記許否判定に利用した内容を出力する影響ログ検索手順とを前記コンピュータが実行する付記15又は16記載のアクセス制御データ編集支援方法。
(付記18)
前記許否判定に利用した内容に対する変更を受け付けるログ編集手順を前記コンピュータが実行し、
前記変更手順は、前記許否判定に利用した内容の変更に応じて前記アクセス制御データを変更する付記13記載のアクセス制御データ編集支援方法。
【符号の説明】
【0132】
10 ポリシー編集支援装置
11 ログ編集部
12 影響ログ検索部
13 ポリシー変更部
14 シミュレーション部
15 インデクシング部
16 差分抽出部
17 ログインデックス
17a リソースインデックス
17b ユーザインデックス
17c グループインデックス
17d ポリシーインデックス
20 アクセス制御装置
21 アプリケーションプログラム
22 アクセス制御部
30、30a ポリシーデータ
41 アクセスログファイル
42 入力ログファイル
43 出力ログファイル
100 ドライブ装置
101 記録媒体
102 補助記憶装置
103 メモリ装置
104 CPU
105 インタフェース装置
106 表示装置
107 入力装置
221 アクセス監視部
222 アクセス許否判定部
223 ログ出力部
B バス

【特許請求の範囲】
【請求項1】
アクセス対象に対するアクセスごとに、アクセス制御データを用いて行われた許否判定の結果と、前記許否判定に利用した内容とが1以上記録されたログ情報と、前記アクセス制御データを変更する変更手順と、
前記ログ情報が示す許否判定に利用した内容に前記変更後のアクセス制御データを適用させてアクセスの許否判定を行い、許否判定の結果と前記許否判定に利用した内容を含む判定結果情報を生成する生成手順と、
をコンピュータに実行させるアクセス制御データ編集支援プログラム。
【請求項2】
前記ログ情報と前記第判定結果情報との差分を抽出し、該差分を出力する差分抽出手順を前記コンピュータに実行させる請求項1記載のアクセス制御データ編集支援プログラム。
【請求項3】
前記生成手順は、前記ログ情報に含まれる前記許否判定に利用した内容ごとに当該許否判定に利用した内容におけるアクセス対象及びアクセス主体に対する関連情報を記憶した索引記憶手段を用いて、前記アクセス制御データに適用する前記許否判定に利用した内容の対象を、変更された前記許否判定に利用した内容と前記アクセス対象又は前記アクセス主体が一致する前記許否判定に利用した内容とする請求項1又は2記載のアクセス制御データ編集支援プログラム。
【請求項4】
前記判定結果情報ごとに、前記関連情報を前記索引記憶手段に記録する索引記録手順を前記コンピュータに実行させる請求項3記載のアクセス制御データ編集支援プログラム。
【請求項5】
変更された前記許否判定に利用した内容と前記アクセス対象又は前記アクセス主体が一致する前記許否判定に利用した内容を前記索引記憶手段を用いて特定し、特定された前記許否判定に利用した内容を出力する影響ログ検索手順とを前記コンピュータに実行させる請求項3又は4記載のアクセス制御データ編集支援プログラム。
【請求項6】
前記許否判定に利用した内容に対する変更を受け付けるログ編集手順を前記コンピュータに実行させ、
前記変更手順は、前記許否判定に利用した内容の変更に応じて前記アクセス制御データを変更する請求項1記載のアクセス制御データ編集支援プログラム。
【請求項7】
アクセス対象に対するアクセスごとに、アクセス制御データを用いて行われた許否判定の結果と、前記許否判定に利用した内容とが1以上記録されたログ情報と、前記アクセス制御データを変更する変更手段と、
前記ログ情報が示す許否判定に利用した内容に前記変更後のアクセス制御データを適用させてアクセスの許否判定を行い、許否判定の結果と前記許否判定に利用した内容を含む判定結果情報を生成する生成手段と、
を有するアクセス制御データ編集支援装置。
【請求項8】
アクセス対象に対するアクセスごとに、アクセス制御データを用いて行われた許否判定の結果と、前記許否判定に利用した内容とが1以上記録されたログ情報と、前記アクセス制御データを変更する変更手順と、
前記ログ情報が示す許否判定に利用した内容に前記変更後のアクセス制御データを適用させてアクセスの許否判定を行い、許否判定の結果と前記許否判定に利用した内容を含む判定結果情報を生成する生成手順と、
をコンピュータが実行するアクセス制御データ編集支援方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate


【公開番号】特開2012−155546(P2012−155546A)
【公開日】平成24年8月16日(2012.8.16)
【国際特許分類】
【出願番号】特願2011−14329(P2011−14329)
【出願日】平成23年1月26日(2011.1.26)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】