(57)【特許請求の範囲】
【請求項１】
それぞれ、他のリソースと階層的に関連付けられ、且つ、所定のグループに分類可能な状態で存在し、分類されたときはグループ単位でアクセス制御の設定がなされる複数のリソースに対してアクセス可能な端末装置と接続する接続手段と、
接続された前記端末装置から、他のリソースと階層的に関連付けられた前記複数のリソースにおける階層構造を表す情報と各々のリソースのＩＤとを含む第１情報、各々のリソースがどのグループに分類されたかをそのグループ名と共に表す第２情報、及び、各々のグループについて非パス表現形式で設定されたアクセス制御の内容を表す第３情報を取得する情報取得手段と、
取得した第１〜第３情報を所定のメモリに保持するメモリ手段と、
前記メモリに保持されている情報のうち、前記第１情報により特定される各階層のリソースのＩＤと、前記第２情報により特定されるそのリソースが属するグループ名とをリンクさせ、さらに、各グループ名と、前記第３情報により特定されるそのグループに設定されたアクセス制御の内容とをリンクさせることにより、当該アクセス制御の設定内容をパス表現形式のものに変換する変換手段と、
変換された設定内容を所定の表示装置に表示させるとともに、前記設定内容が同一となる複数のリソースについては同一の態様で表示させる表示制御手段とを有する、
アクセス制御設定装置。
【請求項２】
前記アクセス制御の設定内容の変更または指定を受け付ける受付手段と、
この受付手段で受け付けた変更または指定の内容に従って前記メモリに保持されている第２及び第３情報を更新する設定情報更新手段と、
更新された前記第２及び第３情報を前記端末装置に出力するための制御を行う出力制御装置とをさらに有しており、
前記表示制御手段は、前記第２及び第３情報を更新したときは更新内容に従って前記表示装置における表示態様を変化させる、
請求項１記載のアクセス制御設定装置。
【請求項３】
前記設定情報更新手段は、前記第２及び第３情報を更新する際に更新前の第２及び第３情報を保持し、更新後の第２及び第３情報に代えて更新前の第２及び第３情報に復帰可能にする、
請求項２記載のアクセス制御設定装置。
【請求項４】
前記変換手段は、前記表示装置に表示される範囲内で、リソース毎、階層毎またはグループ毎の前記第１〜第３情報を前記メモリより読み出し、読み出した情報に基づいて前記アクセス制御の内容をパス表現形式のものに変換する、
請求項１，２または３記載のアクセス制御設定装置。
【請求項５】
それぞれ、他のリソースと階層的に関連付けられ、且つ、所定のグループに分類可能な状態で存在し、分類されたときはグループ単位でアクセス制御の設定がなされる複数のリソースに対してアクセス可能な端末装置と接続されるアクセス制御設定装置が実行する方法であって、
前記端末装置から、他のリソースと階層的に関連付けられた前記複数のリソースにおける階層構造を表す情報と各々のリソースのＩＤとを含む第１情報、各々のリソースがどのグループに分類されたかをそのグループ名と共に表す第２情報、及び、各々のグループについて非パス表現形式で設定されたアクセス制御の内容を表す第３情報を取得し、取得した第１〜第３情報を所定のメモリに保持する段階と、
前記メモリに保持されている情報のうち、前記第１情報により特定される各階層のリソースのＩＤと、前記第２情報により特定されるそのリソースが属するグループ名とをリンクさせ、さらに、各グループ名と、前記第３情報により特定されるそのグループに設定されたアクセス制御の内容とをリンクさせることにより、当該アクセス制御の設定内容をパス表現形式のものに変換する段階と、
変換された設定内容を所定の表示装置に表示させるとともに、前記設定内容が同一となる複数のリソースについては同一の態様で表示させるための表示制御を行う段階とを有する、方法。
【請求項６】
それぞれ、他のリソースと階層的に関連付けられ、且つ、所定のグループに分類可能な状態で存在し、分類されたときはグループ単位でアクセス制御の設定がなされる複数のリソースに対してアクセス可能な端末装置、及び、前記アクセス制御の設定を行う者が視認可能な表示装置と接続される、メモリを有するコンピュータを、
前記端末装置から、他のリソースと階層的に関連付けられた前記複数のリソースにおける階層構造を表す情報と各々のリソースのＩＤとを含む第１情報、各々のリソースがどのグループに分類されたかをそのグループ名と共に表す第２情報、及び、各々のグループについて非パス表現形式で設定されたアクセス制御の内容を表す第３情報を取得する情報取得手段、
取得した第１〜第３情報を前記メモリに保持するメモリ手段、
前記メモリに保持されている情報のうち、前記第１情報により特定される各階層のリソースのＩＤと、前記第２情報により特定されるそのリソースが属するグループ名とをリンクさせ、さらに、各グループ名と、前記第３情報により特定されるそのグループに設定されたアクセス制御の内容とをリンクさせることにより、当該アクセス制御の設定内容をパス表現形式のものに変換する変換手段、
変換された設定内容を前記表示装置に表示させるとともに、前記設定内容が同一となる複数のリソースについては同一の態様で表示させる表示制御手段、として機能させる、
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、セキュリティを強化するためにアクセス制御機能を具備したオペレーティングシステム（以下、「セキュアＯＳ（Secure OS）」という）において、非パス表現形式、例えばラベル表現方式のアクセスポリシの内容を、例えば、ディレクトリツリー構造のようなパス表現形式のアクセスポリシに変換して視覚化するアクセス制御設定の仕組みに関する。
【背景技術】
【０００２】
セキュアＯＳのアクセス制御方式の一つにラベルベースの制御方式がある（特許文献１参照）。ラベルベースの制御方式では、ラベルによって、ファイル、ディレクトリ等のリソースをグルーピングし、グループ単位でアクセス制御の設定を行う。
アクセス制御の設定は、具体的には、設定者が、多数存在するリソースの各々がどのグループにグルーピングされ、どのラベルが割り当てられるかを記述したファイルであるマッピングファイルと、どのプロセスがどのラベルにアクセスが可能なのかといったアクセス制御の設定内容が記述されたファイルであるアクセス制御ルールとを作成することにより行われる。
【０００３】
ラベルベースの制御方式は、リソースをグルーピングすることで、グループ単位でまとめてアクセス制御の設定を管理することができる点で有用である。しかし、設定者は、通常、ディレクトリツリー構造のような階層構造による表現に精通しているため、独自の概念であるラベルを用いたラベルベースの制御方式では、理解に時間がかかり、設定上の負担が大きい。
【０００４】
また、設定者が、現在のセキュアＯＳにおいて設定されたアクセス制御の内容を確認したり、変更したりする場合に、馴染みの薄いラベルの概念に基づいたうえで、マッピングファイルとアクセス制御ルールとを逐次見比べながら、設定内容を理解しなければならず、多大な時間が必要となり、効率が悪い。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−２３４２６３
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ラベルベースの制御方式のように、グループ単位でアクセス制御の設定が行われるアクセス制御方式において、複数のファイルに分散して記述されたアクセスポリシを、リソースの階層構造と合わせて視覚化することができれば、上記の問題は解消できる期待がある。
本発明の課題は、例えばラベル表現のような非パス表現形式で設定されたアクセス制御の設定内容をパス表現形式に変換した上で、これを視覚化して、設定内容の把握、設定、変更等を容易にする技術を提供することにある。
【課題を解決するための手段】
【０００７】
本発明は、上記課題を解決するために、アクセス制御設定装置、方法及びコンピュータプログラムを提供する。
本発明のアクセス制御設定装置は、それぞれ、他のリソースと階層的に関連付けられ、且つ、所定のグループに分類可能な状態で存在し、分類されたときはグループ単位でアクセス制御の設定がなされる複数のリソースに対してアクセス可能な端末装置と接続する接続手段と、接続された前記端末装置から、他のリソースと階層的に関連付けられた前記複数のリソースにおける階層構造を表す情報と各々のリソースのＩＤとを含む第１情報、各々のリソースがどのグループに分類されているかをそのグループ名と共に表す第２情報、及び、各々のグループについて非パス表現形式で設定されたアクセス制御の内容を表す第３情報を取得する情報取得手段と、取得した第１〜第３情報を所定のメモリに保持するメモリ手段と、前記メモリに保持されている情報のうち、前記第１情報により特定される各階層のリソースのＩＤと、前記第２情報により特定されるそのリソースが属するグループ名とをリンクさせ、さらに、各グループ名と、前記第３情報により特定されるそのグループに設定されたアクセス制御の内容とをリンクさせることにより、当該アクセス制御の設定内容をパス表現形式のものに変換する変換手段と、変換された設定内容を所定の表示装置に表示させるとともに、前記設定内容が同一となる複数のリソースについては同一の態様で表示させる表示制御手段とを有する。
「非パス表現形式」とは、階層構造で表現されるパス表現形式以外の表現形式のものである。例えば、ラベルベースのアクセス制御を行う場合のラベル表現形式は、非パス表現形式の典型である。
このアクセス制御設定装置では、グループ単位でアクセス制御の設定を行う際に、例えば分散して記述されるアクセスポリシを、リソースの階層構造と合わせて視覚化することができ、アクセス制御の内容を容易に把握できるようになる。
【０００８】
ある実施の態様では、前記アクセス制御の内容の変更または新たな指定を受け付ける受付手段と、この受付手段で受け付けた変更または指定の内容に従って前記メモリに保持されている第２及び第３情報を更新する設定情報更新手段と、更新された第２及び第３情報を前記端末装置に出力するための制御を行う出力制御装置とをさらに有しており、前記表示制御手段は、前記第２及び第３情報を更新したときは更新内容に従って前記表示装置における表示態様を変化させる。これにより、実際に設定するアクセス制御の内容も、容易に視認することができるようになる。
【０００９】
ある実施の態様では、前記設定情報更新手段は、前記第２及び第３情報を更新する際に更新前の第２及び第３情報を保持し、更新後の第２及び第３情報に代えて更新前の第２及び第３情報に復帰可能にする。これにより操作ドリブンによるアクセス制御の設定が容易となる。
【００１０】
前記変換手段は、前記表示装置に表示される範囲内で、リソース毎、階層毎またはグループ毎の前記第１情報〜第３情報を前記メモリより読み出し、読み出した情報に基づいて前記アクセス制御の内容をパス表現形式のものに変換する。つまり、表示されない部分については変換を行わない。これにより、１回の表示分の処理量が節約される。
【００１１】
本発明の方法は、それぞれ、他のリソースと階層的に関連付けられ、且つ、所定のグループに分類可能な状態で存在し、分類されたときはグループ単位でアクセス制御の設定がなされる複数のリソースに対してアクセス可能な端末装置と接続されるアクセス制御設定装置が実行する方法であって、前記端末装置から、他のリソースと階層的に関連付けられた前記複数のリソースにおける階層構造を表す情報と各々のリソースのＩＤとを含む第１情報、各々のリソースがどのグループに分類されたかをそのグループ名と共に表す第２情報、及び、各々のグループについて非パス表現形式で設定されたアクセス制御の内容を表す第３情報を取得し、取得した第１〜第３情報を所定のメモリに保持する段階と、前記メモリに保持されている情報のうち、前記第１情報により特定される各階層のリソースのＩＤと、前記第２情報により特定されるそのリソースが属するグループ名とをリンクさせ、さらに、各グループ名と、前記第３情報により特定されるそのグループに設定されたアクセス制御の内容とをリンクさせることにより、当該アクセス制御の設定内容をパス表現形式のものに変換する段階と、変換された設定内容を所定の表示装置に表示させるとともに、前記設定内容が同一となる複数のリソースについては同一の態様で表示させるための表示制御を行う段階とを有する。
【００１２】
本発明のコンピュータプログラムは、それぞれ、他のリソースと階層的に関連付けられ、且つ、所定のグループに分類可能な状態で存在し、分類されたときはグループ単位でアクセス制御の設定がなされる複数のリソースに対してアクセス可能な端末装置、及び、前記アクセス制御の設定を行う者が視認可能な表示装置と接続される、メモリを有するコンピュータを、前記端末装置から、他のリソースと階層的に関連付けられた前記複数のリソースにおける階層構造を表す情報と各々のリソースのＩＤとを含む第１情報、各々のリソースがどのグループに分類されたかをそのグループ名と共に表す第２情報、及び、各々のグループについて非パス表現形式で設定されたアクセス制御の内容を表す第３情報を取得する情報取得手段、取得した第１〜第３情報を前記メモリに保持するメモリ手段、前記メモリに保持されている情報のうち、前記第１情報により特定される各階層のリソースのＩＤと、前記第２情報により特定されるそのリソースが属するグループ名とをリンクさせ、さらに、各グループ名と、前記第３情報により特定されるそのグループに設定されたアクセス制御の内容とをリンクさせることにより、当該アクセス制御の設定内容をパス表現形式のものに変換する変換手段、変換された設定内容を前記表示装置に表示させるとともに、前記設定内容が同一となる複数のリソースについては同一の態様で表示させる表示制御手段、として機能させる、コンピュータプログラムである。
【発明の効果】
【００１３】
本発明によれば、各階層のリソースのＩＤと各リソースが属するグループ名とをリンクさせ、さらに、各グループ名と各々のグループに設定されたアクセス制御の内容とをリンクさせることにより、アクセス制御の設定内容（アクセスポリシ）をパス表現形式のものに変換し、変換された設定内容を表示装置に表示させるとともに、設定内容が同一となる複数のリソースについては同一の態様で表示させるようにしたので、パス表現形式に慣れ親しんだ設定者が、非パス表現形式で設定されたアクセス制御の設定内容を容易に把握でき、設定に要する時間が著しく短縮されるという特有の効果が得られる。
【図面の簡単な説明】
【００１４】
【図１】本実施形態のアクセス制御設定装置と端末装置とを含む情報処理システムの全体構成図。
【図２】アクセス制御設定装置及び端末装置の機能ブロック図。
【図３】マッピングファイルの例を示す説明図。
【図４】（ａ），（ｂ）はアクセス制御ルールの例を示す説明図。
【図５】アクセス制御設定装置の動作時の全体処理図。
【図６】対象範囲を定める処理（Ｓ１）の詳細手順説明図。
【図７】表現形式の変換処理（Ｓ３）の詳細手順説明図。
【図８】表現形式の変換処理（Ｓ３）の詳細手順説明図。
【図９】表現形式の変換処理（Ｓ３）の詳細手順説明図。
【図１０】設定情報の生成処理（Ｓ４）の詳細手順説明図。
【図１１】初期情報入力画面の例を示す説明図。
【図１２】マッピングオブジェクトのパターン説明図。
【図１３】オブジェクト生成の概念図。
【図１４】（ａ），（ｂ）はアクセス制御詳細設定画面の例を示す説明図。
【図１５】ラベルオブジェクトとパスオブジェクトの関係を示す概念図。
【図１６】ラベルオブジェクトとパスオブジェクトの関係を示す概念図。
【図１７】ラベルオブジェクトとパスオブジェクトの関係を示す概念図。
【図１８】ラベルオブジェクトとパスオブジェクトの関係を示す概念図。
【図１９】リソースの階層構造を示す説明図。
【図２０】リソースの階層構造を示す説明図。
【図２１】相互確認に関する設定画面の例を示す説明図。
【発明を実施するための形態】
【００１５】
以下、本発明の実施の形態例を説明する。情報処理分野におけるアクセス制御技術には、一般に、アクセスを許可したい行為を設定ファイルに記述し、記述されていない行為については拒否するホワイトリスト方式と、その逆で、アクセスを拒否したい行為を記述し、記述されていない行為は許可するブラックリスト方式とが存在するが、本実施形態では、ホワイトリスト方式によるアクセス制御を行う場合の例を説明する。但し、本発明は、ブラックリスト方式においても適用が可能なものである。
本実施形態は、また、セキュアＯＳを搭載した端末装置に対するアクセス制御内容の設定を外部より行うアクセス制御設定装置の例を挙げる。
【００１６】
［全体構成］
図１は、本実施形態のアクセス制御設定装置１００と、このアクセス制御設定装置１００によりリモート操作される端末装置２００とを含む情報処理システムの全体構成図であり、特徴的な部分のみを示してある。端末装置２００は、アクセスポリシ２４０に従ってアクセス制御内容が設定されるセキュアＯＳ２１０を搭載している。このセキュアＯＳ２１０は、非パス表現形式の一例となるラベルベースの制御方式によって、リソースに対するアクセス制御が設定されるものである。
【００１７】
アクセス制御設定装置１００と端末装置２００は、例えば、ＳＳＨ（Secure SHell）などによって双方向の通信可能に接続されている。本例では、端末装置２００によるアクセスが制限されるリソースは、セキュアＯＳ２１０の内部あるいはＨＤＤ（Hard disk drive）などの外部デバイスにおいて、それぞれ、他のリソースと階層的に関連付けられ、且つ、所定のグループに分類可能な状態で存在するものとして説明する。これらのリソースは、例えばプログラム、ファイル、ディレクトリ等であり、グループに分類されたときはそのグループ単位でアクセス制御の設定がなされるものである。
【００１８】
[アクセス制御設定装置]
まず、アクセス制御設定装置１００の構成例を説明する。図２は、本実施形態におけるアクセス制御設定装置の機能ブロック図である。
アクセス制御設定装置１００は、ＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、ネットワークカード、入出力インタフェース等を備えた処理装置１１０と、ディスプレイ等の表示装置１２０と、キーボード等の入力装置１３０と、端末装置２００又は外部デバイスと接続するための接続インタフェース１４０とを備えている。
処理装置１１０は、コンピュータの一種であり、ＣＰＵが本発明のコンピュータプログラムを読み込んで実行することにより、端末装置２００のアクセス制御設定に関する機能、具体的には、入力受付部１１１、情報取得部１１２、設定情報更新部１１３、表現形式変換部１１４、表示制御部１１５、及び、出力制御部１１６として動作する。
【００１９】
入力受付部１１１は、入力装置１３０から、アクセス制御の設定に関わる情報、例えば現在の設定内容の確認指示情報、設定内容の変更情報または新たな指定情報の入力を受け付ける。
【００２０】
情報取得部１１２は、端末装置２００から、セキュアＯＳ２１０がアクセス可能なすべてのリソースがどのような状態で存在するかという情報と、各リソースに対する現在のアクセス制御の設定内容がどのようになっているかを表す情報とを取得する。具体的には、各リソースの階層構造及び各々のリソースのＩＤ（例えばリソースの種類及び名称）を含む第１情報、各々のリソースがどのグループに分類されているかをそのグループ名と共に表す第２情報、及び、各々のグループについてラベル表現形式で設定されたアクセス制御の内容を表す第３情報を取得する。
【００２１】
設定情報更新部１１３は、図示しないメモリ制御機構との協働により、情報取得部１１２で取得した第１〜第３情報をＲＡＭの所定領域に保持する。また、入力装置１３０から変更又は設定の内容を受け付けたときは、受け付けた内容に従って、端末装置２００より取得し、保持されている第２及び第３情報を更新する。第２及び第３情報を更新する際には、更新前の第２及び第３情報をＲＡＭに保持し、更新後の第２及び第３情報に代えて更新前の第２及び第３情報に復帰可能にする。
【００２２】
表現形式変換部１１４は、保持されている第１〜第３情報のうち、第１情報により特定される各階層のリソースのＩＤと、第２情報により特定されるそのリソースが属するグループ名とをリンクさせ、さらに、各グループ名と、第３情報により特定されるそのグループに設定されたアクセス制御の内容とをリンクさせることにより、当該設定内容をパス表現形式のものに変換する。
【００２３】
表示制御部１１５は、表示装置１２０への情報の表示制御を行う。表示される情報は、ラベル表現形式からパス表現形式に変換されたリソースの状態を表す画面、各リソースに対して設定されたアクセス制御の内容を表す画面、初期設定を含む各種設定画面等である。アクセス制御の設定内容が同一となる複数のリソースについては同一の態様、例えば同じ色合いで表示させる。さらに、第２及び第３情報が更新されたときは、更新内容に従って表示装置１２０における表示態様を変化させる。
【００２４】
出力制御部１１６は、ＲＡＭに保持されている第２及び第３情報が更新されたときは、更新された第２及び第３情報を端末装置２００に出力するための制御を行う。
【００２５】
［端末装置］
次に、端末装置２００の構成を詳しく説明する。端末装置２００のセキュアＯＳ２１０において、ＯＳカーネル２１１の内部にはアクセス制御モジュール２１２が存在する。アクセス制御モジュール２１２は、ＯＳ起動時に、アクセスポリシ２４０からマッピングファイル２２０とアクセス制御ルール２３０を読み込み、アクセス制御を開始するものである。マッピングファイル２２０は、ファイル、ディレクトリ等のリソースが、それぞれ、どのラベルに割り当てられるべきかを記述したファイルであり、アクセス制御ルール２３０は、どのプロセスが、どのリソースに対して、どのようなアクセスが可能なのかを示すファイルである。
【００２６】
マッピングファイル２２０の内容例を図３に示す。リソースへのアクセス行為には「アクセス主体」と「アクセス客体」が関与するが、アクセス主体となりうるプログラムも、アクセス客体となるファイルやディレクトリも一つのマッピングファイルに記述される。なお、アクセス主体となりうるのはプログラム(プロセス)のみであり、アクセス客体にはプログラムがアクセスするファイルやディレクトリのほか、プログラムによって起動されるプログラムも含まれる。
【００２７】
この例のマッピングファイルの１行目、２行目、４行目はアクセス客体に関するラベル定義の例であり、１行目の「/var(/.*)?  system_u:object_r:var_t:s0」は、「ラベルvar_tが、/var以下全てのリソースに割り当てられる」ことを意味する。２行目の「/var/run/*.pid  system_u:object_r:var_run_t:s0」は、「ラベルvar_run_tが、/var/run/*.pidの正規表現にマッチするリソースに割り当てられる」ことを意味する。４行目の「/usr(/.*)?  system_u:object_r:var_t:s0」は、「ラベルvar_tが、/usr以下全てのリソースに割り当てられる」ことを意味する。１行目と４行目の定義の結果、/varと/usr以下の全てのリソースが１個のラベルvar_tで指定されたことになる。
この例の３行目はアクセス主体になりうるプログラムに関するラベル定義の例であり、「/usr/sbin/httpd  system_u:object_r:httpd_exec_t:s0」は、「ラベルhttpd_exec_tが、/usr/sbin/httpdに割り当てられる」ことを意味する。
【００２８】
アクセス制御ルール２３０の内容例を図４（ａ），（ｂ）に示す。
アクセス制御ルール２３０には、アクセス主体がアクセス客体にどのようなアクセスをしてよいかを記述する。また、アクセス主体が新たにプログラムを起動した場合や新たにファイルを作成した場合、起動されたプログラムや作成されたファイルに付与されるラベルを定義する。また、ユーザ用のプロセスはログインデーモン（プログラム）が生成するので、やはりアクセス制御ルールにおいてラベルを定義する。
【００２９】
図４（ａ）のアクセス制御ルールの１行目の「allow httpd_t var_t:file read;」は、「アクセス主体httpd_tは、アクセス客体var_tのfileにreadしかできない」ことを意味する。なお、var_tにはファイルの他、ディレクトリやプログラムが属する場合もあり得るが、このうちfileのreadだけ許可したことを意味する。
２行目の「type_transition usr_t httpd_exec_t:process httpd_t;」は、「アクセス主体usr_tがアクセス客体httpd_exexc_tを実行した結果起動したプロセスは、ラベルhttpd_tに属する」ことを意味する。３行目の「type_transition httpd_t var_run_t:file httpd_var_run_t:」は、「アクセス主体httpd_tがアクセス客体 var_run_t に作ったファイルは、ラベルhttpd_var_run_tに属する」ことを意味する。
図４（ｂ）はアクセス主体がユーザプロセスの場合のラベル定義の例であって、ここではユーザ root がログインした直後のプロセスにラベル「my_root_t」が付与された例を示す。
【００３０】
従来のアクセス制御の設定は、マッピングファイル２２０とアクセス制御ルール２３０の双方を参照することによって可能となっていた。すなわち、図３のマッピングファイル２２０の１行目の「/var(/.*)?  system_u:object_r:var_t:s0」（var_tとは、/var以下全てのことである）と、図４（ａ）のアクセス制御ルール２３０の１行目の「allow httpd_t var_t:file read;」（httpd_tは、var_tのfileにreadしかできない）とによって、「httpd_tは、/var以下全てのfileにreadしかできない」との設定がなされていた。
【００３１】
［アクセス制御設定装置の動作例］
次に、アクセス制御設定装置１００の動作例を説明する。
図５は、全体的な動作手順説明図である。図５を参照すると、アクセス制御設定装置１００が端末装置２００に接続され、処理装置１１０が起動すると、処理装置１１０は、動作環境を整え、端末装置２００から現在のリソースの情報及びアクセスポリシ２４０の内容を表す情報を取得し、ＲＡＭに保持するとともに、表示装置１２０に初期情報入力画面を表示させ、アクセス制御の対象プログラムを定める処理を行う（ステップＳ１）。
初期情報入力画面は、リソースへのアクセスを許可する主体を定めるための情報の入力を促す画面である。本例では、アクセス主体はどのプログラムか、及びどのユーザ又はどのプログラムがそれを起動したのか、という内容を指定できるようにしている。このような指定を設定者が入力装置１３０を通じて入力すると、処理装置１１０は、指定された内容を受け付け、以後の処理のためにＲＡＭに保持する（ステップＳ２）。
【００３２】
処理装置１１０は、ＲＡＭに保持された情報をもとに、アクセスポリシの表現形式の変換処理を行う（ステップＳ３）。本例では、ラベル表現形式のアクセスポリシをパス表現形式のものに変換する処理を行う。そして、変換された表現形式のアクセスポリシの内容を表示装置１２０に表示させる。
【００３３】
表示画面をみた設定者が、制御内容の新たな指定又は変更の情報を入力すると、処理装置１１０は、これらの情報を受け付け、設定情報の生成処理を行う（ステップＳ４）。具体的には、受け付けた指定又は変更の情報に従って、それ以前に端末装置２００より取得してＲＡＭに保持した情報を更新し、更新された情報を端末装置２００に出力するための制御を行う。情報を更新するときは更新内容に従って表示装置１２０における表示態様を変化させる。なお、情報を更新する際には更新前の情報を保持しておき、更新後の情報に代えて何時でも更新前の情報に復帰可能にする。
【００３４】
その後、処理装置１１０は、ステップＳ１で取得したアクセス主体情報と、ステップＳ４で取得したアクセス制御設定情報（アクセス客体情報と、パーミッション情報）を、端末装置２００のアクセスポリシ２４０に書き込む処理を行い、処理を終える（ステップＳ５）。
なお、アクセスポリシのパス表現形式への変換は、設定者が指定した範囲で、リソース毎、階層毎又はグループ毎に情報を読み出して行う。例えばあるディレクトリを指定することにより、そのディレクトリに属するファイルのみの情報を読み出す。これにより、全階層のすべての情報を読み込む必要がなくなり、処理量が節約されるので、設定に要する時間が短縮される。
【００３５】
次に、図５の全体処理における各処理の手順を詳細に説明する。
［ステップＳ１の詳細手順］
対象プログラムを定める処理（ステップＳ１）の詳細手順を図６に示す。
まず、図１１に例示される初期情報入力画面３００を表示装置１２０に表示させる（ステップ２１０）。図１１において、「ＡＰ」はアクセス制御の対象となるプロセスを表す。「ＡＰのパス」は、そのＡＰがどこに存在するどのプログラムであるかを指定するパス表現領域３１０である。「ＡＰを起動するユーザ（３２０）」か、「ＡＰを起動するプログラムのパス（３３０）」は、どちらか一方が必須入力となる。これらは、パス表現領域３１０の入力内容とあわせて、「以降設定するアクセス制御内容は、領域３２０で指定されたユーザか、領域３３０で指定されたプログラムが、領域３１０で指定したプログラムを実行したときに生成されるプロセスに対して有効である」という意味になる。
【００３６】
ユーザ指定領域３２０への指定を検出した場合、処理装置１１０は、入力されたユーザのＩＤをキーとして、端末装置２００が保持するアクセス制御ルール２３０を参照し、そのユーザに付与されるラベルを取得する（ステップＳ２３０）。例えば、ユーザ名「root」が入力されたとする。処理装置１１０は、例えば、図４（ｂ）のアクセス制御ルール２３０の「root:root:s0-s0:c0.c1023」の記述を参照し、「root」の設定を検出する。検出された設定が「user root roles {my_root_r system_r} level s0 range s0-s0:c0.1023」であった場合、「my_root_r」をキーとして、例えば「my_root_r:my_root_t」の結果を検出し、ラベル「my_root_t」を得る。
【００３７】
一方、プログラム指定領域３３０への指定を検出した場合、処理装置１１０は、アクセス制御ルール２３０及びマッピングファイル２２０から、そのプログラムが実行されたときに付与されるラベルを取得する（ステップＳ２４０）。
例えば、ＡＰを起動するプログラムのパスとして「/etc/init.d/httpd」が指定されたとする。処理装置１１０は、図３のマッピングファイル２２０における「/etc/init.d/http--system_u:object_r:initrc_exec_t:s0」を参照する。「/etc/init.d/httpd」にはラベル「initrc_exec_t」が付与されていることがわかるので、「initrc_exec_t」をキーとしてアクセス制御ルール２３０を検索し、例えば「type_transition XXX_t initrc_exec_t:process YYY_t;」のように「initrc_exec_t」を「:」の直前に含むルールを検出し、ＡＰを起動するプログラム「/etc/init.d/httpd」のラベル「YYY_t」を得る。
このように、各領域３１０〜３３０への指定により、「ユーザ○○／プログラム○○が実行したＡＰについてのアクセス制御の設定を行う」という内容の初期情報が設定者より入力され、ステップＳ２により保持されることになる。
【００３８】
［ステップＳ３の詳細手順］
表現形式の変換処理（ステップＳ３）の詳細手順を図７乃至図９に示す。
以下では、主にルートディレクトリ"/"に属するリソースの場合を例にとって説明する。
【００３９】
処理装置１１０は、まず、マッピングファイルを取得して、マッピングオブジェクトを生成する（ステップＳ３１０）。個々のマッピングオブジェクトは、例えば図３におけるマッピングファイルの一行一行に対応し、ラベルオブジェクトと同様にラベル情報と属性情報を有する他、パス情報と正規表現情報を有する。
マッピングファイルは、通常、高々数千行なので、マッピングオブジェクトはマッピングファイル全体を一度に読み込んで生成してもよい。マッピングオブジェクトの属性情報はマッピングファイルの定義を書き写したものなので、マッピングオブジェクトではアクセス制御設定対象となるリソース個々の属性を特定できない。そこで、具体的なアクセス制御設定作業の対象となるリソースと直接関連付けて生成されるラベルオブジェクトを利用して、設定対象リソースの属性を特定する。
【００４０】
一方、名前と属性情報のみからなるラベルオブジェクトだけでは、そのラベルはパスに
直すとどこのことかを特定できないため、パス情報を参照するためのマッピングオブジェクトが必要となる。
マッピングオブジェクトは、例えば、図３のマッピングファイル２２０の「/var(/.*)?  system_u:object_r:var_t:s0」の記述に基づくと、マッピングオブジェクトには、ラベル名は「var_t」、パスは「/var」、正規表現は「(/.*)?」、属性は「正規表現が表すリソースの属性」が記述されることとなる。また、設定者が新しいラベルを作成した場合には、マッピングオブジェクトが新たに作成される。マッピングオブジェクトは、処理の簡易化のため、処理装置１１０で定義したマッピング設定とデフォルトのマッピング設定と、ラベル名の付与ルールを区別する等して、分けて保持するものとしてもよい。
【００４１】
マッピングオブジェクトは、様々なパターンを有する。このことを、図１２を参照して説明する。図１２において、パターン１におけるマッピングオブジェクト７１０は、デフォルトのマッピング設定のオブジェクトである。正規表現がパス表現から分離できないため、マッピングオブジェクト７１０の正規表現の欄は空欄となっており、属性は「dir（ディレクトリ）」である。パターン２のマッピングオブジェクト７２０は、処理装置１１０でディレクトリに対して新しいラベルを割り当てた場合の例である。パスには新しいラベルを定義したリソースのパスが記述される。正規表現は「(/.*)?」となり、属性は「dir（ディレクトリ）」である。パターン３のマッピングオブジェクト７３０は、処理装置１１０でファイルに対して新しいラベルを割り当てた場合の例である。パスには新しいラベルを定義したリソースのパスが記述され、属性は「file（ファイル）」である。パターン４のマッピングオブジェクト７４０は、処理装置１１０で、あるディレクトリ中に動的に作成されるファイルに、親ディレクトリとは異なるラベルを割り当てた場合の例である。パスには親ディレクトリのフルパスが記述され、正規表現にはファイル名のパターンが記述されている。パターン５は、パターン４とほぼ同様の例で、正規表現を定義せず、「*（何でもよい）」とする例である。
【００４２】
次に、処理装置１１０は端末装置２００から、リソースの階層構造（ディレクトリツリー：パス表現）に関する情報と、リソースのラベル情報に関する情報を取得する。
具体的には、端末装置２００に対して、リモート操作によりコマンド“ls /”を実行することにより、例えば、“/”以下のファイル、ディレクトリ等のリソースの一覧を取得する（ステップＳ３１５）。
また、端末装置２００に対し、コマンド“ls−Z /”を実行することにより、例えば“/”以下のファイル、ディレクトリ等のリソースに対するラベルの一覧を取得する（ステップＳ３２０）。その際、上述したように、処理量を減らすために、実際に表示装置１２０での表示に必要な範囲、例えば、“ /”の１段だけ下位の階層のリソースについてのみ、リソース一覧とラベル一覧を取得し、その他のリソースについては、その下位のリソースが展開される都度、リソース一覧とラベル一覧を取得するものとする。このようにすると、実際に展開され、表示装置１２０に表示され、設定者に視認される等の必要な範囲でのみ処理を行うため、処理量を分散することができ、一回あたり処理の負担を減らすことができる。
【００４３】
次に、処理装置１１０は、ステップＳ３１５とステップＳ３２０で取得した情報に基づき、パス表現用のオブジェクト（以下、「パスオブジェクト」）とラベル表現用のオブジェクト（以下、「ラベルオブジェクト」）を生成する。また、６種類のパーミッションオブジェクトを生成する（ステップＳ３２５）。
【００４４】
ステップＳ３２５におけるオブジェクト生成の概念を図１３に示す。図１３の左側は、パスオブジェクト４１０〜４１４であり、それぞれ、ファイル、ディレクトリ等のリソースの「名前」、ＯＳのディレクトリツリーの親子関係を示す「親参照」情報、ラベルオブジェクトとの対応付けを示す「旧参照」、「新参照」情報が記述される。
「旧参照」には既存のラベルとの対応関係を示すための情報が記述される。「新参照」は、「旧参照」と同様にラベルとの対応関係を示すためのものであるが、設定者が新しいラベルを割り当てた場合に、その新しいラベルを参照先として記述する。このように、「旧参照」とは別に「新参照」を記述するため、一旦新しいラベルを割り当てた後であっても、「新参照」を削除し、「旧参照」の記述に基づいて、元の状態に容易に戻すことができる。
【００４５】
パスオブジェクト４１０〜４１４は、それぞれ、ラベルオブジェクト５１０〜５１２と関連付けられる。ラベルオブジェクト５１０〜５１２は、ラベル表現用のオブジェクトであり、ラベルの「名前」と「属性」とを示している。ラベルオブジェクト５１０〜５１２は、それぞれ、パーミッションオブジェクト６１０〜６１２に関連付けられる。パーミッションオブジェクト６１０〜６１２は、アクセス制御の一例となる許可内容を示すオブジェクトである。例えば「Ｒ」は「読み取り（Read）許可」、「ＲＷ」は「読み取り（Read）及び書き込み（Write）許可」、「ＲＷＸＣ」は「読み取り（Read）、書き込み（Write）、実行（execute）、ファイル作成（fileCreate）許可」を意味する。
パーミッションオブジェクトには、この他に「パーミッションなし」、「ＲＷＣ」、「ＲＷＸ」のパターンがある。パスオブジェクトがラベルオブジェクトを介してパーミッションオブジェクトと関連づけられることにより、後述するように、図１９や図２０のようなツリー構造表示において、パスリソースはパーミッションタイプごとに（ＲＷＸＣ情報と共に）色分けして表示される。
【００４６】
図７に戻り、処理装置１１０は、各パスオブジェクトの「旧参照」が、そのパスリソースに割り当てられたラベルを参照するように、パスオブジェクトとラベルオブジェクトを関連付ける（ステップＳ３３０）。
次に、図８のステップＳ３３５に進み、処理装置１１０は、ステップＳ３２０で取得したラベル一覧の中に、アクセス制御設定装置１００により設定されたラベル（以下、「ラベルＡ」という。また、ラベルＡの定義したラベルオブジェクトを「ラベルオブジェクトＡ」という。）があるか否か判定する（ステップＳ３３５）。ラベルＡがない場合（ステップＳ３３５：Ｎｏ）、図９のステップＳ３４０に進み、処理装置１１０はさらにマッピングオブジェクトを参照して、図１２のパターン４または５に該当する、プログラムによって動的に生成・削除されるファイルとラベルの定義したマッピングオブジェクト（以下、「マッピングオブジェクトＢ」という。また、マッピングオブジェクトＢを定義したラベルを「ラベルＢ」という。）がないか検索する。マッピングオブジェクトＢがなければ（Ｓ３４０：Ｎｏ）、表現形式変換処理（ステップＳ３）を終了する。
【００４７】
端末装置２００について、初めて、アクセス制御設定装置１００を使用した場合、ラベルＡもマッピングオブジェクトＢも発見されることはない。本発明は、アクセスを許可したい行為を設定ファイルに記述し、記述されていない行為については拒否するホワイトリスト方式でアクセス制御設定するものであり、初期状態ではいずれのリソースにも、パーミッションは何ら与えられていないからである。この場合、表現形式変換処理（ステップＳ３）終了後、設定情報生成処理（ステップＳ４）のためにユーザに提示されるリソースのツリー構造表示は、何ら色づけのない初期状態としてユーザに提示される。
【００４８】
ここで、いったんステップＳ３を離れ、先に設定情報の生成処理（ステップＳ４）について説明する。
［ステップＳ４の詳細手順］
処理装置１１０は、ステップＳ３の処理により、表現形式の変換処理を終えると、設定情報を生成するための処理を行う。設定情報の生成処理（ステップＳ４）の詳細手順を図１０に示す。
ステップＳ３の処理を終えると、処理装置１１０はリソースをツリー構造で表現した、「アクセス制御設定画面」をユーザに提示する。各リソースについて種々のパーミッション情報が得られた場合、アクセス制御設定画面に表示されるリソースは、例えば図１９や図２０のように、パーミッション情報ＲＷＸＣとともに色分けされて表示される。
アクセス制御設定画面を提示された設定者は、アクセス制御の内容を設定（あるいは変更）したいファイルやディレクトリを指定してクリックする（ステップＳ４１０）。
クリック内容を解読した処理装置１１０は、図１４（ａ）に示すアクセス制御詳細設定画面９００を表示装置１２０に表示させる（ステップＳ４２０）。
設定者が、設定画面９００に従い、「このパスのアクセス許可」の設定領域９０１に提示されたパーミッションの中から一つを選び、ＯＫボタン９０５を押し、パーミッションの設定を行う（ステップＳ４３０）。選んだ内容をキャンセルする場合は、キャンセルボタン９０６を押す。
「同じアクセス許可のパス」の表示領域９０２には、同じアクセス許可のリソースのパスが表示される。表示領域９０２にリストされたリソースとは異なるアクセス制御の内容を設定するために、新しいラベルを割り当てる場合には、チェックボックス９０３を選択する。指定したパスの下位のリソースに同様のアクセス許可を設定する場合には、チェックボックス９０４を選択する。
【００４９】
図１０に戻り、設定者が設定操作を行うと、処理装置１１０は、設定者によって選択されたリソース名を読み取り、該当するパスオブジェクトを参照する（ステップＳ４４０）。さらに、そのパスオブジェクトからラベルオブジェクトを参照する（ステップＳ４５０）。
以下、図１５乃至図１８を参照し、パスオブジェクトとラベルオブジェクトのタイプごとに場合分けして、アクセス制御設定作業と各オブジェクトの関係を説明する。
パスオブジェクトの新参照がいずれのラベルオブジェクトも参照していない場合、処理装置１１０はパスオブジェクトの旧参照にしたがってデフォルトラベルのラベルオブジェクトを参照し、ステップＳ４３０で選ばれたパーミッションに基づき、パーミッションオブジェクトのリスト構造に該当するラベルオブジェクトを追加する（図１５（ａ）参照）。この結果、ラベルオブジェクトとパーミッションオブジェクトが関連付けられる（ステップＳ４６０）。
【００５０】
設定者が新しいラベルの割り当てを選択していた場合、処理装置１１０は新しいラベルオブジェクトを生成し、パスオブジェクトの新参照が当該新ラベルオブジェクトを参照するようにする。そして、ステップＳ４３０で選ばれたパーミッションに基づき、パーミッションオブジェクトのリスト構造に新ラベルオブジェクトを追加することにより、ラベルオブジェクトとパーミッションオブジェクトを関連付ける（ステップＳ４６０）（図１５（ｂ）参照）。なお、新しいラベルは一定の命名規則に則って付与し、デフォルトマッピングファイルに記載されたラベルと区別できるようにする。
パスオブジェクトの新参照が参照する新ラベルのラベルオブジェクトがすでに存在する場合、処理装置１１０は当該ラベルオブジェクトとパーミッションオブジェクトの関連付けを、ステップ４３０で選ばれたパーミッションの内容に更新する（図１５（ｃ）参照）。
【００５１】
なお、「ディレクトリ○○に新しいラベル○○を割り当てる」とは、通常、「ディレクトリ○○以下の全てのリソースに対して新ラベル○○を割り当てる」という意味になる。しかし、ディレクトリ○○配下のリソースを示すパスオブジェクトの全てについて、いちいち新参照が新ラベル○○のラベルオブジェクトを参照するように設定する必要はない。子リソースのラベルは、親リソースに従うことを原則とすることで、親をたどっていけば任意の子リソースのラベルを把握することができるからである。
【００５２】
設定者による設定作業の結果、図１６に示されるように、パスオブジェクトには３つのタイプが生まれることになる。
タイプ１は、新ラベルが付与されず、旧参照だけがデフォルトラベルを参照するパスオブジェクトである（図１６のタイプ１参照）。
タイプ２は、新ラベルが付与され、旧参照はデフォルトラベルを、新参照は新ラベルを参照するパスオブジェクトである（図１６のタイプ２参照）。
タイプ３は、新ラベルが付与されたリソースの子リソースを表すパスオブジェクトであって、新参照が新ラベルオブジェクトを参照することはしないが、親リソースを介して実質的に新ラベルを参照するパスオブジェクトである（図１６のタイプ３参照）。
【００５３】
パスオブジェクト〜ラベルオブジェクト〜パーミッションオブジェクトについて必要な関連付けを終えると、アクセス制御設定装置１００は、画面上に、ディレクトリツリー構造を再描画する（ステップＳ４７０）。
図１９は、ステップＳ３の処理の結果、ルートディレクトリ"/"とその直下のディレクトリからなるツリー構造が、パーミッション情報なしの状態で設定者に提示され、設定者がディレクトリ８０２、８０４、８０６にパーミッション設定を施したものである。
図１９において、ディレクトリはリソースの集合を表している。図示の例では、ディレクトリ８００を最上位とする階層構造となっており、ディレクトリ８０４には、さらに下位層のディレクトリが存在することを示す「＋」表示のボタン（画像）８５１が示されている。ディレクトリ８１３には下位層のディレクトリ８１４が関連付けられている。「−」表示のボタン（画像）８５２を押すことにより、ディレクトリ８１４が表示画面から消え、「−」表示が「＋」表示に変わる。
ディレクトリ８０２は所定の色付けがなされ、且つ、「ＲＸ」が表示されている。前述したように、「Ｒ」は「読み取り許可（Read）」、「Ｘ」は「実行（execute）」であるから、ディレクトリ８０２には、読み取り許可と実行許可が設定されていることがわかる。また、ディレクトリ８０４には、別の色が付され、且つ、「ＲＷ」が設定されている。「Ｗ」は、「書き込み許可（Write）」であるから、ディレクトリ８０４には、読み取り及び書き込みの許可が設定されていることがわかる。同様に、ディレクトリ８０６には、読み取り許可のみが設定されていることがわかる。
【００５４】
図１９の「＋」表示のボタン（画像）８５１をクリックすると、表示装置１２０の表示画面は、図１９から図２０のようにディレクトリ８０４の下位層のディレクトリが表示され、ボタン（画像）８５１は「＋」から「−」に変わる。図２０の例では、ディレクトリ８０４に属する複数のディレクトリ８１５〜８２５のうち、「ＰＴＳ」により識別されるディレクトリ８２４を除いて、他のすべてのディレクトリ８１５〜８２２、８２４、８２５が同じ色で表されることから、設定されている制御内容が同じであることが一目で理解でき、また、制御内容は「ＲＷ」とあるから読み取りと書き込みの許可が設定されていることがわかる。
【００５５】
ここで、設定者が、例えば図２０において、ディレクトリ８０４に設定を行うと、同じラベルに関連付けられている下位層のディレクトリ８１５〜８２２、８２４〜８２５も、連動して色及び設定内容の表示が変更される。そのため、設定者は、その設定操作の過程で、どのディレクトリに対して同じラベルが関連づけられており、どのような設定内容となっているかを知ることができるため、マッピングファイル２２０及びアクセス制御ルール２３０を参照する必要がなく、設定作業が容易になる。
【００５６】
このように、本実施形態では、一度に、全てのリソースのツリー構造とマッピングファイル２２０及びアクセス制御ルール２３０の情報とを関連付けると膨大な処理量となり、時間がかかるため、下位層のディレクトリを展開し、表示装置１２０に表示するときにはじめて、必要な範囲で、マッピングファイル２２０及びアクセス制御ルール２３０の情報を収集し、ラベルの関連付けを行うようにしている。これにより、設定者の操作単位で、ラベルの関連付けを行う結果、一度に大量の処理を行う必要がなくなる。
また、一旦収集した情報を、内部のメモリに記録しておけば、情報収集のため再度同じ処理を行う必要がなくなる。
【００５７】
このように色づけを行う中での例外は、例えば、図４（a）の３行目「type_transition httpd_t var_run_t:file httpd_var_run_t:」で示す表現である。あるプロセスが、あるラベルに割当てられたディレクトリ以下に、ファイルやディレクトリを作成した場合、別ラベルを割当てるというものである。つまり、事前に新ラベルを一つ作成しておき、決められたラベルが付与されるディレクトリ以下にファイルを作成する場合、通常親のラベルを踏襲するが、今回は作成した新ラベルを割当てるということである。この場合、図１４の（ｂ）で示す画面で設定を行う。９０７は９０１と同じ用途であるが、９０８については、作成するファイルやディレクトリの正規表現で表されたパスを入力する。図１２の７５０で示されるように’＊’（何でも良い）という表記も可能である。
図１４の（ｂ）においてＯＫボタンを押した直後は、新ラベルを生成し、指定されたパーミッションオブジェクトと関連付けるが、Ｓ４１０で指定したファイルやディレクトリに新ラベルを割当てればよいわけではなく、Ｓ４１０で指定したディレクトリ以下に存在するファイルやディレクトリに対して９０７で指定した正規表現がマッチングするか調べ、逐次新ラベルを割当てる必要がある（Ｓ４８０）。
【００５８】
設定情報生成処理（ステップＳ４）を終了させると、処理装置１１０は設定情報をマッピングファイルとアクセス制御ルールに反映させて、全体処理を終了する（ステップＳ５）。
【００５９】
［ステップＳ３の詳細手順］
ここで再び図７乃至図９に戻り、過去にアクセス制御設定装置１００による設定がなされていた場合の、表現形式変換処理（ステップＳ３）について説明する。
本実施形態による設定作業のためには、パスオブジェクトが前述のとおり、図１６に示される３つのタイプで表現されていなければならない。しかし、いったん設定作業を終えて設定内容をアクセスポリシに反映してしまうと、リソースと直接関連するラベル情報は新ラベルに置き換わり、“ｌｓ−Ｚ”コマンドでラベル情報を読み込むだけでは、タイプ１（旧参照のみがデフォルトラベルオブジェクトを参照）は再現されるが、タイプ２（旧参照がデフォルトラベルオブジェクトを、新参照が新ラベルオブジェクトを参照するもの）とタイプ３（タイプ２の子ノード）のパスオブジェクトが再現されない。以下、タイプ２とタイプ３のパスオブジェクトを再現する手順を、図７、図１７及び図１８を用いて説明する。
【００６０】
ステップＳ３２０で取得したラベルが、過去にアクセス制御設定装置１００により設定されたラベル"myLabel_t"であった場合でも、処理装置１１０はまず旧参照に当該新ラベルのラベルオブジェクトを参照させる（ステップＳ３３０）。この結果、タイプ２およびタイプ３のパスオブジェクトはそれぞれ図１７（ａ）及び（ｂ）のようになる。
次に、図８に移り、処理装置１１０は、ステップ３２０で取得したラベルがアクセス制御設定装置１００が付与したものか否かを判定する。アクセス制御設定装置１００が生成したラベルＡがあった場合（ステップＳ３３５：Ｙｅｓ）、処理装置１１０はさらにラベルオブジェクトＡと関連付けられたパスオブジェクトが、過去に新ラベルを割り当てた親ノードなのか、その子ノードなのか判定する（ステップＳ３４５）。パスオブジェクトの名前がマッピングオブジェクトのパスと一致すれば親ノードであり、一致しなければ子ノードである。
まずタイプ２（図１７（ａ））について見ると、"/boot"はマッピングオブジェクト（図１７（ｃ））のパス"/boot"と一致するので親ノードであり、この場合は当該パスオブジェクトの新参照にも同じ（新ラベルの）ラベルオブジェクトを参照させる（図１７（ｄ）：ステップＳ３５０）。
【００６１】
一方、タイプ３（図１７（ｂ））では、"/boot/xxx"はマッピングオブジェクト（図１７（ｃ））のパス"/boot"と一致しないので子ノードであり、この場合は新参照によるラベルオブジェクトの参照は行わせない（図１７（ｂ）のまま変わらない：ステップＳ３５０）。
ついで、処理装置１１０は、新ラベルを参照するパスオブジェクトの旧参照と、その親ノードのパスオブジェクトの旧参照とを一致させる（親に従わせる：ステップＳ３５５）。すなわち、図１８（ａ）のように"/boot"の親ディレクトリ"/"のパスオブジェクトの旧参照がデフォルトラベルオブジェクト"boot_t"を参照している場合、タイプ２は図１８（ｂ）のようになり、タイプ２（図１６のタイプ２）が再現される。
また、旧参照のみが新ラベルオブジェクトを参照していたタイプ３（図１７（ｂ））の場合は、親ノード（"/boot"）の旧参照がデフォルトラベルオブジェクト"boot_t"を参照することになったので、図１８（ｃ）のようになり、やはりタイプ３（図１６のタイプ３）が再現される。
【００６２】
以上の処理を経て、処理装置１１０は、過去にアクセス制御設定装置１００による設定がなされていた場合、表現形式変換処理に必要なパスオブジェクトの再現に成功する。
【００６３】
設定作業が一度終了した後は、パーミッション情報はアクセス制御ルールに反映されている。したがって、続いて処理装置１１０は、アクセス制御設定装置１００によって付与されたラベルＡをキーにしてアクセス制御ルールを検索し、ラベルＡに関するパーミッション情報を取得する（ステップＳ３６０）。処理装置１１０は得られたパーミッション情報に基づいてラベルオブジェクトとパーミッションオブジェクトを関連付ける（ステップＳ３６５）。
以上の結果、処理装置１１０は図１３に示したような、パスオブジェクト、ラベルオブジェクト、パーミッションオブジェクトの再構成を完了し、ラベルオブジェクトを介して結合されたパーミッションオブジェクトの種類にしたがって、パスオブジェクトが指示するリソースに色づけを行う（ステップＳ３７０）。
【００６４】
次に図９に移る。プログラムによって動的に生成・削除されるファイルやディレクトリについては、新たなラベルオブジェクトを生成してもパスオブジェクトからは旧参照にも新参照にも参照させない。実在パスについてパスオブジェクト、ラベルオブジェクト、パーミッションオブジェクトについて関連付ける処理を終えると、処理装置１１０はマッピングオブジェクトの中に動的に生成・消滅するファイルＢとラベルＢの定義がないか検索する（ステップＳ３４０）。
動的に生成・消滅するファイルＢとラベルＢの定義がある場合（ステップＳ３４０：Ｙｅｓ）、処理装置１１０はさらにパスオブジェクトを確認し、動的なファイルＢがある場合は（ステップＳ３７５：Ｙｅｓ）、対応するラベルＢをキーにアクセス制御ルールを検索し、ラベルＢに関するパーミッション情報を取得する（ステップＳ３８０）。処理装置１１０は得られたパーミッション情報に基づいてラベルオブジェクトＢとパーミッションオブジェクトを関連づけ（ステップＳ３８５）、パーミッションオブジェクトの種類にしたがって、動的リソースに色付けを行う（ステップＳ３９０）。
【００６５】
このようにして、本実施形態のアクセス制御設定装置１００は、過去になした設定情報から３つのタイプのパスオブジェクトを再現して表現形式変換処理を行い、リソースをツリー構造で表現した「アクセス制御設定画面」をユーザに提示する。過去にアクセス制御設定がなされていた場合、アクセス制御設定画面に表示されるリソースは、例えば図１９や図２０のように、パーミッション情報ＲＷＸＣとともに色分けされて表示される。
【００６６】
リソースに新しいラベルを割り当てた場合には、編集中のアクセスポリシ以外のアクセスポリシには、反映されない。そのため、本実施形態のようなホワイトリスト方式のアクセス制御においては、編集中のアクセスポリシ以外のアクセスポリシが適用されるアクセス主体からは、新しいラベルが関連付けられたリソースには一切アクセスできない事態が生じることがある。このような事態が起こらないようにするため、新しいラベルを割り当てた場合には、例えば、図２１に示すような相互確認用の設定画面１０００を表示し、随時、他のアクセス主体のアクセスポリシについても、新しいラベルに対するパーミッションの設定を行うことができるようにする。
【００６７】
このように、本実施形態によるアクセス制御設定装置１００は、端末装置２００から、リソースの情報とラベル表現形式で設定されたアクセス制御の内容を表す情報を取得し、取得した情報のうち、各階層のリソースのＩＤとそのリソースが属するグループ名とをリンクさせ、さらに、各グループ名と、そのグループに設定されたアクセス制御の内容とをリンクさせることにより、当該アクセス制御の内容をパス表現形式の代表例である階層構造のものに変換し、変換されたアクセス制御の内容を表示装置１２０に表示させるとともに、アクセス制御の設定内容が同一となる複数のリソースについては同一の態様で表示させるようにしたので、階層構造の表現形式には詳しいが、ラベル表現形式への理解が十分でない設定者が、容易に既存の設定内容を把握することができる。
これにより、過大なアクセス制限が設定されていたり、あるリソースに対しては必要以上に厳しいアクセス制限がなされているなど、ゆる過ぎたり厳しすぎたりする設定がなされている状況の把握が容易になり、端末装置２００のセキュアＯＳを使用する際の初期学習効果を軽減することができる。また、ラベル表現形式でアクセス制御の設定を行った設定者がいなくなった場合でも、階層構造の表現形式に慣れた者が容易に既存の設定内容を把握できるという利点も生じる。
【００６８】
なお、以上は、ホワイトリスト方式の場合の実施の形態例であるが、ブラックリスト方式の場合は、これまでに説明したアクセス制御の内容を、アクセスの「許可」に代えてアクセスの「制限」にすることにより、上述した仕組みを同様に適用することができる。
【符号の説明】
【００６９】
１００・・・アクセス制御設定装置、１１０・・・処理装置、１１１・・・入力受付部、１１２・・・情報取得部、１１３・・・設定情報更新部、１１４・・・表現形式変換部、１１５・・・表示制御部、１１６・・・出力制御部、１２０・・・表示装置、１３０・・・入力装置、１４０・・・接続インタフェース、２００・・・端末装置、２１０・・・セキュアＯＳ、２１１・・・ＯＳカーネル、２１２・・・アクセス制御モジュール、２２０・・・マッピングファイル、２３０・・・アクセス制御ルール、２４０・・・アクセスポリシ、３００・・・初期情報入力画面、４１０〜４２６・・・パスオブジェクト、５１０〜５２８・・・ラベルオブジェクト、６１０〜６１５・・・パーミッションオブジェクト、７１０〜７６０・・・マッピングオブジェクト、８００〜８２５・・・ディレクトリ、８５１〜８５２・・・ボタン（画像）、９００・・・詳細設定用画面、１０００・・・相互確認用の設定画面。
【図１】
0005427600.tif 000002
【図２】
0005427600.tif 000003
【図３】
0005427600.tif 000004
【図４】
0005427600.tif 000005
【図５】
0005427600.tif 000006
【図６】
0005427600.tif 000007
【図７】
0005427600.tif 000008
【図８】
0005427600.tif 000009
【図９】
0005427600.tif 000010
【図１０】
0005427600.tif 000011
【図１１】
0005427600.tif 000012
【図１２】
0005427600.tif 000013
【図１３】
0005427600.tif 000014
【図１４】
0005427600.tif 000015
【図１５】
0005427600.tif 000016
【図１６】
0005427600.tif 000017
【図１７】
0005427600.tif 000018
【図１８】
0005427600.tif 000019
【図１９】
0005427600.tif 000020
【図２０】
0005427600.tif 000021
【図２１】
0005427600.tif 000022