JP2014170324A - アクセス制御システム、アクセス制御方法およびプログラム - Google Patents

アクセス制御システム、アクセス制御方法およびプログラム Download PDF

Info

Publication number
JP2014170324A
JP2014170324A JP2013041215A JP2013041215A JP2014170324A JP 2014170324 A JP2014170324 A JP 2014170324A JP 2013041215 A JP2013041215 A JP 2013041215A JP 2013041215 A JP2013041215 A JP 2013041215A JP 2014170324 A JP2014170324 A JP 2014170324A
Authority
JP
Japan
Prior art keywords
access control
rule
action
control rule
object group
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2013041215A
Other languages
English (en)
Inventor
Yoichiro Morita
陽一郎 森田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2013041215A priority Critical patent/JP2014170324A/ja
Publication of JP2014170324A publication Critical patent/JP2014170324A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

【課題】専門性の高いアクションセットを用いたアクセス権可否の生成を可能としつつ、アクセス権可否の作成者の負担を軽減すること。
【解決手段】受付手段は第1のオブジェクトグループと第1のアクションセットとを含む第1のアクセス制御ルール、および、第2のオブジェクトグループと第2のアクションセットとを含む第2のアクセス制御ルール、ならびに、第1のアクセス制御ルールと第2のアクセス制御ルールとの間に課された順序制約を受け付け、順序制約において第1のアクセス制御ルールの優先度が第2のアクセス制御ルールの優先度よりも高い場合において、第1のオブジェクトグループに含まれる第1のオブジェクトと第2のオブジェクトグループに含まれる第2のオブジェクトが同一であるという関係性が有ると判定手段が判定したとき、適用手段は第1のオブジェクトに対して第2のアクションセットを適用する。
【選択図】図1

Description

