(57)【要約】【課題】従来通りのロールを用いたアクセス制御ポリシーだけで、多量のアクセス制御ルールを生成する際にも、ルールの重複を防止し、ルールの配付量や配付時間を削減すること。【解決手段】同じ権限集合が付与されるロールと、ロールに付与される権限集合と、ロールと権限集合との組み合わせのアクセス制御ポリシーと、から、複数のロールに重複するユーザを新たなユーザ小集合として、ユーザが重複しない複数のユーザ小集合を生成し、複数の権限集合に重複する権限を新たな権限小集合として、権限が重複しない複数の権限小集合を生成する。また、アクセス制御ポリシーから、ユーザ小集合と権限小集合との組み合わせのルールレシピを生成する。そして、ユーザ小集合および前記権限小集合と、ルールレシピとに基づいて、各ユーザと各権限との関係を示すアクセス制御ルールを生成し、アクセス制御ルールに基づいて、それぞれのアクセス権を制御する。【選択図】  図１
2015121906.tif 000002
【特許請求の範囲】
【請求項１】
ユーザが所属することで同じ権限集合が付与されるロールと、ロールに付与されるための権限集合と、前記ロールと前記権限集合との組み合わせを表わすアクセス制御ポリシーと、を格納するアクセス制御情報格納手段と、
複数の前記ロールに重複して所属するユーザを新たなユーザ小集合として切り分けることによって、ユーザが重複して所属しない複数のユーザ小集合を生成し、複数の前記権限集合に重複して含まれる権限を新たな権限小集合として切り分けることによって、権限が重複して含まれない複数の権限小集合を生成する小集合生成手段と、
前記アクセス制御ポリシーから、前記ユーザ小集合と前記権限小集合との組み合わせを表わすルールレシピを生成するルールレシピ生成手段と、
前記ユーザ小集合および前記権限小集合と、前記ルールレシピとに基づいて、各ユーザと各権限との関係で表わされるアクセス権を示すアクセス制御ルールを生成するアクセス制御ルール生成手段と、
前記アクセス制御ルールに基づいて、それぞれの前記アクセス権を制御する複数のアクセス権制御手段と、
を備えるアクセス制御システム。
【請求項２】
前記小集合生成手段は、ユーザ要素を含まない前記ユーザ小集合および権限要素を含まない前記権限小集合を空集合とし、前記アクセス制御ルール生成手段は前記空集合に対応するアクセス制御ルールを無効なルールとする請求項１に記載のアクセス制御システム。
【請求項３】
前記ロールが階層関係を有し、第１ロールが第２ロールを包含する場合に、
前記第１ロールのみに所属するユーザ小集合は空集合となり、
前記第２ロールのみへの権限小集合は空集合となる、請求項１または２に記載のアクセス制御システム。
【請求項４】
第２ロールが第１ロールを継承する場合に、
前記第２ロールのみに所属するユーザ小集合は空集合となり、
前記第１ロールのみへの権限小集合は空集合となる、請求項１または２に記載のアクセス制御システム。
【請求項５】
前記ロールと、前記権限と、前記アクセス制御ポリシーとの少なくともいずれかの変化があるか否か判定する変化判定手段をさらに備え、
前記小集合生成手段および前記ルールレシピ生成手段の少なくともいずれかが、前記変化判定手段による変化の判定結果に応じて、前記ユーザ小集合、前記権限小集合および前記ルールレシピの少なくともいずれかを再度、生成する請求項１乃至４のいずれか１項に記載のアクセス制御システム。
【請求項６】
同じ権限集合が付与されるユーザ集合をそれぞれ示す複数のロールに重複して所属するユーザを新たなユーザ小集合として切り分けることによって、ユーザが重複して所属しない複数のユーザ小集合を生成し、ロールに付与されるための複数の権限集合に重複して含まれる権限を新たな権限小集合として切り分けることによって、権限が重複して含まれない複数の権限小集合を生成する小集合生成ステップと、
前記ロールと前記権限集合との組み合わせを表わすアクセス制御ポリシーから、前記ユーザ小集合と前記権限小集合との組み合わせを表わすルールレシピを生成するルールレシピ生成ステップと、
前記ユーザ小集合および前記権限小集合と、前記ルールレシピとに基づいて、各ユーザと各権限との関係で表わされるアクセス権を示すアクセス制御ルールを生成するアクセス制御ルール生成ステップと、
を含むアクセス制御ルール生成方法。
【請求項７】
同じ権限集合が付与されるユーザ集合をそれぞれ示す複数のロールに重複して所属するユーザを新たなユーザ小集合として切り分けることによって、ユーザが重複して所属しない複数のユーザ小集合を生成し、ロールに付与されるための複数の権限集合に重複して含まれる権限を新たな権限小集合として切り分けることによって、権限が重複して含まれない複数の権限小集合を生成する小集合生成ステップと、
前記ロールと前記権限集合との組み合わせを表わすアクセス制御ポリシーから、前記ユーザ小集合と前記権限小集合との組み合わせを表わすルールレシピを生成するルールレシピ生成ステップと、
前記ユーザ小集合および前記権限小集合と、前記ルールレシピとに基づいて、各ユーザと各権限との関係で表わされるアクセス権を示すアクセス制御ルールを生成するアクセス制御ルール生成ステップと、
をコンピュータに実行させるアクセス制御ルール生成プログラム。
【請求項８】
ユーザが所属することで同じ権限集合が付与されるロールと、ロールに付与されるための権限集合と、前記ロールと前記権限集合との組み合わせを表わすアクセス制御ポリシーと、を取得するアクセス制御情報取得手段と、
複数の前記ロールに重複して所属するユーザを新たなユーザ小集合として切り分けることによって、ユーザが重複して所属しない複数のユーザ小集合を生成し、複数の前記権限集合に重複して含まれる権限を新たな権限小集合として切り分けることによって、権限が重複して含まれない複数の権限小集合を生成する小集合生成手段と、
前記アクセス制御ポリシーから、前記ユーザ小集合と前記権限小集合との組み合わせを表わすルールレシピを生成するルールレシピ生成手段と、
前記ユーザ小集合および前記権限小集合と、前記ルールレシピとに基づいて、各ユーザと各権限との関係で表わされるアクセス権を示すアクセス制御ルールを生成するアクセス制御ルール生成手段と、
前記アクセス制御ルールをアクセス権を制御すべき装置に配布するアクセス制御ルール配布手段と、
を備える情報処理装置。
【請求項９】
ユーザが所属することで同じ権限集合が付与されるロールと、ロールに付与されるための権限集合と、前記ロールと前記権限集合との組み合わせを表わすアクセス制御ポリシーと、を取得するアクセス制御情報取得ステップと、
複数の前記ロールに重複して所属するユーザを新たなユーザ小集合として切り分けることによって、ユーザが重複して所属しない複数のユーザ小集合を生成し、複数の前記権限集合に重複して含まれる権限を新たな権限小集合として切り分けることによって、権限が重複して含まれない複数の権限小集合を生成する小集合生成ステップと、
前記アクセス制御ポリシーから、前記ユーザ小集合と前記権限小集合との組み合わせを表わすルールレシピを生成するルールレシピ生成ステップと、
前記ユーザ小集合および前記権限小集合と、前記ルールレシピとに基づいて、各ユーザと各権限との関係で表わされるアクセス権を示すアクセス制御ルールを生成するアクセス制御ルール生成ステップと、
前記アクセス制御ルールをアクセス権を制御すべき装置に配布するアクセス制御ルール配布ステップと、
を含む情報処理装置の制御方法。
【請求項１０】
ユーザが所属することで同じ権限集合が付与されるロールと、ロールに付与されるための権限集合と、前記ロールと前記権限集合との組み合わせを表わすアクセス制御ポリシーと、を取得するアクセス制御情報取得ステップと、
複数の前記ロールに重複して所属するユーザを新たなユーザ小集合として切り分けることによって、ユーザが重複して所属しない複数のユーザ小集合を生成し、複数の前記権限集合に重複して含まれる権限を新たな権限小集合として切り分けることによって、権限が重複して含まれない複数の権限小集合を生成する小集合生成ステップと、
前記アクセス制御ポリシーから、前記ユーザ小集合と前記権限小集合との組み合わせを表わすルールレシピを生成するルールレシピ生成ステップと、
前記ユーザ小集合および前記権限小集合と、前記ルールレシピとに基づいて、各ユーザと各権限との関係で表わされるアクセス権を示すアクセス制御ルールを生成するアクセス制御ルール生成ステップと、
前記アクセス制御ルールをアクセス権を制御すべき装置に配布するアクセス制御ルール配布ステップと、
をコンピュータに実行させる情報処理装置の制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アクセス権を管理するためのアクセス制御システム、アクセス制御ルール生成方法、アクセス制御ルール生成プログラム、情報処理装置およびその制御方法と制御プログラム技術に関する。
【背景技術】
【０００２】
コンピュータでは、不正なアクセスを防止するために、アクセス制御リスト(ＡＣＬ)を用いた、アクセス権の指定によるアクセス制御が行われている。アクセス権は、アクセスの主体としてのサブジェクトと、アクセスの対象としてのオブジェクトと、アクセスの種類としてのアクションとの組で構成される。
【０００３】
従来のアクセス制御方法の一例が、特許文献１に記載されている。特許文献１に記載のアクセス制御方法は、アクセス主体種別と、アクセス対象種別と、組織構造に基づく制約条件によって記述されたアクセス制御ポリシーから、アクセス主体(サブジェクト)と、アクセス対象(オブジェクト)によって記述されたアクセス制御リストを生成する方法である。そして、特許文献１に記載のアクセス制御方法は、サブジェクトと主体種別とを直接に対応付ける主体種別グループ情報と、オブジェクトと対象種別とを直接に対応付ける対象種別グループ情報と、サブジェクトおよびオブジェクトと組織との対応付けを単一の木構造で表現した組織構造情報とを持つ。そして、これらを使用して制約条件を満足するアクセス制御リストのみを生成可能としている。
【０００４】
また、当該手法よりも以前から存在する手法の1つとして、アクセス制御リストを抽象化するアクセス制御ポリシーの記述に際して、ロールという概念を利用するロールベースアクセス制御（ＲＢＡＣ：Role Ｂased Ａccess Control）を挙げている。ロールとは役割を示し、役割を遂行する上で必要なパーミッション(許可する権限(オブジェクトと、当該オブジェクトに対するアクションとの組))の集合をロールとしてまとめる。そして、サブジェクトに対しては個々のパーミッションを割り当てるのではなく、ロールを割り当てる。これによって、ルール作成者は個々のサブジェクト毎およびオブジェクトごとにその間のアクションを規定した沢山のアクセス制御リストを記述する必要が無くなり、アクセス制御リストの作成負担が軽減される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１１−３１３１０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記特許文献１のアクセス制御システムでは、ロールを用いたアクセス制御ポリシーに基づいて、多量のアクセス制御リストを簡単に生成することができる。しかしながら、複数のロール間で、ロールを持つユーザやロールに含まれる権限に重複がある場合、多量に重複した内容を持つアクセス制御リストが生成されてしまう。そのため、アクセス制御設定に伴うアクセス制御リストの配付量や配付時間が増大し、これを効率よく省くことができないという問題がある。なぜなら、一度、主体種別とアクセス対象種別によってグループ化してしまうと、当該グループ間での個々のユーザや権限の重複の有無を確認する方法が無く、重複を避ける方法も無いからである。
【０００７】
すなわち、多量のアクセス制御ルールを生成する際に、ルールの重複が発生すると、ルールの配付量や配付時間が著しく増加してしまう。
【０００８】
本発明の目的は、上述の課題を解決する技術を提供することにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、本発明に係るアクセス制御システムは、
ユーザが所属することで同じ権限集合が付与されるロールと、ロールに付与されるための権限集合と、前記ロールと前記権限集合との組み合わせを表わすアクセス制御ポリシーと、を格納するアクセス制御情報格納手段と、
複数の前記ロールに重複して所属するユーザを新たなユーザ小集合として切り分けることによって、ユーザが重複して所属しない複数のユーザ小集合を生成し、複数の前記権限集合に重複して含まれる権限を新たな権限小集合として切り分けることによって、権限が重複して含まれない複数の権限小集合を生成する小集合生成手段と、
前記アクセス制御ポリシーから、前記ユーザ小集合と前記権限小集合との組み合わせを表わすルールレシピを生成するルールレシピ生成手段と、
前記ユーザ小集合および前記権限小集合と、前記ルールレシピとに基づいて、各ユーザと各権限との関係で表わされるアクセス権を示すアクセス制御ルールを生成するアクセス制御ルール生成手段と、
前記アクセス制御ルールに基づいて、それぞれの前記アクセス権を制御する複数のアクセス権制御手段と、
を備える。
【００１０】
上記目的を達成するため、本発明に係るアクセス制御ルール生成方法は、
同じ権限集合が付与されるユーザ集合をそれぞれ示す複数のロールに重複して所属するユーザを新たなユーザ小集合として切り分けることによって、ユーザが重複して所属しない複数のユーザ小集合を生成し、ロールに付与されるための複数の権限集合に重複して含まれる権限を新たな権限小集合として切り分けることによって、権限が重複して含まれない複数の権限小集合を生成する小集合生成ステップと、
前記ロールと前記権限集合との組み合わせを表わすアクセス制御ポリシーから、前記ユーザ小集合と前記権限小集合との組み合わせを表わすルールレシピを生成するルールレシピ生成ステップと、
前記ユーザ小集合および前記権限小集合と、前記ルールレシピとに基づいて、各ユーザと各権限との関係で表わされるアクセス権を示すアクセス制御ルールを生成するアクセス制御ルール生成ステップと、
を含む。
【００１１】
上記目的を達成するため、本発明に係るアクセス制御ルール生成プログラムは、
同じ権限集合が付与されるユーザ集合をそれぞれ示す複数のロールに重複して所属するユーザを新たなユーザ小集合として切り分けることによって、ユーザが重複して所属しない複数のユーザ小集合を生成し、ロールに付与されるための複数の権限集合に重複して含まれる権限を新たな権限小集合として切り分けることによって、権限が重複して含まれない複数の権限小集合を生成する小集合生成ステップと、
前記ロールと前記権限集合との組み合わせを表わすアクセス制御ポリシーから、前記ユーザ小集合と前記権限小集合との組み合わせを表わすルールレシピを生成するルールレシピ生成ステップと、
前記ユーザ小集合および前記権限小集合と、前記ルールレシピとに基づいて、各ユーザと各権限との関係で表わされるアクセス権を示すアクセス制御ルールを生成するアクセス制御ルール生成ステップと、
をコンピュータに実行させる。
【００１２】
上記目的を達成するため、本発明に係る情報処理装置は、
ユーザが所属することで同じ権限集合が付与されるロールと、ロールに付与されるための権限集合と、前記ロールと前記権限集合との組み合わせを表わすアクセス制御ポリシーと、を取得するアクセス制御情報取得手段と、
複数の前記ロールに重複して所属するユーザを新たなユーザ小集合として切り分けることによって、ユーザが重複して所属しない複数のユーザ小集合を生成し、複数の前記権限集合に重複して含まれる権限を新たな権限小集合として切り分けることによって、権限が重複して含まれない複数の権限小集合を生成する小集合生成手段と、
前記アクセス制御ポリシーから、前記ユーザ小集合と前記権限小集合との組み合わせを表わすルールレシピを生成するルールレシピ生成手段と、
前記ユーザ小集合および前記権限小集合と、前記ルールレシピとに基づいて、各ユーザと各権限との関係で表わされるアクセス権を示すアクセス制御ルールを生成するアクセス制御ルール生成手段と、
前記アクセス制御ルールをアクセス権を制御すべき装置に配布するアクセス制御ルール配布手段と、
を備える。
【００１３】
上記目的を達成するため、本発明に係る情報処理装置の制御方法は、
ユーザが所属することで同じ権限集合が付与されるロールと、ロールに付与されるための権限集合と、前記ロールと前記権限集合との組み合わせを表わすアクセス制御ポリシーと、を取得するアクセス制御情報取得ステップと、
複数の前記ロールに重複して所属するユーザを新たなユーザ小集合として切り分けることによって、ユーザが重複して所属しない複数のユーザ小集合を生成し、複数の前記権限集合に重複して含まれる権限を新たな権限小集合として切り分けることによって、権限が重複して含まれない複数の権限小集合を生成する小集合生成ステップと、
前記アクセス制御ポリシーから、前記ユーザ小集合と前記権限小集合との組み合わせを表わすルールレシピを生成するルールレシピ生成ステップと、
前記ユーザ小集合および前記権限小集合と、前記ルールレシピとに基づいて、各ユーザと各権限との関係で表わされるアクセス権を示すアクセス制御ルールを生成するアクセス制御ルール生成ステップと、
前記アクセス制御ルールをアクセス権を制御すべき装置に配布するアクセス制御ルール配布ステップと、
を含む。
【００１４】
上記目的を達成するため、本発明に係る情報処理装置の制御プログラムは、
ユーザが所属することで同じ権限集合が付与されるロールと、ロールに付与されるための権限集合と、前記ロールと前記権限集合との組み合わせを表わすアクセス制御ポリシーと、を取得するアクセス制御情報取得ステップと、
複数の前記ロールに重複して所属するユーザを新たなユーザ小集合として切り分けることによって、ユーザが重複して所属しない複数のユーザ小集合を生成し、複数の前記権限集合に重複して含まれる権限を新たな権限小集合として切り分けることによって、権限が重複して含まれない複数の権限小集合を生成する小集合生成ステップと、
前記アクセス制御ポリシーから、前記ユーザ小集合と前記権限小集合との組み合わせを表わすルールレシピを生成するルールレシピ生成ステップと、
前記ユーザ小集合および前記権限小集合と、前記ルールレシピとに基づいて、各ユーザと各権限との関係で表わされるアクセス権を示すアクセス制御ルールを生成するアクセス制御ルール生成ステップと、
前記アクセス制御ルールをアクセス権を制御すべき装置に配布するアクセス制御ルール配布ステップと、
をコンピュータに実行させる。
【発明の効果】
【００１５】
本発明によれば、従来通りのロールを用いたアクセス制御ポリシーを定義するだけで、多量のアクセス制御ルールを生成する際にも、ルールの重複を防止し、ルールの配付量や配付時間を削減することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の第１実施形態に係るアクセス制御システムの構成を示すブロック図である。
【図２】本発明の第２実施形態に係るアクセス制御システムの動作概要を説明する図である。
【図３】本発明の第２実施形態に係るアクセス制御システムの２つの集合におけるアクセス制御の概念を説明する図である。
【図４Ａ】本発明の前提技術に係るアクセス制御の概念を説明する図である。
【図４Ｂ】本発明の前提技術に係る２つの集合におけるアクセス制御の概念を説明する図である。
【図４Ｃ】本発明の前提技術に係る２つの集合におけるアクセス制御の概念を説明する図である。
【図４Ｄ】本発明の前提技術に係る２つの集合におけるアクセス制御の概念を説明する図である。
【図５Ａ】本発明の第２実施形態に係るアクセス制御システムの３つの集合におけるアクセス制御の概念を説明する図である。
【図５Ｂ】本発明の第２実施形態に係るアクセス制御システムの３つの集合におけるアクセス制御の概念を説明する図である。
【図６Ａ】本発明の前提技術に係る３つの集合におけるアクセス制御の概念を説明する図である。
【図６Ｂ】本発明の前提技術に係る３つの集合におけるアクセス制御の概念を説明する図である。
【図７Ａ】本発明の第２実施形態に係るアクセス制御システムの機能構成を示すブロック図である。
【図７Ｂ】本発明の第２実施形態に係るアクセス制御システムのハードウェア構成を示す図である。
【図８】本発明の第２実施形態に係るユーザ情報格納部の構成を示す図である。
【図９Ａ】本発明の第２実施形態に係るポリシー情報格納部の構成を示す図である。
【図９Ｂ】本発明の第２実施形態に係るポリシー情報格納部の構成を示す図である。
【図９Ｃ】本発明の第２実施形態に係るポリシー情報格納部の構成を示す図である。
【図１０】本発明の第２実施形態に係るルール情報格納部の構成を示す図である。
【図１１】本発明の第２実施形態に係るアクセス制御システムを構成する装置のハードウェア構成を示すブロック図である。
【図１２】本発明の第２実施形態に係るルール生成テーブルの構成を示す図である。
【図１３】本発明の第２実施形態に係るアクセス制御システムの処理手順を示すフローチャートである。
【図１４Ａ】本発明の第２実施形態に係るポリシー管理装置におけるポリシー解釈処理の手順を示すフローチャートである。
【図１４Ｂ】本発明の第２実施形態に係る小集合およびルールレシピ生成処理の手順を示すフローチャートである。
【図１５】本発明の第２実施形態に係るアクセス制御装置におけるルール生成処理の手順を示すフローチャートである。
【図１６】本発明の第２実施形態に係る小集合およびルールレシピの生成を説明する図である。
【図１７】本発明の第２実施形態に係る小集合およびルールレシピの生成を説明する図である。
【図１８】本発明の第２実施形態に係る小集合およびルールレシピの生成を説明する図である。
【図１９】本発明の第２実施形態に係る小集合およびルールレシピの生成を説明する図である。
【図２０】本発明の第２実施形態に係る小集合およびルールレシピの生成を説明する図である。
【図２１】本発明の第２実施形態に係る小集合およびルールレシピの生成を説明する図である。
【図２２】本発明の第２実施形態に係る小集合およびルールレシピの生成を説明する図である。
【図２３】本発明の第２実施形態に係る小集合およびルールレシピの生成を説明する図である。
【図２４】本発明の第２実施形態に係る小集合およびルールレシピの生成を説明する図である。
【図２５】本発明の第２実施形態に係るロール包含における小集合およびルールレシピの生成を説明する図である。
【図２６】本発明の第２実施形態に係るロール継承における小集合およびルールレシピの生成を説明する図である。
【図２７】本発明の第３実施形態に係る情報処理装置としてアクセス制御ルール生成サーバの機能構成を示すブロック図である。
【発明を実施するための形態】
【００１７】
以下に、図面を参照して、本発明の実施形態について例示的に詳しく説明する。ただし、以下の実施形態に記載されている構成要素は単なる例示であり、本発明の技術範囲をそれらのみに限定する趣旨のものではない。
【００１８】
まず、本実施形態で用いる用語について説明する。かかる用語には、本技術分野で一般に用いられる用語と本実施形態において用いられる用語とが含まれる。
【００１９】
《用語の定義》
（アクセス制御共通の用語）
本実施形態における「アクセス権」は、特定のサブジェクトと、オブジェクト(またはリソース)と、アクションとの組を意味する。また、「権限(パーミッション：permission)」は、特定のオブジェクトと、アクションとの組を意味する。したがって、アクセス権は、特定のサブジェクトと権限との組でもある。また、「アクセス制御ルール」（以下、「ルール」と略す）は、アクセス権の集合を定義する記述である。典型的には、アクセス制御リスト(ＡＣＬ：Access Control List）と呼ばれる、少なくとも、サブジェクトとオブジェクトとアクションとの組のリストとして記述する。つまり、サブジェクトと権限との組のリストでもある。
【００２０】
ここで、「サブジェクト」は、アクセス元となるアクセス主体であり、例えば、ユーザ、端末、ソフトウェアプログラムなどを指す。そして、「サブジェクト」は、アクセス主体、アクセス権を行使するアクセス元となる存在を示す識別子である。アクセス権に基づいてアクセス制御を行うアクセス制御実施機能では、一般的に、ユーザＩＤなど、人・ソフトウェア・装置などにシステム上での識別子を付与して使用する。会員番号・社員番号・製造番号などの一意性を持った識別子や、氏名などの個人を特定する情報や、システム独自の値をそれらと紐付けて用いる場合もある。サブジェクトについて、識別子以外に、ユーザインタフェースなどで用いるための表示名称を持つ場合もある。
【００２１】
また、「オブジェクト」は、アクセス先となるアクセス客体であり、例えば、サーバやネットワークノード、仮想マシン、ファイル、データベース・テーブル・カラム、サービスや業務アプリケーションなどを指す。そして、「オブジェクト」は、アクセス客体、アクセス権を行使されるアクセス先となる存在を示す識別子である。アクセス権に基づいてアクセス制御を行うアクセス制御実施機能では、一般的に、アドレス・ポート、資源名、パスなど、サーバやネットワークノード、仮想マシンやその構成物、ファイル、データベース・テーブル・カラム、業務アプリケーションなど、資源やサービスなどに、システム上での識別子を付与して使用する。オブジェクトについて、識別子以外に、ユーザインタフェースなどで用いるための表示名称を持つ場合もある。
【００２２】
また、「アクション」は、アクセス元であるアクセス主体から、アクセス先であるアクセス客体に対して、行われる操作内容を示す識別子である。仮想マシンであれば起動や終了、ファイルであれば読込みや書込みなど、特定の操作内容にシステム上での識別子を付与して使用する。アクションについて、識別子以外に、ユーザインタフェースなどで用いるための表示名称を持つ場合もある。
【００２３】
（ロールベースアクセス制御の用語）
「ロールベースアクセス制御」は、権限の集合に対して付与されるロール（役割）に基づくユーザのアクセス権限の制御である。例えば、サブジェクトとなるユーザに権限を付与したい場合、ユーザにロールを割り当てることで、ロールに紐づく権限集合をユーザに付与する。このため、あるユーザと権限の関係を変更したい場合は、ユーザとロールの関係を変更する方法と、ロールと権限の関係を変更する方法の２種類がある。
【００２４】
「アクセス制御ポリシー」（以下、「ポリシー」と略す）は、ロールに対応する、権限のリストである。ポリシーによって、ロールと権限との関係を管理する。すなわち、ポリシーは、ロールと権限との関係を定義する。
【００２５】
ここで、「ロール(役割：role)」は、ユーザが所属することで同じ権限集合が付与される役割に対して付与される識別子である。一般的には所属部署や役職、担当するプロジェクト・業務内容・作業項目などの識別子が使用される。各ロールについて、識別子以外に、別途、ユーザインタフェースなどで用いるための表示名称を持つ場合もある。ロール自身を指す識別子の他に、ロール階層を表現するため、親ノードや子ノードにあたるロールの識別子やパスの情報を持つ場合もある。
【００２６】
また、「ロール階層」は、組織構造などに基づくロールの階層関係を意味する。一般的に、ロール階層は多段階の階層を持つ木構造となる。例えば、ある企業「Ａ株式会社」のロール階層は、1つの木構造となり、「Ａ株式会社」を根とし、その配下に「総務部」と「経理部」を持ち、さらに「総務部」の配下に「秘書課」と「広報課」を持つ。
【００２７】
また、「ロール継承」（以下、「継承」と略す）は、ロール階層に基づく継承関係を意味する。例えば、上記のロール階層における例では、「秘書課」ロールは「総務部」ロールを継承しており、「総務部」ロールは「Ａ株式会社」ロールを継承している。ロールを継承することにより、継承先のロールは、継承元のロールの権限の集合を引き継ぐ。
【００２８】
また、「ロール包含」（以下、「包含」と略す）は、ロール階層に基づく包含関係を意味する。例えば、「サーバＡ管理者」、「サーバＢ管理者」というロールがあり、それぞれ、サーバＡに対する管理用の操作を可能とする権限集合と、サーバＢに対する管理用の操作を可能とする権限集合とする。その上で、全てのサーバの管理用の操作を可能とする「サーバ管理者」というロールを定義する際に、「サーバ管理者」ロールに、改めてサーバＡ・サーバＢに関する権限を追加する代わりに、「サーバ管理者」ロールと、「サーバＡ管理者」ロールおよび「サーバＢ管理者」ロールとの間に包含関係を定義する。ロールを包含することにより、「サーバ管理者」ロールは、「サーバＡ管理者」ロールと「サーバＢ管理者」ロールの権限を引き継ぐ。
【００２９】
（ユーザ集合と権限集合）
「ユーザ情報」は、サブジェクトの１つである、ユーザに関する様々な属性情報を含むが、ここでは、少なくとも、ユーザを示す識別子と、そのユーザに付与されたロールの識別子とを含む。ＲＢＡＣにおいて、１人のユーザは、0個以上のロールを持つ。０個のロールを持つ、あるいはロールを持たないユーザは、権限を持たない。必要に応じて、ロール継承やロール包含などのロール階層の情報も管理する。ユーザ情報によって、ユーザとロールとの関係を管理する。
【００３０】
「ユーザ集合」は、同じロールを付与されたユーザの集合である。ここでは、例えば、ロールＡを持つユーザ集合を、ユーザ集合Ａと表記する。複数のロールを持つユーザが存在するため、複数のユーザ集合を比較すると、ユーザが重複する場合がある。
【００３１】
「権限集合」は、同じロールに含まれる権限の集合である。ここでは、例えば、ロールＡに含まれる権限集合を、権限集合Ａと表記する。複数のロールに共通する権限が存在するため、複数の権限集合を比較すると、権限が重複する場合がある。
【００３２】
（ユーザ小集合と権限小集合）
「ユーザ小集合」は、互いにユーザの重複の無い、ユーザ集合である。もととなったロールに由来する小集合インデックスを、識別子として持つ。ユーザ集合間の重複部分とそれ以外の部分とを、別々の集合として切り分ける。ここでは、例えば、ユーザ集合Ａとユーザ集合Ｂの重複部をユーザ小集合ＡＢ、それ以外の部分のうちユーザ集合Ａに由来する残りの部分をユーザ小集合Ａ-(マイナス)、ユーザ集合Ｂに由来する残りの部分をユーザ小集合Ｂ-と表記する。これにより、ユーザ小集合ＡＢは、ロールＡとロールＢの両方を持つユーザの集合、ユーザ小集合Ａ-は、ロールＡのみを持つユーザの集合、ユーザ小集合Ｂ-は、ロールＢのみを持つユーザの集合となる。３つ以上のユーザ集合の場合、ユーザ集合の任意の組み合わせごとに切り分けて、小集合を定義する。これにより、ロールを同じ組み合わせ方で持つユーザごとに、ユーザ集合を切り分け、互いに重複のないユーザ集合として定義することができる。組み合わせるロールの情報があれば、実際には対応するユーザの無いユーザ小集合も定義可能であり、当該ユーザ小集合は空集合となる。
【００３３】
「権限小集合」は、互いに権限の重複の無い、権限集合である。もととなったロールに由来する小集合インデックスを、識別子として持つ。権限集合間の重複部分とそれ以外の部分とを、別々の集合として切り分ける。ここでは、例えば、権限集合Ａと権限集合Ｂの重複部を権限小集合ＡＢ、それ以外の部分のうち権限集合Ａに由来する残りの部分を権限小集合Ａ-(マイナス)、権限集合Ｂに由来する残りの部分を 権限小集合Ｂ-と表記する。これにより、権限小集合ＡＢは、ロールＡとロールＢの両方に含まれる権限の集合、権限小集合Ａ-は、ロールＡのみに含まれる権限の集合、権限小集合Ｂ-は、ロールＢのみに含まれる権限の集合となる。３つ以上の権限集合の場合、権限集合の任意の組み合わせごとに切り分けて、小集合を定義する。これにより、ロールに同じ組み合わせ方で含まれる権限ごとに、権限集合を切り分け、互いに重複のない権限集合として定義することができる。組み合わせるロールの情報があれば、実際には対応する権限の無い権限小集合も定義可能であり、当該権限小集合は空集合となる。
【００３４】
「小集合」は、ユーザ小集合と権限小集合とを、まとめたものである。「小集合インデックス」は、小集合を定義するために使用する、小集合の識別子である。識別子の構成としては、由来するロールの識別子の組そのもの、あるいは、そのロールの識別子の組を示す別の識別子を用いる。
【００３５】
（ルールレシピ）
「ルールレシピ」（以下、「レシピ」と略す）は、ルールの識別子と、ルールを合成する際に使用する小集合の識別子とを、定義する記述である。あるルールのレシピに含まれるユーザ小集合群を足し合わせたユーザ集合と、同レシピに含まれる権限集合群を足し合わせた権限集合とを用いて、当該ユーザ集合に含まれる全ユーザと、当該権限集合に含まれる全権限とを組み合わせ、1つのユーザと１つの権限の組のリストとすることで、アクセス制御ルールを合成する。仮に、当該ユーザ集合か当該権限集合のうち、少なくとも一方が空集合である場合、有効なユーザと権限の組が１つも合成できないため、当該レシピの合成結果は無効なルールとなる。したがって、少なくとも一方が空集合か否かをチェックすることができれば、実際に合成せずとも、当該レシピの合成結果が無効か否かを判断することができる。
【００３６】
［第１実施形態］
本発明の第１実施形態としてのアクセス制御システム１００について、図１を用いて説明する。アクセス制御システム１００は、アクセス権を管理するためのシステムである。
【００３７】
図１に示すように、アクセス制御システム１００は、アクセス制御情報格納部１０１と、小集合生成部１０２と、ルールレシピ生成部１０３と、アクセス制御ルール生成部１０４と、複数のアクセス権制御部１０５と、を含む。アクセス制御情報格納部１０１は、ユーザが所属することで同じ権限集合が付与されるロールと、ロールに付与されるための権限集合と、ロールと権限集合との組み合わせを表わすアクセス制御ポリシーと、を格納する。小集合生成部１０２は、複数のロールに重複して所属するユーザを新たなユーザ小集合として切り分けることによって、ユーザが重複して所属しない複数のユーザ小集合を生成し、複数の権限集合に重複して含まれる権限を新たな権限小集合として切り分けることによって、権限が重複して含まれない複数の権限小集合を生成する。ルールレシピ生成部１０３は、アクセス制御ポリシーから、ユーザ小集合と権限小集合との組み合わせを表わすルールレシピを生成する。アクセス制御ルール生成部１０４は、ユーザ小集合および権限小集合と、ルールレシピとに基づいて、各ユーザと各権限との関係で表わされるアクセス権を示すアクセス制御ルールを生成する。複数のアクセス権制御部１０５は、アクセス制御ルールに基づいて、それぞれのアクセス権を制御する。
【００３８】
本実施形態によれば、複数の集合に重複して存在するユーザあるいは権限を要素とする新たな小集合として生成することにより、従来通りのロールを用いたアクセス制御ポリシーを定義するだけで、多量のアクセス制御ルールを生成する際にも、ルールの重複を防止し、ルールの配付量や配付時間を削減することができる。
【００３９】
［第２実施形態］
次に、本発明の第２実施形態に係るアクセス制御システムについて説明する。本実施形態に係るアクセス制御システムは、ユーザ集合および権限集合において、重複するユーザと権限とをユーザ小集合と権限小集合として切り出して、複数のユーザ小集合と権限小集合を生成し、アクセス制御ポリシーを小集合間のルールレシピに作り替えることによって、ユーザ小集合と権限小集合とルールレシピとに基づいてアクセス制御ルール（アクセス制御ＡＣＬ）を生成する。
【００４０】
《前提技術》
図４Ａは、前提技術に係るアクセス制御の概念４１０を説明する図である。
【００４１】
図４Ａに示すように、ポリシーは、ロールと権限の関係を定義する。本実施形態では、ロールＡ（４１２）に紐付ける権限を記載するポリシーをポリシーＡ（４１４）、それによって紐付けられるユーザ集合と権限集合を、ユーザ集合Ａ（４１１）と権限集合Ａ（４１３）と呼ぶ。
【００４２】
（２つの集合におけるアクセス制御）
図４Ｂ乃至図４Ｄは、前提技術に係る２つの集合におけるアクセス制御の概念４２０〜４７０を説明する図である。なお、図４Ｂ乃至図４Ｄにおいては、重複するルールを太枠および太字で示している。
【００４３】
一般に、ユーザ集合や権限集合は重複しており、重複したユーザ集合と重複した権限集合から生成されるルールは、図４Ｂの概念４２０に示すように、ロールＡのポリシーから生成されるルールＡと、ロールＢのポリシーから生成されるルールＢとの間で重複したルールが生成される。これは特に、生成するルールが大量にある場合や、重複の割合が大きい場合に、配付量や配付時間を肥大化させ、大きな問題となる。
【００４４】
このルール間の重複は、図４Ｃの概念４３０、４４０に示すように、ユーザ集合か権限集合の少なくとも一方の重複が解消されれば、ルールの重複も解消されるが、当然ながらユーザや権限を無くしてしまうわけにはいかないし、片方のユーザ集合だけに残す場合でも、権限との関係が変わってしまって、生成するルールが欠けてしまい、アクセス制御結果が変わってしまう。
【００４５】
かといって、ユーザ集合と権限集合の重複部分が残っている限りは、他のユーザや権限を、どう変えても、図４Ｄの概念４５０〜４７０に示すように、生成するルールに必ず重複が出る。
【００４６】
（３つの集合におけるアクセス制御）
図６Ａおよび図６Ｂは、前提技術に係る３つの集合におけるアクセス制御の概念６１０、６２０を説明する図である。なお、図６Ａおよび図６Ｂにおいては、重複するルールを太枠および太字で示している。
【００４７】
図６Ａおよび図６Ｂにおいて、ロールＡのポリシーから生成されるルールＡと、ロールＢのポリシーから生成されるルールＢと、ロールＣのポリシーから生成されるルールＣと（６１０）、の間で重複したルールが生成される（６２０）。
【００４８】
《本実施形態の概要》
図２は、本実施形態に係るアクセス制御システムの動作概要を説明する図である。
【００４９】
図２のテーブル２１０は、ロール２１１、ユーザ集合２１２および権限集合２１３の一例である。本例では、プロジェクトＸとプロジェクトＹとの両方に所属するユーザとして、「システム管理者Ｃ」と「開発責任者Ｄ」とがいる。また、プロジェクトＸとプロジェクトＹとの両方に付与される権限として「管理データ閲覧可」が有る。
【００５０】
図２のアクセス制御システムに提供されるテーブル２１０に対応する構造２２０のユーザ集合２２１と権限構造２２２とから、そのままアクセス制御ルール（ＡＣＬ）を生成すると、重なり部分である「システム管理者Ｃ」および「開発責任者Ｄ」と「管理データ閲覧可」との組み合わせが複数回（本例では２回）重複して生成される。したがって、その重複したアクセス制御ルールを削除しないと配布情報量が増大し、また、削除のための処理時間が浪費される。
【００５１】
本実施形態においては、図２の構造２３０にように、重なる部分が無くなるようにユーザ小集合２３１および権限小集合２３２と、小集合間のルールレシピとを生成する。
【００５２】
かかる小集合の構造とルールレシピとにより生成された各ユーザ２４１と各権限２４２との組み合わせを示すアクセス制御ルール（ＡＣＬ）２４０においては、「システム管理者Ｃ」および「開発責任者Ｄ」２４３のアクセス制御ルールは重複無しに１つだけ生成される。
【００５３】
このように、本実施形態の技術により、従来通りのロールを用いたアクセス制御ポリシーを定義するだけで、多量のアクセス制御ルールを生成する際にも、ルールの重複を防止し、ルールの配付量や配付時間を削減することが可能となる。
【００５４】
図２の処理は、複数の装置からなるシステムにおいても、１つの装置においても実現可能であり、アクセス制御ルール生成方法やアクセス制御ルール生成プログラムの主要構成を示している。
【００５５】
（２つの集合におけるアクセス制御）
図３は、本実施形態に係るアクセス制御システムの２つの集合におけるアクセス制御の概念３００を説明する図である。
【００５６】
図３に示すように、ユーザ集合と権限集合を、全て重複の無い小集合に切り分けてから、同じアクセス制御結果となるように、組み合わせを定義する。図４Ａで重複していた部分も、全て独立した小集合とし、ユーザ小集合に対して、権限小集合を１度ずつだけ組み合わせる形で、ルール生成を行う。これには、ユーザ小集合の１つごとに幾つかの権限小集合を組み合わせてルールを生成する方法と、権限小集合の１つごとに幾つかのユーザ小集合を組み合わせてルールを生成する方法の２つが考えられる。なお、本実施形態においては、前者を使用しているが、後者を用いても同様の処理が可能である。
【００５７】
（３つの集合におけるアクセス制御）
図５Ａおよび図５Ｂは、本実施形態に係るアクセス制御システムの３つの集合におけるアクセス制御の概念５１０、５２０を説明する図である。
【００５８】
図３は、ロールが２つの場合だが、図５Ａおよび図５Ｂに示すように、ロールが増えても同様に、ロールの組み合わせごとに、ユーザと権限の小集合を切り出して、その小集合の組み合わせでルールを組み立てる。図５Ａおよび図５Ｂはロールが３つの例だが、ロールが４つ以上になっても同様である。
【００５９】
《ルールレシピ》
上述の定義のように、このユーザと権限の小集合の組み合わせをルールレシピと呼ぶ。
【００６０】
「ルールレシピ」（「レシピ」と略す）は、当該ルールの識別子と、当該ルールを合成する際に使用する小集合の識別子とを、定義する記述である。あるルールのレシピに含まれるユーザ小集合群を足し合わせたユーザ集合と、同レシピに含まれる権限集合群を足し合わせた権限集合とを用いて、当該ユーザ集合に含まれる全ユーザと、当該権限集合に含まれる全権限とを組み合わせ、1つのユーザと１つの権限の組のリストとすることで、アクセス制御ルールを合成する。仮に、当該ユーザ集合か当該権限集合のうち、少なくとも一方が空集合である場合、有効なユーザと権限の組が１つも合成できないため、当該レシピの合成結果は 無効なルールとなる。したがって、少なくとも一方が空集合か否かをチェックすることができれば、実際に合成せずとも、当該レシピの合成結果が無効か否かを判断することができる。
【００６１】
図１６は、本実施形態に係る空集合な無い場合の小集合およびルールレシピの生成１６００を説明する図である。
【００６２】
ルールレシピの例としては、例えば、２つのロールＡ・ロールＢがあり、その間でユーザが重複している場合は、図１６に示すように、ルールＡ-のルールレシピ「(ルールＡ-の識別子)、(ユーザ小集合Ａ-、{権限小集合Ａ-、権限小集合ＡＢ})」、ルールＡＢのルールレシピ「(ルールＡＢの識別子)、(ユーザ小集合ＡＢ、{権限小集合Ａ-、権限小集合ＡＢ、権限小集合Ｂ-})」、ルール)、ルールＢ-のルールレシピ「(ルールＢ-の識別子)、(ユーザ小集合Ｂ-、{権限小集合ＡＢ、権限小集合Ｂ-})」の、3つのレシピによって重複しないルールを合成する。
【００６３】
また、図１７乃至図２４は、本実施形態に係る空集合が有る場合の小集合およびルールレシピの生成１７００〜２４００を説明する図である。
【００６４】
図１７、図１８、図１９、図２０、図２１、図２２、図２３および図２４に示すように、ユーザ集合や権限集合の重複状態の違いによって、空集合が発生し、レシピによってルール合成を行うと無効なルールとなる場合がある。このような無効なルールは、アクセス制御設定から削除するものとして扱う。
【００６５】
図２５は、本実施形態に係るロール包含における小集合およびルールレシピの生成２５００を説明する図である。
【００６６】
ロールＡが、ロールＢを包含することで、ロールＡを持つユーザ集合Ａに、さらにロールＢを付与した状態と同じとなる。ユーザ集合Ａの全ユーザが、ロールＡもロールＢも持つこととなるため、ユーザ集合Ａ-は空集合となる。また、ユーザ集合Ｂのユーザが行使できる権限は、ユーザ集合Ａの全ユーザも行使できることとなるため、権限集合Ｂ-は空集合となる。
【００６７】
図２６は、本実施形態に係るロール継承における小集合およびルールレシピの生成２６００を説明する図である。
【００６８】
ロールＢが、ロールＡを継承することで、ロールＢを持つユーザ集合Ｂに、さらにロールＡを付与した状態と同じとなる。ユーザ集合Ｂの全ユーザが、ロールＡもロールＢも持つこととなるため、ユーザ集合Ｂ-は空集合となる。また、ユーザ集合Ａのユーザが行使できる権限は、ユーザ集合Ｂの全ユーザも行使できることとなるため、権限集合Ａ-は空集合となる。
【００６９】
《本実施形態を実現するシステム構成》
（機能構成）
図７Ａは、本実施形態に係るアクセス制御システム７００の機能構成を示すブロック図である。
【００７０】
図７Ａに示されているように、ポリシー管理装置７１０は、ポリシー情報格納部７１１とポリシー解釈部７１２とを有する。ポリシー解釈部７１２は、ロールにおけるユーザ情報とポリシー情報とに基づいてユーザ小集合および権限小集合を生成する小集合生成部７１３を含む。また、ポリシー解釈部７１２は、ポリシー情報からユーザ小集合および権限小集合の組み合わせを示すルールレシピを生成するルールレシピ生成部７１４を含む。なお、ポリシー管理装置７１０は、それぞれの機能構成部は、別個のコンピュータシステムで構築されていてもよいし、一部または全部が同一のコンピュータシステムで実現されていてもよい。
【００７１】
ユーザ管理装置７２０は、ユーザ情報格納部７２１を有する。なお、ユーザ管理装置７２０は、複数のコンピュータシステムで構築されていてもよいし、同一のコンピュータシステムで実現されていてもよい。
【００７２】
複数のアクセス制御装置７３０-ｉ(ｉ＝１〜ｎ)は、ルール生成部７３１と、ルール情報格納部７３２と、アクセス権制御部７３３とを有する。ルール生成部７３１は、ユーザ小集合および権限小集合の小集合と、その組み合わせを示すルールレシピとに基づいて、アクセス制御ルールを生成するための、ルール生成テーブル７３１ａを含む。複数のアクセス制御装置７３０-ｉ(ｉ＝１〜ｎ)は、それぞれ別個のコンピュータシステムで構築されていてもよいし、一部または全部が同一のコンピュータシステムで実現されていてもよい。
【００７３】
なお、ポリシー管理装置７１０と、ユーザ管理装置７２０と、管理対象のアクセス制御装置７３０-ｉとは、それぞれ別個のコンピュータシステムで構築されていてもよいし、一部または全部が同一のコンピュータシステムで実現されていてもよい。また、ポリシー管理装置７１０と、ユーザ管理装置７２０と、管理対象のアクセス制御装置７３０-ｉとは、有線で接続してもよいし、ネットワークを介して無線で接続してもよい。
【００７４】
また、ポリシー管理装置７１０は、具体的には、プログラムに従って動作する情報処理装置のＣＰＵと、ＲＡＭやハードディスク等の記憶媒体と、ユーザ管理装置７２０と、アクセス制御装置７３０-ｉと通信を行なうための通信インタフェースとによって実現される。
【００７５】
ユーザ管理装置７２０は、具体的には、プログラムに従って動作する情報処理装置のＣＰＵと、ＲＡＭやハードディスク等の記憶媒体と、ポリシー管理装置７１０と通信を行なうための通信インタフェースとによって実現される。
【００７６】
アクセス制御装置７３０-ｉは、具体的には、プログラムに従って動作する情報処理装置のＣＰＵと、ＲＡＭやハードディスク等の記憶媒体と、ポリシー管理装置７１０と通信を行なうための通信インタフェースとによって実現される。
【００７７】
ポリシー解釈部７１２と、ルール生成部７３１は、具体的には、プログラムに従って動作する情報処理装置のＣＰＵと、ＲＡＭ等の記憶媒体と、通信インタフェースとによって実現される。
【００７８】
ポリシー情報格納部７１１と、ユーザ情報格納部７２１と、ルール情報格納部７３２と、アクセス権制御部７３３は、具体的には、プログラムに従って動作する情報処理装置のＣＰＵと、ＲＡＭやハードディスク等の記憶媒体と、通信インタフェースとによって実現される。
【００７９】
（ハードウェア構成）
図７Ｂは、本実施形態に係るアクセス制御システム７００のハードウェア構成を示す図である。図７Ｂは、ネットワーク７４０を介した構成例であるが、これに限定されない。
【００８０】
アクセス制御システム７００の各装置は、ネットワーク７４０を介して互いに接続される、ポリシー管理装置７１０と、ユーザ管理装置７２０と、アクセス制御装置７３０-１〜７３０-ｎとを有する。また、アクセス制御システム７００の各装置は、ネットワーク７４０を介して互いに接続される、複数のサービス提供サーバ７６０と、サービス提供サーバ７６０からのサービスを受ける通信端末７５１〜７５ｎとを有する。かかる通信端末７５１〜７５ｎが、アクセス制御装置７３０-１〜７３０-ｎによるアクセス制御を受けて、複数のサービス提供サーバ７６０へのアクセス権を制御される。
【００８１】
（ユーザ情報格納部）
図８は、本実施形態に係るユーザ情報格納部７２１の構成を示す図である。ユーザ情報格納部７２１は、各ユーザが所属するロールに関する情報を含む。なお、ユーザ情報およびその格納構成は図８に限定されない。図８には、氏名や住所などのユーザ属性情報は図示していない。
【００８２】
ユーザ情報格納部７２１は、サブジェクト情報８１０としてのユーザＩＤなどに対応付けて、ロール対象情報８２０を記憶する。ロール対象情報８２０には、会社組織内であれば、所属部課として会社、部、課などが含まれ、参加プロジェクトが含まれる。
【００８３】
（ポリシー情報格納部）
図９Ａ乃至図９Ｃは、本実施形態に係るポリシー情報格納部７１１の構成を示す図である。なお、ポリシー情報格納部７１１の構成は図９Ａ乃至図９Ｃに限定されない。
【００８４】
図９Ａは、アクセス制御ポリシー９１０の格納構成を示す。アクセス制御ポリシー９１０は、ロールと権限との関係を記憶する。
【００８５】
アクセス制御ポリシー９１０は、ロール情報９１１としてのロールＩＤやロール名と、付与権限情報９１２としての権限や権限集合と、の組み合わせを記憶する。
【００８６】
図９Ｂは、ユーザ小集合９２０と権限小集合９３０との格納構成を示す。ユーザ小集合９２０は、ユーザ集合の重複部分を切り分けることで生成されたユーザ小集合を記憶する。また、権限小集合９３０は、権限集合の重複部分を切り分けることで生成された権限小集合を記憶する。
【００８７】
ユーザ小集合９２０は、ロールＩＤ（または、ユーザ集合ＩＤ）９２１およびユーザ集合９２２に対応付けて、重複しない（非重複）ユーザ小集合９２３と、各重複部分を切り分けた第１〜第４のユーザ小集合９２４〜９２７を記憶する。なお、ユーザ小集合９２０には、３つのユーザ集合が与えられた場合の、各集合に含まれるユーザ要素の具体例が図示されている。
【００８８】
権限小集合９３０は、権限集合ＩＤ９３１および権限集合９３２に対応付けて、重複しない（非重複）権限小集合９３３と、各重複部分を切り分けた第１〜第４の権限小集合９３４〜９３７を記憶する。なお、権限小集合９３０には、３つの権限集合が与えられた場合の、各集合に含まれる権限要素の具体例が図示されている。
【００８９】
図９Ｃは、ルールレシピ９４０の格納構成を示す。ルールレシピ９４０は、ユーザ小集合と権限小集合との関係を記憶する。
【００９０】
ルールレシピ９４０は、ルールレシピＩＤ９４１に対応付けて、ユーザ小集合ＩＤ９４２と、権限小集合ＩＤ９４３、９４４…との関係を記憶する。
【００９１】
（ルール情報格納部）
図１０は、本実施形態に係るルール情報格納部７３２の構成を示す図である。ルール情報格納部７３２は、受信したユーザ小集合、権限小集合と、ルールレシピと、ユーザ小集合および権限小集合と、ルールレシピとに基づいて生成されたアクセス制御ルールとを記憶する。なお、図１０には、生成されたアクセス制御ルールのみを示す。ルール情報格納部７３２の構成は図１０に限定されない。
【００９２】
ルール情報格納部７３２は、サブジェクト１００１としてのユーザＩＤなどと、権限（パーミッション）１００２としてのリソースなどのオブジェクトおよびアクションと、の組み合わせを記憶する。
【００９３】
《装置のハードウェア構成》
図１１は、本実施形態に係るアクセス制御システム２００を構成する装置７１０、７２０、７３０のハードウェア構成を示すブロック図である。なお、各装置７１０〜７３０のハードウェア構成において、テーブル類やＤＢ類、あるいは、プログラムやモジュールの名称と内容はことなるが、全体のハードウェア構成は類似であるので、１つにまとめて説明する。  図１１で、ＣＰＵ１１１０は演算制御用のプロセッサであり、ＣＰＵ１１１０がＲＡＭ１１４０を使用しながらストレージ１１５０に格納されたプログラムおよびモジュールを実行することで、図７Ａに示された各装置の各機能構成部の機能が実現される。ＲＯＭ１１２０は、初期データおよびプログラムなどの固定データおよびプログラムを記憶する。また、通信制御部１１３０は、ネットワークを介して外部装置と通信する各装置の通信制御部に相当する。なお、ＣＰＵ１１１０は１つに限定されず、複数のＣＰＵであっても、あるいは画像処理用のＧＰＵを含んでもよい。
【００９４】
ＲＡＭ１１４０は、ＣＰＵ１１１０が一時記憶のワークエリアとして使用するランダムアクセスメモリである。ＲＡＭ１１４０には、本実施形態の実現に必要なデータを記憶する領域が確保されている。例えば、プログラムを実行する場合の変数を記憶する変数記憶部１１４１、複数のデータを関連付けるテーブルを記憶するテーブル記憶部１１４２、通信制御部１１３０を介して、送受信した送受信データを記憶する送受信データ記憶部１１４３、を含む。なお、アクセス制御装置７３０のテーブル記憶部１１４２には、ルール生成テーブル７３１ａの領域が確保される。
【００９５】
ストレージ１１５０には、ＤＢや各種のパラメータ、あるいは本実施形態の実現に必要な以下のデータまたはプログラムが記憶されている。ＤＢ記憶領域１１５１は、各種ＤＢを記憶する領域である。このＤＢ記憶領域１１５１に、図７Ａの各情報格納部が確保される。また、パラメータ／アルゴリズム記憶領域１１５２は、データ処理時のパラメータや関数などのアリゴリズムを記憶する領域である。ポリシー情報格納部やルール情報格納部は、パラメータ／アルゴリズム記憶領域１１５２に確保されてもよい。また、制御プログラム／モジュール記憶領域１１５３は、ＲＡＭ１１４０に読み出されてＣＰＵ１１１０によって実行される制御プログラムやその一部を構成するモジュールを記憶する領域である。図１４Ａ、図１５Ｂおよび図１５のフローチャートは、制御プログラム／モジュール記憶領域１１５３に格納される。
【００９６】
（ルール生成テーブル）
図１２は、本実施形態に係るルール生成テーブル７３１ａの構成を示す図である。ルール生成テーブル７３１ａは、アクセス制御装置７３０のテーブル記憶部１１４２に確保されて、ユーザ小集合と、権限小集合と、ルールレシピとに基づいて、アクセス制御ルールを生成するために使用される。
【００９７】
ルール生成テーブル７３１ａは、、ユーザ小集合１２０１および権限小集合１２０２と、その関係情報であるルールレシピとに対応付けて、サブジェクト１２０３と権限（パーミッション）との関係情報であるアクセス制御ルール（ＡＣＬ）を記憶する。
【００９８】
《本実施形態の処理手順》
図１３は、本実施形態に係るアクセス制御システムの処理手順を示すフローチャートである。このフローチャートは、ポリシー管理装置７１０における図１１のＣＰＵ１１１０がＲＡＭ１１４０を使用して実行し、ポリシー管理装置７１０の各機能構成部を実現する。
【００９９】
（１）ステップＳ１３０１
まず、ポリシー管理装置７１０は、ユーザ管理装置７２０から、ロール情報を含むユーザ情報を取得し、アクセス制御ポリシーの解釈を行い、配付対象となる複数台のアクセス制御装置７３０-ｉの１台ごとに、小集合インデックス（小集合ＩＤ）、ルールレシピ、ユーザ小集合、権限小集合を生成し、ルールレシピと各小集合とをアクセス制御装置７３０-ｉに配付する。
【０１００】
（２）ステップＳ１３０３
次に、アクセス制御装置７３０-ｉは、配付されたルールレシピと小集合を用いて、アクセス制御ルールを合成し、アクセス権制御部７３３に設定する。
【０１０１】
（３）ステップＳ１３０５
次に、アクセス権制御部７３３は、設定されたアクセス制御ルールに沿って、アクセス制御（アクセス権の管理）を実施する。
【０１０２】
（ポリシー解釈処理）
図１４Ａは、本実施形態に係るポリシー管理装置におけるポリシー解釈処理（Ｓ１３０１）の手順を示すフローチャートである。
【０１０３】
（１）ステップＳ１４０１
ポリシー管理装置７１０は、ユーザ情報格納部７２１を参照し、ロール情報の更新があるかを確認する。ここで、ロール情報の更新とは、新しいロールの追加、ロールの削除、ロールの継承や包含などの階層関係の追加・削除、などを指す。ロール情報に更新が有る場合は、ステップＳ１４０３へ、無い場合は、ステップＳ１４０７へ進む。
【０１０４】
（２）ステップＳ１４０３
ポリシー管理装置７１０は、ユーザ情報格納部７２１からロール情報を取得し、ロール群を用いた全ての組み合わせを導出し、小集合インデックスとして生成するとともに、ユーザ小集合と権限小集合との組み合わせと、そこから生成されるルールの対応を示す、ルールレシピを生成し、ポリシー情報格納部７１１に保存する。
【０１０５】
（３）ステップＳ１４０５
ポリシー管理装置７１０は、生成したルールレシピを、ルール生成部７３１へ配付する予定の、配付物に含める。
【０１０６】
（４）ステップＳ１４０７
ポリシー管理装置７１０は、ユーザ情報格納部７２１を参照し、ユーザとロールとの関係に変化があるかを確認する。ここで、ユーザとロールとの関係の変化とは、ユーザへのロールの付与・剥奪、ユーザに付与されているロールに関するロール情報の変化、などを指す。変化が有る場合は、ステップＳ１４０９へ、無い場合は、ステップＳ１４１１へ進む。
【０１０７】
（５）ステップＳ１４０９
ポリシー管理装置７１０は、変化があったユーザ情報あるいはロール情報に関し、ユーザとの関係に変化のあったロールを含む小集合インデックスに対応するユーザ小集合を生成し、ポリシー情報格納部７１１に保存する。
【０１０８】
（６）ステップＳ１４１１
ポリシー管理装置７１０は、ユーザ情報格納部７２１とポリシー情報格納部７１１を参照し、ロールと権限との関係に変化があるかを確認する。ここで、ロールと権限との関係の変化とは、ロールへの権限の追加・削減、ロールの継承や包含などの階層関係の追加・削除と、それに伴う、ロール間での権限の重複状態の変化などを指す。変化が有る場合は、ステップＳ１４１３へ、無い場合は、ステップＳ１４１５へ進む。
【０１０９】
（７）ステップＳ１４１３
ポリシー管理装置７１０は、変化があったポリシー情報あるいはロール情報に関し、権限との関係に変化のあったロールを含む小集合インデックスに対応する権限小集合を生成し、ポリシー情報格納部７１１に保存する。
【０１１０】
（８）ステップＳ１４１５
ポリシー管理装置７１０は、ポリシー情報格納部７１１を参照し、ユーザ小集合あるいは権限小集合の中で、小集合の更新後に、ルール生成部７３１に対して配付していないものがあるかを確認する。例えば、更新フラグや配付フラグなどを用いて、更新状態と配付状態を管理する。対象となる小集合が有る場合は、ステップＳ１４１７へ、無い場合は、何もせず終了する。
【０１１１】
（９）ステップＳ１４１７
ポリシー管理装置７１０は、ポリシー情報格納部７１１を参照し、ステップＳ１０８で発見した小集合を使用するルールレシピを特定し、当該レシピに記載された当該ルールの識別子を取得する。
【０１１２】
（１０）ステップＳ１４１９
ポリシー管理装置７１０は、ステップＳ１４１９で特定したルール識別子から、１つを取り出す。
【０１１３】
（１１）ステップＳ１４２１
ポリシー管理装置７１０は、当該ルール識別子のルールが、これまで配付したことがないか、配付済み、かつ、無効なルールだった場合は、ステップＳ１４２３へ進む。
当該ルール識別子のルールが、配付済み、かつ、有効なルールだった場合は、ステップＳ１３２５へ進む。配付済み、かつ、有効なルールについては、今回、当該ルールが有効でも無効でも、更新の対象となるため、ステップＳ１４２３の判定処理はスキップする。
【０１１４】
（１２）ステップＳ１４２３
ポリシー管理装置７１０は、当該ルール識別子のルールレシピと、当該レシピで使用されている小集合を参照し、当該ルールレシピから合成されるルールが、有効なルールになる場合は、ステップＳ１４２５へ、無効なルールになる場合は、ステップＳ１４２７へ進む。
【０１１５】
有効なルールと無効なルールの判定は、実際に合成しても判定可能である。しかし、レシピで使用されている全てのユーザ小集合を足し合わせたユーザ集合か、レシピで使用されている全ての権限小集合を足し合わせた権限小集合の、少なくとも一方が空集合の場合に無効なルールとなる。そのため、レシピで使用されているユーザ小集合か権限小集合が全て空集合であるかを調べることで、判定可能である。
【０１１６】
前回が未配付あるいは無効なルールについて、今回も無効なルールであることが分かれば、今回、当該ルールを配付する必要は無いと考えられるため、ステップＳ１４２５はスキップし、当該ルールの配付を省略する。
【０１１７】
（１３）ステップＳ１４２５
ポリシー管理装置７１０は、当該ルール識別子のルールレシピを参照し、当該ルールの識別子と、当該ルールが用いる小集合のうち、ステップＳ１４１５で特定した小集合に該当する小集合について、ルール生成部７３１へ配付する予定の、配付物に含める。配付物に含まれるルール識別子のルールレシピ間で、同じ小集合が使用されている場合、使用しているレシピの数だけ配付物に含むのではなく、当該小集合は、配付物に１つだけ含む。
【０１１８】
（１４）ステップＳ１４２７
ポリシー管理装置７１０は、ステップＳ１４１７で特定したルール識別子のうち、まだステップＳ１４１９で取得していないものが有れば、ステップＳ１４１９へ、無ければステップＳ１４２９へ進む。
【０１１９】
（１５）ステップＳ１４２９
ポリシー管理装置７１０は、配付物を参照し、配付物が、更新対象となるルール識別子を含む場合は、ステップＳ１４３１へ、含まない場合は、何もせず終了する。ここで、更新対象となるルール識別子として、ルールレシピの持つルール識別子は本ステップにおける判定の対象外とし、ルールレシピ以外に、ステップＳ１４２５で追加したルール識別子の有無を判定する。ルール識別子の有無で判定する代わりに、ルール更新フラグなどで管理してもよい。
【０１２０】
（１５）ステップＳ１４３１
ポリシー管理装置７１０は、ルール生成部７３１に対し、配付物が空でない限り、配付      
【０１２１】
物を受け渡す。
なお、図１４Ａにおける、ステップＳ１４０１、Ｓ１４０７、Ｓ１４１１とは、変化判定部を構成し、小集合生成部７１３やルールレシピ生成部７１４は、判定結果に応じて再度、ユーザ小集合、権限小集合あるいはルールレシピを生成する。
【０１２２】
（小集合およびルールレシピ生成処理）
図１４Ｂは、本実施形態に係る小集合およびルールレシピ生成処理（Ｓ１４０３）の手順を示すフローチャートである。
【０１２３】
（１）ステップＳ１４４１
ポリシー管理装置７１０は、ユーザ情報格納部７２１からユーザ集合を取得する。
【０１２４】
（２）ステップＳ１４４３
ポリシー管理装置７１０は、複数のユーザ集合があれば、それらの要素を比較する。
【０１２５】
（３）ステップＳ１４４５
ポリシー管理装置７１０は、複数のユーザ集合においてユーザが重複しているか否かを判定する。重複していれば、ステップＳ１４４７に進み、重複してなければ、ステップＳ１４５１に進む。
【０１２６】
（４）ステップＳ１４４７
ポリシー管理装置７１０は、重複するユーザのみを含むユーザ小集合を生成する。
【０１２７】
（５）ステップＳ１４４９
ポリシー管理装置７１０は、重複するユーザを除いたユーザ集合を、ユーザ小集合として生成する。
【０１２８】
（６）ステップＳ１４５１
ポリシー管理装置７１０は、ユーザ小集合の生成が終了したかを、複数のユーザ小集合に重複するユーザがあるか否かにより判定する。まだ、ユーザ小集合に重複するユーザがあれば、ステップＳ１４４３に戻って、ユーザ小集合の生成を繰り返す。ユーザ小集合に重複するユーザが無くなれば、ステップＳ１４５３に進んで権限小集合の生成を行なう。
【０１２９】
（７）ステップＳ１４５３
ポリシー管理装置７１０は、ポリシー情報格納部７１１から権限集合を取得する。
【０１３０】
（８）ステップＳ１４５５
ポリシー管理装置７１０は、複数の権限集合があれば、それらの要素を比較する。
【０１３１】
（９）ステップＳ１４５７
ポリシー管理装置７１０は、複数の権限集合において権限が重複しているか否かを判定する。重複していれば、ステップＳ１４５９に進み、重複してなければ、ステップＳ１４６３に進む。
【０１３２】
（１０）ステップＳ１４５９
ポリシー管理装置７１０は、重複する権限のみを含む権限小集合を生成する。
【０１３３】
（１１）ステップＳ１４６１
ポリシー管理装置７１０は、重複する権限を除いた権限集合を、権限小集合として生成する。
【０１３４】
（１２）ステップＳ１４６３
ポリシー管理装置７１０は、権限小集合の生成が終了したかを、複数の権限小集合に重複する権限があるか否かにより判定する。まだ、権限小集合に重複する権限があれば、ステップＳ１４５５に戻って、権限小集合の生成を繰り返す。権限小集合に重複する権限が無くなれば、ステップＳ１４６５に進んでルールレシピの生成を行なう。
【０１３５】
（１３）ステップＳ１４６５
ポリシー管理装置７１０は、生成されたユーザ小集合の１つを選択する。
【０１３６】
（１４）ステップＳ１４６７
ポリシー管理装置７１０は、ポリシー情報格納部７１１からアクセス制御ポリシーを取得する。
【０１３７】
（１５）ステップＳ１４６９
ポリシー管理装置７１０は、ステップＳ１４６５で選択したユーザ小集合と権限小集合との関係であるルールレシピの一部を生成する。
【０１３８】
（１６）ステップＳ１４７１
ポリシー管理装置７１０は、ルールレシピの生成処理をしていないユーザ小集合があるか否かを判定する。未処理のユーザ小集合があれば、ステップＳ１４６５に戻ってルールレシピの生成を繰り返す。未処理のユーザ小集合が無ければ、ステップＳ１４７３に進む。
【０１３９】
（１７）ステップＳ１４７３
ポリシー管理装置７１０は、生成した、ユーザ小集合、権限小集合およびルールレシピを、ルール情報格納部７３２に格納すると共に、アクセス権制御部７３３に渡す。
【０１４０】
（ルール生成処理）
図１５は、本実施形態に係るアクセス制御装置におけるルール生成処理（Ｓ１３０３）の手順を示すフローチャートである。このフローチャートは、アクセス制御装置７３０における図１１のＣＰＵ１１１０がＲＡＭ１１４０を使用して実行し、アクセス制御装置７３０の各機能構成部を実現する。
【０１４１】
（１）ステップＳ１５０１
アクセス制御装置７３０は、ポリシー解釈部７１２から、配付物を受け取る。
【０１４２】
（２）ステップＳ１５０３
アクセス制御装置７３０は、配付物を参照し、配付物にルールレシピが含まれているか判定する。含まれている場合は、ステップＳ１５０５へ、含まれていない場合は、ステップＳ１５０７へ進む。
【０１４３】
（３）ステップＳ１５０５
アクセス制御装置７３０は、ルール情報格納部７３２に対し、当該ルールレシピを保存する。同じルール識別子を持つ、ルールレシピについては上書き保存する。
【０１４４】
（４）ステップＳ１５０７
アクセス制御装置７３０は、配付物を参照し、配付物に小集合が含まれているか判定する。含まれている場合は、ステップＳ１５０９へ、含まれていない場合は、ステップＳ１５１１へ進む。
【０１４５】
（５）ステップＳ１５０９
アクセス制御装置７３０は、ルール情報格納部７３２に対し、当該小集合を保存する。同じ小集合インデックスを持つ小集合については、上書き保存する。配付物の含む小集合のうち空集合のものについては、ルール情報格納部７３２から同じ小集合インデックスを持つ小集合を削除する。
【０１４６】
（６）ステップＳ１５１１
アクセス制御装置７３０は、ルール情報格納部７３２を参照し、配付物が含む更新対象のルール識別子について、該当する識別子を持つルールレシピを取得し、当該ルールレシピに記載された小集合を取得する。そして、当該小集合のユーザ小集合と権限小集合を、ルールレシピにある通りの組み合わせで処理し、アクセス制御ルールを合成し、ルール情報格納部７３２に保存する。同じルール識別子のルールレシピから生成されたアクセス制御ルールについては、上書き保存する。ルールレシピから生成されたアクセス制御ルールが無効なルールであるものについては、ルール情報格納部７３２から同じルール識別子を持つアクセス制御ルールを削除する。
【０１４７】
（７）ステップＳ１５１３
アクセス制御装置７３０は、ルール情報格納部７３２を参照してアクセス制御ルールを取得し、アクセス権制御部７３３に対して設定する。
【０１４８】
本実施形態によれば、ユーザ集合および権限集合において、重複するユーザと権限とをユーザ小集合と権限小集合として切り出して、複数のユーザ小集合と権限小集合を生成する。また、アクセス制御ポリシーを小集合間のルールレシピに作り替えることによって、ユーザ小集合と権限小集合とルールレシピとに基づいてアクセス制御ルール（ＡＣＬ）を生成する。これにより、従来通りのロールを用いたアクセス制御ポリシーを定義するだけで、多量のアクセス制御ルールを生成する際にも、ルールの重複を防止し、ルールの配付量や配付時間を削減することが可能となる。
【０１４９】
また、本実施形態は、企業の業務システムやクラウド環境上のテナントなどの、ロールに基づくアクセス制御を行うＩＴシステムに適用できる。そして、従来と同じ、ユーザ管理装置で一元管理されたロール情報を含むユーザ情報と、ポリシー管理装置で一元管理されたロールベースのアクセス制御ポリシーに基づいて、複数のアクセス制御装置に対し、少ない配付容量や配付時間で、内容の重複を省いたアクセス制御ルールを配付する。これにより、ネットワーク帯域消費やメンテナンス時間などのアクセス制御設定作業の本来の業務やサービス等への影響を最小限に抑えた、アクセス制御システムを提供できる。
【０１５０】
すなわち、クラウドコンピューティング環境のアクセス制御システムについて、管理装置の管理情報格納部で一元管理されたアクセス制御ポリシーに基づいて、組み合わせて利用される全ての管理対象装置や処理実施部に対し、一括して、分かりやすい粒度で、ポリシー同士の衝突を起すことなく、アクセス制御を実現する技術方式を提供できる。
【０１５１】
［第３実施形態］
次に、本発明の第３実施形態に係る情報処理装置としてのアクセス制御ルールを生成するサーバについて説明する。本実施形態に係るアクセス制御ルール生成サーバは、上記第２実施形態と比べると、１つの装置でアクセス制御ルールを生成する点で異なる。その他の構成要素およびその動作は、第２実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
【０１５２】
《アクセス制御ルール生成サーバ》
図２７は、本実施形態に係る情報処理装置としてアクセス制御ルール生成サーバ２７００の機能構成を示すブロック図である。なお、図２７の構成要素において図７Ａと同様の機能を果たす要素には同じ参照番号を付して、説明を省略する。
【０１５３】
ポリシー情報取得部２７１１およびユーザ情報取得部２７２１はアクセス制御情報取得部を構成し、外部装置から有線あるいは無線でポリシー情報およびユーザ情報を取得する（受信する）。また、アクセス制御ルール配布部２７３３は、ルール生成部７３１が生成したアクセス制御ルールを、アクセス制御を行なうべき外部装置に配布する（送信する）。
【０１５４】
なお、ルール情報格納部７３２は、第２実施形態のように、受信したユーザ小集合や権限小集合、あるいはルールレシピを格納することは必須ではない。
【０１５５】
本実施形態によれば、大がかりなシステム構成無しに、独立したアクセス制御ルール生成サーバによって、従来通りのロールを用いたアクセス制御ポリシーを定義するだけで、多量のアクセス制御ルールを生成する際にも、ルールの重複を防止し、ルールの配付量や配付時間を削減することができる。
【０１５６】
［他の実施形態］
本実施形態においては、複数の装置からなるシステムと、１つの装置とによるアクセス制御ルールの生成を示したが、システムをどのような数の装置から構成するか、あるいは、各機能構成部をシステム内にどのように配置するかは、本実施形態の構成に限定されるものではない。ルールの配付量や配付時間などを考慮して、最適な配置が選択される。
【０１５７】
また、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。また、それぞれの実施形態に含まれる別々の特徴を如何様に組み合わせたシステムまたは装置も、本発明の範疇に含まれる。
【０１５８】
また、本発明は、複数の機器から構成されるシステムに適用されてもよいし、単体の装置に適用されてもよい。さらに、本発明は、実施形態の機能を実現する情報処理プログラムが、システムあるいは装置に直接あるいは遠隔から供給される場合にも適用可能である。したがって、本発明の機能をコンピュータで実現するために、コンピュータにインストールされるプログラム、あるいはそのプログラムを格納した媒体、そのプログラムをダウンロードさせるＷＷＷ(World Wide Web)サーバも、本発明の範疇に含まれる。特に、少なくとも、上述した実施形態に含まれる処理ステップをコンピュータに実行させるプログラムを格納した非一時的コンピュータ可読媒体（non-transitory computer readable medium）は本発明の範疇に含まれる。
【０１５９】
［実施形態の他の表現］
上記の実施形態の一部または全部は、以下の付記のようにも記載されうるが、以下には限られない。
（付記１）
ユーザが所属することで同じ権限集合が付与されるロールと、ロールに付与されるための権限集合と、前記ロールと前記権限集合との組み合わせを表わすアクセス制御ポリシーと、を格納するアクセス制御情報格納手段と、
複数の前記ロールに重複して所属するユーザを新たなユーザ小集合として切り分けることによって、ユーザが重複して所属しない複数のユーザ小集合を生成し、複数の前記権限集合に重複して含まれる権限を新たな権限小集合として切り分けることによって、権限が重複して含まれない複数の権限小集合を生成する小集合生成手段と、
前記アクセス制御ポリシーから、前記ユーザ小集合と前記権限小集合との組み合わせを表わすルールレシピを生成するルールレシピ生成手段と、
前記ユーザ小集合および前記権限小集合と、前記ルールレシピとに基づいて、各ユーザと各権限との関係で表わされるアクセス権を示すアクセス制御ルールを生成するアクセス制御ルール生成手段と、
前記アクセス制御ルールに基づいて、それぞれの前記アクセス権を制御する複数のアクセス権制御手段と、
を備えるアクセス制御システム。
（付記２）
前記小集合生成手段は、ユーザ要素を含まない前記ユーザ小集合および権限要素を含まない前記権限小集合を空集合とし、前記アクセス制御ルール生成手段は前記空集合に対応するアクセス制御ルールを無効なルールとする付記１に記載のアクセス制御システム。
（付記３）
前記ロールが階層関係を有し、第１ロールが第２ロールを包含する場合に、
前記第１ロールのみに所属するユーザ小集合は空集合となり、
前記第２ロールのみへの権限小集合は空集合となる、付記１または２に記載のアクセス制御システム。
（付記４）
第２ロールが第１ロールを継承する場合に、
前記第２ロールのみに所属するユーザ小集合は空集合となり、
前記第１ロールのみへの権限小集合は空集合となる、付記１または２に記載のアクセス制御システム。
（付記５）
前記ロールと、前記権限と、前記アクセス制御ポリシーとの少なくともいずれかの変化があるか否か判定する変化判定手段をさらに備え、
前記小集合生成手段および前記ルールレシピ生成手段の少なくともいずれかが、前記変化判定手段による変化の判定結果に応じて、前記ユーザ小集合、前記権限小集合および前記ルールレシピの少なくともいずれかを再度、生成する付記１乃至４のいずれか１項に記載のアクセス制御システム。
（付記６）
前記変化判定手段が前記ロールの変化があると判定した場合には、前記小集合生成手段および前記ルールレシピ生成手段が前記ユーザ小集合、前記権限小集合および前記ルールレシピを、再度、生成する付記５に記載のアクセス制御システム。
（付記７）
前記変化判定手段が前記ユーザと前記ロールとの関係の変化があると判定した場合には、前記小集合生成手段が前記ユーザ小集合を、再度、生成する付記５に記載のアクセス制御システム。
（付記８）
前記変化判定手段が前記ロールと前記権限との関係の変化があると判定した場合には、前記小集合生成手段が前記権限小集合を、再度、生成する付記５に記載のアクセス制御システム。
（付記９）
同じ権限集合が付与されるユーザ集合をそれぞれ示す複数のロールに重複して所属するユーザを新たなユーザ小集合として切り分けることによって、ユーザが重複して所属しない複数のユーザ小集合を生成し、ロールに付与されるための複数の権限集合に重複して含まれる権限を新たな権限小集合として切り分けることによって、権限が重複して含まれない複数の権限小集合を生成する小集合生成ステップと、
前記ロールと前記権限集合との組み合わせを表わすアクセス制御ポリシーから、前記ユーザ小集合と前記権限小集合との組み合わせを表わすルールレシピを生成するルールレシピ生成ステップと、
前記ユーザ小集合および前記権限小集合と、前記ルールレシピとに基づいて、各ユーザと各権限との関係で表わされるアクセス権を示すアクセス制御ルールを生成するアクセス制御ルール生成ステップと、
を含むアクセス制御ルール生成方法。
（付記１０）
同じ権限集合が付与されるユーザ集合をそれぞれ示す複数のロールに重複して所属するユーザを新たなユーザ小集合として切り分けることによって、ユーザが重複して所属しない複数のユーザ小集合を生成し、ロールに付与されるための複数の権限集合に重複して含まれる権限を新たな権限小集合として切り分けることによって、権限が重複して含まれない複数の権限小集合を生成する小集合生成ステップと、
前記ロールと前記権限集合との組み合わせを表わすアクセス制御ポリシーから、前記ユーザ小集合と前記権限小集合との組み合わせを表わすルールレシピを生成するルールレシピ生成ステップと、
前記ユーザ小集合および前記権限小集合と、前記ルールレシピとに基づいて、各ユーザと各権限との関係で表わされるアクセス権を示すアクセス制御ルールを生成するアクセス制御ルール生成ステップと、
をコンピュータに実行させるアクセス制御ルール生成プログラム。
（付記１１）
ユーザが所属することで同じ権限集合が付与されるロールと、ロールに付与されるための権限集合と、前記ロールと前記権限集合との組み合わせを表わすアクセス制御ポリシーと、を取得するアクセス制御情報取得手段と、
複数の前記ロールに重複して所属するユーザを新たなユーザ小集合として切り分けることによって、ユーザが重複して所属しない複数のユーザ小集合を生成し、複数の前記権限集合に重複して含まれる権限を新たな権限小集合として切り分けることによって、権限が重複して含まれない複数の権限小集合を生成する小集合生成手段と、
前記アクセス制御ポリシーから、前記ユーザ小集合と前記権限小集合との組み合わせを表わすルールレシピを生成するルールレシピ生成手段と、
前記ユーザ小集合および前記権限小集合と、前記ルールレシピとに基づいて、各ユーザと各権限との関係で表わされるアクセス権を示すアクセス制御ルールを生成するアクセス制御ルール生成手段と、
前記アクセス制御ルールをアクセス権を制御すべき装置に配布するアクセス制御ルール配布手段と、
を備える情報処理装置。
（付記１２）
ユーザが所属することで同じ権限集合が付与されるロールと、ロールに付与されるための権限集合と、前記ロールと前記権限集合との組み合わせを表わすアクセス制御ポリシーと、を取得するアクセス制御情報取得ステップと、
複数の前記ロールに重複して所属するユーザを新たなユーザ小集合として切り分けることによって、ユーザが重複して所属しない複数のユーザ小集合を生成し、複数の前記権限集合に重複して含まれる権限を新たな権限小集合として切り分けることによって、権限が重複して含まれない複数の権限小集合を生成する小集合生成ステップと、
前記アクセス制御ポリシーから、前記ユーザ小集合と前記権限小集合との組み合わせを表わすルールレシピを生成するルールレシピ生成ステップと、
前記ユーザ小集合および前記権限小集合と、前記ルールレシピとに基づいて、各ユーザと各権限との関係で表わされるアクセス権を示すアクセス制御ルールを生成するアクセス制御ルール生成ステップと、
前記アクセス制御ルールをアクセス権を制御すべき装置に配布するアクセス制御ルール配布ステップと、
を含む情報処理装置の制御方法。
（付記１３）
ユーザが所属することで同じ権限集合が付与されるロールと、ロールに付与されるための権限集合と、前記ロールと前記権限集合との組み合わせを表わすアクセス制御ポリシーと、を取得するアクセス制御情報取得ステップと、
複数の前記ロールに重複して所属するユーザを新たなユーザ小集合として切り分けることによって、ユーザが重複して所属しない複数のユーザ小集合を生成し、複数の前記権限集合に重複して含まれる権限を新たな権限小集合として切り分けることによって、権限が重複して含まれない複数の権限小集合を生成する小集合生成ステップと、
前記アクセス制御ポリシーから、前記ユーザ小集合と前記権限小集合との組み合わせを表わすルールレシピを生成するルールレシピ生成ステップと、
前記ユーザ小集合および前記権限小集合と、前記ルールレシピとに基づいて、各ユーザと各権限との関係で表わされるアクセス権を示すアクセス制御ルールを生成するアクセス制御ルール生成ステップと、
前記アクセス制御ルールをアクセス権を制御すべき装置に配布するアクセス制御ルール配布ステップと、
をコンピュータに実行させる情報処理装置の制御プログラム。
【図１】
2015121906.tif 000003
【図２】
2015121906.tif 000004
【図３】
2015121906.tif 000005
【図４Ａ】
2015121906.tif 000006
【図４Ｂ】
2015121906.tif 000007
【図４Ｃ】
2015121906.tif 000008
【図４Ｄ】
2015121906.tif 000009
【図５Ａ】
2015121906.tif 000010
【図５Ｂ】
2015121906.tif 000011
【図６Ａ】
2015121906.tif 000012
【図６Ｂ】
2015121906.tif 000013
【図７Ａ】
2015121906.tif 000014
【図７Ｂ】
2015121906.tif 000015
【図８】
2015121906.tif 000016
【図９Ａ】
2015121906.tif 000017
【図９Ｂ】
2015121906.tif 000018
【図９Ｃ】
2015121906.tif 000019
【図１０】
2015121906.tif 000020
【図１１】
2015121906.tif 000021
【図１２】
2015121906.tif 000022
【図１３】
2015121906.tif 000023
【図１４Ａ】
2015121906.tif 000024
【図１４Ｂ】
2015121906.tif 000025
【図１５】
2015121906.tif 000026
【図１６】
2015121906.tif 000027
【図１７】
2015121906.tif 000028
【図１８】
2015121906.tif 000029
【図１９】
2015121906.tif 000030
【図２０】
2015121906.tif 000031
【図２１】
2015121906.tif 000032
【図２２】
2015121906.tif 000033
【図２３】
2015121906.tif 000034
【図２４】
2015121906.tif 000035
【図２５】
2015121906.tif 000036
【図２６】
2015121906.tif 000037
【図２７】
2015121906.tif 000038