アクセス制御ポリシーの遵守チェック用プログラム
【課題】アクセス制御のためのポリシーに対する多面的かつ網羅的なチェックを可能にし、チェック結果を容易かつ客観的に把握することを可能にするアクセス制御ポリシーの遵守チェックを実現する。
【解決手段】上記課題を解決するために、情報処理装置に、任意のリソースに対するアクセスを一括してまたは部分的に制限するアクセス権管理情報を取得するアクセス権管理情報取得処理と、リソースに対してまたは該リソースに対するアクセスに対して設定されたポリシーにしたがって、アクセス権管理情報が前記ポリシーに適合しているか否かを検査し、適合しないものを違反として検出する違反検出処理と、違反のリスクの度合いに応じてリスク得点を算出し、算出結果から前記ポリシーに対する遵守レベルを算出するポリシー遵守レベル算出処理と、算出結果を出力する結果出力処理と、を実行させる。
【解決手段】上記課題を解決するために、情報処理装置に、任意のリソースに対するアクセスを一括してまたは部分的に制限するアクセス権管理情報を取得するアクセス権管理情報取得処理と、リソースに対してまたは該リソースに対するアクセスに対して設定されたポリシーにしたがって、アクセス権管理情報が前記ポリシーに適合しているか否かを検査し、適合しないものを違反として検出する違反検出処理と、違反のリスクの度合いに応じてリスク得点を算出し、算出結果から前記ポリシーに対する遵守レベルを算出するポリシー遵守レベル算出処理と、算出結果を出力する結果出力処理と、を実行させる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理システムにおいて内部統制等に基づくアクセス制御ポリシーが適切に遵守されているか否かをチェックするプログラムに関する。
【背景技術】
【0002】
近年日本版SOX法(金融商品取引法)の施行に伴い、内部統制やコンプライアンスへの対応が求められており、ID,アクセス権についても統制を厳密に実施し、強化していくことが求められている。
【0003】
従来この分野において、Sun Java Identity Managerなどの企業内の各システムが管理するID情報を統合的に管理する機能を持つ製品や、Oracle Role Managerなどの企業内のシステムで管理しているロールを統合的に管理するシステムが、提供されており、統制強化のために、セキュリティポリシー(職務分掌)をチェックする機能が組み込まれている。
【0004】
この仕組みは、以下のようなマトリクスを利用して、チェックを行う方式である。
【0005】
【表1】
表中の○印は、ユーザが行と列で示されている2つのロールを同時に利用(所属)することがセキュリティポリシー上許されている。×は、ユーザが行と列で示されている2つのロールを同時に利用することが、セキュリティポリシー上禁止されていることを示している。
【0006】
例えば、ユーザは、ロールAとロールBを同時に利用することができない。また、ユーザは、ロールAとロールCは同時に利用することができる。このような定義に基づいて、IDやロールの統合管理するシステムは、自身で管理しているだれがどのロールに所属しているかという「ユーザ−ロール割当て情報」を使ってチェックを行う。
【0007】
上記技術に関連して、特許文献1には、RBAC(Role Based Access Control)モデルおよびTE(Type Enforcement)モデルに基づく強制アクセス制御の設定が適切であることを検証する情報処理装置について開示されている。また、特許文献2には、2ポリシー集合の置き換えに用いることのできるポリシー集合を生成するポリシー集合生成装置について開示されている。
【特許文献1】特開2007−041881号公報
【特許文献2】特開2007−072581号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
現在、多くのシステムでは、RBACといったアクセス制御モデルが採用されている。このモデルには、ユーザとロールの関係、ロールとパーミッションの関係、ロールの階層関係や職務分掌の関係などを管理している。
【0009】
このようなRBACシステムを想定した場合に、上記従来の技術の製品が提供している機能は、IDとロールの関係の関係について、セキュリティポリシーをチェックしており、その他の関係についてチェックしておらず、そのためポリシー遵守が徹底されていない。
【0010】
また、内部統制の実施において、企業内のシステム管理やセキュリティ管理の担当といったシステムに精通している人ばかりでなく、監査担当、コンプライアンス担当や、あるいは経営層といったシステムに精通していない人も係わってくるため、システムのID・アクセス権の統制が行われているかどうかについてだれが見てもわかるようにシステム毎に数値化することが必要である。
【0011】
これは、組織内のシステムにおいてどのシステムが、他のシステムに比べて、ID・アクセス権に関してどれだけちゃんと管理している/管理していないということがわかるようになり、管理していないシステムについて徹底を促すことができることや、数値化することにより、各システムの管理目標を明確化することができるといった効果がある。これらの効果は、組織内の統制強化につながる。
【0012】
本発明は、上述した問題に鑑みてなされたものであり、その解決しようとする課題は、アクセス制御のためのポリシーに対する多面的かつ網羅的なチェックを可能にし、チェック結果を容易かつ客観的に把握することを可能にするアクセス制御ポリシーの遵守チェックを実現することである。
【課題を解決するための手段】
【0013】
上記課題を解決するために、情報処理装置に、任意のリソースに対するアクセスを一括してまたは部分的に制限するアクセス権管理情報を記憶するアクセス権管理情報記憶手段から該アクセス権管理情報を取得するアクセス権管理情報取得処理と、前記リソースに対してまたは該リソースに対するアクセスに対して設定されたポリシーを記憶するポリシー記憶手段から該ポリシーを取得し、前記アクセス権管理情報が前記ポリシーに適合しているか否かを検査し、前記ポリシーに適合しないものを違反として検出する違反検出処理と、該違反のリスクの度合いに応じてリスク得点を算出し、該算出結果から前記ポリシーに対する遵守レベルを算出するポリシー遵守レベル算出処理と、該ポリシー遵守レベル算出処理の算出結果を出力する結果出力処理と、を実行させる。
【0014】
上記処理によると、アクセス権管理情報がポリシーに適合しないものを違反として検出し、検出した違反全体または特定の違反毎にポリシーの遵守レベルを算出する。そして、算出結果を違反全体または一部の違反毎にポリシーの遵守レベルを、例えば、表示装置に出力し、表示データとして記憶装置に出力する。
【発明の効果】
【0015】
以上に説明した処理により、アクセス制御のためのポリシーに対して多面的かつ網羅的なチェックを可能にし、チェック結果を容易かつ客観的に把握することを可能にするアクセス制御ポリシーの遵守チェックが実現される。
【発明を実施するための最良の形態】
【0016】
以下、本発明の実施形態について、図1〜図53に基づいて説明する。
1. 本実施例の概要
図1は、本実施例に係るアクセス制御ポリシー遵守のチェック機構を備える統合セキュリティ管理システム100の構成例を示す図である。
【0017】
図1に示す統合セキュリティ管理システム100は、各サーバA、BおよびCに対してアクセス制御を行なうアクセス制御ポリシー(以下、必要に応じて「ポリシー」という)の配布・収集を行なう統合アクセス制御情報管理部110と、各サーバA、BおよびCにおけるユーザアカウント等を統合的に管理する統合ID管理部120と、を備える。
【0018】
なお、各サーバA、BおよびCから出力されるログの全部または一部は、監査ログとして監査ログ記憶部130に記憶される。必要に応じて、監査ログ記憶部130を統合セキュリティ管理システム100の構成要素としてもよい。また、図1では、サーバA、BおよびCからなるサーバシステムを示しているが、サーバの数を限定する趣旨でないのは当然である。
【0019】
統合アクセス制御情報管理部110は、各サーバA、BおよびCに対してポリシーの配布・収集を行なう設定アダプタ111と、ポリシーを生成するポリシー生成部112と、生成したポリシーやRBACポリシー等を記憶するRBACポリシー記憶部113と、各サーバA、BおよびCにおけるリソースの構成情報を各サーバから取得・管理するリソース構成情報管理部114と、ポリシーをチェックするルール等を記憶するポリシーチェックルール記憶部115と、ポリシーチェックルール記憶部115に記憶されているポリシーチェックルールにしたがってポリシーのチェック・修正を行なうポリシーチェック・修正部116と、を備えることにより、システム全体で一貫したアクセス制御を行うためのアクセス権を管理(生成、編集、削除等)し、各サーバシステムのアクセス制御機構で可読な形式でアクセス権を配付する。
【0020】
ポリシーチェック・修正部116は、例えば、RBACポリシー記憶部113に記憶されたRBACポリシーやRBACポリシー記憶部113若しくは統合ID管理部120に記憶されたアクセス権設定情報を取得し、監査ログ記憶部103から監査ログとして記憶されているアクセスログを取得する。
【0021】
アクセス権設定情報とは、例えば、後述するロール−ユーザ対応表などのユーザ情報、ユーザ−ロール割当て情報、パーミッション−ロール割当て情報、ロール情報、などをいい、必要に応じて職務分掌ルール情報等を含めてもよい。
【0022】
ロールとは、論理的な中間体であって、例えばリソースなどのオブジェクトに対するアクセスに関する設定等をグループ化したものである。例えば、RBACシステムでは、アクセス権(読み取り、書き込み、変更、削除など)などをグループ化したものをいう。
【0023】
また、ポリシーチェック・修正部116は、ポリシーチェックルール記憶部115から所定のポリシーチェックルールを取得する。そして、ポリシーチェックルールに違反した設定があるかどうかを検知し、ポリシー遵守レベルを算出する(数値化する)。また、ポリシーチェック・修正部116は、検出した違反に対して修正案を提示する。
【0024】
ポリシーチェックルールとは、例えば、後述するユーザへのロール割当て禁止ルール、ロールへのパーミッション割当て禁止ルール、ユーザへのパーミッション割当て禁止ルールなどである。
【0025】
リソース構成情報管理部114は、統合的なアクセス制御実現に必要な、アクセス制御対象となるリソースの構成情報を各サーバA、BおよびCから収集し、ポリシー作成のために統合アクセス情報管理で管理する。
【0026】
リソースとは、本実施例に係る統合セキュリティ管理システム100の管理対象であって、各サーバを構成し若しくはサーバ上で動作する構成要素をいう。例えば、各サーバに備わるメモリやデータファイル、各サーバ上で動作するアプリケーション等である。
【0027】
また、アクセスとは、リソースに対して行なう操作のことをいう。例えば、任意のサーバ上またはサーバが備える記憶装置等に記憶されたファイルに対するRead/Write処理などである。
【0028】
統合ID管理部120は、統合的なアクセス制御を実現するために、サーバA、BおよびCからなるサーバシステムや統合セキュリティ管理システム100を含むシステム全体で一意なユーザIDとその属性情報(資格、役割等)とを一元管理し、管理対象システムと同期をとると共に、ポリシー作成に必要なユーザID等を統合アクセス制御情報管理部110に通知する。
【0029】
また、統合ID管理部102は、ロール−ユーザ対応表等のユーザ情報を管理し、必要に応じて統合アクセス制御情報管理部110に配付する。
2. ポリシー遵守レベル測定対象
本実施例に係る統合アクセス制御情報管理部110は、アクセス権の管理対象であるユーザ情報、ユーザ−ロール割当て情報、パーミッション−ロール割当て情報、ロール情報、職務分掌ルール情報(以下、これらの情報を「アクセス権管理情報」という)について、ポリシーを遵守しているかどうかを検知し、検知された設定情報等のリスクの強弱に応じて得点化を行なう。さらに、サーバや保護されるリソース集合の単位で、その総合得点を計算することで、他のサーバやリソース集合の管理におけるポリシー遵守度合いを比較可能にする。
【0030】
本実施例に係る統合セキュリティ管理システム100では、RBACシステムにおけるポリシーの遵守レベルを計測する場合について説明する。なお、RBACシステムについては、従来技術であるので、詳細な説明は省略する。
【0031】
図2は、本実施例に係る統合セキュリティ管理システム100におけるポリシー遵守レベルのチェック対象を説明する図である。図2に示すように、次の項目についてポリシーチェックルールに違反した件数を取得し、その結果を用いて遵守のレベルを数値化する。
【0032】
(1)不適切なユーザアカウントの検出
不適切なユーザアカウントとしては、例えば、利用者を特定できないユーザ、使用されていないユーザ、職制移動したが残っているユーザについてのアカウントなどが考えられる。
【0033】
(2)不適切なユーザ−ロール割当ての検出
不適切なユーザ−ロール割当てとしては、例えば、使用されていないユーザ−ロール割当て、ユーザの同時割当てが禁止されたロールについてユーザ−ロール割当てが行なわれている、などが考えられる。
【0034】
(3)不適切なパーミッション−ロール割当ての検出
不適切なパーミッション−ロール割当てとしては、使用されていないパーミッション−ロール割当て、ユーザの同時割当てが禁止されているパーミッションについてパーミッション−ロール割当てが行なわれている、などが考えられる。
【0035】
(4)不要なロールの検出
不要なロールとしては、例えば、使用されていないロール、親子関係が禁止されたロール、などが考えられる。
【0036】
(5)職務分掌違反の検出
職務分掌違反としては、例えば、ユーザの同時割当てが禁止されたロールについてユーザ−ロール割当てが行なわれている、パーミッションの同時割当てが禁止されているロールまたはユーザについてパーミッションーロール割当てが行なわれている、などが考えられる。
【0037】
3. 本実施例に係る処理の概要
図3は、本実施例に係る統合セキュリティ管理システム100の処理の概要を示すフローチャートである。
【0038】
ステップS300において、統合セキュリティ管理システム100は、アクセス制御ポリシーの遵守をチェックする処理を開始すると、ステップS301に移行する。
ステップS301において、統合セキュリティ管理システム100は、必要に応じて、統合ID管理部120、RBACポリシー記憶部113またはポリシーチェックルール記憶部115からアクセス権管理情報を取得する。
【0039】
本実施例では、アクセス権管理情報のうちユーザID等のユーザ情報は、統合ID管理部120に記憶されている。また、ユーザ−ロール割当て情報、パーミッション−ロール割当て情報およびロール情報は、RBACポリシー記憶部113に記憶され、職務分掌ルール情報は、ポリシーチェックルール記憶部115に記憶されている。
【0040】
ステップS302において、統合セキュリティ管理システム100は、ステップS301で取得したアクセス権管理情報に応じて、ポリシーチェックルール記憶部115からポリシーチェックルールを取得し、当該ルール等に関する違反を検出する。
【0041】
本実施例では、図2で説明したように、ステップS301で取得したアクセス権管理情報に応じて、(1)不適切なユーザアカウント、(2)不適切なユーザ−ロール割当て、(3)不適切なパーミッション−ロール割当て、(4)不要なロール、(5)職務分掌違反を違反として検出する。これらの(1)〜(5)の処理については、後述する。
【0042】
ステップS303において、統合セキュリティ管理システム100は、ステップS302で検出した違反の件数等に基づいて、ポリシー遵守レベルを算出する。
ステップS304において、統合セキュリティ管理システム100は、ステップS303の算出結果を表示装置等に出力して表示する。そして、統合セキュリティ管理システム100は、ステップS305に移行して処理を終了する。
【0043】
以下、ステップS302〜S304の具体的な処理について説明する。
3.1 不適切なユーザアカウントの検出処理
アクセス権管理の中で、不適切なユーザIDがあると、不正なアクセスや、情報漏洩・情報の改ざんの原因となるため、ユーザIDを適切に管理することが必要となる。
【0044】
本実施例では、アクセス権管理の管理対象であるユーザ情報を使って、使っていないユーザID、利用者を特定できないユーザID、または、異動したがアカウントが残っているユーザを、不適切なユーザと定義し、それを検出し、検出結果を、そのリスクの強弱に応じて分類し、得点化することで、ユーザIDを適切に管理することを可能にする。
【0045】
図4は、本実施例に係る不適切なユーザIDの検出処理の概要を示す図である。
ポリシーチェック・修正部116は、統合ID管理部120から表21に示すロール−ユーザ対応表を取得する。また、ポリシーチェック・修正部116は、人事システム410などの例えば異動者情報記憶部411に記憶されている従業員に関する情報から作成された異動や退職したユーザリスト(以下、「異動者リスト」という)を取得する。
【0046】
異動者情報記憶部411は、例えば、必要に応じて統合セキュリティ管理システム100に備えてもよいし、人事システム410を構成するサーバA、B、またはC等に備えられていてもよい。
【0047】
また、ポリシーチェック・修正部116は、統合ID管理部120からユーザ情報402を取得する。そして、ポリシーチェック・修正部116は、取得した情報を利用し、不適切なユーザアカウントを検出する。さらに、ポリシーチェック・修正部116は、検出結果を、表3に示す不適切なユーザのリスク得点表501に基づいて数値化する。
【0048】
図5は、本実施例に係る不適切なユーザアカウントの定義を説明する図である。
図5に示すように、本実施例に係る不適切なユーザアカウントは、
(a)「利用者を特定できないユーザID」∪
(b)「使用されていないユーザID」∪
(c)「職制異動したがIDが残っているユーザID」
と定義する。
【0049】
ここで、本実施例では、システムのユーザIDリスト(以下、「ユーザリスト」という)を、ユーザ情報302として使用する。表2にその具体例を示す。表2では、ユーザIDとメールアドレス、最終利用日時という項目をもつテーブルである。
【0050】
【表2】
表2を用いた場合、(a)「利用者を特定できないユーザID」は、メールアドレスがないユーザと定義することができる。例えば、表2では2行目の「bbbbb」は、メールアドレスがないため、利用者を特定できないIDとなる。
【0051】
なお、本実施例では、メールアドレスがないユーザを「利用者を特定できないユーザID」と定義しているが、これに限定する趣旨ではない。例えば、内線番号や外線番号、Fax番号など利用者との連絡手段がない場合に「利用者と特定できないユーザID」と定義してもよい。
【0052】
また、表2を用いた場合、(b)「使用されていないユーザID」は、最終利用日時が現在時刻よりも所定期間以前のユーザIDと定義することができる。
また、表2を用いた場合、(c)「職制異動(退職含む)したがIDが残っているユーザID」は、人事システム410などの従業員に関する情報などから作成された異動や退職したユーザリスト(異動者リスト)に載っているユーザのユーザIDと定義することができる。
【0053】
以上の定義にしたがって、不適切なユーザアカウントを検出する処理を以下に説明する。
図6は、本実施例に係る不適切なユーザアカウントを検出する具体的な処理を示すフローチャートである。
【0054】
例えば、図3に示したステップS301において、統合ID管理部120から表2に示したユーザ情報(ユーザリスト)を取得し、人事システム410から異動者リストを取得すると、ポリシーチェック・修正部116は、処理をステップS601に移行する。そして、不適切なユーザアカウントの検出処理を開始する。
【0055】
ステップS602において、ポリシーチェック・修正部116は、ユーザリストのi(iは1以上の自然数)番目のユーザIDのUiをチェック対象のユーザIDに設定する。
そして、ポリシーチェック・修正部116は、ユーザリストにおけるメールアドレスを参照し、ユーザIDUiにメールアドレスが登録されているか否かをチェックする。また、ポリシーチェック・修正部116は、ユーザリストにおける最終利用日時を参照し、当該最終利用日時が現在時刻よりも所定期間以上前であるか否かをチェックする。また、ポリシーチェック・修正部116は、異動者リストを参照し、ユーザIDUi(または、Uiに該当するユーザ)が当該異動者リストに登録されているか否かをチェックする。
【0056】
ステップS603において、ユーザIDUiにメールアドレスが登録されている場合、ポリシーチェック・修正部116は、処理をステップS604に移行する。そして、ポリシーチェック・修正部116は、該当するユーザIDUiを、特定できないユーザアカウントとして記憶装置等に記憶する。
【0057】
ステップS605において、当該最終利用日時が現在時刻よりも所定期間以上前である場合、ポリシーチェック・修正部116は、処理をステップS606に移行する。そして、ポリシーチェック・修正部116は、該当するユーザIDUiを、利用されていないユーザアカウントとして記憶装置等に記憶する。
【0058】
ステップS607において、ユーザIDUiが異動者リストに登録されている場合、ポリシーチェック・修正部116は、処理をステップS610に移行する。そして、ポリシーチェック・修正部116は、該当するユーザIDUiを、異動したが残っているユーザアカウントとして記憶装置等に記憶する。
【0059】
ステップS609において、ポリシーチェック・修正部116は、ユーザIDUiが表3に示す分類(A)〜(G)の何れに該当するかを判断する。そして、表3に該当する分類がある場合、ポリシーチェック・修正部116は、処理をステップS610に移行する。
【0060】
ステップS601において、ポリシーチェック・修正部116は、ユーザIDUiとリスク分類とリスク得点を、記憶装置等に用意したユーザリスク検出リストに記録する。
ステップS611において、ポリシーチェック・修正部116は、全てのユーザIDについてチェックが完了したか否かを確認する。そして、チェックすべきユーザIDがユー
ザリストにある場合、ポリシーチェック・修正部116は、処理をステップS612に移行する。
【0061】
ステップS612において、ポリシーチェック・修正部116は、iを1だけインクリメントし、処理をステップS602に移行する。ステップS602では、ユーザリストにおける次のユーザIDをチェック対象のユーザIDに設定する。
【0062】
一方、ステップS613において、全てのユーザIDについてチェックが完了した場合、ポリシーチェック・修正部116は、処理をステップS613に移行し、不適切なユーザアカウントの検出処理を終了する。
【0063】
ここで、(a)「利用者を特定できないユーザID」と、(b)「使用されていないユーザID」と、(c)「職制異動したがIDが残っているユーザID」の集合の関係を図7に示す。
【0064】
図7に示す集合(A)は、「利用者を特定できないユーザID」かつ「使用されているユーザID」かつ「職制異動していないユーザID」の集合を示し、集合(B)は、「利用者を特定できるユーザID」かつ「使用されていないユーザID」かつ「職制異動していないユーザID」の集合を示し、集合(C)は、「利用者を特定できるユーザID」かつ「使用されているユーザID」かつ「職制異動したがIDが残っているユーザID」の集合を示す。
【0065】
また、集合(D)は、「利用者を特定できないユーザID」かつ「使用されていないユーザID」かつ「職制異動したがIDが残っているユーザID」の集合を示す。
また、集合(E)は、「利用者を特定できないユーザID」かつ「使用されていないユーザID」かつ「職制異動していないユーザID」の集合を示し、集合(F)は、「利用者を特定できるユーザID」かつ「使用されていないユーザID」かつ「職制異動したがIDが残っているユーザID」の集合を示し、集合(G)は、「利用者を特定できないユーザID」かつ「使用されているユーザID」かつ「職制異動したがIDが残っているユーザID」の集合を示す。
【0066】
この図の各集合についてのリスクを考慮することにより、例えば、表3に示すリスク得点(リスクが高ければ高い点数)テーブルが得られる。
【0067】
【表3】
なお、表3に示した得点は、点数が大きいほど検出した不適切なユーザアカウントの分類のリスクが高いことを示している。ただし、表3に示した得点は、これに限定する趣旨ではなく、必要に応じてリスクの高いと思われるものに高い特定を設定すればよい。
【0068】
以上に説明した処理によって、ユーザID毎のリスク値と、全てのリスク値の合計を算出すると、ポリシーチェック・修正部116は、処理結果を、ポリシー遵守レベルとして表示装置等に出力して表示する。
【0069】
図8は、不適切なユーザアカウントの検出処理におけるポリシー遵守レベルの表示例を示す図である。本実施例では、ユーザID毎のリスク点数と、その合計点をリスク評価値として表示している。
【0070】
3.2 不適切なユーザ−ロール割当ての検出処理
アクセス権管理において、不適切なユーザ−ロール割当てがあると、不正なアクセスや、情報漏洩・情報の改ざんの原因となる。そのため、ユーザ−ロール割当てを適切に管理する必要がある。
【0071】
本実施例では、アクセス権管理の管理対象であるユーザ−ロール割当て情報に関し、不適切なユーザ−ロール割当て情報を、使用していないユーザ−ロール割当てとユーザへのロール割当て禁止の違反割当てとで定義し、それを検出し、検出結果を、そのリスクの強弱に応じて分類し、得点化することで、ユーザ−ロール割当てを適切に管理する。
【0072】
図9は、本実施例に係る不適切なユーザ−ロール割当ての検出処理の概要を示す図であ
る。
ポリシーチェック・修正部116は、統合ID管理部120からユーザ情報901(例えば、表21に示すロール−ユーザID対応表)を取得する。また、ポリシーチェック・修正部116は、監査ログ記憶部130から例えば表22に示すアクセスログ902を取得する。
【0073】
そして、ポリシーチェック・修正部116は、ユーザ情報901とアクセスログ902とから使用していないユーザロール割当てを検出する。また、ポリシーチェック・修正部116は、例えば表5に示すあらかじめ設定されたロール割当て禁止ルール903に基づいて、ユーザ−ロール割当てに関するロール割当て禁止違反を検出する。そして、ポリシーチェック・修正部116は、検出結果を、表7に示すあらかじめ用意された不適切なユーザ−ロール割当てのリスク得点表904を用いて数値化する。
【0074】
本実施例では、不適切なユーザ−ロール割当てを、
(a)「使用されていないユーザ−ロール割当て」∪
(b)「ユーザへのロール割当て禁止の違反割当て」
と定義する。
【0075】
図10は、本実施例に係る不適切なユーザ−ロール割当ての検出処理の概要を示すフローチャートである。
例えば、図3に示したステップS301において、統合ID管理部120からユーザ情報901(例えば、表21に示すロール−ユーザ対応表)を取得し、監査ログ記憶部130から例えば表22に示すアクセスログ902を取得すると、ポリシーチェック・修正部116は、処理をステップS1001に移行する。そして、不適切なユーザ−ロール割当ての検出処理を開始する。
【0076】
ステップS1001において、ポリシーチェック・修正部116は、ユーザ情報901とアクセスログ902とから使用していないユーザロール割当てを検出する。
ステップS1002において、ポリシーチェック・修正部116は、あらかじめ設定されたロール割当て禁止ルール903に基づいて、ユーザ−ロール割当てに関するロール割当て禁止違反を検出する。
【0077】
ステップS1003において、ポリシーチェック・修正部116は、ステップS1001およびステップS1002における検出結果から、不適切なユーザ−ロール割当てのリスク得点表904に基づいてリスク評価値を算出する。
【0078】
以上の処理が終了すると、ポリシーチェック・修正部116は、処理をステップS304に移行し、ポリシー遵守レベルとして算出したリスク評価値を出力装置等に出力して表示する。
【0079】
ここで、ステップS1001における「使用されていないユーザ−ロ−ル割当て」の検出では、表4に示すユーザ−ロール対応表(表21をユーザをキーにソートしたもの)と、表22に示すアクセスログと、から使用されていないユーザ−ロール割当てを検出する。
【0080】
【表4】
【0081】
3.2.1 使用されていないユーザ−ロール割当ての検出処理
図11は、本実施例に係る使用されていないユーザ−ロ−ル割当て検出処理(ステップS1001)の具体的な処理を示すフローチャートである。
【0082】
ステップS1101において、ポリシーチェック・修正部116は、ユーザ−ロール対応表のi番目のユーザIDであるUiを取得する。そして、ポリシーチェック・修正部116は、アクセスログ902を参照し、当該Uiについてのアクセスログが記録されているアクセスログを抽出する。
【0083】
ステップS1102において、ポリシーチェック・修正部116は、ユーザ−ロール対応表のUiにおけるj(jは1以上の自然数)番目のロールRjを取得する。そして、ポリシーチェック・修正部116は、ステップS1101で抽出したアクセスログのうち、当該Rjに対するアクセスログが記録されているか否かを確認する。
【0084】
ステップS1103において、ポリシーチェック・修正部116は、ステップS1102の確認の結果、UiがRjを使用したアクセスログを確認できなかった場合、処理をステップS1104に移行し、当該UiのRjを記憶装置等に記憶する。
【0085】
ステップS1105において、ポリシーチェック・修正部116は、ユーザ−ロール対応表にUiに所属する未チェックのロールがあるか否かを判断する。そして、未チェックのロールがあると判断した場合、ポリシーチェック・修正部116は、処理をステップS1106に移行する。
【0086】
そして、ポリシーチェック・修正部116は、jを1だけインクリメントすると、処理をステップS1102に移行する。
ステップS1107において、ポリシーチェック・修正部116は、ユーザ−ロール対応表に未チェックのユーザがあるか否かを判断する。未チェックのユーザがあると判断した場合、ポリシーチェック・修正部116は、処理をステップS1108に移行する。
【0087】
そして、ポリシーチェック・修正部116は、iを1だけインクリメントすると、処理をステップS1101に移行する。
一方、ステップS1107において、未チェックのユーザがないと判断した場合、ポリシーチェック・修正部116は、ユーザが使用していないロールを検出する処理を終了し(ステップS1109)、ステップS1002に移行する。
【0088】
以上の処理によって、ユーザが使用していないロールのリストが得られる。
なお、ステップS1002における「ユーザへのロール割当て禁止の違反割当て」の検出において、ユーザへのロール割当て禁止のルール903は、例えば表5のようにロールのペアとして定義される。以下の例の1番目は、R1とR2を同じユーザに割当ててはいけないことを意味する。2番目は、R1とR5を同じユーザに割当ててはいけないことを意味している。
【0089】
【表5】
【0090】
3.2.2 ユーザへのロール割当て禁止の違反割当ての検出処理
図12は、本実施例に係るロール割当て禁止に違反するロール割当て検出処理(ステップS1002)の具体的な処理を示すフローチャートである。なお、図12に示す処理では、入力として、表4に示したユーザ−ロール対応表と、表5に示したロール割当て禁止ルール903と、が入力される。
【0091】
ステップS1001の処理が終了すると、ポリシーチェック・修正部116は、処理をステップS1201に移行し、ユーザ−ロール割当てがロール割当て禁止ルール903に違反しているか否かをチェックする処理を開始する。
【0092】
ステップS1201において、ポリシーチェック・修正部116は、記憶装置等にあらかじめ記憶されたロール割当て禁止ルール903を取得する。
ステップS1202において、ポリシーチェック・修正部116は、ユーザ−ロール対応表を参照し、チェック対象のユーザIDを特定する。以下、ユーザ−ロール対応表のi番目のユーザIDをUiとして説明する。
【0093】
ステップS1203において、ポリシーチェック・修正部116は、ユーザ−ロール対応表を参照し、Uiに対して割当てられているロールを特定する。以下、ユーザ−ロール対応表において、Uiに対してj番目に割当てられているロールをRjとする。
【0094】
ステップS1204において、ポリシーチェック・修正部116は、例えば、表5に示したロール割当て禁止ルールを参照し、ステップS1203で特定したロールRjが、当該ロール割当て禁止ルールに登録されているか否かをチェックする。
【0095】
そして、Rjがロール割当て禁止ルールに登録されていた場合、ポリシーチェック・修正部116は、処理をステップS1205に移行する。
ステップS1205において、ポリシーチェック・修正部116は、ロール割当て禁止ルールにRjとともに登録されているロール(以下、「Rj’」とする)を取得する。そして、ポリシーチェック・修正部116は、ユーザ−ロール対応表を参照し、Uiに対してRj’が割当てられているか否かをチェックする。
【0096】
そして、ユーザ−ロール対応表において、Uiに対してRj’が割当てられている場合、ポリシーチェック・修正部116は、処理をステップS1206に移行し、違反しているUi、RjおよびRj’を1組のデータとして、記録装置等に記憶する。
【0097】
ステップS1207において、ポリシーチェック・修正部116は、ユーザ−ロール対応表を参照し、Uiに対して割当てられているロールであってチェックしていないものがあるか否かをチェックする。チェックしていないロールがある場合、ポリシーチェック・修正部116は、処理をステップS1208に移行し、jを1だけインクリメントする。そして、処理をステップS1203に移行する。
【0098】
また、ステップS1207において、チェックしていないロールがない場合、ポリシーチェック・修正部116は、処理をステップS1209に移行する。
ステップS1209において、ポリシーチェック・修正部116は、ユーザ−ロール対応表を参照し、チェックすべきユーザIDが他にあるか否かをチェックする。チェックすべきユーザIDがある場合、ポリシーチェック・修正部116は、処理をステップS1210に移行し、iを1だけインクリメントする。そして、処理をステップS1202に移行する。
【0099】
また、ステップS1209において、チェックすべきユーザIDがない場合、ポリシーチェック・修正部116は、ステップS1211に移行し、ユーザ−ロール割当てがロール割当て禁止ルールに違反しているかのチェック処理を終了する。
【0100】
以上の処理により出力される違反リストは表6のようなものになる。例えば、ユーザIDがU2の場合、R1とR2の同時割当てが禁止されているルールに違反していることを示している。
【0101】
【表6】
【0102】
図11および12で詳細したように、ステップS1001およびS1002の処理により、使用されていないユーザ−ロール割当てとロール割当て禁止ルールに違反した割当てが検出される。そして、ポリシーチェック・修正部116は、この検出結果から、次表に示すケースの場合分けに応じて、リスク評価値を計算する。なお、表7に示すリスク得点は、これに限定する趣旨でないのは当然である。
【0103】
【表7】
ポリシーチェック・修正部116は、ステップS1001およびS1002の処理結果を表7に示す分類にしたがって分類し、得点を算出する。
【0104】
例えば、表6のユーザIDがU2の場合、表5に示したロール割当て禁止ルールの番号1に違反していることを示している。一方、表4に示したユーザ−ロール対応表には、U2に対してR1およびR5が設定されている。
【0105】
すなわち、U2は、ロール割当て禁止ルールの番号1に規定されているロール(R1、R5)のうちの1つのロールを使用している。したがって、ポリシーチェック・修正部116は、表7に示すNo.2のケースに該当すると判断し、リスク評価値として得点2を取得する。
【0106】
さらに、ポリシーチェック・修正部116は、ユーザID毎に得られた得点の合計値を計算し、表示装置等に出力して一定のフォーマットにしたがって表示する。
図13は、不適切なユーザ−ロール割当ての検出処理におけるポリシー遵守レベルの表示例を示す図である。本実施例では、ユーザID毎に、ロール割当て禁止ルールに違反したロール、使用してないロール、違反の説明、リスク点数を表示し、また、その合計点をリスク評価値として表示している(図13では、リスク評価値が「39」の場合を示している)。
【0107】
3.3 不適切なパーミッション−ロール割当ての検出処理
アクセス権管理において、不適切なパーミッション−ロール割当てがあると、不正なアクセスや、情報漏洩・情報の改ざんの原因となる。そのため、パーミッション−ロール割当ては適切に管理される必要がある。
【0108】
本実施例では、アクセス権管理の管理対象であるパーミッション−ロール割当て情報に関し、アクセス権管理の管理対象であるパーミッション−ロール割当て情報を使って、不適切なパーミッション−ロール割当てを、使用していないパーミッション−ロール割当てとパーミッション割当て禁止の違反割当てと定義し、それを検出し、検出結果を、そのリスクの強弱に応じて分類し、得点化することで、ユーザ−ロール割当てを適切に管理する。
【0109】
ポリシーチェック・修正部116は、監査ログ記憶部103から、例えば表22に示すアクセスログ1401を取得する。また、ポリシーチェック・修正部116は、RBACポリシー記憶部113からから、例えば表20に示すパーミッション−ロール情報1402を取得する。
【0110】
また、ポリシーチェック・修正部116は、アクセスログ1401とパーミッション−ロール情報1402とから使用していないパーミッションを検出する。
そして、ポリシーチェック・修正部116は、検出した使用していないパーミッションと、例えば表8に示すあらかじめ設定されたパーミッション割当て禁止ルール1403と、に基づいて、不適切なパーミッション−ロール割当てを検出する。そして、ポリシーチェック・修正部116は、検出結果を、例えば表11に示すあらかじめ用意された不適切なパーミッション割当てのリスク得点表1404を用いて数値化する。
【0111】
本実施例では、不適切なパーミッション−ロール割当てを、
(a)「使用されていないパーミッション」∪
(b)「職務分掌上(業務オペレーション上)ロールが同時に持つことが禁止されているパーミッション」
と定義する。
【0112】
図15は、本実施例に係る不適切なパーミッション−ロール割当ての検出処理の概要を示すフローチャートである。
例えば、図3に示したステップS301において、監査ログ記憶部103から例えば表22に示すアクセスログ1401を取得し、RBACポリシー記憶部113から例えば表20に示すパーミッション−ロール情報1402を取得すると、ポリシーチェック・修正部116は、処理をステップS1501に移行する。そして、不適切なパーミッション−ロール割当ての検出処理を開始する。
【0113】
ステップS1501において、ポリシーチェック・修正部116は、アクセスログ1401とパーミッション−ロール情報1402から使用していないパーミッションを検出する。
【0114】
ステップS1502において、ポリシーチェック・修正部116は、例えば表8に示すあらかじめ設定されたパーミッション割当て禁止ルール1403に基づいて、パーミッション−ロール割当てに関するパーミッション割当て禁止違反を検出する。
【0115】
ステップS1503において、ポリシーチェック・修正部116は、ステップS1501およびS1502における検出結果から、不適切なパーミッション−ロール割当てのリスク得点表1404に基づいてリスク評価値を算出する。
【0116】
以上の処理が終了すると、ポリシーチェック・修正部116は、処理をステップS304に移行し、ポリシー遵守レベルとして算出したリスク評価値を出力装置等に出力して表示する。
【0117】
3.3.1 使用されていないパーミッションの検出処理
「使用されていないパーミッション」の検出処理は、図11に示した「使用されていないユーザ−ロ−ル割当て」の検出処理と同様の処理によって行なうことができる。この場合、ユーザ情報901に替えてパーミッション−ロール情報1402を使用し、アクセスログ902に替えてアクセスログ1401を使用すればよい。
【0118】
また、本実施例では、パーミッション割当て禁止ルール1403の例として、職務分掌上同時に持つことが禁止されているパーミッションについてのルールを使用する。このルールの例を表8に示す。表8は、職務分掌上同時に持つことが禁止されているパーミッションの組として定義されている。
【0119】
例えば、ルール番号1は、パーミッションp1とp3とを同時に持つことが禁止されていることを示している。
【0120】
【表8】
【0121】
以下では、RBACシステム上において、(b)「職務分掌上(業務オペレーション上)ロールが同時に持つことが禁止されているパーミッション」が設定されているかどうかを検出する処理について説明するが、RBACシステム以外のシステムであっても同様の処理である。
【0122】
また、ここで使用するロールとパーミッションの対応表(以下、「ロール−パーミッション対応表」という)の例を以下の表9に示す。表中、「0」は割当てなしを示し、「1」は割当て有りを示す。例えば、R1は、パーミッションp1、p4およびp5が割当てられていることを示す。
【0123】
【表9】
【0124】
3.3.2 職務分掌上ロールが同時に持つことが禁止されているパーミッションの検出処理
図16は、本実施例に係るロールが同時使用禁止のパーミッションを所有しているか否かのチェック処理(ステップS1502)の具体的な処理を示すフローチャートである。
【0125】
ステップS1501の処理が終了すると、ポリシーチェック・修正部116は、処理をステップS1601に移行し、パーミッション割当て禁止ルール1403に違反したパーミッション(ロールが同時所有禁止パーミッション)を所有しているか否かをチェックする処理を開始する。
【0126】
ステップS1601において、ポリシーチェック・修正部116は、記憶装置等にあらかじめ記憶されたパーミッション割当て禁止ルール1403を取得する。同様に、ポリシーチェック・修正部116は、統合ID管理部120などから、例えば表21に示すロール−ユーザ対応表、例えば表9に示すロール−パーミッション対応表を取得する。
【0127】
ステップS1602において、ポリシーチェック・修正部116は、ロール−パーミッション対応表を参照し、チェック対象のロールを特定する。以下、ロール−パーミッショ
ン対応表のi番目のロールをRiとして説明する。
【0128】
ステップS1603において、ポリシーチェック・修正部116は、ロール−パーミッション対応表を参照し、Riに対して割当てられているパーミッションを特定する。以下、ロール−パーミッション対応表において、Riに対してj番目に割当てられているパーミッションをPjとする。
【0129】
ステップS1604において、ポリシーチェック・修正部116は、ステップS1601で取得したパーミッション割当て禁止ルール1403の同時所有禁止パーミッションリストを参照し、ステップS1603で特定したパーミッションPjが、当該パーミッション割当て禁止ルール1403に登録されているか否かをチェックする。
【0130】
そして、Pjがパーミッション割当て禁止ルール1403に登録されている場合、ポリシーチェック・修正部116は、処理をステップS1605に移行する。
ステップS1605において、ポリシーチェック・修正部116は、パーミッション割当て禁止ルール1403にPjとともに登録されているパーミッション(以下、「Pj’」という)を取得する。そして、ポリシーチェック・修正部116は、ロール−パーミッション対応表を参照し、Ri対してパーミッションPj’が割当てられているか否かをチェックする。
【0131】
そして、ロール−パーミッション対応表おいて、Riに対してPj’が割当てられている場合、ポリシーチェック・修正部116は、処理をステップS1606に移行し、違反しているRi、PjおよびPj’を1組のデータとして、記録装置等に記憶する。
【0132】
ステップS1607において、ポリシーチェック・修正部116は、ロール−パーミッション対応表を参照し、Riに対して割当てられているパーミッションであってチェックしていないものがあるか否かをチェックする。チェックしていないパーミッションがある場合、ポリシーチェック・修正部116は、処理をステップS1608に移行し、jを1だけインクリメントする。そして、処理をステップS1603に移行する。
【0133】
また、ステップS1607において、チェックしていないパーミッションがある場合、ポリシーチェック・修正部116は、処理をステップS1609に移行する。
ステップS1609において、ポリシーチェック・修正部116は、ロール−パーミッション対応表を参照し、チェックすべきロールが他にあるか否かをチェックする。チェックすべきロールがある場合、ポリシーチェック・修正部116は、処理をステップS1610し、iを1だけインクリメントする。そして、処理をステップS1602に移行する。
【0134】
また、ステップS1609において、チェックすべきロールがない場合、ポリシーチェック・修正部116は、ステップS1611に移行し、パーミッション割当て禁止ルール1403に違反したパーミッション(ロールが同時所有禁止パーミッション)を所有しているか否かをチェックする処理を終了する。
【0135】
以上の処理により出力される違反リストは表10のような結果が得られる。例えば、R3は、パーミッションp2とp4の同時割当てが禁止されたルールに違反していることを示している。
【0136】
【表10】
【0137】
以上に説明したように、ステップS1501およびS1502の処理により、使用されていないパーミッション割当てとパーミッション割当て禁止ルール1403に違反した割当てが検出される。そして、ポリシーチェック・修正部116は、この検出結果から、表11に示すケースの場合分けに応じて、リスク評価を算出する。なお、表11に示すリスク得点は、これに限定する趣旨でないのは当然である。
【0138】
【表11】
例えば、表11に示すケースNo.1は、ステップS1502の処理によって検出したパーミッション割当て禁止ルール1403に違反しているパーミッション(例えば、表10に示すパーミッション)のうち、2つのパーミッションが両方とも使用されている場合、リスク得点を3とすることを示している。
【0139】
さらに、ポリシーチェック・修正部116は、ロール毎に得られた得点の合計値を計算し、表示装置等に出力して一定のフォーマットにしたがって表示する。
図17は、不適切なパーミッション−ロール割当て処理におけるポリシー遵守レベルの表示例を示す図である。本実施例では、ロール毎に、パーミッション割当て禁止ルール1403に違反したパーミッション、使用していないパーミッション、違反の説明、リスク点数を表示し、また、その合計点をリスク評価値として表示している(図17では、リスク評価値が「7」の場合を示している)。
【0140】
3.4 不適切なロールの検出処理
ポリシーチェック・修正部116は、監査ログ記憶部103から例えば表22に示すアクセスログ1801を取得する。また、ポリシーチェック・修正部116は、RBACポリシー記憶部113から、例えば表20に示すパーミッション−ロール情報1802と、例えば表12に示すロール階層情報1803と、を取得する。
【0141】
そして、ポリシーチェック・修正部116は、アクセスログ1801、パーミッション−ロール情報1802およびロール階層情報1803から使用していないロールを検出する。
【0142】
そして、ポリシーチェック・修正部116は、検出した使用していないロールと、例えば表5に示すロール割当て禁止ルール1804と、例えば表8に示すパーミッション割当て禁止ルール1805と、に基づいて、不適切なロールを検出する。そして、ポリシーチェック・修正部116は、検出結果を、例えば表3に示すあらかじめ用意された不適切なロールのリスク得点表1806を用いて数値化する。
【0143】
本実施例では、不適切なロールを、
(a)「使用されていないロール」∪
(b)「ロール割当て禁止ルールに違反するロール」∪
(c)「パーミッション割当て禁止ルールに違反するロール」
と定義する。
【0144】
図19は、本実施例に係る不適切なロールの検出処理の概要を示すフローチャートである。
例えば、図3に示すステップS301において、監査ログ記憶部103から例えば表22に示すアクセスログ1801を取得し、RBACポリシー記憶部113から、例えば表20に示すパーミッション−ロール情報1802と、例えば表12に示すロール階層情報1803と、を取得すると、ポリシーチェック・修正部116は、処理をステップS1901に移行する。そして、不適切なロールの検出処理を開始する。
【0145】
ステップS1901において、ポリシーチェック・修正部116は、アクセスログ1801とパーミッション−ロール情報1802とから使用していないロールを検出する。
ステップS1902において、ポリシーチェック・修正部116は、あらかじめ設定されたロール割当て禁止ルール1804に基づいて、ロール階層情報1803において当該ルールに違反するロールを検出する。
【0146】
ステップS1903において、ポリシーチェック・修正部116は、あらかじめ設定されたパーミッション割当て禁止ルール1805に基づいて、当該ルールに違反するロールを検出する。
【0147】
ステップS1904において、ポリシーチェック・修正部116は、ステップS1901、S1902およびS1903における検出結果から、不適切なロールのリスク点数表1806に基づいてリスク評価値を算出する。
【0148】
以上の処理が終了すると、ポリシーチェック・修正部116は、処理をステップS304に移行し、ポリシー遵守レベルとして算出されたリスク評価値を出力装置等に出力して表示する。
【0149】
3.4.1 使用されていないロールの検出処理
図20は、本実施例に係る使用されていないロールの検出処理(ステップS1901)の具体的な処理を示すフローチャートである。
【0150】
ステップS2001において、ポリシーチェック・修正部116は、パーミッション−ロール情報1802を参照し、当該パーミッション−ロール情報1802のi番目に登録されているロールRjを取得する。
【0151】
ステップS2002において、ポリシーチェック・修正部116は、アクセスログ1801を参照し、ステップS2001で取得したRjに対するアクセスログが記録されているか否かをチェックする。そして、Rjに対するアクセスログが記録されていない場合、ポリシーチェック・修正部116は、処理をステップS2003に移行する。また、Rjに対するアクセスログが記録されている場合、ポリシーチェック・修正部116は、処理をステップS2004に移行する。
【0152】
ステップS2003において、ポリシーチェック・修正部116は、Rjを使用されていないロールとして、記憶装置等に記憶する。
ステップS2004において、ポリシーチェック・修正部116は、パーミッション−ロール情報1802を参照し、チェックすべきロールが他にあるか否かをチェックする。そして、チェックすべきロールが他にある場合、ポリシーチェック・修正部116は、処理をステップS2005に移行する。そして、ポリシーチェック・修正部116は、iを1だけインクリメントし、ステップS2001に移行する。
【0153】
また、ステップS2004において、チェックすべきロールが他にない場合、ポリシーチェック・修正部116は、ステップS2006に移行し、使用されていないロールの検出処理を終了する。
【0154】
3.4.2 ロール割当て禁止ルールに違反するロールの検出処理
本実施例に係るロールの構成例を図21に示す。本実施例に係るロールは、NIST(National Institute of Standard and Technology)が提案するRBACシステムのロール階層を有するロールを使用している。したがって、上位のロールは下位のパーミッションを所有し、下位のロールは上位のロールに所属するユーザがメンバーとなるように定義されている。
【0155】
なお、NISTが提案するRBACシステムのロール階層については、従来技術なので詳細な説明は省略する。また、以後の説明では、必要に応じて、特定のロールに対して上位のロールを「祖先」、下位のロールを「子孫」という。
【0156】
図21に示したロール階層は、表12に示すロール階層情報1803としてRBACポリシー記憶部113に記憶される。なお、簡単のために、RiをRiと表している。
【0157】
【表12】
本実施例に係るユーザに対するロール割当て禁止ルール違反の検出処理では、表12に示したロール階層情報1803から、表5のしたロール割当て禁止ルールに違反するロールを検出する。
【0158】
検出すべきロールを図22に示す。すなわち、ロール割当て禁止ルール1804に定義されている2つのロールの組が、子孫−祖先の関係であるようなものを検出する。例えば、図22に示すRoleA、RoleBである。
【0159】
これは、NISTが提案するロール階層の定義では、上位のロールは、下位のパーミッションを継承するので、上位ロールは下位ロールのパーミッションを含んでしまう。したがって、この2つのロールがロール割当て禁止ルール1804に違反するロールであれば、上位のロール(または、上位のロールよりさらに上位のロール)に人を割当てることができなくなる 。人が割当てられないロールに意味はないので、このようなロールをロール割当て禁止ルール1804に違反するロールとして検出する。
【0160】
また、図22に示すように、子孫−祖先の関係にないRoleC、RoleDは、ロール割当て禁止ルール1804に違反しないロールとする。
本実施例に係るロール割当て禁止ルールに違反するロールの検出処理は、ロールの同時割当て禁止ルールで定義されるロールの組みの1つのロールについて、ロール階層木を走査し、そのロールを基準に子孫、および祖先にもう一つのロールが存在するかをチェックする。
【0161】
図23は、本実施例に係るロール割当て禁止ルールに違反するロールの検出処理(ステップS1902)の具体的な処理を示すフローチャートである。
ステップS2301において、ポリシーチェック・修正部116は、ロール割当て禁止ルール1804を参照し、i番目に登録されているロールRil、Rimを取得する。
【0162】
ステップS2302において、ポリシーチェック・修正部116は、ロール階層情報1803を参照し、ステップS2301で取得したRilについてロール階層木を操作して検索する。
【0163】
ステップS2303において、ポリシーチェック・修正部116は、Rilの子孫にRimが存在するか否かをチェックする。そして、Rilの子孫にRimが存在する場合、ポリシーチェック・修正部116は、処理をステップS2305に移行する。
【0164】
ステップS2304において、ポリシーチェック・修正部116は、Rilの祖先にRimが存在するか否かをチェックする。そして、Rilの祖先にRimが存在する場合、ポリシーチェック・修正部116は、処理をステップS2305に移行する。
【0165】
ステップS2305において、ポリシーチェック・修正部116は、ステップS2303またはS2304の処理によってRimを検出すると、該当するロール割当て禁止ルール1804のルール番号i、ロールRilおよびRimを、記憶装置等に記憶する。
【0166】
ステップS2306において、ポリシーチェック・修正部116は、ロール割当て禁止ルール1804を参照し、チェックすべきルールが他にあるか否かをチェックする。そして、チェックすべきルールが他にある場合、ポリシーチェック・修正部116は、処理をステップS2307に移行する。そして、ポリシーチェック・修正部116は、iを1だけインクリメントし、処理をステップS2301に移行する。
【0167】
一方、ステップS2306において、チェックすべきロールが他にない場合、ポリシーチェック・修正部116は、ロール階層からロール割当て禁止ルールに違反しているロールの検出処理を終了する。例えば、表13に示すような結果が得られる。
【0168】
【表13】
【0169】
3.4.3 パーミッション割当て禁止ルールに違反するロールの検出処理
本実施例に係るパーミッション割当て禁止ルールに違反するロールの検出処理では、例えば表12に示したロール階層情報1803から親子関係にあるロールを抽出し、例えば表23に示すロール−パーミッション対応表から、該当するロールのパーミッションを取得する。
【0170】
そして、取得したパーミッションが、例えば表8に示すパーミッション割当て禁止ルール1805に違反しているか否かをチェックする。具体的には、後述するように、ロール階層木の中で親子関係にあるRiとRjの各々が持つパーミッションが違反しているかをチェックする。そして、例えば表14に示すように、違反しているパーミッション割当て禁止ルールを出力する。
【0171】
ここで、パーミッション割当て禁止ルールに違反するロールについて、以下に示す(1)〜(4)の場合が考えられる。
(1)ロールRiとRjがともにパーミッション割当て禁止ルールに違反している場合
図24は、ロールRiとRjがともにパーミッション割当て禁止ルールに違反している場合のロール階層について説明する図である。図24に示すロール階層は、パーミッションpiおよびpjに関し、(pi∈Ri)かつ(pj∈Ri)の関係にあるRiと、(pi∈Ri)かつ(pj∈Ri)の関係にあるRjと、が親子関係にある場合を示している
。
【0172】
例えば、パーミッション割当て禁止ルール1805のルール番号kのルールに、piとpjの同時割当て禁止が定義されていた場合、ポリシーチェック・修正部116は、当該ルールに違反するRiの子孫であるRjがロール階層木の葉であるかをチェックし、葉である場合Rjがルール違反の原因の1つと判断する。
【0173】
したがって、図24に示すロール階層の場合、RiとRjはいずれもパーミッション割当て禁止ルール1805に違反すると判断する。また、Rjが葉でない場合、ポリシーチェック・修正部116は、Rjの子孫について同様のチェックを行なう。
【0174】
(2)ロールRiがパーミッション割当て禁止ルールに違反し、Rjが違反していない場合
図25は、ロールRiがパーミッション割当て禁止ルールに違反し、Rjが違反していない場合のロール階層について説明する図である。図25に示すロール階層は、パーミッションpiおよびpjに関し、(pi∈Ri)かつ(pj∈Ri)の関係にあるRiと、(pi∈Ri)でも(pj∈Ri)でもないRjと、が親子関係にある場合を示している。
【0175】
例えば、パーミッション割当て禁止ルール1805のルール番号kのルールに、piとpjの同時割当て禁止が定義されていた場合、Riはパーミッション割当て禁止ルールに違反し、Rjは違反しないと判断する。
【0176】
ここで、Rjにおけるパーミッションとの関係は、以下に示す(a)〜(c)の3つの場合が考えられる。
(a)「Rjがpiを所有し」、 かつ、「Rjがpjを所有しない」
(b)「Rjがpiを所有しない」、かつ、「Rjがpjを所有する」
(c)「Rjがpiを所有しない」、かつ、「Rjがpjを所有しない」
(a)または(b)の場合、Rjがルール違反の原因の1つと考えられる。これは、RBACシステムのロール階層構造において、Rjに割当てられているルール違反のパーミッションpiまたはpjを取り除けば、当該piまたはpjを親のRiからも取り除いてルール違反を解消することができるからである。
【0177】
例えば、図26に示すように、Rjにpjが割当てられていた場合、Rjからpjを削除することにより、Rjの祖先(Rn、Rn+1、・・・、Ri)のうちルールに違反するロールRiとRnからpjを削除することが可能となり、RiとRnのルール違反を解消することができる。
【0178】
また、(c)の場合、Rj(または、Rjより下位の部分木)がルール違反の原因ではないので、Rjの親であるRi、または、Rj以外のRiの子孫にルール違反の原因があると考えられる。
この場合、図27に示すパーミッション違反の原因の範囲2701について、パーミッション割当て禁止ルール1805に違反するパーミッションのチェックを行なう。
【0179】
(3)RiおよびRjがパーミッション割当て禁止ルールに違反していない場合、
この場合、違反がないのでロールに対するパーミッション割当てに問題はないと判断することができる。
【0180】
(4)ロールRiがパーミッション割当て禁止ルールに違反せず、Rjが違反している場合
この場合、のRBACシステムの仕様に違反していると判断することができる。
【0181】
図28は、本実施例に係るパーミッション割当て禁止ルールに違反するロールを検出する処理である。
ステップS2801において、ポリシーチェック・修正部116は、パーミッション割当て禁止ルール1805を参照し、当該パーミッション割当て禁止ルールのi番目のルールに登録されているパーミッションpilおよびpimを取得する。
【0182】
ステップS2802において、ポリシーチェック・修正部116は、ロール階層情報1803を参照し、ルート階層木のルートを取得する。そして、ポリシーチェック・修正部116は、パーミッション−ロール情報1802を参照し、当該ルートのロールに対してpilまたはpimが割当てられているか否かをチェックする。
【0183】
ルートのロールに対してpilまたはpimが割当てられていない場合、ポリシーチェック・修正部116は、パーミッション割当て禁止ルール1805に違反するロールはないと判断し、処理をステップS2803に移行する。
【0184】
ステップS2803において、ポリシーチェック・修正部116は、パーミッション割当て禁止ルール1805を参照し、他にチェックすべきルールがあるか否かをチェックする。他にチェックすべきルールがある場合、ポリシーチェック・修正部116は、処理をステップS2804に移行する。そして、iを1だけインクリメントし、処理をステップS2801に移行する。
【0185】
また、ステップS2803において、他にチェックすべきルールがない場合、ポリシーチェック・修正部116は、処理をステップS2815に移行し、パーミッション割当て禁止ルールに違反するロールを検出する処理を終了する。
【0186】
一方、ステップS2802において、ルートのロールに対してpilまたはpimが割当てられている場合、ポリシーチェック・修正部116は、ルートのロールがパーミッション−ロール情報1802に違反していると判断し、処理をステップS2805に移行する。
【0187】
ステップS2805において、ポリシーチェック・修正部116は、ロール階層を深さ優先し、親ロールRiaがパーミション違反し、かつ、子ロールRibがパーミッション違反していないRia、Ribまでロール階層を走査する。そして、違反しているロールと、違反しているルール番号、違反しているパーミッションを違反リストに記憶する。
【0188】
ステップS2806において、ポリシーチェック・修正部116は、Ribに対してpilとpimの両方とも割当てられていないか否かを確認する。Ribに対してpilとpimの両方とも割当てられていない場合、ポリシーチェック・修正部116は、処理をステップS2807に移行する。
【0189】
ステップS2807において、ポリシーチェック・修正部116は、親ロールRaiに他の未調査のロールがあるか否かを確認する。他の未調査のロールがある場合、ポリシーチェック・修正部116は、処理をステップS2808に移行する。
【0190】
ステップS2808において、ポリシーチェック・修正部116は、Riaをルートとするサブツリー(例えば、図27に示したパーミッション違反の原因の範囲2701)を操作対象にセットする。そして、処理をステップS2803に移行する。
【0191】
また、ステップS2807において、他の未調査のロールがない場合、ポリシーチェック・修正部116は、処理をステップS2809に移行する。
ステップS2809において、ポリシーチェック・修正部116は、ルール番号iと、Riaと、Riaに割当てられたルールに違反したpil、pimを違反リストに記憶する。そして、処理をステップS2810に移行する。
【0192】
ステップS2810において、ポリシーチェック・修正部116は、Riaの親ロールは、ルートのロールか否かをチェックする。そして、Riaの親ロールがルートのロールである場合、ポリシーチェック・修正部116は、処理をステップS2803に移行する。また、Riaの親ロールがルートのロールでない場合、ポリシーチェック・修正部116は、処理をステップS2811に移行する。
【0193】
ステップS2811において、ポリシーチェック・修正部116は、Riaの親ロールをRiaにセットする。そして、ポリシーチェック・修正部116は、処理をステップS2813に移行する。
【0194】
一方、ステップS2806において、Ribに対してpilまたはpimが割当てられている場合、ポリシーチェック・修正部116は、処理をステップS2812に移行する。
【0195】
ステップS2812において、ポリシーチェック・修正部116は、ルール番号iと、Ribと、Ribに割当てられたルールに違反したパミッション(pilまたはpim)を違反リストに記憶する。そして、処理をステップS2813に移行する。
【0196】
ステップS2813において、ポリシーチェック・修正部116は、親ロールRaiについて他に未調査の子ロールがあるか否かをチェックする。おして、他に未調査の子ロールがある場合、ポリシーチェック・修正部116は、処理をステップS2814に移行する。
【0197】
ステップS2814において、ポリシーチェック・修正部116は、Raiをルートとするサブセットを操作対象にセットし、処理をステップS2805に移行する。
以上の処理によって、パーミッション割当て禁止ルールに違反するロールについて、表14に示すような結果が得られる。
【0198】
【表14】
以上に説明したように、ステップS1901、S1902およびS1903の処理から、使われていないロール、違反しているユーザ−ロール割当て(例えば、表13)、違反しているロール−パーミッション割当て(例えば、表14)が検出される。ポリシーチェック・修正部116は、この検出結果から次表に示すケースの場合分けに応じて、リスク
評価を算出する。なお、表15に示すリスク得点は、これに限定する趣旨でないのは当然である。
【0199】
【表15】
なお、表15において、ロールに割当てられているパーミッション設定が原因で、そのロール自身の設定が違反となっている場合、または、そのロール自身は違反していないが、そのロールの上位ロールのパーミッション割当てが違反となっている場合、を設定違反の”原因”としている。
【0200】
さらに、ポリシーチェック・修正部116は、ロール毎に得られた得点の合計を計算し
、法事装置等に出力して一定のフォーマットにしたがって表示する。
図29は、不適切なロールの検出処理におけるポリシー遵守レベルの表示例を示す図である。本実施例では、ロール毎に、ロールの使用/未使用、ロール割当て禁止ルール1804で禁止されるロール、パーミッション割当て禁止ルール1805で禁止されるパーミッション、違反の説明、リスク点数を表示し、また、その合計点をリスク評価値として表示している(図29では、リスク評価値が「72」の場合を示している)。
【0201】
3.5 職務分掌違反の検出処理
アクセス権管理の中で、職務分掌に違反しているような不適切な設定があると、不正なアクセスや、情報漏洩・情報の改ざんの原因となる。そのため、アクセス権の設定を適切に管理する必要がある。
【0202】
本実施例では、例えば表5に示したロール割当て禁止ルール3001と、例えば表8に示したロールに対するパーミッション割当て禁止ルール3002と、後述するユーザに対するパーミッション割当て禁止ルール3003と、を利用して職務分掌ルールを定義し、アクセス権設定情報(ユーザ−ロール割当て情報、パーミッション−ロール割当て情報)の中から、ルール違反を検出することによりアクセス権の設定を適切に管理する。
【0203】
本実施例では、職務分掌ルールを、
(a)「ユーザに対するロール割当て禁止ルールに違反する割当て」∪
(b)「ロールに対するパーミッション割当て禁止ルールに違反する割当て」∪
(c)「ユーザに対するパーミッション割当て禁止ルールに違反する割当て」
と定義する。
【0204】
なお、(a)「ユーザに対するロール割当て禁止ルールに違反する割当て」の検出処理、(b)「ロールに対するパーミッション割当て禁止ルールに違反する割当て」の検出処理は、それぞれ既に2.2および2.3で説明しているので省略する。
【0205】
3.5.1 ユーザに対するパーミッション割当て禁止ルールに違反する割当ての検出処理
ポリシーチェック・修正部116は、RBACポリシー記憶部113からパーミッション−ロール情報3001を読み出し、統合ID管理部120からユーザ情報3002を読み出す。なお、パーミッション−ロール情報3001とは、例えば、表9に示したロール−パーミッション対応表であり、ユーザ情報3002とは、例えば、表21に示すロール−ユーザ対応表である。
【0206】
そして、ポリシーチェック・修正部116は、パーミッション−ロール情報3001とユーザ情報3002とから、例えば、表16に示すユーザ毎のパーミッションリスト(ACL)を作成する。そして、ポリシーチェック・修正部116は、ACLについて、例えば表17に示すパーミッション割当て禁止ルールに基づいて、ユーザに対するパーミッション割当て禁止ルールに違反する割当てを検出する。
【0207】
【表16】
【0208】
【表17】
【0209】
図31は、本実施例に係る職務分掌違反の検出処理の概要を示すフローチャートである。
例えば、図3に示したステップS301において、RBACポリシー記憶部113からパーミッション−ロール情報3001を取得し、統合ID管理部120からユーザ情報3002を取得すると、ポリシーチェック・修正部116は、処理をステップS3101に移行する。そして、職務分掌違反の検出処理を開始する。
【0210】
ステップS3101において、ポリシーチェック・修正部116は、あらかじめ設定されたロール割当て禁止ルール903に基づいて、ユーザ−ロール割当てに関するロール割当て禁止違反を検出する。
【0211】
ステップS3102において、ポリシーチェック・修正部116は、ポリシーチェック・修正部116は、あらかじめ設定されたロールに対するパーミッション割当て禁止ルール1403に基づいて、ロールに対するパーミッション−ロール割当てに関するパーミッション割当て禁止違反を検出する。
【0212】
ステップS3103において、ポリシーチェック・修正部116は、パーミッション−ロール情報3001とユーザ情報3002とから、ユーザ毎のパーミッションリスト(ACL)を作成する。
【0213】
ステップS3104において、ポリシーチェック・修正部116は、あらかじめ設定されたユーザに対するパーミッション割当て禁止ルールに基づいて、ユーザに対するパーミッション−ユーザ割当てに関するパーミッション割当て禁止違反を検出する。
【0214】
ステップS3105において、ポリシーチェック・修正部116は、ステップS3101、S3102およびS3104における検出結果について、リスク得点を設定する。
以上の処理が終了すると、ポリシーチェック・修正部116は、処理をステップS304に移行し、ポリシー遵守レベルとして設定したリスク評価値を出力装置等に出力して表示する。
【0215】
図32は、本実施例に係るACLの作成処理を示すフローチャートである。
ステップS3201において、ポリシーチェック・修正部116は、ロール−ユーザ対応表を参照し、ロール−ユーザ対応表のユーザID毎にソートし、ユーザID毎にユーザが所属するロールのリストを作成する。
【0216】
ステップS3202において、ポリシーチェック・修正部116は、以降の処理の対象となるユーザIDとしてUiをセットする。
ステップS3203において、ポリシーチェック・修正部116は、Uiが所属する全てのロールが持つパーミッションをユーザに割当ててALCに記憶する。例えば、表16において、U1はパーミッションp1、p4およびp5が割当てられる。
【0217】
ステップS3204において、ポリシーチェック・修正部116は、ステップS3201で生成したリストを参照し、チェックすべきユーザが他に存在するか否かをチェックする。チェックすべきユーザIDが他に存在する場合、ポリシーチェック・修正部116は、処理をステップS3205に移行する。そして、iを1だけインクリメントして処理をステップS3202に移行する。
【0218】
また、ステップS3204において、チェックすべきユーザIDが他に存在しない場合、ポリシーチェック・修正部116は、ステップS3206に移行し、ACLの作成処理を終了する。
【0219】
図33は、本実施例に係るユーザに対するパーミッション割当て禁止ルールに違反する割当ての検出処理を示すフローチャートである。
ステップS3301において、ポリシーチェック・修正部116は、ACLを参照し、以降の処理対象のユーザIDをUiにセットする。さらに、ステップS3302において、ポリシーチェック・修正部116は、ACLを参照し、以降の処理対象を、UiのパーミッションPjにセットする。
【0220】
ステップS3303において、ポリシーチェック・修正部116は、ユーザに対するパーミッション割当て禁止ルール3003を参照し、Pjが当該ルールに登録されている同時所有禁止のパーミッションとして登録されているか否かをチェックする。
【0221】
Pjが同時所有禁止のパーミッションとして登録されている場合、ポリシーチェック・修正部116は、処理をステップS3304に移行する。
ステップS3304において、ポリシーチェック・修正部116は、ユーザに対するパーミッション割当て禁止ルール3003を参照し、Pjと対で登録されているパーミッションPj’を取得する。そして、ポリシーチェック・修正部116は、ACLを参照し、Uiに対してPj’が登録されているか否かをチェックする。
【0222】
Uiに対してPj’が登録されている場合、ポリシーチェック・修正部116は、処理をステップS3305に移行する。そして、違反しているUi、PjおよびPj’を1組のデータとして記憶装置等に記憶する。
【0223】
ステップS3306において、ポリシーチェック・修正部116は、ALCを参照する。そして、Uiに対して他にパーミッションが登録されているか否かをチェックする。他にパーミッションが登録されている場合、ポリシーチェック・修正部116は、処理をステップS3307に移行する。そして、jを1だけインクリメントして処理をステップS3302に移行する。
【0224】
また、ステップS3306において、他にパーミッションが登録されていない場合、ポリシーチェック・修正部116は、処理をステップS3308に移行する。
ステップS3308において、ポリシーチェック・修正部116は、ACLを参照し、チェックすべきユーザが他に存在するか否かをチェックする。チェックすべきユーザが他に存在する場合、ポリシーチェック・修正部116は、処理をステップS3309に移行する。そして、iを1だけインクリメントして処理をステップS3301に移行する。
【0225】
また、ステップS3308において、チェックすべきユーザが他に存在しない場合、ポリシーチェック・修正部116は、ステップS3310に移行し、ユーザに対するパーミッション割当て禁止ルール3003に違反する割当ての検出処理を終了する。
【0226】
以上の処理によって、例えば、表18に示すユーザ−パーミッション割当てリストが得られる。
【0227】
【表18】
【0228】
以上に説明したようにステップS3101、S3102およびS3104による検出結果え得ると、ポリシーチェック・修正部116は、その検索結果に対して各々に点数を設定してリスクの計算をできるようにする。
【0229】
本処理で得られた検出結果は、どれも高いリスクのものであると考えられるため、本実施例では検出結果それぞれのリスク得点を3点としている。そして、ポリシーチェック・修正部116は、その合計値を計算し、表示装置等に出力して一定のフォーマットにしたがって表示する。
【0230】
図34は、職務分掌違反の検出処理におけるポリシー遵守レベルの表示例を示す図である。本実施例では、違反ルール種別(ロールに対するパーミッション割当て禁止ルール3002またはユーザに対するパーミッション割当て禁止ルール3003)、違反ユーザ、ロール割当て禁止ルール1804による割当て禁止ロール、違反したロール、パーミッション割当て禁止ルール3002若しくは3003による割当て禁止パーミッション、違反の説明、リスク点数を表示し、また、その合計点をリスク評価値として表示している(図34では、リスク評価値が「84」の場合を示している)。
【0231】
4.1 ポリシー遵守レベルの測定方法
上述した3.1から3.5までの検出までの検出方法およびリスクの得点化を利用して、システムのポリシー遵守レベルの測定方法について説明する。以下の手順を踏むことで、ユーザ数やアクセス権設定情報数が異なるシステム同士でも比較可能なリスクの総合点を計算できるようになる。
【0232】
4.1.1 不適切なユーザアカウント
各システムの利用者数(表2のようなユーザリストのユーザ数)で割ることで、システ
ム間の数値を比較できるようにしておく。これにより、ここの値域は0から4の間の実数となる。
【0233】
4.1.2 不適切なユーザ−ロール割当て
入力となるユーザ−ロール対応表のサイズをm(mは1以上の自然数)とし(ただし、サイズとは行数のことをいう)、ユーザ数をn(nは1以上の自然数)とし、ロール割当て禁止ルール数をk(kは1以上の自然数)とした場合、3.2で説明した計算結果を取りえる違反数m+k*nで割ることでシステム間で数値を比較可能にする。図35は、ユーザ−ロール対応表の例を示す。
【0234】
4.1.3 不適切なパーミッション−ロール割当て
入力となるロールとパーミッションの対応表のサイズをq(qは1以上の自然数)とし(ただし、サイズとは行数のことをいう)、ロール数をr(rは1以上の自然数)とし、パーミッション割当て禁止ルール数をl(lは1以上の自然数)とした場合、3.3で説明した計算結果を取り得る違反数q+l*rで割ることでシステム間で数値を比較可能にする。図36は、ロール−パーミッション対応表の例を示す。
【0235】
4.1.4 不要なロール
入力となるロールとパーミッションの対応表のサイズをq(qは1以上の自然数)とすし(ただし、サイズとは行数のことをいう)、ロール数をrとし、ロール割当て禁止ルール数kとし、パーミッション割当て禁止ルール数をlとした場合、出力結果を取りえる違反数r+k*r+l*rで割ることでシステム間での数値比較を可能にする。
【0236】
4.1.5 職務分掌違反
ユーザ数をnとし、ロール割当て禁止ルール数をkとし、ロール数をrとし、パーミッション割当て禁止ルール数をlとし、ユーザへのパーミッション割当て禁止ルール数をs(sは1以上の自然数)とした場合、3.5で説明した計算結果取りえる違反数をk*n+l*r+s*nで割ることで、システム間で数値比較可能にする。
【0237】
4.2 アクセス権管理の総合評価値の計算方法
アクセス権管理における総合的な評価値を、上記4.1.1から4.1.5までの結果の和をとることで、管理の徹底度合いを比較することができる。また、次のような重み付けをして和を計算することも可能である。
【0238】
総合管理評価値 = K1×a/4+K2×b/3+K3×c/1+K4×d/3+K5×e/3
ただし、K1、K2、K3、K4およびK5は係数、aは不適切なユーザアカウントのリスク評価値、bは不適切なユーザ−ロール割当てのリスク評価値、cは不要なロールのリスク評価値、dは不適切なパーミッション−ロール割当てのリスク評価値、eは職務分掌違反のリスク評価値とする。
【0239】
例えば、{K1,K2,K3,K4,K5}={3,2,1,2,3}として場合、表19が得られる。
【0240】
【表19】
【0241】
図37は、サーバ毎のポリシー遵守レベルの計測結果の画面の構成例を示している。
また、図37に示した画面の「詳細」ボタンを押下することにより、各システムの詳細な情報を表示することも可能である。図38には、「詳細」ボタンを押下したときに表示される各システムのポリシー遵守レベル評価結果の画面を示している。
さらに、上記の画面では「月間推移表示」ボタンを押下したときに、図39に示す各項目のリスク値の推移を表示してもよい。
【0242】
5. アクセス権設定に無駄がないかのチェック方法
アクセス権設定の中に、設定はされているが使われていないアクセス権情報がある。これは、セキュリティの最小特権の原理や管理コストの観点から不要と考えられる。以下、このような無駄な設定を検出する方法を説明する。
【0243】
図40は、無駄なアクセス権設定を検出する場合の構成例の概要を示している。
ポリシーチェック・修正部116は、RBACポリシー記憶部113から、例えば表20に示すパーミッション−ロール情報を、統合ID管理部120から例えば表21に示すロール−ユーザ対応表を、監査ログ記憶部130から例えば表22に示すアクセスログを取得し、以下で説明する検出方法を用いて、以下の2つを検出する。
【0244】
(a)ユーザやロールに設定された使われていないパーミッション割当て
(b)使用されていないロール
検出方法としては、アクセスログを利用する。(a)については、ユーザやロールに与えられているが使用されていないアクセス権を検出する。(b)については、使われていないロールを検出する。これらを検出することで、無駄なアクセス権設定が存在するかチェックする。
【0245】
5.1 使われていないユーザやロールに設定されたパーミッション
ここでは、使用されていないユーザやロールに設定されたパーミッションを検出する方法を説明する。アクセス権の設定情報は、表20、表21に示すようなデータとなっている。また、アクセスログには、表22に示す情報が得られるものとする。
【0246】
【表20】
【0247】
【表21】
【0248】
【表22】
なお、対象となるアクセスログの期間としては、例えば1ヶ月、4半期、半期などある程度の時間間隔のログ情報を利用することが望ましい。
【0249】
図41は、ユーザやロールに設定された使用されていないパーミッションの検出処理を示すフローチャートである。なお、パーミッションは、リソースとアクションとで構成さ
れた1組の情報である。
【0250】
ステップS4101において、ポリシーチェック・修正部116は、RBACポリシー記憶部113からアクセス権設定情報を取得し、監査ログ記憶部130からアクセスログを取得する。
【0251】
ステップS4102において、ポリシーチェック・修正部116は、アクセス権設定情報を参照し、当該アクセス権設定情報に登録されているi番目のロールRiを以降の処理対象にセットする。なお、以降の処理では、説明を簡単にするために表20の表現を変えた表23を使用する。
【0252】
【表23】
ステップS4103において、ポリシーチェック・修正部116は、アクセス権設定情報を参照し、Riに対して登録されているj番目のパーミッションPijを以降の処理対象にセットする。
【0253】
ステップS4104において、ポリシーチェック・修正部116は、アクセスログを参照し、Pijに関するアクセスログがアクセスログに記憶されているか否かをチェックする。そして、Pijのアクセスログが存在しない場合、ポリシーチェック・修正部116は、処理をステップS4105に移行する。
【0254】
ステップS4105において、ポリシーチェック・修正部116は、RiとPijを記憶装置等に記憶する。そして、処理をステップS4106に移行する。
ステップS4106において、ポリシーチェック・修正部116は、アクセス権設定情報を参照し、Riに対して他にチェックすべきパーミッションが登録されているか否かをチェックする。そして、他にチェックすべきパーミッションが登録されている場合、ポリシーチェック・修正部116は、処理をステップS4107に移行する。
【0255】
ステップS4107において、ポリシーチェック・修正部116は、jを1だけインクリメントし、処理をステップS4103に移行する。
また、ステップS4106において、他にチェックすべきパーミッションが登録されていない場合、ポリシーチェック・修正部116は、処理をステップS4108に移行する
。そして、ポリシーチェック・修正部116は、アクセス権設定情報を参照し、他にチェックすべきロールが存在するか否かをチェックする。
【0256】
他にチェックすべきロールが存在する場合、ポリシーチェック・修正部116は、処理をステップS4109に移行する。そして、iを1だけインクリメントして処理をステップS4102に移行する。
【0257】
また、ステップS4108において、他にチェックすべきロールが存在しない場合、ポリシーチェック・修正部116は、処理をステップS4110に移行し、ユーザやロールに設定された使用されていないパーミッションの検出処理を終了する。
【0258】
以上の処理によって、例えば、表24に示すように、使用されていないパーミッションのリストが得られる。
【0259】
【表24】
なお、使用されていないロールの検出処理については、図20で詳細に説明をしているので省略する。
【0260】
6.組織間のアクセス権設定の違いや経時的変化を視覚化し、設定ミスを検出支援する方法
各組織が管理している情報に対して、アクセス権の設定情報を組織毎に割合を表示し、設定ミスや不審な設定だと考えられる情報を以下に説明する。
【0261】
図42は、組織間のアクセス権設定の違いや変化の視覚化を実現するための構成例を示している。ポリシーチェック・修正部116は、RBACポリシー記憶部113から例えば表20に示すパーミッション−ロール情報を取得し、統合ID管理部120から例えば表25に示す組織−ユーザ−ロール対応表を取得し、以下で説明するアクセス権設定割合を組織毎に計算する。
【0262】
【表25】
【0263】
6.1 組織毎のアクセス権設定割合の計算
ポリシーチェック・修正部116は、各組織が管理するシステムのアクセス権設定情報から、組織毎のアクセス権の設定割合を算出する。そして、ポリシーチェック・修正部116は、算出結果を表示するとともに記憶装置等に記録する。
【0264】
例えば、組織xのユーザの集合をU(x)、システムAにおけるユーザuのパーミッションの集合をPRM(A,u)、システムAにおける組織xに所属するユーザが持つパーミッションの和集合をPRM(A,x)、システムAが管理するリソースの集合をR(A)、システムAの管理するリソースに対するアクションの集合をACT(A)とするとき、システムAにおける組織xのアクセス権設定割合は、次式で定義することができる。
【0265】
【数1】
なお、PRM(A,u)は、例えば表20に示すパーミッション−ロール情報と、システムAにおける例えば表25に示す組織−ユーザ−ロール対応表から計算することができ、PRM(A,x)は、PRM(A,u)と例えば表25に示す組織−ユーザ−ロール対応表から組織xにおけるパーミッションの和集合を計算することができる。また、ACT(A)は、例えばリソースがファイルのみならば、{read,write}となる。
【0266】
ここで、ある特定のアクションに関して割合が出したい場合は、3つの引数を持つPRMを次のように定義する。すなわち、PRM(A,u)の中で、アクションがa1のパーミッションの集合をPRM(A,u,a1)、PRM(A,x)の中で、アクションがa1のパーミッションの集合をPRM(A,x,a1)と定義すると、システムAにおける組織xのアクションa1のアクセス権設定割合は、次式で定義することができる。
【数2】
【0267】
6.2 定期的な組織毎のアクセス権設定割合の計算結果の記録
アクセス権の設定の追加や変更の時間的変化を記録するために、ポリシーチェック・修正部116は、定期的に組織毎のアクセス権設定割合ACRateを計算し記憶装置等に記録することもできる。この時、その変化の出力装置等に表示し、記憶装置等に記憶してもよい。表26は、システム毎にACRateを算出した結果の例を示している。
【0268】
【表26】
【0269】
6.3 組織毎のアクセス権設定割合の大きな変化の検知とアラーム
また、ポリシーチェック・修正部116は、経時的な組織毎のアクセス権設定割合ACRate値の変化の中から、大きな変化があった組織を検知し、組織のアクセス権設定がおかしくないか確認を促す通知を行なってもよい。
【0270】
図43は、各システムにおける各組織のアクセス権設定数や利用率を計算した結果を表示した画面の構成例を示す図である。図43に示す使用率は、ロールがシステム上で利用されているかどうかを表す尺度である。例えば、次式を用いて使用率を算出することができる。
【0271】
使用率 = アクセスログに記録されているあるロールでアクセスしたログレコードの件数÷((アクセスログレコードの総数×あるロールのユーザ数)÷(システム上に存在するロールのユーザ数の和))×100
このとき、アクセスログは、1日、1週間、1ヶ月、3ヶ月、半年のように適当な期間のアクセスログを使用することが望ましい。例えば、システムに3つのロールRoleA、RoleB、RoleCがあり、各々のユーザ数、アクセスログレコードの件数および総数が表27の場合について考える。
【0272】
【表27】
なお、表27において、ユーザはロールに重複して所属することが可能なため、必ずしもRoleA、RoleBおよびRoleCのユーザ数の和にならない。
【0273】
この時、RoleAの使用率は、500÷((1000×50)÷(50+80+60))×100=190となる。RoleB、RoleCについても同様に使用率を算出すると、それぞれ47.5、95となる。
【0274】
図44は、本実施例に係る組織毎のアクセス権設定割合の表示画面の例を示す図である。
図43で示した画面の「アクセス権設定割合」ボタンを押下することにより、上述した
手法によりACRateを算出し、図44に示す組織毎のアクセス権設定割合表示画面を表示するようにしてもよい。また、図43に示した画面の「月間推移表示」ボタンを押下することにより、図45に示す各システムのアクセス権設定の平均割合推移を表示してもよい。なお、平均とは、たとえば、システムを利用している各部門のアクセス権割合の平均である。
【0275】
図46は、本実施例に係るシステム毎のアクセス権設定・使用率情報の表示画面の例を示す図である。
図43に示した各システムのアクセス権設定・使用率情報表示画面例で、各システムの「詳細」ボタンをクリックすることにより、図46に示すシステム毎のアクセス権設定・使用率情報の表示画面を表示してもよい。図46に示す「ロール割合」は、アカウント数に対するロール数の割合を示したものであり、ロール数÷アカウント数×100で求められる。
【0276】
7. 一致や類似したロールを発見し、修正案を提示する方法
ロール管理では、管理コストの観点から冗長なロールを管理しない工夫が必要となる。そこで、現在のロール設定(ユーザとロールの関係、ロールとパーミッションの関係)情報から、一致や類似したロールを発見し、最適なロール設定に近づけるような修正案を提示する方法について説明する。
【0277】
図47は、一致や類似したロールを発見するための構成例を示している。
ポリシーチェック・修正部116は、RBACポリシー記憶部113から例えば表20に示すパーミッション−ロール情報を取得し、統合ID管理部120から例えば表21に示すロール−ユーザ対応表を取得し、以下で説明する類似度を計算し、計算結果を、表31が示す6つのケースに分類し、各々のケースの修正案を提示する。
【0278】
7.1 類似度計算
類似度は、例えば一致係数の計算法を用いて計算する。本実施例ではロールの属性として、ユーザ、パーミッションを使用し、ロール毎に一致係数を算出する。以下、ユーザに関する一致係数をユーザ類似度usmc、パーミッションに関する一致係数をパーミッション類似度psmcという。
【0279】
ここで、ユーザ類似度は、ロールR1、R2の両方に所属するユーザ数をa、R1のみに所属するユーザ数をb、R2のみに所属するユーザ数をc、R1、R2のいずれにも所属しないユーザ数をd、全ユーザ数をn(n=a+b+c+d)とすると、次式で定義することができる。
ユーザ類似度usmc = (a+d)/n ・・・・・ (3)
【0280】
また、パーミッション類似度は、ロールR1、R2の両方に割当てられているパーミッション数をo、R1のみに割当てられているパーミッション数をp、R2のみに割当てられているパーミッション数をq、R1、R2のいずれにも割当てられていないパーミッション数をr、全パーミッション数をm(m=o+p+q+r)とすると、次式で定義することができる。
【0281】
パーミッション類似度psmc = (o+p)/m ・・・・・ (4)
例えば、ロールとユーザが表28に示す関係にあり、ロールとパーミッションが表29に示す関係にある場合、式(3)および式(4)を用いると、表30に示す類似度(usmc、psmc)を算出することができる。
【0282】
【表28】
【0283】
【表29】
【0284】
【表30】
【0285】
【表31】
【0286】
図48は、本実施例に係る類似度計算の具体的な処理を示すフローチャートである。
ステップS4801において、ポリシーチェック・修正部116は、カウント用変数iに1をセットする。そして、ポリシーチェック・修正部116は、処理をステップS4802に移行し、変数jにi+1をセットする。
【0287】
ステップS4803において、ポリシーチェック・修正部116は、式(3)および式(4)に示した定義にしたがって、RiとRjについて、ユーザ類似度usmcとパーミッション類似度psmcを算出する。そして、ポリシーチェック・修正部116は、記憶装置等に算出結果を記憶する。
【0288】
ステップS4804において、ポリシーチェック・修正部116は、jがn以下か否かを判別する。jがn以下の場合、ポリシーチェック・修正部116は、処理をステップS4805に移行する。そして、jを1だけインクリメントして処理をステップS4803に移行する。
【0289】
ステップS4806において、ポリシーチェック・修正部116は、iがn以下か否かを判別する。iがn以下の場合、ポリシーチェック・修正部116は、処理をステップS4807に移行する。そして、iを1だけインクリメントして処理をステップS4802に移行する。
【0290】
また、ステップS4806において、iがnより大きい場合、ポリシーチェック・修正部116は、処理をステップS4807に移行し、類似度計算処理を終了する。
ロールに所属するユーザ数が低い若しくは使用率が低いものは、他のロールと比較して、システムに影響があまりなく無駄なロールである可能性が高いと考えられる。そこで、図49に示すように、フィルター項目として、「ユーザ数」と「使用率」を設けて、条件に合う検索結果を表示するようにしてもよい。「ロール類似度計算」ボタンが押下された場合に、当該フィルター処理により得られた数値の小さなロールに対して類似度計算を行なうようにしてもよい。
【0291】
図48に示した類似計算が完了すると、ポリシーチェック・修正部116は、例えば図50に示す計算結果を表示装置等に出力して表示する。さらに、「修正案表示」ボタンが押下されると、ポリシーチェック・修正部116は、例えば表31に示した類似度計算結果に対する修正案提示ルールを参照し、計算結果に該当するケースNo.の修正案を表示装置等に出力して表示する。図51は、ロール修正案提示の表示画面の構成例を示している。
【0292】
また、図51に示す「詳細」ボタンの押下に応じて、各ロールの組の修正案の詳細を示すようにしてもよい。図52は、ロール修正案の詳細の表示画面の構成例を示している。
図53は、本実施例に係る統合セキュリティ管理システム100の具体的な構成例を示す図である。
【0293】
図53に示す統合セキュリティ管理システム100は、周辺機器や各種ソフトウェアを実行する他に本実施例に係るポリシーチェック・修正処理を実現するプログラムを実行するCPU5301と、プログラムを実行するために使用される揮発性のメモリ5302(例えば、RAM)と、外部からのデータ入力手段である入力装置5303(例えば、キーボードやマウス)と、データ等を表示する出力装置5304と、統合セキュリティ管理システム100が動作するために必要なプログラムやデータの他に本実施例に係るポリシーチェック・修正処理を実現するプログラムを記憶する外部記憶装置5305と、メモリ5302や外部記憶装置5305のデータを可搬記憶媒体5307(例えば、フロッピイディスクやMOディスク、CD−RやDVD−Rなど)に出力し、或は可搬記憶媒体5307からプログラムやデータ等を読み出す媒体駆動装置5306と、ネットワークを介して他のシステム等に接続するネットワーク接続装置5308と、を有し、これらの装置がバス5300に接続されて相互にデータの受け渡しが行える構成となっている。
【0294】
なお、本実施例に係るポリシーチェック・修正処理を実現するプログラムは、外部記憶装置5305でなく可搬記憶媒体5307に記憶されていてもよい。
以上に説明したように、本実施例に係る統合セキュリティ管理システム100は、制御対象となるシステム(例えば、図1に示したサーバA、BおよびCからなるサーバシステムなど)が備えるリソースに対するアクセス権設定情報について、1または2以上のポリシーチェックルール(例えば、3.1に示した不適切なユーザアカウントの検出、3.2に示した不適切なユーザ−ロール割当ての検出、3.3に示した不適切なパーミッション−ロール割当ての検出、3.4に示した不要なロールの検出、3.5に示した職務分掌違反の検出など)にしたがって、ルール違反を検出する。その結果、アクセス制御のためのポリシーに対して多面的かつ網羅的にチェックを行なうことが可能となる。
また、検出結果に応じて全体または所定の違反項目毎にポリシー遵守レベルを算出し表示するので、チェック結果を容易かつ客観的に把握すること可能となる。
【0295】
以上の実施例1〜nを含む実施形態に関し、さらに以下の付記を開示する。
(付記1) 任意のリソースに対するアクセスを一括してまたは部分的に制限するアクセス権管理情報を記憶するアクセス権管理情報記憶手段から該アクセス権管理情報を取得するアクセス権管理情報取得処理と、
前記リソースに対してまたは該リソースに対するアクセスに対して設定されたポリシーを記憶するポリシー記憶手段から該ポリシーを取得し、前記アクセス権管理情報が前記ポリシーに適合しているか否かを検査し、前記ポリシーに適合しないものを違反として検出する違反検出処理と、
該違反のリスクの度合いに応じてリスク得点を算出し、該算出結果から前記ポリシーに対する遵守レベルを算出するポリシー遵守レベル算出処理と、
該ポリシー遵守レベル算出処理の算出結果を出力する結果出力処理と、
を情報処理装置に実行させるプログラム。
(付記2) 前記違反検出処理は、サーバ毎若しくは所定のリソース毎に、該サーバが備えるリソース若しくは前記所定のリソースに対して設定されたポリシーに前記アクセス権管理情報が適合しているか否かを検査する、
ことを特徴とする付記1に記載のプログラム。
(付記3) 前記ポリシー遵守レベル算出処理は、前記サーバ毎若しくは所定のリソース毎にリスク得点を算出し、該算出結果から前記ポリシーに対する遵守レベルを算出する、
ことを特徴とする付記2に記載のプログラム。
(付記4) 前記ポリシーは、前記アクセス権管理情報に含まれるユーザ情報が、使用していないユーザアカウント、利用者を特定できないユーザアカウント、または削除されるべきアカウントであったがまだ残っているユーザアカウントの何れかに該当する場合に違反とする、
ことを特徴とする付記1に記載のプログラム。
(付記5) 前記ポリシーは、前記アクセス権管理情報に含まれるロール割当てが、使用していないロール割当て、または、あらかじめ決められたロール割当て禁止ルールに違反するロール割当て、の何れかに該当する場合に違反とする、
ことを特徴とする付記1に記載のプログラム。
(付記6) 前記ポリシーは、前記アクセス権管理情報に含まれるパーミッション割当てが、使用していないパーミッション割当て、または、あらかじめ決められたパーミッション割当て禁止ルールに違反するパーミッション割当て、の何れかに該当する場合に違反とする、
ことを特徴とする付記1に記載のプログラム。
(付記7) 前記ポリシーは、前記アクセス権管理情報に含まれるロールが、使用されていないロール、あらかじめ決められたユーザへのロール割当て禁止ルールに違反するロール、または、あらかじめ決められたロールへのパーミッション割当て禁止ルールに違反するロール、の何れかに該当する場合に違反とする、
ことを特徴とする付記1に記載のプログラム。
(付記8) 前記ロールは階層構造を有する、ことを特徴とする付記7に記載のプログラム。
(付記9) 前記ポリシーは、ユーザへのロール割当て禁止ルールに違反するロール割当て、ロールへのパーミッション割当て禁止ルールに違反するパーミッション、または、ユーザへのパーミッション割当て禁止ルールに違反するパーミッション、の何れかに該当する場合に違反とする、
ことを特徴とする付記1に記載のプログラム。
(付記10) 任意のリソースに対するアクセスを一括してまたは部分的に制限するアクセス権管理情報を記憶するアクセス権管理情報記憶手段から取得するアクセス権管理情報取得手段と、
前記リソースに対してまたは該リソースに対するアクセスに対して設定されたポリシーを記憶するポリシー記憶手段から該ポリシーを取得し、前記アクセス権管理情報が前記ポリシーに適合しているか否かを検査し、前記ポリシーに適合しないものを違反として検出する違反検出手段と、
該違反のリスクの度合いに応じてリスク得点を算出し、該算出結果から前記ポリシーに対する遵守レベルを算出するポリシー遵守レベル算出手段と、
該ポリシー遵守レベル算出処理の算出結果を出力する結果出力手段と、
を備える情報処理装置。
【図面の簡単な説明】
【0296】
【図1】本実施例に係るアクセス制御ポリシー遵守のチェック機構を備える統合セキュリティ管理システムの構成例を示す図である。
【図2】本実施例に係る統合セキュリティ管理システムにおけるポリシー遵守レベルの計測対象を説明する図である。
【図3】本実施例に係る統合セキュリティ管理システムの処理の概要を示すフローチャートである。
【図4】本実施例に係る不適切なユーザアカウントの検出処理の概要を示す図である。
【図5】本実施例に係る不適切なユーザアカウントの定義を説明する図である。
【図6】本実施例に係る不適切なユーザアカウントを検出する具体的な処理を示すフローチャートである。
【図7】本実施例に係るユーザアカウントの分類を説明する図である。
【図8】不適切なユーザアカウント検出処理におけるポリシー遵守レベルを表示する画面の構成例を示す図である。
【図9】本実施例に係る不適切なユーザ−ロール割当ての検出処理の概要を示す図である。
【図10】本実施例に係る不適切なユーザ−ロール割当ての検出処理の概要を示すフローチャートである。
【図11】本実施例に係る使用されていないユーザ−ロ−ル割当て検出処理(ステップS1001)の具体的な処理を示すフローチャートである。
【図12】本実施例に係るロール割当て禁止に違反するロール割当て検出処理(ステップS1002)の具体的な処理を示すフローチャートである。
【図13】不適切なユーザ−ロール割当ての検出処理におけるポリシー遵守レベルを表示する画面の構成例を示す図である。
【図14】本実施例に係る不適切なパーミッション−ロール割当ての検出を行なうための構成例を示す図である。
【図15】本実施例に係る不適切なパーミッション−ロール割当ての検出処理の概要を示すフローチャートである。
【図16】本実施例に係るロールが同時使用禁止のパーミッションを所有しているか否かのチェック処理(ステップS1502)の具体的な処理を示すフローチャートである。
【図17】不適切なパーミッション−ロール割当て処理におけるポリシー遵守レベルを表示する画面の構成例を示す図である。
【図18】本実施例に係る不適切なロールの検出を行なうための構成例を示す図である。
【図19】本実施例に係る不適切なロールの検出処理の概要を示すフローチャートである。
【図20】本実施例に係る使用されていないロールの検出処理(ステップS1901)の具体的な処理を示すフローチャートである。
【図21】本実施例に係る階層構造を有するロールの構成例を示す図である。
【図22】本実施例に係る階層構造を有するロールのチェック範囲を説明する図である。
【図23】本実施例に係るロール割当て禁止ルールに違反するロールの検出処理(ステップS1902)の具体的な処理を示すフローチャートである。
【図24】ロールRiとRjがともにパーミッション割当て禁止ルールに違反している場合のロール階層について説明する図である。
【図25】ロールRiがパーミッション割当て禁止ルールに違反し、Rjが違反していない場合のロール階層について説明する図である。
【図26】違反の原因となるロールを説明する図である。
【図27】違反の原因となるロールを説明する図である。
【図28】本実施例に係るパーミッション割当て禁止ルールに違反するロールを検出する処理である。
【図29】本実施例に係る不適切なロールの検出処理におけるポリシー遵守レベルを表示する画面の構成例を示す図である。
【図30】本実施例に係る職務分掌違反の検出を行なうための構成例を示す図である。
【図31】本実施例に係る職務分掌違反の検出処理の概要を示すフローチャートである。
【図32】本実施例に係るACLの作成処理を示すフローチャートである。
【図33】本実施例に係るユーザに対するパーミッション割当て禁止ルールに違反する割当ての検出処理を示すフローチャートである。
【図34】本実施例に係る職務分掌違反の検出処理におけるポリシー遵守レベルを表示する画面の構成例を示す図である。
【図35】本実施例に係るユーザ−ロール対応表のサイズを説明する図である。
【図36】本実施例に係るロール−パーミッション対応表のサイズを説明する図である。
【図37】本実施例に係るサーバ毎のポリシー遵守レベルの計測結果の画面の構成例を示している。
【図38】「詳細」ボタンを押下したときに表示される各システムのポリシー遵守レベル評価結果の画面の構成例を示す図である。
【図39】「月間推移表示」ボタンを押下したときに表示されるリスク値の推移の画面の構成例を示す図である。
【図40】本実施例に係る無駄なアクセス権設定を検出するための構成例の概要を示している。
【図41】本実施例に係るユーザやロールに設定された使用されていないパーミッションの検出処理を示すフローチャートである。
【図42】本実施例に係る組織間のアクセス権設定の違いや変化の視覚化を実現するための構成例を示している。
【図43】各システムにおける各組織のアクセス権設定数や利用率を計算した結果を表示した画面の構成例を示す図である。
【図44】本実施例に係る組織毎のアクセス権設定割合を表示する画面の構成例を示す図である。
【図45】各システムのアクセス権設定の平均割合推移を表示する画面の構成例を示す図である。
【図46】本実施例に係るシステム毎のアクセス権設定・使用率情報を表示する画面の構成例を示す図である。
【図47】本実施例に係る一致や類似したロールを発見するための構成例を示している。
【図48】本実施例に係る類似度計算の具体的な処理を示すフローチャートである。
【図49】本実施例に係る類似度計算画面の構成例を示す図である。
【図50】本実施例に係る類似度の計算結果を表示する画面の構成例を示す図である。
【図51】本実施例に係るロール修正案提示を表示する画面の構成例を示す図である。
【図52】本実施例に係るロール修正案の詳細を表示する画面の構成例を示す図である。
【図53】本実施例に係る統合セキュリティ管理システムの具体的な構成例を示す図である。
【符号の説明】
【0297】
100 統合セキュリティ管理システム
110 統合アクセス制御情報管理部
113 RBACポリシー記憶部
115 ポリシーチェックルール記憶部
116 ポリシーチェック・修正部
120 統合ID管理部
130 監査ログ記憶部
【技術分野】
【0001】
本発明は、情報処理システムにおいて内部統制等に基づくアクセス制御ポリシーが適切に遵守されているか否かをチェックするプログラムに関する。
【背景技術】
【0002】
近年日本版SOX法(金融商品取引法)の施行に伴い、内部統制やコンプライアンスへの対応が求められており、ID,アクセス権についても統制を厳密に実施し、強化していくことが求められている。
【0003】
従来この分野において、Sun Java Identity Managerなどの企業内の各システムが管理するID情報を統合的に管理する機能を持つ製品や、Oracle Role Managerなどの企業内のシステムで管理しているロールを統合的に管理するシステムが、提供されており、統制強化のために、セキュリティポリシー(職務分掌)をチェックする機能が組み込まれている。
【0004】
この仕組みは、以下のようなマトリクスを利用して、チェックを行う方式である。
【0005】
【表1】
表中の○印は、ユーザが行と列で示されている2つのロールを同時に利用(所属)することがセキュリティポリシー上許されている。×は、ユーザが行と列で示されている2つのロールを同時に利用することが、セキュリティポリシー上禁止されていることを示している。
【0006】
例えば、ユーザは、ロールAとロールBを同時に利用することができない。また、ユーザは、ロールAとロールCは同時に利用することができる。このような定義に基づいて、IDやロールの統合管理するシステムは、自身で管理しているだれがどのロールに所属しているかという「ユーザ−ロール割当て情報」を使ってチェックを行う。
【0007】
上記技術に関連して、特許文献1には、RBAC(Role Based Access Control)モデルおよびTE(Type Enforcement)モデルに基づく強制アクセス制御の設定が適切であることを検証する情報処理装置について開示されている。また、特許文献2には、2ポリシー集合の置き換えに用いることのできるポリシー集合を生成するポリシー集合生成装置について開示されている。
【特許文献1】特開2007−041881号公報
【特許文献2】特開2007−072581号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
現在、多くのシステムでは、RBACといったアクセス制御モデルが採用されている。このモデルには、ユーザとロールの関係、ロールとパーミッションの関係、ロールの階層関係や職務分掌の関係などを管理している。
【0009】
このようなRBACシステムを想定した場合に、上記従来の技術の製品が提供している機能は、IDとロールの関係の関係について、セキュリティポリシーをチェックしており、その他の関係についてチェックしておらず、そのためポリシー遵守が徹底されていない。
【0010】
また、内部統制の実施において、企業内のシステム管理やセキュリティ管理の担当といったシステムに精通している人ばかりでなく、監査担当、コンプライアンス担当や、あるいは経営層といったシステムに精通していない人も係わってくるため、システムのID・アクセス権の統制が行われているかどうかについてだれが見てもわかるようにシステム毎に数値化することが必要である。
【0011】
これは、組織内のシステムにおいてどのシステムが、他のシステムに比べて、ID・アクセス権に関してどれだけちゃんと管理している/管理していないということがわかるようになり、管理していないシステムについて徹底を促すことができることや、数値化することにより、各システムの管理目標を明確化することができるといった効果がある。これらの効果は、組織内の統制強化につながる。
【0012】
本発明は、上述した問題に鑑みてなされたものであり、その解決しようとする課題は、アクセス制御のためのポリシーに対する多面的かつ網羅的なチェックを可能にし、チェック結果を容易かつ客観的に把握することを可能にするアクセス制御ポリシーの遵守チェックを実現することである。
【課題を解決するための手段】
【0013】
上記課題を解決するために、情報処理装置に、任意のリソースに対するアクセスを一括してまたは部分的に制限するアクセス権管理情報を記憶するアクセス権管理情報記憶手段から該アクセス権管理情報を取得するアクセス権管理情報取得処理と、前記リソースに対してまたは該リソースに対するアクセスに対して設定されたポリシーを記憶するポリシー記憶手段から該ポリシーを取得し、前記アクセス権管理情報が前記ポリシーに適合しているか否かを検査し、前記ポリシーに適合しないものを違反として検出する違反検出処理と、該違反のリスクの度合いに応じてリスク得点を算出し、該算出結果から前記ポリシーに対する遵守レベルを算出するポリシー遵守レベル算出処理と、該ポリシー遵守レベル算出処理の算出結果を出力する結果出力処理と、を実行させる。
【0014】
上記処理によると、アクセス権管理情報がポリシーに適合しないものを違反として検出し、検出した違反全体または特定の違反毎にポリシーの遵守レベルを算出する。そして、算出結果を違反全体または一部の違反毎にポリシーの遵守レベルを、例えば、表示装置に出力し、表示データとして記憶装置に出力する。
【発明の効果】
【0015】
以上に説明した処理により、アクセス制御のためのポリシーに対して多面的かつ網羅的なチェックを可能にし、チェック結果を容易かつ客観的に把握することを可能にするアクセス制御ポリシーの遵守チェックが実現される。
【発明を実施するための最良の形態】
【0016】
以下、本発明の実施形態について、図1〜図53に基づいて説明する。
1. 本実施例の概要
図1は、本実施例に係るアクセス制御ポリシー遵守のチェック機構を備える統合セキュリティ管理システム100の構成例を示す図である。
【0017】
図1に示す統合セキュリティ管理システム100は、各サーバA、BおよびCに対してアクセス制御を行なうアクセス制御ポリシー(以下、必要に応じて「ポリシー」という)の配布・収集を行なう統合アクセス制御情報管理部110と、各サーバA、BおよびCにおけるユーザアカウント等を統合的に管理する統合ID管理部120と、を備える。
【0018】
なお、各サーバA、BおよびCから出力されるログの全部または一部は、監査ログとして監査ログ記憶部130に記憶される。必要に応じて、監査ログ記憶部130を統合セキュリティ管理システム100の構成要素としてもよい。また、図1では、サーバA、BおよびCからなるサーバシステムを示しているが、サーバの数を限定する趣旨でないのは当然である。
【0019】
統合アクセス制御情報管理部110は、各サーバA、BおよびCに対してポリシーの配布・収集を行なう設定アダプタ111と、ポリシーを生成するポリシー生成部112と、生成したポリシーやRBACポリシー等を記憶するRBACポリシー記憶部113と、各サーバA、BおよびCにおけるリソースの構成情報を各サーバから取得・管理するリソース構成情報管理部114と、ポリシーをチェックするルール等を記憶するポリシーチェックルール記憶部115と、ポリシーチェックルール記憶部115に記憶されているポリシーチェックルールにしたがってポリシーのチェック・修正を行なうポリシーチェック・修正部116と、を備えることにより、システム全体で一貫したアクセス制御を行うためのアクセス権を管理(生成、編集、削除等)し、各サーバシステムのアクセス制御機構で可読な形式でアクセス権を配付する。
【0020】
ポリシーチェック・修正部116は、例えば、RBACポリシー記憶部113に記憶されたRBACポリシーやRBACポリシー記憶部113若しくは統合ID管理部120に記憶されたアクセス権設定情報を取得し、監査ログ記憶部103から監査ログとして記憶されているアクセスログを取得する。
【0021】
アクセス権設定情報とは、例えば、後述するロール−ユーザ対応表などのユーザ情報、ユーザ−ロール割当て情報、パーミッション−ロール割当て情報、ロール情報、などをいい、必要に応じて職務分掌ルール情報等を含めてもよい。
【0022】
ロールとは、論理的な中間体であって、例えばリソースなどのオブジェクトに対するアクセスに関する設定等をグループ化したものである。例えば、RBACシステムでは、アクセス権(読み取り、書き込み、変更、削除など)などをグループ化したものをいう。
【0023】
また、ポリシーチェック・修正部116は、ポリシーチェックルール記憶部115から所定のポリシーチェックルールを取得する。そして、ポリシーチェックルールに違反した設定があるかどうかを検知し、ポリシー遵守レベルを算出する(数値化する)。また、ポリシーチェック・修正部116は、検出した違反に対して修正案を提示する。
【0024】
ポリシーチェックルールとは、例えば、後述するユーザへのロール割当て禁止ルール、ロールへのパーミッション割当て禁止ルール、ユーザへのパーミッション割当て禁止ルールなどである。
【0025】
リソース構成情報管理部114は、統合的なアクセス制御実現に必要な、アクセス制御対象となるリソースの構成情報を各サーバA、BおよびCから収集し、ポリシー作成のために統合アクセス情報管理で管理する。
【0026】
リソースとは、本実施例に係る統合セキュリティ管理システム100の管理対象であって、各サーバを構成し若しくはサーバ上で動作する構成要素をいう。例えば、各サーバに備わるメモリやデータファイル、各サーバ上で動作するアプリケーション等である。
【0027】
また、アクセスとは、リソースに対して行なう操作のことをいう。例えば、任意のサーバ上またはサーバが備える記憶装置等に記憶されたファイルに対するRead/Write処理などである。
【0028】
統合ID管理部120は、統合的なアクセス制御を実現するために、サーバA、BおよびCからなるサーバシステムや統合セキュリティ管理システム100を含むシステム全体で一意なユーザIDとその属性情報(資格、役割等)とを一元管理し、管理対象システムと同期をとると共に、ポリシー作成に必要なユーザID等を統合アクセス制御情報管理部110に通知する。
【0029】
また、統合ID管理部102は、ロール−ユーザ対応表等のユーザ情報を管理し、必要に応じて統合アクセス制御情報管理部110に配付する。
2. ポリシー遵守レベル測定対象
本実施例に係る統合アクセス制御情報管理部110は、アクセス権の管理対象であるユーザ情報、ユーザ−ロール割当て情報、パーミッション−ロール割当て情報、ロール情報、職務分掌ルール情報(以下、これらの情報を「アクセス権管理情報」という)について、ポリシーを遵守しているかどうかを検知し、検知された設定情報等のリスクの強弱に応じて得点化を行なう。さらに、サーバや保護されるリソース集合の単位で、その総合得点を計算することで、他のサーバやリソース集合の管理におけるポリシー遵守度合いを比較可能にする。
【0030】
本実施例に係る統合セキュリティ管理システム100では、RBACシステムにおけるポリシーの遵守レベルを計測する場合について説明する。なお、RBACシステムについては、従来技術であるので、詳細な説明は省略する。
【0031】
図2は、本実施例に係る統合セキュリティ管理システム100におけるポリシー遵守レベルのチェック対象を説明する図である。図2に示すように、次の項目についてポリシーチェックルールに違反した件数を取得し、その結果を用いて遵守のレベルを数値化する。
【0032】
(1)不適切なユーザアカウントの検出
不適切なユーザアカウントとしては、例えば、利用者を特定できないユーザ、使用されていないユーザ、職制移動したが残っているユーザについてのアカウントなどが考えられる。
【0033】
(2)不適切なユーザ−ロール割当ての検出
不適切なユーザ−ロール割当てとしては、例えば、使用されていないユーザ−ロール割当て、ユーザの同時割当てが禁止されたロールについてユーザ−ロール割当てが行なわれている、などが考えられる。
【0034】
(3)不適切なパーミッション−ロール割当ての検出
不適切なパーミッション−ロール割当てとしては、使用されていないパーミッション−ロール割当て、ユーザの同時割当てが禁止されているパーミッションについてパーミッション−ロール割当てが行なわれている、などが考えられる。
【0035】
(4)不要なロールの検出
不要なロールとしては、例えば、使用されていないロール、親子関係が禁止されたロール、などが考えられる。
【0036】
(5)職務分掌違反の検出
職務分掌違反としては、例えば、ユーザの同時割当てが禁止されたロールについてユーザ−ロール割当てが行なわれている、パーミッションの同時割当てが禁止されているロールまたはユーザについてパーミッションーロール割当てが行なわれている、などが考えられる。
【0037】
3. 本実施例に係る処理の概要
図3は、本実施例に係る統合セキュリティ管理システム100の処理の概要を示すフローチャートである。
【0038】
ステップS300において、統合セキュリティ管理システム100は、アクセス制御ポリシーの遵守をチェックする処理を開始すると、ステップS301に移行する。
ステップS301において、統合セキュリティ管理システム100は、必要に応じて、統合ID管理部120、RBACポリシー記憶部113またはポリシーチェックルール記憶部115からアクセス権管理情報を取得する。
【0039】
本実施例では、アクセス権管理情報のうちユーザID等のユーザ情報は、統合ID管理部120に記憶されている。また、ユーザ−ロール割当て情報、パーミッション−ロール割当て情報およびロール情報は、RBACポリシー記憶部113に記憶され、職務分掌ルール情報は、ポリシーチェックルール記憶部115に記憶されている。
【0040】
ステップS302において、統合セキュリティ管理システム100は、ステップS301で取得したアクセス権管理情報に応じて、ポリシーチェックルール記憶部115からポリシーチェックルールを取得し、当該ルール等に関する違反を検出する。
【0041】
本実施例では、図2で説明したように、ステップS301で取得したアクセス権管理情報に応じて、(1)不適切なユーザアカウント、(2)不適切なユーザ−ロール割当て、(3)不適切なパーミッション−ロール割当て、(4)不要なロール、(5)職務分掌違反を違反として検出する。これらの(1)〜(5)の処理については、後述する。
【0042】
ステップS303において、統合セキュリティ管理システム100は、ステップS302で検出した違反の件数等に基づいて、ポリシー遵守レベルを算出する。
ステップS304において、統合セキュリティ管理システム100は、ステップS303の算出結果を表示装置等に出力して表示する。そして、統合セキュリティ管理システム100は、ステップS305に移行して処理を終了する。
【0043】
以下、ステップS302〜S304の具体的な処理について説明する。
3.1 不適切なユーザアカウントの検出処理
アクセス権管理の中で、不適切なユーザIDがあると、不正なアクセスや、情報漏洩・情報の改ざんの原因となるため、ユーザIDを適切に管理することが必要となる。
【0044】
本実施例では、アクセス権管理の管理対象であるユーザ情報を使って、使っていないユーザID、利用者を特定できないユーザID、または、異動したがアカウントが残っているユーザを、不適切なユーザと定義し、それを検出し、検出結果を、そのリスクの強弱に応じて分類し、得点化することで、ユーザIDを適切に管理することを可能にする。
【0045】
図4は、本実施例に係る不適切なユーザIDの検出処理の概要を示す図である。
ポリシーチェック・修正部116は、統合ID管理部120から表21に示すロール−ユーザ対応表を取得する。また、ポリシーチェック・修正部116は、人事システム410などの例えば異動者情報記憶部411に記憶されている従業員に関する情報から作成された異動や退職したユーザリスト(以下、「異動者リスト」という)を取得する。
【0046】
異動者情報記憶部411は、例えば、必要に応じて統合セキュリティ管理システム100に備えてもよいし、人事システム410を構成するサーバA、B、またはC等に備えられていてもよい。
【0047】
また、ポリシーチェック・修正部116は、統合ID管理部120からユーザ情報402を取得する。そして、ポリシーチェック・修正部116は、取得した情報を利用し、不適切なユーザアカウントを検出する。さらに、ポリシーチェック・修正部116は、検出結果を、表3に示す不適切なユーザのリスク得点表501に基づいて数値化する。
【0048】
図5は、本実施例に係る不適切なユーザアカウントの定義を説明する図である。
図5に示すように、本実施例に係る不適切なユーザアカウントは、
(a)「利用者を特定できないユーザID」∪
(b)「使用されていないユーザID」∪
(c)「職制異動したがIDが残っているユーザID」
と定義する。
【0049】
ここで、本実施例では、システムのユーザIDリスト(以下、「ユーザリスト」という)を、ユーザ情報302として使用する。表2にその具体例を示す。表2では、ユーザIDとメールアドレス、最終利用日時という項目をもつテーブルである。
【0050】
【表2】
表2を用いた場合、(a)「利用者を特定できないユーザID」は、メールアドレスがないユーザと定義することができる。例えば、表2では2行目の「bbbbb」は、メールアドレスがないため、利用者を特定できないIDとなる。
【0051】
なお、本実施例では、メールアドレスがないユーザを「利用者を特定できないユーザID」と定義しているが、これに限定する趣旨ではない。例えば、内線番号や外線番号、Fax番号など利用者との連絡手段がない場合に「利用者と特定できないユーザID」と定義してもよい。
【0052】
また、表2を用いた場合、(b)「使用されていないユーザID」は、最終利用日時が現在時刻よりも所定期間以前のユーザIDと定義することができる。
また、表2を用いた場合、(c)「職制異動(退職含む)したがIDが残っているユーザID」は、人事システム410などの従業員に関する情報などから作成された異動や退職したユーザリスト(異動者リスト)に載っているユーザのユーザIDと定義することができる。
【0053】
以上の定義にしたがって、不適切なユーザアカウントを検出する処理を以下に説明する。
図6は、本実施例に係る不適切なユーザアカウントを検出する具体的な処理を示すフローチャートである。
【0054】
例えば、図3に示したステップS301において、統合ID管理部120から表2に示したユーザ情報(ユーザリスト)を取得し、人事システム410から異動者リストを取得すると、ポリシーチェック・修正部116は、処理をステップS601に移行する。そして、不適切なユーザアカウントの検出処理を開始する。
【0055】
ステップS602において、ポリシーチェック・修正部116は、ユーザリストのi(iは1以上の自然数)番目のユーザIDのUiをチェック対象のユーザIDに設定する。
そして、ポリシーチェック・修正部116は、ユーザリストにおけるメールアドレスを参照し、ユーザIDUiにメールアドレスが登録されているか否かをチェックする。また、ポリシーチェック・修正部116は、ユーザリストにおける最終利用日時を参照し、当該最終利用日時が現在時刻よりも所定期間以上前であるか否かをチェックする。また、ポリシーチェック・修正部116は、異動者リストを参照し、ユーザIDUi(または、Uiに該当するユーザ)が当該異動者リストに登録されているか否かをチェックする。
【0056】
ステップS603において、ユーザIDUiにメールアドレスが登録されている場合、ポリシーチェック・修正部116は、処理をステップS604に移行する。そして、ポリシーチェック・修正部116は、該当するユーザIDUiを、特定できないユーザアカウントとして記憶装置等に記憶する。
【0057】
ステップS605において、当該最終利用日時が現在時刻よりも所定期間以上前である場合、ポリシーチェック・修正部116は、処理をステップS606に移行する。そして、ポリシーチェック・修正部116は、該当するユーザIDUiを、利用されていないユーザアカウントとして記憶装置等に記憶する。
【0058】
ステップS607において、ユーザIDUiが異動者リストに登録されている場合、ポリシーチェック・修正部116は、処理をステップS610に移行する。そして、ポリシーチェック・修正部116は、該当するユーザIDUiを、異動したが残っているユーザアカウントとして記憶装置等に記憶する。
【0059】
ステップS609において、ポリシーチェック・修正部116は、ユーザIDUiが表3に示す分類(A)〜(G)の何れに該当するかを判断する。そして、表3に該当する分類がある場合、ポリシーチェック・修正部116は、処理をステップS610に移行する。
【0060】
ステップS601において、ポリシーチェック・修正部116は、ユーザIDUiとリスク分類とリスク得点を、記憶装置等に用意したユーザリスク検出リストに記録する。
ステップS611において、ポリシーチェック・修正部116は、全てのユーザIDについてチェックが完了したか否かを確認する。そして、チェックすべきユーザIDがユー
ザリストにある場合、ポリシーチェック・修正部116は、処理をステップS612に移行する。
【0061】
ステップS612において、ポリシーチェック・修正部116は、iを1だけインクリメントし、処理をステップS602に移行する。ステップS602では、ユーザリストにおける次のユーザIDをチェック対象のユーザIDに設定する。
【0062】
一方、ステップS613において、全てのユーザIDについてチェックが完了した場合、ポリシーチェック・修正部116は、処理をステップS613に移行し、不適切なユーザアカウントの検出処理を終了する。
【0063】
ここで、(a)「利用者を特定できないユーザID」と、(b)「使用されていないユーザID」と、(c)「職制異動したがIDが残っているユーザID」の集合の関係を図7に示す。
【0064】
図7に示す集合(A)は、「利用者を特定できないユーザID」かつ「使用されているユーザID」かつ「職制異動していないユーザID」の集合を示し、集合(B)は、「利用者を特定できるユーザID」かつ「使用されていないユーザID」かつ「職制異動していないユーザID」の集合を示し、集合(C)は、「利用者を特定できるユーザID」かつ「使用されているユーザID」かつ「職制異動したがIDが残っているユーザID」の集合を示す。
【0065】
また、集合(D)は、「利用者を特定できないユーザID」かつ「使用されていないユーザID」かつ「職制異動したがIDが残っているユーザID」の集合を示す。
また、集合(E)は、「利用者を特定できないユーザID」かつ「使用されていないユーザID」かつ「職制異動していないユーザID」の集合を示し、集合(F)は、「利用者を特定できるユーザID」かつ「使用されていないユーザID」かつ「職制異動したがIDが残っているユーザID」の集合を示し、集合(G)は、「利用者を特定できないユーザID」かつ「使用されているユーザID」かつ「職制異動したがIDが残っているユーザID」の集合を示す。
【0066】
この図の各集合についてのリスクを考慮することにより、例えば、表3に示すリスク得点(リスクが高ければ高い点数)テーブルが得られる。
【0067】
【表3】
なお、表3に示した得点は、点数が大きいほど検出した不適切なユーザアカウントの分類のリスクが高いことを示している。ただし、表3に示した得点は、これに限定する趣旨ではなく、必要に応じてリスクの高いと思われるものに高い特定を設定すればよい。
【0068】
以上に説明した処理によって、ユーザID毎のリスク値と、全てのリスク値の合計を算出すると、ポリシーチェック・修正部116は、処理結果を、ポリシー遵守レベルとして表示装置等に出力して表示する。
【0069】
図8は、不適切なユーザアカウントの検出処理におけるポリシー遵守レベルの表示例を示す図である。本実施例では、ユーザID毎のリスク点数と、その合計点をリスク評価値として表示している。
【0070】
3.2 不適切なユーザ−ロール割当ての検出処理
アクセス権管理において、不適切なユーザ−ロール割当てがあると、不正なアクセスや、情報漏洩・情報の改ざんの原因となる。そのため、ユーザ−ロール割当てを適切に管理する必要がある。
【0071】
本実施例では、アクセス権管理の管理対象であるユーザ−ロール割当て情報に関し、不適切なユーザ−ロール割当て情報を、使用していないユーザ−ロール割当てとユーザへのロール割当て禁止の違反割当てとで定義し、それを検出し、検出結果を、そのリスクの強弱に応じて分類し、得点化することで、ユーザ−ロール割当てを適切に管理する。
【0072】
図9は、本実施例に係る不適切なユーザ−ロール割当ての検出処理の概要を示す図であ
る。
ポリシーチェック・修正部116は、統合ID管理部120からユーザ情報901(例えば、表21に示すロール−ユーザID対応表)を取得する。また、ポリシーチェック・修正部116は、監査ログ記憶部130から例えば表22に示すアクセスログ902を取得する。
【0073】
そして、ポリシーチェック・修正部116は、ユーザ情報901とアクセスログ902とから使用していないユーザロール割当てを検出する。また、ポリシーチェック・修正部116は、例えば表5に示すあらかじめ設定されたロール割当て禁止ルール903に基づいて、ユーザ−ロール割当てに関するロール割当て禁止違反を検出する。そして、ポリシーチェック・修正部116は、検出結果を、表7に示すあらかじめ用意された不適切なユーザ−ロール割当てのリスク得点表904を用いて数値化する。
【0074】
本実施例では、不適切なユーザ−ロール割当てを、
(a)「使用されていないユーザ−ロール割当て」∪
(b)「ユーザへのロール割当て禁止の違反割当て」
と定義する。
【0075】
図10は、本実施例に係る不適切なユーザ−ロール割当ての検出処理の概要を示すフローチャートである。
例えば、図3に示したステップS301において、統合ID管理部120からユーザ情報901(例えば、表21に示すロール−ユーザ対応表)を取得し、監査ログ記憶部130から例えば表22に示すアクセスログ902を取得すると、ポリシーチェック・修正部116は、処理をステップS1001に移行する。そして、不適切なユーザ−ロール割当ての検出処理を開始する。
【0076】
ステップS1001において、ポリシーチェック・修正部116は、ユーザ情報901とアクセスログ902とから使用していないユーザロール割当てを検出する。
ステップS1002において、ポリシーチェック・修正部116は、あらかじめ設定されたロール割当て禁止ルール903に基づいて、ユーザ−ロール割当てに関するロール割当て禁止違反を検出する。
【0077】
ステップS1003において、ポリシーチェック・修正部116は、ステップS1001およびステップS1002における検出結果から、不適切なユーザ−ロール割当てのリスク得点表904に基づいてリスク評価値を算出する。
【0078】
以上の処理が終了すると、ポリシーチェック・修正部116は、処理をステップS304に移行し、ポリシー遵守レベルとして算出したリスク評価値を出力装置等に出力して表示する。
【0079】
ここで、ステップS1001における「使用されていないユーザ−ロ−ル割当て」の検出では、表4に示すユーザ−ロール対応表(表21をユーザをキーにソートしたもの)と、表22に示すアクセスログと、から使用されていないユーザ−ロール割当てを検出する。
【0080】
【表4】
【0081】
3.2.1 使用されていないユーザ−ロール割当ての検出処理
図11は、本実施例に係る使用されていないユーザ−ロ−ル割当て検出処理(ステップS1001)の具体的な処理を示すフローチャートである。
【0082】
ステップS1101において、ポリシーチェック・修正部116は、ユーザ−ロール対応表のi番目のユーザIDであるUiを取得する。そして、ポリシーチェック・修正部116は、アクセスログ902を参照し、当該Uiについてのアクセスログが記録されているアクセスログを抽出する。
【0083】
ステップS1102において、ポリシーチェック・修正部116は、ユーザ−ロール対応表のUiにおけるj(jは1以上の自然数)番目のロールRjを取得する。そして、ポリシーチェック・修正部116は、ステップS1101で抽出したアクセスログのうち、当該Rjに対するアクセスログが記録されているか否かを確認する。
【0084】
ステップS1103において、ポリシーチェック・修正部116は、ステップS1102の確認の結果、UiがRjを使用したアクセスログを確認できなかった場合、処理をステップS1104に移行し、当該UiのRjを記憶装置等に記憶する。
【0085】
ステップS1105において、ポリシーチェック・修正部116は、ユーザ−ロール対応表にUiに所属する未チェックのロールがあるか否かを判断する。そして、未チェックのロールがあると判断した場合、ポリシーチェック・修正部116は、処理をステップS1106に移行する。
【0086】
そして、ポリシーチェック・修正部116は、jを1だけインクリメントすると、処理をステップS1102に移行する。
ステップS1107において、ポリシーチェック・修正部116は、ユーザ−ロール対応表に未チェックのユーザがあるか否かを判断する。未チェックのユーザがあると判断した場合、ポリシーチェック・修正部116は、処理をステップS1108に移行する。
【0087】
そして、ポリシーチェック・修正部116は、iを1だけインクリメントすると、処理をステップS1101に移行する。
一方、ステップS1107において、未チェックのユーザがないと判断した場合、ポリシーチェック・修正部116は、ユーザが使用していないロールを検出する処理を終了し(ステップS1109)、ステップS1002に移行する。
【0088】
以上の処理によって、ユーザが使用していないロールのリストが得られる。
なお、ステップS1002における「ユーザへのロール割当て禁止の違反割当て」の検出において、ユーザへのロール割当て禁止のルール903は、例えば表5のようにロールのペアとして定義される。以下の例の1番目は、R1とR2を同じユーザに割当ててはいけないことを意味する。2番目は、R1とR5を同じユーザに割当ててはいけないことを意味している。
【0089】
【表5】
【0090】
3.2.2 ユーザへのロール割当て禁止の違反割当ての検出処理
図12は、本実施例に係るロール割当て禁止に違反するロール割当て検出処理(ステップS1002)の具体的な処理を示すフローチャートである。なお、図12に示す処理では、入力として、表4に示したユーザ−ロール対応表と、表5に示したロール割当て禁止ルール903と、が入力される。
【0091】
ステップS1001の処理が終了すると、ポリシーチェック・修正部116は、処理をステップS1201に移行し、ユーザ−ロール割当てがロール割当て禁止ルール903に違反しているか否かをチェックする処理を開始する。
【0092】
ステップS1201において、ポリシーチェック・修正部116は、記憶装置等にあらかじめ記憶されたロール割当て禁止ルール903を取得する。
ステップS1202において、ポリシーチェック・修正部116は、ユーザ−ロール対応表を参照し、チェック対象のユーザIDを特定する。以下、ユーザ−ロール対応表のi番目のユーザIDをUiとして説明する。
【0093】
ステップS1203において、ポリシーチェック・修正部116は、ユーザ−ロール対応表を参照し、Uiに対して割当てられているロールを特定する。以下、ユーザ−ロール対応表において、Uiに対してj番目に割当てられているロールをRjとする。
【0094】
ステップS1204において、ポリシーチェック・修正部116は、例えば、表5に示したロール割当て禁止ルールを参照し、ステップS1203で特定したロールRjが、当該ロール割当て禁止ルールに登録されているか否かをチェックする。
【0095】
そして、Rjがロール割当て禁止ルールに登録されていた場合、ポリシーチェック・修正部116は、処理をステップS1205に移行する。
ステップS1205において、ポリシーチェック・修正部116は、ロール割当て禁止ルールにRjとともに登録されているロール(以下、「Rj’」とする)を取得する。そして、ポリシーチェック・修正部116は、ユーザ−ロール対応表を参照し、Uiに対してRj’が割当てられているか否かをチェックする。
【0096】
そして、ユーザ−ロール対応表において、Uiに対してRj’が割当てられている場合、ポリシーチェック・修正部116は、処理をステップS1206に移行し、違反しているUi、RjおよびRj’を1組のデータとして、記録装置等に記憶する。
【0097】
ステップS1207において、ポリシーチェック・修正部116は、ユーザ−ロール対応表を参照し、Uiに対して割当てられているロールであってチェックしていないものがあるか否かをチェックする。チェックしていないロールがある場合、ポリシーチェック・修正部116は、処理をステップS1208に移行し、jを1だけインクリメントする。そして、処理をステップS1203に移行する。
【0098】
また、ステップS1207において、チェックしていないロールがない場合、ポリシーチェック・修正部116は、処理をステップS1209に移行する。
ステップS1209において、ポリシーチェック・修正部116は、ユーザ−ロール対応表を参照し、チェックすべきユーザIDが他にあるか否かをチェックする。チェックすべきユーザIDがある場合、ポリシーチェック・修正部116は、処理をステップS1210に移行し、iを1だけインクリメントする。そして、処理をステップS1202に移行する。
【0099】
また、ステップS1209において、チェックすべきユーザIDがない場合、ポリシーチェック・修正部116は、ステップS1211に移行し、ユーザ−ロール割当てがロール割当て禁止ルールに違反しているかのチェック処理を終了する。
【0100】
以上の処理により出力される違反リストは表6のようなものになる。例えば、ユーザIDがU2の場合、R1とR2の同時割当てが禁止されているルールに違反していることを示している。
【0101】
【表6】
【0102】
図11および12で詳細したように、ステップS1001およびS1002の処理により、使用されていないユーザ−ロール割当てとロール割当て禁止ルールに違反した割当てが検出される。そして、ポリシーチェック・修正部116は、この検出結果から、次表に示すケースの場合分けに応じて、リスク評価値を計算する。なお、表7に示すリスク得点は、これに限定する趣旨でないのは当然である。
【0103】
【表7】
ポリシーチェック・修正部116は、ステップS1001およびS1002の処理結果を表7に示す分類にしたがって分類し、得点を算出する。
【0104】
例えば、表6のユーザIDがU2の場合、表5に示したロール割当て禁止ルールの番号1に違反していることを示している。一方、表4に示したユーザ−ロール対応表には、U2に対してR1およびR5が設定されている。
【0105】
すなわち、U2は、ロール割当て禁止ルールの番号1に規定されているロール(R1、R5)のうちの1つのロールを使用している。したがって、ポリシーチェック・修正部116は、表7に示すNo.2のケースに該当すると判断し、リスク評価値として得点2を取得する。
【0106】
さらに、ポリシーチェック・修正部116は、ユーザID毎に得られた得点の合計値を計算し、表示装置等に出力して一定のフォーマットにしたがって表示する。
図13は、不適切なユーザ−ロール割当ての検出処理におけるポリシー遵守レベルの表示例を示す図である。本実施例では、ユーザID毎に、ロール割当て禁止ルールに違反したロール、使用してないロール、違反の説明、リスク点数を表示し、また、その合計点をリスク評価値として表示している(図13では、リスク評価値が「39」の場合を示している)。
【0107】
3.3 不適切なパーミッション−ロール割当ての検出処理
アクセス権管理において、不適切なパーミッション−ロール割当てがあると、不正なアクセスや、情報漏洩・情報の改ざんの原因となる。そのため、パーミッション−ロール割当ては適切に管理される必要がある。
【0108】
本実施例では、アクセス権管理の管理対象であるパーミッション−ロール割当て情報に関し、アクセス権管理の管理対象であるパーミッション−ロール割当て情報を使って、不適切なパーミッション−ロール割当てを、使用していないパーミッション−ロール割当てとパーミッション割当て禁止の違反割当てと定義し、それを検出し、検出結果を、そのリスクの強弱に応じて分類し、得点化することで、ユーザ−ロール割当てを適切に管理する。
【0109】
ポリシーチェック・修正部116は、監査ログ記憶部103から、例えば表22に示すアクセスログ1401を取得する。また、ポリシーチェック・修正部116は、RBACポリシー記憶部113からから、例えば表20に示すパーミッション−ロール情報1402を取得する。
【0110】
また、ポリシーチェック・修正部116は、アクセスログ1401とパーミッション−ロール情報1402とから使用していないパーミッションを検出する。
そして、ポリシーチェック・修正部116は、検出した使用していないパーミッションと、例えば表8に示すあらかじめ設定されたパーミッション割当て禁止ルール1403と、に基づいて、不適切なパーミッション−ロール割当てを検出する。そして、ポリシーチェック・修正部116は、検出結果を、例えば表11に示すあらかじめ用意された不適切なパーミッション割当てのリスク得点表1404を用いて数値化する。
【0111】
本実施例では、不適切なパーミッション−ロール割当てを、
(a)「使用されていないパーミッション」∪
(b)「職務分掌上(業務オペレーション上)ロールが同時に持つことが禁止されているパーミッション」
と定義する。
【0112】
図15は、本実施例に係る不適切なパーミッション−ロール割当ての検出処理の概要を示すフローチャートである。
例えば、図3に示したステップS301において、監査ログ記憶部103から例えば表22に示すアクセスログ1401を取得し、RBACポリシー記憶部113から例えば表20に示すパーミッション−ロール情報1402を取得すると、ポリシーチェック・修正部116は、処理をステップS1501に移行する。そして、不適切なパーミッション−ロール割当ての検出処理を開始する。
【0113】
ステップS1501において、ポリシーチェック・修正部116は、アクセスログ1401とパーミッション−ロール情報1402から使用していないパーミッションを検出する。
【0114】
ステップS1502において、ポリシーチェック・修正部116は、例えば表8に示すあらかじめ設定されたパーミッション割当て禁止ルール1403に基づいて、パーミッション−ロール割当てに関するパーミッション割当て禁止違反を検出する。
【0115】
ステップS1503において、ポリシーチェック・修正部116は、ステップS1501およびS1502における検出結果から、不適切なパーミッション−ロール割当てのリスク得点表1404に基づいてリスク評価値を算出する。
【0116】
以上の処理が終了すると、ポリシーチェック・修正部116は、処理をステップS304に移行し、ポリシー遵守レベルとして算出したリスク評価値を出力装置等に出力して表示する。
【0117】
3.3.1 使用されていないパーミッションの検出処理
「使用されていないパーミッション」の検出処理は、図11に示した「使用されていないユーザ−ロ−ル割当て」の検出処理と同様の処理によって行なうことができる。この場合、ユーザ情報901に替えてパーミッション−ロール情報1402を使用し、アクセスログ902に替えてアクセスログ1401を使用すればよい。
【0118】
また、本実施例では、パーミッション割当て禁止ルール1403の例として、職務分掌上同時に持つことが禁止されているパーミッションについてのルールを使用する。このルールの例を表8に示す。表8は、職務分掌上同時に持つことが禁止されているパーミッションの組として定義されている。
【0119】
例えば、ルール番号1は、パーミッションp1とp3とを同時に持つことが禁止されていることを示している。
【0120】
【表8】
【0121】
以下では、RBACシステム上において、(b)「職務分掌上(業務オペレーション上)ロールが同時に持つことが禁止されているパーミッション」が設定されているかどうかを検出する処理について説明するが、RBACシステム以外のシステムであっても同様の処理である。
【0122】
また、ここで使用するロールとパーミッションの対応表(以下、「ロール−パーミッション対応表」という)の例を以下の表9に示す。表中、「0」は割当てなしを示し、「1」は割当て有りを示す。例えば、R1は、パーミッションp1、p4およびp5が割当てられていることを示す。
【0123】
【表9】
【0124】
3.3.2 職務分掌上ロールが同時に持つことが禁止されているパーミッションの検出処理
図16は、本実施例に係るロールが同時使用禁止のパーミッションを所有しているか否かのチェック処理(ステップS1502)の具体的な処理を示すフローチャートである。
【0125】
ステップS1501の処理が終了すると、ポリシーチェック・修正部116は、処理をステップS1601に移行し、パーミッション割当て禁止ルール1403に違反したパーミッション(ロールが同時所有禁止パーミッション)を所有しているか否かをチェックする処理を開始する。
【0126】
ステップS1601において、ポリシーチェック・修正部116は、記憶装置等にあらかじめ記憶されたパーミッション割当て禁止ルール1403を取得する。同様に、ポリシーチェック・修正部116は、統合ID管理部120などから、例えば表21に示すロール−ユーザ対応表、例えば表9に示すロール−パーミッション対応表を取得する。
【0127】
ステップS1602において、ポリシーチェック・修正部116は、ロール−パーミッション対応表を参照し、チェック対象のロールを特定する。以下、ロール−パーミッショ
ン対応表のi番目のロールをRiとして説明する。
【0128】
ステップS1603において、ポリシーチェック・修正部116は、ロール−パーミッション対応表を参照し、Riに対して割当てられているパーミッションを特定する。以下、ロール−パーミッション対応表において、Riに対してj番目に割当てられているパーミッションをPjとする。
【0129】
ステップS1604において、ポリシーチェック・修正部116は、ステップS1601で取得したパーミッション割当て禁止ルール1403の同時所有禁止パーミッションリストを参照し、ステップS1603で特定したパーミッションPjが、当該パーミッション割当て禁止ルール1403に登録されているか否かをチェックする。
【0130】
そして、Pjがパーミッション割当て禁止ルール1403に登録されている場合、ポリシーチェック・修正部116は、処理をステップS1605に移行する。
ステップS1605において、ポリシーチェック・修正部116は、パーミッション割当て禁止ルール1403にPjとともに登録されているパーミッション(以下、「Pj’」という)を取得する。そして、ポリシーチェック・修正部116は、ロール−パーミッション対応表を参照し、Ri対してパーミッションPj’が割当てられているか否かをチェックする。
【0131】
そして、ロール−パーミッション対応表おいて、Riに対してPj’が割当てられている場合、ポリシーチェック・修正部116は、処理をステップS1606に移行し、違反しているRi、PjおよびPj’を1組のデータとして、記録装置等に記憶する。
【0132】
ステップS1607において、ポリシーチェック・修正部116は、ロール−パーミッション対応表を参照し、Riに対して割当てられているパーミッションであってチェックしていないものがあるか否かをチェックする。チェックしていないパーミッションがある場合、ポリシーチェック・修正部116は、処理をステップS1608に移行し、jを1だけインクリメントする。そして、処理をステップS1603に移行する。
【0133】
また、ステップS1607において、チェックしていないパーミッションがある場合、ポリシーチェック・修正部116は、処理をステップS1609に移行する。
ステップS1609において、ポリシーチェック・修正部116は、ロール−パーミッション対応表を参照し、チェックすべきロールが他にあるか否かをチェックする。チェックすべきロールがある場合、ポリシーチェック・修正部116は、処理をステップS1610し、iを1だけインクリメントする。そして、処理をステップS1602に移行する。
【0134】
また、ステップS1609において、チェックすべきロールがない場合、ポリシーチェック・修正部116は、ステップS1611に移行し、パーミッション割当て禁止ルール1403に違反したパーミッション(ロールが同時所有禁止パーミッション)を所有しているか否かをチェックする処理を終了する。
【0135】
以上の処理により出力される違反リストは表10のような結果が得られる。例えば、R3は、パーミッションp2とp4の同時割当てが禁止されたルールに違反していることを示している。
【0136】
【表10】
【0137】
以上に説明したように、ステップS1501およびS1502の処理により、使用されていないパーミッション割当てとパーミッション割当て禁止ルール1403に違反した割当てが検出される。そして、ポリシーチェック・修正部116は、この検出結果から、表11に示すケースの場合分けに応じて、リスク評価を算出する。なお、表11に示すリスク得点は、これに限定する趣旨でないのは当然である。
【0138】
【表11】
例えば、表11に示すケースNo.1は、ステップS1502の処理によって検出したパーミッション割当て禁止ルール1403に違反しているパーミッション(例えば、表10に示すパーミッション)のうち、2つのパーミッションが両方とも使用されている場合、リスク得点を3とすることを示している。
【0139】
さらに、ポリシーチェック・修正部116は、ロール毎に得られた得点の合計値を計算し、表示装置等に出力して一定のフォーマットにしたがって表示する。
図17は、不適切なパーミッション−ロール割当て処理におけるポリシー遵守レベルの表示例を示す図である。本実施例では、ロール毎に、パーミッション割当て禁止ルール1403に違反したパーミッション、使用していないパーミッション、違反の説明、リスク点数を表示し、また、その合計点をリスク評価値として表示している(図17では、リスク評価値が「7」の場合を示している)。
【0140】
3.4 不適切なロールの検出処理
ポリシーチェック・修正部116は、監査ログ記憶部103から例えば表22に示すアクセスログ1801を取得する。また、ポリシーチェック・修正部116は、RBACポリシー記憶部113から、例えば表20に示すパーミッション−ロール情報1802と、例えば表12に示すロール階層情報1803と、を取得する。
【0141】
そして、ポリシーチェック・修正部116は、アクセスログ1801、パーミッション−ロール情報1802およびロール階層情報1803から使用していないロールを検出する。
【0142】
そして、ポリシーチェック・修正部116は、検出した使用していないロールと、例えば表5に示すロール割当て禁止ルール1804と、例えば表8に示すパーミッション割当て禁止ルール1805と、に基づいて、不適切なロールを検出する。そして、ポリシーチェック・修正部116は、検出結果を、例えば表3に示すあらかじめ用意された不適切なロールのリスク得点表1806を用いて数値化する。
【0143】
本実施例では、不適切なロールを、
(a)「使用されていないロール」∪
(b)「ロール割当て禁止ルールに違反するロール」∪
(c)「パーミッション割当て禁止ルールに違反するロール」
と定義する。
【0144】
図19は、本実施例に係る不適切なロールの検出処理の概要を示すフローチャートである。
例えば、図3に示すステップS301において、監査ログ記憶部103から例えば表22に示すアクセスログ1801を取得し、RBACポリシー記憶部113から、例えば表20に示すパーミッション−ロール情報1802と、例えば表12に示すロール階層情報1803と、を取得すると、ポリシーチェック・修正部116は、処理をステップS1901に移行する。そして、不適切なロールの検出処理を開始する。
【0145】
ステップS1901において、ポリシーチェック・修正部116は、アクセスログ1801とパーミッション−ロール情報1802とから使用していないロールを検出する。
ステップS1902において、ポリシーチェック・修正部116は、あらかじめ設定されたロール割当て禁止ルール1804に基づいて、ロール階層情報1803において当該ルールに違反するロールを検出する。
【0146】
ステップS1903において、ポリシーチェック・修正部116は、あらかじめ設定されたパーミッション割当て禁止ルール1805に基づいて、当該ルールに違反するロールを検出する。
【0147】
ステップS1904において、ポリシーチェック・修正部116は、ステップS1901、S1902およびS1903における検出結果から、不適切なロールのリスク点数表1806に基づいてリスク評価値を算出する。
【0148】
以上の処理が終了すると、ポリシーチェック・修正部116は、処理をステップS304に移行し、ポリシー遵守レベルとして算出されたリスク評価値を出力装置等に出力して表示する。
【0149】
3.4.1 使用されていないロールの検出処理
図20は、本実施例に係る使用されていないロールの検出処理(ステップS1901)の具体的な処理を示すフローチャートである。
【0150】
ステップS2001において、ポリシーチェック・修正部116は、パーミッション−ロール情報1802を参照し、当該パーミッション−ロール情報1802のi番目に登録されているロールRjを取得する。
【0151】
ステップS2002において、ポリシーチェック・修正部116は、アクセスログ1801を参照し、ステップS2001で取得したRjに対するアクセスログが記録されているか否かをチェックする。そして、Rjに対するアクセスログが記録されていない場合、ポリシーチェック・修正部116は、処理をステップS2003に移行する。また、Rjに対するアクセスログが記録されている場合、ポリシーチェック・修正部116は、処理をステップS2004に移行する。
【0152】
ステップS2003において、ポリシーチェック・修正部116は、Rjを使用されていないロールとして、記憶装置等に記憶する。
ステップS2004において、ポリシーチェック・修正部116は、パーミッション−ロール情報1802を参照し、チェックすべきロールが他にあるか否かをチェックする。そして、チェックすべきロールが他にある場合、ポリシーチェック・修正部116は、処理をステップS2005に移行する。そして、ポリシーチェック・修正部116は、iを1だけインクリメントし、ステップS2001に移行する。
【0153】
また、ステップS2004において、チェックすべきロールが他にない場合、ポリシーチェック・修正部116は、ステップS2006に移行し、使用されていないロールの検出処理を終了する。
【0154】
3.4.2 ロール割当て禁止ルールに違反するロールの検出処理
本実施例に係るロールの構成例を図21に示す。本実施例に係るロールは、NIST(National Institute of Standard and Technology)が提案するRBACシステムのロール階層を有するロールを使用している。したがって、上位のロールは下位のパーミッションを所有し、下位のロールは上位のロールに所属するユーザがメンバーとなるように定義されている。
【0155】
なお、NISTが提案するRBACシステムのロール階層については、従来技術なので詳細な説明は省略する。また、以後の説明では、必要に応じて、特定のロールに対して上位のロールを「祖先」、下位のロールを「子孫」という。
【0156】
図21に示したロール階層は、表12に示すロール階層情報1803としてRBACポリシー記憶部113に記憶される。なお、簡単のために、RiをRiと表している。
【0157】
【表12】
本実施例に係るユーザに対するロール割当て禁止ルール違反の検出処理では、表12に示したロール階層情報1803から、表5のしたロール割当て禁止ルールに違反するロールを検出する。
【0158】
検出すべきロールを図22に示す。すなわち、ロール割当て禁止ルール1804に定義されている2つのロールの組が、子孫−祖先の関係であるようなものを検出する。例えば、図22に示すRoleA、RoleBである。
【0159】
これは、NISTが提案するロール階層の定義では、上位のロールは、下位のパーミッションを継承するので、上位ロールは下位ロールのパーミッションを含んでしまう。したがって、この2つのロールがロール割当て禁止ルール1804に違反するロールであれば、上位のロール(または、上位のロールよりさらに上位のロール)に人を割当てることができなくなる 。人が割当てられないロールに意味はないので、このようなロールをロール割当て禁止ルール1804に違反するロールとして検出する。
【0160】
また、図22に示すように、子孫−祖先の関係にないRoleC、RoleDは、ロール割当て禁止ルール1804に違反しないロールとする。
本実施例に係るロール割当て禁止ルールに違反するロールの検出処理は、ロールの同時割当て禁止ルールで定義されるロールの組みの1つのロールについて、ロール階層木を走査し、そのロールを基準に子孫、および祖先にもう一つのロールが存在するかをチェックする。
【0161】
図23は、本実施例に係るロール割当て禁止ルールに違反するロールの検出処理(ステップS1902)の具体的な処理を示すフローチャートである。
ステップS2301において、ポリシーチェック・修正部116は、ロール割当て禁止ルール1804を参照し、i番目に登録されているロールRil、Rimを取得する。
【0162】
ステップS2302において、ポリシーチェック・修正部116は、ロール階層情報1803を参照し、ステップS2301で取得したRilについてロール階層木を操作して検索する。
【0163】
ステップS2303において、ポリシーチェック・修正部116は、Rilの子孫にRimが存在するか否かをチェックする。そして、Rilの子孫にRimが存在する場合、ポリシーチェック・修正部116は、処理をステップS2305に移行する。
【0164】
ステップS2304において、ポリシーチェック・修正部116は、Rilの祖先にRimが存在するか否かをチェックする。そして、Rilの祖先にRimが存在する場合、ポリシーチェック・修正部116は、処理をステップS2305に移行する。
【0165】
ステップS2305において、ポリシーチェック・修正部116は、ステップS2303またはS2304の処理によってRimを検出すると、該当するロール割当て禁止ルール1804のルール番号i、ロールRilおよびRimを、記憶装置等に記憶する。
【0166】
ステップS2306において、ポリシーチェック・修正部116は、ロール割当て禁止ルール1804を参照し、チェックすべきルールが他にあるか否かをチェックする。そして、チェックすべきルールが他にある場合、ポリシーチェック・修正部116は、処理をステップS2307に移行する。そして、ポリシーチェック・修正部116は、iを1だけインクリメントし、処理をステップS2301に移行する。
【0167】
一方、ステップS2306において、チェックすべきロールが他にない場合、ポリシーチェック・修正部116は、ロール階層からロール割当て禁止ルールに違反しているロールの検出処理を終了する。例えば、表13に示すような結果が得られる。
【0168】
【表13】
【0169】
3.4.3 パーミッション割当て禁止ルールに違反するロールの検出処理
本実施例に係るパーミッション割当て禁止ルールに違反するロールの検出処理では、例えば表12に示したロール階層情報1803から親子関係にあるロールを抽出し、例えば表23に示すロール−パーミッション対応表から、該当するロールのパーミッションを取得する。
【0170】
そして、取得したパーミッションが、例えば表8に示すパーミッション割当て禁止ルール1805に違反しているか否かをチェックする。具体的には、後述するように、ロール階層木の中で親子関係にあるRiとRjの各々が持つパーミッションが違反しているかをチェックする。そして、例えば表14に示すように、違反しているパーミッション割当て禁止ルールを出力する。
【0171】
ここで、パーミッション割当て禁止ルールに違反するロールについて、以下に示す(1)〜(4)の場合が考えられる。
(1)ロールRiとRjがともにパーミッション割当て禁止ルールに違反している場合
図24は、ロールRiとRjがともにパーミッション割当て禁止ルールに違反している場合のロール階層について説明する図である。図24に示すロール階層は、パーミッションpiおよびpjに関し、(pi∈Ri)かつ(pj∈Ri)の関係にあるRiと、(pi∈Ri)かつ(pj∈Ri)の関係にあるRjと、が親子関係にある場合を示している
。
【0172】
例えば、パーミッション割当て禁止ルール1805のルール番号kのルールに、piとpjの同時割当て禁止が定義されていた場合、ポリシーチェック・修正部116は、当該ルールに違反するRiの子孫であるRjがロール階層木の葉であるかをチェックし、葉である場合Rjがルール違反の原因の1つと判断する。
【0173】
したがって、図24に示すロール階層の場合、RiとRjはいずれもパーミッション割当て禁止ルール1805に違反すると判断する。また、Rjが葉でない場合、ポリシーチェック・修正部116は、Rjの子孫について同様のチェックを行なう。
【0174】
(2)ロールRiがパーミッション割当て禁止ルールに違反し、Rjが違反していない場合
図25は、ロールRiがパーミッション割当て禁止ルールに違反し、Rjが違反していない場合のロール階層について説明する図である。図25に示すロール階層は、パーミッションpiおよびpjに関し、(pi∈Ri)かつ(pj∈Ri)の関係にあるRiと、(pi∈Ri)でも(pj∈Ri)でもないRjと、が親子関係にある場合を示している。
【0175】
例えば、パーミッション割当て禁止ルール1805のルール番号kのルールに、piとpjの同時割当て禁止が定義されていた場合、Riはパーミッション割当て禁止ルールに違反し、Rjは違反しないと判断する。
【0176】
ここで、Rjにおけるパーミッションとの関係は、以下に示す(a)〜(c)の3つの場合が考えられる。
(a)「Rjがpiを所有し」、 かつ、「Rjがpjを所有しない」
(b)「Rjがpiを所有しない」、かつ、「Rjがpjを所有する」
(c)「Rjがpiを所有しない」、かつ、「Rjがpjを所有しない」
(a)または(b)の場合、Rjがルール違反の原因の1つと考えられる。これは、RBACシステムのロール階層構造において、Rjに割当てられているルール違反のパーミッションpiまたはpjを取り除けば、当該piまたはpjを親のRiからも取り除いてルール違反を解消することができるからである。
【0177】
例えば、図26に示すように、Rjにpjが割当てられていた場合、Rjからpjを削除することにより、Rjの祖先(Rn、Rn+1、・・・、Ri)のうちルールに違反するロールRiとRnからpjを削除することが可能となり、RiとRnのルール違反を解消することができる。
【0178】
また、(c)の場合、Rj(または、Rjより下位の部分木)がルール違反の原因ではないので、Rjの親であるRi、または、Rj以外のRiの子孫にルール違反の原因があると考えられる。
この場合、図27に示すパーミッション違反の原因の範囲2701について、パーミッション割当て禁止ルール1805に違反するパーミッションのチェックを行なう。
【0179】
(3)RiおよびRjがパーミッション割当て禁止ルールに違反していない場合、
この場合、違反がないのでロールに対するパーミッション割当てに問題はないと判断することができる。
【0180】
(4)ロールRiがパーミッション割当て禁止ルールに違反せず、Rjが違反している場合
この場合、のRBACシステムの仕様に違反していると判断することができる。
【0181】
図28は、本実施例に係るパーミッション割当て禁止ルールに違反するロールを検出する処理である。
ステップS2801において、ポリシーチェック・修正部116は、パーミッション割当て禁止ルール1805を参照し、当該パーミッション割当て禁止ルールのi番目のルールに登録されているパーミッションpilおよびpimを取得する。
【0182】
ステップS2802において、ポリシーチェック・修正部116は、ロール階層情報1803を参照し、ルート階層木のルートを取得する。そして、ポリシーチェック・修正部116は、パーミッション−ロール情報1802を参照し、当該ルートのロールに対してpilまたはpimが割当てられているか否かをチェックする。
【0183】
ルートのロールに対してpilまたはpimが割当てられていない場合、ポリシーチェック・修正部116は、パーミッション割当て禁止ルール1805に違反するロールはないと判断し、処理をステップS2803に移行する。
【0184】
ステップS2803において、ポリシーチェック・修正部116は、パーミッション割当て禁止ルール1805を参照し、他にチェックすべきルールがあるか否かをチェックする。他にチェックすべきルールがある場合、ポリシーチェック・修正部116は、処理をステップS2804に移行する。そして、iを1だけインクリメントし、処理をステップS2801に移行する。
【0185】
また、ステップS2803において、他にチェックすべきルールがない場合、ポリシーチェック・修正部116は、処理をステップS2815に移行し、パーミッション割当て禁止ルールに違反するロールを検出する処理を終了する。
【0186】
一方、ステップS2802において、ルートのロールに対してpilまたはpimが割当てられている場合、ポリシーチェック・修正部116は、ルートのロールがパーミッション−ロール情報1802に違反していると判断し、処理をステップS2805に移行する。
【0187】
ステップS2805において、ポリシーチェック・修正部116は、ロール階層を深さ優先し、親ロールRiaがパーミション違反し、かつ、子ロールRibがパーミッション違反していないRia、Ribまでロール階層を走査する。そして、違反しているロールと、違反しているルール番号、違反しているパーミッションを違反リストに記憶する。
【0188】
ステップS2806において、ポリシーチェック・修正部116は、Ribに対してpilとpimの両方とも割当てられていないか否かを確認する。Ribに対してpilとpimの両方とも割当てられていない場合、ポリシーチェック・修正部116は、処理をステップS2807に移行する。
【0189】
ステップS2807において、ポリシーチェック・修正部116は、親ロールRaiに他の未調査のロールがあるか否かを確認する。他の未調査のロールがある場合、ポリシーチェック・修正部116は、処理をステップS2808に移行する。
【0190】
ステップS2808において、ポリシーチェック・修正部116は、Riaをルートとするサブツリー(例えば、図27に示したパーミッション違反の原因の範囲2701)を操作対象にセットする。そして、処理をステップS2803に移行する。
【0191】
また、ステップS2807において、他の未調査のロールがない場合、ポリシーチェック・修正部116は、処理をステップS2809に移行する。
ステップS2809において、ポリシーチェック・修正部116は、ルール番号iと、Riaと、Riaに割当てられたルールに違反したpil、pimを違反リストに記憶する。そして、処理をステップS2810に移行する。
【0192】
ステップS2810において、ポリシーチェック・修正部116は、Riaの親ロールは、ルートのロールか否かをチェックする。そして、Riaの親ロールがルートのロールである場合、ポリシーチェック・修正部116は、処理をステップS2803に移行する。また、Riaの親ロールがルートのロールでない場合、ポリシーチェック・修正部116は、処理をステップS2811に移行する。
【0193】
ステップS2811において、ポリシーチェック・修正部116は、Riaの親ロールをRiaにセットする。そして、ポリシーチェック・修正部116は、処理をステップS2813に移行する。
【0194】
一方、ステップS2806において、Ribに対してpilまたはpimが割当てられている場合、ポリシーチェック・修正部116は、処理をステップS2812に移行する。
【0195】
ステップS2812において、ポリシーチェック・修正部116は、ルール番号iと、Ribと、Ribに割当てられたルールに違反したパミッション(pilまたはpim)を違反リストに記憶する。そして、処理をステップS2813に移行する。
【0196】
ステップS2813において、ポリシーチェック・修正部116は、親ロールRaiについて他に未調査の子ロールがあるか否かをチェックする。おして、他に未調査の子ロールがある場合、ポリシーチェック・修正部116は、処理をステップS2814に移行する。
【0197】
ステップS2814において、ポリシーチェック・修正部116は、Raiをルートとするサブセットを操作対象にセットし、処理をステップS2805に移行する。
以上の処理によって、パーミッション割当て禁止ルールに違反するロールについて、表14に示すような結果が得られる。
【0198】
【表14】
以上に説明したように、ステップS1901、S1902およびS1903の処理から、使われていないロール、違反しているユーザ−ロール割当て(例えば、表13)、違反しているロール−パーミッション割当て(例えば、表14)が検出される。ポリシーチェック・修正部116は、この検出結果から次表に示すケースの場合分けに応じて、リスク
評価を算出する。なお、表15に示すリスク得点は、これに限定する趣旨でないのは当然である。
【0199】
【表15】
なお、表15において、ロールに割当てられているパーミッション設定が原因で、そのロール自身の設定が違反となっている場合、または、そのロール自身は違反していないが、そのロールの上位ロールのパーミッション割当てが違反となっている場合、を設定違反の”原因”としている。
【0200】
さらに、ポリシーチェック・修正部116は、ロール毎に得られた得点の合計を計算し
、法事装置等に出力して一定のフォーマットにしたがって表示する。
図29は、不適切なロールの検出処理におけるポリシー遵守レベルの表示例を示す図である。本実施例では、ロール毎に、ロールの使用/未使用、ロール割当て禁止ルール1804で禁止されるロール、パーミッション割当て禁止ルール1805で禁止されるパーミッション、違反の説明、リスク点数を表示し、また、その合計点をリスク評価値として表示している(図29では、リスク評価値が「72」の場合を示している)。
【0201】
3.5 職務分掌違反の検出処理
アクセス権管理の中で、職務分掌に違反しているような不適切な設定があると、不正なアクセスや、情報漏洩・情報の改ざんの原因となる。そのため、アクセス権の設定を適切に管理する必要がある。
【0202】
本実施例では、例えば表5に示したロール割当て禁止ルール3001と、例えば表8に示したロールに対するパーミッション割当て禁止ルール3002と、後述するユーザに対するパーミッション割当て禁止ルール3003と、を利用して職務分掌ルールを定義し、アクセス権設定情報(ユーザ−ロール割当て情報、パーミッション−ロール割当て情報)の中から、ルール違反を検出することによりアクセス権の設定を適切に管理する。
【0203】
本実施例では、職務分掌ルールを、
(a)「ユーザに対するロール割当て禁止ルールに違反する割当て」∪
(b)「ロールに対するパーミッション割当て禁止ルールに違反する割当て」∪
(c)「ユーザに対するパーミッション割当て禁止ルールに違反する割当て」
と定義する。
【0204】
なお、(a)「ユーザに対するロール割当て禁止ルールに違反する割当て」の検出処理、(b)「ロールに対するパーミッション割当て禁止ルールに違反する割当て」の検出処理は、それぞれ既に2.2および2.3で説明しているので省略する。
【0205】
3.5.1 ユーザに対するパーミッション割当て禁止ルールに違反する割当ての検出処理
ポリシーチェック・修正部116は、RBACポリシー記憶部113からパーミッション−ロール情報3001を読み出し、統合ID管理部120からユーザ情報3002を読み出す。なお、パーミッション−ロール情報3001とは、例えば、表9に示したロール−パーミッション対応表であり、ユーザ情報3002とは、例えば、表21に示すロール−ユーザ対応表である。
【0206】
そして、ポリシーチェック・修正部116は、パーミッション−ロール情報3001とユーザ情報3002とから、例えば、表16に示すユーザ毎のパーミッションリスト(ACL)を作成する。そして、ポリシーチェック・修正部116は、ACLについて、例えば表17に示すパーミッション割当て禁止ルールに基づいて、ユーザに対するパーミッション割当て禁止ルールに違反する割当てを検出する。
【0207】
【表16】
【0208】
【表17】
【0209】
図31は、本実施例に係る職務分掌違反の検出処理の概要を示すフローチャートである。
例えば、図3に示したステップS301において、RBACポリシー記憶部113からパーミッション−ロール情報3001を取得し、統合ID管理部120からユーザ情報3002を取得すると、ポリシーチェック・修正部116は、処理をステップS3101に移行する。そして、職務分掌違反の検出処理を開始する。
【0210】
ステップS3101において、ポリシーチェック・修正部116は、あらかじめ設定されたロール割当て禁止ルール903に基づいて、ユーザ−ロール割当てに関するロール割当て禁止違反を検出する。
【0211】
ステップS3102において、ポリシーチェック・修正部116は、ポリシーチェック・修正部116は、あらかじめ設定されたロールに対するパーミッション割当て禁止ルール1403に基づいて、ロールに対するパーミッション−ロール割当てに関するパーミッション割当て禁止違反を検出する。
【0212】
ステップS3103において、ポリシーチェック・修正部116は、パーミッション−ロール情報3001とユーザ情報3002とから、ユーザ毎のパーミッションリスト(ACL)を作成する。
【0213】
ステップS3104において、ポリシーチェック・修正部116は、あらかじめ設定されたユーザに対するパーミッション割当て禁止ルールに基づいて、ユーザに対するパーミッション−ユーザ割当てに関するパーミッション割当て禁止違反を検出する。
【0214】
ステップS3105において、ポリシーチェック・修正部116は、ステップS3101、S3102およびS3104における検出結果について、リスク得点を設定する。
以上の処理が終了すると、ポリシーチェック・修正部116は、処理をステップS304に移行し、ポリシー遵守レベルとして設定したリスク評価値を出力装置等に出力して表示する。
【0215】
図32は、本実施例に係るACLの作成処理を示すフローチャートである。
ステップS3201において、ポリシーチェック・修正部116は、ロール−ユーザ対応表を参照し、ロール−ユーザ対応表のユーザID毎にソートし、ユーザID毎にユーザが所属するロールのリストを作成する。
【0216】
ステップS3202において、ポリシーチェック・修正部116は、以降の処理の対象となるユーザIDとしてUiをセットする。
ステップS3203において、ポリシーチェック・修正部116は、Uiが所属する全てのロールが持つパーミッションをユーザに割当ててALCに記憶する。例えば、表16において、U1はパーミッションp1、p4およびp5が割当てられる。
【0217】
ステップS3204において、ポリシーチェック・修正部116は、ステップS3201で生成したリストを参照し、チェックすべきユーザが他に存在するか否かをチェックする。チェックすべきユーザIDが他に存在する場合、ポリシーチェック・修正部116は、処理をステップS3205に移行する。そして、iを1だけインクリメントして処理をステップS3202に移行する。
【0218】
また、ステップS3204において、チェックすべきユーザIDが他に存在しない場合、ポリシーチェック・修正部116は、ステップS3206に移行し、ACLの作成処理を終了する。
【0219】
図33は、本実施例に係るユーザに対するパーミッション割当て禁止ルールに違反する割当ての検出処理を示すフローチャートである。
ステップS3301において、ポリシーチェック・修正部116は、ACLを参照し、以降の処理対象のユーザIDをUiにセットする。さらに、ステップS3302において、ポリシーチェック・修正部116は、ACLを参照し、以降の処理対象を、UiのパーミッションPjにセットする。
【0220】
ステップS3303において、ポリシーチェック・修正部116は、ユーザに対するパーミッション割当て禁止ルール3003を参照し、Pjが当該ルールに登録されている同時所有禁止のパーミッションとして登録されているか否かをチェックする。
【0221】
Pjが同時所有禁止のパーミッションとして登録されている場合、ポリシーチェック・修正部116は、処理をステップS3304に移行する。
ステップS3304において、ポリシーチェック・修正部116は、ユーザに対するパーミッション割当て禁止ルール3003を参照し、Pjと対で登録されているパーミッションPj’を取得する。そして、ポリシーチェック・修正部116は、ACLを参照し、Uiに対してPj’が登録されているか否かをチェックする。
【0222】
Uiに対してPj’が登録されている場合、ポリシーチェック・修正部116は、処理をステップS3305に移行する。そして、違反しているUi、PjおよびPj’を1組のデータとして記憶装置等に記憶する。
【0223】
ステップS3306において、ポリシーチェック・修正部116は、ALCを参照する。そして、Uiに対して他にパーミッションが登録されているか否かをチェックする。他にパーミッションが登録されている場合、ポリシーチェック・修正部116は、処理をステップS3307に移行する。そして、jを1だけインクリメントして処理をステップS3302に移行する。
【0224】
また、ステップS3306において、他にパーミッションが登録されていない場合、ポリシーチェック・修正部116は、処理をステップS3308に移行する。
ステップS3308において、ポリシーチェック・修正部116は、ACLを参照し、チェックすべきユーザが他に存在するか否かをチェックする。チェックすべきユーザが他に存在する場合、ポリシーチェック・修正部116は、処理をステップS3309に移行する。そして、iを1だけインクリメントして処理をステップS3301に移行する。
【0225】
また、ステップS3308において、チェックすべきユーザが他に存在しない場合、ポリシーチェック・修正部116は、ステップS3310に移行し、ユーザに対するパーミッション割当て禁止ルール3003に違反する割当ての検出処理を終了する。
【0226】
以上の処理によって、例えば、表18に示すユーザ−パーミッション割当てリストが得られる。
【0227】
【表18】
【0228】
以上に説明したようにステップS3101、S3102およびS3104による検出結果え得ると、ポリシーチェック・修正部116は、その検索結果に対して各々に点数を設定してリスクの計算をできるようにする。
【0229】
本処理で得られた検出結果は、どれも高いリスクのものであると考えられるため、本実施例では検出結果それぞれのリスク得点を3点としている。そして、ポリシーチェック・修正部116は、その合計値を計算し、表示装置等に出力して一定のフォーマットにしたがって表示する。
【0230】
図34は、職務分掌違反の検出処理におけるポリシー遵守レベルの表示例を示す図である。本実施例では、違反ルール種別(ロールに対するパーミッション割当て禁止ルール3002またはユーザに対するパーミッション割当て禁止ルール3003)、違反ユーザ、ロール割当て禁止ルール1804による割当て禁止ロール、違反したロール、パーミッション割当て禁止ルール3002若しくは3003による割当て禁止パーミッション、違反の説明、リスク点数を表示し、また、その合計点をリスク評価値として表示している(図34では、リスク評価値が「84」の場合を示している)。
【0231】
4.1 ポリシー遵守レベルの測定方法
上述した3.1から3.5までの検出までの検出方法およびリスクの得点化を利用して、システムのポリシー遵守レベルの測定方法について説明する。以下の手順を踏むことで、ユーザ数やアクセス権設定情報数が異なるシステム同士でも比較可能なリスクの総合点を計算できるようになる。
【0232】
4.1.1 不適切なユーザアカウント
各システムの利用者数(表2のようなユーザリストのユーザ数)で割ることで、システ
ム間の数値を比較できるようにしておく。これにより、ここの値域は0から4の間の実数となる。
【0233】
4.1.2 不適切なユーザ−ロール割当て
入力となるユーザ−ロール対応表のサイズをm(mは1以上の自然数)とし(ただし、サイズとは行数のことをいう)、ユーザ数をn(nは1以上の自然数)とし、ロール割当て禁止ルール数をk(kは1以上の自然数)とした場合、3.2で説明した計算結果を取りえる違反数m+k*nで割ることでシステム間で数値を比較可能にする。図35は、ユーザ−ロール対応表の例を示す。
【0234】
4.1.3 不適切なパーミッション−ロール割当て
入力となるロールとパーミッションの対応表のサイズをq(qは1以上の自然数)とし(ただし、サイズとは行数のことをいう)、ロール数をr(rは1以上の自然数)とし、パーミッション割当て禁止ルール数をl(lは1以上の自然数)とした場合、3.3で説明した計算結果を取り得る違反数q+l*rで割ることでシステム間で数値を比較可能にする。図36は、ロール−パーミッション対応表の例を示す。
【0235】
4.1.4 不要なロール
入力となるロールとパーミッションの対応表のサイズをq(qは1以上の自然数)とすし(ただし、サイズとは行数のことをいう)、ロール数をrとし、ロール割当て禁止ルール数kとし、パーミッション割当て禁止ルール数をlとした場合、出力結果を取りえる違反数r+k*r+l*rで割ることでシステム間での数値比較を可能にする。
【0236】
4.1.5 職務分掌違反
ユーザ数をnとし、ロール割当て禁止ルール数をkとし、ロール数をrとし、パーミッション割当て禁止ルール数をlとし、ユーザへのパーミッション割当て禁止ルール数をs(sは1以上の自然数)とした場合、3.5で説明した計算結果取りえる違反数をk*n+l*r+s*nで割ることで、システム間で数値比較可能にする。
【0237】
4.2 アクセス権管理の総合評価値の計算方法
アクセス権管理における総合的な評価値を、上記4.1.1から4.1.5までの結果の和をとることで、管理の徹底度合いを比較することができる。また、次のような重み付けをして和を計算することも可能である。
【0238】
総合管理評価値 = K1×a/4+K2×b/3+K3×c/1+K4×d/3+K5×e/3
ただし、K1、K2、K3、K4およびK5は係数、aは不適切なユーザアカウントのリスク評価値、bは不適切なユーザ−ロール割当てのリスク評価値、cは不要なロールのリスク評価値、dは不適切なパーミッション−ロール割当てのリスク評価値、eは職務分掌違反のリスク評価値とする。
【0239】
例えば、{K1,K2,K3,K4,K5}={3,2,1,2,3}として場合、表19が得られる。
【0240】
【表19】
【0241】
図37は、サーバ毎のポリシー遵守レベルの計測結果の画面の構成例を示している。
また、図37に示した画面の「詳細」ボタンを押下することにより、各システムの詳細な情報を表示することも可能である。図38には、「詳細」ボタンを押下したときに表示される各システムのポリシー遵守レベル評価結果の画面を示している。
さらに、上記の画面では「月間推移表示」ボタンを押下したときに、図39に示す各項目のリスク値の推移を表示してもよい。
【0242】
5. アクセス権設定に無駄がないかのチェック方法
アクセス権設定の中に、設定はされているが使われていないアクセス権情報がある。これは、セキュリティの最小特権の原理や管理コストの観点から不要と考えられる。以下、このような無駄な設定を検出する方法を説明する。
【0243】
図40は、無駄なアクセス権設定を検出する場合の構成例の概要を示している。
ポリシーチェック・修正部116は、RBACポリシー記憶部113から、例えば表20に示すパーミッション−ロール情報を、統合ID管理部120から例えば表21に示すロール−ユーザ対応表を、監査ログ記憶部130から例えば表22に示すアクセスログを取得し、以下で説明する検出方法を用いて、以下の2つを検出する。
【0244】
(a)ユーザやロールに設定された使われていないパーミッション割当て
(b)使用されていないロール
検出方法としては、アクセスログを利用する。(a)については、ユーザやロールに与えられているが使用されていないアクセス権を検出する。(b)については、使われていないロールを検出する。これらを検出することで、無駄なアクセス権設定が存在するかチェックする。
【0245】
5.1 使われていないユーザやロールに設定されたパーミッション
ここでは、使用されていないユーザやロールに設定されたパーミッションを検出する方法を説明する。アクセス権の設定情報は、表20、表21に示すようなデータとなっている。また、アクセスログには、表22に示す情報が得られるものとする。
【0246】
【表20】
【0247】
【表21】
【0248】
【表22】
なお、対象となるアクセスログの期間としては、例えば1ヶ月、4半期、半期などある程度の時間間隔のログ情報を利用することが望ましい。
【0249】
図41は、ユーザやロールに設定された使用されていないパーミッションの検出処理を示すフローチャートである。なお、パーミッションは、リソースとアクションとで構成さ
れた1組の情報である。
【0250】
ステップS4101において、ポリシーチェック・修正部116は、RBACポリシー記憶部113からアクセス権設定情報を取得し、監査ログ記憶部130からアクセスログを取得する。
【0251】
ステップS4102において、ポリシーチェック・修正部116は、アクセス権設定情報を参照し、当該アクセス権設定情報に登録されているi番目のロールRiを以降の処理対象にセットする。なお、以降の処理では、説明を簡単にするために表20の表現を変えた表23を使用する。
【0252】
【表23】
ステップS4103において、ポリシーチェック・修正部116は、アクセス権設定情報を参照し、Riに対して登録されているj番目のパーミッションPijを以降の処理対象にセットする。
【0253】
ステップS4104において、ポリシーチェック・修正部116は、アクセスログを参照し、Pijに関するアクセスログがアクセスログに記憶されているか否かをチェックする。そして、Pijのアクセスログが存在しない場合、ポリシーチェック・修正部116は、処理をステップS4105に移行する。
【0254】
ステップS4105において、ポリシーチェック・修正部116は、RiとPijを記憶装置等に記憶する。そして、処理をステップS4106に移行する。
ステップS4106において、ポリシーチェック・修正部116は、アクセス権設定情報を参照し、Riに対して他にチェックすべきパーミッションが登録されているか否かをチェックする。そして、他にチェックすべきパーミッションが登録されている場合、ポリシーチェック・修正部116は、処理をステップS4107に移行する。
【0255】
ステップS4107において、ポリシーチェック・修正部116は、jを1だけインクリメントし、処理をステップS4103に移行する。
また、ステップS4106において、他にチェックすべきパーミッションが登録されていない場合、ポリシーチェック・修正部116は、処理をステップS4108に移行する
。そして、ポリシーチェック・修正部116は、アクセス権設定情報を参照し、他にチェックすべきロールが存在するか否かをチェックする。
【0256】
他にチェックすべきロールが存在する場合、ポリシーチェック・修正部116は、処理をステップS4109に移行する。そして、iを1だけインクリメントして処理をステップS4102に移行する。
【0257】
また、ステップS4108において、他にチェックすべきロールが存在しない場合、ポリシーチェック・修正部116は、処理をステップS4110に移行し、ユーザやロールに設定された使用されていないパーミッションの検出処理を終了する。
【0258】
以上の処理によって、例えば、表24に示すように、使用されていないパーミッションのリストが得られる。
【0259】
【表24】
なお、使用されていないロールの検出処理については、図20で詳細に説明をしているので省略する。
【0260】
6.組織間のアクセス権設定の違いや経時的変化を視覚化し、設定ミスを検出支援する方法
各組織が管理している情報に対して、アクセス権の設定情報を組織毎に割合を表示し、設定ミスや不審な設定だと考えられる情報を以下に説明する。
【0261】
図42は、組織間のアクセス権設定の違いや変化の視覚化を実現するための構成例を示している。ポリシーチェック・修正部116は、RBACポリシー記憶部113から例えば表20に示すパーミッション−ロール情報を取得し、統合ID管理部120から例えば表25に示す組織−ユーザ−ロール対応表を取得し、以下で説明するアクセス権設定割合を組織毎に計算する。
【0262】
【表25】
【0263】
6.1 組織毎のアクセス権設定割合の計算
ポリシーチェック・修正部116は、各組織が管理するシステムのアクセス権設定情報から、組織毎のアクセス権の設定割合を算出する。そして、ポリシーチェック・修正部116は、算出結果を表示するとともに記憶装置等に記録する。
【0264】
例えば、組織xのユーザの集合をU(x)、システムAにおけるユーザuのパーミッションの集合をPRM(A,u)、システムAにおける組織xに所属するユーザが持つパーミッションの和集合をPRM(A,x)、システムAが管理するリソースの集合をR(A)、システムAの管理するリソースに対するアクションの集合をACT(A)とするとき、システムAにおける組織xのアクセス権設定割合は、次式で定義することができる。
【0265】
【数1】
なお、PRM(A,u)は、例えば表20に示すパーミッション−ロール情報と、システムAにおける例えば表25に示す組織−ユーザ−ロール対応表から計算することができ、PRM(A,x)は、PRM(A,u)と例えば表25に示す組織−ユーザ−ロール対応表から組織xにおけるパーミッションの和集合を計算することができる。また、ACT(A)は、例えばリソースがファイルのみならば、{read,write}となる。
【0266】
ここで、ある特定のアクションに関して割合が出したい場合は、3つの引数を持つPRMを次のように定義する。すなわち、PRM(A,u)の中で、アクションがa1のパーミッションの集合をPRM(A,u,a1)、PRM(A,x)の中で、アクションがa1のパーミッションの集合をPRM(A,x,a1)と定義すると、システムAにおける組織xのアクションa1のアクセス権設定割合は、次式で定義することができる。
【数2】
【0267】
6.2 定期的な組織毎のアクセス権設定割合の計算結果の記録
アクセス権の設定の追加や変更の時間的変化を記録するために、ポリシーチェック・修正部116は、定期的に組織毎のアクセス権設定割合ACRateを計算し記憶装置等に記録することもできる。この時、その変化の出力装置等に表示し、記憶装置等に記憶してもよい。表26は、システム毎にACRateを算出した結果の例を示している。
【0268】
【表26】
【0269】
6.3 組織毎のアクセス権設定割合の大きな変化の検知とアラーム
また、ポリシーチェック・修正部116は、経時的な組織毎のアクセス権設定割合ACRate値の変化の中から、大きな変化があった組織を検知し、組織のアクセス権設定がおかしくないか確認を促す通知を行なってもよい。
【0270】
図43は、各システムにおける各組織のアクセス権設定数や利用率を計算した結果を表示した画面の構成例を示す図である。図43に示す使用率は、ロールがシステム上で利用されているかどうかを表す尺度である。例えば、次式を用いて使用率を算出することができる。
【0271】
使用率 = アクセスログに記録されているあるロールでアクセスしたログレコードの件数÷((アクセスログレコードの総数×あるロールのユーザ数)÷(システム上に存在するロールのユーザ数の和))×100
このとき、アクセスログは、1日、1週間、1ヶ月、3ヶ月、半年のように適当な期間のアクセスログを使用することが望ましい。例えば、システムに3つのロールRoleA、RoleB、RoleCがあり、各々のユーザ数、アクセスログレコードの件数および総数が表27の場合について考える。
【0272】
【表27】
なお、表27において、ユーザはロールに重複して所属することが可能なため、必ずしもRoleA、RoleBおよびRoleCのユーザ数の和にならない。
【0273】
この時、RoleAの使用率は、500÷((1000×50)÷(50+80+60))×100=190となる。RoleB、RoleCについても同様に使用率を算出すると、それぞれ47.5、95となる。
【0274】
図44は、本実施例に係る組織毎のアクセス権設定割合の表示画面の例を示す図である。
図43で示した画面の「アクセス権設定割合」ボタンを押下することにより、上述した
手法によりACRateを算出し、図44に示す組織毎のアクセス権設定割合表示画面を表示するようにしてもよい。また、図43に示した画面の「月間推移表示」ボタンを押下することにより、図45に示す各システムのアクセス権設定の平均割合推移を表示してもよい。なお、平均とは、たとえば、システムを利用している各部門のアクセス権割合の平均である。
【0275】
図46は、本実施例に係るシステム毎のアクセス権設定・使用率情報の表示画面の例を示す図である。
図43に示した各システムのアクセス権設定・使用率情報表示画面例で、各システムの「詳細」ボタンをクリックすることにより、図46に示すシステム毎のアクセス権設定・使用率情報の表示画面を表示してもよい。図46に示す「ロール割合」は、アカウント数に対するロール数の割合を示したものであり、ロール数÷アカウント数×100で求められる。
【0276】
7. 一致や類似したロールを発見し、修正案を提示する方法
ロール管理では、管理コストの観点から冗長なロールを管理しない工夫が必要となる。そこで、現在のロール設定(ユーザとロールの関係、ロールとパーミッションの関係)情報から、一致や類似したロールを発見し、最適なロール設定に近づけるような修正案を提示する方法について説明する。
【0277】
図47は、一致や類似したロールを発見するための構成例を示している。
ポリシーチェック・修正部116は、RBACポリシー記憶部113から例えば表20に示すパーミッション−ロール情報を取得し、統合ID管理部120から例えば表21に示すロール−ユーザ対応表を取得し、以下で説明する類似度を計算し、計算結果を、表31が示す6つのケースに分類し、各々のケースの修正案を提示する。
【0278】
7.1 類似度計算
類似度は、例えば一致係数の計算法を用いて計算する。本実施例ではロールの属性として、ユーザ、パーミッションを使用し、ロール毎に一致係数を算出する。以下、ユーザに関する一致係数をユーザ類似度usmc、パーミッションに関する一致係数をパーミッション類似度psmcという。
【0279】
ここで、ユーザ類似度は、ロールR1、R2の両方に所属するユーザ数をa、R1のみに所属するユーザ数をb、R2のみに所属するユーザ数をc、R1、R2のいずれにも所属しないユーザ数をd、全ユーザ数をn(n=a+b+c+d)とすると、次式で定義することができる。
ユーザ類似度usmc = (a+d)/n ・・・・・ (3)
【0280】
また、パーミッション類似度は、ロールR1、R2の両方に割当てられているパーミッション数をo、R1のみに割当てられているパーミッション数をp、R2のみに割当てられているパーミッション数をq、R1、R2のいずれにも割当てられていないパーミッション数をr、全パーミッション数をm(m=o+p+q+r)とすると、次式で定義することができる。
【0281】
パーミッション類似度psmc = (o+p)/m ・・・・・ (4)
例えば、ロールとユーザが表28に示す関係にあり、ロールとパーミッションが表29に示す関係にある場合、式(3)および式(4)を用いると、表30に示す類似度(usmc、psmc)を算出することができる。
【0282】
【表28】
【0283】
【表29】
【0284】
【表30】
【0285】
【表31】
【0286】
図48は、本実施例に係る類似度計算の具体的な処理を示すフローチャートである。
ステップS4801において、ポリシーチェック・修正部116は、カウント用変数iに1をセットする。そして、ポリシーチェック・修正部116は、処理をステップS4802に移行し、変数jにi+1をセットする。
【0287】
ステップS4803において、ポリシーチェック・修正部116は、式(3)および式(4)に示した定義にしたがって、RiとRjについて、ユーザ類似度usmcとパーミッション類似度psmcを算出する。そして、ポリシーチェック・修正部116は、記憶装置等に算出結果を記憶する。
【0288】
ステップS4804において、ポリシーチェック・修正部116は、jがn以下か否かを判別する。jがn以下の場合、ポリシーチェック・修正部116は、処理をステップS4805に移行する。そして、jを1だけインクリメントして処理をステップS4803に移行する。
【0289】
ステップS4806において、ポリシーチェック・修正部116は、iがn以下か否かを判別する。iがn以下の場合、ポリシーチェック・修正部116は、処理をステップS4807に移行する。そして、iを1だけインクリメントして処理をステップS4802に移行する。
【0290】
また、ステップS4806において、iがnより大きい場合、ポリシーチェック・修正部116は、処理をステップS4807に移行し、類似度計算処理を終了する。
ロールに所属するユーザ数が低い若しくは使用率が低いものは、他のロールと比較して、システムに影響があまりなく無駄なロールである可能性が高いと考えられる。そこで、図49に示すように、フィルター項目として、「ユーザ数」と「使用率」を設けて、条件に合う検索結果を表示するようにしてもよい。「ロール類似度計算」ボタンが押下された場合に、当該フィルター処理により得られた数値の小さなロールに対して類似度計算を行なうようにしてもよい。
【0291】
図48に示した類似計算が完了すると、ポリシーチェック・修正部116は、例えば図50に示す計算結果を表示装置等に出力して表示する。さらに、「修正案表示」ボタンが押下されると、ポリシーチェック・修正部116は、例えば表31に示した類似度計算結果に対する修正案提示ルールを参照し、計算結果に該当するケースNo.の修正案を表示装置等に出力して表示する。図51は、ロール修正案提示の表示画面の構成例を示している。
【0292】
また、図51に示す「詳細」ボタンの押下に応じて、各ロールの組の修正案の詳細を示すようにしてもよい。図52は、ロール修正案の詳細の表示画面の構成例を示している。
図53は、本実施例に係る統合セキュリティ管理システム100の具体的な構成例を示す図である。
【0293】
図53に示す統合セキュリティ管理システム100は、周辺機器や各種ソフトウェアを実行する他に本実施例に係るポリシーチェック・修正処理を実現するプログラムを実行するCPU5301と、プログラムを実行するために使用される揮発性のメモリ5302(例えば、RAM)と、外部からのデータ入力手段である入力装置5303(例えば、キーボードやマウス)と、データ等を表示する出力装置5304と、統合セキュリティ管理システム100が動作するために必要なプログラムやデータの他に本実施例に係るポリシーチェック・修正処理を実現するプログラムを記憶する外部記憶装置5305と、メモリ5302や外部記憶装置5305のデータを可搬記憶媒体5307(例えば、フロッピイディスクやMOディスク、CD−RやDVD−Rなど)に出力し、或は可搬記憶媒体5307からプログラムやデータ等を読み出す媒体駆動装置5306と、ネットワークを介して他のシステム等に接続するネットワーク接続装置5308と、を有し、これらの装置がバス5300に接続されて相互にデータの受け渡しが行える構成となっている。
【0294】
なお、本実施例に係るポリシーチェック・修正処理を実現するプログラムは、外部記憶装置5305でなく可搬記憶媒体5307に記憶されていてもよい。
以上に説明したように、本実施例に係る統合セキュリティ管理システム100は、制御対象となるシステム(例えば、図1に示したサーバA、BおよびCからなるサーバシステムなど)が備えるリソースに対するアクセス権設定情報について、1または2以上のポリシーチェックルール(例えば、3.1に示した不適切なユーザアカウントの検出、3.2に示した不適切なユーザ−ロール割当ての検出、3.3に示した不適切なパーミッション−ロール割当ての検出、3.4に示した不要なロールの検出、3.5に示した職務分掌違反の検出など)にしたがって、ルール違反を検出する。その結果、アクセス制御のためのポリシーに対して多面的かつ網羅的にチェックを行なうことが可能となる。
また、検出結果に応じて全体または所定の違反項目毎にポリシー遵守レベルを算出し表示するので、チェック結果を容易かつ客観的に把握すること可能となる。
【0295】
以上の実施例1〜nを含む実施形態に関し、さらに以下の付記を開示する。
(付記1) 任意のリソースに対するアクセスを一括してまたは部分的に制限するアクセス権管理情報を記憶するアクセス権管理情報記憶手段から該アクセス権管理情報を取得するアクセス権管理情報取得処理と、
前記リソースに対してまたは該リソースに対するアクセスに対して設定されたポリシーを記憶するポリシー記憶手段から該ポリシーを取得し、前記アクセス権管理情報が前記ポリシーに適合しているか否かを検査し、前記ポリシーに適合しないものを違反として検出する違反検出処理と、
該違反のリスクの度合いに応じてリスク得点を算出し、該算出結果から前記ポリシーに対する遵守レベルを算出するポリシー遵守レベル算出処理と、
該ポリシー遵守レベル算出処理の算出結果を出力する結果出力処理と、
を情報処理装置に実行させるプログラム。
(付記2) 前記違反検出処理は、サーバ毎若しくは所定のリソース毎に、該サーバが備えるリソース若しくは前記所定のリソースに対して設定されたポリシーに前記アクセス権管理情報が適合しているか否かを検査する、
ことを特徴とする付記1に記載のプログラム。
(付記3) 前記ポリシー遵守レベル算出処理は、前記サーバ毎若しくは所定のリソース毎にリスク得点を算出し、該算出結果から前記ポリシーに対する遵守レベルを算出する、
ことを特徴とする付記2に記載のプログラム。
(付記4) 前記ポリシーは、前記アクセス権管理情報に含まれるユーザ情報が、使用していないユーザアカウント、利用者を特定できないユーザアカウント、または削除されるべきアカウントであったがまだ残っているユーザアカウントの何れかに該当する場合に違反とする、
ことを特徴とする付記1に記載のプログラム。
(付記5) 前記ポリシーは、前記アクセス権管理情報に含まれるロール割当てが、使用していないロール割当て、または、あらかじめ決められたロール割当て禁止ルールに違反するロール割当て、の何れかに該当する場合に違反とする、
ことを特徴とする付記1に記載のプログラム。
(付記6) 前記ポリシーは、前記アクセス権管理情報に含まれるパーミッション割当てが、使用していないパーミッション割当て、または、あらかじめ決められたパーミッション割当て禁止ルールに違反するパーミッション割当て、の何れかに該当する場合に違反とする、
ことを特徴とする付記1に記載のプログラム。
(付記7) 前記ポリシーは、前記アクセス権管理情報に含まれるロールが、使用されていないロール、あらかじめ決められたユーザへのロール割当て禁止ルールに違反するロール、または、あらかじめ決められたロールへのパーミッション割当て禁止ルールに違反するロール、の何れかに該当する場合に違反とする、
ことを特徴とする付記1に記載のプログラム。
(付記8) 前記ロールは階層構造を有する、ことを特徴とする付記7に記載のプログラム。
(付記9) 前記ポリシーは、ユーザへのロール割当て禁止ルールに違反するロール割当て、ロールへのパーミッション割当て禁止ルールに違反するパーミッション、または、ユーザへのパーミッション割当て禁止ルールに違反するパーミッション、の何れかに該当する場合に違反とする、
ことを特徴とする付記1に記載のプログラム。
(付記10) 任意のリソースに対するアクセスを一括してまたは部分的に制限するアクセス権管理情報を記憶するアクセス権管理情報記憶手段から取得するアクセス権管理情報取得手段と、
前記リソースに対してまたは該リソースに対するアクセスに対して設定されたポリシーを記憶するポリシー記憶手段から該ポリシーを取得し、前記アクセス権管理情報が前記ポリシーに適合しているか否かを検査し、前記ポリシーに適合しないものを違反として検出する違反検出手段と、
該違反のリスクの度合いに応じてリスク得点を算出し、該算出結果から前記ポリシーに対する遵守レベルを算出するポリシー遵守レベル算出手段と、
該ポリシー遵守レベル算出処理の算出結果を出力する結果出力手段と、
を備える情報処理装置。
【図面の簡単な説明】
【0296】
【図1】本実施例に係るアクセス制御ポリシー遵守のチェック機構を備える統合セキュリティ管理システムの構成例を示す図である。
【図2】本実施例に係る統合セキュリティ管理システムにおけるポリシー遵守レベルの計測対象を説明する図である。
【図3】本実施例に係る統合セキュリティ管理システムの処理の概要を示すフローチャートである。
【図4】本実施例に係る不適切なユーザアカウントの検出処理の概要を示す図である。
【図5】本実施例に係る不適切なユーザアカウントの定義を説明する図である。
【図6】本実施例に係る不適切なユーザアカウントを検出する具体的な処理を示すフローチャートである。
【図7】本実施例に係るユーザアカウントの分類を説明する図である。
【図8】不適切なユーザアカウント検出処理におけるポリシー遵守レベルを表示する画面の構成例を示す図である。
【図9】本実施例に係る不適切なユーザ−ロール割当ての検出処理の概要を示す図である。
【図10】本実施例に係る不適切なユーザ−ロール割当ての検出処理の概要を示すフローチャートである。
【図11】本実施例に係る使用されていないユーザ−ロ−ル割当て検出処理(ステップS1001)の具体的な処理を示すフローチャートである。
【図12】本実施例に係るロール割当て禁止に違反するロール割当て検出処理(ステップS1002)の具体的な処理を示すフローチャートである。
【図13】不適切なユーザ−ロール割当ての検出処理におけるポリシー遵守レベルを表示する画面の構成例を示す図である。
【図14】本実施例に係る不適切なパーミッション−ロール割当ての検出を行なうための構成例を示す図である。
【図15】本実施例に係る不適切なパーミッション−ロール割当ての検出処理の概要を示すフローチャートである。
【図16】本実施例に係るロールが同時使用禁止のパーミッションを所有しているか否かのチェック処理(ステップS1502)の具体的な処理を示すフローチャートである。
【図17】不適切なパーミッション−ロール割当て処理におけるポリシー遵守レベルを表示する画面の構成例を示す図である。
【図18】本実施例に係る不適切なロールの検出を行なうための構成例を示す図である。
【図19】本実施例に係る不適切なロールの検出処理の概要を示すフローチャートである。
【図20】本実施例に係る使用されていないロールの検出処理(ステップS1901)の具体的な処理を示すフローチャートである。
【図21】本実施例に係る階層構造を有するロールの構成例を示す図である。
【図22】本実施例に係る階層構造を有するロールのチェック範囲を説明する図である。
【図23】本実施例に係るロール割当て禁止ルールに違反するロールの検出処理(ステップS1902)の具体的な処理を示すフローチャートである。
【図24】ロールRiとRjがともにパーミッション割当て禁止ルールに違反している場合のロール階層について説明する図である。
【図25】ロールRiがパーミッション割当て禁止ルールに違反し、Rjが違反していない場合のロール階層について説明する図である。
【図26】違反の原因となるロールを説明する図である。
【図27】違反の原因となるロールを説明する図である。
【図28】本実施例に係るパーミッション割当て禁止ルールに違反するロールを検出する処理である。
【図29】本実施例に係る不適切なロールの検出処理におけるポリシー遵守レベルを表示する画面の構成例を示す図である。
【図30】本実施例に係る職務分掌違反の検出を行なうための構成例を示す図である。
【図31】本実施例に係る職務分掌違反の検出処理の概要を示すフローチャートである。
【図32】本実施例に係るACLの作成処理を示すフローチャートである。
【図33】本実施例に係るユーザに対するパーミッション割当て禁止ルールに違反する割当ての検出処理を示すフローチャートである。
【図34】本実施例に係る職務分掌違反の検出処理におけるポリシー遵守レベルを表示する画面の構成例を示す図である。
【図35】本実施例に係るユーザ−ロール対応表のサイズを説明する図である。
【図36】本実施例に係るロール−パーミッション対応表のサイズを説明する図である。
【図37】本実施例に係るサーバ毎のポリシー遵守レベルの計測結果の画面の構成例を示している。
【図38】「詳細」ボタンを押下したときに表示される各システムのポリシー遵守レベル評価結果の画面の構成例を示す図である。
【図39】「月間推移表示」ボタンを押下したときに表示されるリスク値の推移の画面の構成例を示す図である。
【図40】本実施例に係る無駄なアクセス権設定を検出するための構成例の概要を示している。
【図41】本実施例に係るユーザやロールに設定された使用されていないパーミッションの検出処理を示すフローチャートである。
【図42】本実施例に係る組織間のアクセス権設定の違いや変化の視覚化を実現するための構成例を示している。
【図43】各システムにおける各組織のアクセス権設定数や利用率を計算した結果を表示した画面の構成例を示す図である。
【図44】本実施例に係る組織毎のアクセス権設定割合を表示する画面の構成例を示す図である。
【図45】各システムのアクセス権設定の平均割合推移を表示する画面の構成例を示す図である。
【図46】本実施例に係るシステム毎のアクセス権設定・使用率情報を表示する画面の構成例を示す図である。
【図47】本実施例に係る一致や類似したロールを発見するための構成例を示している。
【図48】本実施例に係る類似度計算の具体的な処理を示すフローチャートである。
【図49】本実施例に係る類似度計算画面の構成例を示す図である。
【図50】本実施例に係る類似度の計算結果を表示する画面の構成例を示す図である。
【図51】本実施例に係るロール修正案提示を表示する画面の構成例を示す図である。
【図52】本実施例に係るロール修正案の詳細を表示する画面の構成例を示す図である。
【図53】本実施例に係る統合セキュリティ管理システムの具体的な構成例を示す図である。
【符号の説明】
【0297】
100 統合セキュリティ管理システム
110 統合アクセス制御情報管理部
113 RBACポリシー記憶部
115 ポリシーチェックルール記憶部
116 ポリシーチェック・修正部
120 統合ID管理部
130 監査ログ記憶部
【特許請求の範囲】
【請求項1】
任意のリソースに対するアクセスを一括してまたは部分的に制限するアクセス権管理情報を記憶するアクセス権管理情報記憶手段から該アクセス権管理情報を取得するアクセス権管理情報取得処理と、
前記リソースに対してまたは該リソースに対するアクセスに対して設定されたポリシーを記憶するポリシー記憶手段から該ポリシーを取得し、前記アクセス権管理情報が前記ポリシーに適合しているか否かを検査し、前記ポリシーに適合しないものを違反として検出する違反検出処理と、
該違反のリスクの度合いに応じてリスク得点を算出し、該算出結果から前記ポリシーに対する遵守レベルを算出するポリシー遵守レベル算出処理と、
該ポリシー遵守レベル算出処理の算出結果を出力する結果出力処理と、
を情報処理装置に実行させるプログラム。
【請求項2】
前記ポリシーは、前記アクセス権管理情報に含まれるユーザ情報が、使用していないユーザアカウント、利用者を特定できないユーザアカウント、または削除されるべきアカウントであったがまだ残っているユーザアカウントの何れかに該当する場合に違反とする、
ことを特徴とする請求項1に記載のプログラム。
【請求項3】
前記ポリシーは、前記アクセス権管理情報に含まれるロール割当てが、使用していないロール割当て、または、あらかじめ決められたロール割当て禁止ルールに違反するロール割当て、の何れかに該当する場合に違反とする、
ことを特徴とする請求項1に記載のプログラム。
【請求項4】
前記ポリシーは、前記アクセス権管理情報に含まれるパーミッション割当てが、使用していないパーミッション割当て、または、あらかじめ決められたパーミッション割当て禁止ルールに違反するパーミッション割当て、の何れかに該当する場合に違反とする、
ことを特徴とする請求項1に記載のプログラム。
【請求項5】
前記ポリシーは、前記アクセス権管理情報に含まれるロールが、使用されていないロール、あらかじめ決められたユーザへのロール割当て禁止ルールに違反するロール、または、あらかじめ決められたロールへのパーミッション割当て禁止ルールに違反するロール、の何れかに該当する場合に違反とする、
ことを特徴とする請求項1に記載のプログラム。
【請求項6】
前記ポリシーは、ユーザへのロール割当て禁止ルールに違反するロール割当て、ロールへのパーミッション割当て禁止ルールに違反するパーミッション、または、ユーザへのパーミッション割当て禁止ルールに違反するパーミッション、の何れかに該当する場合に違反とする、
ことを特徴とする請求項1に記載のプログラム。
【請求項7】
任意のリソースに対するアクセスを一括してまたは部分的に制限するアクセス権管理情報を記憶するアクセス権管理情報記憶手段から取得するアクセス権管理情報取得手段と、
前記リソースに対してまたは該リソースに対するアクセスに対して設定されたポリシーを記憶するポリシー記憶手段から該ポリシーを取得し、前記アクセス権管理情報が前記ポリシーに適合しているか否かを検査し、前記ポリシーに適合しないものを違反として検出する違反検出手段と、
該違反のリスクの度合いに応じてリスク得点を算出し、該算出結果から前記ポリシーに対する遵守レベルを算出するポリシー遵守レベル算出手段と、
該ポリシー遵守レベル算出処理の算出結果を出力する結果出力手段と、
を備える情報処理装置。
【請求項1】
任意のリソースに対するアクセスを一括してまたは部分的に制限するアクセス権管理情報を記憶するアクセス権管理情報記憶手段から該アクセス権管理情報を取得するアクセス権管理情報取得処理と、
前記リソースに対してまたは該リソースに対するアクセスに対して設定されたポリシーを記憶するポリシー記憶手段から該ポリシーを取得し、前記アクセス権管理情報が前記ポリシーに適合しているか否かを検査し、前記ポリシーに適合しないものを違反として検出する違反検出処理と、
該違反のリスクの度合いに応じてリスク得点を算出し、該算出結果から前記ポリシーに対する遵守レベルを算出するポリシー遵守レベル算出処理と、
該ポリシー遵守レベル算出処理の算出結果を出力する結果出力処理と、
を情報処理装置に実行させるプログラム。
【請求項2】
前記ポリシーは、前記アクセス権管理情報に含まれるユーザ情報が、使用していないユーザアカウント、利用者を特定できないユーザアカウント、または削除されるべきアカウントであったがまだ残っているユーザアカウントの何れかに該当する場合に違反とする、
ことを特徴とする請求項1に記載のプログラム。
【請求項3】
前記ポリシーは、前記アクセス権管理情報に含まれるロール割当てが、使用していないロール割当て、または、あらかじめ決められたロール割当て禁止ルールに違反するロール割当て、の何れかに該当する場合に違反とする、
ことを特徴とする請求項1に記載のプログラム。
【請求項4】
前記ポリシーは、前記アクセス権管理情報に含まれるパーミッション割当てが、使用していないパーミッション割当て、または、あらかじめ決められたパーミッション割当て禁止ルールに違反するパーミッション割当て、の何れかに該当する場合に違反とする、
ことを特徴とする請求項1に記載のプログラム。
【請求項5】
前記ポリシーは、前記アクセス権管理情報に含まれるロールが、使用されていないロール、あらかじめ決められたユーザへのロール割当て禁止ルールに違反するロール、または、あらかじめ決められたロールへのパーミッション割当て禁止ルールに違反するロール、の何れかに該当する場合に違反とする、
ことを特徴とする請求項1に記載のプログラム。
【請求項6】
前記ポリシーは、ユーザへのロール割当て禁止ルールに違反するロール割当て、ロールへのパーミッション割当て禁止ルールに違反するパーミッション、または、ユーザへのパーミッション割当て禁止ルールに違反するパーミッション、の何れかに該当する場合に違反とする、
ことを特徴とする請求項1に記載のプログラム。
【請求項7】
任意のリソースに対するアクセスを一括してまたは部分的に制限するアクセス権管理情報を記憶するアクセス権管理情報記憶手段から取得するアクセス権管理情報取得手段と、
前記リソースに対してまたは該リソースに対するアクセスに対して設定されたポリシーを記憶するポリシー記憶手段から該ポリシーを取得し、前記アクセス権管理情報が前記ポリシーに適合しているか否かを検査し、前記ポリシーに適合しないものを違反として検出する違反検出手段と、
該違反のリスクの度合いに応じてリスク得点を算出し、該算出結果から前記ポリシーに対する遵守レベルを算出するポリシー遵守レベル算出手段と、
該ポリシー遵守レベル算出処理の算出結果を出力する結果出力手段と、
を備える情報処理装置。
【図1】
【図2】
【図3】
【図5】
【図6】
【図7】
【図8】
【図10】
【図11】
【図12】
【図13】
【図15】
【図16】
【図17】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図28】
【図29】
【図31】
【図32】
【図33】
【図34】
【図35】
【図36】
【図37】
【図38】
【図41】
【図42】
【図43】
【図44】
【図46】
【図48】
【図49】
【図50】
【図51】
【図52】
【図53】
【図4】
【図9】
【図14】
【図18】
【図26】
【図27】
【図30】
【図39】
【図40】
【図45】
【図47】
【図2】
【図3】
【図5】
【図6】
【図7】
【図8】
【図10】
【図11】
【図12】
【図13】
【図15】
【図16】
【図17】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図28】
【図29】
【図31】
【図32】
【図33】
【図34】
【図35】
【図36】
【図37】
【図38】
【図41】
【図42】
【図43】
【図44】
【図46】
【図48】
【図49】
【図50】
【図51】
【図52】
【図53】
【図4】
【図9】
【図14】
【図18】
【図26】
【図27】
【図30】
【図39】
【図40】
【図45】
【図47】
【公開番号】特開2009−289137(P2009−289137A)
【公開日】平成21年12月10日(2009.12.10)
【国際特許分類】
【出願番号】特願2008−142646(P2008−142646)
【出願日】平成20年5月30日(2008.5.30)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVA
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成19年度、経済産業省、「セキュア・プラットフォームプロジェクト」委託研究、産業技術力強化法第19条の適用を受ける特許出願
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
【公開日】平成21年12月10日(2009.12.10)
【国際特許分類】
【出願日】平成20年5月30日(2008.5.30)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVA
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成19年度、経済産業省、「セキュア・プラットフォームプロジェクト」委託研究、産業技術力強化法第19条の適用を受ける特許出願
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
[ Back to top ]