本発明は、アクセス制御システム、アクセス制御方法およびプログラムに関し、特に、コンピュータのアクセス制御に使用するアクセス権可否を生成するアクセス制御システム、アクセス制御方法およびプログラム、ならびに、生成されたアクセス権可否を使用してアクセス制御を行うコンピュータに関する。
コンピュータでは、不正なアクセスを防止するために、アクセス制御リスト(ACL:Access Control List)を用いた、アクセス権の可否の指定によるアクセス制御が行われる。アクセス権可否は、アクセスの主体としての「サブジェクト」と、アクセスの対象としての「オブジェクト」と、アクセスの種類としての「アクション」と、上記サブジェクトに対して上記オブジェクトに対する上記アクションを許可するか拒否するかを示す「可否識別子」との組で構成される。
例えば、特許文献1には、アクセス制御方法に係る関連技術が記載されている。特許文献1に記載されたアクセス制御方法では、アクセス主体種別と、アクセス対象種別と、組織構造に基づく制約条件によって記述されたアクセス制御ポリシーから、アクセス主体(サブジェクト)と、アクセス対象(オブジェクト)によって記述されたアクセス制御リストを生成する。また、特許文献1に記載されたアクセス制御方法は、サブジェクトと主体種別とを直接に対応付ける主体種別グループ情報と、オブジェクトと対象種別とを直接に対応付ける対象種別グループ情報と、サブジェクトおよびオブジェクトと組織との対応付けを単一の木構造で表現した組織構造情報とを持ち、これを使用して制約条件を満足するアクセス制御リストのみを生成可能としている。
また、特許文献1には、特許文献1の手法よりも以前から存在する手法の1つとして、アクセス制御リストを抽象化するアクセス制御ポリシーの記述に際して、ロールという概念を利用するロールベースアクセス制御(RBAC:Role Based Access Control)が記載されている。「ロール」とは、役割を示し、役割を遂行する上で必要なパーミッション(許可する権限(オブジェクトと、当該オブジェクトに対するアクションとの組)、あるいは権限可否(オブジェクトと、当該オブジェクトに対するアクションと、当該アクションを許可あるいは拒否するかを示す可否識別子との組))の集合をロールとしてまとめ、サブジェクトに対しては個々のパーミッションを割り当てるのではなく、ロールを割り当てることによって、ルール作成者は個々のサブジェクト毎およびオブジェクト毎にその間のアクション可否を規定した沢山のアクセス制御リストを記述する必要がなくなり、アクセス制御リストの作成負担が軽減される。
これらの関連技術のアクセス制御方法を用いると、例えば、以下のようなアクセス権可否の生成が可能となる。
サブジェクトとして、ユーザU1からユーザUnまでのn個のサブジェクトがあるものとする。オブジェクトとして、ファイルF1からファイルFmまでのm個のファイルがあるものとする。また、ロールR1にユーザU1とユーザU2とが属するものとする。オブジェクトのグループOG1にファイルF1とファイルF2とが属するものとする。
このとき、ユーザU1、U2に対してファイルF1、F2へのアクション「書込み」を許可するアクセス権可否を自動生成する場合、アクセス権可否の管理者は、ロールR1に対応付けて、オブジェクトグループOG1へのアクション「書込み」を許可する旨の権限可否P1を記述した、アクセス制御ポリシーACP1を作成する。
生成システムでは、アクセス制御ポリシーACP1が入力されると、ロールR1にユーザU1、U2が属し、オブジェクトグループOG1にファイルF1、F2が属することを判定し、
ユーザU1に対してファイルF1へのアクション「書込み」を許可するアクセス権可否と、
ユーザU1に対してファイルF2へのアクション「書込み」を許可するアクセス権可否と、ユーザU2に対してファイルF1へのアクション「書込み」を許可するアクセス権可否と、ユーザU2に対してファイルF2へのアクション「書込み」を許可するアクセス権可否と、を生成する。これにより、管理者は、個々のサブジェクト毎・オブジェクト毎に許可/拒否したいアクションを規定した多くのアクセス権可否を記述することなく、詳細なアクセス権可否の生成が可能となる。
また、アクセス権可否の管理者は、アクセス制御ポリシーACP1に、ロールR1に対応付けて、複数の権限可否P1、P2、P3を記述することもできる。例えば、権限可否P1がオブジェクトグループOG1へのアクセス、権限可否P2がオブジェクトグループOG2へのアクセス、権限可否P3がオブジェクトグループOG3へのアクセスを記述しているとする。このとき、オブジェクトグループOG1〜OG3に属しているオブジェクトの集合が互いに疎である(すなわち、共通の元を持たない)場合、権限可否P1〜P3を記述したアクセス制御ポリシーACP1から、関連技術のアクセス制御方法を用いて、アクセス権可否を生成することができる。
しかし、オブジェクトグループOG1〜OG3に属しているオブジェクトの集合が互いに重複している場合、権限可否P1〜P3のアクション可否の組み合わせによっては、関連技術のアクセス制御方法を用いて、アクセス権可否の生成ができない。より具体的には、例えば、オブジェクトグループOG1、OG2の双方にファイルF1が属している場合を考える。権限可否P1にはオブジェクトグループOG1へのアクション「書込み」を許可する旨、権限可否P2にはオブジェクトグループOG2へのアクション「書込み」を拒否する旨が記述されているとする。このとき、関連技術のアクセス制御方法では、ファイルF1へのアクション「書込み」について、権限可否P1に由来する許可するアクセス権可否と、権限可否P2に由来する拒否するアクセス権可否との両方の組み合わせが有り得るため矛盾が発生し、アクセス制御内容が矛盾なく一意に決定できる正しいアクセス権可否を生成することができない。
そこで、一般に、関連技術のアクセス制御方法では、「順序制約」、「コンバインアルゴリズム」などと呼ばれる方法を併せて利用する。ここでは、順序制約として一般的な「ファーストマッチ」と呼ばれる方法について述べるが、別の方法を用いてもよい。ファーストマッチでは、アクセス制御を記述したルールが複数存在する場合、あるアクセス権について記述されたルールを、ルールの記述順に沿って探していき、最初に見つかったルールを採用する。例えば、上から順にルールを記述している場合は、最上に位置するルールを採用する。このとき、「上にあるルールほど優先度が高い」と表現する。
前述した、オブジェクトグループOG1〜OG3に属しているオブジェクトの集合が互いに重複している場合について、順序制約を利用することを考える。権限可否P1〜P3には、順序制約に基づいて、権限可否P1が最も優先度が高く、権限可否P2がその次に優先度が高く、権限可否P3が最も優先度が低いものとする。この前提において、前述したように、権限可否P1に由来する許可するアクセス権可否と、権限可否P2に由来する拒否するアクセス権可否との両方の組み合わせが有り得る場合を考えると、権限可否P1は権限可否P2よりも優先度が高いため、権限可否P1に由来する許可するアクセス権可否を採用し、権限可否P2に由来する拒否するアクセス権可否は採用しない。したがって、ファイルF1へのアクション「書込み」は許可となり、矛盾は発生せず、アクセス制御内容が矛盾なく一意に決定できる正しいアクセス権可否を生成することができる。
特開平11−313102号公報
以下の分析は、本発明者によってなされたものである。
一般に、アクセス制御対象となるオブジェクトに対するアクションの種類は、オブジェクトの種類によって異なる。
例えば、オブジェクトには、「ネットワークノード」、「仮想マシン」、「ファイル」、「データベース」、「アプリケーション」など、様々な種類が存在する。例えば、オブジェクトが「仮想マシン」であれば、アクションとして、「起動」、「シャットダウン」などが存在する。また、オブジェクトが「ファイル」であれば、アクションとして、「読込み」、「書込み」などが存在する。
また、同じデータベースのオブジェクトの中でも、提供する「ベンダー」の違い、「製品」の違い、「バージョン」の違い、「エディション」の違い、適用された「ライセンス」の違い、使用するコマンドセット・制御モード・API(Application Program Interface、アプリケーションプログラムインタフェース)・UI(User Interface、ユーザインタフェース)などのオブジェクトにアクセスする「インタフェース」の違いなどによって、当該オブジェクトに対応するアクションは異なる。
上記のようなオブジェクトの種類を「オブジェクトタイプ」と呼ぶ。
一般に、オブジェクトタイプは、ツリー状の階層構造を持つ。階層構造が多層にわたる場合もあるが、階層構造が存在せず各オブジェクトタイプが同等でフラットな関係にある場合もある。多層にわたる場合は、例えば、1つの「種類」のオブジェクトについて、その配下に複数の「ベンダー」を持ち、各ベンダーの配下に複数の「製品」を持ち、各製品の配下に複数の「バージョン」を持ち、各バージョンの配下に複数の「エディション」を持ち、各エディションの配下に複数の「ライセンス」を持ち、各ライセンスの配下に複数の「インタフェース」を持つ。このとき、オブジェクトの「種類」に対応するブジェクトタイプが「最も粒度が大きい」と表現し、「インタフェース」に対応するオブジェクトタイプが「最も粒度が小さい」と表現する。なお、これらの階層関係のうち、一部の関係だけが存在する場合もある。
ある1つのオブジェクトタイプには、0個以上のアクションが対応し、このアクションの集合を「アクションセット」と呼ぶ。例えば、「ファイル」という種類のオブジェクトを指すオブジェクトタイプに対応する3個のアクション、「Read」、「Write」、「Execute」の集合を、ファイルのオブジェクトタイプに対応する「アクションセット」と呼ぶ。
一般に、オブジェクトタイプが異なると、アクションセットも異なる。
例えば、オブジェクトの種類間の違いとして、「ファイル」、「データベース」のオブジェクトタイプが存在する場合を考える。
この場合、「ファイル」という種類のオブジェクトタイプに対応するアクションセットは、「Read」、「Write」、「Execute」の3個のアクションの集合となる。
一方、「データベース」という種類のオブジェクトタイプに対応するアクションセットは、「SELECT」、「INSERT」、「UPDATE」、「DELETE」、「REFERENCES」、「TRIGGER」、「EXECUTE」、「USAGE」、「CREATE」、「TEMPORARY」の10個のアクションの集合となる。
また、例えば、ある1種類のオブジェクトにおけるツリー状の階層による違いとして、「ファイル」という種類全体のオブジェクトタイプの配下に、特定のソフトウェア・製品である、「Linux(登録商標)」や「Windows(登録商標)」のファイルのオブジェクトタイプが存在する場合を考える。
この場合、「ファイル」のオブジェクトタイプに対応するアクションセットは、「Read」、「Write」、「Execute」の3個のアクションの集合となる。
一方、「Linux」のオブジェクトタイプに対応するアクションセットは、「Read」、「Write」、「Execute」、「Create」、「Rename」、「Delete」、「Chmode」の7個のアクションの集合となる。
また、「Windows」のオブジェクトタイプに対応するアクションセットは、「ACCESS_SYSTEM_SECURITY」、「SYNCHRONIZE」、「WRITE_OWNER」、「WRITE_DAC」、「READ_CONTROL」、「DELETE」、「FILE_WRITE_ATTRIBUTES」、「FILE_READ_ATTRIBUTES」、「FILE_DELETE_CHILD」、「FILE_EXECUTE」、「FILE_WRITE_EA」、「FILE_READ_EA」、「FILE_APPEND_DATA」、「FILE_WRITE_DATA」、「FILE_READ_DATA」の15個のアクションの集合となる。
別の例として、「仮想マシン」という種類全体のオブジェクトタイプの配下に、特定のソフトウェア・製品である、「Xen」、「KVM」、「Hyper-V」、「VMware」が存在する場合を考える。
この場合、「仮想マシン」という種類のオブジェクトタイプに対応するアクションセットは、「Enabled」、「Disabled」の2個のアクションの集合となる。
一方、「Xen」のオブジェクトタイプに対応するアクションセットは、「Enabled」、「Disabled」の2個のアクションの集合となる。
また、「KVM」のオブジェクトタイプに対応するアクションセットは、「Enabled」、「Disabled」の2個のアクションの集合となる。
さらに、「Hyper-V」のオブジェクトタイプに対応するアクションセットは、「Enabled」、「Disabled」、「ShutDown」、「Offline」、「Test」、「Defer」、「Quiesce」、「Reboot」、「Reset」の9個のアクションの集合となる。
また、「VMware」のオブジェクトタイプに対応するアクションセットは、「PowerOn」、「PowerOff」、「Suspend」、「Reset」、「AnswerQuestion」、「ConsoleInteract」、「DeviceConnection」、「SetCDMedia」、「SetFloppyMedia」、「ToolsInstall」、「GuestControl」、「DefragmentAllDisks」、「CreateSecondary」、「TurnOffFaultTolerance」、「MakePrimary」、「TerminateFaultTolerantVM」、「DisableSecondary」、「EnableSecondary」、「Record」、「Replay」、「Backup」、「CreateScreenshot」の22個のアクションの集合となる。
これらのアクションセットは、これら特定のソフトウェア・製品のオブジェクトタイプの配下に存在する「バージョン」、「エディション」、「ライセンス」などのオブジェクトタイプ間で違いが存在する。この場合、特定のソフトウェア・製品のオブジェクトタイプに対応するアクションセットには、配下に存在する「バージョン」、「エディション」、「ライセンス」などに共通するアクションを使用し、配下に存在する個別のバージョン・エディション・ライセンスなどのオブジェクトタイプに対応するアクションセットには、共通するアクションに加えて、差分となるアクションを追加したものを1つのアクションセットとして使用する。
1つのオブジェクトは、1つのオブジェクトタイプに属する。ただし、オブジェクトタイプがツリー状の階層構造を持つ場合には、ある1つのオブジェクトは、ある1つのオブジェクトタイプに属すると同時に、当該オブジェクトタイプから見て、ツリー上における根(ルート)側のノードにあたるすべてのオブジェクトタイプにも間接的に属している。例えば、ある製品のある「バージョン」のオブジェクトタイプに属するオブジェクトは、当該「製品」のオブジェクトタイプにも間接的に属している。
まとめると、1つのオブジェクトは、1つのオブジェクトタイプに直接的に属し、当該オブジェクトタイプのツリー状の階層関係における根側(親側)のノードに相当する0個以上のオブジェクトタイプに間接的に属する。
オブジェクトタイプがツリー状の階層構造を持つ場合、あるオブジェクトタイプのアクションセットは、配下のオブジェクトタイプに共通のアクションセットにあたる。例えば、ある「製品」に対応するアクションセットは、当該製品の各「バージョン」に共通のアクションセットにあたる。配下のオブジェクトタイプに共通するアクションセットがない場合は、オブジェクトのアクションセットとしては、配下のオブジェクトタイプのアクションセットのみが使用される。
このようなオブジェクトタイプの階層の特徴として、オブジェクトタイプの粒度が小さいほど、当該オブジェクトタイプに対応するアクションセットは、専門性が高く、特化したアクションセットとなり、オブジェクトタイプの粒度が大きいほど、当該オブジェクトタイプに対応するアクションセットは、専門性が低く、汎化したアクションセットとなる。一般に、専門性の高いアクションセットのほうが、詳細・厳密なアクセス制御内容を記述できる。
なお、たまたま同一のアクションセットが複数のオブジェクトタイプに対応する場合もある。例えば、ある製品の複数のバージョンについて、たまたま同じアクションセットが対応している場合などが考えられる。しかし、オブジェクトタイプとアクションセットとの組としては、オブジェクトタイプが異なる限りにおいて、独立した別々の組として扱う。このようなアクションセットを共通のアクションセットとして扱いたい場合には、オブジェクトタイプのツリーにおいて当該オブジェクトタイプ群を子としたときに親の関係にあたるオブジェクトタイプを置き、親オブジェクトタイプのアクションセットとして扱う。この場合、親子関係にあるオブジェクトタイプ同士で同一のアクションセットに対応することとなるが、この際もオブジェクトタイプとアクションセットとの組としては、独立した別々の組として扱う。
また、同一のオブジェクトタイプが複数のアクションセットに対応することはないものとする。もし、そのようなオブジェクトタイプを必要とする場合は、当該オブジェクトタイプの配下に、当該オブジェクトタイプが対応するアクションセット1つ毎に、当該オブジェクトタイプを親としたときに子の関係にあたるオブジェクトタイプを置き、子のオブジェクトタイプとアクションセットとを対応させる。
さらに、アクセス制御内容が矛盾なく一意に決定できる正しいアクセス権可否を生成するためには、1つのオブジェクトに対し、アクションセットが一意に決定される必要がある。例えば、あるオブジェクトに対して、オブジェクトタイプの階層に跨って、特化したアクションセットと汎化したアクションセットとの両方を使用してしまうと、アクションセット間で意味的に近いまたは意味的に内包されたアクション同士を同時に扱うこととなり、そのようなアクション間で異なる可否識別子を指定するとアクセス権可否に矛盾が発生することとなり、同一の可否識別子を指定すると無意味で重複したアクセス権可否が生成されることとなる。
まとめると、オブジェクトタイプには階層があるため、オブジェクトとオブジェクトタイプは、直接的には1:1対応であり、間接的には1:n対応である。また、オブジェクトタイプとアクションセットは、1:1対応である。したがって、オブジェクトとアクションセットは、直接的には1:1対応であり、間接的には1:n対応である。ただし、アクセス制御実施手段に受け渡されるアクセス権可否において、オブジェクトとアクションセットは1:1の対応関係に限定されていなければならない。
このような特徴を持つオブジェクトに対し、複数のオブジェクトタイプ・アクションセットに跨ってアクセス制御ポリシーを記述し、作成負担を軽くしながら、アクセス制御内容が矛盾なく一意に決定できる正しいアクセス権可否を生成したいというニーズがある。
より具体的には、ルール作成者は、アクセス制御ポリシーによる抽象的な記述を用いてアクセス制御リストを生成することにより、アクセス制御リストの作成負担の軽減を図りたいというニーズとともに、必要に応じて特定のベンダー・製品・バージョン・エディション・ライセンス・インタフェースなどに特化した具体的で詳細なアクセス制御も行いたいというニーズも持つ。
関連技術のアクセス制御方法によると、単純にすべてのオブジェクトについて、最も小さい粒度のオブジェクトタイプとしてアクションセットを指定しアクセス権可否を生成してしまうと、特化した具体的で詳細なアクセス制御を行うことはできるものの、アクセス制御リストの作成負担の軽減を図ることができない、という問題がある。
例えば、オブジェクトタイプとして、複数の「ベンダー」、ベンダー毎に複数の「製品」、製品毎に複数の「バージョン」、バージョン毎に複数の「エディション」、エディション毎に複数の「ライセンス」、ライセンス毎に複数の「インタフェース」が存在し、それらを組み合わせて用いたシステムが存在する場合を考える。各オブジェクトタイプに対応するアクションセットは、それぞれ異なる。このような場合、それぞれのオブジェクトタイプに属するオブジェクト同士について、アクセス制御ポリシー上で最も小さい粒度を用いて権限可否を記述するには、アクションセットが異なるため、別々の権限可否を記述する必要がある。特化した具体的で詳細なアクセス制御を行う必要があるオブジェクトが一部のみであっても、異なるオブジェクトタイプに属するオブジェクトはすべて別々の権限可否となるため、アクセス制御ポリシーにおける権限可否の記述が増えて膨大な数となり、アクセス制御リストの作成負担が大きくなってしまう。
アクセス制御リストの作成負担を軽減するためには、アクセス制御リストを、より大きな粒度のオブジェクトタイプに属するオブジェクトグループや、より大きな粒度のオブジェクトタイプに属するオブジェクトを用いて、できるだけ少量のオブジェクトグループやアクセス制御ポリシーで定義する必要がある。したがって、小さな粒度のオブジェクトタイプに対応した専門性が高く特化したアクションセットのみならず、大きな粒度のオブジェクトタイプに対応した専門性が低く汎化したアクションセットを併用する必要がある。
また、関連技術のアクセス制御方法によると、複数のオブジェクトタイプ・アクションセットに跨るオブジェクトグループに対応するアクションセットを決定することができない、という問題がある。
例えば、「製品」の階層のオブジェクトタイプを持つオブジェクトと、「バージョン」の階層のオブジェクトタイプを持つオブジェクトとが属するオブジェクトグループが存在すると、当該オブジェクトグループに対し、アクションセットとして、いずれのオブジェクトタイプを仕様すべきか、または、まったく別のオブジェクトタイプに対応するアクションセットを使用すべきかを決定することができない。
さらに、関連技術のアクセス制御方法によると、複数のオブジェクトタイプ・アクションセットに跨るオブジェクトグループについて、それら複数のアクションセットに含まれるアクションを単純に足し合わせたものを、当該オブジェクトグループのアクションセットとして使用する方法が有り得るが、このような方法では、アクセス制御ポリシー内で矛盾や重複が発生し、アクセス制御内容が矛盾なく一意に決定できる正しいアクセス権可否を生成できない、という問題がある。
例えば、「製品」の階層のオブジェクトタイプを持つオブジェクトと、「バージョン」の階層のオブジェクトタイプを持つオブジェクトとが属するオブジェクトグループが存在すると、当該オブジェクトグループに対し、アクションセットとして、「製品」のオブジェクトタイプに対応するアクションセットと、「バージョン」の階層のオブジェクトタイプに対応するアクションセットとを足し合わせた、大きなアクションセットを使用する方法が考えられる。この場合、大きなアクションセットの中には、アクション間で意味的に近いまたは意味的に内包されたアクションが含まれている。このようなアクション同士について、異なる可否識別子を指定するとアクセス権可否に矛盾が発生することとなり、同一の可否識別子を指定すると無意味で重複したアクセス権可否が生成されることとなる。
また、関連技術のアクセス制御方法によると、異なるアクションセットを用いた権限可否同士を記述したアクセス制御ポリシーについて、権限可否で指定しているオブジェクトグループ同士で属しているオブジェクトが重複した際に、当該オブジェクトまたはオブジェクトグループに対応するアクションセットが決定できない、もしくは、当該オブジェクトに複数のアクションセットが対応してしまい、アクセス制御内容が矛盾なく一意に決定できる正しいアクセス権可否を生成できない、または、順序制約を単純に適用すると、必要があって特化した専用性の高いアクションセットを使用しても、より優先度の高いルールが共通の汎用性の高いアクションセットを使用している場合は上書きされて専用性の高いアクションセットが使えない、という問題がある。
例えば、同じファイルF1が属しているオブジェクトグループOG1とOG2があるとき、OG1が「製品」の階層のオブジェクトタイプに対応するアクションセットを持ち、OG2が「バージョン」の階層のオブジェクトタイプに対応するアクションセットを持っている場合に、ファイルF1に対していずれのアクションセットが対応するのか決定できない、もしくは、ファイルF1に双方のアクションセットが対応してしまい、それらのアクションセット間で同一ではないが意味的に近いアクションを含む場合、意味的に矛盾したアクセス権可否が生成されてしまう、または、順序制約によって、「製品」のアクションセットが適用されてしまい、より専門性の高い「バージョン」のアクションセットが無効化されてしまう。
そこで、専門性の高いアクションセットを用いたアクセス権可否の生成を可能としつつ、アクセス権可否の作成者の負担を軽減することが課題となる。本発明の目的は、かかる課題を解決するアクセス制御システム、アクセス制御方法およびプログラムを提供することにある。
本発明の第1の視点に係るアクセス制御システムは、
1または2以上のオブジェクトから成る第1のオブジェクトグループと前記第1のオブジェクトグループに含まれるオブジェクトに対するアクションを要素とする第1のアクションセットとを含む第1のアクセス制御ルール、および、1または2以上のオブジェクトから成る第2のオブジェクトグループと前記第2のオブジェクトグループに含まれるオブジェクトに対するアクションを要素とする第2のアクションセットとを含む第2のアクセス制御ルール、ならびに、前記第1のアクセス制御ルールと前記第2のアクセス制御ルールとの間に課された順序制約を受け付ける受付手段と、
前記第1のオブジェクトグループに含まれる第1のオブジェクトと前記第2のオブジェクトグループに含まれる第2のオブジェクトが同一であるという第1の関係性が有るかどうかを判定するとともに、オブジェクトタイプ間のツリー状の階層関係において前記第1のオブジェクトが属するオブジェクトタイプが前記第2のオブジェクトが属するオブジェクトタイプの親ノードに相当するという第2の関係性が有るかどうか判定する判定手段と、
前記順序制約において前記第1のアクセス制御ルールの優先度が前記第2のアクセス制御ルールの優先度よりも高い場合において、前記第1の関係性および前記第2の関係性の少なくともいずれかが存在するとき、前記第1のオブジェクトグループに含まれる前記第1のオブジェクトに対して前記第2のアクションセットを適用するとともに、前記第1のオブジェクトグループに含まれる前記第1のオブジェクト以外のオブジェクトに対して前記第1のアクションセットを適用する適用手段と、を備える。
本発明の第2の視点に係るアクセス制御方法は、
コンピュータが、1または2以上のオブジェクトから成る第1のオブジェクトグループと前記第1のオブジェクトグループに含まれるオブジェクトに対するアクションを要素とする第1のアクションセットとを含む第1のアクセス制御ルールを受け付ける工程と、
1または2以上のオブジェクトから成る第2のオブジェクトグループと前記第2のオブジェクトグループに含まれるオブジェクトに対するアクションを要素とする第2のアクションセットとを含む第2のアクセス制御ルールを受け付ける工程と、
前記第1のアクセス制御ルールと前記第2のアクセス制御ルールとの間に課された順序制約を受け付ける工程と、
前記第1のオブジェクトグループに含まれる第1のオブジェクトと前記第2のオブジェクトグループに含まれる第2のオブジェクトが同一であるという第1の関係性が有るかどうかを判定する工程と、
オブジェクトタイプ間のツリー状の階層関係において前記第1のオブジェクトが属するオブジェクトタイプが前記第2のオブジェクトが属するオブジェクトタイプの親ノードに相当するという第2の関係性が有るかどうか判定する工程と、
前記順序制約において前記第1のアクセス制御ルールの優先度が前記第2のアクセス制御ルールの優先度よりも高い場合において、前記第1の関係性および前記第2の関係性の少なくともいずれかが存在するとき、前記第1のオブジェクトグループに含まれる前記第1のオブジェクトに対して前記第2のアクションセットを適用する工程と、
前記第1のオブジェクトグループに含まれる前記第1のオブジェクト以外のオブジェクトに対して前記第1のアクションセットを適用する工程と、を含む。
本発明の第3の視点に係るプログラムは、
1または2以上のオブジェクトから成る第1のオブジェクトグループと前記第1のオブジェクトグループに含まれるオブジェクトに対するアクションを要素とする第1のアクションセットとを含む第1のアクセス制御ルールを受け付ける処理と、
1または2以上のオブジェクトから成る第2のオブジェクトグループと前記第2のオブジェクトグループに含まれるオブジェクトに対するアクションを要素とする第2のアクションセットとを含む第2のアクセス制御ルールを受け付ける処理と、
前記第1のアクセス制御ルールと前記第2のアクセス制御ルールとの間に課された順序制約を受け付ける処理と、
前記第1のオブジェクトグループに含まれる第1のオブジェクトと前記第2のオブジェクトグループに含まれる第2のオブジェクトが同一であるという第1の関係性が有るかどうかを判定する処理と、
オブジェクトタイプ間のツリー状の階層関係において前記第1のオブジェクトが属するオブジェクトタイプが前記第2のオブジェクトが属するオブジェクトタイプの親ノードに相当するという第2の関係性が有るかどうか判定する処理と、
前記順序制約において前記第1のアクセス制御ルールの優先度が前記第2のアクセス制御ルールの優先度よりも高い場合において、前記第1の関係性および前記第2の関係性の少なくともいずれかが存在するとき、前記第1のオブジェクトグループに含まれる前記第1のオブジェクトに対して前記第2のアクションセットを適用する処理と、
前記第1のオブジェクトグループに含まれる前記第1のオブジェクト以外のオブジェクトに対して前記第1のアクションセットを適用する処理と、をコンピュータに実行させる。
なお、プログラムは、コンピュータ読み取り可能な記録媒体(non-transitory computer-readable storage medium)に記録されたプログラム製品として提供することができる。
本発明に係るアクセス制御システム、アクセス制御方法およびプログラムによると、専門性の高いアクションセットを用いたアクセス権可否の生成を可能としつつ、アクセス権可否の作成者の負担を軽減することが可能となる。
本発明に係るアクセス制御システムの構成を概略的に示すブロック図である。 関連技術のアクセス制御方法における順序制約の処理結果の一例である。 実施形態に係るアクセス制御システムの構成を一例として示すブロック図である。 実施形態に係るアクセス制御システムの動作を一例として示すフロー図である。 オブジェクトグループ生成処理の動作を一例として示すフロー図である。 ポリシー生成処理の動作を一例として示すフロー図である。 実施形態に係るアクセス制御システムにおける同一粒度の権限可否間の順序制約の処理結果の一例である。 実施形態に係るアクセス制御システムにおける2階層の粒度の権限可否間の順序制約の処理結果の一例である。 実施形態に係るアクセス制御システムにおける3階層の粒度の権限可否間の順序制約の処理結果の一例である。 関連技術のアクセス制御方法における順序制約の処理結果のその他の一例である。 実施形態に係るアクセス制御システムにおける互いに疎な重複部分を持つ権限可否間の順序制約の処理結果の一例である。 実施形態に係るアクセス制御システムにおける互いに疎な重複部分を持つ権限可否間の順序制約の処理結果のその他の一例である。 アクセス権可否生成処理の動作を一例として示すフロー図である。
(実施形態)
実施形態に係るアクセス制御システムについて、図面を参照して説明する。まず、本実施形態で用いる用語について説明する。
「アクセス権」は、特定のサブジェクト(s)、オブジェクト(o)、アクション(a)の組を意味する。
「アクセス権可否」は、特定のアクセス権と、アクセス権に対する許可または拒否を示す識別子との組を意味する。
「権限」は、特定のオブジェクト(o)、アクション(a)の組を意味する。
「権限可否」は、特定の権限と、権限に対する許可または拒否を示す識別子との組を意味する。したがって、アクセス権可否は、特定のサブジェクトと権限可否との組でもある。
「アクション可否」は、特定のアクションと、アクションに対する許可または拒否を示す識別子との組を意味する。したがって、権限可否は、特定のオブジェクトとアクション可否との組でもある。
「ロール」は、権限可否の集合に対して付与される識別子である。一般に、所属部署や役職、担当するプロジェクト・業務内容・作業項目などの識別子が使用される。各ロールについて、識別子以外に、別途、ユーザインタフェースなどで用いるための表示名称を持つ場合もある。ロール自身を指す識別子の他に、ロール階層を表現するため、親ノードや子ノードにあたるロールの識別子やパスの情報を持つ場合もある。
「ロール階層」は、組織構造などに基づくロールの階層関係を意味する。一般に、ロール階層は多段階の階層を持つ木構造となる。例えば、ある企業「A株式会社」のロール階層は、1つの木構造となり、「A株式会社」を根とし、その配下に「総務部」と「経理部」を持ち、さらに「総務部」の配下に「秘書課」と「広報課」を持つ。
「ロール継承」および「継承」は、ロール階層に基づく継承関係を意味する。例えば、上記のロール階層における例では、「秘書課」ロールは「総務部」ロールを継承しており、「総務部」ロールは「A株式会社」ロールを継承している。ロールを継承することにより、継承先のロールは、継承元のロールの権限可否の集合を引き継ぐ。継承先の集合は、継承元の集合よりも優先度が高く、継承元の権限可否を継承先の権限可否で修正することができる。したがって、継承先のロールを持つサブジェクトは、継承元のロールと継承先のロールの両者の権限可否の集合が適用されるが、両者で同じ権限について可否との組合わせが異なる場合は、継承先の権限可否が適用される。なお、あるロールが継承元とするロールは、1つのみである。
「直系ロール」および「直系」は、継承を子が親を継承する親子関係と見た場合に、ある任意のロールから見て直系の関係にあるロールであり、当該ロールと、先祖にあたるロールと、子孫にあたるロールとを合わせた集合である。したがって、木構造において、直系ロールは、当該ロールと、当該ロールから継承元を根まで辿る際に到達するロール群と、当該ロールから継承先を葉まで辿る際に到達するロール群とを合わせた集合となる。
「サブジェクト」は、アクセス主体、アクセス権を行使するアクセス元となる存在を示す識別子である。アクセス権可否に基づいてアクセス制御を行うアクセス制御実施機能では、一般的に、ユーザIDなど、人・ソフトウェア・装置などにシステム上での識別子を付与して使用する。会員番号・社員番号・製造番号などの一意性を持った識別子や、氏名などの個人を特定する情報や、システム独自の値をそれらと紐付けて用いる場合もある。サブジェクトについて、識別子以外に、ユーザインタフェースなどで用いるための表示名称を持つ場合もある。
「サブジェクト割当」は、ロールに対するサブジェクトの割当の定義である。記述形式としては、サブジェクトとロールとの組として記述する。一般的に、各サブジェクトは複数のロールを持ち得るが、アクセス権可否の矛盾の発生を禁止するため、各サブジェクトがせいぜい1個のロールを持つか、複数のロールを同時に行使できないよう制限する場合もある。一般的に、ロールを持たない(0個のロールを持つ)サブジェクトは、権限を持たない。対象となるアクセス制御実施機能が対応していれば、アクセス権のサブジェクトについて、サブジェクトを指定する代わりに、ロールを指定してもよい。したがって、アクセス権可否の集合は、サブジェクトの集合と権限可否の集合との組、あるいは、ロールと権限可否の集合との組でもある。
「オブジェクトタイプ」は、少なくとも、オブジェクトタイプの識別子と、当該オブジェクトタイプと他のオブジェクトタイプとのツリー状の階層関係を示すパスや子ノード・親ノードなどを示す識別子とで構成される。各オブジェクトタイプについて、識別子以外に、別途、ユーザインタフェースなどで用いるための表示名称を持つ場合もある。
「アクションセット」は、少なくとも、アクションセットの識別子と、当該アクションセットの持つアクションの識別子の集合と、当該アクションセットが対応するオブジェクトタイプの識別子とで構成される。各アクションについて、識別子以外に、別途、ユーザインタフェースなどで用いるための表示名称を持つ場合もある。
「オブジェクト」は、少なくとも、オブジェクトの識別子と、当該オブジェクトの属するオブジェクトタイプを示す識別子とで構成される。当該オブジェクトの存在する場所や、当該オブジェクトと他のオブジェクトとの関係を示すパス(ファイルパスなど)や子ノード・親ノードなどを示す識別子を持つ場合もある。オブジェクトについて、識別子以外に、ユーザインタフェースなどで用いるための表示名称を持つ場合もある。
なお、オブジェクトは、直接的には高々1個のオブジェクトタイプに属し、間接的には0個以上のオブジェクトタイプに属する。したがって、オブジェクトは、直接的には高々1個のアクションセットに対応し、間接的には0個以上のアクションセットに対応する。また、オブジェクト間の関係として、典型的には包含関係や継承関係などのツリー状の階層関係があり、ツリー上で根側にあるオブジェクトは、葉側にある0個以上のオブジェクトをまとめたものとして扱うことができる。そのため、オブジェクトの集合同士で重複の有無を判定する際は、同一のオブジェクトの有無以外に、階層関係を持つオブジェクトの有無も見る必要がある。
「オブジェクトグループ」は、少なくとも、オブジェクトグループの識別子と、当該オブジェクトグループの属するオブジェクトタイプを示す識別子と、当該オブジェクトグループと他のオブジェクトグループとのツリー状の階層関係を示すパスや子ノード・親ノードなどを示す識別子と、当該オブジェクトグループに含まれるオブジェクトの識別子の集合とで構成される。各オブジェクトグループについて、識別子以外に、別途、ユーザインタフェースなどで用いるための表示名称を持つ場合もある。
なお、オブジェクトグループは、オブジェクトと同様に、直接的には高々1個のオブジェクトタイプに属し、間接的には0個以上のオブジェクトタイプに属する。したがって、オブジェクトグループは、オブジェクトと同様に、直接的には高々1個のアクションセットに対応し、間接的には0個以上のアクションセットに対応する。また、オブジェクトグループに含まれるオブジェクトが直接的に属するオブジェクトタイプは、当該オブジェクトグループが直接的に属するオブジェクトタイプと比較すると、粒度が等しいか小さい。そのため、オブジェクトグループが直接的/間接的に対応しているアクションセットについては、当該オブジェクトグループに含まれるオブジェクトも直接的か間接的に対応している。逆に、オブジェクトグループに含まれるオブジェクトが対応しているアクションセットであっても、当該オブジェクトグループや、当該オブジェクトグループに含まれる他のオブジェクトが対応するとは限らない。
「アクセス制御ルール」および「ルール」は、権限可否の集合を定義する記述である。典型的には、少なくとも、オブジェクトグループとアクションセットと各アクションの可否識別子との組として記述する。
「アクセス制御ポリシー」および「ポリシー」は、ロールに対応する、順序制約を伴うアクセス制御ルールのリストである。
アクセス制御ポリシーやアクセス制御ルールの「矛盾」とは、アクセス制御ポリシーやアクセス制御ルールの定義しているアクセス権可否について、複数のアクセス制御ポリシーやアクセス制御ルールの間で同時に指定できない、アクセス制御として両立しない内容が指定されることを指す。最も基本的な矛盾は、同一のアクセス権について、許可の識別子を持つアクセス権可否と、拒否の識別子を持つアクセス権可否の両方を指定した場合である。それ以外に本発明で扱う矛盾として、あるオブジェクトについて、アクションセットをせいぜい1つのみと定めているため、同一のオブジェクトについて、異なるアクションセットを持つアクセス権可否が指定された場合も矛盾となる。
なお、オブジェクトタイプにはツリー状の階層関係があるので、あるオブジェクトに対応可能なアクションセットとしては、当該オブジェクトが直接属しているオブジェクトタイプのアクションセットの他に、間接的に属しているオブジェクトタイプのアクションセットが存在する場合がある。すなわち、オブジェクトには、対応可能なアクションセットが複数存在し得る。しかし、アクセス制御実施機能に出力するアクセス制御可否の集合においては、ある1つのオブジェクトについて、1つのアクションセットのみが指定されている必要がある。同一のオブジェクトに複数のアクションセットが指定されていると、意味的に近いあるいは意味的に内包されたアクション同士を同時に扱うこととなり、そのようなアクション間で異なる可否識別子を指定するとアクセス権可否に矛盾が発生することとなり、同一の可否識別子を指定すると無意味で重複したアクセス権可否が生成されることとなる。このとき、アクセス制御内容が矛盾なく一意に決定できる正しいアクセス権可否を生成することができない。したがって、最終的に生成される(アクセス制御実施機能に出力される)アクセス権可否の集合においては、あるオブジェクトについて、アクションセットがせいぜい1つのみとなるよう、アクセス制御ポリシーを生成する必要がある。
「順序制約」は、複数のアクセス制御ルールが存在するとき、あるアクセス制御ルールによって定義された権限可否の集合と、別のアクセス制御ルールによって定義された権限可否の集合との間で、矛盾する権限可否が存在する場合があるため、いずれの権限可否を採用すべきかを定める制約条件・処理規則である。一般的な順序制約である「ファーストマッチ」においては、アクセス制御ルールの記述された順序に基づき、後に記述されたアクセス制御ルールによって定義された権限可否よりも、先に記述されたアクセス制御ルールによって定義された権限可否を優先的に採用する。この際、優先的に採用されるアクセス制御ルールのことを、「優先度が高い」と表現する。
図2を参照して、順序制約について説明する。ルール1〜3の3つのルールがあり、各ルール間で、部分的に、権限可否を定義しているオブジェクトに重複があるものとする。このような重複しているオブジェクトについて、複数のルール間で異なるアクション可否を指定すると矛盾が発生するため、順序制約を利用する。ルール1〜3が権限可否を定義しているオブジェクトの範囲を図にすると、図2のV01、V02、V03のようになる。各ルールの範囲は、他のルールの範囲との間で重複した領域を持つ。また、記述順序として、ルール1、ルール2、ルール3の順序で記述されており、順序制約として、ルール1が最も優先度が高く、ルール2がその次に優先度が高く、ルール3が最も優先度が低いものとする。
このとき、2つのルールが重複している領域のうち、ルール1とルール2の重なった領域では、優先度に基づき、ルール1が採用される。また、ルール2とルール3の重なった領域では、ルール2が採用される。さらに、ルール3とルール1の重なった領域ではルール1が採用される。また、3つのルールが重複している、ルール1とルール2とルール3の重なった領域では、ルール1が採用される。したがって、これらの3つのルール全体から導出される権限可否について、定義元となったルールの範囲を図示すると、V10のようになる。
図2を参照すると、ルール1は、自身の範囲のままとなる。一方、ルール2は、ルール1と重複する領域を除いた残りの範囲のみとなる。また、ルール3は、ルール1またはルール2と重複する領域を除いた残りの範囲のみとなる。このような順序制約に基づく処理によって、ある1つのオブジェクトの権限可否の定義について、ある1つのルールのみが定義元となるよう限定される。その結果、複数のルール間に存在していた矛盾も発生しなくなる。
次に、本実施形態に係るアクセス制御システムよって解決すべき課題について説明する。
図2の順序制約の処理例では、オブジェクトタイプおよびアクションセットの違いは考慮されていない。この例の処理を、そのまま、異なるオブジェクトタイプを用いたアクセス制御ルールの間に適用すると、高優先度のルールと低優先度のルールとの間で重複したオブジェクトについては、常に高優先度のルールのオブジェクトタイプおよびアクションセットとして扱われる。これにより、矛盾を解消することはできるが、低優先度のルールのオブジェクトタイプおよびアクションセットの情報は失われる。特に、低優先度のルールにおいて、粒度の小さい具体的なオブジェクトタイプを選択し、特化した専門性の高いアクションセットを使用していた場合、当該オブジェクトのアクセス制御にとって必要があって選択したにも関わらず、順序制約の処理によって高優先度のルールに合わせて粒度の大きい抽象的なオブジェクトタイプとして扱われることで、それが失われてしまう。
これでは、オブジェクトタイプを混在して使用できる意味がないため、粒度の小さい具体的なオブジェクトタイプや特化した専門性の高いアクションセットの情報を反映させる必要がある。しかし、単純に、すべてのルールを最も粒度の小さいオブジェクトタイプとして扱うのでは、特化した具体的で詳細なアクセス制御を行う必要があるオブジェクトが一部のみであっても、多数存在する小さな粒度のオブジェクトタイプ毎に別々の権限可否の定義を記述しなければならないため、アクセス制御ポリシーにおける権限可否の記述が増えて膨大な数となり、アクセス制御リストの作成負担が大きくなってしまう。
したがって、大きな粒度のオブジェクトタイプのオブジェクトグループやオブジェクトを用いたアクセス制御ポリシーにより、できるだけ少量の抽象的な記述を用いてアクセス制御リストを生成することでアクセス制御リストの作成負担の軽減を図りつつ、必要に応じて特定のベンダー・製品・バージョン・エディション・ライセンス・インタフェースなどに特化した具体的で詳細なアクセス制御も行うことができるようにする必要がある。
次に、本実施形態に係るアクセス制御システムを、図面を参照して説明する。図3は、本実施形態に係るアクセス制御システムの構成を一例として示すブロック図である。図3を参照すると、アクセス制御システムは、アクセス権可否生成装置1、システム構成管理装置2、ID管理装置3、および、アクセス制御実施装置4を備える。
アクセス権可否生成装置1は、オブジェクトグループ編集部11、オブジェクトグループ格納部12、ポリシー編集部13、ポリシー格納部14、および、アクセス権可否生成部15を備える。システム構成管理装置2は、オブジェクトタイプ管理部21、オブジェクト管理部22、および、アクションセット管理部23を備える。ID管理装置3は、ロール管理部31およびサブジェクト管理部32を備える。
図3に示されているように、アクセス権可否生成装置1と、システム構成管理装置2と、ID管理装置3と、アクセス制御実施装置4とは、それぞれ別個のコンピュータシステムで構築されていてもよいし、一部または全部が同一のコンピュータシステムで実現されていてもよい。
アクセス権可否生成装置1は、具体的には、プログラムに従って動作する情報処理装置のCPU(Central Processing Unit)と、RAM(Random Access Memory)等の記憶媒体と、システム構成管理装置2と、ID管理装置3と、アクセス制御実施装置4と通信を行なうための通信インタフェースとによって実現することができる。
また、システム構成管理装置2は、具体的には、プログラムに従って動作する情報処理装置のCPUと、RAM等の記憶媒体と、アクセス権可否生成装置1とアクセス制御実施装置4と通信を行なうための通信インタフェースとによって実現することができる。
さらに、ID管理装置3は、具体的には、プログラムに従って動作する情報処理装置のCPUと、RAM等の記憶媒体と、アクセス権可否生成装置1と通信を行なうための通信インタフェースとによって実現することができる。
また、オブジェクトグループ格納部12、ポリシー格納部14、オブジェクトタイプ管理部21、オブジェクト管理部22、アクションセット管理部23、ロール管理部31、および、サブジェクト管理部32は、具体的には、プログラムに従って動作する情報処理装置のCPUと、RAMやハードディスク等の記憶媒体によって実現することができる。
アクセス権可否生成装置1は、システム構成管理装置2と、ID管理装置3から、オブジェクトグループを生成するために必要な情報と、ポリシーを生成するために必要な情報と、ポリシーからアクセス権可否を生成するために必要な情報を取得し、オブジェクトグループを生成し、オブジェクトグループを用いてポリシーを生成し、ポリシーからアクセス権可否を生成し、アクセス権可否をアクセス制御実施装置4に対して出力する。
アクセス制御実施装置4は、アクセス権可否生成装置1から入力されたアクセス権可否に基づいて、アクセス制御を実施する。
ここでは、オブジェクトの種類、および、オブジェクトに対してアクションを行うために必要なソフトウェアの製品・バージョン・エディション・ライセンスの違いなどを「オブジェクトタイプ」と定義する。オブジェクトタイプ管理部21は、オブジェクトタイプ間の関係に関する情報を記憶する。
オブジェクト管理部22は、オブジェクトとオブジェクトの属するオブジェクトタイプとの関係に関する情報を記憶する。
アクションセット管理部23は、アクションの集合であるアクションセットとアクションセットに属するアクションとの関係に関する情報と、アクションセットとアクションセットの対応するオブジェクトタイプとの関係に関する情報とを記憶する。
ロール管理部31は、ロール間の継承関係に関する情報を記憶する。
サブジェクト管理部32は、ロールとロールに属するサブジェクトとの関係に関する情報を記憶する。
オブジェクトグループ格納部12は、オブジェクトの集合であるオブジェクトグループとオブジェクトグループに属するオブジェクトとの関係に関する情報と、オブジェクトグループとオブジェクトグループの属するオブジェクトタイプとの関係に関する情報とを記憶する。
オブジェクトグループ編集部11は、オブジェクト管理部22に記憶されているオブジェクトの情報と、オブジェクトタイプ管理部21に記憶されているオブジェクトタイプの情報とを用いて、任意のオブジェクトタイプに属する任意のオブジェクトのオブジェクトグループの編集機能を提供し、編集機能によって生成されたオブジェクトグループをオブジェクトグループ格納部12に記憶する。
ここでは、オブジェクトグループとアクションセットとオブジェクトグループに対してアクションセットに属する各アクションを許可または拒否するかを示す可否識別子との組を「アクセス制御ルール」と定義する。
ポリシー格納部14は、ロールに対応して、順序制約のあるアクセス制御ルールを記憶する。
ポリシー編集部13は、ロール管理部31に格納されているロールの情報と、オブジェクトグループ格納部12に記憶されているオブジェクトグループの情報と、オブジェクトグループとオブジェクトタイプとの関係に関する情報と、アクションセット管理部23に記憶されているアクションセットの情報と、アクションセットとオブジェクトタイプとの関係に関する情報とを用いて、任意のロールに対して順序制約のある任意のオブジェクトグループのアクセス制御ルールを編集する機能を提供し、編集機能によって生成されたロールに対応する順序制約のあるアクセス制御ルールのリストをアクセス制御ポリシーとしてポリシー格納部14に記憶する。
また、ポリシー編集部13は、アクセス制御ルールに属するオブジェクトグループ間でオブジェクトタイプの違いがあり、かつ、オブジェクトの重複がある場合に、当該オブジェクトに対応するアクションセットについて、オブジェクトグループに対応するアクションセットと比較して同じかより小さい粒度でアクセス制御が可能なアクションセットを選択する。
アクセス権可否生成部15は、ポリシー格納部14に記憶されているポリシーの情報と、ロール管理部31に格納されているロール間の継承関係に関する情報と、サブジェクト管理部32に記憶されているロールとサブジェクトとの関係に関する情報と、オブジェクトグループ格納部12に記憶されているオブジェクトグループとオブジェクトとの関係に関する情報とを用いて、次のように動作する。
アクセス権可否生成部15は、ポリシーの持つアクセス制御ルールに対し、ロール間の継承関係で示されるポリシーの対応するロールの継承元ロールに対応してポリシー格納部14に記憶されている継承元ロールのポリシーのアクセス制御ルールを抽出して結合し、ロールに対応してロールの継承関係を処理済みの順序制約のあるアクセス制御ルールを生成する。
また、アクセス権可否生成部15は、アクセス制御ポリシーのオブジェクトグループに対し、オブジェクトグループ格納部12に記憶されているオブジェクトグループとオブジェクトとの関係に関する情報を用いて、アクセス制御グループのオブジェクトグループをオブジェクトの集合で置き換える。
さらに、アクセス権可否生成部15は、アクセス制御ポリシーの対応するロールに対し、サブジェクト管理部32に記憶されているロールとサブジェクトとの関係に関する情報を用いて、アクセス制御グループに対応するロールをサブジェクトの集合で置き換える。
また、アクセス権可否生成部15は、サブジェクトとオブジェクトとアクションとサブジェクトがオブジェクトに対してアクションを行うことを許可または拒否するかを示す可否識別子との組を「アクセス権可否」と定義するとき、ロールに対応するアクセス制御ポリシーからアクセス権可否を生成し、アクセス制御実施装置4に対して出力する。
アクセス制御実施装置4は、アクセス権可否を入力すると、アクセス権可否にしたがって、サブジェクトがオブジェクトに対してアクションを行うことを許可または拒否する。
図4を参照して、本実施形態に係るアクセス権可否生成装置1の動作について説明する。
(1)ステップA1
オブジェクトグループ編集部11は、ルール作成者に対し、オブジェクトグループ編集部11を用いて、オブジェクトグループを編集するための編集画面を提供する。また、オブジェクトグループ編集部11は、編集画面での編集結果を用いてオブジェクトグループを生成し、オブジェクトグループ格納部12に出力・記憶する。
(2)ステップA2
次に、ポリシー編集部13は、ルール作成者に対し、アクセス制御ポリシーを編集するための編集画面を提供する。また、ポリシー編集部13は、編集画面での編集結果を用いてアクセス制御ポリシーを生成し、ポリシー格納部14に出力・記憶する。
(3)ステップA3
次に、アクセス権可否生成部15は、アクセス制御ポリシーからアクセス権可否を生成し、アクセス制御実施装置4に対して出力する。
(4)ステップA4
次に、アクセス制御実施装置4は、アクセス権可否生成部15から出力されたアクセス権可否に基づいて、アクセス制御処理を実施する。
図5を参照して、オブジェクトグループ生成処理(図4のステップA1)における動作について詳細に説明する。
(1)ステップA101
オブジェクトグループ編集部11は、オブジェクトタイプ管理部21から、オブジェクトタイプの選択画面の生成に使用するため、オブジェクトタイプのリストを取得する。
(2)ステップA102
次に、オブジェクトグループ編集部11は、取得済みのオブジェクトタイプのリストを用いて、オブジェクトタイプの選択画面を表示する。この画面は、ルール作成者が、これから生成するオブジェクトグループの属するオブジェクトタイプを指定するために用いる。
(3)ステップA103
次に、ルール作成者は、オブジェクトタイプ選択画面を用いて、任意のオブジェクトタイプを選択する。オブジェクトグループ編集部11は、選択されたオブジェクトタイプを取得する。
(4)ステップA104
次に、オブジェクトグループ編集部11は、オブジェクト管理部22から、ルール作成者の選択したオブジェクトタイプに属するオブジェクトのリストを取得する。このステップにより、これから生成するオブジェクトグループに含まれるオブジェクトが、特定のオブジェクトタイプに属するもののみに限定される。これにより、当該オブジェクトグループのオブジェクトタイプが一意に決まる。ただし、これらのオブジェクトは、当該オブジェクトタイプに直接属するもの以外に、間接的に属するものも含まれる。例えば、特定製品のオブジェクトタイプを持つオブジェクトグループには、製品のオブジェクトタイプに直接属するオブジェクト以外に、間接的に属している当該製品の特定バージョンのオブジェクトも含むことができる。
(5)ステップA105
次に、オブジェクトグループ編集部11は、取得済みのオブジェクトのリストを用いて、オブジェクトの選択画面を表示する。この画面は、ルール作成者が、これから生成するオブジェクトグループに含めるオブジェクトを指定するために用いる。
(6)ステップA106
次に、ルール作成者は、オブジェクト選択画面を用いて、任意のオブジェクトを選択する。オブジェクトグループ編集部11は、選択されたオブジェクトを取得する。ここで選択・取得されるオブジェクトは、ステップA104の処理によって、ステップA103で選択されたオブジェクトタイプに直接/間接に属するオブジェクトのみに限定されている。
(7)ステップA107
次に、オブジェクトグループ編集部11は、ルール作成者の選択したオブジェクトタイプに属し、ルール作成者の選択したオブジェクトを含む、オブジェクトグループを生成し、オブジェクトグループ格納部12に出力・記憶する。
図6を参照して、ポリシー生成処理(図4のステップA2)における動作について詳細に説明する。
(1)ステップA201
ポリシー編集部13は、ロール管理部31から、ロールの選択画面の生成に使用するため、ロールのリストを取得する。
(2)ステップA202
次に、ポリシー編集部13は、取得済みのロールのリストを用いて、ロールの選択画面を表示する。この画面は、ルール作成者が、これから作成するアクセス制御ポリシーの対応付くロールを指定するために用いる。
(3)ステップA203
次に、ルール作成者は、ロール選択画面を用いて、任意のロールを選択する。ポリシー編集部13は、選択されたロールを取得する。
(4)ステップA204
次に、ポリシー編集部13は、オブジェクトタイプ管理部21から、オブジェクトタイプの選択画面の生成に使用するため、オブジェクトタイプのリストを取得する。
(5)ステップA205
次に、ポリシー編集部13は、取得済みのオブジェクトタイプのリストを用いて、オブジェクトタイプの選択画面を表示する。この画面は、ルール作成者が、これから生成するアクセス制御ポリシーのアクセス制御ルールに使用する、オブジェクトグループの属するオブジェクトタイプを指定するために用いる。
(6)ステップA206
次に、ルール作成者は、オブジェクトタイプ選択画面を用いて、任意のオブジェクトタイプを選択する。ポリシー編集部13は、選択されたオブジェクトタイプを取得する。
(7)ステップA207
次に、ポリシー編集部13は、オブジェクトグループ格納部12から、ルール作成者の選択したオブジェクトタイプに属するオブジェクトグループのリストを取得する。ステップA207により、これから生成するアクセス制御ポリシーのアクセス制御ルールにおいて使用されるオブジェクトグループが、特定のオブジェクトタイプに属するもののみに限定される。これにより、当該アクセス制御ルールにおいて、当該オブジェクトグループに対応するアクションセットが一意に決まる。
(8)ステップA208
次に、ポリシー編集部13は、取得済みのオブジェクトグループのリストを用いて、オブジェクトグループの選択画面を表示する。この画面は、ルール作成者が、これから生成するアクセス制御ポリシーのアクセス制御ルールに使用するオブジェクトグループを指定するために用いる。
(9)ステップA209
次に、ルール作成者は、オブジェクトグループ選択画面を用いて、任意のオブジェクトグループを選択する。ポリシー編集部13は、選択されたオブジェクトグループを取得する。
(10)ステップA210
次に、ポリシー編集部13は、アクションセット管理部23から、ステップA206でルール作成者の選択したオブジェクトタイプ、あるいはステップA209でルール作成者の選択したオブジェクトグループの属するオブジェクトタイプに対応する、アクションセットを取得する。ステップA210により、これから生成するアクセス制御ポリシーのアクセス制御ルールにおいて使用される、オブジェクトグループと対応する適切なアクションセットについて、ユーザが意識して選択することなく、自動的に表示することが可能となる。オブジェクトグループが、間接的に複数のアクションセットに対応している場合、それらのアクションセットのうち、最も粒度の小さなオブジェクトタイプに対応するアクションセットが表示される。これは一般に、オブジェクトグループが、直接的に属するオブジェクトタイプの対応するアクションセットとなる。
(11)ステップA211
次に、ポリシー編集部13は、取得済みのオブジェクトグループと、取得済みのアクションセットとを用いて、当該オブジェクトグループと、当該アクションセットと、当該アクションセットの各アクションに対応する可否識別子の選択肢との組で構成されたアクセス制御ルールを表示する。
(12)ステップA212
次に、ポリシー編集部13は、オブジェクトグループ格納部12と、ポリシー格納部14と、オブジェクトタイプ管理部21と、オブジェクト管理部22と、ロール管理部31とを参照し、編集中のアクセス制御ルールとの比較において、権限可否の定義の対象とするオブジェクトが重複している別のルールの存在の有無をチェックする。
存在する場合(ステップA212のYes)、ステップA213へ進む。一方、存在しない場合(ステップS212のNo)、ステップA215へ進む。ロール継承が存在するため、重複する可能性のあるルールは、編集中のアクセス制御ルールを含むアクセス制御ポリシーと、当該アクセス制御ポリシーの対応するロールからみて直系にあたるロールに対応するアクセス制御ポリシーのルールとなる。
なお、オブジェクトの重複のパターンには、2通りある。1つ目のパターンは、もともと高優先度側のルールのオブジェクトグループの中に、高優先度側のルールのオブジェクトタイプに直接属するオブジェクト以外に、間接的に属するオブジェクトも存在しているため、これが低優先度側のルールのオブジェクトタイプに直接/間接に属している場合である。例えば、高優先度側のルールが特定製品のオブジェクトタイプを持ち、低優先後側のルールが特定製品の特定バージョンのオブジェクトタイプを持つ場合に、双方のルールのオブジェクトグループに、特定製品の特定バージョンのオブジェクトタイプに属する同一のオブジェクトが含まれている場合などである。
もう1つのパターンは、高優先度側のルールのオブジェクトグループのオブジェクトと、低優先度側のルールのオブジェクトグループのオブジェクトとについて、オブジェクト自体は同一ではないが、それらのオブジェクトが属するオブジェクトタイプや当該オブジェクトの間に、ツリー状の階層関係がある場合である。例えば、前者が特定製品のオブジェクトタイプに属するオブジェクト、後者が特定製品の特定バージョンのオブジェクトタイプに属するオブジェクトで、前者のオブジェクトを構成する一部分が後者のオブジェクトである場合などである。
(13)ステップA213
次に、ポリシー編集部13は、対象とするオブジェクトが重複していることが分かった複数のルールについて、高優先度側のルールが、低優先度側のルールよりも、オブジェクトタイプの粒度が大きいかについて、チェックする。大きい場合(ステップA213のYes)、ステップA214へ進む。一方、小さいか等しい場合(ステップA213のNo)、ステップA215へ進む。
(14)ステップA214
次に、ポリシー編集部13は、オブジェクトの重複があるルールのうち、高優先度側のルールについて、当該ルールの本来のオブジェクトタイプに対応するアクションセットに加えて、低優先度側のルールのオブジェクトタイプに対応するアクションセットを追加で表示する。すなわち、高優先度側のルールのアクションセットを複数表示する。これにより、高優先度側のルールの対象とするオブジェクトのうち、低優先度側のルールと重複するオブジェクトあるいは低優先度側のルールと同じオブジェクトタイプに属するオブジェクトについてのみ、低優先度側と同様のアクションセットを適用する。高優先度側のルールは、オブジェクトタイプの粒度が大きく、オブジェクトタイプ間のツリー状の階層関係において葉側にあたる小さな粒度のオブジェクトタイプを、低優先度側のルールのオブジェクトタイプ以外にも持ち得る。そのため、低優先度側のルールのオブジェクトタイプに対応しないオブジェクトも含まれるので、高優先度側本来のオブジェクトタイプのアクションセットも残す。別の言い方をすれば、高優先度側のルールを分割し、低優先度側を上書きするための低優先度側と同一のオブジェクトタイプを持つルールと、高優先度側本来のオブジェクトタイプを持つ残りの部分のルールとに、切り分ける。
この処理によって、単純な順序制約の処理では失われてしまう、低優先度側のルールの持っていた粒度の小さいオブジェクトタイプの情報を残し、特化した専門性の高いアクションセットを必要な部分のみに適用する。
具体例としては、図2、図7〜図9、図10〜図12のようにオブジェクトの範囲の分割と、アクションセットの追加を行う。
これにより、順序制約を守りながら、アクセス制御リストの作成負担の軽減と、必要に応じた厳密で詳細なアクセス制御の実施とを、両立させる。
図2、図7〜図9を参照して、ステップA213、A214における動作について詳細に説明する。
図2は、権限可否を定義しているオブジェクトが互いに重複しているルールについて、単純な順序制約の処理を行った場合における、各ルールを採用するオブジェクトの範囲を示している。
図7〜図9は、図2のようなルール間において、オブジェクトタイプの組合わせによって、オブジェクトの範囲の分割と、アクションセットの追加が行われることを示している。
図7は、すべてのルールのオブジェクトタイプの粒度が大きい場合、すなわち、すべてのルールのオブジェクトタイプが互いに等しい場合を示している。この場合、ステップA213の判定処理においてNoとなり、ステップA214の処理が行われない。したがって、処理結果は、図2に示した、オブジェクトタイプを考慮しない単純な順序制約と同じ結果となる。なお、すべてのルールのオブジェクトタイプの粒度が小さい場合にも、同様の結果となる。
図8、図9は、ルール間で、オブジェクトタイプの粒度が異なる場合を示している。V24、V26、V36のように、すべてのルール間で高優先度側のルールのオブジェクトタイプの粒度が小さいか等しい場合は、ステップA213の判定処理においてNoとなり、ステップA214の処理が行われない。したがって、処理結果は、図2に示したオブジェクトタイプを考慮しない単純な順序制約と同じ結果となる。
それ以外の場合では、高優先度側のルールのオブジェクトタイプの粒度が大きいルール間において、高優先度側のルールに低優先度側のルールと同じ粒度のオブジェクトタイプのアクションセットを追加する。この際、高優先度側のルールにおいて権限可否を定義しているオブジェクトの範囲が分割され、追加された低優先度側のルールのオブジェクトタイプのアクションセットによって権限可否を定義されるオブジェクトと、高優先度側のルール本来のオブジェクトタイプのアクションセットによって権限可否を定義されるオブジェクトとに分かれる。追加された低優先度側のルールのオブジェクトタイプのアクションセットによって権限可否を定義されるオブジェクトは、典型的には、高優先度側のルールと低優先度側のルールの重複部分にあたるオブジェクトとなる。重複部分にあたるオブジェクトは、双方のルールのオブジェクトグループおよびオブジェクトを比較して抽出してもよいし、高優先度側のルールのオブジェクトおよび当該オブジェクトの一部分として包含されるオブジェクトの中で、低優先度側のルールのオブジェクトタイプに対応するものをすべて対象としてもよい。
アクションセットの追加に際しては、1つのルールの中でオブジェクトの重複部分やオブジェクトタイプ毎にアクションセットを持つものとして処理してもよいし、新たなルールの追加として処理してもよい。後者の場合は、順序制約で処理可能となるように、追加された粒度の小さいオブジェクトタイプのアクションセットを持つルールを、もとからある粒度の大きいオブジェクトタイプのルールからみて、1段階優先度の高いルールとして追加する。
補足として、図10〜図12に示すような、別の重複のパターンについて説明する。
図10では、最も優先度の高いルール1に対して、より優先度の低いルール2とルール3とが、互いに疎である場合における、単純な順序制約の処理を示している。
図10の重複のパターンでは、図11のV51〜V53に示すように、ルール1と他のルールとの関係において、図8、図9で説明した内容と同じく、高優先度のルールのほうがオブジェクトタイプの粒度が大きい場合に限り、オブジェクトの範囲の分割と、アクションセットの追加が行われる。
図10の重複のパターンにおける特徴的な例としては、図11のV50に示すように、ルール1以外のルール間でオブジェクトタイプが異なり、このルールのオブジェクト間が階層関係にない場合がある。例えば、ルール1(粒度:大)のオブジェクトタイプがある製品、ルール2(粒度:小A)のオブジェクトタイプが当該製品のバージョンA、ルール3(粒度:小B)のオブジェクトタイプが当該製品のバージョンB、などの場合である。この場合、ルール1(粒度:大)とルール2(粒度:小A)の間、ルール1(粒度:大)とルール3(粒度:小B)の間には、オブジェクトタイプに階層関係(親子関係)が存在するが、ルール2(粒度:小A)とルール3(粒度:小B)の間には、階層関係(親子関係)が存在しない(兄弟関係は存在する)。
このとき、ルール1においてオブジェクトの範囲の分割とアクションセットの追加が行われるが、ルール2とルール3はオブジェクトタイプが異なるため、ルール1に追加されるアクションセットは複数となる。この場合、ルール2と重複するオブジェクトにはルール2のオブジェクトタイプのアクションセットを適用し、ルール3と重複するオブジェクトにはルール3のオブジェクトタイプのアクションセットを適用し、残りのオブジェクトはルール1本来のオブジェクトタイプのアクションセットを適用する。なお、ルール2とルール3のオブジェクト同士は、オブジェクトタイプが異なり、階層関係もないので、重複することはない。
図12は、図10の重複のパターンにおける、図11以外のオブジェクトタイプの組み合わせを示している。
図12のV61〜V63に示すように、図10の重複のパターンにおいても、ルール間で高優先度側のルールのオブジェクトタイプの粒度が小さいか等しい場合は、ステップA213の判定処理においてNoとなり、ステップA214の処理が行われない。したがって、処理結果は、図10に示した、オブジェクトタイプを考慮しない単純な順序制約と同じ結果となる。
図12のV60に示すように、ルール2とルール3が互いに疎である場合においても、ルール2とルール3のオブジェクトタイプが同一であれば、ルール1とルール2の重複部分にあたるオブジェクトと、ルール1とルール3の重複部分にあたるオブジェクトとは、まとめて扱うことが可能であり、追加されるアクションセットも1つのみとすることが可能である。
(15)ステップA215
次に、ルール作成者は、アクセス制御ルールのアクションセットの各アクションに対応する可否識別子の選択肢を用いて、任意のアクション可否を選択する。ポリシー編集部13は、選択されたアクション可否を取得する。
(16)ステップA216
次に、ルール作成者は、同じオブジェクトタイプのルールの追加の有無について判断する。追加する場合は、ステップA209へ進む。追加しない場合は、ステップA217へ進む。
(17)ステップA217
次に、ルール作成者は、異なるオブジェクトタイプも含めた、ルールの追加の有無について判断する。追加する場合は、ステップA206へ進む。追加しない場合は、ステップA218へ進む。
(18)ステップA218
次に、ルール作成者は、アクセス制御ポリシーの追加の有無について判断する。追加する場合は、ステップA203へ進む。追加しない場合は、ステップA219へ進む。
(19)ステップA219
次に、ポリシー編集部13は、ルール作成者の選択した内容に沿ったアクセス制御ポリシーを生成し、ポリシー格納部14に出力・記憶する。
図13を参照して、アクセス権可否生成処理(図4のステップA4)における動作について詳細に説明する。
(1)ステップA301
アクセス権可否生成部15は、ポリシー格納部14から、アクセス権可否を定義したアクセス制御ポリシーのリストを取得する。
(2)ステップA302
次に、アクセス権可否生成部15は、ロール管理部31から、取得済みのアクセス制御ポリシーの対応するロール間の継承関係を確定するための、ロールのリストを取得する。
(3)ステップA303
次に、アクセス権可否生成部15は、取得済みのアクセス制御ポリシーのリストと、取得済みのロールのリストとを用いて、ロール継承の処理を行う。具体的には、処理対象のポリシーのロールからみて継承元となるロールのポリシーのルールを、処理対象のポリシーのルールの次に優先度の低いルールとして追加する。これにより、継承先のロールは、継承元のロールの権限可否を引き継ぎつつ、継承元のロールの権限可否と継承先のロールの権限可否とが矛盾する部分では、継承先のロールの権限可否を優先する。
(4)ステップA304
次に、アクセス権可否生成部15は、サブジェクト管理部32から、前記取得済みのアクセス制御ポリシーのロールに割り当てられたサブジェクトを特定するための、サブジェクト割当のリストを取得する。
(5)ステップA305
次に、アクセス権可否生成部15は、オブジェクトグループ格納部12から、前記取得済みのアクセス制御ポリシーのルールに使用されているオブジェクトグループに含まれるオブジェクトを特定するための、オブジェクトグループのリストを取得する。
(6)ステップA306
次に、アクセス権可否生成部15は、ロール継承処理済みのアクセス制御ポリシーに基づいて、対応するサブジェクトとオブジェクトの特定を行い、アクセス権可否を生成する。具体的には、アクセス権可否を構成するサブジェクトについては、取得済みのサブジェクト割当を参照し、当該ポリシーの対応するロールを割り当てられたサブジェクトを特定して利用する。アクセス権可否を構成するオブジェクトについては、取得済みのオブジェクトグループを参照し、当該ポリシーのルールに使用されているオブジェクトグループに含まれているオブジェクトを特定して使用する。アクセス権可否を構成するアクションと可否識別子については、ポリシーの各ルールに使用されているアクションセットと、そのアクション毎の可否識別子を使用する。
(7)ステップA307
次に、アクセス権可否生成部15は、生成済みのアクセス権可否を、アクセス制御実施装置4に出力する。
これにより、複数のオブジェクトタイプ・アクションセットに跨ってアクセス制御ポリシーを記述する上で、より専門性の高いアクションセットを用いたアクセス権可否の生成と、アクセス権可否の作成負担の軽減を両立し、そのようなアクセス制御ポリシーおよびアクセス権可否に沿ったアクセス制御実施が可能となる。
本実施形態によると、次の効果がもたらされる。
本実施形態では、ルール作成者は、アクセス制御ポリシーによる抽象的な記述を用いてアクセス権可否を生成する。
これにより、アクセス権可否の作成負担の軽減を図るとともに、必要に応じて特定のベンダー・製品・バージョン・エディション・ライセンス・インタフェースなどに特化した具体的で詳細なアクセス権可否を生成することができる(第1の効果)。
また、本実施形態では、複数のオブジェクトタイプ・アクションセットに跨るオブジェクトグループについて、オブジェクトグループの作成時に、ルール作成者にオブジェクトタイプを選択させ、選択されたオブジェクトタイプを用いて、オブジェクトグループの編集時に選択できるオブジェクトを予め選別しておく。
これにより、アクセス制御ポリシーの作成時に、複数のオブジェクトタイプ・アクションセットに跨ってオブジェクトグループを使用する場合でも、ルール作成者が意識することなく、オブジェクトグループに含まれるオブジェクトに対応可能なアクションセットを決定して提示することができる(第2の効果)。
また、本実施形態では、複数のオブジェクトタイプ・アクションセットに跨るオブジェクトグループについて、各オブジェクトタイプのアクションセットを単純に足し合わせて、すべてのオブジェクトを区別せずに足し合わせたアクションセットを対応させるのではなく、オブジェクトグループに含まれるオブジェクト毎に対応するアクションセットが1種類のみとなるよう、オブジェクトグループの中で、アクションセットの対象となるオブジェクトの範囲をオブジェクトの重複部分や粒度の小さいオブジェクトタイプ毎に分割して扱う。
これにより、複数のオブジェクトタイプ・アクションセットを使用してもアクセス制御ポリシー内で矛盾や重複が発生しないようにすることができる(第3の効果)。
また、本実施形態では、異なるオブジェクトタイプ・アクションセットのオブジェクトグループを用いたアクセス制御ルール間でのオブジェクトの重複について、順序制約に相当する処理によって、定義された権限可否の矛盾を回避しながら、単純な順序制約ではなく、オブジェクトタイプの粒度を考慮したアクションセットの選択と、当該アクションセットに対応させるオブジェクトの範囲の分割を行う。
これにより、必要があって特化した専用性の高いアクションセットを使用したルールについて、より優先度の高いルールが共通の汎用性の高いアクションセットを使用していても、上書きされて失われることのないようにすることができる(第4の効果)。
本発明によれば、企業などのシステムにおけるネットワークノード、仮想マシン、ファイル、データベース、アプリケーションなどに対するアクセス制御において、アクセス制御対象となるオブジェクトのオブジェクトタイプと、それに対応したアクションセットの情報を管理することで、それらの情報を使用し、より専門性の高いアクションセットを用いたアクセス権可否の生成と、アクセス権可否の作成負担の軽減を両立する機能を実現できるアクセス権可否生成装置およびアクセス制御実施機能を提供できる。
なお、上記の特許文献の開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素(各請求項の各要素、各実施形態の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
1 アクセス権可否生成装置
2 システム構成管理装置
3 ID管理装置
4 アクセス制御実施装置
11 オブジェクトグループ編集部
12 オブジェクトグループ格納部
13 ポリシー編集部
14 ポリシー格納部
15 アクセス権可否生成部
21 オブジェクトタイプ管理部
22 オブジェクト管理部
23 アクションセット管理部
31 ロール管理部
32 サブジェクト管理部

Claims (9)

  1. 1または2以上のオブジェクトから成る第1のオブジェクトグループと前記第1のオブジェクトグループに含まれるオブジェクトに対するアクションを要素とする第1のアクションセットとを含む第1のアクセス制御ルール、および、1または2以上のオブジェクトから成る第2のオブジェクトグループと前記第2のオブジェクトグループに含まれるオブジェクトに対するアクションを要素とする第2のアクションセットとを含む第2のアクセス制御ルール、ならびに、前記第1のアクセス制御ルールと前記第2のアクセス制御ルールとの間に課された順序制約を受け付ける受付手段と、
    前記第1のオブジェクトグループに含まれる第1のオブジェクトと前記第2のオブジェクトグループに含まれる第2のオブジェクトが同一であるという第1の関係性が有るかどうかを判定するとともに、オブジェクトタイプ間のツリー状の階層関係において前記第1のオブジェクトが属するオブジェクトタイプが前記第2のオブジェクトが属するオブジェクトタイプの親ノードに相当するという第2の関係性が有るかどうか判定する判定手段と、
    前記順序制約において前記第1のアクセス制御ルールの優先度が前記第2のアクセス制御ルールの優先度よりも高い場合において、前記第1の関係性および前記第2の関係性の少なくともいずれかが存在するとき、前記第1のオブジェクトグループに含まれる前記第1のオブジェクトに対して前記第2のアクションセットを適用するとともに、前記第1のオブジェクトグループに含まれる前記第1のオブジェクト以外のオブジェクトに対して前記第1のアクションセットを適用する適用手段と、を備える、アクセス制御システム。
  2. 前記第1のオブジェクトグループおよび前記第2のオブジェクトグループに含まれるオブジェクトが属するオブジェクトタイプは、該オブジェクトの種類、製品、バージョン、エディション、ライセンス、および、インタフェースのうちの少なくともいずれかを含み、
    前記階層関係は、種類、製品、バージョン、エディション、ライセンス、および、インタフェースの順に、根から葉へと階層化されたツリー構造を有する、請求項1に記載のアクセス制御システム。
  3. 前記順序制約は、複数のアクセス制御ルールが記述された順序に従って前記複数のアクセス制御ルールの優先度が決定される、ファーストマッチであり、
    前記第1のアクセス制御ルールが前記第2のアクセス制御ルールよりも先に記述されている場合、前記第1のアクセス制御ルールの優先度は前記第2のアクセス制御ルールの優先度よりも高い、請求項1または2に記載のアクセス制御システム。
  4. コンピュータが、1または2以上のオブジェクトから成る第1のオブジェクトグループと前記第1のオブジェクトグループに含まれるオブジェクトに対するアクションを要素とする第1のアクションセットとを含む第1のアクセス制御ルールを受け付ける工程と、
    1または2以上のオブジェクトから成る第2のオブジェクトグループと前記第2のオブジェクトグループに含まれるオブジェクトに対するアクションを要素とする第2のアクションセットとを含む第2のアクセス制御ルールを受け付ける工程と、
    前記第1のアクセス制御ルールと前記第2のアクセス制御ルールとの間に課された順序制約を受け付ける工程と、
    前記第1のオブジェクトグループに含まれる第1のオブジェクトと前記第2のオブジェクトグループに含まれる第2のオブジェクトが同一であるという第1の関係性が有るかどうかを判定する工程と、
    オブジェクトタイプ間のツリー状の階層関係において前記第1のオブジェクトが属するオブジェクトタイプが前記第2のオブジェクトが属するオブジェクトタイプの親ノードに相当するという第2の関係性が有るかどうか判定する工程と、
    前記順序制約において前記第1のアクセス制御ルールの優先度が前記第2のアクセス制御ルールの優先度よりも高い場合において、前記第1の関係性および前記第2の関係性の少なくともいずれかが存在するとき、前記第1のオブジェクトグループに含まれる前記第1のオブジェクトに対して前記第2のアクションセットを適用する工程と、
    前記第1のオブジェクトグループに含まれる前記第1のオブジェクト以外のオブジェクトに対して前記第1のアクションセットを適用する工程と、を含む、アクセス制御方法。
  5. 前記第1のオブジェクトグループおよび前記第2のオブジェクトグループに含まれるオブジェクトが属するオブジェクトタイプは、該オブジェクトの種類、製品、バージョン、エディション、ライセンス、および、インタフェースのうちの少なくともいずれかを含み、
    前記階層関係は、種類、製品、バージョン、エディション、ライセンス、および、インタフェースの順に、根から葉へと階層化されたツリー構造を有する、請求項4に記載のアクセス制御方法。
  6. 前記順序制約は、複数のアクセス制御ルールが記述された順序に従って前記複数のアクセス制御ルールの優先度が決定される、ファーストマッチであり、
    前記第1のアクセス制御ルールが前記第2のアクセス制御ルールよりも先に記述されている場合、前記第1のアクセス制御ルールの優先度は前記第2のアクセス制御ルールの優先度よりも高い、請求項4または5に記載のアクセス制御方法。
  7. 1または2以上のオブジェクトから成る第1のオブジェクトグループと前記第1のオブジェクトグループに含まれるオブジェクトに対するアクションを要素とする第1のアクションセットとを含む第1のアクセス制御ルールを受け付ける処理と、
    1または2以上のオブジェクトから成る第2のオブジェクトグループと前記第2のオブジェクトグループに含まれるオブジェクトに対するアクションを要素とする第2のアクションセットとを含む第2のアクセス制御ルールを受け付ける処理と、
    前記第1のアクセス制御ルールと前記第2のアクセス制御ルールとの間に課された順序制約を受け付ける処理と、
    前記第1のオブジェクトグループに含まれる第1のオブジェクトと前記第2のオブジェクトグループに含まれる第2のオブジェクトが同一であるという第1の関係性が有るかどうかを判定する処理と、
    オブジェクトタイプ間のツリー状の階層関係において前記第1のオブジェクトが属するオブジェクトタイプが前記第2のオブジェクトが属するオブジェクトタイプの親ノードに相当するという第2の関係性が有るかどうか判定する処理と、
    前記順序制約において前記第1のアクセス制御ルールの優先度が前記第2のアクセス制御ルールの優先度よりも高い場合において、前記第1の関係性および前記第2の関係性の少なくともいずれかが存在するとき、前記第1のオブジェクトグループに含まれる前記第1のオブジェクトに対して前記第2のアクションセットを適用する処理と、
    前記第1のオブジェクトグループに含まれる前記第1のオブジェクト以外のオブジェクトに対して前記第1のアクションセットを適用する処理と、をコンピュータに実行させる、プログラム。
  8. 前記第1のオブジェクトグループおよび前記第2のオブジェクトグループに含まれるオブジェクトが属するオブジェクトタイプは、該オブジェクトの種類、製品、バージョン、エディション、ライセンス、および、インタフェースのうちの少なくともいずれかを含み、
    前記階層関係は、種類、製品、バージョン、エディション、ライセンス、および、インタフェースの順に、根から葉へと階層化されたツリー構造を有する、請求項7に記載のプログラム。
  9. 前記順序制約は、複数のアクセス制御ルールが記述された順序に従って前記複数のアクセス制御ルールの優先度が決定される、ファーストマッチであり、
    前記第1のアクセス制御ルールが前記第2のアクセス制御ルールよりも先に記述されている場合、前記第1のアクセス制御ルールの優先度は前記第2のアクセス制御ルールの優先度よりも高い、請求項7または8に記載のプログラム。
JP2013041215A 2013-03-01 2013-03-01 アクセス制御システム、アクセス制御方法およびプログラム Pending JP2014170324A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013041215A JP2014170324A (ja) 2013-03-01 2013-03-01 アクセス制御システム、アクセス制御方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013041215A JP2014170324A (ja) 2013-03-01 2013-03-01 アクセス制御システム、アクセス制御方法およびプログラム

Publications (1)

Publication Number Publication Date
JP2014170324A true JP2014170324A (ja) 2014-09-18

Family

ID=51692689

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013041215A Pending JP2014170324A (ja) 2013-03-01 2013-03-01 アクセス制御システム、アクセス制御方法およびプログラム

Country Status (1)

Country Link
JP (1) JP2014170324A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116776358A (zh) * 2023-08-18 2023-09-19 北京睿企信息科技有限公司 一种阻断用户的app访问权限的数据处理系统
WO2024018589A1 (ja) * 2022-07-21 2024-01-25 日本電気株式会社 ポリシー管理装置、ポリシー管理方法及び非一時的なコンピュータ可読媒体
JP7466814B1 (ja) 2024-01-22 2024-04-12 株式会社アシュアード 情報処理装置及び情報処理方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024018589A1 (ja) * 2022-07-21 2024-01-25 日本電気株式会社 ポリシー管理装置、ポリシー管理方法及び非一時的なコンピュータ可読媒体
CN116776358A (zh) * 2023-08-18 2023-09-19 北京睿企信息科技有限公司 一种阻断用户的app访问权限的数据处理系统
CN116776358B (zh) * 2023-08-18 2023-11-17 北京睿企信息科技有限公司 一种阻断用户的app访问权限的数据处理系统
JP7466814B1 (ja) 2024-01-22 2024-04-12 株式会社アシュアード 情報処理装置及び情報処理方法

Similar Documents

Publication Publication Date Title
Biswas et al. Label-based access control: An ABAC model with enumerated authorization policy
Ferraiolo et al. Extensible access control markup language (XACML) and next generation access control (NGAC)
EP3133507A1 (en) Context-based data classification
Ubale Swapnaja et al. Analysis of dac mac rbac access control based models for security
Sandhu et al. Role-based access control: A multi-dimensional view
JP5645034B2 (ja) アクセス制御プログラム、システム及び方法
JP4537022B2 (ja) データ配置に制限を設けるデータ処理方法、記憶領域制御方法、および、データ処理システム。
US8789205B2 (en) Role-based graphical user interfaces
KR100877650B1 (ko) 개인 식별 정보 라벨 및 사용목적 서빙 펑션 세트를사용하는 pii 데이터 액세스 제어 기능부의 구현 및이용방법과 시스템
US11989314B2 (en) Document-level attribute-based access control
US20160036860A1 (en) Policy based data processing
Jin Attribute-based access control models and implementation in cloud infrastructure as a service
CN112118224A (zh) 一种大数据区块链的可信机制权限管理方法和系统
JP5807640B2 (ja) アクセス権可否生成装置、アクセス権可否生成方法、プログラム、及び、アクセス制御システム
WO2002044888A1 (en) Workflow access control
JP6670318B2 (ja) ソフトウェアアプリケーションにおける分類及びirmの実現
JP2014170324A (ja) アクセス制御システム、アクセス制御方法およびプログラム
Rauter et al. Privilege-based remote attestation: Towards integrity assurance for lightweight clients
EP3770787A1 (en) Enforcing granular access control policy
De Capitani di Vimercati et al. Authorization and access control
JP4723930B2 (ja) 複合的アクセス認可方法及び装置
Radhika et al. Flowconseal: Automatic flow consistency analysis of seandroid and selinux policies
JP2000155715A (ja) コンピュータのディレクトリアクセス制御システム及び方法
KR20090103396A (ko) 다중 등급 보안 방식에 기초한 강제적 프로세스 메모리접근 제어 방법 및 이를 프로그램화하여 수록한 컴퓨터로읽을 수 있는 기록매체
KR100833973B1 (ko) 메타 접근통제 시스템