(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023106262
(43)【公開日】2023-08-01
(54)【発明の名称】ポリシー競合検出装置及びポリシー競合検出方法
(51)【国際特許分類】
G06F 8/70 20180101AFI20230725BHJP
【FI】
G06F8/70
【審査請求】未請求
【請求項の数】16
【出願形態】OL
(21)【出願番号】P 2022007502
(22)【出願日】2022-01-20
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001689
【氏名又は名称】青稜弁理士法人
(72)【発明者】
【氏名】岡田 雅江
(72)【発明者】
【氏名】新井 悠介
(72)【発明者】
【氏名】佐藤 竜也
【テーマコード(参考)】
5B376
【Fターム(参考)】
5B376AA28
5B376AA33
5B376DA28
(57)【要約】
【課題】試行錯誤せずにポリシー競合を発見できる可能性を向上できるポリシー競合検出装置及びポリシー競合検出方法を提供する。
【解決手段】ポリシー競合検出装置は、ポリシーエンジンによって違反と評価されたポリシーの適用対象のリソース毎に、パラメータの許容値の範囲内で、違反と評価されたポリシーに従うように、評価対象システムのシステム情報の、違反と評価されたポリシーが制限するパラメータに対応するパラメータの値を仮設定する仮設定と、仮設定した内容でポリシーエンジンにポリシー評価を実行させる再検証と、を含む自動再検証処理を少なくとも1回行う。ポリシー競合検出装置は、自動再検証処理を行うたびに取得される再検証の評価結果に基づいて、ポリシー競合が発生しているか否かのポリシー競合判定を行う。
【選択図】
図1
【特許請求の範囲】
【請求項1】
評価対象システムに適用されるポリシーのポリシー競合を検出するための情報処理装置を含むポリシー競合検出装置であって、
前記情報処理装置は、
前記評価対象システムに関するシステム情報がポリシー定義に定義された前記ポリシーを違反しているか否かを評価するポリシー評価を行うポリシーエンジンによる評価結果に基づいて、違反と評価された前記ポリシーに関して、前記評価対象システムのどの構成定義がどの前記ポリシーに違反したかを示すポリシー違反情報を取得し、
前記ポリシー違反情報及び違反と評価された前記ポリシーの判定ロジックに基づいて、違反と評価された前記ポリシーが制限するパラメータ及び当該パラメータの許容値の範囲を算出し、
違反と評価された前記ポリシーの適用対象のリソース毎に、前記パラメータの許容値の範囲内で、違反と評価された前記ポリシーに従うように、前記評価対象システムの前記システム情報の、違反と評価された前記ポリシーが制限する前記パラメータに対応するパラメータの値を仮設定する仮設定と、前記仮設定した内容で前記ポリシーエンジンに前記ポリシー評価を実行させる再検証と、を含む自動再検証処理を少なくとも1回行い、
前記自動再検証処理を行うたびに取得される前記再検証の評価結果に基づいて、違反と評価された前記ポリシーと他の前記ポリシーとが競合しているポリシー競合が発生しているか否かのポリシー競合判定を行う、
ように構成された、
ポリシー競合検出装置。
【請求項2】
請求項1に記載のポリシー競合検出装置において、
前記情報処理装置は、
違反と評価された前記ポリシーが適用対象とする前記リソースの種類及び前記リソースに対する操作の種類の情報を含む情報を取得し、
取得した前記情報に基づいて、違反と評価された前記ポリシーの適用対象の前記リソースを特定する、
ように構成された、ポリシー競合検出装置。
【請求項3】
請求項1に記載のポリシー競合検出装置において、
前記情報処理装置は、
前記パラメータの許容値の範囲内であり、且つ、違反と評価された前記ポリシー以外の要素によって課される前記パラメータの制約条件を満たすパラメータ範囲内で、前記パラメータの値を仮設定する、
ように構成された、
ポリシー競合検出装置。
【請求項4】
請求項1に記載のポリシー競合検出装置において、
前記情報処理装置は、
前記再検証の評価結果の全てが、前記ポリシーを違反するとの評価結果である場合、前記ポリシー競合が発生していると判定する、
ように構成された、
ポリシー競合検出装置。
【請求項5】
請求項4に記載のポリシー競合検出装置において、
前記情報処理装置は、
前記再検証の評価結果の少なくとも一つが、前記ポリシーを違反していないとの評価結果である場合、前記ポリシー競合が発生しておらず違反と評価された前記ポリシーのポリシー違反と判定する、
ように構成された、
ポリシー競合検出装置。
【請求項6】
請求項1に記載のポリシー競合検出装置において、
前記情報処理装置は、
前記自動再検証処理を複数回実行する場合、1回の前記自動再検証処理が終了するたびに、前記パラメータの許容値の範囲内で、仮設定する前記パラメータの値を所定の刻み値だけ変更し、前記自動再検証処理を実行する、
ように構成された、
ポリシー競合検出装置。
【請求項7】
請求項1に記載のポリシー競合検出装置において、
前記情報処理装置は、
少なくとも前記ポリシー競合判定の判定結果を含む通知情報を他の装置に通知する、
ように構成された、
ポリシー競合検出装置。
【請求項8】
請求項6に記載のポリシー競合検出装置において、
前記情報処理装置は、
前記ポリシー競合判定の判定結果、前記再検証が実行された前記パラメータに関する情報、前記自動再検証処理の実行回数及び前記刻み値を含む通知情報を他の装置に通知する、
ように構成された、
ポリシー競合検出装置。
【請求項9】
請求項7に記載のポリシー競合検出装置において、
前記情報処理装置は、
前記通知情報を含むGUI画面を表示装置に表示する、
ように構成された、
ポリシー競合検出装置。
【請求項10】
請求項1に記載のポリシー競合検出装置において、
情報入力装置を更に含み、
前記情報処理装置は、
前記再検証の評価結果の全てが、前記ポリシーを違反するとの評価結果である場合において、
前記情報入力装置に入力された内容に基づいて、前記パラメータの許容値の範囲内のパラメータ設定範囲を設定し、前記パラメータ設定範囲内で、前記評価対象システムの前記システム情報の前記パラメータの値を仮設定する仮設定と、前記仮設定した内容で前記ポリシーエンジンに前記ポリシー評価を実行させる再検証と、を含むユーザ再検証処理を少なくとも1回行い、
前記ユーザ再検証処理を行うたびに取得される前記再検証の評価結果に基づいて、前記ポリシー競合判定を更に行う、
ように構成された、
ポリシー競合検出装置。
【請求項11】
請求項10に記載のポリシー競合検出装置において、
前記情報処理装置は、
前記ユーザ再検証処理の前記再検証の評価結果の全てが、前記ポリシーを違反するとの評価結果である場合、前記ポリシー競合が発生していると判定し、
前記ユーザ再検証処理の前記再検証の評価結果の少なくとも一つが、前記ポリシーを違反しないとの評価結果である場合、前記ポリシー競合が発生しておらず違反と評価された前記ポリシーのポリシー違反と判定する、
ように構成された、
ポリシー競合検出装置。
【請求項12】
請求項1に記載のポリシー競合検出装置において、
前記情報処理装置は、
前記パラメータの許容値の範囲のうちの一部のパラメータ許容値について、前記自動再検証処理を少なくとも1回行うことにより、初回の前記ポリシー競合判定を行い、
前記再検証の評価結果の少なくとも一つが、前記ポリシーを違反しないとの評価結果である場合、前記ポリシー競合が発生しておらず違反と評価された前記ポリシーのポリシー違反と判定し、
前記再検証の評価結果の全てが、前記ポリシーを違反しているとの評価結果である場合、前記パラメータの許容値の範囲から初回の前記ポリシー競合判定において仮設定されたパラメータ値を除いたパラメータ範囲内で、前記自動再検証処理を少なくとも1回行うことにより、再度、前記ポリシー競合判定を行う、
ように構成された、
ポリシー競合検出装置。
【請求項13】
請求項1に記載のポリシー競合検出装置において、
情報入力装置を更に含み、
前記情報処理装置は、
前記パラメータの許容値の範囲のうちの一部のパラメータ許容値について、前記自動再検証処理を少なくとも1回行うことにより、初回の前記ポリシー競合判定を行い、
前記再検証の評価結果の少なくとも一つが、前記ポリシーを違反しないとの評価結果である場合、前記ポリシー競合が発生しておらず違反と評価された前記ポリシーのポリシー違反と判定し、
前記再検証の評価結果の全てが、前記ポリシーを違反しているとの評価結果である場合、
前記情報入力装置に入力された内容に基づいて、前記パラメータの許容値の範囲内のパラメータ設定範囲を設定し、前記パラメータ設定範囲内で、前記評価対象システムの前記システム情報の前記パラメータの値を仮設定する仮設定と、前記仮設定した内容で前記ポリシーエンジンに前記ポリシー評価を実行させる再検証と、を含むユーザ再検証処理を少なくとも1回行い、
前記ユーザ再検証処理を行うたびに取得される前記再検証の評価結果に基づいて、前記ポリシー競合判定を更に行う、
ように構成された、
ポリシー競合検出装置。
【請求項14】
請求項1に記載のポリシー競合検出装置において、
前記情報処理装置は、
違反と評価された前記ポリシーが適用対象とする前記リソースの種類及び前記リソースに対する操作の種類の情報、を含む情報を取得し、
取得した前記情報に基づいて、違反と評価された前記ポリシーの適用対象の前記リソースを特定する、
ように構成された、
ポリシー競合検出装置。
【請求項15】
請求項1に記載のポリシー競合検出装置において、
前記情報処理装置は、
前記パラメータの許容値の範囲内であり、且つ、違反と評価された前記ポリシー以外の要素によって課される前記パラメータの制約条件を満たす、パラメータ範囲内で、前記パラメータの値を仮設定する、
ように構成された
ポリシー競合検出装置。
【請求項16】
評価対象システムに適用されるポリシーのポリシー競合を検出するための情報処理装置を用いたポリシー競合検出方法であって、
前記情報処理装置によって、
前記評価対象システムに関するシステム情報がポリシー定義に定義された前記ポリシーを違反しているか否かを評価するポリシー評価を行うポリシーエンジンによる評価結果に基づいて、違反と評価された前記ポリシーに関して、前記評価対象システムのどの構成定義がどの前記ポリシーに違反したかを示すポリシー違反情報を取得し、
前記ポリシー違反情報及び違反と評価された前記ポリシーの判定ロジックに基づいて、違反と評価された前記ポリシーが制限するパラメータ及び当該パラメータの許容値の範囲を算出し、
違反と評価された前記ポリシーの適用対象のリソース毎に、前記パラメータの許容値の範囲内で、違反と評価された前記ポリシーに従うように、前記評価対象システムの前記システム情報の、違反と評価された前記ポリシーが制限する前記パラメータに対応するパラメータの値を仮設定する仮設定と、前記仮設定した内容で前記ポリシーエンジンに前記ポリシー評価を実行させる再検証と、を含む自動再検証処理を少なくとも1回行い、
前記自動再検証処理を行うたびに取得される前記再検証の評価結果に基づいて、違反と評価された前記ポリシーと他の前記ポリシーとが競合しているポリシー競合が発生しているか否かのポリシー競合判定を行う、
ポリシー競合検出方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はポリシー競合検出装置及びポリシー競合検出方法に関する。詳しくは、本発明はシステム構成及びその設定の管理へのポリシー適用場面において、ポリシー競合を発見するためのポリシー競合検出装置及びポリシー競合検出方法に関する。
【背景技術】
【0002】
システムの構築や利用においては、法令や標準規格、システムを運用する各社や各案件に定義されるセキュリティ要件やその他の機能・非機能要件等により、様々なルールや方針が設定され、これらを順守するための制約としてポリシーが定義される。
【0003】
なお、システムが持つ情報の同期時の競合を発見し解消するための従来技術として、特許文献1が開示されている。特許文献1には、システムの運用中に各リソースが持つ情報が更新されたときその整合性を保つことを目的として、各リソースが中央システムに情報を送信し、中央システムは受信した情報に差異があれば競合と判断しこれを解決する技術が開示されている。
【0004】
近年、ポリシーをソースコードのように記述して定義し、ポリシーの開発や管理・運用にもソフトウェア開発の手法を取り入れる「Policy as Code(PaC)」への注目が高まっている。PaCの適用先の一つに、システム構成設定の認証がある。
【0005】
PaCによるシステム構成設定の認証では、ポリシーエンジンがシステム構成やその設定情報を評価してポリシーの順守又は違反を判断する方式(以下、「Validating方式」と称呼される。)や、ポリシーを順守するようシステム構成やその設定情報を定められた値に加工し適用させる方式(以下、「Mutating方式」と称呼される。)がとられることが多い。
【0006】
また、一つのシステムに対して、基盤のセキュリティに関するポリシーやアプリケーションの安定稼働に必要なポリシー等、管轄する部門や目的の異なる複数のポリシーが適用され、運用される。そのため、ポリシー間で競合が発生する場合がある。
【0007】
Validating方式によるシステム構成設定の認証では、リソースの作成や更新、削除等のリクエストがあったことをきっかけに、ポリシーエンジンがリクエスト内容をポリシーで評価してリクエストの許可又は拒否の判定を行う。また、稼働中のシステムに対して定期的に、又は、ポリシーが新規に追加されたり既存のポリシーが変更されたりしたタイミングで、設定されているポリシーが守られているか検証を行う(監査)。その結果、ポリシーへの違反が発見されるとアラートが発報され、システムやその上で稼働するアプリケーションの担当者が、アラート内容に応じてシステムやアプリケーションの構成や設定情報を変更する。
【0008】
一方で、リソースの作成や更新、削除等によりシステムの構成が変化したり、ポリシーの追加や更新を行ったりすることで、全てのポリシーを満たせる条件が存在しない状態(ポリシーの論理積が空集合)が発生する可能性もある(競合)。ポリシーの競合(以下、「ポリシー競合」とも称呼される。)が発生した場合には、ポリシーの作成者がその競合を解消するようポリシーを見直し、システムではなくポリシーを更新しなければならない。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】米国特許出願公開第2017/0337254号明細書
【発明の概要】
【発明が解決しようとする課題】
【0010】
しかし、ポリシー競合が発生している場合であっても、ポリシーエンジンは、評価の結果守られないポリシーがあったとしてポリシー違反の検出と同様のアラートを発報する。そのため、システムやその上で稼働するアプリケーションの担当者は、アラート内容に応じてシステム構成や設定情報を変更する。しかし、ポリシー競合が発生している場合、アラート内容に応じてシステム構成や設定情報を変更した後においても、他のポリシーに違反したとして再度見直しを求められる。よって、担当者は、これらを何度か繰り返すうちに、ようやくポリシーが競合している可能性に気付くことができる。このように、ポリシー競合を発見するためには、「ポリシー違反の検出及び検出への対応(見直し(即ちシステム構成や設定情報の変更))」を何度も繰り返す試行錯誤が必要となってしまっていた。
【0011】
本発明は上記課題を解決するためになされた。即ち、本発明の目的の一つは、試行錯誤せずにポリシー競合を発見できる可能性を向上できるポリシー競合検出装置及びポリシー競合検出方法を提供することにある。
【課題を解決するための手段】
【0012】
上記課題を解決するために、本発明のポリシー競合検出装置は、評価対象システムのポリシー競合を検出するための情報処理装置を含み、前記情報処理装置は、前記評価対象システムに関するシステム情報がポリシー定義に定義されたポリシーを違反しているか否かを評価するポリシー評価を行うポリシーエンジンによる評価情報に基づいて、違反と評価されたポリシーに関して、前記評価対象システムのどの構成定義がどのポリシーに違反したか示すポリシー違反情報を取得し、前記ポリシー違反情報及び違反と評価された前記ポリシーの判定ロジックに基づいて、違反と評価された前記ポリシーが制限するパラメータ及び当該パラメータの許容値の範囲を算出し、違反と評価された前記ポリシーの適用対象のリソース毎に、前記パラメータの許容値の範囲内で、違反と評価された前記ポリシーに従うように、前記評価対象システムの構成情報及び設定情報を含む前記システム情報の、違反と評価された前記ポリシーが制限するパラメータに対応するパラメータの値を仮設定する仮設定と、前記仮設定した内容で前記ポリシーエンジンに前記ポリシー評価を実行させる再検証と、を含む自動再検証処理を少なくとも1回行い、前記自動再検証処理を行うたびに取得される前記再検証の評価結果に基づいて、違反と評価された前記ポリシーに競合するポリシーが前記評価対象システムに存在するポリシー競合が発生しているか否かのポリシー競合判定を行う、ように構成されている。
【0013】
本発明のポリシー競合検出方法は、評価対象システムのポリシー競合を検出するための情報処理装置を用いたポリシー競合検出方法であり、前記情報処理装置によって、前記評価対象システムに関するシステム情報がポリシー定義に定義されたポリシーを違反しているか否かを評価するポリシー評価を行うポリシーエンジンによる評価情報に基づいて、違反と評価されたポリシーに関して、前記評価対象システムのどの構成定義がどのポリシーに違反したか示すポリシー違反情報を取得し、前記ポリシー違反情報及び違反と評価された前記ポリシーの判定ロジックに基づいて、違反と評価された前記ポリシーが制限するパラメータ及び当該パラメータの許容値の範囲を算出し、違反と評価された前記ポリシーの適用対象のリソース毎に、前記パラメータの許容値の範囲内で、違反と評価された前記ポリシーに従うように、前記評価対象システムの構成情報及び設定情報を含む前記システム情報の、違反と評価された前記ポリシーが制限するパラメータに対応するパラメータの値を仮設定する仮設定と、前記仮設定した内容で前記ポリシーエンジンに前記ポリシー評価を実行させる再検証と、を含む自動再検証処理を少なくとも1回行い、前記自動再検証処理を行うたびに取得される前記再検証の評価結果に基づいて、違反と評価された前記ポリシーに競合するポリシーが前記評価対象システムに存在するポリシー競合が発生しているか否かのポリシー競合判定を行う。
【発明の効果】
【0014】
本発明によれば、試行錯誤せずにポリシー競合を発見できる可能性を向上できるポリシー競合検出装置及びポリシー競合検出方法を提供する。
【図面の簡単な説明】
【0015】
【
図2】
図2は本発明の第1実施形態に係るポリシー競合検出装置を含むシステム構成の一例を示すブロック図である。
【
図3】
図3は各コンポーネントが動作する計算機の構成の一例を示すブロック図である。
【
図4】
図4は端末のメモリ又は記憶装置、競合検出装置のメモリ又は記憶装置に格納されたプログラムや処理、データの一例を示すブロック図である。
【
図5A】
図5Aは競合検出装置のメモリ又は記憶装置が保持するテーブルの構成の一例を示す図である。
【
図5B】
図5Bは競合検出装置のメモリ又は記憶装置が保持するテーブルの構成の一例を示す図である。
【
図5C】
図5Cは競合検出装置のメモリ又は記憶装置が保持するテーブルの構成の一例を示す図である。
【
図6】
図6は本発明の各機能が行う処理の流れの一例を示すシーケンス図である。
【
図7】
図7はパラメータ探索範囲算出処理の処理フローの一例を示すフローチャートである。
【
図8】
図8はパラメータ仮設定及び再検証処理の処理フローの一例を示すフローチャートである。
【
図10】
図10は本発明の第2実施形態に係るポリシー競合検出装置の競合の再検証処理の処理フローの一例を示すフローチャートである。
【
図11A】
図11Aは本発明の第2実施形態に係る競合検出装置の競合の再検証命令の受付用GUIの一例を示す図である。
【
図11B】
図11Bは本発明の第2実施形態に係る競合検出装置の競合の再検証命令の受付用GUIの一例を示す図である。
【
図12】
図12は第1変形例のパラメータ仮設定及び再検証処理の処理フローの一例を示すフローチャートである。
【
図13】
図13は第1変形例のパラメータ仮設定及び再検証処理の処理フローの一例を示すフローチャートである。
【
図14】
図14は第2変形例のパラメータ仮設定及び再検証処理の処理フローの一例を示す図である。
【
図15】
図15は第3変形例が実行する処理フローの一例を示す図である。
【発明を実施するための形態】
【0016】
本発明の各実施形態について図面を用いて説明する。なお、実施形態の全図において、同一又は対応する部分には同一の符号を付す。更に、以下の説明では、「テーブル」、「行」等の表現にて各種情報を説明することがあるが、各種情報は、これら以外のデータ構造で表現されてもよい。
【0017】
更に、以下の説明では、識別情報について説明する際、「番号」、「識別情報」、「名前」等の表現を用いるが、これらについてはお互いに置換が可能である。
【0018】
更に、以下の説明では、「プログラム」や「機能ブロック」を主語として処理を説明する場合があるが、プログラムは、プロセッサ(CPU)によって実行されることで、定められた処理を行うため、処理の主語が、「プログラム」や「機能ブロック」に代えて、プロセッサ(CPU)とされてもよい。同様に、プログラムを実行して行う処理の主体が、プロセッサ(CPU)を有する装置、システム、計算機等であってもよい。
【0019】
<<第1実施形態>>
<本発明の概要>
本発明の第1実施形態に係るポリシー競合検出装置200について説明する。まず
図1を用いて本発明の概要を説明する。
図1は本発明の概要を説明するための図である。
【0020】
図1に示すポリシー競合検出装置200(以下、「競合検出装置200」と称呼される。)は、ポリシーの競合を発見するための装置である。なお、ポリシーの競合(「ポリシー競合」とも称呼される場合がある。)とは、全てのポリシーを満たせる条件が存在しない状態(ポリシーの論理積が空集合)である。競合検出装置200は、ポリシー違反検知機能210、探索範囲算出機能220、パラメータ仮設定機能230、再検証機能240及びユーザインタフェース機能250を含む。
【0021】
本発明は、システム構成及びその設定の管理において、PaC(Policy as Code)を用いてポリシーに違反していないことを保証する際、設定された複数のポリシーが競合していないかを検証する技術に関する。検証の対象となるポリシーは、ユーザ900によってポリシー管理600において管理され、ポリシーエンジン500は、ポリシー管理600で管理されるポリシーを用いてシステム300やその上で操作するアプリケーションの構成や設定の検証を行う。ユーザ900は、システム300及びその上で動作するアプリケーションのソースコードや構成定義情報、設定等をシステム情報管理400にて管理する。以降、システム300及びその上で動作するアプリケーションは、総称して「システム」と称呼され、これらのソースコードや構成定義情報、設定等は、総称して「システム情報」と称呼される。
【0022】
システム300は、例えば、コンテナ型の仮想環境を提供するソフトウェアの一例であるDocker(https://www.docker.com/)と、その実行基盤構築及び管理ツールの一例であるKubernetes(https://kubernetes.io/)を活用して構築される情報システムや、クラウドベンダ各社がインターネットを通じてエンドユーザーにコンピュータシステムを構築及び稼動させるための基盤を提供する「Infrastructure as a Service(IaaS)サービス」を活用して構築される情報システム、ユーザ自身がサーバやネットワーク等の必要なリソースを管理・運用するオンプレミス環境で構築される情報システム、及びこれらの組み合わせで実現される情報システム等である。
【0023】
システム情報管理400の一例は、例えば、GitHub(https://github.co.jp/)のようなソースコードのバージョン管理システム等である。また、システム情報管理400が管理するシステム情報の一例は、アプリケーションのソースコードそのものや、システムの構成や設定情報をコード化して管理する「Infrastructure as Code(IaC)」を活用して定義されたシステムの構成や設定ファイル(Kubernetesのマニフェストファイルや各種IaCツールで活用する構成管理ファイル等)等である。
【0024】
ポリシーエンジン500は、ポリシーに違反した情報を発見し、事前に定義されたアクションを実行する。ポリシーエンジン500の一例は、例えば、PaCを実現する「Open Source Software(OSS)ツール」である「Open Policy Agent(OPA)(https://www.openpolicyagent.org/)」等である。例えば、ポリシーエンジン500は、ポリシーに違反した情報を発見して、ポリシー違反と評価した場合、どの構成定義が、どのポリシーに違反したかを特定可能な情報を含むエラー情報を出力する。
【0025】
ポリシー管理600の一例は、例えば、GitHub(https://github.co.jp/)のようなソースコードのバージョン管理システム等である。また、ポリシー管理600が管理するポリシー情報の一例は、OPAのポリシー定義ファイル等である。
【0026】
競合検出装置200がポリシーの競合を発見する技術の概要を以下に示す。競合検出装置200のポリシー違反検知機能210は、ポリシーエンジン500による評価の結果、評価対象であるシステム300の構成や設定値がポリシー違反とされたことを検知し、そのエラー情報からシステムのどの構成定義がどのポリシーに違反したか(ポリシー違反情報)を取得する。上記処理の詳細は後述する。競合検出装置200の探索範囲算出機能220は、違反したポリシーが制限するパラメータやその許容値の範囲及び制約条件を算出する。
【0027】
また、探索範囲算出機能220は、算出したパラメータ範囲や制約条件に基づいて、「パラメータ仮設定機能230及び探索範囲算出機能220が行うパラメータ仮設定と、再検証機能240が行うシステム情報の再検証と、の繰り返し条件」を算出する。上記処理の詳細は後述する。
【0028】
競合検出装置200のパラメータ仮設定機能230は、システム300のシステム情報が、違反したポリシーに従うようパラメータを仮設定する。上記処理の詳細は後述する。競合検出装置200の再検証機能240は、違反したポリシーに従うようパラメータが仮設定されたシステム情報に対して、ポリシーエンジン500に再検証させる。上記処理の詳細は後述する。
【0029】
パラメータ仮設定機能230によるパラメータ仮設定及び再検証機能240による再検証は、再検証機能240の算出したパラメータ範囲や制約の範囲内で繰り返し行われる。その結果、システム情報を、違反したポリシーが許容する範囲のどのような値に仮設定しても他のポリシーへの違反が検出される場合、最初に違反したポリシーと再検証で違反がみつかったポリシーとは競合するとみなす(判定する。)。
【0030】
一方、システム情報を、違反したポリシーが許容する範囲に仮設定することによって、全てのポリシーに適合する場合が少なくとも1例以上みつかれば、ポリシー競合は起きておらず、システム300のシステム情報がポリシー違反をしているとみなす(判定する。)。競合検出装置200のユーザインタフェース機能250は、ポリシー違反であるかポリシー競合であるかの情報をユーザにフィードバックする。上記処理の詳細は後述する。
【0031】
<構成>
図2は、本発明の第1実施形態に係る競合検出装置200を含むシステムのシステム構成の一例を示すブロック図である。
図2に示すシステムでは、競合検出装置200と、システム300(評価対象システム)と、システム情報管理400と、ポリシーエンジン500と、ポリシー管理600と、ユーザ900の操作する端末700とがネットワークスイッチ100及びネットワークNWを介して接続される。
【0032】
(計算機の説明)
図3は、
図2に示す各コンポーネントが動作する計算機80の構成の一例を示すブロック図である。計算機80は、プロセッサであるCPU(Central Processing Unit)81と、主記憶デバイスであるメモリ82と、不揮発性の二次記憶装置83と、入出力装置84と、ポート85を有する。これらの各構成要素は、バス86により相互に接続される。
【0033】
CPU81は、メモリ82に記憶されているプログラムを実行することによって、各計算機80の所定の機能を実現する。メモリ82は、CPU81によって実行されるプログラム及びプログラムの実行に必要なデータを記憶する。プログラムは、二次記憶装置83からメモリ82にロードされる。
【0034】
入出力装置84は、ディスプレイ(タッチパネル)、ポインタ又はキーボード等のデバイスの一つ又は複数のデバイスを含む。ユーザ900は、入出力装置84により、各計算機80を操作することができる。
【0035】
ポート85は、ネットワーク(例えば、
図2のネットワークスイッチ100)に接続される。各計算機は、ポート85を介して、他の計算機80と通信することができる。なお、各コンポーネントが動作する計算機80は、仮想マシンやコンテナ等の仮想環境であっても良い。計算機80には、入出力装置84としての機能を有さない表示装置(ディスプレイ)が接続されていてもよい。各コンポーネントは、複数の計算機80で構成されていてもよい。計算機80は、便宜上、「情報処理装置」とも称呼される場合がある。
【0036】
(メモリ又は記憶装置のデータ構成の説明)
図4は、ユーザ900が利用する端末700のメモリ又は記憶装置7、競合検出装置200のメモリ又は記憶装置2に格納されたプログラムや処理、データの一例を示すブロック図である。なお、例えば、メモリは上述のメモリ82に対応し、記憶装置は上述の二次記憶装置83に対応する。
【0037】
図4に示すように、ユーザ900が利用する端末700のメモリ又は記憶装置7は、後述の
図9A及び
図9B及び
図11A及び
図11Bに示したGUI(Graphical User Interface)画面をディスプレイ(タッチパネル)に表示するためのクライアントプログラム710を持つ(格納(記憶、保持)している。)。クライアントプログラム710の一例は、ウェブブラウザである。
【0038】
競合検出装置200のメモリ又は記憶装置2は、ポリシー違反検知機能210、探索範囲算出機能220、パラメータ仮設定機能230、再検証機能240、ユーザインタフェース機能250、パラメータ探索範囲情報260及び再検証結果情報270を含む。なお、ポリシー違反検知機能210、探索範囲算出機能220、パラメータ仮設定機能230、再検証機能240及びユーザインタフェース機能250は、メモリ又は記憶装置2に格納されたプログラムにより構成される。
【0039】
パラメータ探索範囲情報260及び再検証結果情報270は、競合検出装置200のメモリ又は記憶装置2上に存在していてもよい(格納(記憶、保持)されてもよい。)し、競合検出装置200のメモリ又は記憶装置2とは別のネットワーク接続された独立の専用又は共用の一つ又は複数のサーバのメモリ又は記憶装置上に存在してもよい(格納(記憶、保持)されてもよい。)。各機能及びデータの詳細は後述する。
【0040】
上記のユーザ900が利用する端末700のメモリ又は記憶装置7、競合検出装置200のメモリ又は記憶装置2は、ネットワーク接続されたデータベースや仮想サーバのようなものの上で動作しても良い。
【0041】
(データの説明)
図5A乃至
図5Cは、競合検出装置200のメモリ又は記憶装置2が保持するデータの構成の一例を示す図である。
図5Aに示すように、パラメータ探索範囲情報260は、競合検出装置200の探索範囲算出機能220が算出する、違反したポリシーが制限するパラメータやその許容値の範囲及び制約条件、及び、パラメータ仮設定機能230が行うパラメータ仮設定と再検証機能240が行うシステム情報の再検証の繰り返し条件を管理する情報である。
【0042】
パラメータ探索範囲情報260は、当該情報がどのポリシーの条件であるかを区別するために活用する、ポリシーを識別可能なポリシー固有の識別子2601と、ポリシーが定義する条件を区別するために活用する、条件番号2602と、ポリシーが対象とするリソースの情報である対象リソース2603と、ポリシーがどのパラメータを制限するかを示すパラメータ2604と、ポリシーが許容するパラメータの範囲であるパラメータ探索範囲2605と、パラメータ固有の制約条件であるパラメータ制約条件2606と、パラメータ仮設定機能230が行うパラメータ仮設定と再検証機能240が行うシステム情報の再検証の繰り返し条件2607と、1つのポリシー内で他の条件との依存関係を示す依存関係2608とを持つ。
【0043】
パラメータ探索範囲情報260は、ポリシーエンジン500によってシステム300が違反したと判断された1つのポリシー(以下、違反ポリシー)に対して1つ作成される。1つのポリシーは、同じポリシー内に、AND条件、又はOR条件等で定義される複数の条件を持つ可能性がある。このような、1つのポリシーが複数の条件を持つ場合には、
図5Aに示すパラメータ探索範囲情報260の行が条件数分作成され、それぞれに対して条件番号2602が設定される。また、これら複数の条件の依存関係が依存関係2608に保持される。例えば、独立した条件であれば、依存関係なし、又は独立を表す値が依存関係2608に保持され、AND条件、OR条件等になる条件が存在する場合は、当該条件の条件番号とその関係性(例えば、「条件番号#2は条件番号#3とAND条件」等)が保持される。なお、参考までに、
図5Bに、ポリシーが複数の条件(2つ)を持つ場合のパラメータ探索範囲情報の例を示す。
【0044】
対象リソース2603は、より具体的には、違反ポリシーが対象リソースを絞り込むために必要な情報であり、例えば、リソースが存在する名前空間26031や、リソースの種類26032、リソースに付けられたラベル26033等を持つ。他に、リソース固有の識別子や、名前、リソースが所属するグループの識別情報等であってもよい。
【0045】
パラメータ探索範囲情報260は、ポリシーエンジン500によるポリシー違反判定の都度作成される形式としてもよいし、過去に一度作成されたパラメータ探索範囲情報260を競合検出装置200のメモリ又は記憶装置2、及び競合検出装置200のメモリ又は記憶装置2とは別のネットワーク接続された独立の専用又は共用の一つ又は複数のサーバのメモリ又は記憶装置上に保存しておき、呼び出す形式としてもよい。
【0046】
図5Cに示す再検証結果情報270は、
図5Aに示すパラメータ探索範囲情報260に基づいて再検証を実行した場合の、競合検出装置200のすべての処理結果を示す情報である。
図5Cに示すように、再検証結果情報270は、違反ポリシーを示す、ポリシーを識別可能なポリシー固有のポリシー識別子2701と、パラメータ仮設定機能230によるパラメータ仮設定でどのリソースのどのパラメータを仮設定したかを示す仮設定リソース及びパラメータ2702と、パラメータ仮設定機能230によるパラメータ仮設定で具体的にパラメータ値をいくつに設定したかの値である設定値2703と、再検証機能240による再検証結果2704を持つ。
【0047】
再検証結果2704は、より具体的には例えば、再検証の結果、違反ポリシー以外にポリシー違反と判定されたポリシーの有無を示すポリシー違反有無27041や、そのポリシーをひとつに特定可能な違反相手のポリシー識別子27042や、その際のエラーメッセージ27043等を持つ。競合検出装置200のメモリ又は記憶装置2が保持するデータが保持する各値の具体的な算出方法については後述する。
【0048】
<全体の処理の流れの説明>
図6は、競合検出装置200がポリシーの競合を発見する処理の流れを示すシーケンス図である。はじめに、ポリシー違反検知機能210が、ポリシーエンジン500による評価の結果、評価対象であるシステム300の構成や設定値がポリシー違反とされたことを検知し、そのエラー情報からシステムのどの構成定義がどのポリシーに違反したか(ポリシー違反情報)を取得する(211)。
【0049】
次に、探索範囲算出機能220が、ポリシー管理600から違反ポリシーの情報を取得する(221)。また、パラメータの制約条件を算出するための情報元を取得する(222)。情報元として具体的にどのような情報を取得するかの例は後述する。221と222の実施順はどちらが先であってもかまわず、並行して行われてもよい。
【0050】
次に、探索範囲算出機能220が、221,222で取得した情報を用いてパラメータ探索範囲情報260(例えば、
図5A)を作成する(223)。処理の詳細については後述する。
【0051】
次に、パラメータ仮設定機能230が、システム情報管理400やシステム300からシステムやその上で動作するアプリケーションの構成情報や設定情報、稼働中のシステムの情報を取得する(231)。なお、231は223の完了前に実施していてもよいし、リアルタイムにシステム情報管理400やシステム300と連携し、常に最新情報を持てるような仕組みになっていてもよい。
【0052】
次に、パラメータ仮設定機能230が、パラメータ探索範囲情報260に基づいて、231にて取得したシステム情報のパラメータを仮設定(違反と評価されたポリシーが制限するパラメータの許容値の範囲内で仮設定)し(232)、再検証機能240が仮設定されたシステム情報をポリシーエンジン500に再検証させる(241)。この処理は、パラメータ探索範囲情報260の定義分繰り返し行われ(ループ1(1000))、再検証結果情報270を作成する。ループ1(1000)の処理の詳細は後述する。なお、ポリシーエンジン500相当の機能を競合検出装置200内部に持ち、再検証241を競合検出装置200自身が行ってもよい。
【0053】
最後に、ユーザインタフェース機能250が再検証結果情報270に基づいて、ポリシー違反又はポリシー競合の結果と、処理の詳細(判定根拠)をユーザ900に提示する(251)。
【0054】
提示の方法は、ユーザ900の端末700のクライアントプログラム710を用いたGUI表示であってもよいし、メールによる通知や、その他の形式であってもよい。GUI表示の一例は後述する。
【0055】
<パラメータ探索範囲情報260の算出処理の説明>
上述したパラメータ探索範囲情報260の算出処理(223)の詳細について説明する。
図7は、探索範囲算出機能220が行う、パラメータ探索範囲情報260の算出処理(223)の一例を示す。探索範囲算出機能220は、
図7のステップ2230から処理を開始してステップ2231に進み、対象リソース2603を作成する。その情報元の一例は、Kubernetesにおけるポリシー管理時に行うValidating Admission Webhookにて、WebhookするAPI(Application Programming Interface)コールのWebhook対象の指定情報(例えば、名前空間26031、種類26032、ラベル26003)であり、ポリシー管理600が管理するポリシーから取得可能である。
【0056】
次に、探索範囲算出機能220は、ステップ2232に進み、ポリシー管理600が管理するポリシーから取得したポリシーの判定ロジックから、ポリシーが指定する条件を特定し、条件ごとに、条件番号2602、パラメータ2604、パラメータ探索範囲2605、依存関係2608を算出する。
【0057】
次に、探索範囲算出機能220は、ステップ2233に進み、パラメータ制約条件2606を算出する。その情報元の一例は、システムの構成定義をIaCで定義する際の制約条件や、実際に稼働しているシステム300の構成定義情報である。例えば、Kubernetesを例にしたとき、リソース定義のAPIリファレンスやその実装コードから、値の型(Int, String, 等)、設定可能な値の数(Array, 値1つのみ, 等)、入力されうる値のバリエーション等の制約条件を取得可能である。また、稼働中システムのマニフェストから、システムで許容されているPodの上限値、下限値のようなシステム固有の制約条件も取得可能である。ただし、システム固有の制約条件は、今回仮設定したいパラメータとは別のパラメータで定義されている場合に限って用いることが可能である。
【0058】
最後に、探索範囲算出機能220は、ステップ2234に進み、パラメータ探索範囲2605、パラメータ制約条件2606、から繰り返し条件2607を定義する。この際、無限に繰り返しループが実行されることを防ぐため、事前定義された繰り返し上限数があればそれを用いてもよい。なお、繰り返し上限数を用いる場合の処理については、後述の変形例3で改めて詳述する。繰り返し条件2607は、具体的には繰り返し数や刻み値、その他の条件、あるいはそれらの複合である。なお、
図5Aに示す例では、繰り返し条件2607として、繰り返し数(回数=3)及び刻み値(=1)が定義されている。
【0059】
その後、探索範囲算出機能220は、ステップ2235に進み、本処理フローを一旦終了する。以上のパラメータ探索範囲算出処理によって、パラメータ探索範囲情報260が作成される。
【0060】
<ループ1の説明>
上述した
図6のループ1の処理(1000)の詳細について説明する。
図8は、「パラメータ仮設定機能230が行うパラメータ仮設定、及び、再検証機能240が行うシステム情報の再検証」の繰り返しループ1の処理(1000)の一例を示す。
【0061】
パラメータ仮設定機能230は、ステップ10000から処理を開始してステップ10001に進み、上述したパラメータ探索範囲算出処理(223)にて作成されたパラメータ探索範囲情報260の条件を1つ選択する。
【0062】
その後、パラメータ仮設定機能230は、ステップ10002に進み、パラメータ探索範囲情報260の依存関係2608を参照し、依存関係にある条件の有無を確認する。
【0063】
依存関係にある条件がある場合、パラメータ仮設定機能230は、ステップ10002にて「YES」と判定してステップ10003に進み、依存関係にある条件を選択してステップ232に進む。
【0064】
これに対して、依存関係にある条件がない場合、パラメータ仮設定機能230は、ステップ10002にて「NO」と判定してステップ232に直接進む。
【0065】
パラメータ仮設定機能230は、ステップ232に進むと、パラメータ探索範囲情報260を参照して、上述した231にてパラメータ仮設定機能230が取得したシステム情報のパラメータを仮設定する。より具体的に述べると、パラメータ探索範囲情報260のうちの、選択されている条件に対応する対象リソース2603、パラメータ2604、パラメータ探索範囲2605、パラメータ制約条件2606及び繰り返し条件2607を参照して、上述した231にてパラメータ仮設定機能230が取得したシステム情報のパラメータを仮設定する。
【0066】
なお、このとき、依存関係2608でAND条件が指定されている場合は、依存関係にある複数の条件のそれぞれが指定するパラメータ値を、対応するシステム情報のパラメータに対して同時に仮設定する。依存関係2608でOR条件が指定されている場合には、依存関係にある複数の条件のそれぞれの条件が指定するパラメータ値を、対応するシステム情報のパラメータに対して順に仮設定する。
【0067】
次に、パラメータ仮設定機能230は、ステップ241に進み、再検証機能240によって、仮設定されたシステム情報をポリシーエンジン500に再検証させる。即ち、ステップ241にて、再検証機能240は、ステップ232にてパラメータ仮設定機能230によって仮設定されたシステム情報をポリシーエンジン500に再検証させる。そして、再検証機能240は、再検証結果に基づいて、再検証結果情報270を作成する。
【0068】
次に、再検証機能240は、ステップ10004に進み、パラメータ探索範囲情報260に基づいて指定された全パラメータ値を検証したか否かを確認する。
【0069】
未検証の値がある場合、再検証機能240は、ステップ10004にて「NO」と判定してステップ232に戻る。
【0070】
検証済みである場合、再検証機能240は、ステップ10004にて「YES」と判定してステップ10005に進み、パラメータ探索範囲情報260に定義された全条件を検証済みであるか否かを確認する。
【0071】
未検証の条件がある場合、再検証機能240は、ステップ10005にて「NO」と判定してステップ10001に戻り、パラメータ仮設定機能230に、パラメータ探索範囲情報260の条件のうちの未検証の条件について既述した処理を実行させる。即ち、ステップ10005に戻ると、パラメータ仮設定機能230は、パラメータ探索範囲情報260の条件のうちの未検証の条件のうちの一つを選択する。以降は、同様の既述のステップの処理を行う。
【0072】
全て検証済みである場合、再検証機能240は、ステップ10005にて「YES」と判定してステップ10006に進み、本処理フローを一旦終了する。
【0073】
なお、ステップ232にて、依存関係2608でAND条件が指定されている場合は、ステップ232の処理が実行されるたびに、それぞれの条件が指定するパラメータのパラメータ値を同時に仮設定し、すべての組み合わせを検証する。即ち、ステップ10004にて「YES」と判定されるまで、ANDの依存関係にある各条件が指定するパラメータのパラメータ値を同時に設定する仮設定(ステップ232)と再検証(ステップ241)とが繰り返し実行されることにより、すべての組み合わせが検証される。
【0074】
ステップ232にて、依存関係2608でOR条件が指定されている場合には、ステップ232の処理が実行されるたびに、それぞれの条件が指定するパラメータのパラメータ値を順に仮設定し、すべての単一の条件を検証する。即ち、ステップ10004にて「YES」と判定されるまで、ORの依存関係にある各条件が指定するパラメータのパラメータ値を順に設定する仮設定(ステップ232)と再検証(後述のステップ241)とが繰り返されることにより、すべての単一の条件が検証される。
【0075】
<ループ1の具体例>
以上説明したようにループ1の処理(1000)が実行される。以下ループ1の処理(1000)の理解を容易にするため、パラメータ探索範囲算出(232)にて
図5Aに示すパラメータ探索範囲情報260が算出された場合のループ1の処理について説明する。
【0076】
この場合、パラメータ仮設定機能230は、
図8のステップ10000から処理を開始してステップ10001に進み、パラメータ探索範囲情報260の条件番号#1(条件番号#1の行)を選択してステップ10002に進む。パラメータ仮設定機能230は、ステップ10002にて「NO(依存関係のある条件がなし)」と判定してステップ232に進む。ここで、
図5Aに示すパラメータ探索範囲情報260が算出された場合、パラメータ探索範囲2605が「P≦3」であり、パラメータ制約条件2606が「Int型0より大きい」であり、繰り返し条件3607が、「回数:3、刻み値:1」である。従って、検証されるパラメータ値は、0<P≦3(即ち、P=1、2、3)である。なお、この検証される1以上のパラメータ値は、「再検証対象パラメータ値」とも称呼される場合がある。この場合、ステップ232にて、パラメータ仮設定機能230は、対象リソース2603のパラメータ「P=1」を、対応するシステム情報のパラメータに対して仮設定する。その後、パラメータ仮設定機能230は、ステップ241に進み、再検証機能240が、パラメータ仮設定機能230によってパラメータが仮設定されたシステム情報をポリシーエンジン500に再検証させる。1回目の再検証では、パラメータ仮設定機能230が、対象リソース2603のパラメータ「P=1」に仮設定されたシステム情報をポリシーエンジン500に再検証させる。再検証機能240は、再検証結果に基づいて、再検証結果情報270(再検証結果情報270の行)を作成する。
【0077】
その後、ステップ10004に進んだ場合、パラメータ探索範囲情報260に基づいて指定された「再検証対象パラメータ値」の全パラメータ値が検証されていない(この例において、P=2、3が検証されていない。)。
【0078】
従って、再検証機能240は、ステップ10004にて「NO」と判定してステップ232に戻り、パラメータ仮設定機能230が、パラメータ仮設定(ステップ232)を行った後、ステップ241に進む。ステップ241にて、再検証機能240は、ステップ232にてパラメータ仮設定機能230によって仮設定されたシステム情報をポリシーエンジン500に再検証(2回目の再検証)させる。これにより、2回目の再検証では、現時点で仮設定されている対象リソース2603のパラメータ値「P=1」に刻み値である「1」を加算したパラメータ値「P=2」が、システム情報のパラメータに対して仮設定され、再検証が実行される。再検証機能240は、再検証結果に基づいて、再検証結果情報270(再検証結果情報270の行)を作成する。
【0079】
その後、ステップ10004に進んだ場合、パラメータ探索範囲情報260に基づいて指定された「再検証対象パラメータ値」の全パラメータ値が検証されていない(この例において、P=3が検証されていない。)。従って、再検証機能240は、ステップ10004にて「NO」と判定してステップ232に戻り、パラメータ仮設定機能230が、パラメータ値の仮設定を行った後、ステップ241に進む。ステップ241にて、再検証機能240は、ステップ232にてパラメータ仮設定機能230によって仮設定されたシステム情報をポリシーエンジン500に再検証させる。これにより、2回目の再検証では、現時点で仮設定されている対象リソースのパラメータ値「P=2」に刻み値である「1」を加算したパラメータ値「P=3」が、システム情報のパラメータに対して仮設定され、再検証が実行される。再検証機能240は、再検証結果に基づいて、再検証結果情報270(再検証結果情報270の行)を作成する。
【0080】
その後、ステップ10004に進むと、再検証機能240は、「再検証対象パラメータ値」の全パラメータ値を全て検証済み(「YES」)と判定する。その後、ステップ10005に進み、「YES(全条件検証済み)」と判定されてステップ10006に進み、本処理フロー(ループ1の処理(1000))を一旦終了する。
【0081】
<GUI表示例の説明>
上述したように、ユーザインタフェース機能250は、再検証結果情報270に基づいて、ポリシー違反又はポリシー競合の結果と、処理の詳細(判定根拠)をユーザ900に提示する(251)。
【0082】
より具体的に述べると、ユーザインタフェース機能250は、再検証結果情報270に含まれる再検証結果のポリシー違反有無の全てが「有」の場合、その違反相手のポリシーとポリシー競合が発生している(発見された)と判定する(みなす。)。ユーザインタフェース機能250は、再検証結果情報270に含まれる再検証結果のポリシー違反有無の少なくとも一つが「無」の場合、ポリシー競合が発生していない(ポリシー競合が発見されず、最初に違反が検知(違反と評価)されたポリシーに関してポリシー違反が起きている)と判定する(みなす。)。ユーザインタフェース機能250は、ユーザにフィードバックするために、GUI画面を例えば端末700のディスプレイ(タッチパネル)に表示する。
【0083】
図9A及び
図9Bは、ユーザインタフェース機能250がポリシー違反又はポリシー競合の結果と、処理の詳細(判定根拠)をユーザ900に提示するGUI表示の一例を示す図である。
【0084】
図9Aに示す競合通知画面25111は、ポリシー競合が発見された場合のGUI画面の一例である。競合通知画面25111は、ポリシー競合を知らせる表示251111、競合したポリシーの表示251112及び探索範囲・条件の詳細情報251113を含む。
【0085】
ユーザ900は、競合通知画面25111に表示されるポリシー競合を知らせる表示251111によって、ポリシー競合が発見されたことを確認可能である。また、ユーザ900は、競合通知画面25111に表示される競合したポリシーの表示251112によって、具体的にどのポリシーが競合と判断されたかを確認可能である。更に、ユーザ900は、競合通知画面25111に表示される探索範囲・条件の詳細情報251113を参照することで、どのようなパラメータ探索をしたのか(どのパラメータをどんな値で仮設定したのか、どの範囲でどんなインターバル(刻み値)で何回繰り返したか、どの状況で競合が起きたか)の情報を確認可能である。なお、ユーザ900は最低限ポリシー競合を知らせる表示251111と競合したポリシーの表示251112が確認できればよい。
【0086】
図9Bに示す違反通知画面25112は、ポリシー競合が発見されず、ポリシー違反が起きていると判断された場合のGUI画面の一例である。
【0087】
違反通知画面25112は、ポリシー違反を知らせる表示251121、違反したポリシーの表示251122、違反したパラメータの情報251123及び探索範囲・条件・結果の詳細情報251124を含む。
【0088】
ユーザ900は、違反通知画面25112に表示されるポリシー違反を知らせる表示251121によって、ポリシー違反が発見されたことを確認可能である。また、ユーザ900は、違反通知画面25112に表示される違反したポリシーの表示251122によって、具体的にどのポリシーに違反したかを確認可能である。
【0089】
更に、ユーザ900は、違反通知画面25112に表示される違反したパラメータの情報251123から、具体的にどのパラメータがポリシー違反であるのか確認可能であり、探索範囲・条件・結果の詳細情報251124を参照することで、どのようなパラメータ探索をしたのか(どのパラメータをどんな値で仮設定したのか、どの範囲でどんなインターバルで何回繰り返したか、どの状況で違反が起きたか)の情報を確認可能である。
【0090】
なお、ユーザ900は最低限ポリシー違反を知らせる表示251121と違反したポリシーの表示251122が確認できればよい。従って、違反通知画面25112は、ポリシー違反を知らせる表示251121及び違反したポリシーの表示251122のみが含まれるようにしてもよい。
【0091】
<効果>
以上説明したように、本発明の第1実施形態に係る競合検出装置200は、違反と評価(違反が検知)されたポリシーに違反しないパラメータ設定探索を自動化し、パラメータ仮設定・再検証を行うことで、試行錯誤せずにポリシーの競合を発見することができる。なお、従来では、ポリシー作成者やシステムやその上で稼働するアプリケーションの担当者がポリシーを順守できるようにパラメータを変更したが、他のポリシーに違反してしまい、またパラメータを変更することを繰り返すうちにポリシー競合の可能性にようやく気付くことができ、ポリシー競合の発見に試行錯誤が必要であった。
【0092】
<<第2実施形態>>
本発明の第2実施形態に係る競合検出装置200について説明する。既述の第1実施形態に係る競合検出装置200では、競合検出装置200がポリシーの競合を発見する際、探索範囲算出機能220が、ステップ2234において、繰り返し条件2607(例えば、繰り返し回数及び刻み値)を定義し、パラメータ仮設定機能230及び再検証機能240は、この繰り返し条件2607に従って、パラメータ仮設定とシステム情報の再検証の繰り返しループ1の処理(1000)を行い、その結果ポリシー競合であるかポリシー違反であるかをユーザ900に提示した。
【0093】
しかし、繰り返し条件2607の設定によっては、ポリシー競合であると判定されたが、実際にはパラメータ仮設定とシステム情報の再検証をしなかったパラメータの値ですべてのポリシーを満たす値が存在し、ポリシー競合ではない可能性がある。
【0094】
例えば、あるポリシーでは仮想マシンのメモリを10GB未満に制限し、別のポリシーでは仮想マシンのメモリが8GB以上存在することを求めるとする。このとき、例えば、最初にあるポリシーが違反と評価された場合において、探索範囲算出機能220が、ステップ2234において、繰り返し条件2607として刻み値5、繰り返し数2を指定し、競合検出装置200(パラメータ仮設定機能230及び再検証機能240)がメモリ1GBとメモリ6GBにパラメータを仮設定して検証した場合、両ポリシーが競合すると判断される。しかし、実際にはメモリ8GB以上10GB未満において両ポリシーを満たせるため、これはポリシー競合ではない。
【0095】
そこで、第2実施形態に係る競合検出装置200では、ユーザインタフェース機能250が再検証結果情報270に基づいて、ポリシー違反又はポリシー競合の結果と、処理の詳細(判定根拠)をユーザ900に提示する際(251)、ユーザ900がその提示された結果に基づいてパラメータの探索範囲や繰り返し数、インターバル設定等の各種設定値を変えて再度競合検証する命令を与えることを可能とすることで、これを解決する。
【0096】
図10に、ユーザ900の競合の再検証命令をうけて、指示された値で競合の再検証(なお、この再検証は、「ユーザ競合再検証」とも称呼される。)を行う処理の一例を示す。探索範囲算出機能220は、ステップ30000から処理を開始してステップ30001に進む。探索範囲算出機能220は、ステップ30001にて、ユーザインタフェース機能250からユーザ900の競合のユーザ再検証命令を受信すると、ステップ30002に進む。なお、このユーザ再検証命令は、例えば、後述の
図11Bの再検証設定画面25122上の実行ボタン251222が押下(操作)された場合に、ユーザインタフェース機能250がユーザ再検証命令を発生する。
【0097】
次に、探索範囲算出機能220は、ステップ30002に進むと、ユーザ900が再検証設定画面25122を用いて(介して)、指定した値で(再検証設定画面25122に入力された情報に基づいて)、パラメータ探索範囲情報260を設定してステップ1000に進む。
【0098】
ステップ1000にて、パラメータ仮設定機能230及び再検証機能240が、パラメータ仮設定及び再検証を実施する。なお、このパラメータ仮設定及び再検証は、便宜上、「ユーザ再検証処理」とも称呼される場合がある。処理の詳細は、第1実施形態と同様であるので説明を省略する。
【0099】
最後に、ステップ251に進み、ユーザインタフェース機能250が、再検証結果情報270に基づいて、ポリシー違反又はポリシー競合の結果と、処理の詳細(判定根拠)をユーザ900に提示する。
【0100】
図11A及び
図11Bは、ユーザインタフェース機能250がポリシー違反又はポリシー競合の結果と、処理の詳細(判定根拠)をユーザ900に提示し、提示内容をうけたユーザ900がパラメータの探索範囲や繰り返し数、インターバル設定等の各種設定値を変えて再度競合検証する命令を与えることを可能とするGUI表示の一例を示す図である。
【0101】
図11Aに示す競合通知画面25121は、ポリシー競合が発見された場合のGUI画面の一例である。
【0102】
競合通知画面25121は、ポリシー競合を知らせる表示251211、競合したポリシーの表示251212、探索範囲・条件の詳細情報251213及び競合再検証実施ボタン251214を含む。ユーザ900は、競合通知画面25121に表示されるポリシー競合を知らせる表示251211によって、ポリシー競合が発見されたことを確認可能である。また、ユーザ900は、競合通知画面25121に表示される競合したポリシーの表示251212によって、具体的にどのポリシーが競合と判断されたかを確認可能である。
【0103】
更に、ユーザ900は、競合通知画面25121に表示される探索範囲・条件の詳細情報251213を参照することで、どのようなパラメータ探索をしたのか(どのパラメータをどんな値で仮設定したのか、どの範囲でどんなインターバル(刻み値)で何回繰り返したか、どの状況で競合が起きたか)の情報を確認可能である。
【0104】
そして、ユーザ900は、競合通知画面25121上の競合再検証実施ボタン251214を押下する(操作(タッチ操作)する)ことで、パラメータの探索範囲や繰り返し数、インターバル設定等の各種設定値を変えて再度競合検証する命令を与えることを可能とする。
【0105】
図11Bに示す再検証設定画面25122は、ユーザ900が再度競合検証する命令を与える場合、各種設定値を指定するためのGUI(Graphical User Interface)を構成するGUI画面の一例である。
【0106】
再検証設定画面25122は、条件入力領域251221及び実行ボタン251222を含む。条件入力領域251221は、入力ボックスBX1乃至BX6を含む。なお、入力ボックスBX1乃至BX6は、これらを特に区別する必要がない場合、「入力ボックスBX」と称呼される。ユーザ900は、再検証設定画面25122に表示される条件入力領域251221の入力ボックスBXに、競合の再検証を行うための各種設定条件を、少なくとも1つ以上入力可能とする。なお、ユーザ900は、入出力装置84(情報入力装置)を介して、GUI画面を操作する(GUI画面に情報を入力する。)。
【0107】
設定条件は、例えば、対象リソースや、仮設定するパラメータ、パラメータの探索値(パラメータ探索範囲)、刻み値、繰り返し数、条件の依存関係等である。そして、ユーザ900は、再検証設定画面25122上の実行ボタン251222を押下する(操作(タッチ操作)する)ことで、入力した値を使ったポリシー競合の再検証を命令可能である。
【0108】
<効果>
以上説明したように、本発明の第2実施形態に係る競合検出装置200は、第1実施形態と同様、ポリシーに違反しないパラメータ設定探索を自動化し、パラメータ仮設定・再検証を行うことで、試行錯誤せずにポリシーの競合を発見することができる。更に、本発明の第2実施形態に係る競合検出装置200は、ユーザ900により入力した情報に基づいて、ポリシー競合の検証(ユーザ指令再検証)を更に実行することにより、ポリシー競合の発見精度を向上できる。
【0109】
<<第1変形例>>
上記第1実施形態において、競合検出装置200は、繰り返し条件2607の繰り返し回数が所定回数以下であるか否かを判定して、繰り返し条件2607の繰り返し回数が所定回数より大きい場合、繰り返し回数を現時点の回数(以下、「当初繰り返し回数」と称呼される。)より少ない所定回数に変更し、まずは検証される予定の全パラメータ値(以下、「検証予定パラメータ値」とも称呼される。)の一部のパラメータ値について、再検証してもよい。そして、競合検出装置200は、検証の結果、一部のパラメータ値についての再検証結果のうちの、少なくとも一つがポリシー違反なしだった場合、ポリシー違反(即ち、ポリシー競合ではない。)と判定してもよい。一方、競合検出装置200は、検証の結果、一部のパラメータ値についての再検証結果の全てが、ポリシー違反有りだった場合、繰り返し回数を残りの回数(=当初繰り返し回数-所定回数)に変更することにより、残りのパラメータ値について、再検証してもよい。
【0110】
以下、第1変形例が実行する処理フローについて説明する。第1変形例は、
図12にフローチャートにより示した処理フローを実行する。
図12のフローチャートは、以下の点のみにおいて、
図8のフローチャートと相違点を有する。
図8のフローチャートにおいて、ステップ10002とステップ232との間に、ステップ1201が追加され、更に、ステップ1201とステップ10005との間に、ステップ1202及びステップ1203が追加される。従って、以下では、これらの相違点を中心として説明する。
【0111】
ステップ1201に進むと、パラメータ仮設定機能230は、繰り返し条件2607の繰り返し回数(即ち、当初繰り返し回数)が所定回数以下であるか否かを判定する。繰り返し条件の繰り返し回数が所定回数以下である場合、パラメータ仮設定機能230は、ステップ1201にて「YES」と判定してステップ232に進む。これ以降の処理は、既に述べたので説明を省略する。
【0112】
一方、繰り返し条件2607の繰り返し回数が所定回数より大きい(多い)場合、パラメータ仮設定機能230は、ステップ1201にて「NO」と判定してステップ1202に進み、パラメータ探索範囲情報260の繰り返し条件の繰り返し回数を、現時点の回数より少ない所定回数に変更する。
【0113】
その後、パラメータ仮設定機能230はステップ1203に進み、
図13のフローチャートにより示した処理フローを実行する。従って、パラメータ仮設定機能230は、
図12のステップ1203に進むと、
図13のステップ232に進み、
図12のステップ1202にて繰り返し回数が変更された後のパラメータ探索範囲情報260を参照し、上述した231にてパラメータ仮設定機能230が取得したシステム情報のパラメータを仮設定する。
【0114】
次に、パラメータ仮設定機能230は、ステップ241に進み、再検証機能240が、仮設定されたシステム情報をポリシーエンジン500に再検証させる。即ち、ステップ241にて、再検証機能240は、ステップ232にてパラメータ仮設定機能230によって仮設定されたシステム情報をポリシーエンジン500に再検証させる。そして、再検証機能240は、再検証結果に基づいて、再検証結果情報270を作成する。
【0115】
次に、再検証機能240は、ステップ10004に進み、パラメータ探索範囲情報260に基づいて指定された「再検証対象パラメータ値」の全パラメータ値を検証したか否かを確認する。
【0116】
未検証の値がある場合、再検証機能240は、ステップ10004にて「NO」と判定してステップ232に戻る。
【0117】
検証済みである場合、再検証機能240は、ステップ10004にて「YES」と判定してステップ1301に進み、検証した全パラメータ値についての再検証結果の少なくとも一つが、ポリシー違反なしであるか否かを判定する。
【0118】
検証した全パラメータ値についての再検証結果の少なくとも一つが、ポリシー違反なしの場合、再検証機能240は、ステップ1301にて「YES」と判定して、
図12のステップ10005に進む。
【0119】
検証した全パラメータ値についての再検証結果の全てがポリシー違反である場合、再検証機能240は、ステップ1301にて「NO」と判定してステップ1302に進む。再検証機能240は、ステップ1302に進むと、上述した「検証予定パラメータ値」の中に、未検証パラメータ値が存在するか否かを判定する。
【0120】
未検証パラメータ値が存在する場合、再検証機能240は、ステップ1302にて「YES」と判定してステップ1303に進む。ステップ1303にて、パラメータ仮設定機能230は、パラメータ探索範囲情報260の繰り返し条件の繰り返し回数を、残りの回数(=当初の繰り返し回数-所定回数)に変更してステップ232に戻る。パラメータ仮設定機能230は、ステップ232に戻ると、ステップ1303にて繰り返し回数が変更された後のパラメータ探索範囲情報260を参照し、上述した231にてパラメータ仮設定機能230が取得したシステム情報のパラメータを仮設定する。以降、既述のステップ232、ステップ241、ステップ10004、ステップ1301及びステップ1302の処理の適当な処理を実行した後、ステップ10005に進む。
【0121】
なお、ステップ1302にて未検証パラメータ値が存在しない場合、再検証機能240は、ステップ1302にて「NO」と判定してステップ10005に進む。
【0122】
<効果>
以上説明した第1変形例は、第1実施形態と同様の効果を奏する。更に、第1変形例は、ポリシー違反である(即ち、ポリシー競合ではない)ことを速やかに判定することができると共に、ポリシー競合をより精度よく判定することができる。
【0123】
<<第2変形例>>
上記第1実施形態において、競合検出装置200は、繰り返し条件2607の繰り返し回数が所定回数以外であるか否かを判定して、繰り返し条件2607の繰り返し回数が所定回数より大きい場合、繰り返し回数を現時点の回数より少ない所定回数に変更することにより、まずは検証される予定の全パラメータ値(検証予定パラメータ値)の一部のパラメータ値ついて、再検証してもよい。そして、競合検出装置200は、検証の結果、その一部のパラメータ値についての再検証結果の少なくとも一つがポリシー違反なしだった場合、ポリシー違反と判定してもよい。
【0124】
一方、競合検出装置200は、検証の結果、その一部のパラメータ値についての再検証結果の全てがポリシー違反有りだった場合、ユーザに指示された条件(パラメータ値)で競合の再検証を実行させるようにしてもよい。
【0125】
第2変形例は、
図12の処理フロー及び
図14の処理フローを実行するように構成される。
図12の処理フローは既に説明したので、説明を省略する。
図14は、
図13のステップ1302がステップ1402に置換され、ステップ1303がステップ1403に置換され、ステップ1301とステップ1402との間のステップ1401が追加され、ステップ1403の後にステップ1404が追加された点のみにおいて、
図13の処理フローと相違する。以下、この相違点を中心として説明する。
【0126】
図14のステップ1301にて、検証した全パラメータ値についての再検証結果の全てがポリシー違反である場合、再検証機能240は、ステップ1301にて「NO」と判定してステップ1401に進む。再検証機能240は、ステップ1401に進むと、ユーザインタフェース機能250に、上述した
図11Aに示すような競合通知画面25121を表示させる。
【0127】
その後、再検証機能240は、ステップ1402に進み、競合通知画面25121の競合の再検証を実施するためのボタン(競合再検証実施ボタン251214)に対する操作に基づいて、ユーザ再検証が必要であるか否かを判定する。
【0128】
ユーザ再検証が必要ではないと判定した場合(例えば、所定時間以上、競合通知画面25121上の競合再検証実施ボタン251214に対する操作がない場合等)、再検証機能240は、ステップ1402にて「NO」と判定してステップ10005に進む。
【0129】
競合再検証実施ボタン251214が操作されたことにより、ユーザ再検証が必要であると判定した場合、再検証機能240は、ステップ1402にて「YES」と判定してステップ1403に進み、ユーザインタフェース機能250に
図11Bの再検証設定画面25122を表示させる。
【0130】
その後、再検証機能240は、ステップ1404に進み、再検証設定画面25122に表示される条件入力領域251221の入力ボックスBXに対する、競合の再検証を行うための各種設定条件の入力が完了したか否かを判定する。
【0131】
入力ボックスBXに対する、競合の再検証を行うための各種設定条件の入力が完了していない場合、再検証機能240は、ステップ1404にて「NO」と判定して、再びステップ1404の処理を実行する。
【0132】
入力ボックスBXに対する、競合の再検証を行うための各種設定条件の入力が完了している場合、再検証機能240は、ステップ1404にて「YES」と判定してステップ232に戻る。ステップ232にて、パラメータ仮設定機能230は、再検証設定画面25122に入力された競合の再検証を行うための各種設定条件に基づいて、上述した231にてパラメータ仮設定機能230が取得したシステム情報のパラメータを仮設定する。以降、既述のステップ241、ステップ10004、ステップ1301、ステップ1302、及び、1401乃至ステップ1404の処理の適当な処理を実行した後、ステップ10005に進む。
【0133】
<効果>
以上説明した第2変形例は、第1実施形態と同様の効果を奏する。更に、第2変形例は、ポリシー違反である(即ち、ポリシー競合ではない)ことを速やかに判定することができると共に、ポリシー競合をより精度よく判定することができる。
【0134】
<<第3変形例>>
上記第1実施形態において、ステップ2234において、次のような処理を実行するようにしてもよい。
図15は第3変形例の処理フローを示す。探索範囲算出機能220は、ステップ1500から処理を開始してステップ1501に進み、パラメータ探索範囲2605、パラメータ制約条件2606、から暫定的な繰り返し条件を定義する。次に、探索範囲算出機能220は、ステップ1502に進み、暫定的な繰り返し条件の繰り返し回数が繰り返し上限数以下であるか否かを判定する。
【0135】
暫定的な繰り返し条件の繰り返し回数が繰り返し上限数以下である場合、探索範囲算出機能220は、ステップ1502にて「YES」と判定してステップ1503に進み、暫定的な繰り返し条件を最終的な繰り返し条件2607として定義する。その後、探索範囲算出機能220はステップ1505に進んで、本処理フローを一旦終了する。
【0136】
暫定的な繰り返し条件2607の繰り返し回数が繰り返し上限数より大きい場合、探索範囲算出機能220は、ステップ1502にて「NO」と判定してステップ1504に進み、暫定的な繰り返し条件の繰り返し回数を繰り返し上限数(即ち、現時点の繰り返し回数より小さい繰り返し上限数)に変更する。その後、探索範囲算出機能220は、ステップ1503に進み、繰り返し回数が繰り返し上限数に変更された暫定的な繰り返し条件を最終的な繰り返し条件2607として定義する。その後、探索範囲算出機能220はステップ1505に進んで、本処理フローを一旦終了する。なお、ステップ1504において、探索範囲算出機能220は、繰り返し回数の変更に加えて、刻み値を変更する(大きくする)ようにしてもよい。
【0137】
<<その他の変形例>>
本発明は上記各実施形態及び各変形例に限定されることなく、本発明の範囲内において種々の変形例を採用することができる。上記の各実施形態及び各変形例の構成、方法、工程等は、本発明の主旨を逸脱しない限り、互いに組み合わせることが可能である。例えば、上記第1変形例において、ステップ1202にて繰り返し数に加えて刻み値が設定(変更して設定)されるようにしてもよい。
【0138】
なお、本発明は、以下の構成をとることもできる。
[1]
評価対象システムに適用されるポリシーのポリシー競合を検出するための情報処理装置を含むポリシー競合検出装置であって、
前記情報処理装置は、
前記評価対象システムに関するシステム情報がポリシー定義に定義された前記ポリシーを違反しているか否かを評価するポリシー評価を行うポリシーエンジンによる評価結果に基づいて、違反と評価された前記ポリシーに関して、前記評価対象システムのどの構成定義がどの前記ポリシーに違反したかを示すポリシー違反情報を取得し、
前記ポリシー違反情報及び違反と評価された前記ポリシーの判定ロジックに基づいて、違反と評価された前記ポリシーが制限するパラメータ及び当該パラメータの許容値の範囲を算出し、
違反と評価された前記ポリシーの適用対象のリソース毎に、前記パラメータの許容値の範囲内で、違反と評価された前記ポリシーに従うように、前記評価対象システムの前記システム情報の、違反と評価された前記ポリシーが制限する前記パラメータに対応するパラメータの値を仮設定する仮設定と、前記仮設定した内容で前記ポリシーエンジンに前記ポリシー評価を実行させる再検証と、を含む自動再検証処理を少なくとも1回行い、
前記自動再検証処理を行うたびに取得される前記再検証の評価結果に基づいて、違反と評価された前記ポリシーと他の前記ポリシーとが競合しているポリシー競合が発生しているか否かのポリシー競合判定を行う、
ように構成された、
ポリシー競合検出装置。
【0139】
[1]の構成によれば、ポリシーに違反しないパラメータ設定探索を自動化し、パラメータ仮設定・再検証を行うことで、試行錯誤(ポリシー作成者やシステム/アプリの担当者がポリシー順守できるようにパラメータを変更したが他のポリシーに違反してしまいまたパラメータを変更することを繰り返すうちにポリシー競合の可能性に気付く)せずにポリシーの競合が発見可能である。
【0140】
[2]
[1]に記載のポリシー競合検出装置において、
前記情報処理装置は、
違反と評価された前記ポリシーが適用対象とする前記リソースの種類及び前記リソースに対する操作の種類の情報、を含む情報を取得し、
取得した前記情報に基づいて、違反と評価された前記ポリシーの適用対象の前記リソースを特定する、ように構成された、ポリシー競合検出装置。
【0141】
[2]の構成によれば、ポリシーの評価対象をより細かく指定可能になり、ポリシー競合判定の精度が向上される。
【0142】
[3]
[1]に記載のポリシー競合検出装置において、
前記情報処理装置は、
前記パラメータの許容値の範囲内であり、且つ、違反と評価された前記ポリシー以外の要素によって課される前記パラメータの制約条件を満たす、パラメータ範囲内で、前記パラメータ値を仮設定する、
ように構成された
ポリシー競合検出装置。
【0143】
[3]の構成においては、ポリシー以外の要素によって課されるパラメータの制約条件が考慮される。例えば、[3]の構成においては、構成定義のAPIリファレンスや実装コードから、値の型(Int, String, 等)、設定可能な値の数(Array, 値1つのみ, 等)、入力されうる値のバリエーションを定義したり、(今回ポリシーで制約されているパラメータ以外の)システム設定情報から値の取りうる範囲を限定したりする。[3]の構成によれば、ポリシーの評価範囲をより細かく指定可能になり、ポリシー競合判定の精度が向上される。
【0144】
[4]
[1]に記載のポリシー競合検出装置において、
前記情報処理装置は、
前記自動再検証処理を複数回実行する場合、1回の前記自動再検証処理が終了するたびに、前記パラメータの許容値の範囲内で、仮設定する前記パラメータの値を所定の刻み値だけ変更し、前記自動再検証処理を実行する、
ように構成された、
ポリシー競合検出装置。
【0145】
ポリシーが許容するパラメータ値は1つであるとは限らず、ある程度の幅を持っている。従って、パラメータの仮設定値によっては、ポリシーが競合していないにも関わらす競合と判断されてしまう可能性がある(例:ポリシーAがメモリ上限4GB以下、ポリシーBがメモリ下限2GB以上としたとき、メモリ上限、下限を1GBに仮設定するとポリシーA,Bに反するため一見競合したかのように見えるが、3GBに設定すれば両者を満たすのでポリシーA,Bは競合しない。)。これに対して、[4]の構成は、パラメータの許容値の範囲内、パラメータ仮設定・再検証を繰り返すことで誤判定を防ぐことができる。
【0146】
[5]
[4]に記載のポリシー競合検出装置において、
前記情報処理装置は、
前記ポリシー競合判定の判定結果、前記再検証が実行された前記パラメータに関する情報、前記自動再検証処理の実行回数及び前記刻み値を含む通知情報を他の装置に通知する、
ように構成された、
ポリシー競合検出装置。
【0147】
[5]の構成によれば、ポリシーが競合すると判定された場合には、ポリシー作成者のポリシー再考/再設定のヒントになる。更に、[5]の構成によれば、ポリシー違反と判定された場合には、違反したリソースの開発担当者の、システム構成/設定値の修正ヒントになる。
【0148】
[6]
[1]に記載のポリシー競合検出装置において、
前記情報処理装置に接続された情報入力装置を更に備え、
前記情報処理装置は、
前記再検証の評価結果の全てが、前記ポリシーを違反するとの評価結果である場合において、
前記情報入力装置に入力された内容に基づいて、前記パラメータの許容値の範囲内のパラメータ設定範囲を設定し、前記パラメータ設定範囲内で、前記評価対象システムの前記システム情報の前記パラメータの値を仮設定する仮設定と、前記仮設定した内容で前記ポリシーエンジンに前記ポリシー評価を実行させる再検証と、を含むユーザ再検証処理を少なくとも1回行い、
前記ユーザ再検証処理を行うたびに取得される前記再検証の評価結果に基づいて、前記ポリシー競合判定を更に行う、
ように構成された、
ポリシー競合検出装置。
【0149】
[6]の構成によれば、得られたフィードバック結果に疑問がある際、ユーザが条件設定をして再度処理を行うことで、ポリシー競合判定の精度を向上できる。
【符号の説明】
【0150】
80…計算機、200…競合検出装置、210…ポリシー違反検知機能、220…探索範囲算出機能、230…パラメータ仮設定機能、240…再検証機能、250…ユーザインタフェース機能、260…パラメータ探索範囲情報、270…再検証結果情報、300…システム、400…システム情報管理、500…ポリシーエンジン、600…ポリシー管理