(57)【要約】【課題】  アクセス制御ルールの追加や変更等に代表される、管理者によるアクセス制御リストの管理を容易にする。【解決手段】  アクセス制御装置は、アクセス制御リストに基づいて特定のリソースに対するアクセス可否を判定する。アクセス制御装置は、前記アクセス制御リストを構成するアクセス制御情報に関連付けされた優先度情報と、当該アクセス制御情報をグループ化する関連情報とを参照して、特定のリソースに対する新規のアクセス制御情報の追加要求に応じて、当該追加要求に含まれるアクセス制御情報が、前記アクセス制御リストに含まれているアクセス制御情報と干渉するか否かを判定し、当該判定結果に基づいて前記関連情報を更新し、当該更新された関連情報と、前記優先度情報とに基づいて、前記アクセス制御リストを更新する。【選択図】  図１
2015064684.tif 000002
【特許請求の範囲】
【請求項１】
リソースに対するアクセス可否を規定するアクセス制御情報を含むアクセス制御リストに基づいて、前記リソースに対するアクセス可否を判定するアクセス制御部と、
前記アクセス制御リストに対するアクセス制御情報の追加要求に応じて、前記アクセス制御情報をグループ化するための関連情報を更新し、
更新した前記関連情報と、前記アクセス制御情報に関連付けされた優先度情報とに基づいて、前記アクセス制御リストを更新する、
アクセス制御リスト管理部と、
を有する、アクセス制御装置。
【請求項２】
前記関連情報は、グループ化したアクセス制御情報間の関係性を示す情報を含む、
請求項1記載のアクセス制御装置。
【請求項３】
前記アクセス制御情報は、前記リソースに対するリソース参照情報と、当該リソース参照情報に関連付けされたアクセス制御ルールと、を含み、
前記アクセス制御情報の追加要求は、特定のリソースに対する前記アクセス制御情報と、当該アクセス制御情報に関連付けされた優先度とを含み、
前記アクセス制御リスト管理部は、前記アクセス制御情報の追加要求に応じて、
当該アクセス制御情報の追加要求に含まれるアクセス制御情報が、前記アクセス制御リストに含まれるアクセス制御情報と干渉するか判定し、
当該判定結果に基づいて、前記関連情報を更新し、
当該アクセス制御情報追加要求に含まれる優先度を、前記優先度情報に関連付ける、
請求項１または請求項２に記載のアクセス制御装置。
【請求項４】
前記アクセス制御リスト管理部は、前記アクセス制御情報の追加要求に含まれるアクセス制御情報が有するリソース参照情報と、前記アクセス制御リストに含まれるアクセス制御情報が有するリソース参照情報とを比較することにより、当該アクセス制御情報の追加要求に含まれるアクセス制御情報が、前記アクセス制御リストに含まれるアクセス制御情報と干渉するか判定する、
請求項３に記載のアクセス制御装置。
【請求項５】
前記アクセス制御リスト管理部は、
前記優先度情報を参照して、特定の優先度と、当該優先度に関連付けされた前記アクセス制御情報を選択し、
前記関連情報に基づいて、当該選択されたアクセス制御情報と上位または下位の関係を形成するアクセス制御情報を選択してグループを形成し、
当該形成したアクセス制御情報のグループを、前記アクセス制御リストの最上位に並べ替える、
請求項１乃至請求項４の何れかに記載のアクセス制御装置。
【請求項６】
前記アクセス制御リスト管理部は、
前記特定の優先度として、最下位の次に低い優先度から最上位の優先度までを順次選択し、
前記選択した優先度に基づいて、前記アクセス制御リストにおける前記アクセス制御情報のグループの位置を並び替える、
請求項５に記載のアクセス制御装置。
【請求項７】
前記アクセス制御リスト管理部は、
前記アクセス制御情報の追加要求に含まれるアクセス制御情報が有するリソース参照情報と、前記アクセス制御リストに含まれる特定のアクセス制御情報が有するリソース参照情報とを比較し、
一方のリソース参照情報が、他方のリソース参照情報を包含する場合、包含される側のリソース参照情報を有する前記アクセス制御情報を、包含する側のリソース参照情報を有する前記アクセス制御情報の上位として、前記関連情報を更新する、
請求項４に記載のアクセス制御装置。
【請求項８】
前記アクセス制御リスト管理部は、
前記アクセス制御情報の追加要求に含まれるアクセス制御情報が有するリソース参照情報と、前記アクセス制御リストに含まれている特定のアクセス制御情報が有するリソース参照情報とを比較し、
一方のリソース参照情報と、他方のリソース参照情報との間の包含関係を一意に判定できない場合、前記アクセス制御情報の追加要求の要求元に対して選択要求を通知し、
当該通知に対する前記要求元からの応答に基づいて、前記アクセス制御情報の追加要求に含まれるアクセス制御情報と、前記アクセス制御リストに含まれている特定のアクセス制御情報との間の上位または下位の関係を判定し、判定結果に基づいて前記関連情報を更新する、
請求項４または請求項７に記載のアクセス制御装置。
【請求項９】
リソースに対するアクセス可否を規定するアクセス制御情報を含むアクセス制御リストに基づいて、前記リソースに対するアクセス可否を判定し、
前記アクセス制御リストに対するアクセス制御情報の追加要求に応じて、前記アクセス制御情報をグループ化するための関連情報を更新し、
更新した前記関連情報と、前記アクセス制御情報に関連付けされた優先度情報とに基づいて、前記アクセス制御リストを更新する、
アクセス制御方法。
【請求項１０】
リソースに対するアクセス可否を規定するアクセス制御情報を含むアクセス制御リストに基づいて、前記リソースに対するアクセス可否を判定する処理と、
前記アクセス制御リストに対するアクセス制御情報の追加要求に応じて、前記アクセス制御情報をグループ化するための関連情報を更新する処理と、
更新した前記関連情報と、前記アクセス制御情報に関連付けされた優先度情報とに基づいて、前記アクセス制御リストを更新する処理と、をコンピュータに実行させる、
アクセス制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特定の情報資源に対するアクセス要求に対して、当該情報資源へのアクセス可否を判定する、アクセス制御装置、アクセス制御方法、及びアクセス制御プログラムに関する。
【背景技術】
【０００２】
近年、複数のユーザに対して各種情報資源（リソース）を提供するようなネットワークシステムが普及している。このようなシステムにおいては、例えば、ユーザ毎に特定のリソースに対するアクセスの可否を制御するため、リソースに対するアクセス可否のルールを規定したアクセス制御リスト（ＡＣＬ：Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ  Ｌｉｓｔ）を導入することがある。ＡＣＬに基づいてリソースに対するアクセス可否を適切に制御するためには、ＡＣＬの管理者は、アクセス制御対象となるリソースの種類や、ユーザの種別等、複数の条件を考慮して適切なアクセス制御ルールを設定し、常に最新の状態に維持する必要がある。
【０００３】
ＡＣＬを用いた各種リソースに対するアクセス制御や、ＡＣＬの管理に関連する技術としては、例えば以下の特許文献に開示された技術がある。
【０００４】
即ち、特許文献１は、文書データに対して複数のアクセス権を設定する際に、当該複数のアクセス権が重複するか否かを検出し、アクセス権が重複している場合には、別途記憶している各アクセス権に関する優先順位を表す優先情報に基づいて、いずれのアクセス権を有効とするかを決定する技術を開示する。
【０００５】
特許文献２は、特定のリソースに対するアクセス可否情報と優先度の情報とを含むＡＣＬに基づいて各ユーザに対するアクセス制御を実現する技術であって、特定のユーザＩＤによって識別されるユーザが、特定のデータＩＤによって識別されるデータにアクセスできるか否かを、前記ＡＣＬに含まれる優先度が最も高いアクセス可否情報に基づいて判定する技術を開示する。
【０００６】
特許文献３は、複数のオブジェクトに設定される複数のＡＣＬについて、当該複数のＡＣＬ同士の間に特定の関係が成立する場合、当該関係をグラフ構造として管理する技術を開示する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００５−０５５９９８号公報
【特許文献２】特開２００９−１１００９９号公報
【特許文献３】特開２００９−２５９０６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
前述した通り、ＡＣＬに基づくアクセス制御を実現するためには、管理者が常に最適なアクセス制御ルールをＡＣＬに設定すると共に、管理する必要がある。しかしながら、ＡＣＬに設定されたルールが膨大になり、ルール間の関係が複雑化した場合、管理者は、既存のルールと矛盾なく、新たなルールを適切に追加することが困難になる、という課題がある。また、一時的に特定のリソースに対するアクセス制御のルールを変更したい場合であっても、変更は容易ではないという課題がある。
【０００９】
前述した特許文献においては、複数のＡＣＬ間の関係やＡＣＬに付与された優先度に基づいて、適用するＡＣＬを選択する技術や、リソースの所有関係に基づいたアクセス制御により、ＡＣＬの管理負担を軽減する技術が開示されているものの、ＡＣＬに設定されるルールの増大や、ルール変更の要求に伴うＡＣＬ管理負担の軽減についての対応が十分ではない。
【００１０】
そこで本発明は、上述した課題である、管理者によるＡＣＬ管理負担を軽減し、ＡＣＬに対する新規ルールの追加や、変更を容易にするアクセス制御装置、アクセス制御方法、及びアクセス制御プログラムを提供することを主たる目的とする。
【課題を解決するための手段】
【００１１】
上記の目的を達成すべく、本発明に係るアクセス制御装置は、以下の構成を備えることを特徴とする。即ち、本発明に係るアクセス制御装置は、リソースに対するアクセス可否を規定するアクセス制御情報を含むアクセス制御リストに基づいて、前記リソースに対するアクセス可否を判定するアクセス制御部と、前記アクセス制御リストに対するアクセス制御情報の追加要求に応じて、前記アクセス制御情報をグループ化するための関連情報を更新し、更新した前記関連情報と、前記アクセス制御情報に関連付けされた優先度情報とに基づいて、前記アクセス制御リストを更新する、アクセス制御リスト管理部と、を備える。
【００１２】
また、本発明に係るアクセス制御方法は、以下の構成を備えることを特徴とする。即ち、本発明に係るアクセス制御方法は、リソースに対するアクセス可否を規定するアクセス制御情報を含むアクセス制御リストに基づいて、前記リソースに対するアクセス可否を判定し、前記アクセス制御リストに対するアクセス制御情報の追加要求に応じて、前記アクセス制御情報をグループ化するための関連情報を更新し、更新した前記関連情報と、前記アクセス制御情報に関連付けされた優先度情報とに基づいて、前記アクセス制御リストを更新する。
【００１３】
また、本発明に係るアクセス制御プログラムは、以下の構成を備えることを特徴とする。即ち、本発明に係るアクセス制御プログラムは、リソースに対するアクセス可否を規定するアクセス制御情報を含むアクセス制御リストに基づいて、前記リソースに対するアクセス可否を判定する処理と、前記アクセス制御リストに対するアクセス制御情報の追加要求に応じて、前記アクセス制御情報をグループ化するための関連情報を更新する処理と、更新した前記関連情報と、前記アクセス制御情報に関連付けされた優先度情報とに基づいて、前記アクセス制御リストを更新する処理と、をコンピュータに実行させる。
【００１４】
なお、上記本発明の目的は、係るアクセス制御プログラムが格納された、コンピュータ読み取り可能な記憶媒体によっても実現可能である。
【発明の効果】
【００１５】
上記本発明によれば、管理者による、ＡＣＬに対する新たなアクセス制御ルールの追加や、一時的なアクセス制御ルールの変更が容易になり、管理者によるＡＣＬ管理の負担を低減できる。
【図面の簡単な説明】
【００１６】
【図１】図１は、本発明の第１の実施形態におけるアクセス制御システムの機能的な構成を表すブロック図である。
【図２】図２は、本発明の第１の実施形態におけるアクセス制御システムの機能的な構成を表すブロック図である。
【図３】図３は、本発明の第１の実施形態における、ＡＣＬマスタの構成の一例を例示する図面である。
【図４】図４は、本発明の第１の実施形態における、アクセス制御の動作を表すフローチャートである。
【図５】図５は、本発明実施形態において、ＡＣＬエントリと、優先度情報との関連付けを表す模式図である。
【図６】図６は、本発明の第１の実施形態における、新規ＡＣＬエントリ追加の際の動作を例示するフローチャートである。
【図７】図７は、本発明の第２の実施形態におけるアクセス制御システムの機能的な構成を表すブロック図である。
【図８】図８は、本発明の実施形態における、ＡＣＬエントリ間の関連情報を例示する模式図である。
【図９】図９は、図３に例示した各ＡＣＬエントリ間の関連情報を例示する模式図である。
【図１０】図１０は、本発明の第２の実施形態における、新規ＡＣＬエントリ追加の際の動作を例示するフローチャートである。
【図１１】図１１は、本発明の第２の実施形態における、優先度に基づいたＡＣＬマスタの並べ替え動作を例示するフローチャートである。
【図１２】図１２は、本発明の第３の実施形態における、優先度に基づいたＡＣＬマスタの並べ替え動作を例示するフローチャートである。
【図１３】本発明の各実施形態に係る、アクセス制御装置のハードウェア構成を例示した模式図である。
【発明を実施するための形態】
【００１７】
次に、本発明を実施する形態について、図面を参照して詳細に説明する。
【００１８】
＜第１の実施形態＞
本発明の第１の実施形態におけるアクセス制御システムについて、図１を参照して説明する。図１は、本発明の第１の実施形態におけるアクセス制御システムの機能的な構成を表すブロック図である。図１に示すように、アクセス制御装置１０１は、クライアント１０３から発信されるアクセス要求を解析し、後述するアクセス制御リスト（図１におけるＡＣＬマスタ１０１ａ）に基づいてアクセス可否を判定する。また、ＡＣＬ管理部１００は、アクセス制御リストに対する新たなアクセス制御ルールの追加や変更等、ＡＣＬ管理者による管理要求に応答する。以下、各構成要素について図面を参照して説明する。
【００１９】
サーバ１０２は、クライアント１０３に対してリソース１０２ａを提供する。サーバ１０２は、例えば、インターネットに通信可能に接続され、ユーザにコンテンツを開示するＷｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂサーバ（以下Ｗｅｂサーバと称する事がある）や、イントラネットに通信可能に接続され、ユーザに対してファイルを提供するファイルサーバであってもよい。
【００２０】
本実施形態においては、リソース１０２ａに含まれる特定のリソースについて、一意に識別可能なリソース参照情報が付与される。例えば、サーバ１０２がＷｅｂサーバである場合、リソース１０２ａは各種文書や画像などのコンテンツでもよく、リソース参照情報としてＵＲＩ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｉｄｅｎｔｉｆｉｅｒ）を用いてもよい。また、例えば、サーバ１０２がファイルサーバである場合は、リソース参照情報としてファイルパスを用いてもよい。
【００２１】
クライアント１０３は、後述するアクセス制御部１０１を経由して前記サーバ１０２と通信可能に接続されている。クライアント１０３は、アクセス制御部１０１に対して、前述したサーバ１０２が開示する特定のリソースに対するリソース参照情報を指定して、当該リソースに対するアクセスを要求する。具体的には、例えば図示しないユーザは、クライアント１０３において提供されるアクセスプログラム１０４を使用して、特定のリソースに対するリソース参照情報を指定して、当該リソースに対するアクセスを要求する。アクセスプログラム１０４は、例えばＷｅｂサーバに接続するＷｅｂ閲覧プログラム（Ｗｅｂブラウザ等）であってもよく、ファイルサーバに接続するファイル管理プログラムであってもよい。なお、本実施形態においては、クライアント１０３は、アクセス制御部１０１を経由してサーバ１０２と接続されているが、図２に示すようにサーバ１０２と通信可能に直接接続されていてもよい。
【００２２】
アクセス制御部１０１は、クライアント１０３及びサーバ１０２と通信可能に接続されており、クライアント１０３から特定のリソースに対するアクセス要求があった場合に、当該アクセス要求に対するアクセス可否を判定する。また、アクセス制御部１０１は、管理者端末１０５と通信可能に接続されており、管理者端末１０５を通じて、ＡＣＬ管理のための各種要求を受け付ける。
【００２３】
本実施形態においては、アクセス制御部１０１はＡＣＬマスタ１０１ａと、アクセス可否判定部１０１ｂとを有する。
【００２４】
まず、ＡＣＬマスタ１０１ａの構成について説明する。本実施形態におけるＡＣＬマスタ１０１ａは、前記クライアント１０３から要求される、特定のリソースに対するアクセス要求に対して、当該アクセス要求に適用されるアクセス制御ルールの有無を判定できる判定情報と、当該判定情報に関連付けされたアクセス制御ルールとを有するエントリを、順序を付けて格納する。図３を参照してＡＣＬマスタ１０１ａの具体的構成について説明する。図３は、ＡＣＬマスタ１０１ａの構成の一例を例示する図面である。図３に例示した構成においては、ＡＣＬマスタ１０１ａは、サーバ１０２において提供されるリソース１０２ａを参照するリソース参照情報３０２（前記判定情報に相当）と、当該リソースに対するアクセス可否を規定するアクセス認可情報である、アクセス制御ルール３０３とを有する。図３に例示した構成においては、前記リソース参照情報３０２と、アクセス制御ルール３０３との組に対して、一意に識別可能なＡＣＬ番号３０１が付与されている。以下、ＡＣＬ番号３０１と、リソース参照番号３０２と、アクセス制御ルール３０３とにより構成される組を、ＡＣＬエントリと称する場合がある。なお、本実施形態におけるＡＣＬマスタ１０１ａの構成は、図３の例示に限定されることなく、例えば、順序付きのリスト構造等を採用してもよい。
【００２５】
リソース参照情報３０２は、リソース１０２ａに含まれる特定のリソースを一意に識別可能な識別情報である。リソース識別情報３０２は、リソース１０２ａの種類に応じて適切な識別情報を選択してよい。図３に例示した構成においては、リソース参照情報３０２としてＵＲＩが用いられており、パラメータによる指定（例えば”ｈｔｔｐ：／／ｗｗｗ．ａ１．ｃｏ．ｊｐ／｛ＵＩＤ｝”における｛ＵＩＤ｝等）や、正規表現による指定（例えば”＊．ａ１．ｃｏ．ｊｐ”における”＊”等）が可能である。なお、リソース参照情報３０２は、図３に示す例に限定されず、例えばサーバ１０２がファイルサーバであり、リソース１０２ａがファイルに相当する場合は、リソース参照情報３０２としてファイルのパスを用いてもよく、上記以外のパラメータ指定方法や、正規表現による指定方法等を採用してもよい。
【００２６】
アクセス制御ルール３０３には、適用対象となるリソース参照情報３０２対するアクセス可否のルールが記載される。アクセス制御ルール３０３は、制御対象となるリソース１０２ａの種類、サーバ１０２におけるリソースの提供方法、及びクライアント１０３の種類等に応じて適切な記載方法を採用してよい。例えば、図３に例示したＡＣＬ番号ＡＣＬ４に該当するＡＣＬエントリについて、リソース参照情報の”｛ＵＩＤ｝”の部分にユーザＩＤ（例えば”ｕｓｅｒ１”）が指定されたＵＲＩである”ｈｔｔｐ：／／ｗｗｗ．ａ１．ｃｏ．ｊｐ／ｕｓｅｒ１”にアクセスがあった場合、アクセス元のクライアント（ユーザ）のユーザＩＤが”ｕｓｅｒ１”である場合にはアクセスを許可する等のルールを、アクセス制御ルール”ＲＵＬＥ−Ａ１−ＵＩＤ”として設定してもよい。このように、本実施形態におけるアクセス制御ルール３０３としては、リソース参照情報３０２に対して、当該リソースへのアクセス要求の送信元の情報等に基づいてアクセスの可否を判定する任意のルールを採用してよい。なお、本実施形態においては、アクセス可否判定のもとになる情報として、例えば、前記したアクセス要求を送信したユーザに関する情報や、あるいはアクセス元のロケーションの情報（ネットワーク上のロケーションや、地理的なロケーション等を含む）、時間や時刻に関する情報、その他アクセス要求に伴って送信される付帯情報等、アクセス可否判定部１０１ｂにおいて判定可能な任意の情報を採用してもよい。
【００２７】
次に、アクセス可否判定部１０１ｂの動作について、図４を参照して説明する。図４は、本発明の第１の実施形態における、アクセス制御の動作を表すフローチャートである。
【００２８】
まず、アクセス可否判定部１０１ｂは、クライアント１０３から発信された、リソース１０２ａに対するアクセス要求を解析する（ステップＳ４０１及びステップＳ４０２）。アクセス可否判定部１０１ｂは、ＡＣＬマスタ１０１ａを参照して、ＡＣＬマスタ１０１ａの最上位に格納されたＡＣＬエントリから、当該アクセス要求に含まれるリソース参照情報に適用されるアクセス制御ルールが存在するか否かを、順次確認する（ステップＳ４０３）。例えば、図３に示す例においては、ＡＣＬ番号が”ＡＣＬ４”に該当するＡＣＬエントリが最上位であり、アクセス可否判定部１０１ｂは、”ＡＣＬ４”、”ＡＣＬ１”の順で、アクセス要求により指定されたリソース参照情報と、ＡＣＬマスタに登録されているリソース参照情報を比較し、アクセス制御ルールの適用対象となるか否かを確認する。
【００２９】
次に、アクセス可否判定部１０１ｂは、ステップＳ４０３の確認結果として、適用対象となるＡＣＬエントリが存在した場合は（ステップＳ４０４においてｔｒｕｅの場合）、当該適用対象となるＡＣＬエントリを構成するアクセス制御ルール３０３に基づいて、前記クライアント１０３から要求されたリソースに対するアクセス可否を判定する（ステップＳ４０５）。
【００３０】
ステップＳ４０５における判定結果がアクセス許可であった場合には（ステップＳ４０６においてｔｒｕｅ）、クライアント１０３はリソース１０２ａにアクセス可能であり（ステップＳ４０７）、前記判定結果がアクセス拒否であった場合は（ステップＳ４０６においてｆａｌｓｅ）、クライアント１０３はリソース１０２ａにアクセス不能である。
【００３１】
なお、図２に示すように、例えば、クライアント１０３がサーバ１０２と直接接続される構成においては、クライアント１０３は、サーバ１０２に対してアクセス要求を直接送信し、サーバ１０２は、当該アクセス要求に対してアクセス制御部１０１にアクセス可否の判定を依頼し、アクセス制御部１０１における判定結果に基づいて、当該要求されたリソースをクライアント１０３に提供してもよい。
【００３２】
次に、本実施形態におけるＡＣＬ管理部１００の動作について説明する。本実施形態において、ＡＣＬ管理部１００は、ＡＣＬ関連情報１００ｂ及び、ＡＣＬ優先度情報１００ｃを有する。
ＡＣＬ管理部１００は、前述したように、アクセス制御リストに対する新たなアクセス制御ルールの追加や変更等、ＡＣＬ管理者による管理要求に応答する。以下、ＡＣＬ管理部１００の構成要素について説明する。
【００３３】
ＡＣＬ関連情報１００ｂは、ＡＣＬマスタ１０１ａに格納されている各ＡＣＬエントリ間の関係性を示す情報等（以下関連情報と称する場合がある）が記録される、記録領域である。本実施形態においては、ＡＣＬエントリ間の関係性を示す関連情報として、例えば、各ＡＣＬエントリを関連付けてグループ化可能な特定の情報を採用してもよい。本実施形態においては、係るグループ化のための情報として、例えば、前記各ＡＣＬエントリ間において上位−下位の関係を構成するような情報を採用してもよい。
【００３４】
図８を参照して、本実施形態におけるＡＣＬエントリ間の関係性を示す、関連情報の例について説明する。図８は、本実施形態におけるＡＣＬエントリ間の関連情報（上位−下位）を例示する模式図である。
【００３５】
本実施形態においては、例えば、図８に示すように、特定のＡＣＬエントリＡＣＬ−Ａ及びＡＣＬ−Ｂが存在し、ＡＣＬ−ＢがＡＣＬ−Ａの上位に該当する場合、ＡＣＬ管理部１００は、ＡＣＬ−Ａを、ＡＣＬ−Ｂの上位として、その関係をＡＣＬ関連情報１００ｂに記録してもよい。このような上位−下位の関係を表し、各ＡＣＬエントリを関連付けてグループ化可能な情報として、例えば、各ＡＣＬエントリ間の包含関係を表す情報を導入してもよく、あるいは各ＡＣＬエントリを構造化・階層化するような情報を導入してもよい。
【００３６】
ＡＣＬ優先度情報１００ｃは、ＡＣＬマスタ１０１ａに格納されている、各ＡＣＬエントリに関連付けされた優先度が記録される、記録領域である。本実施形態においては、ＡＣＬ優先度情報１００ｃに記録される優先度の情報は、例えば、各ＡＣＬエントリにおけるＡＣＬ番号（図３における３０１）と関連付けて記録されてもよく、あるいは各ＡＣＬエントリにおけるリソース参照情報と関連付けて記録されてもよい。以下、図５を参照して、ＡＣＬ優先度情報１００ｃの具体例について説明する。
【００３７】
図５は、各ＡＣＬエントリと、当該ＡＣＬエントリに対応する優先度の情報との関連付けを例示する模式図である。図５に示す例においては、ＡＣＬマスタ１０１ａが格納する各ＡＣＬエントリにおけるＡＣＬ番号及びリソース参照情報と、優先度の情報が関連付けされている。本実施形態においては、優先度の情報は、例えば、特定の数値や文字列等を用いて、順位づけ可能に表現されていればよい。図５に示す例では、”ＨＩＧＨ”、”ＭＩＤ”、”ＬＯＷ”の順に、優先度が低くなるよう設定されている。
【００３８】
次に、本実施形態における、ＡＣＬ管理部１００の動作について図６を参照して説明する。図６は、本実施形態における、新規ＡＣＬエントリ追加の際の動作を例示するフローチャートである。
【００３９】
ＡＣＬ管理部１００は、管理者端末１０５から、ＡＣＬマスタ１０１ａに対する新たなＡＣＬエントリ（以下、追加対象ＡＣＬエントリと称する場合がある）の追加要求（以下、ＡＣＬエントリ追加要求と称する場合がある）を受け付ける（ステップＳ６０１）。ＡＣＬエントリ追加要求は、例えば、リソース１０２ａに含まれる特定のリソースに対するリソース参照情報と、当該リソースに対するアクセス可否を規定するアクセス制御ルールとを有し、更に、追加対象ＡＣＬエントリに対する優先度の情報を含んでもよい。
【００４０】
ＡＣＬ管理部１００は、ＡＣＬマスタ１０１ａを参照し、ＡＣＬマスタ１０１ａの先頭から、格納されているＡＣＬエントリを順次取得する（ステップＳ６０２）。
【００４１】
次に、ＡＣＬ管理部１００は、前記追加対象ＡＣＬエントリに含まれるリソース参照情報と、前記取得した既存のＡＣＬエントリのリソース参照情報を比較し、前記追加対象ＡＣＬエントリが、既存のＡＣＬエントリと干渉するか否かを確認する（ステップＳ６０３）。
【００４２】
本実施形態においては、例えば、特定のＡＣＬエントリにおけるアクセス制御ルールが、他のＡＣＬエントリにおけるアクセス制御ルールに基づいたアクセス制御の結果に影響を及ぼす場合、それぞれのＡＣＬエントリが干渉すると判定してもよい。例えば、追加対象ＡＣＬエントリにおけるリソース参照情報が、ＡＣＬマスタ１０１ａに格納されている特定のＡＣＬエントリにおけるリソース参照情報と同じリソースを指定している場合や、いずれか一方のリソース参照情報により参照されるリソースが、他方のリソース参照情報により参照されるリソースを含むような関係になっている場合には、ＡＣＬ管理部１００は、これらのリソース参照情報に係るＡＣＬエントリについて干渉すると判断してもよい。この場合、具体的に、特定のＡＣＬエントリと、その他のＡＣＬエントリが干渉するか否かは、各ＡＣＬエントリにおけるリソース参照情報の内容や形式に基づいて、適切に判定すればよい。
【００４３】
ＡＣＬ管理部１００は、前記干渉判定の結果、前記追加対象ＡＣＬエントリと、既存のＡＣＬエントリとが干渉しないと判定した場合には（ステップＳ６０４においてｆａｌｓｅの場合）、ＡＣＬマスタ１０１ａに次のＡＣＬエントリが格納されているか確認し（ステップＳ６０６）、次のＡＣＬエントリが格納されている場合は（ステップＳ６０７にてｔｒｕｅ）、当該ＡＣＬエントリを選択して（ステップＳ６０８）、ステップＳ６０３から順次前記干渉判定を続行する。なお、ステップＳ６０７においてｆａｌｓｅとなる場合には、全ての干渉判定が終了したので、ステップＳ６０９から処理を続行する。
【００４４】
ＡＣＬ管理部１００は、前記干渉判定の結果、前記追加対象ＡＣＬエントリと、既存のＡＣＬエントリとが干渉すると判定した場合には（ステップＳ６０４においてｔｒｕｅの場合）、前記ＡＣＬ関連情報１００ｂを参照し、前記追加対象ＡＣＬエントリと、干渉すると判定された既存のＡＣＬエントリに対する関連情報を更新する（ステップＳ６０５）。  ＡＣＬ管理部１００は、前記ステップＳ６０５の処理の後、ＡＣＬマスタ１０１ａに次のＡＣＬエントリが格納されているか確認し（ステップＳ６０６）、次のＡＣＬエントリが格納されている場合は（ステップＳ６０７にてｔｒｕｅ）、当該ＡＣＬエントリを取得して（ステップＳ６０８）、ステップＳ６０３から順次前記干渉判定を続行する。なお、ステップＳ６０７においてｆａｌｓｅとなる場合には、全ての干渉判定が終了したので、ステップＳ６０９から処理を続行する。
【００４５】
次にステップＳ６０９以下の処理を説明する。ＡＣＬ管理部１００は、ＡＣＬエントリ追加要求において指定された追加対象ＡＣＬエントリの情報及び優先度の情報をもとに、当該追加対象ＡＣＬエントリに対する優先度を前記ＡＣＬ優先度情報１００ｃに追加して、ＡＣＬ優先度情報１００ｃを更新する（ステップＳ６０９）。
【００４６】
次にＡＣＬ管理部１００は、前記更新されたＡＣＬ関連情報１００ｂと、ＡＣＬ優先度情報１００ｃを参照して、ＡＣＬマスタ１０１ｃを更新する（ステップＳ６１０）。具体的には、ＡＣＬ管理部１００は、ＡＣＬマスタ１０１ｃに前記追加対象ＡＣＬエントリを格納すると共に、ＡＣＬ関連情報１００ｂと、ＡＣＬ優先度情報１００ｃを参照して、格納されているＡＣＬエントリを並び替える。並び替えの方法としては、例えば、各ＡＣＬエントリに関連付けされた優先度に基づいて、優先度の高いものから並ぶように並び替えてもよく、またＡＣＬ関連情報１００ｂに記録されたＡＣＬエントリ間の関連をもとに、ＡＣＬエントリをグループ化し、当該グループ毎に並び替えてもよい。
【００４７】
以上説明した本実施形態によるアクセス制御装置によれば、アクセス制御部１０１は、ＡＣＬマスタ１０１ａに基づいて、クライアント１０３からサーバ１０２へのアクセス可否を制御可能である。また、管理者がＡＣＬマスタ１０１ａに新たなＡＣＬエントリを追加する際、ＡＣＬ管理部１００は、追加対象のＡＣＬエントリと、既存のＡＣＬマスタ１０１ａに格納されるＡＣＬエントリとが干渉するか否かを判定して、当該判定結果をもとにＡＣＬ関連情報１００ｂを更新する。更に、ＡＣＬ管理部１００は、ＡＣＬ優先度情報１００ｃを更新し、これらの更新結果に基づいて、ＡＣＬマスタ１０１ａにおけるＡＣＬエントリを並び替える。
【００４８】
本実施形態によれば、上述したＡＣＬ管理部１００の動作により、新規ＡＣＬエントリと既存のＡＣＬエントリとの間の干渉状況を反映した関連情報が構築されるので、管理者によるＡＣＬに対する新たなアクセスルールの追加が容易になる。また、ＡＣＬ管理部１００は、追加対象のＡＣＬエントリを含め、各ＡＣＬエントリに関連付けされた優先度を考慮して、ＡＣＬマスタ１０１ａを並び替えるので、管理者は追加するＡＣＬエントリの優先度を調整することにより、追加するＡＣＬエントリと、既存のＡＣＬエントリと間の調整を容易に行うことができる。
【００４９】
なお、本実施形態におけるサーバ１０２、アクセス制御部１０１、ＡＣＬ管理部１００、クライアント１０３は、それぞれ独立した専用のハードウェアにより構成してもよいが、図１３に例示するような汎用のＣＰＵ１３０１（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）及びメモリ１３０２等からなるハードウェアと、当該ＣＰＵによって実行される各種ソフトウェア・プログラム（コンピュータ・プログラム）とによって構成してもよい。また、サーバ１０２、アクセス制御部１０１、ＡＣＬ管理部１００については、一部または全部を統合したハードウェアとして構成してもよく、一部の機能を当該ハードウェアにより実行されるソフトウェア・プログラムとして提供してもよい。
【００５０】
また、本実施形態において、ＡＣＬマスタ１０１ａ、ＡＣＬ関連情報１００ｂ及びＡＣＬ優先度情報１００ｃは、それぞれハードディスク１３０３等の不揮発性の記憶装置における、記録領域の一部に格納されてもよい。アクセス制御部１０１またはＡＣＬ管理部１００が、それぞれソフトウェア・プログラムにより構成される場合、ＡＣＬマスタ１０１ａ、ＡＣＬ関連情報１００ｂ及びＡＣＬ優先度情報１００ｃは、当該ソフトウェア・プログラムをＣＰＵが実行する際に、当該ソフトウェア・プログラムから参照できるように、メモリ上に読み込まれるよう構成してもよい。更に、上記各ソフトウェア・プログラムは外部記憶媒体１３０５に記録され、プログラム実行時に外部記憶装置１３０４を通じて読み込まれるように構成してもよい。
【００５１】
＜第２の実施形態＞
次に、本発明の第２の実施形態について説明する。以下の説明においては、本実施形態に係る特徴的な構成を中心に説明する。その際、前記第１の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明は省略する。なお、本実施形態におけるアクセス制御装置は、前記第１の実施形態に係るアクセス制御装置と基本的な構成は同様であるので、以下においては、本実施形態において特徴的な構成である、ＡＣＬ管理部１００の構成と動作を中心に説明する。
【００５２】
本実施形態におけるＡＣＬ管理部１００について、図７を参照して説明する。図７は、本実施形態におけるアクセス制御システムの機能的な構成を表すブロック図である。
【００５３】
本実施形態におけるＡＣＬ管理部１００は、図７に示すように、前記第１の実施形態同様ＡＣＬ関連情報１０１ｂ、ＡＣＬ優先度情報１００ｃを有し、更にＡＣＬ並び替え処理部１０１ａ、ＡＣＬ関連情報作成部１００ｇ、ＡＣＬ干渉判定部１００ｅ、ＡＣＬ追加位置提示部１００ｆ、及びＡＣＬ追加処理部１００ｄにより構成される。なお、前記第１の実施形態と同様、ＡＣＬ管理部１００は、アクセス制御部１０１と通信可能に接続されてり、ＡＣＬ管理部の構成要素はＡＣＬマスタ１０１ａを参照可能である。また、ＡＣＬ管理部１００は管理者端末１０５と通信可能に接続されている。以下、それぞれの構成要素と、その動作について説明する。
【００５４】
ＡＣＬ追加処理部１００ｄは、管理者端末１０５と通信可能に接続されており、管理者端末１０５から、新たなＡＣＬエントリ（以下、追加対象ＡＣＬエントリと称する場合がある）の追加要求（以下、ＡＣＬエントリ追加要求と称する場合がある）を受け付ける。
【００５５】
ＡＣＬ干渉判定部１００ｅは、ＡＣＬ追加処理部１００ｄより受け付けたＡＣＬエントリ追加要求に含まれる追加対象ＡＣＬエントリと、ＡＣＬマスタ１０１ａに格納されている既存のＡＣＬエントリとが干渉するか否かを判定する。ＡＣＬ干渉判定部１００ｅは、ＡＣＬ関連情報作成部１００ｇと通信可能に接続されており、前記判定結果をＡＣＬ関連情報作成部１００ｇに送信する。ＡＣＬ干渉判定部１００ｅの具体的な動作については、後述する。
【００５６】
ＡＣＬ関連情報作成部１００ｇは、ＡＣＬ干渉判定部１００ｅから受信した、前記判定結果をもとに、ＡＣＬ関連情報１００ｂを更新する。ＡＣＬ関連情報作成部の具体的な動作については、後述する。
【００５７】
ＡＣＬ追加位置提示部１００ｆは、管理者端末１０５と通信可能に接続されている。ＡＣＬ追加位置提示部１００ｆの具体的な動作については、後述する。
【００５８】
ＡＣＬ並び替え処理部１００ａは、ＡＣＬ関連情報１００ｂ及びＡＣＬ優先度情報１００ｃを参照し、ＡＣＬマスタ１０１ａが格納するＡＣＬエントリを、優先度に基づいて並べ替える。ＡＣＬ並び替え処理部１００ａの具体的な動作については後述する。
【００５９】
次に、本実施形態における、ＡＣＬ関連情報１００ｂの構成について説明する。本実施形態においては、ＡＣＬマスタ１０１ａに格納されている各ＡＣＬエントリ間の関係性を示す関連情報として、例えば、各ＡＣＬエントリを構成するリソース参照情報の包含関係を採用してもよい。
【００６０】
図８及び図９を参照して、ＡＣＬエントリ間の関連について具体例を用いて説明する。図９は、図３に例示したＡＣＬマスタ１０１ａにおける、各ＡＣＬエントリ間の関連情報を例示する模式図である。  本実施形態においては、例えば、前記第１の実施形態と同様、図８に示すように、特定のＡＣＬエントリＡＣＬ−Ａ及びＡＣＬ−Ｂが存在し、ＡＣＬ−Ｂのリソース参照情報がＡＣＬ−Ａのリソース参照情報を包含する場合、ＡＣＬ管理部１００は、ＡＣＬ−Ａを、ＡＣＬ−Ｂの上位として、その関係をＡＣＬ関連情報１００ｂに記録する。
【００６１】
具体例として、図３のＡＣＬ番号”ＡＣＬ１”、”ＡＣＬ２”、及び”ＡＣＬ４”の各ＡＣＬエントリにおけるリソース参照情報の包含関係を説明する。”ＡＣＬ２”のリソース参照情報である”ｈｔｔｐ：／／＊．ａ１．ｃｏ．ｊｐ／”は、正規表現”＊”を解釈すると、”ＡＣＬ１”のリソース参照情報である”ｈｔｔｐ：／／ｗｗｗ．ａ１．ｃｏ．ｊｐ／”を包含する。また、”ＡＣＬ１”のリソース参照情報である”ｈｔｔｐ：／／ｗｗｗ．ａ１．ｃｏ．ｊｐ／”は、”ＡＣＬ４”のリソース参照情報である”ｈｔｔｐ：／／ｗｗｗ．ａ１．ｃｏ．ｊｐ／｛ＵＩＤ｝”を包含する。本実施形態においては、ＡＣＬ関連情報作成部１００ｇは、図９に例示するように、これらの包含関係に基づいて”ＡＣＬ４”が”ＡＣＬ１”の上位となり、”ＡＣＬ１”が”ＡＣＬ２”の上位となるよう上位−下位の関係を構築し、ＡＣＬ関連情報１００ｂに記録してもよい。
【００６２】
次に、本実施形態における、ＡＣＬ管理部１００の動作について、図１０を参照して説明する。図１０は、本実施形態における、新規ＡＣＬエントリ追加の際の動作を例示するフローチャートである。なお、以下においては、本実施形態における一例として、サーバ１０２がＷｅｂサーバであり、リソース参照情報はＵＲＩにより指定されることを想定する。なお、本実施形態におけるＵＲＩは、通常のＵＲＩと同様ホスト部及びパス部から構成されるが、係るホスト部あるいはパス部を、正規表現やパラメータ表記を用いて記載してもよい。また、本実施形態においては、上位のパスは、下位のパスを包含することを想定する。例えば、”ｈｔｔｐ：／／ｗｗｗ．ａ４．ｃｏ．ｊｐ／”は、”ｈｔｔｐ：／／ｗｗｗ．ａ４．ｃｏ．ｊｐ／ｓａｍｐｌｅ１／”や、”ｈｔｔｐ：／／ｗｗｗ．ａ４．ｃｏ．ｊｐ／ｓａｍｐｌｅ２／ｔｅｓｔ／”等を含む。また、各ＡＣＬエントリに対するＡＣＬ優先度情報１００ｃには、図５に示す優先度が設定されていることを想定する。
【００６３】
まず、ＡＣＬ追加処理部１００ｄは、管理者端末１０５から、ＡＣＬマスタ１０１ａに対する、ＡＣＬエントリ追加要求を受け付ける（ステップＳ１００１）。当該ＡＣＬエントリの追加要求は、前記第１の実施形態と同様、例えば、リソース１０２ａに含まれる特定のリソースに対する参照情報と、当該リソースに対するアクセス可否を設定したアクセス制御ルールとを有し、更に、追加するＡＣＬエントリに対する優先度の情報を含んでもよい。ＡＣＬ追加処理部１００ｄは、管理者端末１０５から受け付けたＡＣＬエントリ追加要求を、ＡＣＬ干渉判定部１００ｅに送信する。
【００６４】
ＡＣＬ干渉判定部１００ｅは、ＡＣＬマスタ１０１ａを参照し、マスタの先頭に格納されているＡＣＬエントリを取得する（ステップＳ１００２）。
【００６５】
次にＡＣＬ干渉判定部１００ｅは、ＡＣＬ追加処理部１００ｄより受け付けたＡＣＬエントリ追加要求に含まれる追加対象ＡＣＬエントリを解析し、当該追加対象ＡＣＬエントリと、ＡＣＬマスタ１０１ａに格納されている既存のＡＣＬエントリとが干渉するか否かを判定する（ステップＳ１００３）。以下、ＡＣＬ干渉判定部１００ｅにおける干渉判定について説明する。
【００６６】
ＡＣＬ干渉判定部１００ｅは、前記追加対象ＡＣＬエントリから、リソース参照情報であるＵＲＩを抽出し、ホスト部とパス部とに分割する。ＡＣＬ干渉判定部１００ｅは、前記ステップＳ１００２において選択したＡＣＬエントリにおけるＵＲＩのホスト部と、前記追加対象ＡＣＬエントリにおけるＵＲＩのホスト部を比較し、当該ホスト部において包含関係が成立する場合は、両エントリは干渉すると判定する（ステップＳ１００４においてｔｒｕｅの場合）。なお、ＵＲＩのホスト部について包含関係が成立する条件は、適宜定めて良い。例えば、本実施形態においては、図３に示すように正規表現を用いたホスト部の表記”＊．ａ１．ｃｏ．ｊｐ”は、”ｗｗｗ．ａ１．ｃｏ．ｊｐ”を包含すると定めている。なお、包含関係が成立する条件は、図３に例示した条件には限定されない。
【００６７】
ＡＣＬ干渉判定部１００ｅは、ステップＳ１００４においてｔｒｕｅの場合、前記ステップＳ１００２において選択したＡＣＬエントリのリソース参照情報であるＵＲＩと、前記追加対象ＡＣＬエントリのホスト部とパス部とを比較し、両ＡＣＬエントリ間の包含関係を確認する（ステップＳ１００５）。具体的には、ＡＣＬ干渉判定部１００ｅは、例えば、両ＡＣＬエントリ間の包含関係が、一意に定められるか否かを判定してもよい。
【００６８】
本実施形態におけるＡＣＬ干渉判定部１００ｅは、前記両ＡＣＬエントリについて、いずれか一方のＡＣＬエントリのホスト部及びパス部の両方が、他方のＡＣＬエントリのホスト部及びパス部に包含される場合、両ＡＣＬエントリの包含関係は一意に定められると判定し（ステップＳ１００６においてｔｒｕｅ）、係る両ＡＣＬエントリの包含関係をＡＣＬ関連情報作成部１００ｇに送信する。ＡＣＬ関連情報作成部１００ｇは、係る両ＡＣＬエントリの包含関係に基づいて、両ＡＣＬの上位−下位の関係を、ＡＣＬ関連情報１００ｂに記録する（ステップＳ１００７）。
【００６９】
ＡＣＬ干渉判定部１００ｅは、追加対象ＡＣＬエントリのホスト部及びパス部と、前記ステップＳ１００２において選択したＡＣＬエントリのリソース参照情報であるＵＲＩの包含関係が一意に定まらない場合（ステップＳ１００６においてｆａｌｓｅ）、例えば、ＡＣＬ関連情報作成部１００ｇに、係る両ＡＣＬエントリの包含関係について「要選択」を表す識別情報を送信する。ＡＣＬ関連情報作成部１００ｇは、係る両ＡＣＬエントリの上位−下位の関係について、「要選択」としてＡＣＬ関連情報１００ｂに記録する（ステップＳ１００８）。
【００７０】
前記両エントリのＵＲＩについて包含関係が一意に定まらない場合とは、例えば、前記両エントリのＵＲＩにおけるホスト部とパス部の包含関係が逆になっている場合（一方のエントリのＵＲＩにおけるホスト部が、他方のエントリのＵＲＩにおけるホスト部を包含するものの、他方のエントリのＵＲＩにおけるパス部が、一方のエントリのＵＲＩにおけるパス部を包含するような場合等）等が該当する。
【００７１】
ＡＣＬ干渉判定部１００ｅは、上記ステップＳ１００７またはステップＳ１００８を実行した場合、ＡＣＬマスタ１０１ａにおいて次のＡＣＬエントリが存在するか確認し（ステップＳ１００９）、次のＡＣＬエントリが存在すれば（ステップＳ１０１０においてｔｒｕｅ）、ＡＣＬマスタ１０１ａから当該次のエントリを取得し（ステップＳ１０１１）、前記ステップＳ１００３から再度処理を継続する。
【００７２】
ＡＣＬ干渉判定部１００ｅは、上記ステップＳ１００３において、干渉しないと判定した場合（ステップＳ１００４においてｆａｌｓｅ）も同様に、ＡＣＬマスタ１０１ａにおいて次のＡＣＬエントリが存在するか確認し（ステップＳ１００９）、次のＡＣＬエントリが存在すれば（ステップＳ１０１０においてｔｒｕｅ）、ＡＣＬマスタ１０１ａから当該次のエントリを取得し（ステップＳ１０１１）、前記ステップＳ１００３から再度処理を継続する。
【００７３】
ステップＳ１０１０においてｆａｌｓｅの場合、ＡＣＬマスタ１０１ａに格納されている全ＡＣＬエントリについて干渉有無の判定が完了したと判定して、ＡＣＬ関連情報作成部１００ｇは、ステップＳ１０１２から処理を継続する。
【００７４】
次に、ステップＳ１０１２以降の処理について説明する。
【００７５】
まず、ＡＣＬ関連情報作成部１００ｇは、ＡＣＬ関連情報１００ｂを参照し、「要選択」と記録されているＡＣＬエントリの有無を確認する（ステップＳ１０１２）。
【００７６】
上記ステップＳ１０１２において、「要選択」と記録されたＡＣＬエントリが存在する場合（ステップＳ１０１３においてｔｒｕｅ）、ＡＣＬ関連情報作成部１００ｇは、ＡＣＬ追加位置提示部１００ｆに対して、ＡＣＬ関連情報１００ｂにおける、前記追加対象ＡＣＬエントリの追加位置（他のＡＣＬエントリとの上位−下位の関係を構成する位置）を確認するための確認要求を通知する。ＡＣＬ追加位置提示部１００ｆは、前記確認要求に基づいて、管理者端末１０５に対して、前記追加対象ＡＣＬエントリの追加位置を明確化するよう選択要求を送信する（ステップＳ１０１４）。
【００７７】
図示しない管理者は、上記ステップＳ１０１４において送信された選択要求に応じて、管理者端末１０５を用いて前記追加対象ＡＣＬエントリの追加位置を選択し、当該選択内容を含む選択応答をＡＣＬ追加位置提示部１００ｆに返信する（ステップＳ１０１５）。ＡＣＬ追加位置提示部１００ｆは管理者端末１０５から選択応答を受信し、当該応答内容に基づいて、ＡＣＬマスタ１０１ａに格納されているＡＣＬエントリと、前記追加対象ＡＣＬエントリの包含関係をＡＣＬ関連情報作成部１００ｇに送信する。
【００７８】
ＡＣＬ関連情報作成部１００ｇは、ＡＣＬマスタ１０１ａに格納されているＡＣＬエントリと、前記ＡＣＬ追加位置提示部１００ｆから通知された追加対象ＡＣＬエントリの包含関係に基づいて、干渉する両ＡＣＬの上位−下位の関係を、ＡＣＬ関連情報１００ｂに記録する（ステップＳ１０１６）。ＡＣＬ関連情報作成部１００ｇは、ＡＣＬ関連情報１００ｂに対する記録処理の終了を、ＡＣＬ追加処理部１００ｄに通知してもよい。
【００７９】
なお、上記ステップＳ１０１２において、「要選択」と記録されたＡＣＬエントリが存在しない場合（ステップＳ１０１３においてｆａｌｓｅ）、ＡＣＬ追加処理部１００ｄがステップＳ１０１７から処理を続行する。
【００８０】
ＡＣＬ追加処理部１００ｄは、前記ＡＣＬエントリ追加要求に含まれる優先度を、ＡＣＬ優先度情報１００ｃに登録する（ステップ１０１７）。ＡＣＬ追加処理部１００ｄは、ＡＣＬ優先度情報１００ｃへの優先度登録処理の終了を、ＡＣＬ並び替え処理部１００ａに通知してもよい。
【００８１】
次に、ＡＣＬ並び替え処理部１００ａは、ＡＣＬ関連情報１００ｂ及びＡＣＬ優先度情報１００ｃをもとに、ＡＣＬマスタ１０１ａを並び替える（ステップＳ１０１８）。
【００８２】
以下、ＡＣＬ並び替え処理部１０１ａにおける並び替え処理について、図１１を参照して説明する。図１１は、本実施形態における、ＡＣＬマスタ１０１ａの並び替え処理を表すフローチャートである。
【００８３】
まず、ＡＣＬ並び替え処理部１００ａは、ＡＣＬ優先度情報１００ｃを参照して、優先度が最下位のＡＣＬエントリを除いて、最下位の次に低い優先度を選択する（ステップＳ１１０１）。
【００８４】
ここで、ＡＣＬ並び替え処理部１００ａは、下記ステップＳ１１０３乃至ステップＳ１１０５に記載した処理を、前記ステップＳ１１０１において選択した優先度に関連付けされるＡＣＬエントリ全てについて繰り返す。（ステップＳ１１０２乃至ステップ１１０６）。
【００８５】
まず、ＡＣＬ並び替え処理部１００ａは、ＡＣＬマスタ１０１ａから、当該優先度に相当するＡＣＬエントリを選択する（ステップＳ１１０３）。
【００８６】
次に、ＡＣＬ並び替え処理部１００ａは、ＡＣＬ関連情報１００ｂを参照し、並び替え処理対象のＡＣＬエントリに対して上位に位置するＡＣＬエントリをたどり、これらのＡＣＬエントリをグループ化する（ステップＳ１１０４）。
【００８７】
次に、ＡＣＬ並び替え処理部１００ａは、前記ステップＳ１１０４において形成したグループを、ＡＬＣマスタ１０１ａの最上位（先頭）に移動する（ステップＳ１１０５）。
【００８８】
上記ステップＳ１１０２乃至ステップＳ１１０６における処理の後、ＡＣＬ並び替え処理部１００ａは、ＡＣＬ優先度情報１００ｃを参照して、現在選択されて優先度よりも高い優先度を有するＡＣＬエントリが存在するか確認し（ステップＳ１１０７）、より高い優先度が存在する場合は（ステップＳ１１０８にてｔｒｕｅ）当該優先度を選択し（ステップＳ１１０９）、ステップＳ１１０２から処理を続行する。
【００８９】
即ち、ＡＣＬ並び替え処理部１００ａは、最下位の次に低い優先度から最上位の優先度までを順次選択しながら、当該優先度を有するＡＣＬエントリをグループ化し、当該グループをＡＣＬマスタ１０１ａの最上位（先頭）に移動する。この処理によって、優先度が最も高いＡＣＬエントリを有するグループが、ＡＣＬマスタ１０１ａの最上位に移動される。前記の通り、アクセス制御部１０１は、クライアント１０３から送信されるアクセス要求に対して、ＡＣＬマスタ１０１ａの最上位に格納されたＡＣＬエントリから、当該アクセス要求に適用されるアクセス制御ルールが存在するか否かを順次確認するので、結果として優先度が高いアクセス制御ルールが優先して適用される。
【００９０】
以上説明した本実施に形態によるアクセス制御装置によれば、前記第１の実施形態によるアクセス制御装置と同様の効果を奏する。更に、本実施形態によるアクセス制御装置によれば、ＡＣＬ管理部１００は、追加対象のＡＣＬエントリと、既存のＡＣＬマスタ１０１ａに格納されるＡＣＬエントリとの干渉有無を判定して、ＡＣＬ関連情報を更新する。
【００９１】
また、本実施に形態によるアクセス制御装置によれば、追加対象のＡＣＬエントリと既存のＡＣＬエントリとの関連を一意に決定できない場合には、管理者に対して両エントリ間の関連について選択を求めることにより、追加対象ＡＣＬエントリを、ＡＣＬマスタ１０１の適切な場所に追加できる。
【００９２】
上述したＡＣＬ管理部１００の動作により、新規ＡＣＬエントリ追加の際に、管理者は既存のＡＣＬエントリと干渉する部分を把握して、当該干渉するＡＣＬ間の関連（上位−下位の関係）を指定することができ、管理者によるＡＣＬに対する新たなアクセスルールの追加が容易になる。また、ＡＣＬ管理部１００は、ＡＣＬマスタ１０１に格納されるＡＣＬエントリをグループ化し、優先度が最も高いエントリを含むグループをＡＣＬエントリの先頭に移動するよう並び替える。このため、管理者は、追加するＡＣＬエントリの優先度を調整することにより、追加するＡＣＬエントリと、既存のＡＣＬエントリとの調整を容易に行うことができる。
【００９３】
なお、本実施形態においても、前記第１の実施形態と同様、上述したアクセス制御部１０１、ＡＣＬ管理部１００、それぞれ独立した専用のハードウェアにより構成してもよいが、汎用のＣＰＵ及びメモリ等からなるハードウェアと、当該ＣＰＵによって実行される各種ソフトウェア・プログラムとによって構成してもよい。
【００９４】
ＡＣＬ管理部をソフトウェア・プログラムにより構成する場合は、ＡＣＬ並び替え処理部１００ａ、ＡＬＣ関連情報作成部１００ｇ、ＡＣＬ干渉判定部１００ｅ、ＡＣＬ追加位置提示部１００ｆ、及びＡＣＬ追加処理部１００ｄ等のＡＣＬ管理部１００を構成する構成要素は、それぞれソフトウェア・プログラムを構成するソフトウェアモジュールを用いて構成してもよい。この場合、これらのソフトウェアモジュール間は、例えば各モジュールに対するメソッド呼出しや、共有メモリの参照、リモートプロシージャコール等、当該ソフトウェアモジュールの実行環境に応じて、適宜適切な方法を用いて相互に通信可能に構成してもよい。
【００９５】
なお、図７に例示した構成においては、ＡＣＬ並び替え処理部１００ａ、ＡＬＣ関連情報作成部１００ｇ、ＡＣＬ干渉判定部１００ｅ、ＡＣＬ追加位置提示部１００ｆ、及びＡＣＬ追加処理部１００ｄを独立した構成要素としているが、本実施形態は、このような構成に限定されない。例えば、本実施形態おいては、これらの構成要素の一部または全部の機能を統合した構成要素を用いて、ＡＣＬ管理部１００を構成してもよい。即ち、本実施形態におけるＡＣＬ管理部１００をどのような構成要素に分割するか（あるいは分割しないか）は、例えば、ＡＣＬ管理部１００を配置する環境や、ＡＣＬ管理部１００に求められる個別具体的な要件（処理性能、必要とする記憶容量、メンテナンス性等）に基づいて任意に定めて良い。
【００９６】
また、本実施形態において、ＡＣＬ管理部１００と、管理者端末１０５との間は適宜適切な手法により通信可能に接続してよい。例えば、ＡＣＬ管理部１００と管理者端末が別々のハードウェアにより構成される場合は、それらのハードウェア間を無線接続あるいは有線接続により構成されるＬｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋを用いて接続してもよく、Ｉｎｔｅｒｎｅｔ等を経由して接続してもよい。ＡＣＬ管理部と管理者端末は、それぞれソフトウェア・プログラムにより構成されてもよく、この場合、これらのプログラムは同一のハードウェアにおいて実行されてもよい。
【００９７】
＜第３の実施形態＞
次に、本発明の第３の実施形態について説明する。以下の説明においては、本実施形態に係る特徴的な構成を中心に説明する。その際、前記第１及び第２の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明は省略する。なお、本実施形態におけるアクセス制御装置は、前記第２の実施形態に係るアクセス制御装置と基本的な構成は同様であるので、以下においては、本実施形態において特徴的な構成である、ＡＣＬ管理部１００の構成と動作を中心に説明する。
【００９８】
前記第２の実施形態においては、管理者は、図７に示す管理者端末１０５を通じて、新規ＡＣＬの追加要求を、ＡＣＬ管理部１００に指示する。本実施形態においては、管理者は、管理者端末を通じてＡＣＬ管理部１００に対して、ＡＣＬ優先度情報１００ｃに登録されている、各ＡＣＬエントリに対する優先度の変更を要求する。以下、ＡＣＬ管理部１００による優先度変更処理について図７、図１１及び図１２を参照して説明する。図１２は、本実施形態における、ＡＣＬマスタ１０１ａの並び替え処理を表すフローチャートである。
【００９９】
まず、図示しない管理者は、管理者端末１０５を使用して、ＡＣＬ管理部１００に対して、ＡＣＬ優先度情報１００ｃに格納される特定のＡＣＬエントリに対する優先度の変更を要求する（図１２におけるステップＳ１２０１）。この場合、管理者は、例えば、優先度を変更する特定のＡＣＬエントリと、当該エントリに対して変更する優先度とを直接指定してもよく、あるいは、管理者端末１０５にＡＣＬ優先度情報１００ｃの内容を表示するよう構成して、当該表示から変更するＡＣＬエントリと優先度を選択してもよい。
【０１００】
ＡＣＬ追加処理部１００ｄは、前記管理者端末１０５から通知された優先度の変更要求を解析し、当該要求に含まれる変更対象のＡＣＬエントリと、当該ＡＣＬエントリに対する変更後の優先度を抽出する（図１２におけるステップＳ１２０２）。
【０１０１】
ＡＣＬ追加処理部１００ｄは、ＡＣＬ優先度情報１００ｃに格納されている、前記変更対象のＡＣＬエントリに対する優先度を、前記優先度の変更要求に含まれる変更後の優先度を用いて更新する（図１２におけるステップＳ１２０３）。ＡＣＬ追加処理部１００ｄは、ステップＳ１２０３におけるＡＣＬ優先度情報１００ｃの更新処理の完了を、ＡＣＬ並び替え処理部１００ａに対して通知してもよい。
【０１０２】
次に、ＡＣＬ並び替え処理部１００ａは、更新後のＡＣＬ優先度情報１００ｃを参照して、ＡＣＬマスタ１０１ａに格納されている各ＡＣＬエントリを並び替える（ステップＳ１２０４）。具体的な並び替えの処理は、図１１のフローチャートにより表される、前記第２の実施形態における並び替え処理と同様である。
【０１０３】
なお、上述した本実施形態においては、ＡＣＬ管理部１００は、ＡＣＬエントリの優先度を変更する要求に応答しているが、ＡＣＬ関連情報１００ｂに基づいて形成されたＡＣＬエントリのグループに対する優先度を変更する要求に応答してもよい。
【０１０４】
以上説明した本実施に形態によるアクセス制御装置によれば、前記第１及び第２の実施形態によるアクセス制御装置と同様の効果を奏する。更に、本実施形態によるアクセス制御装置によれば、ＡＣＬエントリ間の関連が維持されながら、変更後の優先度に基づいてＡＣＬエントリが並び替えられることから、管理者は、ＡＣＬエントリ間の干渉を気にせずにＡＣＬエントリの優先度を変更することが可能である。このため、ＡＣＬ管理の負担が軽減されると共に、例えば、一時的に特定のＡＣＬの優先度を変更する等の要望にも柔軟に対応できる。
【０１０５】
＜実施形態の変形例＞
上述した各実施形態において開示された構成について、以下のような変形例を採用してもよい。
【０１０６】
前記各実施形態において、サーバ１０２は、複数のサーバにより構成されてもよい。サーバ１０２が複数のサーバにより構成される場合、アクセス制御部１０１は、それぞれのサーバにおいて提供されるリソースに対するリソース参照情報と、アクセス制御ルールとを格納するＡＣＬマスタ１０１ａに基づいて、クライアント１０３から発信されるそれぞれのサーバに対するアクセス要求に対して、アクセス可否を判定する。
【０１０７】
前記各実施形態においては、サーバ１０２をＷｅｂサーバとし、リソース参照情報をＵＲＩとした構成を例示して説明したが、上述した各実施形態を例に説明した本発明は、これに限定されるものではない。例えば、サーバ１０２をファイルサーバとし、コンテンツ１０２ａをファイルサーバにおいて提供するファイル（あるいはファイルシステム）としてもよい。この場合、前記リソース参照情報は当該ファイルに対するファイルパスを採用してもよい。リソース参照情報としてファイルパスを採用する場合、ＡＣＬエントリ間の関連（上位−下位の関係）は、ファイルパスの包含関係により規定してもよい。なお、上述した各実施形態において説明したアクセス制御装置は、上記例示したＵＲＩやファイルパス等、包含関係を判定できるリソース参照情報により指定可能な任意のリソースに対して、アクセス制御の機能を提供できる。
【０１０８】
なお、本発明は上述した各実施形態において例示したアクセス制御装置に限定されることなく、当該アクセス制御装置に相当するアクセス制御方法として実現することも可能であり、当該アクセス制御装置に相当する処理をコンピュータに実行させるアクセス制御プログラムとして実現することも可能である。
【０１０９】
以上、本発明を、上述した模範的な実施形態に適用した例として説明した。しかしながら、本発明の技術的範囲は、上述した各実施形態に記載した範囲には限定されない。当業者には、係る実施形態に対して多様な変更または改良を加えることが可能であることは明らかである。そのような場合、係る変更または改良を加えた新たな実施形態も、本発明の技術的範囲に含まれ得る。そしてこのことは、特許請求の範囲に記載した事項から明らかである。
【０１１０】
なお、上述した実施形態及びその変形例の一部または全部は、以下の付記のようにも記載されうる。しかしながら、上述した実施形態及びその変形例により例示的に説明した本発明は、以下には限られない。
【０１１１】
（付記１）
リソースに対するアクセス可否を規定するアクセス制御情報を含むアクセス制御リストに基づいて、前記リソースに対するアクセス可否を判定するアクセス制御部と、
前記アクセス制御リストに対するアクセス制御情報の追加要求に応じて、前記アクセス制御情報をグループ化するための関連情報を更新し、
更新した前記関連情報と、前記アクセス制御情報に関連付けされた優先度情報とに基づいて、前記アクセス制御リストを更新する、
アクセス制御リスト管理部と、
を有する、アクセス制御装置。
【０１１２】
（付記２）
前記関連情報は、グループ化したアクセス制御情報間の関係性を示す情報を含む、
付記１記載のアクセス制御装置。
【０１１３】
（付記３）
前記アクセス制御情報は、前記リソースに対するリソース参照情報と、当該リソース参照情報に関連付けされたアクセス制御ルールと、を含み、
前記アクセス制御情報追加要求は、特定のリソースに対する前記アクセス制御情報と、当該アクセス制御情報に関連付けされた優先度とを含み、
前記アクセス制御リスト管理部は、
前記アクセス制御リストに対するアクセス制御情報追加要求に応じて、
当該アクセス制御情報追加要求に含まれるアクセス制御情報が、前記アクセス制御リストに含まれるアクセス制御情報と干渉するか判定し、
当該判定結果に基づいて、前記関連情報を更新し、
当該アクセス制御情報追加要求に含まれる優先度を、前記優先度情報に関連付ける、
付記１または付記２に記載のアクセス制御装置。
【０１１４】
（付記４）
前記アクセス制御リスト管理部は、前記アクセス制御情報追加要求に含まれるアクセス制御情報が有するリソース参照情報と、前記アクセス制御リストに含まれるアクセス制御情報が有するリソース参照情報とを比較することにより、当該アクセス制御情報追加要求に含まれるアクセス制御情報が、前記アクセス制御リストに含まれるアクセス制御情報と干渉するか判定する、
付記３に記載のアクセス制御装置。
【０１１５】
（付記５）
前記アクセス制御リスト管理部は、
前記優先度情報を参照して、特定の優先度と、当該優先度に関連付けされた前記アクセス制御情報を選択し、
前記関連情報に基づいて、当該選択されたアクセス制御情報と上位または下位の関係を形成するアクセス制御情報を選択してグループを形成し、
当該形成したアクセス制御情報のグループを、前記アクセス制御リストの最上位に並べ替える、
付記１乃至付記４の何れかに記載のアクセス制御装置。
【０１１６】
（付記６）
前記アクセス制御リスト管理部は、
前記特定の優先度として、最下位の次に低い優先度から最上位の優先度までを順次選択し、
前記選択した優先度に基づいて、前記アクセス制御リストにおける前記アクセス制御情報のグループの位置を並び替える、
付記５に記載のアクセス制御装置。
【０１１７】
（付記７）
前記アクセス制御リスト管理部は、
前記アクセス制御情報追加要求に含まれるアクセス制御情報が有するリソース参照情報と、前記アクセス制御リストに含まれる特定のアクセス制御情報が有するリソース参照情報とを比較し、
一方のリソース参照情報が、他方のリソース参照情報を包含する場合、包含される側のリソース参照情報を有する前記アクセス制御情報を、包含する側のリソース参照情報を有する前記アクセス制御情報の上位として、前記関連情報を更新する、
付記４に記載のアクセス制御装置。
【０１１８】
（付記８）
前記アクセス制御リスト管理部は、
前記アクセス制御情報追加要求に含まれるアクセス制御情報が有するリソース参照情報と、前記アクセス制御リストに含まれている特定のアクセス制御情報が有するリソース参照情報とを比較し、
一方のリソース参照情報と、他方のリソース参照情報との間の包含関係を一意に決定できない場合、前記アクセス制御情報追加要求の要求元に対して選択要求を通知し、
当該通知に対する前記要求元からの応答に基づいて、前記特定のリソースに対するアクセス制御情報と、前記特定のアクセス制御情報との間の上位または下位の関係を前記関連情報に設定する、
付記４または付記７に記載のアクセス制御装置。
【０１１９】
（付記９）
リソースに対するアクセス可否を規定するアクセス制御情報を含むアクセス制御リストに基づいて、前記リソースに対するアクセス可否を判定し、
前記アクセス制御リストに対するアクセス制御情報の追加要求に応じて、前記アクセス制御情報をグループ化するための関連情報を更新し、
更新した前記関連情報と、前記アクセス制御情報に関連付けされた優先度情報とに基づいて、前記アクセス制御リストを更新する、
アクセス制御方法。
【０１２０】
（付記１０）
リソースに対するアクセス可否を規定するアクセス制御情報を含むアクセス制御リストに基づいて、前記リソースに対するアクセス可否を判定する処理と、
前記アクセス制御リストに対するアクセス制御情報の追加要求に応じて、前記アクセス制御情報をグループ化するための関連情報を更新する処理と、
更新した前記関連情報と、前記アクセス制御情報に関連付けされた優先度情報とに基づいて、前記アクセス制御リストを更新する処理と、をコンピュータに実行させる、
アクセス制御プログラム。
【０１２１】
（付記１１）
前記リソース参照情報は、特定のリソースを提供するホストを表すホスト部と、前記ホストにおける前記リソースの配置を表すパス部とを有するＵｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｉｄｅｎｔｉｆｉｅｒにより表され、
前記アクセス制御リスト管理部は、前記アクセス制御リストに含まれる特定の２つの前記アクセス可否情報について、
一方のアクセス可否情報におけるホスト部が、もう一方のアクセス可否情報におけるホスト部を包含し、かつ、一方のアクセス可否情報におけるパス部が、もう一方のアクセス可否情報におけるパス部を包含する場合に、
当該包含される方のアクセス可否情報を、当該包含する側のアクセス可否情報に対して上位として前記関連情報に設定する、
付記７または付記８に記載のアクセス制御装置。
【０１２２】
（付記１２）
前記アクセス制御部は、
前記リソースに対するアクセス要求に応じて、前記アクセス制御リストの最上位から、前記アクセス要求に適用されるアクセス制御情報を探索し、
前記アクセス要求に適用されるアクセス制御情報が存在する場合、当該アクセス制御情報に基づいて、前記アクセス要求に対するアクセス可否を判定する、
付記１乃至付記１１の何れかに記載のアクセス制御装置。
【０１２３】
（付記１３）
前記アクセス制御リスト管理部は、
前記優先度情報に対する更新要求を受け付ける、
付記１乃至付記１２の何れかに記載のアクセス制御装置。
【産業上の利用可能性】
【０１２４】
本発明は、アクセス制御規則を規定したアクセス制御リストに基づいて、特定のリソースに対するアクセスを制御する、アクセス制御装置等に適応できる。
【符号の説明】
【０１２５】
１００  ＡＣＬ管理部
１００ａ  ＡＣＬ並び替え処理部
１００ｂ  ＡＣＬ関連情報
１００ｃ  ＡＣＬ優先度情報
１００ｄ  ＡＣＬ追加処理部
１００ｅ  ＡＣＬ干渉判定部
１００ｆ  ＡＣＬ追加位置提示部
１００ｇ  ＡＣＬ関連情報作成部
１０１  アクセス制御部
１０１ａ  ＡＣＬマスタ
１０１ｂ  アクセス可否判定部
１０２  サーバ
１０２ａ  リソース
１０３  クライアント
１０４  アクセスプログラム
１０５  管理者端末
３０１  ＡＣＬ番号
３０２  リソース参照情報
３０３  アクセス制御ルール
１３０１  ＣＰＵ
１３０２  メモリ
１３０３  ハードディスク
１３０４  外部記憶装置
１３０５  記憶媒体
【図１】
2015064684.tif 000003
【図２】
2015064684.tif 000004
【図３】
2015064684.tif 000005
【図４】
2015064684.tif 000006
【図５】
2015064684.tif 000007
【図６】
2015064684.tif 000008
【図７】
2015064684.tif 000009
【図８】
2015064684.tif 000010
【図９】
2015064684.tif 000011
【図１０】
2015064684.tif 000012
【図１１】
2015064684.tif 000013
【図１２】
2015064684.tif 000014
【図１３】
2015064684.tif 000015