アクセス制御設定装置、方法及びコンピュータプログラム
【課題】非パス表現形式で設定されたリソースへのアクセス制御の設定内容をパス表現形式に変換した上で、これを視覚化して、設定内容の把握、設定、変更等を容易にする。
【解決手段】アクセス制御設定装置100が、ラベル表現形式でアクセス制御の設定がなされた端末装置200から、リソースの情報とそのリソースへのアクセス制御の設定内容とを取得し、処理装置110で、各階層のリソースのIDと当該リソースが属するグループ名とをリンクさせるとともに、各グループ名とそのグループに設定されたアクセス制御の設定内容とをリンクさせることにより、現在のアクセス制御の設定内容をパス表現形式のものに変換する。処理装置110は、さらに、変換された設定内容を表示装置120に表示させるが、その際、設定内容が同一となるリソースについては同一の態様、例えば色で表示させ、意図しない設定内容であることを容易に把握できるようにした。
【解決手段】アクセス制御設定装置100が、ラベル表現形式でアクセス制御の設定がなされた端末装置200から、リソースの情報とそのリソースへのアクセス制御の設定内容とを取得し、処理装置110で、各階層のリソースのIDと当該リソースが属するグループ名とをリンクさせるとともに、各グループ名とそのグループに設定されたアクセス制御の設定内容とをリンクさせることにより、現在のアクセス制御の設定内容をパス表現形式のものに変換する。処理装置110は、さらに、変換された設定内容を表示装置120に表示させるが、その際、設定内容が同一となるリソースについては同一の態様、例えば色で表示させ、意図しない設定内容であることを容易に把握できるようにした。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えば、セキュリティを強化するためにアクセス制御機能を具備したオペレーティングシステム(以下、「セキュアOS(Secure OS)」という)において、非パス表現形式、例えばラベル表現方式のアクセスポリシの内容を、例えば、ディレクトリツリー構造のようなパス表現形式のアクセスポリシに変換して視覚化するアクセス制御設定の仕組みに関する。
【背景技術】
【0002】
セキュアOSのアクセス制御方式の一つにラベルベースの制御方式がある(特許文献1参照)。ラベルベースの制御方式では、ラベルによって、ファイル、ディレクトリ等のリソースをグルーピングし、グループ単位でアクセス制御の設定を行う。
アクセス制御の設定は、具体的には、設定者が、多数存在するリソースの各々がどのグループにグルーピングされ、どのラベルが割り当てられるかを記述したファイルであるマッピングファイルと、どのプロセスがどのラベルにアクセスが可能なのかといったアクセス制御の設定内容が記述されたファイルであるアクセス制御ルールとを作成することにより行われる。
【0003】
ラベルベースの制御方式は、リソースをグルーピングすることで、グループ単位でまとめてアクセス制御の設定を管理することができる点で有用である。しかし、設定者は、通常、ディレクトリツリー構造のような階層構造による表現に精通しているため、独自の概念であるラベルを用いたラベルベースの制御方式では、理解に時間がかかり、設定上の負担が大きい。
【0004】
また、設定者が、現在のセキュアOSにおいて設定されたアクセス制御の内容を確認したり、変更したりする場合に、馴染みの薄いラベルの概念に基づいたうえで、マッピングファイルとアクセス制御ルールとを逐次見比べながら、設定内容を理解しなければならず、多大な時間が必要となり、効率が悪い。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2008−234263
【発明の概要】
【発明が解決しようとする課題】
【0006】
ラベルベースの制御方式のように、グループ単位でアクセス制御の設定が行われるアクセス制御方式において、複数のファイルに分散して記述されたアクセスポリシを、リソースの階層構造と合わせて視覚化することができれば、上記の問題は解消できる期待がある。
本発明の課題は、例えばラベル表現のような非パス表現形式で設定されたアクセス制御の設定内容をパス表現形式に変換した上で、これを視覚化して、設定内容の把握、設定、変更等を容易にする技術を提供することにある。
【課題を解決するための手段】
【0007】
本発明は、上記課題を解決するために、アクセス制御設定装置、方法及びコンピュータプログラムを提供する。
本発明のアクセス制御設定装置は、それぞれ、他のリソースと階層的に関連付けられ、且つ、所定のグループに分類可能な状態で存在し、分類されたときはグループ単位でアクセス制御の設定がなされる複数のリソースに対してアクセス可能な端末装置と接続する接続手段と、接続された前記端末装置から、階層構造を表す情報と各々のリソースのIDとを含む第1情報、各々のリソースがどのグループに分類されているかをそのグループ名と共に表す第2情報、及び、各々のグループについて非パス表現形式で設定されたアクセス制御の内容を表す第3情報を取得する情報取得手段と、取得した第1〜第3情報を所定のメモリに保持するメモリ手段と、前記メモリに保持されている情報のうち、前記第1情報により特定される各階層のリソースのIDと、前記第2情報により特定されるそのリソースが属するグループ名とをリンクさせ、さらに、各グループ名と、前記第3情報により特定されるそのグループに設定されたアクセス制御の内容とをリンクさせることにより、当該アクセス制御の設定内容をパス表現形式のものに変換する変換手段と、変換された設定内容を所定の表示装置に表示させるとともに、前記設定内容が同一となる複数のリソースについては同一の態様で表示させる表示制御手段とを有する。
「非パス表現形式」とは、階層構造で表現されるパス表現形式以外の表現形式のものである。例えば、ラベルベースのアクセス制御を行う場合のラベル表現形式は、非パス表現形式の典型である。
このアクセス制御設定装置では、グループ単位でアクセス制御の設定を行う際に、例えば分散して記述されるアクセスポリシを、リソースの階層構造と合わせて視覚化することができ、アクセス制御の内容を容易に把握できるようになる。
【0008】
ある実施の態様では、前記アクセス制御の内容の変更または新たな指定を受け付ける受付手段と、この受付手段で受け付けた変更または指定の内容に従って前記メモリに保持されている第2及び第3情報を更新する設定情報更新手段と、更新された第2及び第3情報を前記端末装置に出力するための制御を行う出力制御装置とをさらに有しており、前記表示制御手段は、前記第2及び第3情報を更新したときは更新内容に従って前記表示装置における表示態様を変化させる。これにより、実際に設定するアクセス制御の内容も、容易に視認することができるようになる。
【0009】
ある実施の態様では、前記設定情報更新手段は、前記第2及び第3情報を更新する際に更新前の第2及び第3情報を保持し、更新後の第2及び第3情報に代えて更新前の第2及び第3情報に復帰可能にする。これにより操作ドリブンによるアクセス制御の設定が容易となる。
【0010】
前記変換手段は、前記表示装置に表示される範囲内で、リソース毎、階層毎またはグループ毎の前記第1情報〜第3情報を前記メモリより読み出し、読み出した情報に基づいて前記アクセス制御の内容をパス表現形式のものに変換する。つまり、表示されない部分については変換を行わない。これにより、1回の表示分の処理量が節約される。
【0011】
本発明の方法は、それぞれ、他のリソースと階層的に関連付けられ、且つ、所定のグループに分類可能な状態で存在し、分類されたときはグループ単位でアクセス制御の設定がなされる複数のリソースに対してアクセス可能な端末装置と接続されるアクセス制御設定装置が実行する方法であって、前記端末装置から、階層構造を表す情報と各々のリソースのIDとを含む第1情報、各々のリソースがどのグループに分類されたかをそのグループ名と共に表す第2情報、及び、各々のグループについて非パス表現形式で設定されたアクセス制御の内容を表す第3情報を取得し、取得した第1〜第3情報を所定のメモリに保持する段階と、前記メモリに保持されている情報のうち、前記第1情報により特定される各階層のリソースのIDと、前記第2情報により特定されるそのリソースが属するグループ名とをリンクさせ、さらに、各グループ名と、前記第3情報により特定されるそのグループに設定されたアクセス制御の内容とをリンクさせることにより、当該アクセス制御の設定内容をパス表現形式のものに変換する段階と、変換された設定内容を所定の表示装置に表示させるとともに、前記設定内容が同一となる複数のリソースについては同一の態様で表示させるための表示制御を行う段階とを有する。
【0012】
本発明のコンピュータプログラムは、それぞれ、他のリソースと階層的に関連付けられ、且つ、所定のグループに分類可能な状態で存在し、分類されたときはグループ単位でアクセス制御の設定がなされる複数のリソースに対してアクセス可能な端末装置、及び、前記アクセス制御の設定を行う者が視認可能な表示装置と接続される、メモリを有するコンピュータを、前記端末装置から、階層構造を表す情報と各々のリソースのIDとを含む第1情報、各々のリソースがどのグループに分類されたかをそのグループ名と共に表す第2情報、及び、各々のグループについて非パス表現形式で設定されたアクセス制御の内容を表す第3情報を取得する情報取得手段、取得した第1〜第3情報を前記メモリに保持するメモリ手段、前記メモリに保持されている情報のうち、前記第1情報により特定される各階層のリソースのIDと、前記第2情報により特定されるそのリソースが属するグループ名とをリンクさせ、さらに、各グループ名と、前記第3情報により特定されるそのグループに設定されたアクセス制御の内容とをリンクさせることにより、当該アクセス制御の設定内容をパス表現形式のものに変換する変換手段、変換された設定内容を前記表示装置に表示させるとともに、前記設定内容が同一となる複数のリソースについては同一の態様で表示させる表示制御手段、として機能させる、コンピュータプログラムである。
【発明の効果】
【0013】
本発明によれば、各階層のリソースのIDと各リソースが属するグループ名とをリンクさせ、さらに、各グループ名と各々のグループに設定されたアクセス制御の内容とをリンクさせることにより、アクセス制御の設定内容(アクセスポリシ)をパス表現形式のものに変換し、変換された設定内容を表示装置に表示させるとともに、設定内容が同一となる複数のリソースについては同一の態様で表示させるようにしたので、パス表現形式に慣れ親しんだ設定者が、非パス表現形式で設定されたアクセス制御の設定内容を容易に把握でき、設定に要する時間が著しく短縮されるという特有の効果が得られる。
【図面の簡単な説明】
【0014】
【図1】本実施形態のアクセス制御設定装置と端末装置とを含む情報処理システムの全体構成図。
【図2】アクセス制御設定装置及び端末装置の機能ブロック図。
【図3】マッピングファイルの例を示す説明図。
【図4】(a),(b)はアクセス制御ルールの例を示す説明図。
【図5】アクセス制御設定装置の動作時の全体処理図。
【図6】対象範囲を定める処理(S1)の詳細手順説明図。
【図7】表現形式の変換処理(S3)の詳細手順説明図。
【図8】表現形式の変換処理(S3)の詳細手順説明図。
【図9】表現形式の変換処理(S3)の詳細手順説明図。
【図10】設定情報の生成処理(S4)の詳細手順説明図。
【図11】初期情報入力画面の例を示す説明図。
【図12】マッピングオブジェクトのパターン説明図。
【図13】オブジェクト生成の概念図。
【図14】(a),(b)はアクセス制御詳細設定画面の例を示す説明図。
【図15】ラベルオブジェクトとパスオブジェクトの関係を示す概念図。
【図16】ラベルオブジェクトとパスオブジェクトの関係を示す概念図。
【図17】ラベルオブジェクトとパスオブジェクトの関係を示す概念図。
【図18】ラベルオブジェクトとパスオブジェクトの関係を示す概念図。
【図19】リソースの階層構造を示す説明図。
【図20】リソースの階層構造を示す説明図。
【図21】相互確認に関する設定画面の例を示す説明図。
【発明を実施するための形態】
【0015】
以下、本発明の実施の形態例を説明する。情報処理分野におけるアクセス制御技術には、一般に、アクセスを許可したい行為を設定ファイルに記述し、記述されていない行為については拒否するホワイトリスト方式と、その逆で、アクセスを拒否したい行為を記述し、記述されていない行為は許可するブラックリスト方式とが存在するが、本実施形態では、ホワイトリスト方式によるアクセス制御を行う場合の例を説明する。但し、本発明は、ブラックリスト方式においても適用が可能なものである。
本実施形態は、また、セキュアOSを搭載した端末装置に対するアクセス制御内容の設定を外部より行うアクセス制御設定装置の例を挙げる。
【0016】
[全体構成]
図1は、本実施形態のアクセス制御設定装置100と、このアクセス制御設定装置100によりリモート操作される端末装置200とを含む情報処理システムの全体構成図であり、特徴的な部分のみを示してある。端末装置200は、アクセスポリシ240に従ってアクセス制御内容が設定されるセキュアOS210を搭載している。このセキュアOS210は、非パス表現形式の一例となるラベルベースの制御方式によって、リソースに対するアクセス制御が設定されるものである。
【0017】
アクセス制御設定装置100と端末装置200は、例えば、SSH(Secure SHell)などによって双方向の通信可能に接続されている。本例では、端末装置200によるアクセスが制限されるリソースは、セキュアOS210の内部あるいはHDD(Hard disk drive)などの外部デバイスにおいて、それぞれ、他のリソースと階層的に関連付けられ、且つ、所定のグループに分類可能な状態で存在するものとして説明する。これらのリソースは、例えばプログラム、ファイル、ディレクトリ等であり、グループに分類されたときはそのグループ単位でアクセス制御の設定がなされるものである。
【0018】
[アクセス制御設定装置]
まず、アクセス制御設定装置100の構成例を説明する。図2は、本実施形態におけるアクセス制御設定装置の機能ブロック図である。
アクセス制御設定装置100は、CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)、ネットワークカード、入出力インタフェース等を備えた処理装置110と、ディスプレイ等の表示装置120と、キーボード等の入力装置130と、端末装置200又は外部デバイスと接続するための接続インタフェース140とを備えている。
処理装置110は、コンピュータの一種であり、CPUが本発明のコンピュータプログラムを読み込んで実行することにより、端末装置200のアクセス制御設定に関する機能、具体的には、入力受付部111、情報取得部112、設定情報更新部113、表現形式変換部114、表示制御部115、及び、出力制御部116として動作する。
【0019】
入力受付部111は、入力装置130から、アクセス制御の設定に関わる情報、例えば現在の設定内容の確認指示情報、設定内容の変更情報または新たな指定情報の入力を受け付ける。
【0020】
情報取得部112は、端末装置200から、セキュアOS210がアクセス可能なすべてのリソースがどのような状態で存在するかという情報と、各リソースに対する現在のアクセス制御の設定内容がどのようになっているかを表す情報とを取得する。具体的には、各リソースの階層構造及び各々のリソースのID(例えばリソースの種類及び名称)を含む第1情報、各々のリソースがどのグループに分類されているかをそのグループ名と共に表す第2情報、及び、各々のグループについてラベル表現形式で設定されたアクセス制御の内容を表す第3情報を取得する。
【0021】
設定情報更新部113は、図示しないメモリ制御機構との協働により、情報取得部112で取得した第1〜第3情報をRAMの所定領域に保持する。また、入力装置130から変更又は設定の内容を受け付けたときは、受け付けた内容に従って、端末装置200より取得し、保持されている第2及び第3情報を更新する。第2及び第3情報を更新する際には、更新前の第2及び第3情報をRAMに保持し、更新後の第2及び第3情報に代えて更新前の第2及び第3情報に復帰可能にする。
【0022】
表現形式変換部114は、保持されている第1〜第3情報のうち、第1情報により特定される各階層のリソースのIDと、第2情報により特定されるそのリソースが属するグループ名とをリンクさせ、さらに、各グループ名と、第3情報により特定されるそのグループに設定されたアクセス制御の内容とをリンクさせることにより、当該設定内容をパス表現形式のものに変換する。
【0023】
表示制御部115は、表示装置120への情報の表示制御を行う。表示される情報は、ラベル表現形式からパス表現形式に変換されたリソースの状態を表す画面、各リソースに対して設定されたアクセス制御の内容を表す画面、初期設定を含む各種設定画面等である。アクセス制御の設定内容が同一となる複数のリソースについては同一の態様、例えば同じ色合いで表示させる。さらに、第2及び第3情報が更新されたときは、更新内容に従って表示装置120における表示態様を変化させる。
【0024】
出力制御部116は、RAMに保持されている第2及び第3情報が更新されたときは、更新された第2及び第3情報を端末装置200に出力するための制御を行う。
【0025】
[端末装置]
次に、端末装置200の構成を詳しく説明する。端末装置200のセキュアOS210において、OSカーネル211の内部にはアクセス制御モジュール212が存在する。アクセス制御モジュール212は、OS起動時に、アクセスポリシ240からマッピングファイル220とアクセス制御ルール230を読み込み、アクセス制御を開始するものである。マッピングファイル220は、ファイル、ディレクトリ等のリソースが、それぞれ、どのラベルに割り当てられるべきかを記述したファイルであり、アクセス制御ルール230は、どのプロセスが、どのリソースに対して、どのようなアクセスが可能なのかを示すファイルである。
【0026】
マッピングファイル220の内容例を図3に示す。リソースへのアクセス行為には「アクセス主体」と「アクセス客体」が関与するが、アクセス主体となりうるプログラムも、アクセス客体となるファイルやディレクトリも一つのマッピングファイルに記述される。なお、アクセス主体となりうるのはプログラム(プロセス)のみであり、アクセス客体にはプログラムがアクセスするファイルやディレクトリのほか、プログラムによって起動されるプログラムも含まれる。
【0027】
この例のマッピングファイルの1行目、2行目、4行目はアクセス客体に関するラベル定義の例であり、1行目の「/var(/.*)? system_u:object_r:var_t:s0」は、「ラベルvar_tが、/var以下全てのリソースに割り当てられる」ことを意味する。2行目の「/var/run/*.pid system_u:object_r:var_run_t:s0」は、「ラベルvar_run_tが、/var/run/*.pidの正規表現にマッチするリソースに割り当てられる」ことを意味する。4行目の「/usr(/.*)? system_u:object_r:var_t:s0」は、「ラベルvar_tが、/usr以下全てのリソースに割り当てられる」ことを意味する。1行目と4行目の定義の結果、/varと/usr以下の全てのリソースが1個のラベルvar_tで指定されたことになる。
この例の3行目はアクセス主体になりうるプログラムに関するラベル定義の例であり、「/usr/sbin/httpd system_u:object_r:httpd_exec_t:s0」は、「ラベルhttpd_exec_tが、/usr/sbin/httpdに割り当てられる」ことを意味する。
【0028】
アクセス制御ルール230の内容例を図4(a),(b)に示す。
アクセス制御ルール230には、アクセス主体がアクセス客体にどのようなアクセスをしてよいかを記述する。また、アクセス主体が新たにプログラムを起動した場合や新たにファイルを作成した場合、起動されたプログラムや作成されたファイルに付与されるラベルを定義する。また、ユーザ用のプロセスはログインデーモン(プログラム)が生成するので、やはりアクセス制御ルールにおいてラベルを定義する。
【0029】
図4(a)のアクセス制御ルールの1行目の「allow httpd_t var_t:file read;」は、「アクセス主体httpd_tは、アクセス客体var_tのfileにreadしかできない」ことを意味する。なお、var_tにはファイルの他、ディレクトリやプログラムが属する場合もあり得るが、このうちfileのreadだけ許可したことを意味する。
2行目の「type_transition usr_t httpd_exec_t:process httpd_t;」は、「アクセス主体usr_tがアクセス客体httpd_exexc_tを実行した結果起動したプロセスは、ラベルhttpd_tに属する」ことを意味する。3行目の「type_transition httpd_t var_run_t:file httpd_var_run_t:」は、「アクセス主体httpd_tがアクセス客体 var_run_t に作ったファイルは、ラベルhttpd_var_run_tに属する」ことを意味する。
図4(b)はアクセス主体がユーザプロセスの場合のラベル定義の例であって、ここではユーザ root がログインした直後のプロセスにラベル「my_root_t」が付与された例を示す。
【0030】
従来のアクセス制御の設定は、マッピングファイル220とアクセス制御ルール230の双方を参照することによって可能となっていた。すなわち、図3のマッピングファイル220の1行目の「/var(/.*)? system_u:object_r:var_t:s0」(var_tとは、/var以下全てのことである)と、図4(a)のアクセス制御ルール230の1行目の「allow httpd_t var_t:file read;」(httpd_tは、var_tのfileにreadしかできない)とによって、「httpd_tは、/var以下全てのfileにreadしかできない」との設定がなされていた。
【0031】
[アクセス制御設定装置の動作例]
次に、アクセス制御設定装置100の動作例を説明する。
図5は、全体的な動作手順説明図である。図5を参照すると、アクセス制御設定装置100が端末装置200に接続され、処理装置110が起動すると、処理装置110は、動作環境を整え、端末装置200から現在のリソースの情報及びアクセスポリシ240の内容を表す情報を取得し、RAMに保持するとともに、表示装置120に初期情報入力画面を表示させ、アクセス制御の対象プログラムを定める処理を行う(ステップS1)。
初期情報入力画面は、リソースへのアクセスを許可する主体を定めるための情報の入力を促す画面である。本例では、アクセス主体はどのプログラムか、及びどのユーザ又はどのプログラムがそれを起動したのか、という内容を指定できるようにしている。このような指定を設定者が入力装置130を通じて入力すると、処理装置110は、指定された内容を受け付け、以後の処理のためにRAMに保持する(ステップS2)。
【0032】
処理装置110は、RAMに保持された情報をもとに、アクセスポリシの表現形式の変換処理を行う(ステップS3)。本例では、ラベル表現形式のアクセスポリシをパス表現形式のものに変換する処理を行う。そして、変換された表現形式のアクセスポリシの内容を表示装置120に表示させる。
【0033】
表示画面をみた設定者が、制御内容の新たな指定又は変更の情報を入力すると、処理装置110は、これらの情報を受け付け、設定情報の生成処理を行う(ステップS4)。具体的には、受け付けた指定又は変更の情報に従って、それ以前に端末装置200より取得してRAMに保持した情報を更新し、更新された情報を端末装置200に出力するための制御を行う。情報を更新するときは更新内容に従って表示装置120における表示態様を変化させる。なお、情報を更新する際には更新前の情報を保持しておき、更新後の情報に代えて何時でも更新前の情報に復帰可能にする。
【0034】
その後、処理装置110は、ステップS1で取得したアクセス主体情報と、ステップS4で取得したアクセス制御設定情報(アクセス客体情報と、パーミッション情報)を、端末装置200のアクセスポリシ240に書き込む処理を行い、処理を終える(ステップS5)。
なお、アクセスポリシのパス表現形式への変換は、設定者が指定した範囲で、リソース毎、階層毎又はグループ毎に情報を読み出して行う。例えばあるディレクトリを指定することにより、そのディレクトリに属するファイルのみの情報を読み出す。これにより、全階層のすべての情報を読み込む必要がなくなり、処理量が節約されるので、設定に要する時間が短縮される。
【0035】
次に、図5の全体処理における各処理の手順を詳細に説明する。
[ステップS1の詳細手順]
対象プログラムを定める処理(ステップS1)の詳細手順を図6に示す。
まず、図11に例示される初期情報入力画面300を表示装置120に表示させる(ステップ210)。図11において、「AP」はアクセス制御の対象となるプロセスを表す。「APのパス」は、そのAPがどこに存在するどのプログラムであるかを指定するパス表現領域310である。「APを起動するユーザ(320)」か、「APを起動するプログラムのパス(330)」は、どちらか一方が必須入力となる。これらは、パス表現領域310の入力内容とあわせて、「以降設定するアクセス制御内容は、領域320で指定されたユーザか、領域330で指定されたプログラムが、領域310で指定したプログラムを実行したときに生成されるプロセスに対して有効である」という意味になる。
【0036】
ユーザ指定領域320への指定を検出した場合、処理装置110は、入力されたユーザのIDをキーとして、端末装置200が保持するアクセス制御ルール230を参照し、そのユーザに付与されるラベルを取得する(ステップS230)。例えば、ユーザ名「root」が入力されたとする。処理装置110は、例えば、図4(b)のアクセス制御ルール230の「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」を得る。
【0037】
一方、プログラム指定領域330への指定を検出した場合、処理装置110は、アクセス制御ルール230及びマッピングファイル220から、そのプログラムが実行されたときに付与されるラベルを取得する(ステップS240)。
例えば、APを起動するプログラムのパスとして「/etc/init.d/httpd」が指定されたとする。処理装置110は、図3のマッピングファイル220における「/etc/init.d/http--system_u:object_r:initrc_exec_t:s0」を参照する。「/etc/init.d/httpd」にはラベル「initrc_exec_t」が付与されていることがわかるので、「initrc_exec_t」をキーとしてアクセス制御ルール230を検索し、例えば「type_transition XXX_t initrc_exec_t:process YYY_t;」のように「initrc_exec_t」を「:」の直前に含むルールを検出し、APを起動するプログラム「/etc/init.d/httpd」のラベル「YYY_t」を得る。
このように、各領域310〜330への指定により、「ユーザ○○/プログラム○○が実行したAPについてのアクセス制御の設定を行う」という内容の初期情報が設定者より入力され、ステップS2により保持されることになる。
【0038】
[ステップS3の詳細手順]
表現形式の変換処理(ステップS3)の詳細手順を図7乃至図9に示す。
以下では、主にルートディレクトリ"/"に属するリソースの場合を例にとって説明する。
【0039】
処理装置110は、まず、マッピングファイルを取得して、マッピングオブジェクトを生成する(ステップS310)。個々のマッピングオブジェクトは、例えば図3におけるマッピングファイルの一行一行に対応し、ラベルオブジェクトと同様にラベル情報と属性情報を有する他、パス情報と正規表現情報を有する。
マッピングファイルは、通常、高々数千行なので、マッピングオブジェクトはマッピングファイル全体を一度に読み込んで生成してもよい。マッピングオブジェクトの属性情報はマッピングファイルの定義を書き写したものなので、マッピングオブジェクトではアクセス制御設定対象となるリソース個々の属性を特定できない。そこで、具体的なアクセス制御設定作業の対象となるリソースと直接関連付けて生成されるラベルオブジェクトを利用して、設定対象リソースの属性を特定する。
【0040】
一方、名前と属性情報のみからなるラベルオブジェクトだけでは、そのラベルはパスに
直すとどこのことかを特定できないため、パス情報を参照するためのマッピングオブジェクトが必要となる。
マッピングオブジェクトは、例えば、図3のマッピングファイル220の「/var(/.*)? system_u:object_r:var_t:s0」の記述に基づくと、マッピングオブジェクトには、ラベル名は「var_t」、パスは「/var」、正規表現は「(/.*)?」、属性は「正規表現が表すリソースの属性」が記述されることとなる。また、設定者が新しいラベルを作成した場合には、マッピングオブジェクトが新たに作成される。マッピングオブジェクトは、処理の簡易化のため、処理装置110で定義したマッピング設定とデフォルトのマッピング設定と、ラベル名の付与ルールを区別する等して、分けて保持するものとしてもよい。
【0041】
マッピングオブジェクトは、様々なパターンを有する。このことを、図12を参照して説明する。図12において、パターン1におけるマッピングオブジェクト710は、デフォルトのマッピング設定のオブジェクトである。正規表現がパス表現から分離できないため、マッピングオブジェクト710の正規表現の欄は空欄となっており、属性は「dir(ディレクトリ)」である。パターン2のマッピングオブジェクト720は、処理装置110でディレクトリに対して新しいラベルを割り当てた場合の例である。パスには新しいラベルを定義したリソースのパスが記述される。正規表現は「(/.*)?」となり、属性は「dir(ディレクトリ)」である。パターン3のマッピングオブジェクト730は、処理装置110でファイルに対して新しいラベルを割り当てた場合の例である。パスには新しいラベルを定義したリソースのパスが記述され、属性は「file(ファイル)」である。パターン4のマッピングオブジェクト740は、処理装置110で、あるディレクトリ中に動的に作成されるファイルに、親ディレクトリとは異なるラベルを割り当てた場合の例である。パスには親ディレクトリのフルパスが記述され、正規表現にはファイル名のパターンが記述されている。パターン5は、パターン4とほぼ同様の例で、正規表現を定義せず、「*(何でもよい)」とする例である。
【0042】
次に、処理装置110は端末装置200から、リソースの階層構造(ディレクトリツリー:パス表現)に関する情報と、リソースのラベル情報に関する情報を取得する。
具体的には、端末装置200に対して、リモート操作によりコマンド“ls /”を実行することにより、例えば、“/”以下のファイル、ディレクトリ等のリソースの一覧を取得する(ステップS315)。
また、端末装置200に対し、コマンド“ls−Z /”を実行することにより、例えば“/”以下のファイル、ディレクトリ等のリソースに対するラベルの一覧を取得する(ステップS320)。その際、上述したように、処理量を減らすために、実際に表示装置120での表示に必要な範囲、例えば、“ /”の1段だけ下位の階層のリソースについてのみ、リソース一覧とラベル一覧を取得し、その他のリソースについては、その下位のリソースが展開される都度、リソース一覧とラベル一覧を取得するものとする。このようにすると、実際に展開され、表示装置120に表示され、設定者に視認される等の必要な範囲でのみ処理を行うため、処理量を分散することができ、一回あたり処理の負担を減らすことができる。
【0043】
次に、処理装置110は、ステップS315とステップS320で取得した情報に基づき、パス表現用のオブジェクト(以下、「パスオブジェクト」)とラベル表現用のオブジェクト(以下、「ラベルオブジェクト」)を生成する。また、6種類のパーミッションオブジェクトを生成する(ステップS325)。
【0044】
ステップS325におけるオブジェクト生成の概念を図13に示す。図13の左側は、パスオブジェクト410〜414であり、それぞれ、ファイル、ディレクトリ等のリソースの「名前」、OSのディレクトリツリーの親子関係を示す「親参照」情報、ラベルオブジェクトとの対応付けを示す「旧参照」、「新参照」情報が記述される。
「旧参照」には既存のラベルとの対応関係を示すための情報が記述される。「新参照」は、「旧参照」と同様にラベルとの対応関係を示すためのものであるが、設定者が新しいラベルを割り当てた場合に、その新しいラベルを参照先として記述する。このように、「旧参照」とは別に「新参照」を記述するため、一旦新しいラベルを割り当てた後であっても、「新参照」を削除し、「旧参照」の記述に基づいて、元の状態に容易に戻すことができる。
【0045】
パスオブジェクト410〜414は、それぞれ、ラベルオブジェクト510〜512と関連付けられる。ラベルオブジェクト510〜512は、ラベル表現用のオブジェクトであり、ラベルの「名前」と「属性」とを示している。ラベルオブジェクト510〜512は、それぞれ、パーミッションオブジェクト610〜612に関連付けられる。パーミッションオブジェクト610〜612は、アクセス制御の一例となる許可内容を示すオブジェクトである。例えば「R」は「読み取り(Read)許可」、「RW」は「読み取り(Read)及び書き込み(Write)許可」、「RWXC」は「読み取り(Read)、書き込み(Write)、実行(execute)、ファイル作成(fileCreate)許可」を意味する。
パーミッションオブジェクトには、この他に「パーミッションなし」、「RWC」、「RWX」のパターンがある。パスオブジェクトがラベルオブジェクトを介してパーミッションオブジェクトと関連づけられることにより、後述するように、図19や図20のようなツリー構造表示において、パスリソースはパーミッションタイプごとに(RWXC情報と共に)色分けして表示される。
【0046】
図7に戻り、処理装置110は、各パスオブジェクトの「旧参照」が、そのパスリソースに割り当てられたラベルを参照するように、パスオブジェクトとラベルオブジェクトを関連付ける(ステップS330)。
次に、図8のステップS335に進み、処理装置110は、ステップS320で取得したラベル一覧の中に、アクセス制御設定装置100により設定されたラベル(以下、「ラベルA」という。また、ラベルAの定義したラベルオブジェクトを「ラベルオブジェクトA」という。)があるか否か判定する(ステップS335)。ラベルAがない場合(ステップS335:No)、図9のステップS340に進み、処理装置110はさらにマッピングオブジェクトを参照して、図12のパターン4または5に該当する、プログラムによって動的に生成・削除されるファイルとラベルの定義したマッピングオブジェクト(以下、「マッピングオブジェクトB」という。また、マッピングオブジェクトBを定義したラベルを「ラベルB」という。)がないか検索する。マッピングオブジェクトBがなければ(S340:No)、表現形式変換処理(ステップS3)を終了する。
【0047】
端末装置200について、初めて、アクセス制御設定装置100を使用した場合、ラベルAもマッピングオブジェクトBも発見されることはない。本発明は、アクセスを許可したい行為を設定ファイルに記述し、記述されていない行為については拒否するホワイトリスト方式でアクセス制御設定するものであり、初期状態ではいずれのリソースにも、パーミッションは何ら与えられていないからである。この場合、表現形式変換処理(ステップS3)終了後、設定情報生成処理(ステップS4)のためにユーザに提示されるリソースのツリー構造表示は、何ら色づけのない初期状態としてユーザに提示される。
【0048】
ここで、いったんステップS3を離れ、先に設定情報の生成処理(ステップS4)について説明する。
[ステップS4の詳細手順]
処理装置110は、ステップS3の処理により、表現形式の変換処理を終えると、設定情報を生成するための処理を行う。設定情報の生成処理(ステップS4)の詳細手順を図10に示す。
ステップS3の処理を終えると、処理装置110はリソースをツリー構造で表現した、「アクセス制御設定画面」をユーザに提示する。各リソースについて種々のパーミッション情報が得られた場合、アクセス制御設定画面に表示されるリソースは、例えば図19や図20のように、パーミッション情報RWXCとともに色分けされて表示される。
アクセス制御設定画面を提示された設定者は、アクセス制御の内容を設定(あるいは変更)したいファイルやディレクトリを指定してクリックする(ステップS410)。
クリック内容を解読した処理装置110は、図14(a)に示すアクセス制御詳細設定画面900を表示装置120に表示させる(ステップS420)。
設定者が、設定画面900に従い、「このパスのアクセス許可」の設定領域901に提示されたパーミッションの中から一つを選び、OKボタン905を押し、パーミッションの設定を行う(ステップS430)。選んだ内容をキャンセルする場合は、キャンセルボタン906を押す。
「同じアクセス許可のパス」の表示領域902には、同じアクセス許可のリソースのパスが表示される。表示領域902にリストされたリソースとは異なるアクセス制御の内容を設定するために、新しいラベルを割り当てる場合には、チェックボックス903を選択する。指定したパスの下位のリソースに同様のアクセス許可を設定する場合には、チェックボックス904を選択する。
【0049】
図10に戻り、設定者が設定操作を行うと、処理装置110は、設定者によって選択されたリソース名を読み取り、該当するパスオブジェクトを参照する(ステップS440)。さらに、そのパスオブジェクトからラベルオブジェクトを参照する(ステップS450)。
以下、図15乃至図18を参照し、パスオブジェクトとラベルオブジェクトのタイプごとに場合分けして、アクセス制御設定作業と各オブジェクトの関係を説明する。
パスオブジェクトの新参照がいずれのラベルオブジェクトも参照していない場合、処理装置110はパスオブジェクトの旧参照にしたがってデフォルトラベルのラベルオブジェクトを参照し、ステップS430で選ばれたパーミッションに基づき、パーミッションオブジェクトのリスト構造に該当するラベルオブジェクトを追加する(図15(a)参照)。この結果、ラベルオブジェクトとパーミッションオブジェクトが関連付けられる(ステップS460)。
【0050】
設定者が新しいラベルの割り当てを選択していた場合、処理装置110は新しいラベルオブジェクトを生成し、パスオブジェクトの新参照が当該新ラベルオブジェクトを参照するようにする。そして、ステップS430で選ばれたパーミッションに基づき、パーミッションオブジェクトのリスト構造に新ラベルオブジェクトを追加することにより、ラベルオブジェクトとパーミッションオブジェクトを関連付ける(ステップS460)(図15(b)参照)。なお、新しいラベルは一定の命名規則に則って付与し、デフォルトマッピングファイルに記載されたラベルと区別できるようにする。
パスオブジェクトの新参照が参照する新ラベルのラベルオブジェクトがすでに存在する場合、処理装置110は当該ラベルオブジェクトとパーミッションオブジェクトの関連付けを、ステップ430で選ばれたパーミッションの内容に更新する(図15(c)参照)。
【0051】
なお、「ディレクトリ○○に新しいラベル○○を割り当てる」とは、通常、「ディレクトリ○○以下の全てのリソースに対して新ラベル○○を割り当てる」という意味になる。しかし、ディレクトリ○○配下のリソースを示すパスオブジェクトの全てについて、いちいち新参照が新ラベル○○のラベルオブジェクトを参照するように設定する必要はない。子リソースのラベルは、親リソースに従うことを原則とすることで、親をたどっていけば任意の子リソースのラベルを把握することができるからである。
【0052】
設定者による設定作業の結果、図16に示されるように、パスオブジェクトには3つのタイプが生まれることになる。
タイプ1は、新ラベルが付与されず、旧参照だけがデフォルトラベルを参照するパスオブジェクトである(図16のタイプ1参照)。
タイプ2は、新ラベルが付与され、旧参照はデフォルトラベルを、新参照は新ラベルを参照するパスオブジェクトである(図16のタイプ2参照)。
タイプ3は、新ラベルが付与されたリソースの子リソースを表すパスオブジェクトであって、新参照が新ラベルオブジェクトを参照することはしないが、親リソースを介して実質的に新ラベルを参照するパスオブジェクトである(図16のタイプ3参照)。
【0053】
パスオブジェクト〜ラベルオブジェクト〜パーミッションオブジェクトについて必要な関連付けを終えると、アクセス制御設定装置100は、画面上に、ディレクトリツリー構造を再描画する(ステップS470)。
図19は、ステップS3の処理の結果、ルートディレクトリ"/"とその直下のディレクトリからなるツリー構造が、パーミッション情報なしの状態で設定者に提示され、設定者がディレクトリ802、804、806にパーミッション設定を施したものである。
図19において、ディレクトリはリソースの集合を表している。図示の例では、ディレクトリ800を最上位とする階層構造となっており、ディレクトリ804には、さらに下位層のディレクトリが存在することを示す「+」表示のボタン(画像)851が示されている。ディレクトリ813には下位層のディレクトリ814が関連付けられている。「−」表示のボタン(画像)852を押すことにより、ディレクトリ814が表示画面から消え、「−」表示が「+」表示に変わる。
ディレクトリ802は所定の色付けがなされ、且つ、「RX」が表示されている。前述したように、「R」は「読み取り許可(Read)」、「X」は「実行(execute)」であるから、ディレクトリ802には、読み取り許可と実行許可が設定されていることがわかる。また、ディレクトリ804には、別の色が付され、且つ、「RW」が設定されている。「W」は、「書き込み許可(Write)」であるから、ディレクトリ804には、読み取り及び書き込みの許可が設定されていることがわかる。同様に、ディレクトリ806には、読み取り許可のみが設定されていることがわかる。
【0054】
図19の「+」表示のボタン(画像)851をクリックすると、表示装置120の表示画面は、図19から図20のようにディレクトリ804の下位層のディレクトリが表示され、ボタン(画像)851は「+」から「−」に変わる。図20の例では、ディレクトリ804に属する複数のディレクトリ815〜825のうち、「PTS」により識別されるディレクトリ824を除いて、他のすべてのディレクトリ815〜822、824、825が同じ色で表されることから、設定されている制御内容が同じであることが一目で理解でき、また、制御内容は「RW」とあるから読み取りと書き込みの許可が設定されていることがわかる。
【0055】
ここで、設定者が、例えば図20において、ディレクトリ804に設定を行うと、同じラベルに関連付けられている下位層のディレクトリ815〜822、824〜825も、連動して色及び設定内容の表示が変更される。そのため、設定者は、その設定操作の過程で、どのディレクトリに対して同じラベルが関連づけられており、どのような設定内容となっているかを知ることができるため、マッピングファイル220及びアクセス制御ルール230を参照する必要がなく、設定作業が容易になる。
【0056】
このように、本実施形態では、一度に、全てのリソースのツリー構造とマッピングファイル220及びアクセス制御ルール230の情報とを関連付けると膨大な処理量となり、時間がかかるため、下位層のディレクトリを展開し、表示装置120に表示するときにはじめて、必要な範囲で、マッピングファイル220及びアクセス制御ルール230の情報を収集し、ラベルの関連付けを行うようにしている。これにより、設定者の操作単位で、ラベルの関連付けを行う結果、一度に大量の処理を行う必要がなくなる。
また、一旦収集した情報を、内部のメモリに記録しておけば、情報収集のため再度同じ処理を行う必要がなくなる。
【0057】
このように色づけを行う中での例外は、例えば、図4(a)の3行目「type_transition httpd_t var_run_t:file httpd_var_run_t:」で示す表現である。あるプロセスが、あるラベルに割当てられたディレクトリ以下に、ファイルやディレクトリを作成した場合、別ラベルを割当てるというものである。つまり、事前に新ラベルを一つ作成しておき、決められたラベルが付与されるディレクトリ以下にファイルを作成する場合、通常親のラベルを踏襲するが、今回は作成した新ラベルを割当てるということである。この場合、図14の(b)で示す画面で設定を行う。907は901と同じ用途であるが、908については、作成するファイルやディレクトリの正規表現で表されたパスを入力する。図12の750で示されるように’*’(何でも良い)という表記も可能である。
図14の(b)においてOKボタンを押した直後は、新ラベルを生成し、指定されたパーミッションオブジェクトと関連付けるが、S410で指定したファイルやディレクトリに新ラベルを割当てればよいわけではなく、S410で指定したディレクトリ以下に存在するファイルやディレクトリに対して907で指定した正規表現がマッチングするか調べ、逐次新ラベルを割当てる必要がある(S480)。
【0058】
設定情報生成処理(ステップS4)を終了させると、処理装置110は設定情報をマッピングファイルとアクセス制御ルールに反映させて、全体処理を終了する(ステップS5)。
【0059】
[ステップS3の詳細手順]
ここで再び図7乃至図9に戻り、過去にアクセス制御設定装置100による設定がなされていた場合の、表現形式変換処理(ステップS3)について説明する。
本実施形態による設定作業のためには、パスオブジェクトが前述のとおり、図16に示される3つのタイプで表現されていなければならない。しかし、いったん設定作業を終えて設定内容をアクセスポリシに反映してしまうと、リソースと直接関連するラベル情報は新ラベルに置き換わり、“ls−Z”コマンドでラベル情報を読み込むだけでは、タイプ1(旧参照のみがデフォルトラベルオブジェクトを参照)は再現されるが、タイプ2(旧参照がデフォルトラベルオブジェクトを、新参照が新ラベルオブジェクトを参照するもの)とタイプ3(タイプ2の子ノード)のパスオブジェクトが再現されない。以下、タイプ2とタイプ3のパスオブジェクトを再現する手順を、図7、図17及び図18を用いて説明する。
【0060】
ステップS320で取得したラベルが、過去にアクセス制御設定装置100により設定されたラベル"myLabel_t"であった場合でも、処理装置110はまず旧参照に当該新ラベルのラベルオブジェクトを参照させる(ステップS330)。この結果、タイプ2およびタイプ3のパスオブジェクトはそれぞれ図17(a)及び(b)のようになる。
次に、図8に移り、処理装置110は、ステップ320で取得したラベルがアクセス制御設定装置100が付与したものか否かを判定する。アクセス制御設定装置100が生成したラベルAがあった場合(ステップS335:Yes)、処理装置110はさらにラベルオブジェクトAと関連付けられたパスオブジェクトが、過去に新ラベルを割り当てた親ノードなのか、その子ノードなのか判定する(ステップS345)。パスオブジェクトの名前がマッピングオブジェクトのパスと一致すれば親ノードであり、一致しなければ子ノードである。
まずタイプ2(図17(a))について見ると、"/boot"はマッピングオブジェクト(図17(c))のパス"/boot"と一致するので親ノードであり、この場合は当該パスオブジェクトの新参照にも同じ(新ラベルの)ラベルオブジェクトを参照させる(図17(d):ステップS350)。
【0061】
一方、タイプ3(図17(b))では、"/boot/xxx"はマッピングオブジェクト(図17(c))のパス"/boot"と一致しないので子ノードであり、この場合は新参照によるラベルオブジェクトの参照は行わせない(図17(b)のまま変わらない:ステップS350)。
ついで、処理装置110は、新ラベルを参照するパスオブジェクトの旧参照と、その親ノードのパスオブジェクトの旧参照とを一致させる(親に従わせる:ステップS355)。すなわち、図18(a)のように"/boot"の親ディレクトリ"/"のパスオブジェクトの旧参照がデフォルトラベルオブジェクト"boot_t"を参照している場合、タイプ2は図18(b)のようになり、タイプ2(図16のタイプ2)が再現される。
また、旧参照のみが新ラベルオブジェクトを参照していたタイプ3(図17(b))の場合は、親ノード("/boot")の旧参照がデフォルトラベルオブジェクト"boot_t"を参照することになったので、図18(c)のようになり、やはりタイプ3(図16のタイプ3)が再現される。
【0062】
以上の処理を経て、処理装置110は、過去にアクセス制御設定装置100による設定がなされていた場合、表現形式変換処理に必要なパスオブジェクトの再現に成功する。
【0063】
設定作業が一度終了した後は、パーミッション情報はアクセス制御ルールに反映されている。したがって、続いて処理装置110は、アクセス制御設定装置100によって付与されたラベルAをキーにしてアクセス制御ルールを検索し、ラベルAに関するパーミッション情報を取得する(ステップS360)。処理装置110は得られたパーミッション情報に基づいてラベルオブジェクトとパーミッションオブジェクトを関連付ける(ステップS365)。
以上の結果、処理装置110は図13に示したような、パスオブジェクト、ラベルオブジェクト、パーミッションオブジェクトの再構成を完了し、ラベルオブジェクトを介して結合されたパーミッションオブジェクトの種類にしたがって、パスオブジェクトが指示するリソースに色づけを行う(ステップS370)。
【0064】
次に図9に移る。プログラムによって動的に生成・削除されるファイルやディレクトリについては、新たなラベルオブジェクトを生成してもパスオブジェクトからは旧参照にも新参照にも参照させない。実在パスについてパスオブジェクト、ラベルオブジェクト、パーミッションオブジェクトについて関連付ける処理を終えると、処理装置110はマッピングオブジェクトの中に動的に生成・消滅するファイルBとラベルBの定義がないか検索する(ステップS340)。
動的に生成・消滅するファイルBとラベルBの定義がある場合(ステップS340:Yes)、処理装置110はさらにパスオブジェクトを確認し、動的なファイルBがある場合は(ステップS375:Yes)、対応するラベルBをキーにアクセス制御ルールを検索し、ラベルBに関するパーミッション情報を取得する(ステップS380)。処理装置110は得られたパーミッション情報に基づいてラベルオブジェクトBとパーミッションオブジェクトを関連づけ(ステップS385)、パーミッションオブジェクトの種類にしたがって、動的リソースに色付けを行う(ステップS390)。
【0065】
このようにして、本実施形態のアクセス制御設定装置100は、過去になした設定情報から3つのタイプのパスオブジェクトを再現して表現形式変換処理を行い、リソースをツリー構造で表現した「アクセス制御設定画面」をユーザに提示する。過去にアクセス制御設定がなされていた場合、アクセス制御設定画面に表示されるリソースは、例えば図19や図20のように、パーミッション情報RWXCとともに色分けされて表示される。
【0066】
リソースに新しいラベルを割り当てた場合には、編集中のアクセスポリシ以外のアクセスポリシには、反映されない。そのため、本実施形態のようなホワイトリスト方式のアクセス制御においては、編集中のアクセスポリシ以外のアクセスポリシが適用されるアクセス主体からは、新しいラベルが関連付けられたリソースには一切アクセスできない事態が生じることがある。このような事態が起こらないようにするため、新しいラベルを割り当てた場合には、例えば、図21に示すような相互確認用の設定画面1000を表示し、随時、他のアクセス主体のアクセスポリシについても、新しいラベルに対するパーミッションの設定を行うことができるようにする。
【0067】
このように、本実施形態によるアクセス制御設定装置100は、端末装置200から、リソースの情報とラベル表現形式で設定されたアクセス制御の内容を表す情報を取得し、取得した情報のうち、各階層のリソースのIDとそのリソースが属するグループ名とをリンクさせ、さらに、各グループ名と、そのグループに設定されたアクセス制御の内容とをリンクさせることにより、当該アクセス制御の内容をパス表現形式の代表例である階層構造のものに変換し、変換されたアクセス制御の内容を表示装置120に表示させるとともに、アクセス制御の設定内容が同一となる複数のリソースについては同一の態様で表示させるようにしたので、階層構造の表現形式には詳しいが、ラベル表現形式への理解が十分でない設定者が、容易に既存の設定内容を把握することができる。
これにより、過大なアクセス制限が設定されていたり、あるリソースに対しては必要以上に厳しいアクセス制限がなされているなど、ゆる過ぎたり厳しすぎたりする設定がなされている状況の把握が容易になり、端末装置200のセキュアOSを使用する際の初期学習効果を軽減することができる。また、ラベル表現形式でアクセス制御の設定を行った設定者がいなくなった場合でも、階層構造の表現形式に慣れた者が容易に既存の設定内容を把握できるという利点も生じる。
【0068】
なお、以上は、ホワイトリスト方式の場合の実施の形態例であるが、ブラックリスト方式の場合は、これまでに説明したアクセス制御の内容を、アクセスの「許可」に代えてアクセスの「制限」にすることにより、上述した仕組みを同様に適用することができる。
【符号の説明】
【0069】
100・・・アクセス制御設定装置、110・・・処理装置、111・・・入力受付部、112・・・情報取得部、113・・・設定情報更新部、114・・・表現形式変換部、115・・・表示制御部、116・・・出力制御部、120・・・表示装置、130・・・入力装置、140・・・接続インタフェース、200・・・端末装置、210・・・セキュアOS、211・・・OSカーネル、212・・・アクセス制御モジュール、220・・・マッピングファイル、230・・・アクセス制御ルール、240・・・アクセスポリシ、300・・・初期情報入力画面、410〜426・・・パスオブジェクト、510〜528・・・ラベルオブジェクト、610〜615・・・パーミッションオブジェクト、710〜760・・・マッピングオブジェクト、800〜825・・・ディレクトリ、851〜852・・・ボタン(画像)、900・・・詳細設定用画面、1000・・・相互確認用の設定画面。
【技術分野】
【0001】
本発明は、例えば、セキュリティを強化するためにアクセス制御機能を具備したオペレーティングシステム(以下、「セキュアOS(Secure OS)」という)において、非パス表現形式、例えばラベル表現方式のアクセスポリシの内容を、例えば、ディレクトリツリー構造のようなパス表現形式のアクセスポリシに変換して視覚化するアクセス制御設定の仕組みに関する。
【背景技術】
【0002】
セキュアOSのアクセス制御方式の一つにラベルベースの制御方式がある(特許文献1参照)。ラベルベースの制御方式では、ラベルによって、ファイル、ディレクトリ等のリソースをグルーピングし、グループ単位でアクセス制御の設定を行う。
アクセス制御の設定は、具体的には、設定者が、多数存在するリソースの各々がどのグループにグルーピングされ、どのラベルが割り当てられるかを記述したファイルであるマッピングファイルと、どのプロセスがどのラベルにアクセスが可能なのかといったアクセス制御の設定内容が記述されたファイルであるアクセス制御ルールとを作成することにより行われる。
【0003】
ラベルベースの制御方式は、リソースをグルーピングすることで、グループ単位でまとめてアクセス制御の設定を管理することができる点で有用である。しかし、設定者は、通常、ディレクトリツリー構造のような階層構造による表現に精通しているため、独自の概念であるラベルを用いたラベルベースの制御方式では、理解に時間がかかり、設定上の負担が大きい。
【0004】
また、設定者が、現在のセキュアOSにおいて設定されたアクセス制御の内容を確認したり、変更したりする場合に、馴染みの薄いラベルの概念に基づいたうえで、マッピングファイルとアクセス制御ルールとを逐次見比べながら、設定内容を理解しなければならず、多大な時間が必要となり、効率が悪い。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2008−234263
【発明の概要】
【発明が解決しようとする課題】
【0006】
ラベルベースの制御方式のように、グループ単位でアクセス制御の設定が行われるアクセス制御方式において、複数のファイルに分散して記述されたアクセスポリシを、リソースの階層構造と合わせて視覚化することができれば、上記の問題は解消できる期待がある。
本発明の課題は、例えばラベル表現のような非パス表現形式で設定されたアクセス制御の設定内容をパス表現形式に変換した上で、これを視覚化して、設定内容の把握、設定、変更等を容易にする技術を提供することにある。
【課題を解決するための手段】
【0007】
本発明は、上記課題を解決するために、アクセス制御設定装置、方法及びコンピュータプログラムを提供する。
本発明のアクセス制御設定装置は、それぞれ、他のリソースと階層的に関連付けられ、且つ、所定のグループに分類可能な状態で存在し、分類されたときはグループ単位でアクセス制御の設定がなされる複数のリソースに対してアクセス可能な端末装置と接続する接続手段と、接続された前記端末装置から、階層構造を表す情報と各々のリソースのIDとを含む第1情報、各々のリソースがどのグループに分類されているかをそのグループ名と共に表す第2情報、及び、各々のグループについて非パス表現形式で設定されたアクセス制御の内容を表す第3情報を取得する情報取得手段と、取得した第1〜第3情報を所定のメモリに保持するメモリ手段と、前記メモリに保持されている情報のうち、前記第1情報により特定される各階層のリソースのIDと、前記第2情報により特定されるそのリソースが属するグループ名とをリンクさせ、さらに、各グループ名と、前記第3情報により特定されるそのグループに設定されたアクセス制御の内容とをリンクさせることにより、当該アクセス制御の設定内容をパス表現形式のものに変換する変換手段と、変換された設定内容を所定の表示装置に表示させるとともに、前記設定内容が同一となる複数のリソースについては同一の態様で表示させる表示制御手段とを有する。
「非パス表現形式」とは、階層構造で表現されるパス表現形式以外の表現形式のものである。例えば、ラベルベースのアクセス制御を行う場合のラベル表現形式は、非パス表現形式の典型である。
このアクセス制御設定装置では、グループ単位でアクセス制御の設定を行う際に、例えば分散して記述されるアクセスポリシを、リソースの階層構造と合わせて視覚化することができ、アクセス制御の内容を容易に把握できるようになる。
【0008】
ある実施の態様では、前記アクセス制御の内容の変更または新たな指定を受け付ける受付手段と、この受付手段で受け付けた変更または指定の内容に従って前記メモリに保持されている第2及び第3情報を更新する設定情報更新手段と、更新された第2及び第3情報を前記端末装置に出力するための制御を行う出力制御装置とをさらに有しており、前記表示制御手段は、前記第2及び第3情報を更新したときは更新内容に従って前記表示装置における表示態様を変化させる。これにより、実際に設定するアクセス制御の内容も、容易に視認することができるようになる。
【0009】
ある実施の態様では、前記設定情報更新手段は、前記第2及び第3情報を更新する際に更新前の第2及び第3情報を保持し、更新後の第2及び第3情報に代えて更新前の第2及び第3情報に復帰可能にする。これにより操作ドリブンによるアクセス制御の設定が容易となる。
【0010】
前記変換手段は、前記表示装置に表示される範囲内で、リソース毎、階層毎またはグループ毎の前記第1情報〜第3情報を前記メモリより読み出し、読み出した情報に基づいて前記アクセス制御の内容をパス表現形式のものに変換する。つまり、表示されない部分については変換を行わない。これにより、1回の表示分の処理量が節約される。
【0011】
本発明の方法は、それぞれ、他のリソースと階層的に関連付けられ、且つ、所定のグループに分類可能な状態で存在し、分類されたときはグループ単位でアクセス制御の設定がなされる複数のリソースに対してアクセス可能な端末装置と接続されるアクセス制御設定装置が実行する方法であって、前記端末装置から、階層構造を表す情報と各々のリソースのIDとを含む第1情報、各々のリソースがどのグループに分類されたかをそのグループ名と共に表す第2情報、及び、各々のグループについて非パス表現形式で設定されたアクセス制御の内容を表す第3情報を取得し、取得した第1〜第3情報を所定のメモリに保持する段階と、前記メモリに保持されている情報のうち、前記第1情報により特定される各階層のリソースのIDと、前記第2情報により特定されるそのリソースが属するグループ名とをリンクさせ、さらに、各グループ名と、前記第3情報により特定されるそのグループに設定されたアクセス制御の内容とをリンクさせることにより、当該アクセス制御の設定内容をパス表現形式のものに変換する段階と、変換された設定内容を所定の表示装置に表示させるとともに、前記設定内容が同一となる複数のリソースについては同一の態様で表示させるための表示制御を行う段階とを有する。
【0012】
本発明のコンピュータプログラムは、それぞれ、他のリソースと階層的に関連付けられ、且つ、所定のグループに分類可能な状態で存在し、分類されたときはグループ単位でアクセス制御の設定がなされる複数のリソースに対してアクセス可能な端末装置、及び、前記アクセス制御の設定を行う者が視認可能な表示装置と接続される、メモリを有するコンピュータを、前記端末装置から、階層構造を表す情報と各々のリソースのIDとを含む第1情報、各々のリソースがどのグループに分類されたかをそのグループ名と共に表す第2情報、及び、各々のグループについて非パス表現形式で設定されたアクセス制御の内容を表す第3情報を取得する情報取得手段、取得した第1〜第3情報を前記メモリに保持するメモリ手段、前記メモリに保持されている情報のうち、前記第1情報により特定される各階層のリソースのIDと、前記第2情報により特定されるそのリソースが属するグループ名とをリンクさせ、さらに、各グループ名と、前記第3情報により特定されるそのグループに設定されたアクセス制御の内容とをリンクさせることにより、当該アクセス制御の設定内容をパス表現形式のものに変換する変換手段、変換された設定内容を前記表示装置に表示させるとともに、前記設定内容が同一となる複数のリソースについては同一の態様で表示させる表示制御手段、として機能させる、コンピュータプログラムである。
【発明の効果】
【0013】
本発明によれば、各階層のリソースのIDと各リソースが属するグループ名とをリンクさせ、さらに、各グループ名と各々のグループに設定されたアクセス制御の内容とをリンクさせることにより、アクセス制御の設定内容(アクセスポリシ)をパス表現形式のものに変換し、変換された設定内容を表示装置に表示させるとともに、設定内容が同一となる複数のリソースについては同一の態様で表示させるようにしたので、パス表現形式に慣れ親しんだ設定者が、非パス表現形式で設定されたアクセス制御の設定内容を容易に把握でき、設定に要する時間が著しく短縮されるという特有の効果が得られる。
【図面の簡単な説明】
【0014】
【図1】本実施形態のアクセス制御設定装置と端末装置とを含む情報処理システムの全体構成図。
【図2】アクセス制御設定装置及び端末装置の機能ブロック図。
【図3】マッピングファイルの例を示す説明図。
【図4】(a),(b)はアクセス制御ルールの例を示す説明図。
【図5】アクセス制御設定装置の動作時の全体処理図。
【図6】対象範囲を定める処理(S1)の詳細手順説明図。
【図7】表現形式の変換処理(S3)の詳細手順説明図。
【図8】表現形式の変換処理(S3)の詳細手順説明図。
【図9】表現形式の変換処理(S3)の詳細手順説明図。
【図10】設定情報の生成処理(S4)の詳細手順説明図。
【図11】初期情報入力画面の例を示す説明図。
【図12】マッピングオブジェクトのパターン説明図。
【図13】オブジェクト生成の概念図。
【図14】(a),(b)はアクセス制御詳細設定画面の例を示す説明図。
【図15】ラベルオブジェクトとパスオブジェクトの関係を示す概念図。
【図16】ラベルオブジェクトとパスオブジェクトの関係を示す概念図。
【図17】ラベルオブジェクトとパスオブジェクトの関係を示す概念図。
【図18】ラベルオブジェクトとパスオブジェクトの関係を示す概念図。
【図19】リソースの階層構造を示す説明図。
【図20】リソースの階層構造を示す説明図。
【図21】相互確認に関する設定画面の例を示す説明図。
【発明を実施するための形態】
【0015】
以下、本発明の実施の形態例を説明する。情報処理分野におけるアクセス制御技術には、一般に、アクセスを許可したい行為を設定ファイルに記述し、記述されていない行為については拒否するホワイトリスト方式と、その逆で、アクセスを拒否したい行為を記述し、記述されていない行為は許可するブラックリスト方式とが存在するが、本実施形態では、ホワイトリスト方式によるアクセス制御を行う場合の例を説明する。但し、本発明は、ブラックリスト方式においても適用が可能なものである。
本実施形態は、また、セキュアOSを搭載した端末装置に対するアクセス制御内容の設定を外部より行うアクセス制御設定装置の例を挙げる。
【0016】
[全体構成]
図1は、本実施形態のアクセス制御設定装置100と、このアクセス制御設定装置100によりリモート操作される端末装置200とを含む情報処理システムの全体構成図であり、特徴的な部分のみを示してある。端末装置200は、アクセスポリシ240に従ってアクセス制御内容が設定されるセキュアOS210を搭載している。このセキュアOS210は、非パス表現形式の一例となるラベルベースの制御方式によって、リソースに対するアクセス制御が設定されるものである。
【0017】
アクセス制御設定装置100と端末装置200は、例えば、SSH(Secure SHell)などによって双方向の通信可能に接続されている。本例では、端末装置200によるアクセスが制限されるリソースは、セキュアOS210の内部あるいはHDD(Hard disk drive)などの外部デバイスにおいて、それぞれ、他のリソースと階層的に関連付けられ、且つ、所定のグループに分類可能な状態で存在するものとして説明する。これらのリソースは、例えばプログラム、ファイル、ディレクトリ等であり、グループに分類されたときはそのグループ単位でアクセス制御の設定がなされるものである。
【0018】
[アクセス制御設定装置]
まず、アクセス制御設定装置100の構成例を説明する。図2は、本実施形態におけるアクセス制御設定装置の機能ブロック図である。
アクセス制御設定装置100は、CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)、ネットワークカード、入出力インタフェース等を備えた処理装置110と、ディスプレイ等の表示装置120と、キーボード等の入力装置130と、端末装置200又は外部デバイスと接続するための接続インタフェース140とを備えている。
処理装置110は、コンピュータの一種であり、CPUが本発明のコンピュータプログラムを読み込んで実行することにより、端末装置200のアクセス制御設定に関する機能、具体的には、入力受付部111、情報取得部112、設定情報更新部113、表現形式変換部114、表示制御部115、及び、出力制御部116として動作する。
【0019】
入力受付部111は、入力装置130から、アクセス制御の設定に関わる情報、例えば現在の設定内容の確認指示情報、設定内容の変更情報または新たな指定情報の入力を受け付ける。
【0020】
情報取得部112は、端末装置200から、セキュアOS210がアクセス可能なすべてのリソースがどのような状態で存在するかという情報と、各リソースに対する現在のアクセス制御の設定内容がどのようになっているかを表す情報とを取得する。具体的には、各リソースの階層構造及び各々のリソースのID(例えばリソースの種類及び名称)を含む第1情報、各々のリソースがどのグループに分類されているかをそのグループ名と共に表す第2情報、及び、各々のグループについてラベル表現形式で設定されたアクセス制御の内容を表す第3情報を取得する。
【0021】
設定情報更新部113は、図示しないメモリ制御機構との協働により、情報取得部112で取得した第1〜第3情報をRAMの所定領域に保持する。また、入力装置130から変更又は設定の内容を受け付けたときは、受け付けた内容に従って、端末装置200より取得し、保持されている第2及び第3情報を更新する。第2及び第3情報を更新する際には、更新前の第2及び第3情報をRAMに保持し、更新後の第2及び第3情報に代えて更新前の第2及び第3情報に復帰可能にする。
【0022】
表現形式変換部114は、保持されている第1〜第3情報のうち、第1情報により特定される各階層のリソースのIDと、第2情報により特定されるそのリソースが属するグループ名とをリンクさせ、さらに、各グループ名と、第3情報により特定されるそのグループに設定されたアクセス制御の内容とをリンクさせることにより、当該設定内容をパス表現形式のものに変換する。
【0023】
表示制御部115は、表示装置120への情報の表示制御を行う。表示される情報は、ラベル表現形式からパス表現形式に変換されたリソースの状態を表す画面、各リソースに対して設定されたアクセス制御の内容を表す画面、初期設定を含む各種設定画面等である。アクセス制御の設定内容が同一となる複数のリソースについては同一の態様、例えば同じ色合いで表示させる。さらに、第2及び第3情報が更新されたときは、更新内容に従って表示装置120における表示態様を変化させる。
【0024】
出力制御部116は、RAMに保持されている第2及び第3情報が更新されたときは、更新された第2及び第3情報を端末装置200に出力するための制御を行う。
【0025】
[端末装置]
次に、端末装置200の構成を詳しく説明する。端末装置200のセキュアOS210において、OSカーネル211の内部にはアクセス制御モジュール212が存在する。アクセス制御モジュール212は、OS起動時に、アクセスポリシ240からマッピングファイル220とアクセス制御ルール230を読み込み、アクセス制御を開始するものである。マッピングファイル220は、ファイル、ディレクトリ等のリソースが、それぞれ、どのラベルに割り当てられるべきかを記述したファイルであり、アクセス制御ルール230は、どのプロセスが、どのリソースに対して、どのようなアクセスが可能なのかを示すファイルである。
【0026】
マッピングファイル220の内容例を図3に示す。リソースへのアクセス行為には「アクセス主体」と「アクセス客体」が関与するが、アクセス主体となりうるプログラムも、アクセス客体となるファイルやディレクトリも一つのマッピングファイルに記述される。なお、アクセス主体となりうるのはプログラム(プロセス)のみであり、アクセス客体にはプログラムがアクセスするファイルやディレクトリのほか、プログラムによって起動されるプログラムも含まれる。
【0027】
この例のマッピングファイルの1行目、2行目、4行目はアクセス客体に関するラベル定義の例であり、1行目の「/var(/.*)? system_u:object_r:var_t:s0」は、「ラベルvar_tが、/var以下全てのリソースに割り当てられる」ことを意味する。2行目の「/var/run/*.pid system_u:object_r:var_run_t:s0」は、「ラベルvar_run_tが、/var/run/*.pidの正規表現にマッチするリソースに割り当てられる」ことを意味する。4行目の「/usr(/.*)? system_u:object_r:var_t:s0」は、「ラベルvar_tが、/usr以下全てのリソースに割り当てられる」ことを意味する。1行目と4行目の定義の結果、/varと/usr以下の全てのリソースが1個のラベルvar_tで指定されたことになる。
この例の3行目はアクセス主体になりうるプログラムに関するラベル定義の例であり、「/usr/sbin/httpd system_u:object_r:httpd_exec_t:s0」は、「ラベルhttpd_exec_tが、/usr/sbin/httpdに割り当てられる」ことを意味する。
【0028】
アクセス制御ルール230の内容例を図4(a),(b)に示す。
アクセス制御ルール230には、アクセス主体がアクセス客体にどのようなアクセスをしてよいかを記述する。また、アクセス主体が新たにプログラムを起動した場合や新たにファイルを作成した場合、起動されたプログラムや作成されたファイルに付与されるラベルを定義する。また、ユーザ用のプロセスはログインデーモン(プログラム)が生成するので、やはりアクセス制御ルールにおいてラベルを定義する。
【0029】
図4(a)のアクセス制御ルールの1行目の「allow httpd_t var_t:file read;」は、「アクセス主体httpd_tは、アクセス客体var_tのfileにreadしかできない」ことを意味する。なお、var_tにはファイルの他、ディレクトリやプログラムが属する場合もあり得るが、このうちfileのreadだけ許可したことを意味する。
2行目の「type_transition usr_t httpd_exec_t:process httpd_t;」は、「アクセス主体usr_tがアクセス客体httpd_exexc_tを実行した結果起動したプロセスは、ラベルhttpd_tに属する」ことを意味する。3行目の「type_transition httpd_t var_run_t:file httpd_var_run_t:」は、「アクセス主体httpd_tがアクセス客体 var_run_t に作ったファイルは、ラベルhttpd_var_run_tに属する」ことを意味する。
図4(b)はアクセス主体がユーザプロセスの場合のラベル定義の例であって、ここではユーザ root がログインした直後のプロセスにラベル「my_root_t」が付与された例を示す。
【0030】
従来のアクセス制御の設定は、マッピングファイル220とアクセス制御ルール230の双方を参照することによって可能となっていた。すなわち、図3のマッピングファイル220の1行目の「/var(/.*)? system_u:object_r:var_t:s0」(var_tとは、/var以下全てのことである)と、図4(a)のアクセス制御ルール230の1行目の「allow httpd_t var_t:file read;」(httpd_tは、var_tのfileにreadしかできない)とによって、「httpd_tは、/var以下全てのfileにreadしかできない」との設定がなされていた。
【0031】
[アクセス制御設定装置の動作例]
次に、アクセス制御設定装置100の動作例を説明する。
図5は、全体的な動作手順説明図である。図5を参照すると、アクセス制御設定装置100が端末装置200に接続され、処理装置110が起動すると、処理装置110は、動作環境を整え、端末装置200から現在のリソースの情報及びアクセスポリシ240の内容を表す情報を取得し、RAMに保持するとともに、表示装置120に初期情報入力画面を表示させ、アクセス制御の対象プログラムを定める処理を行う(ステップS1)。
初期情報入力画面は、リソースへのアクセスを許可する主体を定めるための情報の入力を促す画面である。本例では、アクセス主体はどのプログラムか、及びどのユーザ又はどのプログラムがそれを起動したのか、という内容を指定できるようにしている。このような指定を設定者が入力装置130を通じて入力すると、処理装置110は、指定された内容を受け付け、以後の処理のためにRAMに保持する(ステップS2)。
【0032】
処理装置110は、RAMに保持された情報をもとに、アクセスポリシの表現形式の変換処理を行う(ステップS3)。本例では、ラベル表現形式のアクセスポリシをパス表現形式のものに変換する処理を行う。そして、変換された表現形式のアクセスポリシの内容を表示装置120に表示させる。
【0033】
表示画面をみた設定者が、制御内容の新たな指定又は変更の情報を入力すると、処理装置110は、これらの情報を受け付け、設定情報の生成処理を行う(ステップS4)。具体的には、受け付けた指定又は変更の情報に従って、それ以前に端末装置200より取得してRAMに保持した情報を更新し、更新された情報を端末装置200に出力するための制御を行う。情報を更新するときは更新内容に従って表示装置120における表示態様を変化させる。なお、情報を更新する際には更新前の情報を保持しておき、更新後の情報に代えて何時でも更新前の情報に復帰可能にする。
【0034】
その後、処理装置110は、ステップS1で取得したアクセス主体情報と、ステップS4で取得したアクセス制御設定情報(アクセス客体情報と、パーミッション情報)を、端末装置200のアクセスポリシ240に書き込む処理を行い、処理を終える(ステップS5)。
なお、アクセスポリシのパス表現形式への変換は、設定者が指定した範囲で、リソース毎、階層毎又はグループ毎に情報を読み出して行う。例えばあるディレクトリを指定することにより、そのディレクトリに属するファイルのみの情報を読み出す。これにより、全階層のすべての情報を読み込む必要がなくなり、処理量が節約されるので、設定に要する時間が短縮される。
【0035】
次に、図5の全体処理における各処理の手順を詳細に説明する。
[ステップS1の詳細手順]
対象プログラムを定める処理(ステップS1)の詳細手順を図6に示す。
まず、図11に例示される初期情報入力画面300を表示装置120に表示させる(ステップ210)。図11において、「AP」はアクセス制御の対象となるプロセスを表す。「APのパス」は、そのAPがどこに存在するどのプログラムであるかを指定するパス表現領域310である。「APを起動するユーザ(320)」か、「APを起動するプログラムのパス(330)」は、どちらか一方が必須入力となる。これらは、パス表現領域310の入力内容とあわせて、「以降設定するアクセス制御内容は、領域320で指定されたユーザか、領域330で指定されたプログラムが、領域310で指定したプログラムを実行したときに生成されるプロセスに対して有効である」という意味になる。
【0036】
ユーザ指定領域320への指定を検出した場合、処理装置110は、入力されたユーザのIDをキーとして、端末装置200が保持するアクセス制御ルール230を参照し、そのユーザに付与されるラベルを取得する(ステップS230)。例えば、ユーザ名「root」が入力されたとする。処理装置110は、例えば、図4(b)のアクセス制御ルール230の「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」を得る。
【0037】
一方、プログラム指定領域330への指定を検出した場合、処理装置110は、アクセス制御ルール230及びマッピングファイル220から、そのプログラムが実行されたときに付与されるラベルを取得する(ステップS240)。
例えば、APを起動するプログラムのパスとして「/etc/init.d/httpd」が指定されたとする。処理装置110は、図3のマッピングファイル220における「/etc/init.d/http--system_u:object_r:initrc_exec_t:s0」を参照する。「/etc/init.d/httpd」にはラベル「initrc_exec_t」が付与されていることがわかるので、「initrc_exec_t」をキーとしてアクセス制御ルール230を検索し、例えば「type_transition XXX_t initrc_exec_t:process YYY_t;」のように「initrc_exec_t」を「:」の直前に含むルールを検出し、APを起動するプログラム「/etc/init.d/httpd」のラベル「YYY_t」を得る。
このように、各領域310〜330への指定により、「ユーザ○○/プログラム○○が実行したAPについてのアクセス制御の設定を行う」という内容の初期情報が設定者より入力され、ステップS2により保持されることになる。
【0038】
[ステップS3の詳細手順]
表現形式の変換処理(ステップS3)の詳細手順を図7乃至図9に示す。
以下では、主にルートディレクトリ"/"に属するリソースの場合を例にとって説明する。
【0039】
処理装置110は、まず、マッピングファイルを取得して、マッピングオブジェクトを生成する(ステップS310)。個々のマッピングオブジェクトは、例えば図3におけるマッピングファイルの一行一行に対応し、ラベルオブジェクトと同様にラベル情報と属性情報を有する他、パス情報と正規表現情報を有する。
マッピングファイルは、通常、高々数千行なので、マッピングオブジェクトはマッピングファイル全体を一度に読み込んで生成してもよい。マッピングオブジェクトの属性情報はマッピングファイルの定義を書き写したものなので、マッピングオブジェクトではアクセス制御設定対象となるリソース個々の属性を特定できない。そこで、具体的なアクセス制御設定作業の対象となるリソースと直接関連付けて生成されるラベルオブジェクトを利用して、設定対象リソースの属性を特定する。
【0040】
一方、名前と属性情報のみからなるラベルオブジェクトだけでは、そのラベルはパスに
直すとどこのことかを特定できないため、パス情報を参照するためのマッピングオブジェクトが必要となる。
マッピングオブジェクトは、例えば、図3のマッピングファイル220の「/var(/.*)? system_u:object_r:var_t:s0」の記述に基づくと、マッピングオブジェクトには、ラベル名は「var_t」、パスは「/var」、正規表現は「(/.*)?」、属性は「正規表現が表すリソースの属性」が記述されることとなる。また、設定者が新しいラベルを作成した場合には、マッピングオブジェクトが新たに作成される。マッピングオブジェクトは、処理の簡易化のため、処理装置110で定義したマッピング設定とデフォルトのマッピング設定と、ラベル名の付与ルールを区別する等して、分けて保持するものとしてもよい。
【0041】
マッピングオブジェクトは、様々なパターンを有する。このことを、図12を参照して説明する。図12において、パターン1におけるマッピングオブジェクト710は、デフォルトのマッピング設定のオブジェクトである。正規表現がパス表現から分離できないため、マッピングオブジェクト710の正規表現の欄は空欄となっており、属性は「dir(ディレクトリ)」である。パターン2のマッピングオブジェクト720は、処理装置110でディレクトリに対して新しいラベルを割り当てた場合の例である。パスには新しいラベルを定義したリソースのパスが記述される。正規表現は「(/.*)?」となり、属性は「dir(ディレクトリ)」である。パターン3のマッピングオブジェクト730は、処理装置110でファイルに対して新しいラベルを割り当てた場合の例である。パスには新しいラベルを定義したリソースのパスが記述され、属性は「file(ファイル)」である。パターン4のマッピングオブジェクト740は、処理装置110で、あるディレクトリ中に動的に作成されるファイルに、親ディレクトリとは異なるラベルを割り当てた場合の例である。パスには親ディレクトリのフルパスが記述され、正規表現にはファイル名のパターンが記述されている。パターン5は、パターン4とほぼ同様の例で、正規表現を定義せず、「*(何でもよい)」とする例である。
【0042】
次に、処理装置110は端末装置200から、リソースの階層構造(ディレクトリツリー:パス表現)に関する情報と、リソースのラベル情報に関する情報を取得する。
具体的には、端末装置200に対して、リモート操作によりコマンド“ls /”を実行することにより、例えば、“/”以下のファイル、ディレクトリ等のリソースの一覧を取得する(ステップS315)。
また、端末装置200に対し、コマンド“ls−Z /”を実行することにより、例えば“/”以下のファイル、ディレクトリ等のリソースに対するラベルの一覧を取得する(ステップS320)。その際、上述したように、処理量を減らすために、実際に表示装置120での表示に必要な範囲、例えば、“ /”の1段だけ下位の階層のリソースについてのみ、リソース一覧とラベル一覧を取得し、その他のリソースについては、その下位のリソースが展開される都度、リソース一覧とラベル一覧を取得するものとする。このようにすると、実際に展開され、表示装置120に表示され、設定者に視認される等の必要な範囲でのみ処理を行うため、処理量を分散することができ、一回あたり処理の負担を減らすことができる。
【0043】
次に、処理装置110は、ステップS315とステップS320で取得した情報に基づき、パス表現用のオブジェクト(以下、「パスオブジェクト」)とラベル表現用のオブジェクト(以下、「ラベルオブジェクト」)を生成する。また、6種類のパーミッションオブジェクトを生成する(ステップS325)。
【0044】
ステップS325におけるオブジェクト生成の概念を図13に示す。図13の左側は、パスオブジェクト410〜414であり、それぞれ、ファイル、ディレクトリ等のリソースの「名前」、OSのディレクトリツリーの親子関係を示す「親参照」情報、ラベルオブジェクトとの対応付けを示す「旧参照」、「新参照」情報が記述される。
「旧参照」には既存のラベルとの対応関係を示すための情報が記述される。「新参照」は、「旧参照」と同様にラベルとの対応関係を示すためのものであるが、設定者が新しいラベルを割り当てた場合に、その新しいラベルを参照先として記述する。このように、「旧参照」とは別に「新参照」を記述するため、一旦新しいラベルを割り当てた後であっても、「新参照」を削除し、「旧参照」の記述に基づいて、元の状態に容易に戻すことができる。
【0045】
パスオブジェクト410〜414は、それぞれ、ラベルオブジェクト510〜512と関連付けられる。ラベルオブジェクト510〜512は、ラベル表現用のオブジェクトであり、ラベルの「名前」と「属性」とを示している。ラベルオブジェクト510〜512は、それぞれ、パーミッションオブジェクト610〜612に関連付けられる。パーミッションオブジェクト610〜612は、アクセス制御の一例となる許可内容を示すオブジェクトである。例えば「R」は「読み取り(Read)許可」、「RW」は「読み取り(Read)及び書き込み(Write)許可」、「RWXC」は「読み取り(Read)、書き込み(Write)、実行(execute)、ファイル作成(fileCreate)許可」を意味する。
パーミッションオブジェクトには、この他に「パーミッションなし」、「RWC」、「RWX」のパターンがある。パスオブジェクトがラベルオブジェクトを介してパーミッションオブジェクトと関連づけられることにより、後述するように、図19や図20のようなツリー構造表示において、パスリソースはパーミッションタイプごとに(RWXC情報と共に)色分けして表示される。
【0046】
図7に戻り、処理装置110は、各パスオブジェクトの「旧参照」が、そのパスリソースに割り当てられたラベルを参照するように、パスオブジェクトとラベルオブジェクトを関連付ける(ステップS330)。
次に、図8のステップS335に進み、処理装置110は、ステップS320で取得したラベル一覧の中に、アクセス制御設定装置100により設定されたラベル(以下、「ラベルA」という。また、ラベルAの定義したラベルオブジェクトを「ラベルオブジェクトA」という。)があるか否か判定する(ステップS335)。ラベルAがない場合(ステップS335:No)、図9のステップS340に進み、処理装置110はさらにマッピングオブジェクトを参照して、図12のパターン4または5に該当する、プログラムによって動的に生成・削除されるファイルとラベルの定義したマッピングオブジェクト(以下、「マッピングオブジェクトB」という。また、マッピングオブジェクトBを定義したラベルを「ラベルB」という。)がないか検索する。マッピングオブジェクトBがなければ(S340:No)、表現形式変換処理(ステップS3)を終了する。
【0047】
端末装置200について、初めて、アクセス制御設定装置100を使用した場合、ラベルAもマッピングオブジェクトBも発見されることはない。本発明は、アクセスを許可したい行為を設定ファイルに記述し、記述されていない行為については拒否するホワイトリスト方式でアクセス制御設定するものであり、初期状態ではいずれのリソースにも、パーミッションは何ら与えられていないからである。この場合、表現形式変換処理(ステップS3)終了後、設定情報生成処理(ステップS4)のためにユーザに提示されるリソースのツリー構造表示は、何ら色づけのない初期状態としてユーザに提示される。
【0048】
ここで、いったんステップS3を離れ、先に設定情報の生成処理(ステップS4)について説明する。
[ステップS4の詳細手順]
処理装置110は、ステップS3の処理により、表現形式の変換処理を終えると、設定情報を生成するための処理を行う。設定情報の生成処理(ステップS4)の詳細手順を図10に示す。
ステップS3の処理を終えると、処理装置110はリソースをツリー構造で表現した、「アクセス制御設定画面」をユーザに提示する。各リソースについて種々のパーミッション情報が得られた場合、アクセス制御設定画面に表示されるリソースは、例えば図19や図20のように、パーミッション情報RWXCとともに色分けされて表示される。
アクセス制御設定画面を提示された設定者は、アクセス制御の内容を設定(あるいは変更)したいファイルやディレクトリを指定してクリックする(ステップS410)。
クリック内容を解読した処理装置110は、図14(a)に示すアクセス制御詳細設定画面900を表示装置120に表示させる(ステップS420)。
設定者が、設定画面900に従い、「このパスのアクセス許可」の設定領域901に提示されたパーミッションの中から一つを選び、OKボタン905を押し、パーミッションの設定を行う(ステップS430)。選んだ内容をキャンセルする場合は、キャンセルボタン906を押す。
「同じアクセス許可のパス」の表示領域902には、同じアクセス許可のリソースのパスが表示される。表示領域902にリストされたリソースとは異なるアクセス制御の内容を設定するために、新しいラベルを割り当てる場合には、チェックボックス903を選択する。指定したパスの下位のリソースに同様のアクセス許可を設定する場合には、チェックボックス904を選択する。
【0049】
図10に戻り、設定者が設定操作を行うと、処理装置110は、設定者によって選択されたリソース名を読み取り、該当するパスオブジェクトを参照する(ステップS440)。さらに、そのパスオブジェクトからラベルオブジェクトを参照する(ステップS450)。
以下、図15乃至図18を参照し、パスオブジェクトとラベルオブジェクトのタイプごとに場合分けして、アクセス制御設定作業と各オブジェクトの関係を説明する。
パスオブジェクトの新参照がいずれのラベルオブジェクトも参照していない場合、処理装置110はパスオブジェクトの旧参照にしたがってデフォルトラベルのラベルオブジェクトを参照し、ステップS430で選ばれたパーミッションに基づき、パーミッションオブジェクトのリスト構造に該当するラベルオブジェクトを追加する(図15(a)参照)。この結果、ラベルオブジェクトとパーミッションオブジェクトが関連付けられる(ステップS460)。
【0050】
設定者が新しいラベルの割り当てを選択していた場合、処理装置110は新しいラベルオブジェクトを生成し、パスオブジェクトの新参照が当該新ラベルオブジェクトを参照するようにする。そして、ステップS430で選ばれたパーミッションに基づき、パーミッションオブジェクトのリスト構造に新ラベルオブジェクトを追加することにより、ラベルオブジェクトとパーミッションオブジェクトを関連付ける(ステップS460)(図15(b)参照)。なお、新しいラベルは一定の命名規則に則って付与し、デフォルトマッピングファイルに記載されたラベルと区別できるようにする。
パスオブジェクトの新参照が参照する新ラベルのラベルオブジェクトがすでに存在する場合、処理装置110は当該ラベルオブジェクトとパーミッションオブジェクトの関連付けを、ステップ430で選ばれたパーミッションの内容に更新する(図15(c)参照)。
【0051】
なお、「ディレクトリ○○に新しいラベル○○を割り当てる」とは、通常、「ディレクトリ○○以下の全てのリソースに対して新ラベル○○を割り当てる」という意味になる。しかし、ディレクトリ○○配下のリソースを示すパスオブジェクトの全てについて、いちいち新参照が新ラベル○○のラベルオブジェクトを参照するように設定する必要はない。子リソースのラベルは、親リソースに従うことを原則とすることで、親をたどっていけば任意の子リソースのラベルを把握することができるからである。
【0052】
設定者による設定作業の結果、図16に示されるように、パスオブジェクトには3つのタイプが生まれることになる。
タイプ1は、新ラベルが付与されず、旧参照だけがデフォルトラベルを参照するパスオブジェクトである(図16のタイプ1参照)。
タイプ2は、新ラベルが付与され、旧参照はデフォルトラベルを、新参照は新ラベルを参照するパスオブジェクトである(図16のタイプ2参照)。
タイプ3は、新ラベルが付与されたリソースの子リソースを表すパスオブジェクトであって、新参照が新ラベルオブジェクトを参照することはしないが、親リソースを介して実質的に新ラベルを参照するパスオブジェクトである(図16のタイプ3参照)。
【0053】
パスオブジェクト〜ラベルオブジェクト〜パーミッションオブジェクトについて必要な関連付けを終えると、アクセス制御設定装置100は、画面上に、ディレクトリツリー構造を再描画する(ステップS470)。
図19は、ステップS3の処理の結果、ルートディレクトリ"/"とその直下のディレクトリからなるツリー構造が、パーミッション情報なしの状態で設定者に提示され、設定者がディレクトリ802、804、806にパーミッション設定を施したものである。
図19において、ディレクトリはリソースの集合を表している。図示の例では、ディレクトリ800を最上位とする階層構造となっており、ディレクトリ804には、さらに下位層のディレクトリが存在することを示す「+」表示のボタン(画像)851が示されている。ディレクトリ813には下位層のディレクトリ814が関連付けられている。「−」表示のボタン(画像)852を押すことにより、ディレクトリ814が表示画面から消え、「−」表示が「+」表示に変わる。
ディレクトリ802は所定の色付けがなされ、且つ、「RX」が表示されている。前述したように、「R」は「読み取り許可(Read)」、「X」は「実行(execute)」であるから、ディレクトリ802には、読み取り許可と実行許可が設定されていることがわかる。また、ディレクトリ804には、別の色が付され、且つ、「RW」が設定されている。「W」は、「書き込み許可(Write)」であるから、ディレクトリ804には、読み取り及び書き込みの許可が設定されていることがわかる。同様に、ディレクトリ806には、読み取り許可のみが設定されていることがわかる。
【0054】
図19の「+」表示のボタン(画像)851をクリックすると、表示装置120の表示画面は、図19から図20のようにディレクトリ804の下位層のディレクトリが表示され、ボタン(画像)851は「+」から「−」に変わる。図20の例では、ディレクトリ804に属する複数のディレクトリ815〜825のうち、「PTS」により識別されるディレクトリ824を除いて、他のすべてのディレクトリ815〜822、824、825が同じ色で表されることから、設定されている制御内容が同じであることが一目で理解でき、また、制御内容は「RW」とあるから読み取りと書き込みの許可が設定されていることがわかる。
【0055】
ここで、設定者が、例えば図20において、ディレクトリ804に設定を行うと、同じラベルに関連付けられている下位層のディレクトリ815〜822、824〜825も、連動して色及び設定内容の表示が変更される。そのため、設定者は、その設定操作の過程で、どのディレクトリに対して同じラベルが関連づけられており、どのような設定内容となっているかを知ることができるため、マッピングファイル220及びアクセス制御ルール230を参照する必要がなく、設定作業が容易になる。
【0056】
このように、本実施形態では、一度に、全てのリソースのツリー構造とマッピングファイル220及びアクセス制御ルール230の情報とを関連付けると膨大な処理量となり、時間がかかるため、下位層のディレクトリを展開し、表示装置120に表示するときにはじめて、必要な範囲で、マッピングファイル220及びアクセス制御ルール230の情報を収集し、ラベルの関連付けを行うようにしている。これにより、設定者の操作単位で、ラベルの関連付けを行う結果、一度に大量の処理を行う必要がなくなる。
また、一旦収集した情報を、内部のメモリに記録しておけば、情報収集のため再度同じ処理を行う必要がなくなる。
【0057】
このように色づけを行う中での例外は、例えば、図4(a)の3行目「type_transition httpd_t var_run_t:file httpd_var_run_t:」で示す表現である。あるプロセスが、あるラベルに割当てられたディレクトリ以下に、ファイルやディレクトリを作成した場合、別ラベルを割当てるというものである。つまり、事前に新ラベルを一つ作成しておき、決められたラベルが付与されるディレクトリ以下にファイルを作成する場合、通常親のラベルを踏襲するが、今回は作成した新ラベルを割当てるということである。この場合、図14の(b)で示す画面で設定を行う。907は901と同じ用途であるが、908については、作成するファイルやディレクトリの正規表現で表されたパスを入力する。図12の750で示されるように’*’(何でも良い)という表記も可能である。
図14の(b)においてOKボタンを押した直後は、新ラベルを生成し、指定されたパーミッションオブジェクトと関連付けるが、S410で指定したファイルやディレクトリに新ラベルを割当てればよいわけではなく、S410で指定したディレクトリ以下に存在するファイルやディレクトリに対して907で指定した正規表現がマッチングするか調べ、逐次新ラベルを割当てる必要がある(S480)。
【0058】
設定情報生成処理(ステップS4)を終了させると、処理装置110は設定情報をマッピングファイルとアクセス制御ルールに反映させて、全体処理を終了する(ステップS5)。
【0059】
[ステップS3の詳細手順]
ここで再び図7乃至図9に戻り、過去にアクセス制御設定装置100による設定がなされていた場合の、表現形式変換処理(ステップS3)について説明する。
本実施形態による設定作業のためには、パスオブジェクトが前述のとおり、図16に示される3つのタイプで表現されていなければならない。しかし、いったん設定作業を終えて設定内容をアクセスポリシに反映してしまうと、リソースと直接関連するラベル情報は新ラベルに置き換わり、“ls−Z”コマンドでラベル情報を読み込むだけでは、タイプ1(旧参照のみがデフォルトラベルオブジェクトを参照)は再現されるが、タイプ2(旧参照がデフォルトラベルオブジェクトを、新参照が新ラベルオブジェクトを参照するもの)とタイプ3(タイプ2の子ノード)のパスオブジェクトが再現されない。以下、タイプ2とタイプ3のパスオブジェクトを再現する手順を、図7、図17及び図18を用いて説明する。
【0060】
ステップS320で取得したラベルが、過去にアクセス制御設定装置100により設定されたラベル"myLabel_t"であった場合でも、処理装置110はまず旧参照に当該新ラベルのラベルオブジェクトを参照させる(ステップS330)。この結果、タイプ2およびタイプ3のパスオブジェクトはそれぞれ図17(a)及び(b)のようになる。
次に、図8に移り、処理装置110は、ステップ320で取得したラベルがアクセス制御設定装置100が付与したものか否かを判定する。アクセス制御設定装置100が生成したラベルAがあった場合(ステップS335:Yes)、処理装置110はさらにラベルオブジェクトAと関連付けられたパスオブジェクトが、過去に新ラベルを割り当てた親ノードなのか、その子ノードなのか判定する(ステップS345)。パスオブジェクトの名前がマッピングオブジェクトのパスと一致すれば親ノードであり、一致しなければ子ノードである。
まずタイプ2(図17(a))について見ると、"/boot"はマッピングオブジェクト(図17(c))のパス"/boot"と一致するので親ノードであり、この場合は当該パスオブジェクトの新参照にも同じ(新ラベルの)ラベルオブジェクトを参照させる(図17(d):ステップS350)。
【0061】
一方、タイプ3(図17(b))では、"/boot/xxx"はマッピングオブジェクト(図17(c))のパス"/boot"と一致しないので子ノードであり、この場合は新参照によるラベルオブジェクトの参照は行わせない(図17(b)のまま変わらない:ステップS350)。
ついで、処理装置110は、新ラベルを参照するパスオブジェクトの旧参照と、その親ノードのパスオブジェクトの旧参照とを一致させる(親に従わせる:ステップS355)。すなわち、図18(a)のように"/boot"の親ディレクトリ"/"のパスオブジェクトの旧参照がデフォルトラベルオブジェクト"boot_t"を参照している場合、タイプ2は図18(b)のようになり、タイプ2(図16のタイプ2)が再現される。
また、旧参照のみが新ラベルオブジェクトを参照していたタイプ3(図17(b))の場合は、親ノード("/boot")の旧参照がデフォルトラベルオブジェクト"boot_t"を参照することになったので、図18(c)のようになり、やはりタイプ3(図16のタイプ3)が再現される。
【0062】
以上の処理を経て、処理装置110は、過去にアクセス制御設定装置100による設定がなされていた場合、表現形式変換処理に必要なパスオブジェクトの再現に成功する。
【0063】
設定作業が一度終了した後は、パーミッション情報はアクセス制御ルールに反映されている。したがって、続いて処理装置110は、アクセス制御設定装置100によって付与されたラベルAをキーにしてアクセス制御ルールを検索し、ラベルAに関するパーミッション情報を取得する(ステップS360)。処理装置110は得られたパーミッション情報に基づいてラベルオブジェクトとパーミッションオブジェクトを関連付ける(ステップS365)。
以上の結果、処理装置110は図13に示したような、パスオブジェクト、ラベルオブジェクト、パーミッションオブジェクトの再構成を完了し、ラベルオブジェクトを介して結合されたパーミッションオブジェクトの種類にしたがって、パスオブジェクトが指示するリソースに色づけを行う(ステップS370)。
【0064】
次に図9に移る。プログラムによって動的に生成・削除されるファイルやディレクトリについては、新たなラベルオブジェクトを生成してもパスオブジェクトからは旧参照にも新参照にも参照させない。実在パスについてパスオブジェクト、ラベルオブジェクト、パーミッションオブジェクトについて関連付ける処理を終えると、処理装置110はマッピングオブジェクトの中に動的に生成・消滅するファイルBとラベルBの定義がないか検索する(ステップS340)。
動的に生成・消滅するファイルBとラベルBの定義がある場合(ステップS340:Yes)、処理装置110はさらにパスオブジェクトを確認し、動的なファイルBがある場合は(ステップS375:Yes)、対応するラベルBをキーにアクセス制御ルールを検索し、ラベルBに関するパーミッション情報を取得する(ステップS380)。処理装置110は得られたパーミッション情報に基づいてラベルオブジェクトBとパーミッションオブジェクトを関連づけ(ステップS385)、パーミッションオブジェクトの種類にしたがって、動的リソースに色付けを行う(ステップS390)。
【0065】
このようにして、本実施形態のアクセス制御設定装置100は、過去になした設定情報から3つのタイプのパスオブジェクトを再現して表現形式変換処理を行い、リソースをツリー構造で表現した「アクセス制御設定画面」をユーザに提示する。過去にアクセス制御設定がなされていた場合、アクセス制御設定画面に表示されるリソースは、例えば図19や図20のように、パーミッション情報RWXCとともに色分けされて表示される。
【0066】
リソースに新しいラベルを割り当てた場合には、編集中のアクセスポリシ以外のアクセスポリシには、反映されない。そのため、本実施形態のようなホワイトリスト方式のアクセス制御においては、編集中のアクセスポリシ以外のアクセスポリシが適用されるアクセス主体からは、新しいラベルが関連付けられたリソースには一切アクセスできない事態が生じることがある。このような事態が起こらないようにするため、新しいラベルを割り当てた場合には、例えば、図21に示すような相互確認用の設定画面1000を表示し、随時、他のアクセス主体のアクセスポリシについても、新しいラベルに対するパーミッションの設定を行うことができるようにする。
【0067】
このように、本実施形態によるアクセス制御設定装置100は、端末装置200から、リソースの情報とラベル表現形式で設定されたアクセス制御の内容を表す情報を取得し、取得した情報のうち、各階層のリソースのIDとそのリソースが属するグループ名とをリンクさせ、さらに、各グループ名と、そのグループに設定されたアクセス制御の内容とをリンクさせることにより、当該アクセス制御の内容をパス表現形式の代表例である階層構造のものに変換し、変換されたアクセス制御の内容を表示装置120に表示させるとともに、アクセス制御の設定内容が同一となる複数のリソースについては同一の態様で表示させるようにしたので、階層構造の表現形式には詳しいが、ラベル表現形式への理解が十分でない設定者が、容易に既存の設定内容を把握することができる。
これにより、過大なアクセス制限が設定されていたり、あるリソースに対しては必要以上に厳しいアクセス制限がなされているなど、ゆる過ぎたり厳しすぎたりする設定がなされている状況の把握が容易になり、端末装置200のセキュアOSを使用する際の初期学習効果を軽減することができる。また、ラベル表現形式でアクセス制御の設定を行った設定者がいなくなった場合でも、階層構造の表現形式に慣れた者が容易に既存の設定内容を把握できるという利点も生じる。
【0068】
なお、以上は、ホワイトリスト方式の場合の実施の形態例であるが、ブラックリスト方式の場合は、これまでに説明したアクセス制御の内容を、アクセスの「許可」に代えてアクセスの「制限」にすることにより、上述した仕組みを同様に適用することができる。
【符号の説明】
【0069】
100・・・アクセス制御設定装置、110・・・処理装置、111・・・入力受付部、112・・・情報取得部、113・・・設定情報更新部、114・・・表現形式変換部、115・・・表示制御部、116・・・出力制御部、120・・・表示装置、130・・・入力装置、140・・・接続インタフェース、200・・・端末装置、210・・・セキュアOS、211・・・OSカーネル、212・・・アクセス制御モジュール、220・・・マッピングファイル、230・・・アクセス制御ルール、240・・・アクセスポリシ、300・・・初期情報入力画面、410〜426・・・パスオブジェクト、510〜528・・・ラベルオブジェクト、610〜615・・・パーミッションオブジェクト、710〜760・・・マッピングオブジェクト、800〜825・・・ディレクトリ、851〜852・・・ボタン(画像)、900・・・詳細設定用画面、1000・・・相互確認用の設定画面。
【特許請求の範囲】
【請求項1】
それぞれ、他のリソースと階層的に関連付けられ、且つ、所定のグループに分類可能な状態で存在し、分類されたときはグループ単位でアクセス制御の設定がなされる複数のリソースに対してアクセス可能な端末装置と接続する接続手段と、
接続された前記端末装置から、階層構造を表す情報と各々のリソースのIDとを含む第1情報、各々のリソースがどのグループに分類されたかをそのグループ名と共に表す第2情報、及び、各々のグループについて非パス表現形式で設定されたアクセス制御の内容を表す第3情報を取得する情報取得手段と、
取得した第1〜第3情報を所定のメモリに保持するメモリ手段と、
前記メモリに保持されている情報のうち、前記第1情報により特定される各階層のリソースのIDと、前記第2情報により特定されるそのリソースが属するグループ名とをリンクさせ、さらに、各グループ名と、前記第3情報により特定されるそのグループに設定されたアクセス制御の内容とをリンクさせることにより、当該アクセス制御の設定内容をパス表現形式のものに変換する変換手段と、
変換された設定内容を所定の表示装置に表示させるとともに、前記設定内容が同一となる複数のリソースについては同一の態様で表示させる表示制御手段とを有する、
アクセス制御設定装置。
【請求項2】
前記アクセス制御の設定内容の変更または指定を受け付ける受付手段と、
この受付手段で受け付けた変更または指定の内容に従って前記メモリに保持されている第2及び第3情報を更新する設定情報更新手段と、
更新された前記第2及び第3情報を前記端末装置に出力するための制御を行う出力制御装置とをさらに有しており、
前記表示制御手段は、前記第2及び第3情報を更新したときは更新内容に従って前記表示装置における表示態様を変化させる、
請求項1記載のアクセス制御設定装置。
【請求項3】
前記設定情報更新手段は、前記第2及び第3情報を更新する際に更新前の第2及び第3情報を保持し、更新後の第2及び第3情報に代えて更新前の第2及び第3情報に復帰可能にする、
請求項2記載のアクセス制御設定装置。
【請求項4】
前記変換手段は、前記表示装置に表示される範囲内で、リソース毎、階層毎またはグループ毎の前記第1〜第3情報を前記メモリより読み出し、読み出した情報に基づいて前記アクセス制御の内容をパス表現形式のものに変換する、
請求項1,2または3記載のアクセス制御設定装置。
【請求項5】
それぞれ、他のリソースと階層的に関連付けられ、且つ、所定のグループに分類可能な状態で存在し、分類されたときはグループ単位でアクセス制御の設定がなされる複数のリソースに対してアクセス可能な端末装置と接続されるアクセス制御設定装置が実行する方法であって、
前記端末装置から、階層構造を表す情報と各々のリソースのIDとを含む第1情報、各々のリソースがどのグループに分類されたかをそのグループ名と共に表す第2情報、及び、各々のグループについて非パス表現形式で設定されたアクセス制御の内容を表す第3情報を取得し、取得した第1〜第3情報を所定のメモリに保持する段階と、
前記メモリに保持されている情報のうち、前記第1情報により特定される各階層のリソースのIDと、前記第2情報により特定されるそのリソースが属するグループ名とをリンクさせ、さらに、各グループ名と、前記第3情報により特定されるそのグループに設定されたアクセス制御の内容とをリンクさせることにより、当該アクセス制御の設定内容をパス表現形式のものに変換する段階と、
変換された設定内容を所定の表示装置に表示させるとともに、前記設定内容が同一となる複数のリソースについては同一の態様で表示させるための表示制御を行う段階とを有する、方法。
【請求項6】
それぞれ、他のリソースと階層的に関連付けられ、且つ、所定のグループに分類可能な状態で存在し、分類されたときはグループ単位でアクセス制御の設定がなされる複数のリソースに対してアクセス可能な端末装置、及び、前記アクセス制御の設定を行う者が視認可能な表示装置と接続される、メモリを有するコンピュータを、
前記端末装置から、階層構造を表す情報と各々のリソースのIDとを含む第1情報、各々のリソースがどのグループに分類されたかをそのグループ名と共に表す第2情報、及び、各々のグループについて非パス表現形式で設定されたアクセス制御の内容を表す第3情報を取得する情報取得手段、
取得した第1〜第3情報を前記メモリに保持するメモリ手段、
前記メモリに保持されている情報のうち、前記第1情報により特定される各階層のリソースのIDと、前記第2情報により特定されるそのリソースが属するグループ名とをリンクさせ、さらに、各グループ名と、前記第3情報により特定されるそのグループに設定されたアクセス制御の内容とをリンクさせることにより、当該アクセス制御の設定内容をパス表現形式のものに変換する変換手段、
変換された設定内容を前記表示装置に表示させるとともに、前記設定内容が同一となる複数のリソースについては同一の態様で表示させる表示制御手段、として機能させる、
コンピュータプログラム。
【請求項1】
それぞれ、他のリソースと階層的に関連付けられ、且つ、所定のグループに分類可能な状態で存在し、分類されたときはグループ単位でアクセス制御の設定がなされる複数のリソースに対してアクセス可能な端末装置と接続する接続手段と、
接続された前記端末装置から、階層構造を表す情報と各々のリソースのIDとを含む第1情報、各々のリソースがどのグループに分類されたかをそのグループ名と共に表す第2情報、及び、各々のグループについて非パス表現形式で設定されたアクセス制御の内容を表す第3情報を取得する情報取得手段と、
取得した第1〜第3情報を所定のメモリに保持するメモリ手段と、
前記メモリに保持されている情報のうち、前記第1情報により特定される各階層のリソースのIDと、前記第2情報により特定されるそのリソースが属するグループ名とをリンクさせ、さらに、各グループ名と、前記第3情報により特定されるそのグループに設定されたアクセス制御の内容とをリンクさせることにより、当該アクセス制御の設定内容をパス表現形式のものに変換する変換手段と、
変換された設定内容を所定の表示装置に表示させるとともに、前記設定内容が同一となる複数のリソースについては同一の態様で表示させる表示制御手段とを有する、
アクセス制御設定装置。
【請求項2】
前記アクセス制御の設定内容の変更または指定を受け付ける受付手段と、
この受付手段で受け付けた変更または指定の内容に従って前記メモリに保持されている第2及び第3情報を更新する設定情報更新手段と、
更新された前記第2及び第3情報を前記端末装置に出力するための制御を行う出力制御装置とをさらに有しており、
前記表示制御手段は、前記第2及び第3情報を更新したときは更新内容に従って前記表示装置における表示態様を変化させる、
請求項1記載のアクセス制御設定装置。
【請求項3】
前記設定情報更新手段は、前記第2及び第3情報を更新する際に更新前の第2及び第3情報を保持し、更新後の第2及び第3情報に代えて更新前の第2及び第3情報に復帰可能にする、
請求項2記載のアクセス制御設定装置。
【請求項4】
前記変換手段は、前記表示装置に表示される範囲内で、リソース毎、階層毎またはグループ毎の前記第1〜第3情報を前記メモリより読み出し、読み出した情報に基づいて前記アクセス制御の内容をパス表現形式のものに変換する、
請求項1,2または3記載のアクセス制御設定装置。
【請求項5】
それぞれ、他のリソースと階層的に関連付けられ、且つ、所定のグループに分類可能な状態で存在し、分類されたときはグループ単位でアクセス制御の設定がなされる複数のリソースに対してアクセス可能な端末装置と接続されるアクセス制御設定装置が実行する方法であって、
前記端末装置から、階層構造を表す情報と各々のリソースのIDとを含む第1情報、各々のリソースがどのグループに分類されたかをそのグループ名と共に表す第2情報、及び、各々のグループについて非パス表現形式で設定されたアクセス制御の内容を表す第3情報を取得し、取得した第1〜第3情報を所定のメモリに保持する段階と、
前記メモリに保持されている情報のうち、前記第1情報により特定される各階層のリソースのIDと、前記第2情報により特定されるそのリソースが属するグループ名とをリンクさせ、さらに、各グループ名と、前記第3情報により特定されるそのグループに設定されたアクセス制御の内容とをリンクさせることにより、当該アクセス制御の設定内容をパス表現形式のものに変換する段階と、
変換された設定内容を所定の表示装置に表示させるとともに、前記設定内容が同一となる複数のリソースについては同一の態様で表示させるための表示制御を行う段階とを有する、方法。
【請求項6】
それぞれ、他のリソースと階層的に関連付けられ、且つ、所定のグループに分類可能な状態で存在し、分類されたときはグループ単位でアクセス制御の設定がなされる複数のリソースに対してアクセス可能な端末装置、及び、前記アクセス制御の設定を行う者が視認可能な表示装置と接続される、メモリを有するコンピュータを、
前記端末装置から、階層構造を表す情報と各々のリソースのIDとを含む第1情報、各々のリソースがどのグループに分類されたかをそのグループ名と共に表す第2情報、及び、各々のグループについて非パス表現形式で設定されたアクセス制御の内容を表す第3情報を取得する情報取得手段、
取得した第1〜第3情報を前記メモリに保持するメモリ手段、
前記メモリに保持されている情報のうち、前記第1情報により特定される各階層のリソースのIDと、前記第2情報により特定されるそのリソースが属するグループ名とをリンクさせ、さらに、各グループ名と、前記第3情報により特定されるそのグループに設定されたアクセス制御の内容とをリンクさせることにより、当該アクセス制御の設定内容をパス表現形式のものに変換する変換手段、
変換された設定内容を前記表示装置に表示させるとともに、前記設定内容が同一となる複数のリソースについては同一の態様で表示させる表示制御手段、として機能させる、
コンピュータプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【公開番号】特開2011−138299(P2011−138299A)
【公開日】平成23年7月14日(2011.7.14)
【国際特許分類】
【出願番号】特願2009−297532(P2009−297532)
【出願日】平成21年12月28日(2009.12.28)
【出願人】(000102728)株式会社エヌ・ティ・ティ・データ (438)
【Fターム(参考)】
【公開日】平成23年7月14日(2011.7.14)
【国際特許分類】
【出願日】平成21年12月28日(2009.12.28)
【出願人】(000102728)株式会社エヌ・ティ・ティ・データ (438)
【Fターム(参考)】
[ Back to top ]