(57)【要約】  順序制約解決手段は、ロールについて抽出された順序制約のある権限可否の集合から、順序制約のない権限可否の集合を一時記憶手段に生成する。その際、順序制約解決手段は、順序制約のある権限可否の集合から順序制約を満たす順序に従って権限可否を取り出し、この取り出した権限可否のオブジェクトが一時記憶手段に既に生成済みの同じアクションを持つ権限可否のオブジェクトを包含し、且つ両者の可否識別子が相違する場合、今回取り出した権限可否を、その包含するオブジェクトと同じ粒度のオブジェクトを持つ複数の権限可否に分割し、包含するオブジェクトと相違するオブジェクトを持つ権限可否だけを一時記憶手段に記憶する。
2012039081.tif 000002
【特許請求の範囲】
【請求項１】
オブジェクトとアクションと前記オブジェクトに対して前記アクションを許可或いは拒否するかを示す可否識別子との組を権限可否と定義するとき、ロールに対応して、順序制約のある権限可否の集合を記憶するポリシー格納手段と、  ロールと前記ロールに属するサブジェクトとの関係に関する情報を記憶するサブジェクト割当格納手段と、  オブジェクト間の包含関係に関する情報を記憶するオブジェクト階層格納手段と、  一時記憶手段と、  ロールに対応して、前記ポリシー格納手段から、順序制約のある権限可否の集合を処理対象集合として抽出する処理対象集合抽出手段と、  ロールに対応して、前記ロールについて抽出された前記処理対象集合から、順序制約のない権限可否の集合を前記一時記憶手段に生成する順序制約解決手段であって、  ロールに対応する前記処理対象集合から順序制約を満たす順序に従って権限可否を取り出して、該取り出した権限可否を処理対象権限可否とし、  前記処理対象権限可否のオブジェクトが前記一時記憶手段に既に生成済みの同じアクションを持つ権限可否のオブジェクトを包含し、且つ両者の可否識別子が相違する場合、前記処理対象権限可否を、前記包含するオブジェクトと同じ粒度のオブジェクトを持つ複数の権限可否に分割し、  該分割して得られた複数の権限可否のうち、前記包含するオブジェクトと相違するオブジェクトを持つ権限可否を前記一時記憶手段に記憶する順序制約解決手段と、  サブジェクトとオブジェクトとアクションと前記サブジェクトに対して前記オブジェクトに対する前記アクションを許可或いは拒否するかを示す可否識別子との組をアクセス権可否と定義するとき、前記ロールについて生成された順序制約のない権限可否の集合と、前記ロールと前記サブジェクトとの関係に関する前記情報とから、前記サブジェクトに対応するアクセス権可否の集合を生成するアクセス権可否生成手段とを備えることを特徴とするアクセス権可否生成装置。
【請求項２】
ロール間の継承関係に関する情報を記憶するロール階層格納手段を備え、  前記処理対象集合抽出手段は、前記ロールに対応して前記ポリシー格納手段に記憶されている順序制約のある権限可否の集合と、前記ロール間の継承関係で示される前記ロールの継承元ロールに対応して前記ポリシー格納手段に記憶されている順序制約のある権限可否の集合とを抽出して結合し、順序制約のある権限可否の集合である処理対象集合を生成することを特徴とする請求項１に記載のアクセス権可否生成装置。
【請求項３】
前記順序制約解決手段は、前記一時記憶手段に記憶されている同じアクションを持つ権限可否のオブジェクトに包含されているオブジェクトを持つ前記処理対象権限可否は、廃棄することを特徴とする請求項１または２に記載のアクセス権可否生成装置。
【請求項４】
前記オブジェクトとアクションとの関係に関する情報を記憶するアクション階層格納手段を備え、  前記順序制約解決手段は、  前記処理対象権限可否のアクションが、前記処理対象権限可否のオブジェクトの粒度に対応していない場合、前記処理対象権限可否を、前記アクションに対応する粒度の小さなオブジェクトを持つ複数の処理対象権限可否に分割して処理することを特徴とする請求項１乃至３の何れかに記載のアクセス権可否生成装置。
【請求項５】
前記順序制約解決手段は、前記処理対象権限可否のオブジェクトが前記一時記憶手段に記憶されている同じアクションを持つ権限可否のオブジェクトを包含し、且つ両者の可否識別子が一致する場合、前記処理対象権限可否を前記一時記憶手段に記憶すると共に、前記一時記憶手段に記憶されている前記同じアクション、同じ可否識別子を持つ前記権限可否を削除することを特徴とする請求項１乃至４の何れかに記載のアクセス権可否生成装置。
【請求項６】
アクセス権可否生成手段は、サブジェクトとオブジェクトと可否識別子とが同じで、アクションが相違する複数のアクセス権可否を１つのアクセス権可否に統合することを特徴とする請求項１乃至５の何れかに記載のアクセス権可否生成装置。
【請求項７】
請求項１乃至６の何れかに記載のアクセス権可否生成装置と、  前記アクセス権可否生成装置で生成されたアクセス権可否を記憶し、該記憶したアクセス権可否に基づいてアクセス制御を行うアクセス制御実施手段とを備えることを特徴とするアクセス制御システム。
【請求項８】
オブジェクトとアクションと前記オブジェクトに対して前記アクションを許可或いは拒否するかを示す可否識別子との組を権限可否と定義するとき、ロールに対応して、順序制約のある権限可否の集合を記憶するポリシー格納手段と、ロールと前記ロールに属するサブジェクトとの関係に関する情報を記憶するサブジェクト割当格納手段と、オブジェクト間の包含関係に関する情報を記憶するオブジェクト階層格納手段と、一時記憶手段と、処理対象集合抽出手段と、順序制約解決手段と、アクセス権可否生成手段とを有するアクセス権可否生成装置が実行するアクセス権可否生成方法であって、  前記処理対象集合抽出手段が、ロールに対応して、前記ポリシー格納手段から、順序制約のある権限可否の集合を処理対象集合として抽出し、  前記順序制約解決手段が、ロールに対応して、前記ロールについて抽出された前記処理対象集合から、順序制約のない権限可否の集合を前記一時記憶手段に生成し、  前記アクセス権可否生成手段が、サブジェクトとオブジェクトとアクションと前記サブジェクトに対して前記オブジェクトに対する前記アクションを許可或いは拒否するかを示す可否識別子との組をアクセス権可否と定義するとき、前記ロールについて生成された順序制約のない権限可否の集合と、前記ロールと前記サブジェクトとの関係に関する前記情報とから、前記サブジェクトに対応するアクセス権可否の集合を生成し、  前記順序制約のない権限可否の集合の生成では、  ロールに対応する前記処理対象集合から順序制約を満たす順序に従って権限可否を取り出して、該取り出した権限可否を処理対象権限可否とし、  前記処理対象権限可否のオブジェクトが前記一時記憶手段に既に生成済みの同じアクションを持つ権限可否のオブジェクトを包含し、且つ両者の可否識別子が相違する場合、前記処理対象権限可否を、前記包含するオブジェクトと同じ粒度のオブジェクトを持つ複数の権限可否に分割し、  該分割して得られた複数の権限可否のうち、前記包含するオブジェクトと相違するオブジェクトを持つ権限可否を前記一時記憶手段に記憶することを特徴とするアクセス権可否生成方法。
【請求項９】
オブジェクトとアクションと前記オブジェクトに対して前記アクションを許可或いは拒否するかを示す可否識別子との組を権限可否と定義するとき、ロールに対応して、順序制約のある権限可否の集合を記憶するポリシー格納手段と、ロールと前記ロールに属するサブジェクトとの関係に関する情報を記憶するサブジェクト割当格納手段と、オブジェクト間の包含関係に関する情報を記憶するオブジェクト階層格納手段と、一時記憶手段とを有するコンピュータを、  ロールに対応して、前記ポリシー格納手段から、順序制約のある権限可否の集合を処理対象集合として抽出する処理対象集合抽出手段と、  ロールに対応して、前記ロールについて抽出された前記処理対象集合から、順序制約のない権限可否の集合を前記一時記憶手段に生成する順序制約解決手段であって、  ロールに対応する前記処理対象集合から順序制約を満たす順序に従って権限可否を取り出して、該取り出した権限可否を処理対象権限可否とし、  前記処理対象権限可否のオブジェクトが前記一時記憶手段に既に生成済みの同じアクションを持つ権限可否のオブジェクトを包含し、且つ両者の可否識別子が相違する場合、前記処理対象権限可否を、前記包含するオブジェクトと同じ粒度のオブジェクトを持つ複数の権限可否に分割し、  該分割して得られた複数の権限可否のうち、前記包含するオブジェクトと相違するオブジェクトを持つ権限可否を前記一時記憶手段に記憶する順序制約解決手段と、  サブジェクトとオブジェクトとアクションと前記サブジェクトに対して前記オブジェクトに対する前記アクションを許可或いは拒否するかを示す可否識別子との組をアクセス権可否と定義するとき、前記ロールについて生成された順序制約のない権限可否の集合と、前記ロールと前記サブジェクトとの関係に関する前記情報とから、前記サブジェクトに対応するアクセス権可否の集合を生成するアクセス権可否生成手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、コンピュータのアクセス制御に使用するアクセス権可否を生成する装置、および生成されたアクセス権可否を使用してアクセス制御を行うコンピュータに関する。
【背景技術】
【０００２】  コンピュータでは、不正なアクセスを防止するために、アクセス権可否を用いたアクセス制御が行われている。アクセス権可否は、アクセスの主体としてのサブジェクトと、アクセスの対象としてのオブジェクトと、アクセスの種類としてのアクションと、上記サブジェクトに対して上記オブジェクトに対する上記アクションを許可或いは拒否するかを示す可否識別子との組で構成される。【０００３】  サブジェクトの数が多いコンピュータでは、アクセス制御に必要なアクセス権可否の数が膨大になる。このため、ロールという概念を使用して、アクセス権可否を効率良く作成する手法が提案されている（例えば特許文献１の図２０参照）。この手法では、サブジェクトを特定しない形式で、特定のオブジェクトに対する特定のアクションの許可或いは拒否の情報を権限可否として記述する。また、１以上の権限可否をグループ化して、ロールという識別子を付与する。他方、ロールとサブジェクトとの関係は別途に管理する。そして、コンピュータの管理者等の利用者は、ロール毎に、オブジェクトとアクションと上記オブジェクトに対する上記アクションを許可或いは拒否するかを示す可否識別子の組から構成される権限可否を生成する。生成システム側では、ロール毎に生成された権限可否をそのロールに属する各サブジェクトに展開することにより、各サブジェクト毎のアクセス権可否を生成する。【０００４】  例えば、オブジェクトとして、テーブルＴ１からテーブルＴｎまでのｎ個のテーブルがあるものとする。また、或るロールＲ１にサブジェクトＳ１とサブジェクトＳ２とが属しているものとする。このとき、サブジェクトＳ１、Ｓ２に対してテーブルＴ１への書き込みを許可するアクセス権可否を自動生成する場合、利用者は、ロールＲ１に対応付けて、テーブルＴ１への書き込みを許可する旨の権限可否Ｐを作成する。生成システムでは、この権限可否Ｐが入力されると、ロールＲ１にサブジェクトＳ１、Ｓ２が属することを判定し、サブジェクトＳ１に対してテーブルＴ１への書き込みを許可するアクセス権可否と、サブジェクトＳ２に対してテーブルＴ１への書き込みを許可するアクセス権可否とを生成する。これにより、利用者は、個々のサブジェクト毎に許可可能なアクションを規定した多くのアクセス権可否を記述する必要がなくなり、負担が軽減される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１１−３１３１０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】  ところで、アクセス制御の対象となるオブジェクトが階層化されている場合、権限可否を効率的に記述する手法として、オブジェクト階層における包含関係を利用して、より上位のオブジェクトを対象として権限可否を記述する手法がある。例えば、上述したｎ個のテーブルＴ１〜Ｔｎを包含する上位階層のオブジェクトとして、データベースＤＢがあるとする。このとき、上記手法によれば、全てのテーブルＴ１〜Ｔｎへの書き込みを許可する場合に、データベースＤＢへの書き込みを許可する権限可否を記述する。これにより、テーブルを対象にした場合にｎ個必要な権限可否が１つで済むことになる。【０００７】  但し、上記の手法では、下位階層の複数のオブジェクトのうち一部のオブジェクトだけ他のオブジェクトと権限可否を異ならせることはできない。そこで、上位階層のオブジェクトに対する権限可否と競合する別の権限可否を下位階層の一部のオブジェクトに対して記述し、後者の権限可否を前者の権限可否よりも優先的に適用するように制約を課す手法がある。或る権限可否を他の権限可否よりも優先的に適用しなければならないという制約を順序制約と呼ぶ。【０００８】  例えば、上述したｎ個のテーブルＴ１〜ＴｎのうちテーブルＴｎを除くｎ−１個のテーブルＴ１〜Ｔｎ−１に対して、ロールＲ１によるアクセスを許可する場合、以下のような２つの権限可否Ｐ１、Ｐ２を作成する。  権限可否Ｐ１（優先順位１）：ロールＲ１に対応し、テーブルＴｎへの書き込みを禁止する旨の権限可否  権限可否Ｐ２（優先順位２）：ロールＲ１に対応し、データベースＤＢへの書き込みを許可する旨の権限可否【０００９】  上記２つの権限可否Ｐ１、Ｐ２は、テーブルＴｎへの書き込みに関し、一方は禁止し、他方は許可することを示しているため、互いに競合している。しかし、順序制約があるため、テーブルＴｎへの書き込みに関しては、優先順位のより高い権限可否Ｐ１が適用される。従って、ロールＲ１に所属するサブジェクトＳ１、Ｓ２は、テーブルＴｎへの書き込みが禁止される。他方、テーブルＴ１〜Ｔｎ―１への書き込みに関しては、権限可否Ｐ２が適用されるため、ロールＲ１に所属するサブジェクトＳ１、Ｓ２は、テーブルＴ１〜Ｔｎ―１への書き込みが許可される。【００１０】  上述したようにオブジェクトの包含関係と順序制約とを使用して権限可否を記述することで、必要な権限可否の数を削減でき、利用者の負担を軽減することができる。しかしながら、特許文献１に記載の技術は、オブジェクトの包含関係と順序制約とを使用して記述された権限可否には対応していない。このため、上述した例のような順序制約のある権限可否Ｐ１、Ｐ２を特許文献１に記載の技術で処理すると、競合のあるアクセス権可否が生成されてしまうことになる。すなわち、権限可否Ｐ１、Ｐ２を処理すると、サブジェクトＳ１、Ｓ２に対して、データベースＤＢへの書き込みを許可するアクセス権可否と、それと競合する、テーブルＴｎへの書き込みを禁止するアクセス権可否とが生成されてしまう。【００１１】  アクセス権可否を用いたアクセス制御を行うコンピュータの中には、競合するアクセス権可否を処理できないコンピュータや、処理できるにしても処理の仕方が他の��ンピュータと異なるコンピュータが存在する。このため、全てのコンピュータで正確なアクセス制御が行われることを保証するためには、競合のないアクセス権可否を作成する必要がある。【００１２】  本発明の目的は、上述した課題、すなわちオブジェクトの包含関係と順序制約とを使用して記述された権限可否からは、競合するアクセス権可否が生成されてしまう、という課題を解決するアクセス権可否生成装置を提供することにある。
【課題を解決するための手段】
【００１３】  本発明の一形態にかかるアクセス権可否生成装置は、  オブジェクトとアクションと上記オブジェクトに対して上記アクションを許可或いは拒否するかを示す可否識別子との組を権限可否と定義するとき、ロールに対応して、順序制約のある権限可否の集合を記憶するポリシー格納手段と、  ロールと上記ロールに属するサブジェクトとの関係に関する情報を記憶するサブジェクト割当格納手段と、  オブジェクト間の包含関係に関する情報を記憶するオブジェクト階層格納手段と、  一時記憶手段と、  ロールに対応して、上記ポリシー格納手段から、順序制約のある権限可否の集合を処理対象集合として抽出する処理対象集合抽出手段と、  ロールに対応して、上記ロールについて抽出された上記処理対象集合から、順序制約のない権限可否の集合を上記一時記憶手段に生成する順序制約解決手段であって、  ロールに対応する上記処理対象集合から順序制約を満たす順序に従って権限可否を取り出して、該取り出した権限可否を処理対象権限可否とし、  上記処理対象権限可否のオブジェクトが上記一時記憶手段に既に生成済みの同じアクションを持つ権限可否のオブジェクトを包含し、且つ両者の可否識別子が相違する場合、上記処理対象権限可否を、上記包含するオブジェクトと同じ粒度のオブジェクトを持つ複数の権限可否に分割し、  該分割して得られた複数の権限可否のうち、上記包含するオブジェクトと相違するオブジェクトを持つ権限可否を上記一時記憶手段に記憶する順序制約解決手段と、  サブジェクトとオブジェクトとアクションと上記サブジェクトに対して上記オブジェクトに対する上記アクションを許可或いは拒否するかを示す可否識別子との組をアクセス権可否と定義するとき、上記ロールについて生成された順序制約のない権限可否の集合と、上記ロールと上記サブジェクトとの関係に関する上記情報とから、上記サブジェクトに対応するアクセス権可否の集合を生成するアクセス権可否生成手段とを備える。
【発明の効果】
【００１４】  本発明は上述したように構成されているため、順序制約のある複数の権限可否の間にオブジェクト階層に跨った競合が存在していても、その競合の形態が、より優先順位の低い権限可否のオブジェクトがより優先順位の高い権限可否のオブジェクトを包含しているという形態であるならば、順序制約のある複数の権限可否と等価な、競合のないアクセス権可否を生成することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の第１の実施形態のブロック図である。
【図２】本発明の第２の実施形態のブロック図である。
【図３Ａ】本発明の第２の実施形態におけるポリシー解釈手段の動作を示すフローチャートである。
【図３Ｂ】本発明の第２の実施形態におけるポリシー解釈手段の動作を示すフローチャートである。
【図４Ａ】本発明の第２の実施形態におけるポリシー格納手段が記憶するポリシーの一例を示す図である。
【図４Ｂ】本発明の第２の実施形態におけるポリシー格納手段が記憶するポリシーの一例を示す図である。
【図５Ａ】本発明の第２の実施形態におけるポリシー解釈手段が出力し，アクセス制御実施手段に入力されるアクセス権可否の一例を示す図である。
【図５Ｂ】本発明の第２の実施形態におけるポリシー解釈手段が出力し，アクセス制御実施手段に入力されるアクセス権可否の一例を示す図である。
【図５Ｃ】本発明の第２の実施形態におけるポリシー解釈手段が出力し，アクセス制御実施手段に入力されるアクセス権可否の一例を示す図である。
【図５Ｄ】本発明の第２の実施形態におけるポリシー解釈手段が出力し，アクセス制御実施手段に入力されるアクセス権可否の一例を示す図である。
【図５Ｅ】本発明の第２の実施形態におけるポリシー解釈手段が出力し，アクセス制御実施手段に入力されるアクセス権可否の一例を示す図である。
【図５Ｆ】本発明の第２の実施形態におけるポリシー解釈手段が出力し，アクセス制御実施手段に入力されるアクセス権可否の一例を示す図である。
【図５Ｇ】本発明の第２の実施形態におけるポリシー解釈手段が出力し，アクセス制御実施手段に入力されるアクセス権可否の一例を示す図である。
【図５Ｈ】本発明の第２の実施形態におけるポリシー解釈手段が出力し，アクセス制御実施手段に入力されるアクセス権可否の一例を示す図である。
【図６】本発明の第２の実施形態におけるサブジェクト割当格納手段が記憶するサブジェクト割当の一例を示す図である。
【図７】本発明の第２の実施形態におけるロール階層格納手段が記憶するロール階層の一例を示す図である。
【図８】本発明の第２の実施形態におけるアクション階層格納手段が記憶するオブジェクトとしてデータベースを扱う場合におけるアクション階層の一例を示す図である。
【図９】本発明の第２の実施形態におけるオブジェクト階層格納手段が記憶するオブジェクト階層の一例を示す図である。
【図１０】本発明の第２の実施形態の概略動作を示すフローチャートである．
【発明を実施するための形態】
【００１６】  次に本発明の実施の形態について図面を参照して詳細に説明する。[第１の実施形態]  図１を参照すると、本発明の第１の実施形態にかかるアクセス権可否生成装置は、ポリシー解釈手段１、サブジェクト割当格納手段３、ポリシー格納手段５、オブジェクト階層格納手段７、一時記憶手段８、およびアクセス権可否格納手段９を備えている。
【００１７】  ポリシー格納手段５は、ロールに対応して、順序制約のある権限可否の集合を記憶する。ここで、権限可否は、オブジェクトとアクションと上記オブジェクトに対して上記アクションを許可或いは拒否するかを示す可否識別子との組である。
【００１８】  オブジェクト階層格納手段７は、オブジェクト間の包含関係に関する情報を記憶する。一時記憶手段８は、ポリシー解釈手段１の処理過程の情報を記憶する。サブジェクト割当格納手段３は、ロールとこのロールに属するサブジェクトとの関係に関する情報を記憶する。アクセス権可否格納手段９は、生成されたアクセス権可否を記憶する。ここで、アクセス権可否は、サブジェクトとオブジェクトとアクションと上記サブジェクトに対して上記オブジェクトに対する上記アクションを許可或いは拒否するかを示す可否識別子との組である。
【００１９】  ポリシー解釈手段１は、順序制約のある権限可否の集合から、順序制約のないアクセス権可否を生成する機能を有する。ポリシー解釈手段１は、処理対象集合抽出手段１０１と、順序制約解決手段１０２と、アクセス権可否生成手段１０３とを有する。
【００２０】  処理対象集合抽出手段１０１は、ロール毎に、ポリシー格納手段５から、順序制約のある権限可否の集合を処理対象集合として抽出する。
【００２１】  順序制約解決手段１０２は、ロール毎に、ロールについて抽出された上記処理対象集合から、順序制約のない権限可否の集合を一時記憶手段８に生成する機能を有する。
【００２２】  具体的には、順序制約解決手段１０２は、ロールに対応する処理対象集合から順序制約を満たす順序に従って権限可否を処理対象権限可否として取り出す機能を有する。
【００２３】  また、順序制約解決手段１０２は、上記取り出した処理対象権限可否のオブジェクトが一時記憶手段８に既に生成済みの同じアクションを持つ権限可否のオブジェクトを包含し、且つ両者の可否識別子が相違する場合、上記処理対象権限可否を、上記包含するオブジェクトと同じ粒度のオブジェクトを持つ複数の権限可否に分割する機能を有する。ここで、順序制約解決手段１０２は、オブジェクト間の包含関係の判定およびオブジェクトの分割に際しては、オブジェクト階層格納手段７に記憶されているオブジェクト間の包含関係に関する情報に基づいて判定および分割を行う。
【００２４】  また、順序制約解決手段１０２は、上記分割して得られた複数の権限可否のうち、上記包含するオブジェクトと相違するオブジェクトを持つ権限可否を一時記憶手段８に記憶する機能を有する。
【００２５】  アクセス権可否生成手段１０３は、ロールについて生成された順序制約のない権限可否の集合と、サブジェクト割当格納手段３に記憶されたロールとサブジェクトとの関係に関する情報とから、サブジェクトに対応するアクセス権可否の集合を生成する機能を有する。
【００２６】  上記のポリシー解釈手段１は、例えば、マイクロプロセッサ等のプロセッサにより構成することができる。また上記のサブジェクト割当格納手段３、ポリシー格納手段５、オブジェクト階層格納手段７、一時記憶手段８、およびアクセス権可否格納手段９は、例えば、上記プロセッサに接続されたメモリで構成することができる。また上記メモリには、プログラムが記憶されている。このプログラムは、ポリシー解釈手段１を構成するプロセッサに読み取られ、そのプロセッサの動作を制御することにより、そのプロセッサ上に上記の処理対象集合抽出手段１０１、順序制約解決手段１０２、アクセス権可否生成手段１０３を実現する。上記プログラムは、プロセッサに接続されたメモリに記憶される以外に、コンピュータが読み取り可能な記録媒体、例えばフレキシブルディスク、光ディスク、光磁気ディスク、半導体メモリ等の可搬性を有する媒体に記憶されていてもよい。
【００２７】  次に本実施形態にかかるアクセス権可否生成装置の動作を説明する。
【００２８】  まず、ポリシー解釈手段１の処理対象集合抽出手段１０１は、ロール毎に、ポリシー格納手段５から、順序制約のある権限可否の集合を処理対象集合として抽出する。
【００２９】  次に、ポリシー解釈手段１の順序制約解決手段１０２は、ロールに対応する処理対象集合から順序制約のない権限可否の集合を生成し、一時記憶手段８に記憶する。より具体的には、順序制約解決手段１０２は、ロールに対応する処理対象集合から、順序制約を満たす順序に従って、権限可否を処理対象権限可否として一つずつ順番に取り出す。そして、順序制約解決手段１０２は、取り出した処理対象権限可否について、そのオブジェクトが一時記憶手段８に既に生成済みの同じアクションを持つ権限可否のオブジェクトを包含し、且つ両者の可否識別子が相違するならば、以下の処理を行う。まず、順序制約解決手段１０２は、その処理対象権限可否を、上記包含するオブジェクトと同じ粒度のオブジェクトを持つ複数の権限可否に分割する。次に、順序制約解決手段１０２は、上記分割して得られた複数の権限可否のうち、上記包含するオブジェクトと相違するオブジェクトを持つ権限可否を一時記憶手段８に記憶する。他方、順序制約解決手段１０２は、取り出した処理対象権限可否のオブジェクトが、一時記憶手段８に既に生成済みの同じアクションを持つ権限可否のオブジェクトに包含されていないか、包含されていても両者の可否識別子が同じであれば、取り出した処理対象権限可否を一時記憶手段８に記憶する。
【００３０】  アクセス権可否生成手段１０３は、ロールについて生成された順序制約のない権限可否の集合と、サブジェクト割当格納手段３に記憶されたロールとサブジェクトとの関係に関する情報とから、サブジェクトに対応するアクセス権可否の集合を生成する。
【００３１】  次に本実施形態にかかる動作を具体例を挙げて説明する。
【００３２】  例えば、ｎ個のテーブルＴ１〜ＴｎのうちテーブルＴｎを除くｎ−１個のテーブルＴ１〜Ｔｎ−１に対して、ロールＲ１によるアクセスを許可するために、以下のような２つの権限可否Ｐ１、Ｐ２がポリシー格納手段５に記憶されているものとする。  権限可否Ｐ１（優先順位１）：ロールＲ１に対応し、テーブルＴｎへの書き込みを禁止する旨の権限可否  権限可否Ｐ２（優先順位２）：ロールＲ１に対応し、データベースＤＢへの書き込みを許可する旨の権限可否
【００３３】  本実施形態にかかるアクセス権可否生成装置において、権限可否Ｐ１、Ｐ２を含む順序制約のある権限可否の集合が処理対象集合として抽出されると、順序制約解決手段１０２は、権限可否Ｐ１の方が権限可否Ｐ２よりも優先順位が高いので、権限可否Ｐ１を先に処理し、その結果生成した権限可否、例えば、ロールＲ１に対応し、テーブルＴｎへの書き込みを禁止する旨の権限可否を一時記憶手段８に記憶する。
【００３４】  次に順序制約解決手段１０２は、権限可否Ｐ２の処理を開始する。この権限可否Ｐ２の処理において順序制約解決手段１０２は、より優先順位の低い権限可否Ｐ２のオブジェクト（データベースＤＢ）がより優先順位の高い権限可否Ｐ１のオブジェクト（テーブルＴｎ）を包含しており、かつ同じアクションについて両者の可否識別子が相違していることを検出する。そして、順序制約解決手段１０２は、権限可否Ｐ２を、上記包含するオブジェクト（テーブルＴｎ）と同じ粒度のオブジェクト（テーブルＴ１〜Ｔｎ）を持つ複数の権限可否に分割する。すなわち、権限可否Ｐ２を、テーブルＴ１への書き込みを許可する旨の権限可否、テーブルＴ２への書き込みを許可する旨の権限可否、…、テーブルＴｎへの書き込みを許可する旨の権限可否に分割する。そして、上記分割して得られた複数の権限可否のうち、上記包含するオブジェクト（テーブルＴｎ）と相違するオブジェクト（Ｔ１〜Ｔｎ―１）を持つ権限可否、すなわち、テーブルＴ１への書き込みを許可する旨の権限可否、テーブルＴ２への書き込みを許可する旨の権限可否、…、テーブルＴｎ−１への書き込みを許可する旨の権限可否を一時記憶手段８に記憶する。
【００３５】  これにより、一時記憶手段８には、上記順序制約のある権限可否Ｐ１、Ｐ２と等価な、順序制約のない権限可否、すなわち、ロールＲ１に対応し、テーブルＴｎへの書き込みを禁止する旨の権限可否と、テーブルＴ１〜Ｔｎ−１への書き込みを許可する旨の権限可否とが生成される。
【００３６】  その後、アクセス権可否生成手段１０３は、ロールＲ１について生成された順序制約のない権限可否の集合と、サブジェクト割当格納手段３に記憶されたロールＲ１とサブジェクトとの関係に関する情報とから、サブジェクトに対応するアクセス権可否の集合を生成する。
【００３７】  以上説明したように、本実施形態にかかるアクセス権可否生成装置によれば、順序制約のある複数の権限可否の間にオブジェクト階層に跨った競合が存在していても、その競合の形態が、より優先順位の低い権限可否のオブジェクトがより優先順位の高い権限可否のオブジェクトを包含しているという形態であるならば、順序制約のある複数の権限可否と等価な、競合のないアクセス権可否を生成することができる。
【００３８】  本実施形態にかかるアクセス権可否生成装置は、例えば、以下のような各種の付加変更が可能である。
【００３９】  例えば、ロール間の継承関係に関する情報を記憶するロール階層格納手段をさらに備え、処理対象集合抽出手段１０１は、ロールに対応してポリシー格納手段５に記憶されている順序制約のある権限可否の集合と、ロール間の継承関係で示される上記ロールの継承元ロールに対応してポリシー格納手段５に記憶されている順序制約のある権限可否の集合とを抽出して結合し、順序制約のある権限可否の集合である処理対象集合を生成するようにしてもよい。
【００４０】  また、順序制約解決手段１０２は、一時記憶手段８に記憶されている同じアクションを持つ権限可否のオブジェクトに包含されているオブジェクトを持つ処理対象権限可否は、廃棄するようにしてもよい。一時記憶手段８に記憶されている同じアクションを持つ権限可否のオブジェクトに包含されているオブジェクトを持つ処理対象権限可否は、一時記憶手段８に記憶されている同じアクションを持つ権限可否と競合している場合には廃棄する必要があり、競合していない場合でも権限可否の冗長さを解消するために廃棄することが望ましいためである。
【００４１】  また、前記オブジェクトとアクションとの関係に関する情報を記憶するアクション階層格納手段を備え、順序制約解決手段１０２は、処理対象権限可否のアクションが、処理対象権限可否のオブジェクトの粒度に対応していない場合、処理対象権限可否を、アクションに対応する粒度の小さなオブジェクトを持つ複数の処理対象権限可否に分割して処理するようにしてもよい。
【００４２】  また、順序制約解決手段１０２は、処理対象権限可否のオブジェクトが一時記憶手段８に記憶されている同じアクションを持つ権限可否のオブジェクトを包含し、且つ両者の可否識別子が一致する場合、権限可否の冗長さを解消するために、処理対象権限可否を一時記憶手段８に記憶すると共に、一時記憶手段８に記憶されている上記同じアクション、同じ可否識別子を持つ権限可否を削除するようにしてもよい。
【００４３】  また、アクセス権可否生成手段１０３は、アクセス権可否をコンパクトにするために、サブジェクトとオブジェクトと可否識別子とが同じで、アクションが相違する複数のアクセス権可否を１つのアクセス権可否に統合するようにしてもよい。
【００４４】[第２の実施形態]  次に、本発明の第２の実施形態について説明する。まず、本実施形態で用いる用語について説明する。
【００４５】  「アクセス権」は、特定のサブジェクト（ｓ）、オブジェクト（ｏ）、アクション（ａ）の組を意味する。
【００４６】  「アクセス権可否」は、特定のアクセス権と、アクセス権に対する許可あるいは拒否を示す識別子との組を意味する。アクセス制御実施機能に設定するアクセス権可否の集合において、順序制約のあるアクセス制御ポリシーと等価なアクセス制御の判定結果を確実に指定するには、順序制約や異なるオブジェクト階層に跨って競合が存在するようなアクセス権可否の集合は、あらかじめ順序制約やオブジェクト階層に跨った競合を無くしアクセス権可否同士が競合しないようにしておく必要がある。仮に、アクセス制御実施機能に設定するアクセス権可否の集合において、順序制約や異なるオブジェクト階層に跨って競合が存在する場合、個々のアクセス制御実施機能の判定方法の違いによってアクセス制御の判定結果が異なる。また、順序制約や異なるオブジェクト階層に跨った競合を処理できないアクセス制御実施機能も存在する。
【００４７】  「権限」は、特定のオブジェクト（ｏ）、アクション（ａ）の組を意味する。
【００４８】  「権限可否」は、特定の権限と、権限に対する許可あるいは拒否を示す識別子との組を意味する。したがって、アクセス権可否は、特定のサブジェクトと権限可否との組でもある。
【００４９】  「アクション可否」は、特定のアクションと、アクションに対する許可あるいは拒否を示す識別子との組を意味する。したがって権限可否は、特定のオブジェクトとアクション可否との組でもある。
【００５０】  「ロール」は、権限可否の集合に対して付与される識別子である。一般的には所属部署や役職、担当するプロジェクト、業務内容、作業項目などの名称が使用される。
【００５１】  「サブジェクト割当」は、ロールに対するサブジェクトの割当の定義である。記述形式としては、サブジェクトとロールとの組として記述する。各サブジェクトは、せいぜい1個のロールを持つ。一般的に、ロールを持たない(0個のロールを持つ)サブジェクトは、権限を持たない。対象となるアクセス制御実施機能が対応していれば、アクセス権のサブジェクトについて、サブジェクトを指定する代わりに、ロールを指定しても良い。しがたって、アクセス権可否の集合は、サブジェクトの集合と権限可否の集合との組、あるいは、ロールと権限可否の集合との組でもある。
【００５２】  「アクセス制御ルール」および「ルール」は、権限可否の集合を定義する記述である。
【００５３】  「アクセス制御ポリシー」および「ポリシー」は、ロールに対応する、順序制約を伴うアクセス制御ルールのリストである。
【００５４】  「ロール階層」は、組織構造などに基づくロールの階層関係を意味する。一般的に、ロール階層は多段階の階層を持つ木構造となる。例えば、ある企業「A株式会社」のロール階層は、1つの木構造となり、「A株式会社」を根とし、その配下に「総務部」と「経理部」を持ち、さらに「総務部」の配下に「秘書課」と「広報課」を持つ。
【００５５】  「ロール継承」および「継承」は、ロール階層に基づく継承関係を意味する。例えば、上記のロール階層における例では、「秘書課」ロールは「総務部」ロールを継承しており、「総務部」ロールは「A株式会社」ロールを継承している。ロールを継承することにより、継承先のロールは、継承元のロールの権限可否の集合を引き継ぐ。継承先の集合は、継承元の集合よりも優先度が高く、継承元の権限可否を継承先の権限可否で修正することが出来る。したがって、継承先のロールを持つサブジェクトは、継承元のロールと継承先のロールの両者の権限可否の集合が適用されるが、両者で同じ権限について可否との組み合わせが異なる場合は、継承先の権限可否が適用される。なお、あるロールが継承元とするロールは、1つのみである。
【００５６】  「直系ロール」および「直系」は、継承を子が親を継承する親子関係と見た場合に、ある任意のロールから見て直系の関係にあるロールであり、当該ロールと、先祖にあたるロールと、子孫にあたるロールとを合わせた集合である。したがって、木構造において、直系ロールは、当該ロールと、当該ロールから継承元を根まで辿る際に到達するロール群と、当該ロールから継承先を葉まで辿る際に到達するロール群とを合わせた集合となる。
【００５７】  「オブジェクト階層」は、オブジェクトの粒度を示す識別子と、オブジェクトの識別子と、そのオブジェクトと他のオブジェクトとの階層関係を示すパスや子ノード・親ノードなどの識別子の集合とで構成される。それら識別子は、別個の値でもよいし、いくつかの値が兼用されていてもよい。いずれにしてもオブジェクト階層は、粒度の異なるオブジェクト間の階層関係を保持する。階層構造として、大きな粒度を持つオブジェクトの配下に0個以上の中程度の粒度を持つオブジェクトが子ノードとして存在し、中程度の粒度を持つオブジェクトの配下に0個以上の小さな粒度のオブジェクトが子ノードとして存在する、などの木構造を持つ。これら親子関係のあるオブジェクト間では、より大きな粒度の親となるオブジェクトが、より小さな粒度の子となるオブジェクトを包含するものとして扱う。
【００５８】  「アクション階層」は、オブジェクトの粒度毎に対応するアクションが異なる際に、どのアクションが、どの粒度のオブジェクトに対応するかを定義する記述である。一般に、ある特定のオブジェクトに対応するアクションの集合は、すべてのアクションの集合からみた部分集合となる。アクセス制御実施手段に対して出力するアクセス権可否においては、アクセス権可否で指定されたオブジェクトの粒度に対応したアクションについてのみアクション可否を指定し、当該オブジェクトの粒度では対応しないアクションについては指定しない。但し、アクセス制御ポリシーにおける、アクセス制御ルールの記述においては、アクセス制御実施手段に対して出力するアクセス権可否と同様に、ルールで指定されたオブジェクトの粒度に直接対応したアクションについてのみアクション可否を指定し、当該オブジェクトの粒度では直接対応しないアクションについては指定しないこともできるが、前述のオブジェクト階層における包含関係を利用してルールを統合・簡略化して表現するため、当該オブジェクトの粒度では直接対応しないアクションについてアクション可否を指定できる場合もある。具体的には、ある大きな粒度のオブジェクトの配下に小さな粒度のオブジェクトが幾つか存在し、これら小さな粒度のオブジェクトは特定のアクションに直接対応しているが、大きな粒度のオブジェクトは当該アクションに直接対応していない場合に、当該アクションを指定するルールを記述する際、これら小さな粒度のオブジェクトのルールをすべて列挙して記述するかわりに、大きな粒度のオブジェクトのルールを記述することができる。つまり、あるオブジェクトからみて、そのオブジェクトの粒度には直接対応しないが、そのオブジェクトより小さな粒度には直接対応するアクションについては、そのオブジェクトに間接的に対応していると考えることができる。たとえば、図８に示すアクション階層の一例においては、アクション「Insert」は、オブジェクトの大きな粒度「DB」には直接対応していないが、中程度の粒度「Table」と、小さな粒度「Column」には直接対応している。このとき、アクション「Insert」は、粒度「DB」のオブジェクトに対して、間接的に対応している。
【００５９】  さて、図２を参照すると、本実施形態にかかるアクセス制御システムは、ポリシー解釈手段１、アクセス制御実施手段２、サブジェクト割当格納手段３、ロール階層格納手段４、ポリシー格納手段５、アクション階層格納手段６、オブジェクト階層格納手段７、および一時記憶手段８を備えている。
【００６０】  ポリシー解釈手段１は、アクセス制御実施手段２とは、それぞれ別個のコンピュータシステムで構築されていてもよいし、一部または全部が同一のコンピュータシステムで実現されていてもよい。
【００６１】  また、ポリシー解釈手段１は、具体的には、プログラムに従って動作する情報処理装置のＣＰＵと、ＲＡＭ等の記憶媒体と、アクセス制御実施手段２とサブジェクト割当格納手段３とロール階層格納手段４とポリシー格納手段５とアクション階層格納手段６とオブジェクト階層格納手段７と通信を行なうための通信インタフェースとによって実現される。また、アクセス制御実施手段２は、具体的には、プログラムに従って動作する情報処理装置のＣＰＵと、ＲＡＭ等の記憶媒体と、ポリシー解釈手段１と通信を行なうための通信インタフェースとによって実現される。さらに、サブジェクト割当格納手段３とロール階層格納手段４とポリシー格納手段５とアクション階層格納手段６とオブジェクト階層格納手段７は、具体的には、プログラムに従って動作する情報処理装置のＣＰＵと、ＲＡＭやハードディスク等の記憶媒体によって実現される。また、一時記憶手段８は、ＲＡＭ等の記憶媒体などによって実現される。
【００６２】  ポリシー解釈手段１は、サブジェクト割当格納手段３とロール階層格納手段４とポリシー格納手段５とアクション階層格納手段６とオブジェクト階層格納手段７とから、ポリシーおよびポリシーの解釈に必要な情報を取得し、中間結果を一時記憶手段８に格納しながら、ポリシーを解釈してアクセス権可否を生成し、アクセス権可否をアクセス制御実施手段２に対して出力する。
【００６３】  アクセス制御実施手段２は、ポリシー解釈手段１から入力されたアクセス権可否に基づいて、アクセス制御を実施する。
【００６４】  図１０を参照して、本実施形態における処理の概要を説明する。
【００６５】  （１）ステップＡ１  まず、ポリシー解釈手段１は、ポリシー解釈処理を行い、生成されたアクセス権可否をアクセス制御実施手段２に対して出力する。例えば、図４のようなポリシーについてポリシー解釈処理を行い、生成された図５のようなアクセス権可否を出力する。  （２）ステップＡ２  次に、アクセス制御実施手段２は、ポリシー解釈手段１から入力されたアクセス権可否に基づいて、アクセス制御処理を実施する。
【００６６】  図３を参照して、ポリシー解釈手段１の動作について詳細に説明する。
【００６７】  （１）ステップＡ１０１  まず、ポリシー解釈手段１は、サブジェクト割当格納手段３を参照し、未処理のサブジェクト割当が有るかを判定する。未処理のものが有れば、ステップＡ１０２に進む。未処理が無い、つまりすべてのサブジェクト割当の処理が終了していれば、ステップＡ１２７に進む。サブジェクト割当格納手段３には、例えば、図６のような情報がサブジェクト割当として格納されている。
【００６８】  （２）ステップＡ１０２  次に、ポリシー解釈手段１は、サブジェクト割当格納手段３を参照し、未処理のサブジェクト割当を1つ取得する。例えば、図６におけるサブジェクト割当Ｅ６０１を取得する。Ｅ６０１は、ロール「総務部」とサブジェクト集合(「k-satou」,「m-suzuki」)の組である。これは、サブジェクト「k-satou」とロール「総務部」の組と、サブジェクト「m-suzuki」とロール「総務部」の組とを、まとめて定義した記述である。
【００６９】  （３）ステップＡ１０３  次に、ポリシー解釈手段１は、当該サブジェクト割当を参照し、当該サブジェクト割当において指定されている、ロールを取得する。例えば、当該サブジェクト割当がＥ６０１であれば、ロール「総務部」を取得する。
【００７０】  （４）ステップＡ１０４  次に、ポリシー解釈手段１は、ロール階層格納手段４を参照し、当該サブジェクト割当のロールを起点として、当該ロールの親のロール、そのロールのさらに親のロールといった、当該ロールの先祖にあたるロール階層を取得し、それらロール階層から、先祖のロールを取得する。ロール階層格納手段４には、例えば、図７のような情報がロール階層として格納されている。例えば、当該ロールが「総務部」であれば、当該ロールについて定義しているロール階層Ｅ７０２から、親のロール「A株式会社」を取得する。「A株式会社」のさらに親のロールはロール階層Ｅ７０１により無いことがわかるため、先祖のロールは、(「A株式会社」)となる。
【００７１】  （５）ステップＡ１０５  次に、ポリシー解釈手段１は、ポリシー格納手段５を参照し、当該ロールおよび先祖のロールについて、それらロールに対応するポリシーを取得する。ポリシー格納手段５には、例えば、図４のような情報がポリシーとして格納されている。例えば、当該ロールが「総務部」であれば、「総務部」のポリシーＥ４０２と、先祖のロール「A株式会社」のポリシーＥ４０１を取得する。
【００７２】  （６）ステップＡ１０６  次に、ポリシー解釈手段１は、当該ロールおよび先祖のロールのポリシーを参照し、それらポリシー毎に、ポリシーに記述されたルールのリストを取得する。例えば、Ｅ４０２およびＥ４０１であれば、Ｅ４０２のルールのリストの先頭であり、最も優先される1番目のルールは、オブジェクト「soumudb」とアクション可否の集合((「Insert」,「deny」),(「Update」,「deny」),(「Delete」,「deny」),(「Select」,「permit」),(「References」,「permit」),(「Create」,「deny」),(「Drop」,「deny」),(「Alter」,「deny」),(「Grant」,「deny」),(「Lock」,「deny」),(「Index」,「deny」))との組である。同様にＥ４０２の2番目のルールや、Ｅ４０１のルールのリストも取得する。
【００７３】  （７）ステップＡ１０７  次に、ポリシー解釈手段１は、当該ロールおよび先祖のロールに対応するルールのリスト群について、当該ロールが最高優先度、先祖のロールにさかのぼるほど低優先度になるよう、ルールのリストを結合する。より具体的には、当該ロールのルールのうち最低優先度のルールからみて1つ低い優先度のルールとして、当該ロールの親のロールのルールのうち最高優先度のものが配置されるように、ルールを並べて結合する。これを順に先祖にさかのぼりながら同様に結合することで、全体で１つのリストを生成する。例えば、Ｅ４０２およびＥ４０１のルールのリストであれば、Ｅ４０２の最低優先度のルールであるＥ４０２の2番目のルールからみて、1つ低い優先度のルールとして、Ｅ４０１の1番目のルールを配置する。結果として生成される結合後のリストでは、ルールは、Ｅ４０２の1番目、Ｅ４０２の2番目、Ｅ４０１の1番目の順に並ぶ。
【００７４】  （８）ステップＡ１０８  次に、ポリシー解釈手段１は、アクション階層格納手段６を参照し、未処理のアクションが有るかを判定する。未処理のものが有れば、ステップＡ１０９に進む。未処理が無い、つまりすべてのアクションの処理が終了していれば、ステップＡ１２４に進む。アクション階層格納手段６には、例えば、図８のような情報がアクション階層として格納されている。なお、アクション階層が1つ以上定義されているとき、ステップＡ１０７から初めて到達した場合は、いずれのアクションも未処理である。
【００７５】  （９）ステップＡ１０９  次に、ポリシー解釈手段１は、アクション階層格納手段６を参照し、未処理のアクションを１つ取得する。例えば、Ｅ８０１を参照し、アクション「Insert」を取得する。
【００７６】  （１０）ステップＡ１１０  次に、ポリシー解釈手段１は、アクション階層格納手段６を参照し、当該アクションのアクション階層、つまり当該アクションが対応する、あるいは対応しないオブジェクトを定義した粒度順のリストを取得する。例えば、当該アクションが「Insert」であれば、対応する、あるいは対応しないオブジェクトのリストとして、((「DB」.「×」),(「Table」,「○」),(「Column」,「○」))を取得する。この時「○」は対応し、「×」は対応しないことを示す。
【００７７】  （１１）ステップＡ１１１  次に、ポリシー解釈手段１は、当該アクションを用いて処理していないルールが有るかを判定する。未処理のものが有れば、ステップＡ１１２に進む。未処理が無い、つまり当該アクションにおいて、すべてのルールを処理していれば、ステップＡ１０８に進む。例えば、Ｅ４０２の1番目のルールを、「Insert」を用いて処理する。なお、ルールが1つ以上ある場合に、ステップＡ１１０から初めて到達した場合は、いずれのルールも未処理である。
【００７８】  （１２）ステップＡ１１２  次に、ポリシー解釈手段１は、ステップＡ１０７で作成したルールのリストから、当該アクションを用いて処理していないルールのうち最も優先度の高いルールを1つ取得する。例えば、前述のＥ４０２およびＥ４０１のルールのリストについては、Ｅ４０２の1番目のルールが未処理であれば、これを取得する。Ｅ４０２の 1番目のルールが処理済みで、Ｅ４０２の2番目のルールが未処理であれば、これを取得する。Ｅ４０２の2番目のルールが処理済みであれば、Ｅ４０１のルールを取得する。
【００７９】  （１３）ステップＡ１１３  次に、ポリシー解釈手段１は、当該ルールを参照し、当該ルールで指定されたオブジェクトを取得する。例えば、Ｅ４０２の1番目のルールであれば、オブジェクト「soumudb」を取得する。
【００８０】  （１４）ステップＡ１１４  次に、ポリシー解釈手段１は、オブジェクト階層格納手段７を参照し、当該オブジェクトの粒度を取得する。さらにアクション階層を参照し、当該オブジェクトの粒度が、当該アクションに対応していないかを判定する。対応していない場合は、ステップＡ１１５に進む。対応する場合は、ステップＡ１１７に進む。オブジェクト階層格納手段７には、例えば、図９のような情報がオブジェクト階層として格納されている。例えば、当該オブジェクトが「soumudb」であれば、オブジェクト階層Ｅ９０８より、粒度「DB」を取得する。さらに当該アクションが「Insert」であれば、取得済みのアクション階層((「DB」.「×」),(「Table」,「○」),(「Column」,「○」))を参照し、当該オブジェクトの粒度「DB」が、当該アクションに対応していないことがわかる。
【００８１】  （１５）ステップＡ１１５  次に、ポリシー解釈手段１は、アクション階層を参照し、当該オブジェクト以下の粒度が、当該アクションに対応しているかを判定する。対応する場合は、ステップＡ１１６に進む。対応しない場合は、ステップＡ１１１に進む。例えば、当該オブジェクトが「soumudb」であれば、当該アクション「Insert」のアクション階層((「DB」.「×」),(「Table」,「○」),(「Column」,「○」))を参照し、当該オブジェクト以下の粒度「Table」,「Column」に対応することがわかる。
【００８２】  （１６）ステップＡ１１６  次に、ポリシー解釈手段１は、アクション階層を参照し、当該オブジェクト以下の粒度のうち、当該アクションに対応する粒度を探し、そこで見つかった当該アクションに対応する粒度のうち、最も粒度の大きなオブジェクトの粒度になるまで、当該オブジェクトを展開する。展開処理においては、オブジェクト階層格納手段７を参照し、当該オブジェクトに基づいて展開後のオブジェクトの情報を取得する。以降は、当該オブジェクトとして、この展開後のオブジェクトを使用する。例えば、当該オブジェクトが「soumudb」であれば、当該アクション「Insert」のアクション階層((「DB」.「×」),(「Table」,「○」),(「Column」,「○」))を参照し、当該アクションに対応する当該オブジェクト以下の粒度「Table」,「Column」のうち、最も粒度の大きなオブジェクトの粒度「Table」になるまで、当該オブジェクト「soumudb」を展開する。その際、オブジェクト階層Ｅ９０８を参照し、粒度「Table」にあたる子ノードのオブジェクト(「hishotable」,「kouhoutable」)を取得する。もし、より小さな粒度まで展開する場合は、同様に、子ノードのオブジェクトのオブジェクト階層を参照して、さらにその子ノードを取得することを繰り返す。以降は、当該オブジェクトとして、展開後のオブジェクト(「hishotable」,「kouhoutable」)を使用する。
【００８３】  （１７）ステップＡ１１７  次に、ポリシー解釈手段１は、当該アクションを用いてルールを処理した結果、当該アクションの対象ルールに追加されたルール群があるとき、それら対象ルール群で指定されたオブジェクトによって、当該オブジェクトが包含されていないかを判定する。包含されていない場合は、ステップＡ１１８に進む。包含されている場合は、ステップＡ１１１に進む。より詳細には、前述されたステップおよび後述するステップによって当該アクションの対象となるルールがあった場合、それは追加・蓄積する形で一時記憶手段８に一時記憶されるが、それらステップを繰り返すうちに、だんだんと対象ルールが増えていくと、先に処理・追加されたルールのオブジェクトが、後に処理されたルールのオブジェクトを包含することがある。例えば、当該アクション「Insert」で処理されたオブジェクト(「hishotable」)のルールを追加した後で、同じくアクション「Insert」で処理されたオブジェクト(「hishocolumn1」)のルールが得られたときを考える。このとき、前者のオブジェクト(「hishotable」)は、後者のオブジェクト(「hishocolumn1」)を包含している。アクション毎のルールの処理は、ルールのリストのうち高優先度のものから順に実施しているため、前者のルールのほうが後者のルールよりも優先度が高く、前述の包含関係から、前者のルールが存在することによって、後者のルールが無効化されることが確定する。したがって、前者つまり既存の対象ルールのオブジェクトが、後者つまり当該ルールのオブジェクトを包含する場合、当該ルールは不要となるためここで破棄し、戻って次のルールの処理に移る。包含しない場合のみ、続くステップに進む。
【００８４】  （１８）ステップＡ１１８  次に、ポリシー解釈手段１は、当該アクションの対象ルールで指定されたオブジェクトの中に、当該オブジェクトが包含するものが有るかを判定する。包含するものが有る場合は、ステップＡ１１９に進む。包含するものが無い場合は、ステップＡ１２３に進む。より詳細には、ステップＡ１１７と逆の判定を行うことを指す。つまり、既存の対象ルールのオブジェクトが、当該ルールのオブジェクトに包含される場合である。例えば、当該アクション「Insert」で処理されたオブジェクト(「hishocolumn1」)のルールを追加した後で、同じくアクション「Insert」で処理されたオブジェクト(「hishotable」)のルールが得られた場合である。
【００８５】  （１９）ステップＡ１１９  次に、ポリシー解釈手段１は、当該アクションの対象ルールのうち、当該オブジェクトが包含するオブジェクトが指定されたルールについて、その対象ルールのアクション可否と、当該ルールのアクション可否が、異なるかを判定する。異なる場合は、ステップＡ１２０に進む。同じである場合は、ステップＡ１２２に進む。包含するオブジェクトが複数ある場合は、それぞれの指定されたルール毎に判定を行い、それぞれの判定結果にしたがって並行してステップを進める。例えば、当該アクション「Insert」で処理を進めている場合、アクション可否が同じというのは、アクション「Insert」と組となる可否が、既存の対象ルールと当該ルールのいずれについても「permit」あるいは「deny」で揃っている場合のことである。
【００８６】  （２０）ステップＡ１２０  次に、ポリシー解釈手段１は、包含するオブジェクトが、当該オブジェクトと同じ粒度ではなく、包含するオブジェクトの示す範囲のほうが小さい場合、包含するオブジェクトの粒度と同じ粒度まで、当該オブジェクトを展開する。以降は、当該オブジェクトとして、この展開後のオブジェクトを使用する。例えば、既存の対象ルールのオブジェクトが(「hishocolumn1」)、当該ルールのオブジェクトが(「hishotable」)の場合に、当該ルールのオブジェクトを、オブジェクト階層を参照して展開し、オブジェクト(「hishocolumn1」,「hishocolumn2」)とする。これにより、例えば、当該アクション「Insert」で処理を進め、アクション「Insert」と組となる可否について、既存の対象ルールが「permit」、当該ルールが「deny」の場合を考えると、既存の対象ルールの中に、オブジェクト(「hishocolumn1」)とアクション「Insert」と可否「permit」の組、当該ルールの中に、オブジェクト(「hishocolumn1」,「hishocolumn2」)とアクション「Insert」と可否「deny」の組が存在することとなる。
【００８７】  （２１）ステップＡ１２１  次に、ポリシー解釈手段１は、展開された当該オブジェクトから、包含するオブジェクトと同一範囲のオブジェクトを取り除き、残った当該オブジェクトのみを用いたルールを作成する。以降、当該ルールとして、この残りの当該オブジェクトを用いたルールを使用する。例えば、既存の対象ルールの中に、オブジェクト(「hishocolumn1」)とアクション「Insert」と可否「permit」の組、当該ルールの中に、オブジェクト(「hishocolumn1」,「hishocolumn2」)とアクション「Insert」と可否「deny」の組が存在する場合、ステップＡ１１７と同様に、既存の対象ルールのほうが、当該ルールよりも優先度が高いため、両者で同一のオブジェクトを指すオブジェクト(「hishocolumn1」)のルールについては、既存の対象ルールが有効、当該ルールが無効となるため、無効となる部分のみ、つまり当該ルールからオブジェクト(「hishocolumn1」)とアクション「Insert」と可否「deny」の組のみを取り除き、オブジェクト(「hishocolumn2」)とアクション「Insert」と可否「deny」の組のみを残す。
【００８８】  （２２）ステップＡ１２２  または、ポリシー解釈手段１は、アクションの対象ルールのうち、包含するオブジェクトが指定されたルールを削除する。これは、当該オブジェクトのルールが、包含するオブジェクトと同じアクション可否であったため、同じアクセス制御内容を示すルールとして、当該ルールだけがあれば十分であり、包含するオブジェクトが指定されたルールは不要となったためである。例えば、当該アクション「Insert」で処理されたオブジェクト(「hishocolumn1」)のルールと、同じくアクション「Insert」で処理されたオブジェクト(「hishotable」)の当該ルールについて、アクション「Insert」と組となる可否が、既存の対象ルールと当該ルールのいずれについても「permit」あるいは「deny」で揃っている場合、既存の対象ルールのほうが優先度は高いが、当該ルールによって既存の対象ルールもまとめて表現可能であるため、既存の対象ルールのほうを取り除く。
【００８９】  （２３）ステップＡ１２３  次に、ポリシー解釈手段１は、当該ルールを、当該アクションの対象ルールに追加する。ステップＡ１１１に進む。
【００９０】  （２４）ステップＡ１２４  次に、ポリシー解釈手段１は、アクション1つずつについて処理することで得られた、アクション毎の対象ルール群のなかで、互いに同じオブジェクトを指定されたルールが存在するとき、それらのルールを同じオブジェクトに対して複数のアクション可否を指定するルールになるよう1つに結合する。つまり、ルール群すべてについて、オブジェクトによる名寄せを行う。例えば、オブジェクト (「hishotable」)とアクション「Insert」と可否「permit」の組と、オブジェクト(「hishotable」)とアクション「Update」と可否「permit」の組が存在する場合、これをオブジェクト「hishotable」によって名寄せし、オブジェクト(「hishotable」)とアクション可否の集合((「Insert」,「permit」),(「Update」,「permit」))との組として結合する。
【００９１】  （２５）ステップＡ１２５  次に、ポリシー解釈手段１は、サブジェクト割当を参照し、当該ロールに対応するサブジェクト集合を取得する。例えば、当該ロールが「総務部」であれば、サブジェクト割当Ｅ６０１に基づき、サブジェクト集合(「k-satou」,「m-suzuki」)を取得する。
【００９２】  （２６）ステップＡ１２６  次に、ポリシー解釈手段１は、ルール群によって定義された、権限可否の集合に対して、当該サブジェクト集合を組として付与し、これにより、アクセス権可否の集合を生成する。ステップＡ１０１に進む。例えば、権限可否の集合((「kaikeitable」、((「Insert」,「deny」),(「Update」,「deny」),(「Delete」,「deny」),(「Select」,「permit」),(「References」,「permit」),(「Index」,「deny」))),(「shaintable」、((「Insert」,「permit」),(「Update」,「permit」),(「Delete」,「permit」),(「Select」,「permit」),(「References」,「permit」),(「Index」,「deny」))),(「kaishadb」、((「Create」,「deny」),(「Drop」,「deny」),(「Alter」,「deny」),(「Grant」,「permit」),(「Lock」,「permit」))))について、サブジェクト集合(「k-satou」,「m-suzuki」)をすべての組合わせをつくることで、アクセス権可否となる組を生成し、アクセス権可否の集合((「k-satou」,(「kaikeitable」、((「Insert」,「deny」),(「Update」,「deny」),(「Delete」,「deny」),(「Select」,「permit」),(「References」,「permit」),(「Index」,「deny」)))),(「k-satou」,(「shaintable」、((「Insert」, 「permit」),(「Update」,「permit」),(「Delete」,「permit」),(「Select」,「permit」),(「References」,「permit」),(「Index」,「deny」)))),(「k-satou」,(「kaishadb」、((「Create」,「deny」),(「Drop」,「deny」),(「Alter」,「deny」),(「Grant」,「permit」),(「Lock」,「permit」)))),(「m-suzuki」,(「kaikeitable」、((「Insert」,「deny」),(「Update」,「deny」),(「Delete」,「deny」),(「Select」,「permit」),(「References」,「permit」),(「Index」,「deny」)))),(「m-suzuki」,(「shaintable」、((「Insert」,「permit」),(「Update」,「permit」),(「Delete」,「permit」),(「Select」,「permit」),(「References」,「permit」),(「Index」,「deny」)))),(「m-suzuki」,(「kaishadb」、((「Create」,「deny」),(「Drop」,「deny」),(「Alter」,「deny」),(「Grant」,「permit」),(「Lock」,「permit」)))))を生成する。
【００９３】  （２７）ステップＡ１２７  次に、ポリシー解釈手段１は、サブジェクト割当1つずつについて得られた、アクセス権可否の集合を、すべて結合してまとめたものをポリシー解釈処理で得られたアクセス権可否として、アクセス制御実施手段２に出力する。アクセス制御実施手段２には、例えば、図５のような情報がアクセス権可否として入力される。なお図５の例では、ＲＢＡＣの一般的な制御である、Default Denyの考えに基づき、あるサブジェクトからみて、アクセス権可否の中で組み合わせの登場しないオブジェクトについては、あらゆるアクションを拒否するものとして扱う。
【００９４】  これにより、ロール毎に記載された順序制約のあるアクセス制御ポリシーから、アクセス制御実施機能に設定する順序制約のないアクセス権可否における権限可否の集合を導出する。
【００９５】  このように本実施形態によれば、ロール毎に記載された順序制約のあるアクセス制御ポリシーからアクセス制御実施機能に設定する順序制約のないアクセス権可否における権限可否の集合を導出するポリシー解釈機能において、ロール階層に基づく継承関係にあるアクセス制御ポリシーの示す権限可否の集合間に、異なる種類のオブジェクトで構成されたオブジェクト階層に跨った競合が存在する場合でも、ロールの階層情報とオブジェクトの階層情報とオブジェクトの種類毎のアクションの階層情報を用いて、競合のない権限可否の集合を導出することができる。
【００９６】  なお、本発明は、日本国にて２０１０年９月２２日に特許出願された特願２０１０−２１１５１５の特許出願に基づく優先権主張の利益を享受するものであり、当該特許出願に記載された内容は、全て本明細書に含まれるものとする。
【産業上の利用可能性】
【００９７】  本発明は、利用者が作成した順序制約のあるロール毎の権限可否の集合から、１台以上のコンピュータのアクセス制御に使用する順序制約のなりアクセス権可否の集合を自動的に生成する装置に適用可能である。【００９８】  上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。（付記１）  オブジェクトとアクションと前記オブジェクトに対して前記アクションを許可或いは拒否するかを示す可否識別子との組を権限可否と定義するとき、ロールに対応して、順序制約のある権限可否の集合を記憶するポリシー格納手段と、  ロールと前記ロールに属するサブジェクトとの関係に関する情報を記憶するサブジェクト割当格納手段と、  オブジェクト間の包含関係に関する情報を記憶するオブジェクト階層格納手段と、  一時記憶手段と、  ロールに対応して、前記ポリシー格納手段から、順序制約のある権限可否の集合を処理対象集合として抽出する処理対象集合抽出手段と、  ロールに対応して、前記ロールについて抽出された前記処理対象集合から、順序制約のない権限可否の集合を前記一時記憶手段に生成する順序制約解決手段であって、  ロールに対応する前記処理対象集合から順序制約を満たす順序に従って権限可否を取り出して、該取り出した権限可否を処理対象権限可否とし、  前記処理対象権限可否のオブジェクトが前記一時記憶手段に既に生成済みの同じアクションを持つ権限可否のオブジェクトを包含し、且つ両者の可否識別子が相違する場合、前記処理対象権限可否を、前記包含するオブジェクトと同じ粒度のオブジェクトを持つ複数の権限可否に分割し、  該分割して得られた複数の権限可否のうち、前記包含するオブジェクトと相違するオブジェクトを持つ権限可否を前記一時記憶手段に記憶する順序制約解決手段と、  サブジェクトとオブジェクトとアクションと前記サブジェクトに対して前記オブジェクトに対する前記アクションを許可或いは拒否するかを示す可否識別子との組をアクセス権可否と定義するとき、前記ロールについて生成された順序制約のない権限可否の集合と、前記ロールと前記サブジェクトとの関係に関する前記情報とから、前記サブジェクトに対応するアクセス権可否の集合を生成するアクセス権可否生成手段とを備えることを特徴とするアクセス権可否生成装置。（付記２）  ロール間の継承関係に関する情報を記憶するロール階層格納手段を備え、  前記処理対象集合抽出手段は、前記ロールに対応して前記ポリシー格納手段に記憶されている順序制約のある権限可否の集合と、前記ロール間の継承関係で示される前記ロールの継承元ロールに対応して前記ポリシー格納手段に記憶されている順序制約のある権限可否の集合とを抽出して結合し、順序制約のある権限可否の集合である処理対象集合を生成することを特徴とする付記１に記載のアクセス権可否生成装置。（付記３）  前記順序制約解決手段は、前記一時記憶手段に記憶されている同じアクションを持つ権限可否のオブジェクトに包含されているオブジェクトを持つ前記処理対象権限可否は、廃棄することを特徴とする付記１または２に記載のアクセス権可否生成装置。（付記４）  前記オブジェクトとアクションとの関係に関する情報を記憶するアクショ���階層格納手段を備え、  前記順序制約解決手段は、  前記処理対象権限可否のアクションが、前記処理対象権限可否のオブジェクトの粒度に対応していない場合、前記処理対象権限可否を、前記アクションに対応する粒度の小さなオブジェクトを持つ複数の処理対象権限可否に分割して処理することを特徴とする付記１乃至３の何れかに記載のアクセス権可否生成装置。（付記５）  前記順序制約解決手段は、前記処理対象権限可否のオブジェクトが前記一時記憶手段に記憶されている同じアクションを持つ権限可否のオブジェクトを包含し、且つ両者の可否識別子が一致する場合、前記処理対象権限可否を前記一時記憶手段に記憶すると共に、前記一時記憶手段に記憶されている前記同じアクション、同じ可否識別子を持つ前記権限可否を削除することを特徴とする付記１乃至４の何れかに記載のアクセス権可否生成装置。（付記６）  アクセス権可否生成手段は、サブジェクトとオブジェクトと可否識別子とが同じで、アクションが相違する複数のアクセス権可否を１つのアクセス権可否に統合することを特徴とする付記１乃至５の何れかに記載のアクセス権可否生成装置。（付記７）  付記１乃至６の何れかに記載のアクセス権可否生成装置と、  前記アクセス権可否生成装置で生成されたアクセス権可否を記憶し、該記憶したアクセス権可否に基づいてアクセス制御を行うアクセス制御実施手段とを備えることを特徴とするアクセス制御システム。（付記８）  オブジェクトとアクションと前記オブジェクトに対して前記アクションを許可或いは拒否するかを示す可否識別子との組を権限可否と定義するとき、ロールに対応して、順序制約のある権限可否の集合を記憶するポリシー格納領域と、ロールと前記ロールに属するサブジェクトとの関係に関する情報を記憶するサブジェクト割当格納領域と、オブジェクト間の包含関係に関する情報を記憶するオブジェクト階層格納領域と、一時記憶領域とを有するメモリと、  前記メモリに接続されたプロセッサとを有し、  前記プロセッサは、  ロールに対応して、前記ポリシー格納領域から、順序制約のある権限可否の集合を処理対象集合として抽出し、  ロールに対応して、前記ロールについて抽出した前記処理対象集合から、順序制約のない権限可否の集合を前記一時記憶領域に生成する際に、まず、ロールに対応する前記処理対象集合から順序制約を満たす順序に従って権限可否を取り出して、該取り出した権限可否を処理対象権限可否とし、次に、前記処理対象権限可否のオブジェクトが前記一時記憶領域に既に生成済みの同じアクションを持つ権限可否のオブジェクトを包含し、且つ両者の可否識別子が相違する場合、前記処理対象権限可否を、前記包含するオブジェクトと同じ粒度のオブジェクトを持つ複数の権限可否に分割し、次に、該分割して得られた複数の権限可否のうち、前記包含するオブジェクトと相違するオブジェクトを持つ権限可否を前記一時記憶領域に記憶し、  サブジェクトとオブジェクトとアクションと前記サブジェクトに対して前記オブジェクトに対する前記アクションを許可或いは拒否するかを示す可否識別子との組をアクセス権可否と定義するとき、前記ロールについて生成された順序制約のない権限可否の集合と、前記ロールと前記サブジ���クトとの関係に関する前記情報とから、前記サブジェクトに対応するアクセス権可否の集合を生成するようにプログラミングされていることを特徴とするアクセス権可否生成装置。（付記９）  前記メモリは、さらに、ロール間の継承関係に関する情報を記憶するロール階層格納領域を備え、  前記プロセッサは、  前記処理対象集合の抽出では、前記ロールに対応して前記ポリシー格納領域に記憶されている順序制約のある権限可否の集合と、前記ロール間の継承関係で示される前記ロールの継承元ロールに対応して前記ポリシー格納領域に記憶されている順序制約のある権限可否の集合とを抽出して結合し、順序制約のある権限可否の集合である処理対象集合を生成することを特徴とする付記８に記載のアクセス権可否生成装置。（付記１０）  前記プロセッサは、  順序制約のない権限可否の集合を前記一時記憶領域に生成する際には、前記一時記憶領域に記憶されている同じアクションを持つ権限可否のオブジェクトに包含されているオブジェクトを持つ前記処理対象権限可否は、廃棄することを特徴とする付記８または９に記載のアクセス権可否生成装置。（付記１１）  前記メモリは、さらに、前記オブジェクトとアクションとの関係に関する情報を記憶するアクション階層格納領域を備え、  前記プロセッサは、  順序制約のない権限可否の集合を前記一時記憶領域に生成する際には、前記処理対象権限可否のアクションが、前記処理対象権限可否のオブジェクトの粒度に対応していない場合、前記処理対象権限可否を、前記アクションに対応する粒度の小さなオブジェクトを持つ複数の処理対象権限可否に分割して処理することを特徴とする付記８乃至１０の何れかに記載のアクセス権可否生成装置。（付記１２）  前記プロセッサは、  順序制約のない権限可否の集合を前記一時記憶領域に生成する際には、前記処理対象権限可否のオブジェクトが前記一時記憶領域に記憶されている同じアクションを持つ権限可否のオブジェクトを包含し、且つ両者の可否識別子が一致する場合、前記処理対象権限可否を前記一時記憶領域に記憶すると共に、前記一時記憶領域に記憶されている前記同じアクション、同じ可否識別子を持つ前記権限可否を削除することを特徴とする付記８乃至１１の何れかに記載のアクセス権可否生成装置。（付記１３）  前記プロセッサは、  前記サブジェクトに対応するアクセス権可否の集合の生成では、サブジェクトとオブジェクトと可否識別子とが同じで、アクションが相違する複数のアクセス権可否を１つのアクセス権可否に統合することを特徴とする付記８乃至１２の何れかに記載のアクセス権可否生成装置。（付記１４）  前記プロセッサは、さらに、  前記生成したアクセス権可否に基づいてアクセス制御を行うことを特徴とする付記８乃至１３の何れかに記載のアクセス権可否生成装置。（付記１５）  オブジェクトとアクションと前記オブジェクトに対して前記アクションを許可或いは拒否するかを示す可否識別子との組を権限可否と定義するとき、ロールに対応して、順序制約のある権限可否の集合を記憶するポリシー格納手段と、ロールと前記ロールに属するサブジェクトとの関係に関する情報を記憶するサブジェクト割当格納手段と、オブジェクト間の包含関係に関する情報を���憶するオブジェクト階層格納手段と、一時記憶手段と、処理対象集合抽出手段と、順序制約解決手段と、アクセス権可否生成手段とを有するアクセス権可否生成装置が実行するアクセス権可否生成方法であって、  前記処理対象集合抽出手段が、ロールに対応して、前記ポリシー格納手段から、順序制約のある権限可否の集合を処理対象集合として抽出し、  前記順序制約解決手段が、ロールに対応して、前記ロールについて抽出された前記処理対象集合から、順序制約のない権限可否の集合を前記一時記憶手段に生成し、  前記アクセス権可否生成手段が、サブジェクトとオブジェクトとアクションと前記サブジェクトに対して前記オブジェクトに対する前記アクションを許可或いは拒否するかを示す可否識別子との組をアクセス権可否と定義するとき、前記ロールについて生成された順序制約のない権限可否の集合と、前記ロールと前記サブジェクトとの関係に関する前記情報とから、前記サブジェクトに対応するアクセス権可否の集合を生成し、  前記順序制約のない権限可否の集合の生成では、  ロールに対応する前記処理対象集合から順序制約を満たす順序に従って権限可否を取り出して、該取り出した権限可否を処理対象権限可否とし、  前記処理対象権限可否のオブジェクトが前記一時記憶手段に既に生成済みの同じアクションを持つ権限可否のオブジェクトを包含し、且つ両者の可否識別子が相違する場合、前記処理対象権限可否を、前記包含するオブジェクトと同じ粒度のオブジェクトを持つ複数の権限可否に分割し、  該分割して得られた複数の権限可否のうち、前記包含するオブジェクトと相違するオブジェクトを持つ権限可否を前記一時記憶手段に記憶することを特徴とするアクセス権可否生成方法。（付記１６）  オブジェクトとアクションと前記オブジェクトに対して前記アクションを許可或いは拒否するかを示す可否識別子との組を権限可否と定義するとき、ロールに対応して、順序制約のある権限可否の集合を記憶するポリシー格納領域と、ロールと前記ロールに属するサブジェクトとの関係に関する情報を記憶するサブジェクト割当格納領域と、オブジェクト間の包含関係に関する情報を記憶するオブジェクト階層格納領域と、一時記憶領域とを有するメモリと、前記メモリに接続されたプロセッサとを有するアクセス権可否生成装置が実行するアクセス権可否生成方法であって、  前記プロセッサが、  ロールに対応して、前記ポリシー格納領域から、順序制約のある権限可否の集合を処理対象集合として抽出し、  ロールに対応して、前記ロールについて抽出した前記処理対象集合から、順序制約のない権限可否の集合を前記一時記憶領域に生成する際に、まず、ロールに対応する前記処理対象集合から順序制約を満たす順序に従って権限可否を取り出して、該取り出した権限可否を処理対象権限可否とし、次に、前記処理対象権限可否のオブジェクトが前記一時記憶領域に既に生成済みの同じアクションを持つ権限可否のオブジェクトを包含し、且つ両者の可否識別子が相違する場合、前記処理対象権限可否を、前記包含するオブジェクトと同じ粒度のオブジェクトを持つ複数の権限可否に分割し、次に、該分割して得られた複数の権限可否のうち、前記包含するオブジェクトと相違するオブジェクトを持つ権限可否を前記一時記憶領域に記憶し、  サブジェクトとオブジェクトとアクションと前記サブジェクトに対して前記オブジェクトに対する前記アクションを許可或いは拒否するかを示す可否識別子との組をアクセス権可否と定義するとき、前記ロールについて生成された順序制約のない権限可否の集合と、前記ロールと前記サブジェクトとの関係に関する前記情報とから、前記サブジェクトに対応するアクセス権可否の集合を生成することを特徴とするアクセス権可否生成方法。（付記１７）  オブジェクトとアクションと前記オブジェクトに対して前記アクションを許可或いは拒否するかを示す可否識別子との組を権限可否と定義するとき、ロールに対応して、順序制約のある権限可否の集合を記憶するポリシー格納手段と、ロールと前記ロールに属するサブジェクトとの関係に関する情報を記憶するサブジェクト割当格納手段と、オブジェクト間の包含関係に関する情報を記憶するオブジェクト階層格納手段と、一時記憶手段とを有するコンピュータを、  ロールに対応して、前記ポリシー格納手段から、順序制約のある権限可否の集合を処理対象集合として抽出する処理対象集合抽出手段と、  ロールに対応して、前記ロールについて抽出された前記処理対象集合から、順序制約のない権限可否の集合を前記一時記憶手段に生成する順序制約解決手段であって、  ロールに対応する前記処理対象集合から順序制約を満たす順序に従って権限可否を取り出して、該取り出した権限可否を処理対象権限可否とし、  前記処理対象権限可否のオブジェクトが前記一時記憶手段に既に生成済みの同じアクションを持つ権限可否のオブジェクトを包含し、且つ両者の可否識別子が相違する場合、前記処理対象権限可否を、前記包含するオブジェクトと同じ粒度のオブジェクトを持つ複数の権限可否に分割し、  該分割して得られた複数の権限可否のうち、前記包含するオブジェクトと相違するオブジェクトを持つ権限可否を前記一時記憶手段に記憶する順序制約解決手段と、  サブジェクトとオブジェクトとアクションと前記サブジェクトに対して前記オブジェクトに対する前記アクションを許可或いは拒否するかを示す可否識別子との組をアクセス権可否と定義するとき、前記ロールについて生成された順序制約のない権限可否の集合と、前記ロールと前記サブジェクトとの関係に関する前記情報とから、前記サブジェクトに対応するアクセス権可否の集合を生成するアクセス権可否生成手段として機能させるためのプログラム。（付記１８）  オブジェクトとアクションと前記オブジェクトに対して前記アクションを許可或いは拒否するかを示す可否識別子との組を権限可否と定義するとき、ロールに対応して、順序制約のある権限可否の集合を記憶するポリシー格納手段と、ロールと前記ロールに属するサブジェクトとの関係に関する情報を記憶するサブジェクト割当格納手段と、オブジェクト間の包含関係に関する情報を記憶するオブジェクト階層格納手段と、一時記憶手段とを有するコンピュータを、  ロールに対応して、前記ポリシー格納手段から、順序制約のある権限可否の集合を処理対象集合として抽出する処理対象集合抽出手段と、  ロールに対応して、前記ロールについて抽出された前記処理対象集合から、順��制約のない権限可否の集合を前記一時記憶手段に生成する順序制約解決手段であって、  ロールに対応する前記処理対象集合から順序制約を満たす順序に従って権限可否を取り出して、該取り出した権限可否を処理対象権限可否とし、  前記処理対象権限可否のオブジェクトが前記一時記憶手段に既に生成済みの同じアクションを持つ権限可否のオブジェクトを包含し、且つ両者の可否識別子が相違する場合、前記処理対象権限可否を、前記包含するオブジェクトと同じ粒度のオブジェクトを持つ複数の権限可否に分割し、  該分割して得られた複数の権限可否のうち、前記包含するオブジェクトと相違するオブジェクトを持つ権限可否を前記一時記憶手段に記憶する順序制約解決手段と、  サブジェクトとオブジェクトとアクションと前記サブジェクトに対して前記オブジェクトに対する前記アクションを許可或いは拒否するかを示す可否識別子との組をアクセス権可否と定義するとき、前記ロールについて生成された順序制約のない権限可否の集合と、前記ロールと前記サブジェクトとの関係に関する前記情報とから、前記サブジェクトに対応するアクセス権可否の集合を生成するアクセス権可否生成手段として機能させるためのプログラムを記録したコンピュータ読取可能な記録媒体。
【符号の説明】
【００９９】  １  ポリシー解釈手段  ２  アクセス制御実施手段  ３  サブジェクト割当格納手段  ４  ロール階層格納手段  ５  ポリシー格納手段  ６  アクション階層格納手段  ７  オブジェクト階層格納手段  ８  一時記憶手段
【図１】
2012039081.tif 000003
【図２】
2012039081.tif 000004
【図３Ａ】
2012039081.tif 000005
【図３Ｂ】
2012039081.tif 000006
【図４Ａ】
2012039081.tif 000007
【図４Ｂ】
2012039081.tif 000008
【図５Ａ】
2012039081.tif 000009
【図５Ｂ】
2012039081.tif 000010
【図５Ｃ】
2012039081.tif 000011
【図５Ｄ】
2012039081.tif 000012
【図５Ｅ】
2012039081.tif 000013
【図５Ｆ】
2012039081.tif 000014
【図５Ｇ】
2012039081.tif 000015
【図５Ｈ】
2012039081.tif 000016
【図６】
2012039081.tif 000017
【図７】
2012039081.tif 000018
【図８】
2012039081.tif 000019
【図９】
2012039081.tif 000020
【図１０】
2012039081.tif 000021
【国際調査報告】
2012039081.tif 000022
2012039081.tif 000023
2012039081.tif 000024
2012039081.tif 000025