本発明の実施形態の説明に先立って、実施形態の説明に用いる用語について説明する。
「アクセス制御リスト」は、あるアクセス元から、あるアクセス先へのアクセスを認めるか否かを示す情報のリストである。アクセス制御リストは、各種アクセス制御装置に依存した記述形式で表される。アクセス制御リスト中にリストとして列挙される情報は、一般的には、1行毎に記述される。よって、以下では、リストとして列挙される個々の情報、つまり、あるアクセス元からあるアクセス先へのアクセスを認めるか否かを示す個々の情報を「行」と記すことにする。ただし、リストとして列挙される情報は、必ずしも行毎に記述される必要はない。
「アクセス制御ポリシ」は、アドホックグループにアクセス先リソースを共有させるための設定情報の集合である。「アドホックグループ」は、定められた属性を有するユーザをグループ化したものである。アドホックグループに属するユーザは、固定的に定められず、動的に変化する。例えば、あるユーザが、定められた属性を有することになったならばアドホックグループに属することとなり、その属性を失ったならばアドホックグループから外されることとなる。
ユーザの属性としては、例えば、ユーザが属しているユーザグループ、ユーザの位置、ユーザがリソースにアクセス可能な時刻(時間帯)等がある。ユーザグループの具体例としては、部課等の所属、プロジェクトチーム、役職等が挙げられる。ユーザの位置の具体例としては、事業所や部屋等が挙げられる。リソースの具体例としては、アクセス先となる装置、ファイル、アプリケーションソフトウェア等が挙げられる。アクセス制御ポリシの記述には、例えば、ユーザグループ、ユーザの位置、リソースの名称、ユーザがリソースにアクセス可能な時刻(時間帯)等が含まれる。
アドホックグループに属するための条件としては、上記した時刻等以外の属性を用いることもできる。例えば、「ユーザが何をしているところか」、又は「ユーザ自身の状況」をユーザの属性としてもよい。具体的には、「電話中」、「接客・打ち合わせ中」、「食事中」、「通勤中」、「睡眠・仮眠中」、「多忙」等をユーザの属性としてもよい。また、例えば、「ワークフロー(作業の進行状況)」をユーザの属性としてもよい。具体的には、「〜の作業を終えた」、「チェックを通過した」、「〜の段階まで進んだ」、「〜を所持・携帯している」等をユーザの属性としてもよい。また、「ユーザが使用しているシステムの環境」をユーザの属性とすることもできる。具体的には、「OSの種類・バージョン」、「パッチ・ウィルスチェックの状態」、「ハードウェアやソフトウェアの構成・導入・環境」等をユーザの属性としてもよい。
「オブジェクト」とは、アクセス制御ポリシに記述された内容(例えば、ユーザグループ、位置、リソース等)を表すデータや、そのデータに関連付けられたデータである。「オブジェクト」のうち、ユーザグループ、位置、リソース等のアクセス制御ポリシに、名称として記述された内容を表すオブジェクトを「名前型オブジェクト」と記す。また、「オブジェクト」のうち、「名前型オブジェクト」に関連付けられたオブジェクトを「実体型オブジェクト」と記す。
例えば、ユーザグループの名称である「開発チーム」、「チームリーダ」等は、名前型オブジェクトに該当する。そして、「チームリーダ」という名前型オブジェクトに「i-takahashi」、「s-watanabe」等の個人のID(ユーザID)が関連付けられている場合、そのユーザIDが実体型オブジェクトに該当する。また、位置の名称である「本社会議室A」等は、名前型オブジェクトに該当する。そして、「本社会議室A」という名前型オブジェクトにアクセス元のIPアドレス「1.1.1.0/24」が関連付けられている場合、このアクセス元のIPアドレスが実体型オブジェクトに該当する。
また、リソースの名称である「関西オフィス共有資料サーバ」等は、名前型オブジェクトに該当する。そして、「関西オフィス共有資料サーバ」という名前型オブジェクトにアクセス先のIPアドレス「9.9.9.9」及びポート番号「80」及び「443」が関連付けられている場合、このアクセス先のIPアドレス及びポート番号の組み合わせが実体型オブジェクトに該当する。
なお、名前型オブジェクトは、ユーザグループ、位置、リソースの名称に限定されるわけではない。同様に、実体型オブジェクトは、個人のID、アクセス元のIPアドレス、アクセス先のIPアドレスとポート番号の組み合わせに限定されるわけではない。アクセス元のIPアドレスやネットワークドメイン、ポート番号やプロトコルなどを、位置を表す名前型オブジェクトに関連付けられる実体型オブジェクトとしてよい。また、アクセス先のIPアドレスやネットワークドメイン、ポート番号やプロトコル、URLやファイルパス、操作や権限等を、リソースを表す名前型オブジェクトに関連付けられる実体型オブジェクトとしてよい。
アクセス元となる位置の名前型オブジェクトには、その位置を識別可能なアクセス元識別情報が実体型オブジェクトとして関連付けられる。また、アクセス先となるリソースの名前型オブジェクトには、そのリソースを識別可能なアクセス先識別情報が実体型オブジェクトとして関連付けられる。
「オブジェクト知識」は、オブジェクト同士の関係を示すデータである。図1は、オブジェクト知識のデータ構造の例を示している。オブジェクト知識には、名前型オブジェクト及び実体型オブジェクトが含まれる。そして、オブジェクト知識は、オブジェクト同士の関係に関する情報、具体的には、オブジェクトから他のオブジェクトへの経路に関する情報を有する。この経路は、方向性を有する。従って、オブジェクト知識は有向グラフとして表される。
図1に示すように、名前型オブジェクトは、他の名前型オブジェクト又は実体型オブジェクトへの経路を0個以上有する。相互に異なる名前型オブジェクトが、それぞれ同一の名前型オブジェクト又は実体型オブジェクトへの経路を有していてもよい。実体型オブジェクトは、他のオブジェクトへの経路を持たない。このため、他のオブジェクトへの経路を有するのは、名前型オブジェクトのみである。
ただし、実体型オブジェクトと同一内容のオブジェクトを名前型オブジェクトに含め、その名前型オブジェクトから実体型オブジェクトへの経路を持たせることにより、実質的に、実体型オブジェクトが実体型オブジェクトへの経路を持っているのと同様のオブジェクト知識を作成することはできる。例えば、「s-watanabe」等の個人のIDをユーザグループの名称であるとみなして名前型オブジェクトとし、その名前型オブジェクト「s-watanabe」から実体型オブジェクト「k-satou」への経路を持たせるようにしてもよい。
ある名前型オブジェクトを起点として、実体型オブジェクトへ向かう経路を探索し、実体型オブジェクトの集合を得ること「展開」と記す。名前型オブジェクトを起点として実体型オブジェクトを得る過程では、名前型オブジェクトを辿ってもよい。探索の手法としては、例えば、深さ優先探索や幅優先探索を採用できる。ただし、探索手法はこれらに限定されるわけではない。
図2は、名前型オブジェクト「E」を基点とした展開の例を示している。名前型オブジェクト「E」は、名前型オブジェクト「F」及び「G」への経路を有している。そして、名前型オブジェクト「F」は、実体型オブジェクト「γ」、「δ」及び「ε」への経路を有し、名前型オブジェクト「G」は、実体型オブジェクト「ε」及び「ζ」への経路を有している。従って、オブジェクト知識が同図に示すような経路を有する場合、名前型オブジェクト「E」を起点とて展開を行った場合には、実体型オブジェクト「γ」、「δ」、「ε」及び「ζ」が得られる。
なお、展開において、既に探索した実体型オブジェクトに辿り着いた場合には、その実体型オブジェクトを重複して取得することは行わない。例えば、図2に示す例において、名前型オブジェクト「F」からの探索により実体型オブジェクト「ε」を得ていた場合、名前型オブジェクト「G」からの探索により再び実体型オブジェクト「ε」を得たとしても、「G」からの探索により得た「ε」は破棄して、「ε」を重複して取得しないようにする。また、既に通過した名前型オブジェクトに再度辿り着いた場合、その名前型オブジェクトからの探索は行わない。例えば、図2に示す例では、名前型オブジェクト「F」は、名前型オブジェクト「G」への経路を有している。既に、名前型オブジェクト「E」から「G」を辿り、実体型オブジェクト「ε」及び「ζ」を得ている場合に、名前型オブジェクト「F」から「G」に辿り着いたならば、その名前型オブジェクト「G」からの探索は行わない。
オブジェクト知識が変更されると、展開によって得られる実体型オブジェクトが変化する。図1に示す例において、名前型オブジェクト「G」が実体型オブジェクト「α」への経路を有するように変更されたとする。この場合には、名前型オブジェクト「G」から展開される実体型オブジェクトの集合には、「ε」及び「ζ」の他に「α」が追加される。また、名前型オブジェクト「G」を辿ることになる他の名前型オブジェクト(図1に示す例では「E」及び「F」)から展開される実体型オブジェクトの集合にも「α」が追加されることになる。このとき、経路が直接に変更された名前型オブジェクト(「G」)を、「直接更新された名前型オブジェクト」と記す。また、「直接更新された名前型オブジェクト」を辿ることになる名前型オブジェクト(「E」及び「F」)を、「間接的に更新された名前型オブジェクト」と記す。
図1及び図2に示すように、オブジェクト知識は木構造ではない。木構造は、起点となるルートを一つだけ有するが、オブジェクト知識は、どの名前型オブジェクトも探索の起点とすることができる。
図3は、オブジェクト知識の具体例を示す。同図では、名前型オブジェクトとしてユーザグループの名称を有し、実体型オブジェクトとして個人のIDを有するオブジェクト知識を示している。同図に示すオブジェクト知識について、名前型オブジェクト「新システム導入プロジェクトメンバ」を起点に展開する場合を説明する。「新システム導入プロジェクトメンバ」は、2つの名前型オブジェクト「システム設計折衝メンバ」及び「システム経費折衝メンバ」への経路を有している。また、この二つの名前型オブジェクトは、いずれも名前型オブジェクト「システム管理者」への経路を有している。「システム設計折衝メンバ」、「システム経費折衝メンバ」及び「システム管理者」は、それぞれ実体型オブジェクト「i-takahashi」、「s-watanabe」、「m-itou」への経路を有している。従って、「新システム導入プロジェクトメンバ」を起点に展開する場合、実体型オブジェクト「i-takahashi」、「s-watanabe」及び「m-itou」が得られる。
また、図示は省略するが、名前型オブジェクトとしてユーザの位置の名称を有し、実体型オブジェクトとしてアクセス元のIPアドレスを有するオブジェクト知識を例に、名前型オブジェクトを起点に展開する場合について説明する。この場合、例えば、名前型オブジェクト「本社オフィス会議室A」を展開することで、「1.1.1.0/24」等のIPアドレスが得られ、「関西オフィス討議室B」を展開することで、「2.2.2.192/26」及び「3.3.3.192/26」等のIPアドレスが得られる。また、オブジェクト知識が、名前型オブジェクトとしてリソースの名称を有し、実体型オブジェクトとしてアクセス先のIPアドレスとポート番号の組み合わせを有する場合には、例えば、名前型オブジェクト「本社共有資料サーバ」を展開することで、IPアドレス「7.7.7.7」とポート番号「138」、「139」との組み合わせ、及び、IPアドレス「8.8.8.8」とポート番号「80」との組み合わせが得られる。なお、ここに示した位置やリソースの名称、各IPアドレス及び各ポート番号は例示である。
「中間言語」は、特定のアクセス制御装置に依存しない記述形式で書かれたアクセス制御の設定情報である。中間言語は、アクセス制御ポリシから生成され、その中間言語から、アクセス制御リストが生成される。図4は、アクセス制御ポリシからアクセス制御リストが生成される様子を概念的に示している。中間言語は、一つまたは複数のルールの集合として構成される。各ルールには、アクセス元とアクセス先の組み合わせが含まれる。また、同図に示すように、一つのルールからは、一つまたは複数の行が生成される。この行の集合がアクセス制御リストとなる。
以下、図面を参照しつつ、本発明の実施の形態について詳細に説明する。
第1実施形態
図5は、本発明の第1実施形態のアクセス制御システムの構成をブロック図で示している。アクセス制御システム100は、ポリシエンジン11と、知識データベース21と、アクセス制御装置31とを備える。アクセス制御システム100は、コンピュータシステムとして構成できる。ポリシエンジン11、知識データベース21、及び、アクセス制御装置31は、それぞれ別個のコンピュータシステムとして構成できる。
知識データベース21は、一つ、又は、複数のデータ格納手段として構成され、オブジェクト知識を格納する。ポリシエンジン11は、知識データベース21を参照して、動的に変化するアドホックグループに対するアクセス制御を表現できるアクセス制御ポリシから、アクセス制御リストを生成する。アクセス制御装置31は、ポリシエンジン11で生成されたアクセス制御リストに基づいて、アクセス制御を行う。アクセス制御装置31は、例えば、ファイアウォールや、VPNゲートウェイ等の認証機能を有するアクセス制御装置や、外部から記憶しているファイルへのアクセス制御を行うサーバ装置等として構成される。
知識データベース21は、オブジェクト知識管理手段2021と、オブジェクト知識格納手段2031とを有する。オブジェクト知識管理手段2021は、例えば、プログラムに従って動作するCPU、及びポリシエンジン11との通信インタフェースによって実現される。オブジェクト知識格納手段2031は、例えば、プログラムに従って動作するCPU、及び、不揮発性メモリ又はハードディスク等の記憶装置によって実現される。ここに挙げた各手段を実現するためのCPUは、共通のCPUであってよい。
オブジェクト知識格納手段2031は、記憶装置内に、オブジェクト知識を格納する。オブジェクト知識格納手段2031は、名前型オブジェクトとしてグループの名称を有するオブジェクト知識、名前型オブジェクトとして位置の名称を有するオブジェクト知識、又は、名前型オブジェクトとしてリソースの名称を有するオブジェクト知識を格納する。これら各オブジェクト知識は、それぞれ別個の記憶装置内に格納することもできる。また、オブジェクト知識格納手段2031は、これらオブジェクト知識以外のオブジェクト知識を格納していてもよい。オブジェクト知識管理手段2021は、オブジェクト知識格納手段2031を参照して、オブジェクト知識の検索、参照を行う機能を有する。
ポリシエンジン11は、ポリシ編集手段1011と、ポリシ格納手段1021と、ポリシ解析手段1031と、アクセス制御リスト設定手段1061とを備える。ポリシ編集手段1011は、例えば、プログラムに従って動作するCPU、入力装置(キーボードやマウス等)及び出力装置(ディスプレイ装置等)によって実現される。ポリシ格納手段1021は、例えば、プログラムに従って動作するCPUと記憶装置とによって実現される。ポリシ解析手段1031は、例えば、プログラムに従って動作するCPUによって実現される。アクセス制御リスト設定手段1061は、例えば、プログラムに従って動作するCPU、及び、アクセス制御装置31との間の通信インタフェースによって実現される。ここに挙げた各手段を実現するためのCPUは、共通のCPUであってよい。
ポリシ格納手段1021は、記憶装置内に、アクセス制御ポリシを格納する。ポリシ編集手段1011は、アクセス制御ポリシの編集を行うためのユーザインタフェースをユーザに提供する。ポリシ編集手段1011は、ユーザの操作に応じて、ポリシ格納手段1021に格納されたアクセス制御ポリシの検索、参照、追加、修正、削除等を行う。ポリシ編集手段1011は、ポリシ格納手段1021内のアクセス制御ポリシの追加、修正、削除を行うと、ポリシ解析手段1031に、アクセス制御ポリシの変更があった旨の通知を行う。
図6は、アクセス制御ポリシの具体例を示している。アクセス制御ポリシは、ポリシID、アクセス可否、ユーザグループ、位置、及び、リソースの項目を有する。項目「ポリシID」には、個々のアクセス制御ポリシを特定するためのIDが格納される。このIDは、アクセス制御ポリシがポリシ格納手段1021に格納される際に、ポリシ編集手段1011又はポリシ格納手段1021によって一意に割り当てられる。項目「アクセス可否」は、ユーザグループ、アクセス元となるユーザの位置、及び、アクセス先となるリソースの条件が満たされた場合に、アクセスを許可するか否かを示す。
項目「ユーザグループ」、「位置」、及び、「リソース」には、それぞれ0個以上の名前型オブジェクトが記述される。アクセス制御ポリシに記述される名前型オブジェクトは、知識データベース21に格納されているオブジェクト知識の中に含まれている。また、名前型オブジェクトが0個となるのは、その項目に対応する実体型オブジェクトが存在しない場合である。例えば、アクセス元となるユーザの位置を制限しない場合には、位置の項目に対応する実体型オブジェクトは存在せず、その項目には、名前型オブジェクトが記述されない。
ポリシ解析手段1031及びアクセス制御リスト設定手段1061は、アクセス制御情報生成手段を構成する。ポリシ解析手段1031は、アクセス制御ポリシの変更があった旨の通知を受け取ると、ポリシ格納手段1021から、変更後のアクセス制御ポリシを読み込む。ポリシ解析手段1031は、知識データベース21を参照して、読み込んだアクセス制御ポリシに記述された名前型オブジェクトを、実体型オブジェクトの集合に置き換えながら、中間言語を生成する。アクセス制御リスト設定手段1061は、ポリシ解析手段1031から中間言語を取得して、その取得した中間言語から、アクセス制御リストを生成する。
アクセス制御装置31は、アクセス制御リスト格納手段3011と、アクセス制御手段302とを備える。アクセス制御リスト格納手段3011は、例えば、プログラムに従って動作するCPU、記憶装置及びポリシエンジン11との通信インタフェースによって実現される。アクセス制御手段302は、プログラムに従って動作するCPU、及びポリシエンジン11との通信インタフェースによって実現される。ここに挙げた各手段を実現するためのCPUは、共通のCPUであってよい。
アクセス制御リスト格納手段3011は、記憶装置内に、アクセス制御リストを格納する。アクセス制御リスト格納手段3011は、ポリシエンジン11が、新たにアクセス制御リストを生成すると、現在格納しているアクセス制御リストを、新たに生成されたアクセス制御リストで更新する。アクセス制御手段302は、アクセス制御リスト格納手段3011に格納されたアクセス制御リストが更新されると、更新後のアクセス制御リストを読み込み、読み込んだアクセス制御リストの内容に従って、監視対象のネットワーク等のアクセス制御を行う。
図7は、図6に示すアクセス制御ポリシから生成される中間言語の具体例を示している。中間言語は、ポリシID、アクセス可否、ユーザID、アクセス元、及び、アクセス先の項目を有する。ポリシID及びアクセス可否は、それぞれ生成元のアクセス制御ポリシと同じ情報を有する。ユーザIDは、アクセス制御ポリシのユーザグループに記述された名前型オブジェクト(グループ名)から展開された、ユーザID等のユーザを特定する情報(実体型オブジェクト)を有する。図7の例では、ユーザIDの項目は、図6に示す「ポリシ会議メンバ」を展開することにより、ユーザIDの実体型オブジェクトとして得られる「UserA」及び「UserB」を有する。
アクセス元は、アクセス制御ポリシの位置に記述された名前型オブジェクトから展開された、アクセス元のIPアドレスや、ポート番号、プロトコル等のアクセス元を示す情報(実体型オブジェクト)を有する。また、アクセス先は、アクセス制御ポリシのリソースに記述された名前型オブジェクトから展開された、アクセス先のIPアドレスや、ポート番号、プロトコル等のアクセス先の情報(実体型オブジェクト)を有する。図7の例では、アクセス元の項目は、図6に示す「本社オフィス会議室A」等を展開することにより、アクセス元の実体型オブジェクトとして得られる「1.1.1.0/255.255.255.0」等を有し、アクセス先の項目は、「本社資料ファイルサーバ」等を展開することにより、アクセス先の実体型オブジェクトとして得られる「3.3.3.3:138(tcp)」等を有する。
図8は、図7に示す中間言語から生成されるアクセス制御リストの具体例を示している。この例では、アクセス制御リストは、アクセス可否と、プロトコルと、アクセス元IPアドレスと、アクセス先IPアドレスと、アクセス元ポート番号と、アクセス先ポート番号と、ユーザIDとの組合せを1行としている。これら各行の集合がアクセス制御リストとなる。アクセス制御リストの各行は、中間言語に含まれる「アクセス可否」、「ユーザID」、「アクセス元」、「アクセス先」から一つずつの要素を抽出して、その要素の組み合わせることにより生成される。
中間言語には、アクセス元となる実体型オブジェクトの集合と、アクセス先となる実体型オブジェクトの集合とを有するルールが含まれる。各ルールには、それぞれ生成元となるアクセス制御ポリシのIDが記述される。図7に示す例では、アクセス制御ポリシから生成された一つのルールのみを含んでいる場合を示している。図9は、アクセス制御ポリシの他の例を示している。そして、図10及び図11は、図9に示すアクセス制御ポリシから生成された9個のルールを示している。図10及び図11に示す9個のルールからは、図12に示すようなアクセス制御リストが生成される。ただし、図12では、9個のルールから生成されたアクセス制御リストの一部を抜粋して示し、その他を省略している。
図13は、アクセス制御システムの動作例をフローチャートで示している。ポリシ編集手段1011は、管理者等のユーザに対して、アクセス制御ポリシの編集を行うためのユーザインタフェースを提示する(ステップA10)。図14は、ステップA10でユーザに提示される、アクセス制御ポリシの選択に用いられるユーザインタフェースを示している。ポリシ編集手段1011は、ポリシ格納手段1021から、アクセス制御ポリシのリストを取得し、そのリストを図14に示すようなユーザインタフェース上に表示する。このユーザインタフェース上には、既存のアクセス制御ポリシのリストと共に、ユーザにアクセス制御ポリシの選択を促すための選択ボタン51が表示される。
ユーザが、図14に示すユーザインタフェース上で、既存のアクセス制御ポリシを選択すると、ポリシ編集手段1011は、選択されたアクセス制御ポリシを、ポリシ格納手段1021から取得する。そして、オブジェクト知識管理手段2021に、ユーザグループ、位置及びリソースのそれぞれに該当する名前型オブジェクトのリストの取得を要求する。オブジェクト知識管理手段2021は、ポリシ編集手段1011からの要求に応じて、オブジェクト知識格納手段2031から名前型オブジェクトのリストを抽出し、抽出したリストをポリシ編集手段1011に出力する。
図15は、ステップA10でユーザに提示される、アクセス制御ポリシの編集用ユーザインタフェースを示している。ポリシ編集手段1011は、ポリシ格納手段1021から取得したアクセス制御ポリシ、及び、オブジェクト知識管理手段2021から入力された名前型オブジェクトのリストに基づいて、図15に示すような編集用インタフェースを作成し、これを表示画面上に表示する。この編集用インタフェース上には、選択可能な名前型オブジェクトがリストとして表示されると共に、ユーザに選択を促すための選択ボタンが表示される。ユーザは、例えば選択ボタン上にマウスカーソルを合わせ、クリックすることにより、その選択ボタンに該当する名前型オブジェクトの選択状態を変更する。
図15に示す例では、ポリシ編集手段1011は、「ユーザグループの選択」欄に、ユーザグループの名前型オブジェクトのリストを選択ボタンと共に表示する。同様に、「位置の選択」欄に、位置の名前型オブジェクトのリスト及び選択ボタンを表示し、「リソースの選択」欄に、リソースの名前型オブジェクトのリスト及び選択ボタンを表示する。ポリシ編集手段1011は、ポリシ格納手段1021から得たアクセス制御ポリシの記述内容に応じて、既に設定されている内容に該当する選択ボタンを所定の表示態様で表示する。例えば、既に設定されている内容に該当する選択ボタンを黒色で表示している。
図14に示すユーザインタフェースにおいて「新規」が選択された場合には、ポリシ編集手段1011は、ポリシ格納手段1021から既存のアクセス制御ポリシを取得することなく、アクセス制御ポリシの編集用のユーザインタフェースを、表示画面上に表示すればよい。この場合、ポリシ編集手段1011は、オブジェクト知識管理手段2021から入力された名前型オブジェクトのリストと共に、初期状態、例えば、白色表示の状態とした選択ボタンを、アクセス制御ポリシの編集用のユーザインタフェースの表示画面上に表示する。
図15に示す「ポリシの説明」は、例えば、ユーザがアクセス制御ポリシを認識できるようなアクセス制御ポリシの名称を示している。ポリシ格納手段1021は、「ポリシの説明」に入力された内容を、アクセス制御ポリシと対応させて格納している。ポリシ編集手段1011は、ポリシ格納手段1021からアクセス制御ポリシのリストを取得する際には、「ポリシの説明」に入力された内容のリストを取得する。これにより、図14に示すユーザインタフェース上には、図15に示す「ポリシの説明」に入力された記述内容のリストが、アクセス制御ポリシのリストとして表示される。
ユーザが、アクセス制御ポリシの編集を行って、図15に示す「ポリシ決定」ボタンをクリックすると、ポリシ編集手段1011は、編集用ユーザインタフェース上で編集されたアクセス制御ポリシをポリシ格納手段1021に出力し、ポリシ格納手段1021は、格納するアクセス制御ポリシを、編集後のアクセス制御ポリシで更新する(ステップA20)。このとき、新規に作成されたアクセス制御ポリシに対しては、ポリシ格納手段1021がアクセス制御ポリシを格納する際に、アクセス可否の情報(図6参照)が付加される。アクセス可否の情報としては、一律に「許可」を付与してもよく、一律に「不許可」を付与してもよい。また、アクセス可否の情報を「許可」と「不許可」のいずれにするのかをユーザに入力させてもよい。ユーザが、図15に示す「編集中止」ボタンをクリックした場合には、編集用ユーザインタフェース上で編集された内容は破棄される。
ポリシ編集手段1011は、アクセス制御ポリシが更新された後、ポリシ解析手段1031に、アクセス制御ポリシが更新された旨の通知を行う(ステップA30)。ポリシ解析手段1031は、更新通知を受け取ると、ポリシ格納手段1021から、アクセス制御ポリシを読み込んで、内容の解析を行う。そして、読み込んだアクセス制御ポリシから得られるルールを生成して、そのルールの集合である中間言語を生成する(ステップA40)。アクセス制御リスト設定手段1061は、ポリシ解析手段1031が生成した中間言語を入力し、入力した中間言語に基づいてアクセス制御リストを生成する(ステップA50)。
図16は、ステップA40の中間言語生成処理の詳細な手順をフローチャートで示している。ポリシ解析手段1031は、ポリシ編集手段1011から、更新通知を受け取る(ステップA401)。ポリシ解析手段1031は、ポリシ格納手段1021に格納されたアクセス制御ポリシを全て読み込む(A402)。ポリシ解析手段1031は、読み込んだアクセス制御ポリシの中に、未展開の名前型オブジェクトがあるか否かを判断する(ステップA403)。ポリシ解析手段1031は、未展開の名前型オブジェクトがあると判断するときには、オブジェクト知識管理手段2021に対して、その未展開の名前型オブジェクトを受け渡して、その名前型オブジェクトを起点とする展開を要求する(ステップA404)。
オブジェクト知識管理手段2021は、オブジェクト知識格納手段2031を参照して、ポリシ解析手段1031から受け取った名前型オブジェクトを起点として展開を行う(ステップA405)。ステップA405では、名前型オブジェクトから実体型オブジェクトへ向かう経路を探索し、実体型オブジェクトの集合を得る。前述のように、探索手法としては、深さ優先探索や幅優先探索を採用できる。また、オブジェクト知識管理手段2021は、例えば、既に探索した実体型オブジェクトに辿り着いた場合、その実体型オブジェクトを重複して取得することは行わず、既に通過した名前型オブジェクトに再度辿り着いた場合、その名前型オブジェクトからの探索は行わない。
ポリシ解析手段1031は、オブジェクト知識管理手段2021から、展開により得られた実体型オブジェクトの集合を受け取り、アクセス制御ポリシ中に記述された名前型オブジェクトを、実体型オブジェクトの集合に置き換える処理を行う(ステップA406)。ステップA406では、ポリシ解析手段1031は、例えば、「ポリシ会議メンバ」という名前型オブジェクトから「UserA」及び「UserB」という実体型オブジェクトが得られたときには、図6に示すアクセス制御ポリシ中の「ポリシ会議メンバ」という名前型オブジェクトを、「UserA」及び「UserB」という実体型オブジェクトに置き換える。
ステップA404〜A406までは、ステップA403で、未展開の名前型オブジェクトがないと判断されるまで繰り返し実行される。この過程により、アクセス制御ポリシ中に、ユーザグループ、位置及びリソース等として記述された名前型オブジェクトが、全て、実体型オブジェクトの集合に置き換えられる。ポリシ解析手段1031は、名前型オブジェクトから展開された実体型オブジェクトを含むアクセス制御ポリシを中間言語の記述形式に変換し、中間言語を生成する(ステップA407)。本実施形態では、ポリシ格納手段1021からすべてのアクセス制御ポリシを読み込み、そのアクセス制御ポリシに基づいて中間言語を生成している。従って、ステップA407で生成される中間言語には、全てのアクセス制御ポリシから得られるルールが全て含まれている。ポリシ解析手段1031は、生成した中間言語をアクセス制御リスト設定手段1061に出力する(ステップA408)。
図17は、ステップA50のアクセス制御リスト生成処理の詳細な手順をフローチャートで示している。アクセス制御リスト設定手段1061は、ポリシ解析手段1031が生成した中間言語を入力する(ステップA501)。アクセス制御リスト設定手段1061は、中間言語の中に、後述のステップA503(組み合わせ生成処理)を行っていないルールがあるか否かを判別する(ステップA502)。アクセス制御リスト設定手段1061は、まだ、組合せ生成処理を行っていないルールがあると判断したときには、中間言語のルールから、アクセス制御リストの行として記述することのできる各組み合わせを生成する(ステップA503)。
アクセス制御リスト設定手段1061は、組合せ生成処理を行っていないルールがないと判断したときには、生成された各組み合わせをアクセス制御リスト(行)の記述形式に変換し、アクセス制御リストを生成する(ステップA504)。中間言語には、上記したように、全てのアクセス制御ポリシから得られるルールが全て含まれている。従って、アクセス制御リストには、全てのルールに基づいて生成される行が全て含まれている。アクセス制御リスト設定手段1061は、生成したアクセス制御リストをアクセス制御リスト格納手段3011に出力する(ステップA505)。
ステップA503では、アクセス制御リスト設定手段1061は、各ルールに含まれる実体型オブジェクトの集合に含まれる要素を、ユーザID、アクセス元及びアクセス先ごとに1つずつ取り出して、各組合せを生成する。ユーザID、アクセス元及びアクセス先から1つずつ取り出した要素を組み合わせることで、アクセス制御リストの一つの行が生成される。
ただし、一つの要素となる項目は不変とは限らず、目的とするアクセス制御リストに応じて変わる。例えば、図7に例示した中間言語に含まれるルールでは、アクセス元に対応する項目は一つであり、アクセス元IPアドレスが一つの要素となっている。また、アクセス先についても、IPアドレスとポート番号とプロトコルの組み合わせが一つの要素として記述されている。一方、図10及び図11に例示した中間言語に含まれるルールでは、アクセス元については、IPアドレスとポート番号がそれぞれ別々の要素となっている。また、アクセス先についても、IPアドレスとポート番号がそれぞれ別々の要素となっており、IPアドレスが一つの要素となり、ポート番号とプロトコルの組み合わせがもう一つの要素となっている。
図7に示す中間言語から、図8に示すアクセス制御リストを生成する例について説明する。図7では、ユーザIDに対応する要素の種類は2種類ある。また、アクセス元に対応する要素(IPアドレス)の種類も2種類あり、アクセス先に対応する要素(IPアドレスとポート番号とプロトコルの組み合わせ)は4種類ある。これら要素を、ユーザID、アクセス元及びアクセス先のそれぞれから1つずつ取り出し、取り出した要素を組み合わせて、これらを一つの行としていくと、図8に示すように、16個の行が得られる。
また、中間言語からアクセス制御リストを生成する別の具体例として、図10及び図11に示す中間言語から、図12に示すアクセス制御リストを生成する例について説明する。ここでは、図10に示す1番目のルールに着目して説明する。このルールでは、ユーザIDに対応する要素の種類として、「i-takahashi」から「h-suzuki」までの5種類がある。アクセス元に対応する二つの要素のうちの一方(IPアドレス)の種類は1種類であり、他方(ポート番号)の種類も1種類である。また、アクセス先に対応する二つの要素のうちの一方(IPアドレス)の種類は1種類であり、他方(ポート番号とプロトコルの組み合わせ)の種類は、「137−138(udp)」等の5種類ある。従って、これらの要素毎に得られる内容の組み合わせから、図12に示す1行目から25行目までの行が得られる。図10及び図11に示す他のルールからも同様に、行が得られる。
なお、ユーザIDの要素として得られる各内容を行毎に分けずに、1行にまとめて記述することもできる。例えば、図10に示す1番目のルールにおける5種類のユーザIDを、カンマで区切って、図18に示すように、1つの行にまとめて記述してもよい。また、図10及び図11に示すルールでは、アクセス先に対応する要素である「ポート番号とプロトコルの組み合わせ」として、「137−138(udp)」という内容がある。このように複数のポート番号を含む場合、「137(udp)」及び「138(udp)」として分けて処理してもよい。
図13に戻り、アクセス制御リスト格納手段3011は、アクセス制御リスト設定手段1061が生成したアクセス制御リストを入力して、現在格納している既存のアクセス制御リストを、新たに生成されたアクセス制御リストに置き換える(ステップA60)。アクセス制御リストが置き換えられた後、アクセス制御リスト設定手段1061は、アクセス制御手段302に対して、アクセス制御の設定を指示する。設定指示を受け取ったアクセス制御手段302は、アクセス制御リスト格納手段3011からアクセス制御リストを読み込み、読み込んだアクセス制御リストの内容に従ったアクセス制御を実行する(A070)。
本実施の形態では、アクセス制御ポリシには、ユーザID等を直接に記述せずに、名前型オブジェクトを用いて記述する。ポリシエンジン11は、知識データベース21を参照して、アクセス制御ポリシ中に記述されたユーザグループ等の名称を、ユーザID等に置き換えて、アクセス制御ポリシを生成する。ユーザは、編集や入力が容易な名称を、アクセス制御ポリシ中に記述すればよいため、詳細で複雑なアクセス制御リストを、簡易に生成することができる。
オブジェクト知識では、複数の名前型オブジェクトが、同一の実体型オブジェクトへの経路を有することができる。本実施形態では、このようなオブジェクト知識を用いて、ユーザグループからユーザIDへの展開を行う。このため、複数の組織に属するユーザをメンバとして含んでいるユーザグループについてアクセス制御を実現するアクセス制御リストを、簡易に生成でき、動的に変化するアドホックグループに対するアクセス制御を容易に実現できる。
第2実施形態
図19は、本発明の第2実施形態のアクセス制御システムの構成を示している。アクセス制御システム100aは、ポリシエンジン12と、知識データベース22と、アクセス制御装置3とを備える。ポリシエンジン12は、ポリシ編集手段1012と、ポリシ格納手段1022と、ポリシ解析手段1032と、アクセス制御リスト設定手段1062とを有する。知識データベース22は、オブジェクト知識管理手段2022と、オブジェクト知識格納手段2032とを有する。本実施形態は、アクセス制御リストの更新の手法が、第1実施形態と相違する。
ポリシ編集手段1012は、アクセス制御ポリシが新規に作成され、或いは、変更がされると、そのアクセス制御ポリシのIDを含む更新通知を、ポリシ解析手段1032に出力する。ポリシ解析手段1032は、更新通知に含まれるIDによって特定されるアクセス制御ポリシを、ポリシ格納手段1022から読み出し、そのアクセス制御ポリシに対応するルール(中間言語の一部)を生成する。
アクセス制御リスト設定手段1062は、ポリシ解析手段1032が生成したルールからアクセス制御リストの追加・変更部分を生成する。アクセス制御リスト格納手段301は、アクセス制御リストの各行が、どのアクセス制御ポリシに対応して生成されたかを示す情報を保持している。アクセス制御リスト格納手段301は、アクセス制御リスト設定手段1062が生成したアクセス制御リストの追加・変更部分を入力し、格納するアクセス制御リストのうち、追加・変更部分に対応する部分のみを更新する。その他の動作については第1実施形態と同様である。
図20は、アクセス制御システム100aの動作例をフローチャートで示している。ポリシ編集手段1012は、ユーザに対して、アクセス制御ポリシの編集を行うためのユーザインタフェースを提示する(ステップB10)。ユーザインタフェースの提示態様は、第1の実施の形態と同様である。ユーザが、アクセス制御ポリシの編集を行うと、ポリシ編集手段1012は、アクセス制御ポリシの編集部分をポリシ格納手段1022に出力し、ポリシ格納手段1022は、格納するアクセス制御ポリシを、編集後のアクセス制御ポリシで更新する(ステップB20)。
ポリシ編集手段1012は、アクセス制御ポリシが更新された後、ポリシ解析手段1032に、アクセス制御ポリシが更新された旨の通知を行う(ステップB30)。このときポリシ編集手段1012に通知される更新通知には、例えば、アクセス制御ポリシの更新部分を特定する情報として、新規の、又は、編集されたアクセス制御ポリシのIDが含まれ、また、その更新部分に対して行われた操作の種類が含まれる。操作の種類には、例えば、追加、修正、削除などがある。ポリシ解析手段1032は、更新通知を受け取ると、アクセス制御リスト設定手段1062に、更新通知を受け渡す(ステップB40)。
アクセス制御リスト設定手段1062は、更新通知を受け取ると、アクセス制御リスト格納手段301に格納されているアクセス制御リストの中に、更新通知に含まれるポリシIDに対応する行が存在するか否かを判別する(ステップB50)。アクセス制御リスト設定手段1062は、アクセス制御リストの中に、更新通知に含まれるポリシIDに対応する行が存在すると判断すると、格納するアクセス制御リストから、そのポリシIDに対応する行を削除する(ステップB60)。ポリシ解析手段1032は、更新通知に含まれる操作の種類を特定する(ステップB70)。
ポリシ解析手段1032は、操作の種類が例えば追加、修正であると特定すると、ポリシ格納手段1022から、更新通知に含まれるポリシIDによって特定されるアクセス制御ポリシを読み出して解析を行い、そのアクセス制御ポリシに基づいて、追加・修正部分に対応するルールを生成する(ステップB80)。アクセス制御リスト設定手段1062は、ポリシ解析手段1032が生成したルールを入力し、入力した中間言語に基づいてアクセス制御リストの一部を生成する(ステップB90)
図21は、ステップB80のルール生成処理の詳細な手順をフローチャートで示している。ポリシ解析手段1032は、ポリシ編集手段1012から、更新通知を受け取る(ステップB801)。ポリシ解析手段1032は、更新通知に含まれるポリシIDによって特定されるアクセス制御ポリシを、ポリシ格納手段1022から読み込む(ステップB802)。ポリシ解析手段1032は、読み込んだアクセス制御ポリシの中に未展開の名前型オブジェクトがあるか否かを判断する(ステップB803)。ポリシ解析手段1032は、未展開の名前型オブジェクトがあると判断するときには、オブジェクト知識管理手段2022に、未展開の名前型オブジェクトを受け渡して、その名前型オブジェクトを起点とする展開を要求する(ステップB804)。
オブジェクト知識管理手段2022は、オブジェクト知識格納手段2032を参照して、ポリシ解析手段1031から受け取った名前型オブジェクトを起点として展開を行う(ステップB805)。オブジェクト知識管理手段2022は、この展開により、実体型オブジェクトの集合を得る。ポリシ解析手段1032は、オブジェクト知識管理手段2022から、実体型オブジェクトの集合を受け取り、ステップB802で読み込んだアクセス制御ポリシ中に記述された名前型オブジェクトを、実体型オブジェクトの集合に置き換える処理を行う(ステップB806)。
ステップB804〜B806までは、ステップB803で、未展開の名前型オブジェクトがないと判断されるまで繰り返し実行される。この過程により、更新通知に含まれるポリシIDから特定されるアクセス制御ポリシ中に、ユーザグループ、位置及びリソース等として記述された各名前型オブジェクトが、全て実体型オブジェクトの集合に置き換えられる。ポリシ解析手段1032は、名前型オブジェクトから展開された実体型オブジェクトを含むアクセス制御ポリシを中間言語の記述形式に変換し、ルールを生成する(ステップB807)。本実施形態では、ポリシ格納手段1022から更新対象のアクセス制御ポリシのみを読み込み、そのアクセス制御ポリシに基づいてルールを生成している。従って、ステップB807で生成されるルールは、ポリシ格納手段1022に格納された全てのアクセス制御ポリシのうちの一部分から得られるルールに対応している。ポリシ解析手段1032は、生成したルールをアクセス制御リスト設定手段1062に出力する(ステップB808)。
図22は、ステップB90のアクセス制御リストの一部を生成する処理の詳細な手順をフローチャートで示している。アクセス制御リスト設定手段1062は、ポリシ解析手段1032が生成したルールを入力する(ステップB901)。アクセス制御リスト設定手段1062は、受け取ったルールの中に、後述のステップB903(組み合わせ生成処理)を行っていないルールがあるか否かを判別する(ステップB902)。アクセス制御リスト設定手段1062は、まだ、組み合わせ生成処理を行っていないルールがあると判断したときには、そのルールから、アクセス制御リストの行として記述することのできる各組み合わせを生成する(ステップB903)。
アクセス制御リスト設定手段1062は、組合せ生成処理を行っていないルールがないと判断したときには、生成された各組み合わせをアクセス制御リスト(行)の記述形式に変換し、アクセス制御リストの行を生成する(ステップB904)。このとき、アクセス制御リスト設定手段1062は、生成した各行に、生成元のアクセス制御ポリシのIDを付与する。このようにして生成されたアクセス制御リストの行は、アクセス制御リストの一部を構成する。アクセス制御リスト設定手段1062は、生成したアクセス制御リストの行をアクセス制御リスト格納手段3012に出力する(ステップB905)。
図20に戻り、アクセス制御リスト格納手段301は、アクセス制御リスト設定手段1062が生成した行を入力して、入力した行を、格納している既存のアクセス制御リストに追加して、アクセス制御リストを更新する(ステップB100)。アクセス制御手段302は、アクセス制御リスト設定手段1062から、アクセス制御の設定の指示を受け取り、アクセス制御リスト格納手段301からアクセス制御リストを読み込み、読み込んだアクセス制御リストの内容に従ったアクセス制御を実行する(B110)。ステップB70で、ポリシ解析手段1032が、操作の種類が削除であると特定すると、ステップB110に移行し、アクセス制御手段302は、ステップB60で、行の一部が削除されたアクセス制御リストを読み込んで、読み込んだアクセス制御リストの内容に従ったアクセス制御を実行する。
本実施形態では、アクセス制御ポリシが新規に作成され、或いは、編集されると、アクセス制御リスト格納手段301に格納されたアクセス制御リストのうち、アクセス制御ポリシの変更部分に対応する部分を差分更新する。本実施形態では、第1実施形態と同様な効果が得られると共に、アクセス制御リストの全体を更新する第1実施形態に比して、アクセス制御リストの更新処理における処理量を大幅に削減できる。
アクセス制御リスト格納手段301には、ポリシエンジン12によって生成されたアクセス制御リストの行以外に、管理者が手作業により生成したアクセス制御リストの行を格納することもできる。この場合、ポリシ編集手段1012によりアクセス制御ポリシの一部が変更されたときでも、管理者が手作業によって生成したアクセス制御リストの行は書き換えられず、そのまま残ることになる。従って、ポリシエンジン12によって生成されたアクセス制御リストの行と、ポリシエンジン12以外によって生成されたアクセス制御リストの行との間の独立性を向上させることができる。
第3実施形態
図23は、本発明の第3実施形態のアクセス制御システムの構成を示している。アクセス制御システム100bは、ポリシエンジン13と、知識データベース23と、アクセス制御装置3とを備える。ポリシエンジン13は、ポリシ格納手段1023と、ポリシ解析手段1033と、アクセス制御リスト設定手段1063とを有する。知識データベース22は、オブジェクト知識編集手段201と、オブジェクト知識管理手段2023と、オブジェクト知識格納手段203とを有する。
オブジェクト知識編集手段201は、例えば、プログラムに従って動作するCPU、入力装置、及び、出力装置によって実現される。オブジェクト知識編集手段201は、ユーザが、オブジェクト知識の編集を行うためのユーザインタフェースを提供する。オブジェクト知識管理手段2023は、オブジェクト知識編集手段201によって、オブジェクト知識が新規に作成され、又は、既存のオブジェクト知識が編集されると、新規の、又は、編集されたオブジェクト知識をオブジェクト知識格納手段203に格納させる。また、オブジェクト知識に変更があった旨をポリシ解析手段1033に通知する。
ポリシ解析手段1033は、オブジェクト知識に変更があった旨の通知を受け取ると、ポリシ格納手段1023を検索し、変更があったオブジェクト知識の名前型オブジェクトを含むアクセス制御ポリシを読み出す。また、オブジェクト知識管理手段2023から、実体型オブジェクトの集合を取得する。そして、読み出したアクセス制御ポリシと、取得した実体型オブジェクトの集合とに基づいて、ルール(中間言語の一部)を生成する。アクセス制御リスト設定手段1063は、ポリシ解析手段1033が生成したルールから、アクセス制御リストの行を生成する。
図24は、アクセス制御システム100bの動作例をフローチャートで示している。オブジェクト知識編集手段201は、ユーザに対して、オブジェクト知識の編集を行うためのユーザインタフェースを提示する(ステップC10)。図25は、C10でユーザに提示される、オブジェクト知識の選択に用いられるユーザインタフェースを示している。同図では、ユーザグループ選択用のユーザインタフェースを示している。オブジェクト知識編集手段201は、オブジェクト知識格納手段203から、既存の名前型オブジェクトを取得する。オブジェクト知識編集手段201は、取得した名前型オブジェクトのリストを、選択ボタンと共に、同図に示すようなインタフェース上に表示して、ユーザに名前型オブジェクトの選択を促す。
図26は、ステップC10でユーザに提示される、オブジェクト知識の編集用ユーザインタフェースを示している。ユーザが、図25に示すユーザインタフェース上で、既存のユーザグループを選択すると、オブジェクト知識編集手段201は、選択されたユーザグループに対応する名前型オブジェクトをオブジェクト知識管理手段2023に受け渡す。オブジェクト知識管理手段2023は、オブジェクト知識格納手段203を参照して、ユーザによって選択された名前型オブジェクトを基点として展開を行い、実体型オブジェクトの集合を取得する。オブジェクト知識編集手段201は、オブジェクト知識管理手段2023によって取得された実体型オブジェクトのリストを含むオブジェクト知識編集用のユーザインタフェースを作成し、これを表示画面上に表示する。
また、オブジェクト知識管理手段2023は、オブジェクト知識格納手段203を参照して、ユーザによって選択された名前型オブジェクトから直接に経路を有する名前型オブジェクトを取得する。オブジェクト知識編集手段201は、オブジェクト知識管理手段2023によって取得された名前型オブジェクトのリストを、オブジェクト知識編集用のユーザインタフェース上に表示する。
図26に示す例では、オブジェクト知識編集手段201は、「ユーザグループの名称」欄に、ユーザに選択された名前型オブジェクトを表示する。また、「追加されたユーザIDの一覧」欄に、展開により得られたユーザIDのリストを、選択ボタンと共に表示する。オブジェクト知識編集手段201は、「追加するユーザIDの入力」欄に、実体型オブジェクトとして追加するユーザIDの入力を促す。オブジェクト知識編集手段201は、ユーザによって、追加するユーザのIDが入力され、「追加」ボタンがマウスクリックされると、入力されたユーザのIDを、「追加されたユーザIDの一覧」欄に追加する。また、「追加されたユーザIDの一覧」欄において、選択ボタンがマウスクリックされ、「削除」ボタンがマウスクリックされると、一覧から、選択されたユーザIDを削除する。
オブジェクト知識編集手段201は、「含めるユーザグループの選択」欄に、ユーザによって選択された名前型オブジェクトからの経路を有する名前型オブジェクトのリストを、選択ボタンと共に表示する。ユーザは、選択ボタンをマウスクリックして、「ユーザグループの名称」欄に表示された名前型オブジェクトから経路を伸ばされる名前型オブジェクトを選択する。オブジェクト知識編集手段201は、選択された名前型オブジェクトを、「ユーザグループの名称」欄に表示された名前型オブジェクトから経路を伸ばさせる名前型オブジェクトとして認識する。以上では、ユーザグループに関するオブジェクト知識を編集する場合について説明したが、位置やリソースに関するオブジェクト知識を編集する場合についても、同様である。
ユーザが、オブジェクト知識の編集を行って、図26に示す「決定」ボタンをクリックすると、オブジェクト知識編集手段201は、編集用ユーザインタフェース上で編集されたオブジェクト知識を、オブジェクト知識管理手段2023に出力する。このとき、オブジェクト知識編集手段201は、編集の種別、例えば追加、修正、又は、削除を示す指示を、オブジェクト知識管理手段2023に出力する。オブジェクト知識格納手段203は、オブジェクト知識管理手段2023に入力されたオブジェクト知識の内容や、指示に基づいて、格納するオブジェクト知識を更新する(ステップC20)。
オブジェクト知識格納手段203が格納するオブジェクト知識が更新されると、オブジェクト知識管理手段2023は、更新後のオブジェクト知識を検索して、更新により影響を受けた名前型オブジェクトを抽出する。この検索では、まず、ユーザによって直接更新された名前型オブジェクトが抽出され、次いで、直接更新された名前型オブジェクトを辿ることになる名前型オブジェクト、つまり、間接的に更新された名前型オブジェクトを抽出する。間接的に更新された名前型オブジェクトを更に辿ることになる名前型オブジェクトがあるときには、その名前型オブジェクトも、間接的に更新された名前型オブジェクトとして抽出する。オブジェクト知識管理手段2023は、オブジェクト知識が更新された旨と、検索により抽出された名前型オブジェクトとを、ポリシ解析手段1033に通知する(ステップC30)。
ポリシ解析手段1033は、オブジェクト知識の更新通知を受け取ると、ポリシ格納手段1022内に、オブジェクト知識管理手段2023から通知された名前型オブジェクトが使用されるアクセス制御ポリシが存在するか否かを調査する(ステップC40)。調査の結果、通知された名前型オブジェクトが使用されるアクセス制御ポリシが存在しないときには、そのまま処理を終了する。調査の結果、通知された名前型オブジェクトが使用されるアクセス制御ポリシが存在するときには、ポリシ解析手段1033は、通知された名前型オブジェクトが使用されるアクセス制御ポリシのIDを、アクセス制御リスト設定手段1063に通知する(ステップC50)。
アクセス制御リスト格納手段301は、アクセス制御リストの各行に、生成もとのアクセス制御ポリシのIDを付与して、各行と、生成元となるアクセス制御ポリシのIDとを対応付けて格納している。アクセス制御リスト設定手段1063は、アクセス制御リスト格納手段301が格納する既存のアクセス制御リスト内に、ポリシ解析手段1033から通知されたアクセス制御ポリシのIDに対応する行が存在するか否かを判断する(ステップC60)。アクセス制御リスト設定手段1063は、既存のアクセス制御リスト内に、通知されたアクセス制御ポリシのIDに対応する行があると判断するときには、その行を、アクセス制御リストから削除する(ステップC70)。
ポリシ解析手段1033は、通知された名前型オブジェクトが使用されるアクセス制御ポリシを、ポリシ格納手段1023から読み出し、そのアクセス制御ポリシに基づいてルールを生成する(ステップC80)。ステップC80で生成されるルールは、アクセス制御ポリシ格納手段1023に格納されたアクセス制御ポリシから生成される中間言語の一部に該当する。アクセス制御リスト設定手段1063は、ポリシ解析手段1033が生成したルールを入力し、そのルールをアクセス制御リスト(行)の記述形式に変換して、アクセス制御リストの行を生成する(ステップC90)。
アクセス制御リスト格納手段301は、アクセス制御リスト設定手段1063が生成した行を入力し、入力した行を、格納するアクセス制御リストに追加して、アクセス制御リストを更新する(ステップC100)。アクセス制御リストが更新されたことを受けて、アクセス制御リスト設定手段1063は、アクセス制御手段302に対して、アクセス制御の設定を指示する。設定指示を受け取ったアクセス制御手段302は、アクセス制御リスト格納手段301からアクセス制御リストを読み込んで、その内容に沿ったアクセス制御を実行する(ステップC110)。
本実施の形態では、オブジェクト知識編集手段201によって、オブジェクト知識の編集が可能であり、ポリシエンジン13は、既存のオブジェクト知識の変更が加えられたときには、その変更に応じて、アクセス制御リストを生成しなおす。このため、例えば、アドホックグループのメンバに変更があったときには、ユーザは、オブジェクト知識を編集して、そのアドホックグループに対応するユーザグループと、他のユーザグループ又はユーザIDとの経路を変更すれば、アクセス制御ポリシを変更しなくても、変更後のアドホックグループに対するアクセス制御を実現できる。従って、アドホックグループのメンバが頻繁に変更される場合でも、そのアドホックグループに対するアクセス制御を容易に実現できる。
本実施形態では、例えば、アクセス先のリソースについて、サーバやファイルのアドレスなどの情報が変化した場合には、アクセス制御ポリシに変更を加えなくても、オブジェクト知識を編集して、アクセス先の名称を展開して得られるアドレス等に変更を加えることで、変更後のアクセス先のリソースに対するアクセス制御を実現できる。また、例えば、アクセス元の位置について、引越しによって別の場所に移った、或いは、内部関係者のみが使える部屋だった場所が、来訪者も使用できる場所に変化したなど、状態に変化があった場合には、その変化に応じて、オブジェクト知識を編集することで、その変化に応じたアクセス制御を実現できる。このため、システムの構成の変化や、部門の引越し等の変化があった場合でも、容易にアクセス制御が実現できる。
第4実施形態
図27は、本発明の第4実施形態のアクセス制御システム構成を示している。アクセス制御システム100cは、ポリシエンジン1と、知識データベース2と、アクセス制御装置3とを備える。本実施形態では、アクセス制御システム100cは、ポリシエンジン13(図23)に代えて、ポリシエンジン1を備える点で、第3実施形態のアクセス制御システム100bと相違する。ポリシエンジン1は、ポリシ編集手段101と、ポリシ格納手段102と、ポリシ解析手段103と、中間言語格納手段104と、時刻管理手段105と、アクセス制御リスト設定手段106とを有する。中間言語格納手段104は、例えば、プログラムに従って動作するCPU及び記憶装置によって実現される。時刻管理手段105は、例えば、プログラムに従って動作するCPUによって実現される。
ポリシ格納手段102は、記憶装置内に、アクセス制御ポリシを格納する。本実施形態では、アクセス制御ポリシには、図6に示す「ID」、「アクセス可否」、「ユーザグループ」、「位置」及び「リソース」を示す情報に加えて、時刻条件として、アクセス制御ポリシが有効となる時間帯の情報、例えばその時間帯の開始時刻及び終了時刻の情報を記述できる。
ポリシ編集手段101は、アクセス制御ポリシの編集を行うためのユーザインタフェースをユーザに提供する。ポリシ編集手段101は、ユーザの操作に応じて、ポリシ格納手段102に格納されたアクセス制御ポリシの検索、参照、追加、修正、削除等を行う。ポリシ編集手段101は、ユーザによってアクセス制御ポリシに変更が加えられると、変更されたアクセス制御ポリシのIDを含む更新通知を、ポリシ解析手段103に入力する。
ポリシ解析手段103は、更新通知を受け取ると、ポリシ格納手段102から、更新通知に含まれるアクセス制御ポリシのIDを有するアクセス制御ポリシを読み込む。そして、知識情報データベース2を参照して、読み込んだアクセス制御ポリシに記載された名前型オブジェクトを、実体型オブジェクトの集合に置き換えながら、ルール(中間言語の一部)を生成する。中間言語格納手段104は、ポリシ解析手段103によって生成されたルールを記憶装置内に格納する。
ポリシ解析手段103は、ルールを生成する際に、読み込んだアクセス制御リストに時刻情報が含まれるときには、その時刻情報に基づいてイベントを生成する。このイベントには、例えばイベント発生時刻や、追加や削除といった操作の種別、対象となるアクセス制御ポリシのIDが含まれる。時刻管理手段105は、ポリシ解析手段103によって生成されたイベントを入力し、これを記憶装置内に記憶する。このとき、時刻管理手段105は、入力したイベントを、既に記憶しているイベントとともに、時刻順に並べ替えて記憶する。
時刻管理手段105は、記憶装置内に記憶する時刻順に並べられたイベントの集合を、スケジュールとして管理する。そして、現時刻が、イベント発生時刻となると、アクセス制御リスト設定手段106に、イベント発生通知を行う。このイベント発生通知には、例えば追加や削除といった操作の種別、対象となるアクセス制御ポリシのIDが含まれる。アクセス制御リスト設定手段106は、イベント発生通知を受け取ると、そのイベント発生通知の内容に従って、アクセス制御リスト格納手段301が格納するアクセス制御リストを更新する。
図28は、アクセス制御リストの編集から時刻管理手段105にイベントを登録するまでの処理手順をフローチャートで示している。ポリシ編集手段101は、ユーザに、アクセス制御ポリシの編集用ユーザインタフェースを提供する(ステップD10)。図29は、ステップD10でユーザに提供されるアクセス制御ポリシの編集用ユーザインタフェースの例を示している。本実施形態のポリシ編集手段101がユーザに提供するユーザインタフェースは、「時刻条件」欄が設けられている点で、図15に示すユーザインタフェースと相違する。ユーザは、図29に示すユーザインタフェース上で、アクセス制御の内容を指定すると共に、そのアクセス制御が有効となる時間帯の開始時間及び終了時間を指定できる。
ユーザは、図14に示すユーザインタフェースと同様なユーザインタフェースから、編集対象のアクセス制御ポリシを、既存のアクセス制御ポリシのリストの中から選択する。ユーザは、例えば、既存のアクセス制御ポリシの時刻条件を変更する際には、「時刻条件」欄に、新たな時刻情報を入力する。
ユーザが、アクセス制御ポリシの編集を行うと、ポリシ編集手段101は、編集されたアクセス制御ポリシをポリシ格納手段102に出力し、ポリシ格納手段102は、格納するアクセス制御ポリシを、編集後のアクセス制御ポリシで更新する(ステップD20)。また、ポリシ編集手段101は、アクセス制御ポリシが更新された後、ポリシ解析手段103に、アクセス制御ポリシが更新された旨の通知を行う(ステップD30)。このときポリシ編集手段101に通知される更新通知には、例えば、更新されたアクセス制御ポリシのIDと、その更新部分に対して行われた操作の種類と、編集されたアクセス制御ポリシが有効となる時間帯の開始時刻及び終了時刻の情報とが含まれる。
ポリシ解析手段103は、更新部分に対して行われた操作の種類に応じて、更新されたアクセス制御ポリシをポリシ格納手段102から読み出し、そのアクセス制御ポリシから、ルールを作成する(ステップD40)。ルールには、生成もとのアクセス制御ポリシのIDと同じIDが付与される。ポリシ解析手段103は、生成したルールを中間言語格納手段104に入力し、中間言語格納手段104は、ポリシ解析手段103から入力したルールに基づいて、格納する中間言語を更新する(ステップD50)。
ポリシ解析手段103は、編集されたアクセス制御リストに含まれる時刻情報に基づいて、イベントを生成し、これを時刻管理手段105に入力する。例えば、編集されたアクセス制御ポリシが時刻Aから時刻Bまで有効であるとする。この場合、ポリシ解析手段103は、そのアクセス制御ポリシのID、時刻Aの情報、及び、「追加」というイベント生成し、これを時刻管理手段105に入力する。また、そのアクセス制御ポリシのID、時刻Bの情報、及び、「削除」というイベントを時刻管理手段105に入力する。時刻管理手段105は、ポリシ解析手段103からイベントを入力して、既に記憶しているイベントと、新たに入力したイベントとを時刻順に並び替えて記憶する(ステップD60)。
ポリシ編集手段101によって、既存のアクセス制御ポリシが編集された場合、ポリシ解析手段103は、中間言語格納手段104に格納されている中間言語のうち、編集されたアクセス制御ポリシに対応する部分を更新する。このとき、ポリシ解析手段103は、時刻管理手段105に登録されているイベントの情報も更新する。また、ポリシ編集手段101によって、既存のアクセス制御ポリシが削除されると、ポリシ解析手段103は、削除されたアクセス制御ポリシのIDに対応する部分を、中間言語格納手段104から削除する。このとき、ポリシ解析手段103は、削除されたアクセス制御ポリシに対応するイベントの情報を、時刻管理手段105から削除する。
図30は、オブジェクト知識の編集から時刻管理手段105にイベントを登録するまでの処理手順をフローチャートで示している。知識データベース2は、第3の実施形態と同様な手順により、オブジェクト知識を更新する。オブジェクト知識編集手段201は、ユーザに対して、オブジェクト知識の編集を行うためのユーザインタフェースを提示する(ステップC11)。編集用ユーザインタフェース上で編集されたオブジェクト知識は、オブジェクト知識管理手段202に入力され、オブジェクト知識格納手段203は、オブジェクト知識管理手段202に入力されたオブジェクト知識の内容等に基づいて、格納するオブジェクト知識を更新する(ステップD21)。
オブジェクト知識格納手段203が格納するオブジェクト知識が更新されると、オブジェクト知識管理手段202は、更新後のオブジェクト知識を検索して、オブジェクト知識の更新により影響を受けた名前型オブジェクトを抽出する。この検索により、ユーザによって直接更新された名前型オブジェクトと、間接的に更新された名前型オブジェクトが抽出される。オブジェクト知識管理手段202は、オブジェクト知識が更新された旨と、検索により抽出された名前型オブジェクトとを、ポリシ解析手段103に通知する(ステップD31)。
ポリシ解析手段103は、オブジェクト知識の更新通知を受け取ると、ポリシ格納手段102内に、オブジェクト知識管理手段202から通知された名前型オブジェクトが使用されるアクセス制御ポリシが存在するか否かを調査する(ステップD32)。調査の結果、通知された名前型オブジェクトが使用されるアクセス制御ポリシが存在しないときには、そのまま処理を終了する。通知された名前型オブジェクトが使用されるアクセス制御ポリシが存在するときには、ポリシ解析手段103は、そのアクセス制御ポリシをポリシ格納手段102から読み出し、読み出したアクセス制御ポリシからルールを作成する(ステップD41)。
以降、図28と同様に、ポリシ解析手段103は、生成したルールを中間言語格納手段104に入力し、中間言語格納手段104は、ポリシ解析手段103から入力したルールに基づいて、格納する中間言語を更新する(ステップD50)。ポリシ解析手段103は、編集されたアクセス制御リストに含まれる時刻情報に基づいて、イベントを生成し、これを時刻管理手段105に入力する。時刻管理手段105は、ポリシ解析手段103からイベントを入力して、既に記憶しているイベントと、新たに入力したイベントとを時刻順に並び替えて記憶する(ステップD60)。
オブジェクト知識編集手段201によって、既存の名前型オブジェクトが編集された場合には、ポリシ解析手段103は、中間言語格納手段104に格納されている中間言語のうち、編集された名前型オブジェクトが使用されるアクセス制御ポリシに対応するルールを更新する。また、例えば、ある名前型オブジェクトから展開される実体型オブジェクトが1つだけであり、その実体型オブジェクトが削除された場合には、ポリシ解析手段103は、その名前型オブジェクトが使用されるアクセス制御ポリシに対応するルールを、中間言語格納手段104から削除する。このとき、ポリシ解析手段103は、そのアクセス制御ポリシに対応するイベントを時刻管理手段105から削除する。
図31は、時刻管理手段105の動作手順をフローチャートで示している。時刻管理手段105は、図28又は図30に示す手順により、時刻順に並べられたイベントの集合を、スケジュールとして記憶している。時刻管理手段105は、スケジュールの中から、イベントを、時刻が古いものから順に読み込む(ステップD70)。そして、読み込んだイベントの時刻指定が、現在時刻よりも前の時刻を指定しているか否かを判断する(ステップD80)。
時刻管理手段105は、読み込んだイベントの時刻指定が、現在時刻よりも前の時刻を指定していると判断したときには、そのイベントを特定する情報、例えばそのイベントの操作と、アクセス制御ポリシのIDとを一時記憶装置に記憶し(ステップD90)、ステップD70へ戻り、次のイベントを読み込む。ポリシエンジン1は、読み込んだイベントの時刻指定が、現在時刻よりも後となるまで、ステップD70からステップD90を繰り返し実行し、時刻指定が現在時刻よりも前のイベントを全て一時記憶装置に記憶する。
ステップD80で、読み込んだイベントの時刻指定が現在時刻よりも後の時刻と判断されると、それまでに一時記憶装置に記憶したイベントの操作とアクセス制御ポリシのIDとを時刻通知として、アクセス制御リスト設定手段106に受け渡す(ステップD100)。ただし、最初に読み込んだイベントの時刻指定が現在時刻よりも後であり、一時記憶装置にイベントの操作とアクセス制御ポリシのIDとが1件も記憶されていないときには、アクセス制御リスト設定手段106に受け渡すべき時刻通知がないため、時刻管理手段105は、ステップD100を実行することなく処理を終了する。時刻管理手段105は、以上の処理を所定時間間隔で繰り返し実行する。
図32は、アクセス制御リストの更新処理の処理経過をフローチャートで示している。アクセス制御リスト設定手段106は、時刻管理手段105から、時刻通知として、例えば、IDと操作の種類を受け取る(ステップD110)。アクセス制御リスト設定手段106は、アクセス制御リスト格納手段301に、時刻通知で通知されたアクセス制御ポリシのID、つまりは更新すべきアクセス制御ポリシのIDに対応する行が格納されているか否かを判断する(ステップD120)。アクセス制御リスト設定手段106は、更新すべきアクセス制御ポリシのIDに対応する行が格納されているときには、その行を削除する(ステップD130)。
アクセス制御リスト設定手段106は、時刻通知として受け取った操作の種類を判別する(ステップD140)。操作の種類が「追加」であった場合、アクセス制御リスト設定手段106は、時刻通知として受け取ったIDに対応するルールを中間言語格納手段104から読み出し、読み出したルールに基づいて、アクセス制御リストの行を生成する(ステップD150)。
図33は、ステップD150の行生成処理の処理経過をフローチャートで示している。アクセス制御リスト設定手段106は、中間言語格納手段104から、時刻通知として受け取ったアクセス制御ポリシのIDに対応するルールを読み込む(ステップD1501)。アクセス制御リスト設定手段106は、読み込んだルールの中に後述のステップD1503(組み合わせ生成処理)を行っていないルールが有るか否かを判断する(ステップD1502)。
アクセス制御リスト設定手段106は、まだ、組み合わせ生成処理を行っていないルールがあると判断する場合には、ステップA503(図17)と同様な処理により、そのルールから、アクセス制御リストの行として記述することのできる各組み合わせを生成する(ステップD1503)。アクセス制御リスト設定手段106は、組み合わせ生成処理を行っていないルールがないと判断すると、生成された各組み合わせをアクセス制御リスト(行)の記述形式に変換し、行を生成する(ステップD1504)。
図32に戻り、アクセス制御リスト設定手段106は、アクセス制御リスト格納手段301に格納されている既存のアクセス制御リストに、ステップD150で生成した行を追加して、アクセス制御リストを更新する(ステップD160)。アクセス制御リストを更新した後、アクセス制御リスト設定手段106は、アクセス制御手段302に、アクセス制御の設定を指示する。アクセス制御手段302は、アクセス制御の設定の指示を受け取ると、アクセス制御リスト格納手段301からアクセス制御リストを読み込み、読み込んだアクセス制御リストの内容に沿ったアクセス制御を実行する(ステップD170)。
ステップD140で、操作の種類が「削除」であると判断された場合には、アクセス制御リスト設定手段106は、ステップD150、D160の処理を行わずに、アクセス制御手段302に、アクセス制御の設定を指示して、ステップD170を実行させる。これにより、アクセス制御手段302は、ステップD130で、行が削除されたアクセス制御リストに基づいて、アクセス制御を実行する。
本実施の形態では、アクセス制御ポリシが時間条件を有する場合には、時刻管理手段105によって、そのアクセス制御ポリシに対応する行の追加や削除が指示されるため、時間条件で指定された時間帯で、そのアクセス制御ポリシを有効にすることができる。ポリシエンジン1が、時刻に応じて、アクセス制御リストの更新を自動的に行うため、アクセス制御装置3自体が、時間制約を解釈できない場合でも、所望の時間帯にのみ有効なアクセス制御を実現できる。
本実施形態では、例えば、特定の時間帯においてのみ存在するアドホックグループに対するアクセス制御ポリシを記述することにより、そのグループから、その時間帯にだけアクセスを許可するアクセス制御を簡易に実現できる。従って、会議などの非常に短い時間で変化・生滅するユーザグループや、プロジェクトなどの一定の期間存続しながら変化・生滅するユーザグループ等の特定のユーザグループのメンバが、資料を配置したファイルサーバなどの特定の共有リソースにアクセスすることを、特定の時刻又は期間に限定して許可することができ、情報共有の安全性を高めることができる。
上記の説明では、ユーザが、図29に例示するユーザインタフェースを介して時間帯(時刻)の情報を直接入力する例について示した。これに代えて、又は、加えて、ユーザに、例えば、「昼休み」、「平日定時」等の時間帯を表す単語(名称)を入力させて、その単語等が示す時間帯を知識データベース2によって、特定の時刻に変換するように構成することもできる。この場合、オブジェクト知識格納手段203には、例えば、「昼休み」、「平日定時」、「休日(土日祝日)」、「月曜日」、「火曜日」、「1限目」、「2限目」、「1コマ目」、「2コマ目」、「試験期間」、「休暇期間」、「入学式」や「卒業式」等の式典名、「学園祭」や「オープンキャンパス」等の行事といった単語等を名前型オブジェクトとし、時間帯や時刻を実体型オブジェクトとするオブジェクト知識を格納させておく。そして、ポリシ解析手段103は、ポリシ編集手段101から時刻の代わりにこれらの単語を受け渡されたときには、その単語を起点とする展開を知識データベース2に実行させて、時間帯や時刻の情報を知識データベース2から取得すればよい。他の動作は、第4の実施の形態として説明した動作と同様である。また、ここでは名前型オブジェクトの例として「昼休み」等を挙げたが、これらは例示であり、名前型オブジェクトは、時間帯や時刻に対応する言葉であればよい。
第5実施形態
図34は、本発明の第5実施形態のアクセス制御システムの構成を示している。本実施形態のアクセス制御システム100dは、アクセス制御装置3を複数備える。また、第3の実施形態のアクセス制御システム100bの構成に加えて、システム構成管理手段50を備える。
システム構成管理手段50は、構成情報格納手段501を有する。システム構成管理手段50は、複数のアクセス制御装置3と接続されており、各アクセス制御装置3の稼動状態や配置状況などから構成情報を生成して、これを構成情報格納手段501に格納する。システム構成管理手段50は、アクセス制御装置3の停止や、新たなアクセス制御装置3の設置などにより構成情報が変化すると、その変化を知識データベース23に通知する。
オブジェクト知識格納手段203は、アクセス制御装置に関するオブジェクト知識を更に格納する。アクセス制御装置に関するオブジェクト知識の名前型オブジェクトは、ポリシエンジン13に接続されている各アクセス制御装置3の識別子を表す。つまり、個々のアクセス制御装置3を識別するための識別子が名前型オブジェクトとされる。また、アクセス制御装置に関するオブジェクト知識の実体型オブジェクトは、「稼働中」、「停止」等のアクセス制御装置の状態を表す。
ポリシエンジン13内のポリシ格納手段1023(図23参照)は、アクセス制御ポリシを格納する。本実施形態では、ポリシ格納手段1023に格納されるアクセス制御ポリシは、アクセス制御ポリシが有効となる条件として、アクセス制御装置3の状態によって記述される条件を定めることができる。例えば、『識別子が「FW001」であるアクセス制御装置が「稼働中」であるならば有効』等の条件がアクセス制御ポリシに記述されている。
図35は、アクセス制御システム100dの動作をフローチャートで示している。システム構成管理手段50は、定期的に各アクセス制御装置3に対して死活確認信号を発信して、アクセス制御装置3の現在の状態、状況を検査する(ステップS501)。アクセス制御装置3は、死活確認信号を受信して、システム構成管理手段50に、応答信号を発信する。システム構成管理手段50は、応答信号の受信成否によって各アクセス制御装置3の現在の状態等を検査する。例えば、応答信号を受信した場合、そのアクセス制御装置3は稼働中であると判定し、応答信号を受信できなかった場合、そのアクセス制御装置3は停止状態であると判定する。
アクセス制御装置3の現在の状態等の検査では、死活確認信号及び応答信号として、例えば、システム構成管理手段50と各アクセス制御装置3とがIPネットワークで接続される場合には、SNMP(Simple Network Management Protocol)パケット、又は、ICMP(Internet Control Message Protocol)パケットを用いることができる。或いは、各アクセス制御装置3から定期的に自身の識別子を含むハートビート信号をシステム構成管理手段50に向けて発信するように構成し、システム構成管理手段50が、受信したハートビート信号を基に、稼動中のアクセス制御装置3の構成情報を管理するようにしてもよい。
システム構成管理手段50は、ステップS501の検査結果に応じて構成情報を生成し、生成した構成情報を構成情報格納手段501に格納する(ステップS502)。図36は、構成情報のデータ構造の例を示している。同図に示すように、構成情報は、アクセス制御装置3の識別子と、「稼働中」または「停止」を示す稼働状況フラグとの組み合わせを有している。ステップS502では、システム構成管理手段50は、稼働中であると判定したアクセス制御装置3に対応する稼働状況フラグを「稼働中」に設定し、停止状態であると判定したアクセス制御装置3に対応する稼働状況フラグを「停止」に設定した構成情報を生成する。
システム構成管理手段50は、ステップS502によって、構成情報格納手段501が格納する構成情報が変化したか否かを確認する(ステップS503)。システム構成管理手段50は、例えば、既に存在する識別子の稼動状態を更新したこと、及び、新たな識別子及び稼動状態の組を追加したことを示す「更新フラグ」を構成情報格納手段501に保持させ、ステップS502で構成情報を構成情報格納手段501に格納する際に、その「更新フラグ」を参照して、変化の有無を確認する。或いは、構成情報格納手段501に少なくとも2つのメモリスロットを設けておき、ステップS502で構成情報を格納する際に、前回格納したメモリスロットと相異なるメモリスロットに構成情報を格納し、前回分及び今回分の2つのメモリスロットの内容を比較することにより、構成情報の変化の有無を確認する。
ステップS503で、構成情報が変化したと判断した場合、システム構成管理手段50は、停止状態に変化したアクセス制御装置3の識別子、又は、新たに稼動を開始したアクセス制御装置3の識別子と、変化後の稼動状態との組をオブジェクト知識単位として生成し、変化のあった全てのアクセス制御装置3についてのオブジェクト知識単位の集合を、オブジェクト知識管理手段2023に入力する(ステップS504)。図37は、オブジェクト知識単位の例を示している。オブジェクト知識単位は、例えばアクセス制御装置3の識別子と稼動状態の2つのカラムから成る。同図では、状態が変化したアクセス制御装置の識別子「FW001」と、変化後の可動状態「稼動中」との組が、オブジェクト知識単位を示している。ステップS504では、このようなオブジェクト知識単位を並べたデータが、オブジェクト知識単位の集合として、オブジェクト知識管理手段2023に入力される。
オブジェクト知識管理手段2023は、システム構成管理手段50から入力されたオブジェクト知識単位の集合を、オブジェクト知識格納手段203へ格納する(ステップS505)。オブジェクト知識管理手段2023は、新たな識別子をもつオブジェクト知識単位を入力した場合には、その新たな識別子を、名前型オブジェクトとして追加し、その追加した名前型オブジェクトから展開される実体型オブジェクトの内容を、入力したオブジェクト知識単位に含まれる稼動状態とする。また、すでに同じ識別子の名前型オブジェクトがオブジェクト知識格納手段203に格納されている場合には、その名前型オブジェクトから展開される実体型オブジェクトの内容を、入力したオブジェクト知識単位に含まれる稼働状態で置き換える。
その後、オブジェクト知識管理手段2023は、第3の実施形態におけるオブジェクト知識管理手段2023と同様に、オブジェクト知識の変更をポリシエンジン13に通知する。この通知には、実体型オブジェクト(稼働状態)が変更された名前型オブジェクト(識別子)、或いは、新たに追加された名前型オブジェクト(識別子)が含まれる。オブジェクト知識の変更の通知を受けたポリシエンジン13は、ステップC40〜ステップC110と同様な動作により、アクセス制御リストの更新を行う。
本実施形態では、アクセス制御ポリシには、アクセス制御装置3の稼動状態に応じて、有効又は無効等の条件が記述されているため、オブジェクト知識の変化に応じて、アクセス制御リストが変化することになる。このため、アクセス制御装置3の停止や再開及び削除や追加といったシステム構成の変化に対して、アクセス制御リストを自動的に変化させて、所望のアクセス制御を実現できる。
第6実施形態
図38は、本発明の第6実施形態のアクセス制御システムの構成を示している。本実施形態のアクセス制御システム100eは、第4の実施形態のアクセス制御システム100cの構成に加えて、メールサーバ60と、メール解析手段61とを備える。また、ポリシエンジン62は、ポリシ編集手段101に代えて、ポリシ生成手段621を備える。
メールサーバ60は、電子メールの配送を行う。メール解析手段61は、メールサーバ60が新たに配送する電子メールを入力する。メール解析手段61は、内容を解析して、その電子メールが会議開催通知であるか否かを判定する。メール解析手段61は、電子メールが会議開催通知であった場合には、その電子メールの内容から会議開催情報を抽出し、これをポリシ生成手段621へ入力する。ポリシ生成手段621は、会議開催情報に基づいて、自動的にアクセス制御ポリシを生成して、生成したアクセス制御ポリシをポリシ格納手段102に格納する。
図39は、受信した電子メールに基づいてアクセス制御設定を行う際の処理をフローチャートで示している。メールサーバ60は、ユーザから新たに配送を依頼された電子メールを、その宛先に配送する前に、メール解析手段61に入力する(ステップS611)。メール解析手段61は、メールサーバ60から新たな電子メール入力するたびに、メールの内容を、Subjectフィールド、To/Ccフィールド、本文などの構成ごとに形態素解析を行い、これを、あらかじめ記憶装置内に格納している所定の会議開催通知パタンと照合する(ステップS612)。会議開催通知パタンの具体的な例としては、Subjectフィールドや本文中に含まれる「○月○日」、「会議」、「件」等の文字列の生起パタンなどを用いることができる。
メール解析手段61は、ステップS612における照合処理の結果から、入力された電子メールが会議開催通知であるか否かを判断する(ステップS613)。メール解析手段61は、入力された電子メールが所定の会議開催通知パターンに合致しないときには、入力された電子メールが、会議開催通知でないと判断し、ステップS611に戻って、次の電子メールの入力を待つ。メール解析手段61は、入力された電子メールが会議開催通知パタンに合致する場合は、その電子メールの内容から、少なくとも会議の日時、場所、及び、メンバ等を含む「会議開催情報」を抽出し、これを、ポリシ生成手段621へ入力する(ステップS614)。
ポリシ生成手段621は、入力された会議開催情報に基づいて、アクセス制御ポリシを生成する(ステップS621)。ステップS621では、ポリシ生成手段621は、会議開催情報に含まれる会議の日時及び場所と、場所ごとの参加メンバとから、ユーザグループの定義を生成する。また、異なる場所、つまり異なるネットワークドメインの間で利用されるサービスを決定し、共有リソースグループの定義を生成する。その際、サービスの決定にあたっては、通常ファイル共有のために用いられることの多いサービスとして、HTTP(TCP80番ポート)やWindows(登録商標)ネットワーク共有サービス(TCP137〜139番ポート)などを規定しておけばよい。
図40は、ユーザグループ定義及び共有リソース定義の生成状況を示している。ポリシ生成手段621は、会議に参加すると想定されるメンバの所属や氏名と、そのメンバのユーザIDとの対応関係を示す情報を、記憶装置内にあらかじめ記憶している。ポリシ生成手段621は、会議開催情報を入力すると、その会議開催情報に含まれる参加メンバの所属や氏名に基づいて、記憶装置から、対応するユーザIDを抽出する。このユーザIDの集合を、ユーザグループ定義とする。例えば、図40の例では、所属「営業部」、氏名「営業太郎」から、ユーザID「taro」を抽出して、これをユーザグループ定義に加える。
また、ポリシ生成手段621は、会議開催通知情報に含まれる位置を示す情報から、位置情報を生成する。例えば、図40では、拠点「東京本社」、部屋番号「TV会議室1803」から、「東京本社TV会議室1803」を生成する。そして、あらかじめ規定している各種サービスと、生成した位置情報とを組み合わせる処理を行う。この処理によって得られる各組み合わせの集合を、共有リソースグループ定義とする。例えば、図40では、組み合せるべきサービスとして「Web」、「ファイル共有」が規定されており、ポリシ生成手段621は、「東京本社TV会議室1083」と、「Web」及び「ファイル共有」とをそれぞれ組み合わせて、これを、共有ソールグループに追加する。
ポリシ生成手段621は、図6に示す「ユーザグループ」の代わりに、ユーザグループ定義(ユーザID)を用いたアクセス制御ポリシを作成する。従って、ポリシ生成手段621が生成するアクセス制御ポリシには、実体型オブジェクトが直接に記述されることになる。また、ポリシ生成手段621は、「位置」として、会議開催情報に含まれる位置、例えば、図40に示す「東京本社TV会議室1803」等をアクセス制御ポリシに記述する。また、「リソース」として、上記のように生成した共有リソースグループ定義を記述する。ポリシ生成手段621は、「リソース」として、サーバ等の名称を直接記述するのではなく、「東京本社TV会議室1803ファイル共有」等の、位置とサービスとの組み合わせを記述することになる。東京本社TV会議室1803ファイル共有」は、「東京本社のTV会議室1803でファイル共有を行う場合の用いるリソース」を意味している。ポリシ生成手段621は、会議開催通知情報に含まれる時刻情報を、アクセス制御ポリシを有効とする時間帯の開始時刻や終了時刻として、アクセス制御ポリシに記述する。
知識データベース2には、リソースに関するオブジェクト知識として、「東京本社TV会議室1803ファイル共有」等を名前型オブジェクトとし、他のオブジェクト(名前型オブジェクト又は実体型オブジェクト)に経路を有するオブジェクト知識を有している。従って、ポリシ解析手段103は、知識データベース2を参照して、ポリシ生成手段621が生成したアクセス制御ポリシに含まれる「東京本社TV会議室1803ファイル共有」等の共有リソースグループ定義中の名前型オブジェクトを展開することにより得られる実体型オブジェクトを取得できる。
ポリシ生成手段621は、生成したアクセス制御ポリシをポリシ格納手段102に格納する(ステップS622)。このとき、ポリシ生成手段621、又は、ポリシ格納手段1021は、アクセス制御ポリシにIDを割り当てる。その後、第4実施形態におけるポリシエンジン1と同様にして、新たに格納されたアクセス制御ポリシからアクセス制御リストを生成し、会議開催時刻に合わせて、そのアクセス制御リストをアクセス制御装置3に設定する(ステップS623)。ステップS623の動作は、具体的には、第4の実施の形態におけるステップD30〜D60、ステップD70〜D100、及びステップD110〜D170と同様の動作である。
本実施形態では、電子メールを解析することにより、会議の開催に関する情報を収集し、収集した会議開催情報に基づいて、アクセス制御ポリシを生成する。このように、日常的にやり取りされる電子メールによる会議開催通知から、自動的にアクセス制御リストを設定できるため、遠隔会議で必要となる、異なるネットワークドメイン間の相互通信を行うにあたって、追加的なアクセス制御ポリシの編集操作を行う必要がない。このため、ユーザの利便性を向上させることができる。
第7実施形態
図41は、本発明の第7実施形態のアクセス制御システムの構成を示している。本実施形態のアクセス制御システム100fは、第6の実施形態のアクセス制御システム100eのメール解析手段61に代えて、スケジュール解析手段70を備える。スケジュール解析手段70は、LAN63を介して、少なくとも1つのユーザ端末71と接続されている。ユーザ端末71は、例えばパーソナルコンピュータとして構成され、スケジュール管理手段711を備える。
スケジュール管理手段711は、ユーザから入力されたスケジュールを格納して管理する。スケジュール管理手段711は、新たにスケジュール情報が入力されると、その内容を、LAN63を介して、スケジュール解析手段70に送信する。スケジュール解析手段70は、ユーザ端末71から送信された最新のスケジュール情報を受信すると、そのスケジュール情報を解析して、会議開催情報を抽出する。スケジュール解析手段70は、抽出した会議開催情報を、ポリシエンジン62へ入力する。
図42は、受信したスケジュール情報に基づいてアクセス制御設定を行う際の処理をフローチャートで示している。ユーザ端末71では、スケジュール管理手段711が、ユーザに対して、スケジュール入力用ユーザインタフェースを提示し、スケジュール情報の入力を促す。図43から図45は、それぞれスケジュール入力用ユーザインタフェースの例を示している。スケジュール管理手段711は、カレンダー機能を有しており、例えば、図43に示す日付入力画面を提示し、予定を定める日付の入力を促す。
ユーザによって日付が入力されると、スケジュール管理手段711は、図44に示す時間帯入力画面を提示し、予定を定める時間帯の入力を促す。そして、時間帯が入力されると、図45に提示する行動入力画面を提示し、入力された日付及び時間帯における行動の入力を促す。スケジュール管理手段711は、例えば「会議」等の行動を、プルダウンメニューにより選択させる。また、行動予定場所や、共に行動する参加メンバの入力欄を表示し、行動予定場所や参加メンバの情報を入力させる。
図45に示す画面において「登録」ボタンがマウスクリック等されると、スケジュール管理手段711は、入力されたスケジュール情報(日付、時間帯、行動内容、行動予定場所、参加メンバ等)を記憶装置内に格納する(ステップS700)。そして、スケジュール管理手段711は、格納したスケジュール情報を、LAN63を介して、スケジュール解析手段70に送信する。
スケジュール解析手段70は、スケジュール管理手段711から入力されたスケジュール情報の内容を解析して、所定の会議予定パタンと照合する(ステップS701)。ステップS701では、スケジュール解析手段70は、例えば「会議」「打ち合わせ」などの会議に相当し、又は、関連するキーワード列を会議予定パタンとして記憶装置内にあらかじめ用意しておき、そのキーワード列と、受信したスケジュール情報に含まれる行動内容の情報とを照合することで、所定の会議予定パタンとの照合を行う。スケジュール解析手段70は、照合処理の結果から、入力されたスケジュール情報が会議予定を表しているか否かを判断する(ステップS702)。
スケジュール解析手段70は、会議予定パタンに合致せず、入力されたスケジュール情報が会議予定を表していないと判断すると、ステップS700に戻り、新たにスケジュール情報が入力されるまで待機する。スケジュール解析手段70は、会議予定パタンに合致し、入力されたスケジュール情報が会議予定を表していると判断すると、そのスケジュール情報の内容から、少なくとも会議の日時、場所及び参加メンバを含む会議開催情報を抽出し、これをポリシエンジン62に入力する(ステップS703)。ステップS703では、スケジュール解析手段70は、第6実施形態のメール解析手段61が電子メールから抽出する会議開催情報と同様の会議開催情報を抽出する。
その後、ポリシエンジン62は、第6実施形態の場合と同様に、ステップS621で、会議開催情報からアクセス制御ポリシを生成して、ステップS622で、これをポリシ格納手段102に格納する。また、ステップS623で、新たに格納されたアクセス制御ポリシからアクセス制御リストを生成し、会議開催時刻に合わせて、そのアクセス制御リストをアクセス制御装置3に設定する。
本実施形態では、ユーザのスケジュールから会議の開催に関する情報を収集し、収集した会議開催情報に基づいて、アクセス制御ポリシを生成する。このため、第6実施形態と同様に、異なるネットワークドメイン間の相互通信を行うにあたって、追加的なアクセス制御ポリシの編集操作を行う必要がなく、ユーザの利便性を向上させることができる。
第8実施形態
図46は、本発明のアクセス制御システムの構成を示している。本実施形態のアクセス制御システム100gは、第3の実施形態におけるアクセス制御システムの構成に加えて、プレゼンス管理手段80と位置検知手段81とを備える。プレゼンス管理手段80は、ユーザと、そのユーザの現在位置との関係を示す情報を記憶するデータベースを有している。位置検知手段81は、ユーザの現在位置を検出し、そのユーザの現在位置情報をプレゼンス管理手段80に通知する。位置検知手段81は、例えば無線受信手段やセンサ手段などにより、ユーザの現在位置を検出する。
ポリシエンジン13内のポリシ格納手段1023(図23参照)は、アクセス制御ポリシを格納する。本実施形態では、アクセス制御ポリシは、アクセス制御ポリシが有効となる条件として、ユーザの現在位置によって記述される条件を定めることができる。例えば、『ユーザ識別子が「Kato」であるユーザの現在位置が「関西オフィス」であるならば有効』等の条件がアクセス制御ポリシに記述されている。
図47は、プレゼンス管理手段80が有するデータベースが記憶する情報を示している。同図の例では、「Morita」等のユーザ識別子と、そのユーザの現在位置を表す「関西オフィス」等の現在位置識別子とが対応づけられて記憶されている。ユーザ識別子としては、例えばユーザIDを用いることができる。プレゼンス管理手段80は、位置検知手段81から各ユーザの現在位置情報を受け取って、ユーザの移動の有無を判定する。そして、移動したユーザの現在位置をデータベース上で更新し、少なくとも移動したユーザのユーザ識別子及び現在位置識別子との組を知識データベース23に入力する。
オブジェクト知識格納手段203は、各ユーザの位置に関するオブジェクト知識を格納する。各ユーザの位置に関するオブジェクト知識は、ユーザIDを名前型オブジェクトとする。従って、ユーザIDは、各ユーザの位置に関するオブジェクト知識では、名前型オブジェクトとして取り扱われ、ユーザグループに関するオブジェクト知識では、実体型オブジェクトとして扱われる。各ユーザの位置に関するオブジェクト知識は、現在位置識別子を実体型オブジェクトとする。
プレゼンス管理手段80が有するデータベースの更新には、以下に示す手法を用いることができる。図48は、位置検知手段81がユーザの操作によってユーザの現在位置を送信する例を示している。ユーザ83は、ユーザ端末(位置検知手段)81に、自身の現在位置に関する情報として、例えばユーザID「nakae」、及び、現在位置「関西オフィス」という情報を入力する。ユーザ端末81は、ユーザ83によって入力された情報をプレゼンス管理手段80に送信する。プレゼンス管理手段80は、ユーザ端末81から受信した情報に基づき、データベースを更新する。同図の例では、ユーザID「nakae」の現在位置を、「関西オフィス」で更新する。
図49は、位置検知手段81が無線タグを用いてユーザの現在位置を検出し、検出したユーザの現在位置を送信する例を示している。センサ(位置検知手段)81は、特定の場所、例えば社屋等に設置されている。ユーザ端末84は、例えば携帯端末として構成され、そのユーザ端末83には無線タグ(RFID:Radio Frequency Identification)82が貼り付けられている。センサ81は、無線タグ82を検出して、その無線タグ82に対応付けられたユーザID及びユーザ端末83の現在位置を取得する。センサ81は、取得したユーザID及びユーザ端末82の現在位置をプレゼンス管理手段80に送信する。プレゼンス管理手段80は、センサ81から受信した情報に基づき、データベースを更新する。
図50は、位置検知手段81がGPSを用いてユーザの現在位置を検出し、検出したユーザの現在位置を送信する例を示している。携帯端末81(位置検知手段)は、GPS衛星からの電波を受信して、現在位置を測位する機能を有する。携帯端末81は、定期的に現在位置(経度、緯度、高度)を測位して、その現在位置と、あらかじめ登録された携帯端末IDとを、プレゼンス管理手段80に向けて送信する。プレゼンス管理手段80は、携帯端末81から受信した現在位置情報から、例えばユーザが関西オフィスにいることを割り出し、携帯端末IDから、その携帯端末81を使用する者として対応付けられたユーザのユーザIDを特定する。プレゼンス管理手段80は、割り出したユーザの位置と、特定されたユーザIDとに基づいて、データベースを更新する。
図51は、各ユーザの現在位置を知識データベースに通知する処理をフローチャートで示している。位置検知手段81は、任意の、又は、特定のユーザの現在位置を検知して、少なくともユーザの識別子と現在位置の識別子とを含む現在位置情報をプレゼンス管理手段80に通知する(ステップS801)。プレゼンス管理手段80は、通知された現在位置情報に基づいて、データベース内に格納された当該ユーザの現在位置を更新する(ステップS802)。
プレゼンス管理手段80は、データベース内に格納されたユーザの現在位置に変更が生じたときには、現在位置が変化したユーザのユーザ識別子と現在位置識別子との組からなる移動情報を、知識データベース23のオブジェクト知識管理手段2023に通知する(ステップS803)。複数のユーザが同時に移動したような場合には、プレゼンス管理手段80は、その各ユーザの現在位置を移動後の現在位置で更新して、各ユーザの移動情報をすべてオブジェクト知識管理手段2023に通知する。
オブジェクト知識管理手段2023は、通知された移動情報に基づいて、各ユーザの位置に関するオブジェクト知識を更新する。この更新により、移動情報に含まれるユーザ識別子(ユーザID)から展開される実体型オブジェクトの内容が、移動情報に含まれている現在位置で更新される。オブジェクト知識管理手段2023は、展開される実体型オブジェクトが更新された名前型オブジェクト(ユーザID)を抽出して、それをポリシ解析手段1033(図23参照)に入力する。また、そのユーザIDに対応するユーザの現在位置を、ポリシ解析手段1033に入力する。
ポリシ解析手段1033は、各アクセス制御ポリシを読み出し、各アクセス制御ポリシに含まれているユーザグループを抽出し、知識データベース23に各ユーザグループに基づく展開を実行させる。ポリシ解析手段1033は、この展開によって得られるユーザIDの中で、オブジェクト知識管理手段2023から名前型オブジェクトとして通知されたユーザIDと一致するユーザIDを特定して、その特定したユーザIDを含んでいるアクセス制御ポリシを特定する。
ポリシ解析手段103は、特定したアクセス制御ポリシに記述されているユーザの現在位置に関する条件、例えば、『ユーザ識別子が「Kato」であるユーザの現在位置が「関西オフィス」であるならば有効』等の条件を参照する。そして、オブジェクト知識管理手段2023から受け渡されたユーザID及び現在位置情報と、アクセス制御ポリシに記述されている条件とに基づいて、有効と判定されるアクセス制御ポリシを選別する。このアクセス制御ポリシは、ユーザの移動により有効となったポリシである。その後、ポリシエンジン13は、有効となったアクセス制御ポリシのIDを読み取り、第3実施形態におけるステップC40〜C110と同様の動作により、アクセス制御リストを更新する。
本実施形態では、位置検知手段81によってユーザの現在位置を検出し、ユーザの現在位置の変化に応じて、アクセス制御リストを更新する。このため、場所に関する制約を記載したアクセス制御ポリシを用いることにより、予定外のユーザの移動などにも対応したアクセス制御が可能となる。
なお、上記各実施形態では、ポリシエンジンと、知識データベースと、アクセス制御装置とが異なるコンピュータシステムとして構成される例について示したが、これには限定されない。例えば、ポリシエンジンとアクセス制御装置とを、同一のコンピュータシステム内に構成してもよく、或いは、ポリシエンジンと知識データベースとを、同一のコンピュータシステム内に構成してもよい。または、ポリシエンジン、アクセス制御装置、及び、知識データベースを、同一のコンピュータシステム内に構成してもよい。
また、システム構成管理手段50は、ポリシエンジン、知識データベース、又は、アクセス制御装置と同一のコンピュータシステム内に構成することができる。メール解析手段61、スケジュール解析手段70、及び、プレゼンス管理手段80についても、同様に、ポリシエンジン、知識データベース、又は、アクセス制御装置と同一のコンピュータシステム内に構成することができる。
また、上記各実施形態では、アクセス制御ポリシの中にユーザグループを記述する例を示したが、これに代えて、装置のグループの名称をアクセス制御ポリシに記述してもよい。この場合、オブジェクト知識格納手段は、装置のグループに関するオブジェクト知識を格納する。装置のグループに関するオブジェクト知識は、名前型オブジェクトとして装置のグループの名称を含み、実体型オブジェクトとして各装置を識別する装置IDを実体型オブジェクトとして含んでいればよい。また、装置のグループの名称を表す名前型オブジェクトは、他の名前型オブジェクトまたは装置IDを表す実体型オブジェクトへの経路を有していればよい。アクセス制御ポリシに装置のグループの名称が記述される場合についても、各実施形態における動作は、既に説明した動作と同様である。この場合、例えば、図26に例示するユーザインタフェース上では、「追加するユーザIDの入力」欄の代わりに「追加する装置IDの入力」欄を設ければよい。また、「追加されたユーザIDの一覧」欄の代わりに「追加された装置IDの一覧」欄を設ければよい。
上記各実施形態は、例えば、既存の仮想プライベートネットワーク(VPN)環境のように、VPNゲートウェイやファイアウォールなどのセキュリティ装置がすでに設置されたネットワークシステムにおいて、会議中の共有サーバを介した情報共有を安全に行うといった用途に適用できる。また、企業間における機密情報の交換においても、所定のユーザグループ外への機密漏えいを防止するといった用途にも適用可能である。
上記各実施形態は、適宜組み合わせて用いることができる。例えば第3実施形態では、ポリシエンジン13は、第1実施形態や第2実施形態と同様に、ポリシ編集手段を更に備えていてもよい。また、第3実施形態では、オブジェクト知識に変更が加えられた際には、第1実施形態と同様に、ポリシ格納手段1023から全てのアクセス制御ポリシを読み込んで、アクセス制御ポリシの更新を行ってもよい。第4実施形態では、知識データベースはオブジェクト知識編集手段を備えていなくてもよく、ポリシエンジンはポリシ編集手段を備えていなくてもよい。第5実施形態及び第8実施形態では、知識データベースは、オブジェクト知識編集手段を備えていなくてもよく、
第6実施形態では、メール解析手段61は、メールサーバ60から電子メールを入力して電子メールを解析したが、これには限定されない。例えば、図52に示すように、メール解析手段61が、LAN63のトラフィックを監視し、SMTPトラフィックを解析して、電子メールを入力するように構成することもできる。この場合、その他の動作は、第6実施形態で説明した動作と同様である。また、図41及び図52に示すLAN63は、狭義のLANに限定されず、その他の通信形態であってもよい。
第7実施形態では、スケジュール管理手段711は、ユーザ端末71がLAN63から切り離されたオフライン状態で新たなスケジュール情報が入力された場合には、そのスケジュール情報を、一時的に保持するように構成できる。この場合、スケジュール管理手段711は、ユーザ端末71がLAN63に接続されたときに、一時的に保持していたスケジュール情報を、スケジュール解析手段70に送信すればよい。このような、スケジュール情報の送信態様は、ユーザ端末71が携帯型の端末機器である場合に特に適している。
以上、本発明をその好適な実施形態に基づいて説明したが、本発明のアクセス制御システムは、上記実施形態例にのみ限定されるものではなく、上記実施形態の構成から種々の修正及び変更を施したものも、本発明の範囲に含まれる。