JP5159571B2 - アクセス制御装置、アクセス制御装置のアクセス制御方法およびアクセス制御プログラム - Google Patents

アクセス制御装置、アクセス制御装置のアクセス制御方法およびアクセス制御プログラム Download PDF

Info

Publication number
JP5159571B2
JP5159571B2 JP2008290674A JP2008290674A JP5159571B2 JP 5159571 B2 JP5159571 B2 JP 5159571B2 JP 2008290674 A JP2008290674 A JP 2008290674A JP 2008290674 A JP2008290674 A JP 2008290674A JP 5159571 B2 JP5159571 B2 JP 5159571B2
Authority
JP
Japan
Prior art keywords
role
user
information
access
access control
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.)
Expired - Fee Related
Application number
JP2008290674A
Other languages
English (en)
Other versions
JP2010117885A (ja
Inventor
聡久 大沼
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2008290674A priority Critical patent/JP5159571B2/ja
Publication of JP2010117885A publication Critical patent/JP2010117885A/ja
Application granted granted Critical
Publication of JP5159571B2 publication Critical patent/JP5159571B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Description

本発明は、ロールベースのアクセス制御装置、アクセス制御方法およびアクセス制御プログラムに関するものである。
従来の技術によるロールベースのアクセス制御では、アクセスが制限されるコンテンツへのアクセス条件を示すロールに当該コンテンツへのアクセスが許可される利用者や組織を一覧にしたリストを関連付けることで、アクセス制御が行われていた。この方式では、利用者の異動や組織の変更がある度に、アクセスを許可したい利用者や組織とロールに関連付けられている利用者や組織との間に相異が生じる場合があるため、管理者は全ロールのリストをチェックし、ロールに関連付けられている利用者や組織のリストを必要に応じて変更していた。利用者の異動や組織の変更は比較的多く行われ、ロールに関連付けられている利用者や組織のリストのチェックおよび変更はその処理負荷が大きい。
そこで、利用者の異動や組織の変更時にロールに関連付けられている情報を変更しないことを可能にするために、上記ロールを拡張した拡張ロールを用いたアクセス制御方式が実現されている。拡張ロールには、利用者や組織のリストが関連付けられるのでは無く、例えば、役職、資格、所属する組織、組織が所在する場所等の属性について、利用者や組織の属性値が関連付けられる。拡張ロールに関連付けられる利用者や組織の属性値は論理式で表現され、その論理式が示す条件を満たす属性値を有する利用者や組織がコンテンツへのアクセスを許可される。
この拡張ロールを用いたロールベースのアクセス制御方式では、利用者の異動や組織の変更があっても、拡張ロールの論理式は変更せずに、異動のあった利用者や変更のあった組織の属性値さえ変更すればよいため、利用者の移動や組織の変更に柔軟に対応することができる。
但し、その反面、利用者が情報システム上の様々なコンテンツを利用する度に、利用者が有する属性値が拡張ロールの論理式が示す条件を満たすか解析して、コンテンツへのアクセスを許可するか否かを判定する必要があった。
特開平8−87454号公報
拡張ロールを用いたロールベースのアクセス制御方式では、アクセス権限の判定の処理をアクセス実行時に行う為、アクセス実行時に、利用者の属性値と利用者が所属する組織の属性値を取得し、拡張ロールの論理式の解釈を行い、論理式が示す条件を利用者の属性値が満たすか否かをチェックする必要があり、作業負荷が大きかった。
また、拡張ロールでは、アクセス権限が適当な利用者や組織に与えられるかを確認するために拡張ロールの論理式の正当性をチェックする際に、論理式が示す条件を満たす利用者や組織の一覧のリストを生成する必要があり、アクセス権限の正当性チェックの作業負荷が大きかった。
また、従来の拡張ロールを用いる方式では、アクセス権限に個別に利用者を指定する必要がある場合、従来の通常のロールと同じになり、処理が複雑で利用者や組織の属性値に基づくアクセス制御の優位性を示すことが難しかった。
本発明は、例えば、拡張ロールを用いたアクセス制御において、アクセスが制限されるコンテンツへのアクセス発生時に行われるアクセス権限のチェックについて、処理負荷の軽減を図ることを目的とする。
本発明のアクセス制御装置は、ユーザ毎にユーザが有する複数の属性値が設定されるユーザ属性情報と、属性値の組み合わせを示すロールが設定されるロール情報と、アクセスが制限されるアクセス制限情報へのアクセス条件として特定のロールを識別する情報が設定されるアクセス条件情報とを記憶機器を用いて記憶するアクセス制御情報記憶部と、前記アクセス制御情報記憶部に記憶される前記ユーザ属性情報と前記アクセス制御情報記憶部に記憶される前記ロール情報とに基づいて、当該ロールが示す属性値の組み合わせを有するユーザを示すユーザリストがロール毎に設定されるユーザリスト情報をCPU(Central Processing Unit)を用いて生成するユーザリスト情報生成部と、前記アクセス制限情報へのアクセス要求が発生した場合、前記アクセス制御情報記憶部に記憶される前記アクセス条件情報に基づいて当該アクセス制限情報へのアクセス条件であるロールをCPUを用いて特定するアクセス条件ロール特定部と、前記ユーザリスト情報生成部により生成された前記ユーザリスト情報にロール毎に設定されるユーザリストのうち前記アクセス条件ロール特定部により特定されたロールが示す属性値の組み合わせを有するユーザを示すユーザリストに当該アクセス制限情報へのアクセス要求をしたユーザが含まれるか否かに基づいて、当該アクセス制限情報への当該ユーザのアクセス権限をCPUを用いて判定するアクセス権限判定部とを備える。
本発明によれば、例えば、拡張ロールを用いたアクセス制御において、アクセス権限判定部がユーザリスト情報に基づいてアクセス権限を判定することにより、アクセスが制限されるコンテンツへのアクセス発生時に行われるアクセス権限の判定に要する処理負荷を軽減することができる。
実施の形態1.
図1は、実施の形態1におけるロールベースアクセス制御装置100の構成図である。
実施の形態1におけるロールベースアクセス制御装置100の構成について、図1に基づいて以下に説明する。
ロールベースアクセス制御装置100(アクセス制御装置の一例)は、ロール操作API110、ロールデータ操作プロキシ120、データベースドライバ130およびRDBMS190を備え、実行が制限されるプログラムや読み込み(参照)/書き込み(更新)が制限されるデータや使用が制限されるハードウェア資源(例えば、コンピュータ)へのアクセス可否やアクセス種類(読込可、書込不可など)などのアクセス権限をロールベースのアクセス制御により判定する。
ロールとは、コンテンツへのアクセス条件に関する情報を示すデータである。
以下、アクセスとはプログラムの実行やデータの読み込み/書き込みやハードウェア資源の使用などを意味するものとし、アクセスが制限されるプログラムやデータやハードウェア資源(アクセス制限情報の一例)をコンテンツという。
RDBMS190(アクセス制御情報記憶部の一例)は、ユーザ情報テーブル191、組織情報テーブル192、場所情報テーブル193、ロール情報テーブル194、ユーザリスト情報テーブル195、ロール構成情報テーブル196およびアクセス制御テーブル199を記憶機器を用いて記憶管理するリレーショナルデータベース管理システムである。
ユーザ情報テーブル191(ユーザ属性情報の一例)には、ユーザ毎にユーザが有する複数の属性値が設定される。
組織情報テーブル192には、組織IDと当該組織IDにより識別される組織名とが設定される。
場所情報テーブル193には、場所IDと当該場所IDにより識別される場所名とが設定される。
ロール情報テーブル194(ロール情報の一例)には、特定の属性値の組み合わせを表す論理式(以下、「ロール定義」ともいう)を示すロールが設定される。論理式には、1以上の属性値と各属性値に関連づけられる論理演算子(例えば、“&”[論理積]、“|”[論理和]、“!”[否定]、“^”[排他的論理和])とが含まれる。論理演算子は、全属性値に“&”[論理積]が黙示的に関連づけられるなど、省略されても構わない。実施の形態では、ロールの論理式は属性値が“&”で連結され、連結された属性値を全て要することをアクセス条件として示す形態について説明する。
ユーザリスト情報テーブル195(ユーザリスト情報の一例)には、当該ロールの論理式により表わされる属性値の組み合わせを有するユーザを一覧で示すユーザリストがロール毎に設定される。
ロール構成情報テーブル196(属性値リスト情報の一例)には、当該ロールの論理式から論理演算子を取り除いて抽出される属性値を一覧で示す属性値リストがロール毎に設定される。
アクセス制御テーブル199(アクセス条件情報の一例)には、アクセスが制限されるコンテンツ(アクセス制限情報の一例)へのアクセス条件として特定のロールを識別するロールIDが設定される。
ロール操作API110は、コンテンツを使用するアプリケーション(ソフトウェア、プログラムの一種)やロールを管理するアプリケーションから呼び出され、各アプリケーションとロールデータ操作プロキシ120との間のデータの入出力を制御するインターフェース処理部である。
各アプリケーションをCPUを用いて実行する処理部や各アプリケーションおよびコンテンツを記憶機器を用いて記憶する記憶部は、ロールベースアクセス制御装置100に備わっていても、ロールベースアクセス制御装置100とは別の装置に備わっていても構わない。
ロールデータ操作プロキシ120は、ロール情報操作部121、テーブル更新部122、テーブル参照部123、アクセス制御部124およびユーザ情報操作部125を備え、RDBMS190に記憶される各テーブルを参照/更新し、コンテンツへのユーザのアクセス権限を判定するロール制御部である。
ロール情報操作部121(ユーザリスト情報生成部の一例)は、ロール情報テーブル194の生成(新規生成、追加、変更、削除を含む。以下同様)および生成後のロール情報テーブル194に基づくユーザリスト情報テーブル195の生成をCPU(Central Processing Unit)を用いて行う。
また、ロール情報操作部121(属性値リスト情報生成部の一例)は、当該ロールの論理式から論理演算子を除いて抽出される属性値を一覧で示す属性値リストがロール毎に設定されるロール構成情報テーブル196(属性値リスト情報の一例)をCPUを用いて生成する。
アクセス制御部124は、アクセス条件ロール特定部124aとアクセス権限判定部124bとを備え、コンテンツへのユーザのアクセス権限を判定する。
アクセス条件ロール特定部124aは、コンテンツへのアクセス要求が発生した場合、アクセス制御テーブル199に基づいて当該コンテンツへのアクセス条件であるロールをCPUを用いて特定する。
アクセス権限判定部124bは、ロール情報操作部121により生成されたユーザリスト情報テーブル195にロール毎に設定されるユーザリストのうちアクセス条件ロール特定部124aにより特定されたロールの論理式が表す属性値の組み合わせを有するユーザを一覧で示すユーザリストに当該コンテンツへのアクセス要求をしたユーザが含まれるか否かに基づいて、当該コンテンツへの当該ユーザのアクセス権限をCPUを用いて判定する。
また、アクセス権限判定部124b(ロール指定ユーザリスト取得部の一例)は、指定されたロールの論理式が表す属性値の組み合わせを有するユーザを一覧で示すユーザリストをユーザリスト情報テーブル195(ユーザリスト情報の一例)からCPUを用いて取得する。
ユーザ情報操作部125(ユーザリスト情報生成部の一例)は、ユーザ情報テーブル191の生成および生成後のユーザ情報テーブル191に基づくユーザリスト情報テーブル195の生成をCPUを用いて行う。
また、ユーザ情報操作部125(ユーザ属性ロール特定部の一例)は、ユーザ情報テーブル191に新たなユーザが有する複数の属性値をCPUを用いて追加する。そして、ユーザ情報操作部125は、ロール構成情報テーブル196(属性値リスト情報の一例)にロール毎に設定される属性値リストが示す属性値が新たなユーザが有する複数の属性値に含まれるか否かに基づいて、新たなユーザが有する属性値の組み合わせを示すロールをCPUを用いて特定する。
また、ユーザ情報操作部125(ユーザリスト内ユーザ追加部の一例)は、ユーザリスト情報テーブル195(ユーザリスト情報の一例)にロール毎に設定されるユーザリストのうち特定したロールが示す属性値の組み合わせを有するユーザを一覧で示すユーザリストに新たなユーザをCPUを用いて追加する。
テーブル更新部122は、ロール情報操作部121およびユーザ情報操作部125からの要求に応じて、RDBMS190に記憶される各テーブルをデータベースドライバ130を介してCPUを用いて生成する。
テーブル参照部123は、ロール情報操作部121、アクセス制御部124およびユーザ情報操作部125からの要求に応じて、RDBMS190に記憶される各テーブルをデータベースドライバ130を介してCPUを用いて検索、参照、データ取得などに使用する。
データベースドライバ130は、ロール操作API110(テーブル更新部122、テーブル参照部123)から呼び出され、ロール操作API110とロールデータ操作プロキシ120との間のデータの入出力を制御するインターフェース処理部である。
図2は、実施の形態1におけるロールベースアクセス制御装置100のハードウェア資源の一例を示す図である。
図2において、ロールベースアクセス制御装置100は、プログラムを実行するCPU911(Central・Processing・Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。CPU911は、バス912を介してROM913、RAM914、通信ボード915、表示装置901、キーボード902、マウス903、FDD904(Flexible・Disk・Drive)、CDD905(コンパクトディスク装置)、プリンタ装置906、スキャナ装置907、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置920の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶機器、記憶装置あるいは記憶部の一例である。また、入力データが記憶されている記憶機器は入力機器、入力装置あるいは入力部の一例であり、出力データが記憶される記憶機器は出力機器、出力装置あるいは出力部の一例である。
通信ボード915、キーボード902、スキャナ装置907、FDD904などは、入力機器、入力装置あるいは入力部の一例である。
また、通信ボード915、表示装置901、プリンタ装置906などは、出力機器、出力装置あるいは出力部の一例である。
通信ボード915は、ファクシミリ機、電話器、LAN(ローカルエリアネットワーク)等に接続されている。通信ボード915は、LANに限らず、インターネット、ISDN等のWAN(ワイドエリアネットワーク)などに接続されていても構わない。
磁気ディスク装置920には、OS921(オペレーティングシステム)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、OS921、ウィンドウシステム922により実行される。
上記プログラム群923には、実施の形態において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
ファイル群924には、実施の形態において、「〜部」の機能を実行した際の「〜の判定結果」、「〜の計算結果」、「〜の処理結果」などの結果データ、「〜部」の機能を実行するプログラム間で受け渡しするデータ、その他の情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜テーブル」の各項目として記憶されている。
「〜ファイル」や「〜テーブル」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、実施の形態において説明するフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD(Digital・Versatile・Disc)等の記録媒体に記録される。また、データや信号値は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
また、実施の形態において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、「〜部」としてコンピュータを機能させるものである。あるいは、「〜部」の手順や方法をコンピュータに実行させるものである。
図3、図4は、実施の形態1におけるRDBMS190に記憶されるテーブルの具体例を示す図である。
実施の形態1におけるRDBMS190(アクセス制御情報記憶部)に記憶される各テーブルについて、図3および図4に基づいて以下に説明する。
まず、図3に基づいてロール情報テーブル194、ユーザリスト情報テーブル195、ロール構成情報テーブル196およびアクセス制御テーブル199について説明する。
アクセス制御テーブル199(アクセス条件情報の一例)は、コンテンツを識別するコンテンツIDが設定される「コンテンツID」フィールドとロールを識別するロールIDが設定される「ロールID」フィールドとから構成され、コンテンツIDと当該コンテンツのアクセス条件となるロールのロールIDとが対応付けられている。
例えば、「コンテンツID」フィールドに“C001”が設定されているレコードは、“C001”で識別されるコンテンツが“R001”で識別されるロールの論理式が表す属性値の組み合わせを有するユーザからのみアクセス可能であることを示している。
以下、「ロールの論理式が表す属性値の組み合わせを有するユーザ」を「ロールの条件を満たすユーザ」という。
「ロールID」には特定のロールの組み合わせを表現する論理式が設定されても構わない。また、“参照”、“追加”、“変更”など、アクセス可能な種別が設定される「アクセス種別」フィールドをアクセス制御テーブル199に含んでもよい。
ロール情報テーブル194(ロール情報の一例)は、「ロールID」フィールドと属性値の組み合わせを表現する論理式が設定される「ロール定義」フィールドとから構成され、ロールIDと論理式とが対応付けられている。
例えば、「ロールID」フィールドに“R001”が設定されているレコードは、“R001”で識別されるロールがアクセス条件である場合、アクセスユーザに必要な属性値が“社員”と“O099(営業部を示すID)”との2つである、ということを示している。
実施の形態においてロールは、ロール情報テーブル194の1レコードに相当する。
ユーザリスト情報テーブル195(ユーザリスト情報の一例)は、「ロールID」フィールドとユーザを識別するユーザIDが設定される「ユーザID」フィールドと組織を識別する組織IDが設定される「組織ID」フィールドとから構成され、ロールIDと当該ロールの条件を満たすユーザのユーザIDとが対応付けられ、また、ロールIDと当該ロールの条件を満たす組織の組織IDとが対応付けられている。
例えば、「ロールID」フィールドに“R001”が設定されている3つのレコードは、“R001”で識別されるロールの条件を満たすユーザおよび組織が“U0001”で識別されるユーザ、“U0003”で識別されるユーザおよび“O099[営業]”で識別される組織であることを示している。
実施の形態においてユーザリストは、同一のロールIDが設定されているユーザリスト情報テーブル195のレコード群に相当する。
同一のロールIDに対応付けられる複数のユーザIDおよび組織IDは、1レコードに設定されても構わない。
ロール構成情報テーブル196(属性値リスト情報の一例)は、「ロールID」フィールドと属性値が設定される「構成情報」フィールドとから構成され、ロールIDと当該ロールが示す論理式に含まれる属性値とが対応付けられている。
例えば、「ロールID」フィールドに“R001”が設定されている2つのレコードは、“R001”で識別されるロールが示す論理式に“社員”と“O099[営業]”との2つの属性値が含まれることを示している。
実施の形態において属性値リストは、同一のロールIDが設定されているロール構成情報テーブル196のレコード群に相当する。
同一のロールIDに対応付けられる複数の属性値は、1レコードに設定されても構わない。
アクセス制御テーブル199、ロール情報テーブル194、ユーザリスト情報テーブル195およびロール構成情報テーブル196のレコードは、互いに「ロールID」フィールドが関連付けられている。
次に、図4に基づいてユーザ情報テーブル191、組織情報テーブル192および場所情報テーブル193について説明する。
ユーザ情報テーブル191(ユーザ属性情報の一例)は、「ユーザID」フィールドと役職名が設定される「役職」フィールドと所属部署を識別する所属IDが設定される「所属」フィールドと資格名が設定される「資格」フィールドと勤務場所を識別する場所IDが設定される「場所」フィールドとから構成され、ユーザの属性値(ユーザID、役職名、所属ID、資格名、場所ID)(以下、ユーザ情報という)が対応付けられている。
例えば、「ユーザID」フィールドに“U0001”が設定されているレコードは、“U0001”で識別されるユーザがA工場(“L001”)に勤務する営業部(“O099”)の社員であり、資格Aを持っていることを示している。
組織情報テーブル192は、「組織ID」フィールドと部署名が設定される「部署名」フィールドとから構成され、組織IDと組織IDで識別される部署の部署名とが対応付けられている。
例えば、「組織ID」フィールドに“O001”が設定されているレコードは、“O001”で識別される部署の部署名が“資材”部であることを示している。
場所情報テーブル193は、「場所ID」フィールドと勤務場所の名称が設定される「場所名」フィールドとから構成され、場所IDと場所IDで識別される勤務場所の名称とが対応付けられている。
例えば、「場所ID」フィールドに“L001”が設定されているレコードは、“L001”で識別される勤務場所の名称が“A工場”であることを示している。
ユーザ情報テーブル191および組織情報テーブル192のレコードはユーザ情報テーブル191の「所属」フィールドと組織情報テーブル192の「組織ID」フィールドが関連付けられ、ユーザ情報テーブル191および場所情報テーブル193のレコードはユーザ情報テーブル191の「場所」フィールドと場所情報テーブル193の「場所ID」フィールドとが関連付けられている。
次に、アクセス制御方法(ロール情報追加)として、新規ロールを追加する方法について説明する。
ロールの管理者は、新規ロールを追加する場合、ロールを管理するアプリケーションを起動し、起動したアプリケーションに対して新規ロールを指定する。
アプリケーションは管理者に指定された新規ロールをロール操作API110に入力し、ロール操作API110はロールデータ操作プロキシ120を呼び出す。
呼び出されたロールデータ操作プロキシ120は、ロール操作API110に入力された新規ロールをロール情報テーブル194に追加すると共に、新規ロールの条件を満たすユーザのユーザリストをユーザリスト情報テーブル195に追加する。
図5は、実施の形態1におけるロールデータ操作プロキシ120のアクセス制御方法(ロール情報追加)を示すフローチャートである。
上記アクセス制御方法(ロール情報追加)におけるロールデータ操作プロキシ120の処理の詳細について、図5に基づいて以下に説明する。
以下に説明する処理はCPUを用いて実行される。
<S110>
まず、ロール情報操作部121は、管理者に指定された新規ロールをロール操作API110から入力する。新規ロールはロールIDと論理式とを含む。
<S120>
次に、ロール情報操作部121は、新規ロールをロール情報テーブル194に追加する。
このとき、ロール情報操作部121は新規ロールの追加をテーブル更新部122に命令し、テーブル更新部122は新規ロールの追加をデータベースドライバ130を介してRDBMS190に要求し、RDBMS190は新規ロールを設定したレコードを生成し、生成したレコードをロール情報テーブル194に追加する。
<S130:ユーザリスト追加処理(ユーザリスト情報生成処理)>
次に、ロール情報操作部121は、新規ロールのユーザリストをユーザリスト情報テーブル195に追加する。
例えば、“R002”で識別される新規ロールの論理式が“課長&O001[資材]”である場合、図4に示すユーザ情報テーブル191に対して「役職」フィールドに“課長”が設定されていると共に「所属」フィールドに“O001[資材]”が設定されているレコードが検索され、検索結果として抽出されたレコードから「ユーザID」フィールドに設定されている“U0002”が取得される。そして、ユーザリスト情報テーブル195に対して「ロールID」フィールドに“R002”が設定されると共に「ユーザID」フィールドに“U0002”が設定されたレコードがユーザリストとして追加される。また、ユーザリスト情報テーブル195に対して「ロールID」フィールドに“R002”が設定されると共に「組織ID」フィールドに“O001[資材]”が設定されたレコードが追加される。
ユーザリスト追加処理(S130)の詳細については別途説明する。
<S140>
次に、ロール情報操作部121は、新規ロールの属性値リストを生成する。
このとき、ロール情報操作部121は、新規ロールの論理式を構文解析等して構成要素(属性値、論理演算子)に分解し、構成要素から論理演算子を除いて抽出される属性値をリストにした属性値リストを生成する。
例えば、新規ロールの論理式が“課長&O001[資材]”である場合、ロール情報操作部121は新規ロールの論理式を“課長”と“&”と“O001[資材]”とに分解し、“&”を除いた“課長”と“O001[資材]”とをリストにした属性値リストを生成する。
<S150:属性値リスト情報生成処理>
そして、ロール情報操作部121は、新規ロールの属性値リストをロール構成情報テーブル196に追加する。
このとき、ロール情報操作部121は、新規ロールの属性値リストの追加をテーブル更新部122に命令し、テーブル更新部122は新規ロールの属性リストの追加をデータベースドライバ130を介してRDBMS190に要求し、RDBMS190は新規ロールのロールIDと属性値リストに含まれる属性値とを設定したレコードを生成し、生成したレコードをロール構成情報テーブル196に追加する。
例えば、“R002”で識別される新規ロールの属性値リストに“課長”と“O001[資材]”とが含まれる場合、ロール構成情報テーブル196には、「ロールID」フィールドに“R002”が設定されると共に「構成情報」フィールドに“課長”が設定されたレコードおよび「ロールID」フィールドに“R002”が設定されると共に「構成情報」フィールドに“O001[資材]”が設定されたレコードが追加される(図3参照)。
図6は、実施の形態1におけるユーザリスト追加処理(S130)のフローチャートである。
上記ユーザリスト追加処理(S130)の詳細について、図6に基づいて以下に説明する。
以下の処理はCPUを用いて実行される。
<S131>
ロール情報操作部121は、新規ロールの論理式を構文解析等して、新規ロールの論理式に「役職」の属性値、「所属」の属性値、「資格」の属性値、「場所」の属性値が含まれるか解析する。
<S132a>
次に、ロール情報操作部121はS131での解析結果に基づいて新規ロールの論理式に「役職」の属性値が含まれるか判定する。
<S132b>
新規ロールの論理式に「役職」の属性値が含まれる場合(YES)、ロール情報操作部121は、新規ロールの論理式に含まれる「役職」の属性値を有するユーザのユーザIDを取得し、取得したユーザIDをリストにして「役職」ユーザリストを生成する。
このとき、ロール情報操作部121は新規ロールの論理式に含まれる「役職」の属性値を有するユーザのユーザIDの取得をテーブル参照部123に命令し、テーブル参照部123は当該ユーザIDの取得をデータベースドライバ130を介してRDBMS190に要求する。RDBMS190はユーザ情報テーブル191に対して「役職」フィールドの設定値が新規ロールの論理式に含まれる「役職」の属性値と一致するレコードを検索し、検索結果として抽出したレコードから「ユーザID」フィールドに設定されているユーザIDを取得し、取得したユーザIDをデータベースドライバ130を介してテーブル参照部123に応答する。テーブル参照部123は応答されたユーザIDをロール情報操作部121に出力し、ロール情報操作部121はテーブル参照部123から出力されたユーザIDをリストにして「役職」ユーザリストを生成する。
<S133a>
また、ロール情報操作部121はS131での解析結果に基づいて新規ロールの論理式に「所属」の属性値が含まれるか判定する。
<S133b>
新規ロールの論理式に「所属」の属性値が含まれる場合、ロール情報操作部121は、新規ロールの論理式に含まれる「所属」の属性値を有するユーザのユーザIDを取得し、取得したユーザIDをリストにして「所属」ユーザリストを生成する。「所属」ユーザリストはS132bにおける「役職」ユーザリストと同様に生成される。
<S134a>
また、ロール情報操作部121はS131での解析結果に基づいて新規ロールの論理式に「資格」の属性値が含まれるか判定する。
<S134b>
新規ロールの論理式に「資格」の属性値が含まれる場合、ロール情報操作部121は、新規ロールの論理式に含まれる「資格」の属性値を有するユーザのユーザIDを取得し、取得したユーザIDをリストにして「資格」ユーザリストを生成する。「資格」ユーザリストはS132bにおける「役職」ユーザリストと同様に生成される。
<S135a>
また、ロール情報操作部121はS131での解析結果に基づいて新規ロールの論理式に「場所」の属性値が含まれるか判定する。
<S135b>
新規ロールの論理式に「場所」の属性値が含まれる場合、ロール情報操作部121は、新規ロールの論理式に含まれる「場所」の属性値を有するユーザのユーザIDを取得し、取得したユーザIDをリストにして「場所」ユーザリストを生成する。「場所」ユーザリストはS132bにおける「役職」ユーザリストと同様に生成される。
<S136>
次に、ロール情報操作部121は、生成された各ユーザリスト(「役職」、「所属」、「資格」、「場所」)に基づいて、新規ロールの条件を満たすユーザを一覧で示すユーザリスト(以下、新規ロールのユーザリストという)を生成する。
例えば、新規ロールの論理式が属性値の論理積で表される場合、ロール情報操作部121は、生成されたユーザリスト全てに共通して含まれるユーザIDをリストにして新規ロールのユーザリストを生成する。
<S137>
そして、ロール情報操作部121は、生成した新規ロールのユーザリストをユーザリスト情報テーブル195に追加する。
このとき、ロール情報操作部121は新規ロールのユーザリストの追加をテーブル更新部122に命令し、テーブル更新部122は新規ロールのユーザリストの追加をデータベースドライバ130を介してRDBMS190に要求する。RDBMS190は、「ロールID」フィールドに新規ロールのロールIDを設定すると共に「ユーザID」フィールドに新規ロールのユーザリストに含まれるユーザIDを設定したレコードを生成し、生成したレコードをユーザリスト情報テーブル195に追加する。
上記アクセス制御方法(ロール情報追加)により、ロールベースアクセス制御装置100は、アクセスが制限されるコンテンツへのアクセス要求の発生前に、ロール毎にユーザリストを示すユーザリスト情報テーブル195を予め生成することができる。
次に、アクセス制御方法(アクセス権限判定)として、コンテンツへのアクセス要求が発生した場合、アクセス要求したユーザのコンテンツへのアクセス権限を判定し、判定結果に応じてコンテンツにアクセスする方法について説明する。
アクセスが制限されているコンテンツへのアクセスをユーザから要求されたアプリケーションはアクセス要求したユーザのユーザIDとアクセス要求されたコンテンツのコンテンツIDとをロール操作API110に入力し、ロール操作API110はロールデータ操作プロキシ120を呼び出す。
呼び出されたロールデータ操作プロキシ120は、RDBMS190に記憶されているアクセス制御テーブル199およびユーザリスト情報テーブル195に基づいて、ロール操作API110に入力されたユーザIDで識別されるユーザがロール操作API110に入力されたコンテンツIDで識別されるコンテンツにアクセスする権限を有するか否かを判定する。
ロール操作API110はロールデータ操作プロキシ120の判定結果をアプリケーションに出力する。アプリケーションは、判定結果が“アクセス許可”を示す場合にはアクセス要求されたコンテンツを使用して所定の処理を実行し、判定結果が“アクセス不許可”を示す場合には所定のアクセスエラー処理(例えば、表示装置へのアクセスエラー表示)を実行する。
図7は、実施の形態1におけるロールデータ操作プロキシ120のアクセス制御方法(アクセス権限判定)を示すフローチャートである。
上記アクセス制御方法(アクセス権限判定)におけるロールデータ操作プロキシ120の処理の詳細について、図7に基づいて以下に説明する。
以下に説明する処理はCPUを用いて実行される。
<S210>
まず、アクセス制御部124は、アクセス要求したユーザのユーザID(以下、アクセスユーザIDという)とアクセス要求されたコンテンツのコンテンツID(以下、アクセスコンテンツIDという)とをロール操作API110から入力する。
<S220:アクセス条件ロール特定処理>
次に、アクセス条件ロール特定部124aは、アクセスコンテンツIDに対応するロールIDをアクセス制御テーブル199から取得する。
このとき、アクセス条件ロール特定部124aはアクセスコンテンツIDに対応するロールIDの取得をテーブル参照部123に命令し、テーブル参照部123はロールIDの取得をデータベースドライバ130を介してRDBMS190に要求する。RDBMS190は、アクセス制御テーブル199に対して「コンテンツID」フィールドの設定値がアクセスコンテンツIDと一致するレコードを検索し、検索結果として抽出したレコードの「ロールID」フィールドに設定されているロールIDをデータベースドライバ130を介してテーブル参照部123に応答する。テーブル参照部123は応答されたロールIDをアクセス条件ロール特定部124aに出力する。
例えば、アクセス条件ロール特定部124aは、アクセスコンテンツIDが“C001”である場合、図3のアクセス制御テーブル199のレコードのうち「コンテンツID」フィールドに“C001”が設定されているレコードの「ロールID」フィールドに設定されている“R001”を取得する。
<S230>
次に、アクセス権限判定部124bは、アクセスコンテンツIDに対応するロールID(以下、アクセスロールIDという)で識別されるロールのユーザリスト(以下、アクセス権限ユーザリストという)をユーザリスト情報テーブル195から取得する。
このとき、アクセス権限判定部124bはアクセス権限ユーザリストの取得をテーブル参照部123に命令し、テーブル参照部123はアクセス権限ユーザリストの取得をデータベースドライバ130を介してRDBMS190に要求する。RDBMS190は、ユーザリスト情報テーブル195に対して「ロールID」フィールドの設定値がアクセスロールIDと一致するレコードを検索し、検索結果として抽出したレコードの「ユーザID」フィールドに設定されているユーザIDを一覧にしたリストをデータベースドライバ130を介してテーブル参照部123に応答する。テーブル参照部123は応答されたユーザIDのリストをアクセス権限ユーザリストとしてアクセス権限判定部124bに出力する。
例えば、アクセス権限判定部124bは、アクセスロールIDが“R001”である場合、図3のユーザリスト情報テーブル195のレコードのうち「ロールID」フィールドに“R001”が設定されているレコードの「ユーザID」フィールドに設定されている“U0001”と“U0003”とを取得する。
<S241:アクセス権限判定処理>
次に、アクセス権限判定部124bは、アクセス権限ユーザリストにアクセスユーザIDが含まれるか判定する。
<S242>
S241においてアクセス権限ユーザリストにアクセスユーザIDが含まれる場合(YES)、アクセス権限判定部124bは、アクセス許可を示す判定結果をロール操作API110に出力する。
<S243>
S241においてアクセス権限ユーザリストにアクセスユーザIDが含まれない場合(NO)、アクセス権限判定部124bは、アクセス不許可を示す判定結果をロール操作API110に出力する。
上記アクセス制御方法(アクセス権限判定)により、ロールベースアクセス制御装置100は、アクセスが制限されるコンテンツへのアクセス要求の発生時に、アクセス要求したユーザがコンテンツにアクセスする権限を有するか否かをユーザリスト情報テーブル195に基づいて少ない処理で判定することができる。
次に、アクセス制御方法(アクセス権限正当性判定)として、コンテンツへのアクセス権限が適切なユーザに与えられているか否かを確認する方法について説明する。
ロールの管理者は、コンテンツへのアクセス権限が適切なユーザに与えられているか確認する場合、ロールを管理するアプリケーションを起動し、起動したアプリケーションに対して確認対象のコンテンツに対応するロールのロールIDを指定する。
アプリケーションは管理者に指定されたロールIDをロール操作API110に入力し、ロール操作API110はロールデータ操作プロキシ120を呼び出し、ロールデータ操作プロキシ120はロール操作API110に入力されたロールIDで識別されるロールのユーザリストをユーザリスト情報テーブル195から取得する。
ロール操作API110はロールデータ操作プロキシ120により取得されたユーザリストをアプリケーションに出力し、アプリケーションはロール操作API110から出力されたユーザリストを表示装置やプリンタ装置に出力する。
そして、管理者は、出力されたユーザリストを検証し、コンテンツへのアクセス権限が適切なユーザに与えられているか確認する。
図8は、実施の形態1におけるロールデータ操作プロキシ120のアクセス制御方法(アクセス権限正当性判定)を示すフローチャートである。
上記アクセス制御方法(アクセス権限正当性判定)におけるロールデータ操作プロキシ120の処理の詳細について、図8に基づいて以下に説明する。
以下に説明する処理はCPUを用いて実行される。
<S310>
まず、アクセス制御部124は、管理者に指定されたロールID(以下、指定ロールIDという)をロール操作API110から入力する。
<S320:ロール指定ユーザリスト取得処理>
次に、アクセス条件ロール特定部124aは、指定ロールIDで識別されるロールのユーザリスト(以下、指定ユーザリストという)をユーザリスト情報テーブル195から取得する。
このとき、アクセス制御部124は指定ユーザリストの取得をテーブル参照部123に命令し、テーブル参照部123は指定ユーザリストの取得をデータベースドライバ130を介してRDBMS190に要求する。RDBMS190は、ユーザリスト情報テーブル195に対して「ロールID」フィールドの設定値が指定ロールIDと一致するレコードを検索し、検索結果として抽出したレコードの「ユーザID」フィールドに設定されているユーザIDを一覧にしたリストをデータベースドライバ130を介してテーブル参照部123に応答する。テーブル参照部123は応答されたユーザIDのリストを指定ユーザリストとしてアクセス制御部124に出力する。
例えば、アクセス制御部124は、指定ロールIDが“R001”である場合、図3のユーザリスト情報テーブル195のレコードのうち「ロールID」フィールドに“R001”が設定されているレコードの「ユーザID」フィールドに設定されている“U0001”と“U0003”とを取得する。
<S330>
そして、アクセス制御部124は、ユーザリスト情報テーブル195から取得した指定ユーザリストをロール操作API110に出力する。
上記アクセス制御方法(アクセス権限正当性判定)により、ロールベースアクセス制御装置100は、管理者がコンテンツへのアクセス権限が適切なユーザに与えられているか否かを確認するための情報(指定ユーザリスト)をユーザリスト情報テーブル195に基づいて少ない処理で出力することができる。
次に、アクセス制御方法(ユーザ情報追加)として、新入社員など新たに加わる新規ユーザのユーザ情報を追加する方法について説明する。
ロールの管理者は、新規ユーザのユーザ情報(新規ユーザが有する属性値を示す情報)を追加する場合、ロールを管理するアプリケーションを起動し、起動したアプリケーションに対して新規ユーザのユーザ情報を指定する。
アプリケーションは管理者に指定されたユーザ情報をロール操作API110に入力し、ロール操作API110はロールデータ操作プロキシ120を呼び出す。
呼び出されたロールデータ操作プロキシ120は、ロール操作API110に入力されたユーザ情報をユーザ情報テーブル191に追加すると共に、ユーザ情報に含まれる属性値が論理式の条件を満たしているロールのユーザリスト情報テーブル195のユーザリストに新規ユーザを追加する。
図9は、実施の形態1におけるロールデータ操作プロキシ120のアクセス制御方法(ユーザ情報追加)を示すフローチャートである。
上記アクセス制御方法(ユーザ情報追加)におけるロールデータ操作プロキシ120の処理の詳細について、図9に基づいて以下に説明する。
以下に説明する処理はCPUを用いて実行される。
<S410>
まず、ユーザ情報操作部125は、管理者に指定された新規ユーザのユーザ情報(以下、新規ユーザ情報という)をロール操作API110から入力する。新規ユーザ情報は新規ユーザが有する各属性値(ユーザID、役職名、組織ID、資格名および場所ID)を示す。
<S420>
次に、ユーザ情報操作部125は、入力した新規ユーザ情報をユーザ情報テーブル191に追加する。
このとき、ユーザ情報操作部125は新規ユーザ情報の追加をテーブル更新部122に命令し、テーブル更新部122は新規ユーザ情報の追加をデータベースドライバ130を介してRDBMS190に要求し、RDBMS190は新規ユーザ情報に含まれる各属性値を設定したレコードを生成し、生成したレコードをユーザ情報テーブル191に追加する。
<S430>
次に、ユーザ情報操作部125は、新規ユーザ情報から新規ユーザの属性値を取得する。
<S440:ユーザ属性ロール特定処理>
次に、ユーザ情報操作部125は、新規ユーザの属性値が条件を満たす論理式を有するロール(以下、新規ユーザ該当ロールという)を特定する。
このとき、ユーザ情報操作部125は新規ユーザ該当ロールの特定をテーブル参照部123に命令し、テーブル参照部123は新規ユーザ該当ロールの特定をデータベースドライバ130を介してRDBMS190に要求する。RDBMS190は、ロール構成情報テーブル196の全レコードを「ロールID」フィールドに設定されているロールIDが同じであるレコード群毎に取得し、レコード群の各レコードの「構成情報」フィールドに設定されている属性値が新規ユーザ属性値に全て含まれるか判定する。そして、RDBMS190は、各レコードの「構成情報」フィールドに設定されている属性値が新規ユーザ属性値に全て含まれるレコード群の「ロールID」フィールドに設定されているロールIDをデータベースドライバ130を介してテーブル参照部123に応答する。テーブル参照部123は応答されたロールIDを新規ユーザ該当ロールのロールIDとしてユーザ情報操作部125に出力する。
例えば、ユーザ情報操作部125は、新規ユーザ属性値が“課長”、“O001[資材]”、“B”および“L002”であり、ロール構成情報テーブル196のレコードが図3の設定値を示す場合、新規ユーザ属性値に“課長”と“O001[資材]”とが含まれるため、ロールID“R002”で識別されるロールを新規ユーザ該当ロールと特定する。
<S450:ユーザリスト内ユーザ追加処理>
そして、ユーザ情報操作部125は、新規ユーザ該当ロールのユーザリスト情報テーブル195のユーザリストに新規ユーザを追加する。
このとき、ユーザ情報操作部125は新規ユーザ該当ロールのユーザリストへの新規ユーザの追加をテーブル更新部122に命令し、テーブル更新部122は当該新規ユーザの追加をデータベースドライバ130を介してRDBMS190に要求する。RDBMS190は、ユーザリスト情報テーブル195に対して「ロールID」フィールドに新規ユーザ該当ロールのロールIDを設定すると共に「ユーザID」フィールドに新規ユーザ情報に含まれるユーザIDを設定したレコードを追加する。
例えば、新規ユーザ該当ロールのロールIDが“R002”であり、新規ユーザのユーザIDが“U0002”である場合、ユーザリスト情報テーブル195には「ロールID」フィールドに“R002”が設定されると共に「ユーザID」フィールドに“U0002”が設定されたレコードが追加される(図3参照)。
上記アクセス制御方法(ユーザ情報追加)により、ロールベースアクセス制御装置100は、アクセスが制限されるコンテンツへのアクセス要求の発生前に、新規ユーザ該当ロールのユーザリストに新規ユーザを予め追加することができる。
次に、アクセス制御方法(ユーザ情報削除)として、退職者など居なくなった旧ユーザのユーザ情報を削除する方法について説明する。
ロールの管理者は、旧ユーザのユーザ情報を削除する場合、ロールを管理するアプリケーションを起動し、起動したアプリケーションに対して旧ユーザのユーザIDを指定する。
アプリケーションは管理者に指定されたユーザIDをロール操作API110に入力し、ロール操作API110はロールデータ操作プロキシ120を呼び出す。
呼び出されたロールデータ操作プロキシ120は、ロール操作API110に入力されたユーザIDで識別されるユーザのユーザ情報をユーザ情報テーブル191から削除すると共に、当該ユーザIDをユーザリスト情報テーブル195のユーザリストから削除する。
図10は、実施の形態1におけるロールデータ操作プロキシ120のアクセス制御方法(ユーザ情報削除)を示すフローチャートである。
上記アクセス制御方法(ユーザ情報削除)におけるロールデータ操作プロキシ120の処理の詳細について、図10に基づいて以下に説明する。
以下に説明する処理はCPUを用いて実行される。
<S510>
まず、ユーザ情報操作部125は、管理者に指定された旧ユーザのユーザID(以下、旧ユーザIDという)をロール操作API110から入力する。
<S520>
次に、ユーザ情報操作部125は、入力した旧ユーザIDで識別される旧ユーザのユーザ情報をユーザ情報テーブル191から削除する。
このとき、ユーザ情報操作部125は旧ユーザIDで識別される旧ユーザのユーザ情報の削除をテーブル更新部122に命令し、テーブル更新部122は当該ユーザ情報の削除をデータベースドライバ130を介してRDBMS190に要求する。RDBMS190は、ユーザ情報テーブル191に対して「ユーザID」フィールドに設定されているユーザIDが旧ユーザIDと一致するレコードを検索し、検索結果として抽出したレコードを削除する。
<S530>
そして、ユーザ情報操作部125は、旧ユーザIDをユーザリスト情報テーブル195のユーザリストから削除する。
このとき、ユーザ情報操作部125はユーザリスト情報テーブル195のユーザリストからの旧ユーザIDの削除をテーブル参照部123に命令し、テーブル参照部123は当該旧ユーザIDの削除をデータベースドライバ130を介してRDBMS190に要求する。RDBMS190は、ユーザリスト情報テーブル195に対して「ユーザID」フィールドに設定されているユーザIDが旧ユーザIDと一致するレコードを検索し、検索結果として抽出したレコードを削除する。
上記アクセス制御方法(ユーザ情報削除)により、ロールベースアクセス制御装置100は、ユーザ情報を削除する必要が生じても、ユーザリスト情報テーブル195に設定されるユーザリストの整合性を確保することができる。
次に、アクセス制御方法(ユーザ情報変更)として、社員の異動や組織の変更に伴ってユーザ情報を変更する方法について説明する。
ロール管理者は、現ユーザのユーザ情報を変更する場合、ロールを管理するアプリケーションを起動し、起動したアプリケーションに対して現ユーザの新しいユーザ情報を指定する。
アプリケーションは管理者に指定された新しいユーザ情報をロール操作API110に入力し、ロール操作API110はロールデータ操作プロキシ120を呼び出す。
呼び出されたロールデータ操作プロキシ120は、ロール操作API110に入力された新しいユーザ情報でユーザ情報テーブル191の現在のユーザ情報を更新すると共に、更新後のユーザ情報に合わせてユーザリスト情報テーブル195のユーザリストを変更する。
図11は、実施の形態1におけるロールデータ操作プロキシ120のアクセス制御方法(ユーザ情報変更)を示すフローチャートである。
上記アクセス制御方法(ユーザ情報変更)におけるロールデータ操作プロキシ120の処理の詳細について、図11に基づいて以下に説明する。
以下に説明する処理はCPUを用いて実行される。
<S610>
まず、ユーザ情報操作部125は、管理者に指定された新しいユーザ情報をロール操作API110から入力する。新しいユーザ情報はユーザIDと変更が生じた属性の新しい属性値(役職名、組織ID、資格名または場所ID)とを含む。ユーザIDの変更は無いものとする。
<S620>
次に、ユーザ情報操作部125は、新しいユーザ情報でユーザ情報テーブル191の現在のユーザ情報を更新する。
このとき、ユーザ情報操作部125は新しいユーザ情報への更新をテーブル更新部122に命令し、テーブル更新部122は新しいユーザ情報への更新をデータベースドライバ130を介してRDBMS190に要求する。RDBMS190は、ユーザ情報テーブル191に対して「ユーザID」フィールドに設定されているユーザIDが新しいユーザ情報に含まれるユーザIDと一致するレコードを検索し、検索結果として抽出したレコードの各フィールドの設定値を新しいユーザ情報に含まれる属性値で更新する。
<S630>
次に、ユーザ情報操作部125は、前記アクセス制御方法(ユーザ情報削除)のS530と同様に、更新されたユーザ情報に含まれるユーザIDをユーザリスト情報テーブル195のユーザリストから削除する。
<S640>
次に、ユーザ情報操作部125は、前記アクセス制御方法(ユーザ情報追加)のS430と同様に、更新されたユーザ情報から属性値を取得する。
<S650>
次に、ユーザ情報操作部125は、前記アクセス制御方法(ユーザ情報追加)のS440と同様に、更新されたユーザ情報から取得された属性値が条件を満たす論理式を有するロールを特定する。
<S660:ユーザリスト情報生成処理>
そして、ユーザ情報操作部125は、前記アクセス制御方法(ユーザ情報追加)のS450と同様に、S650で特定したロールのユーザリスト情報テーブル195のユーザリストに、ユーザ情報が更新されたユーザを追加する。
上記アクセス制御方法(ユーザ情報変更)により、ロールベースアクセス制御装置100は、ユーザ情報を変更する必要が生じても、ユーザリスト情報テーブル195に設定されるユーザリストの整合性を確保することができる。
実施の形態1では、以下のようなロールベースアクセス制御装置100について説明した。
ロールベースのアクセス制御技術において、ロールベースアクセス制御装置100は利用者や組織の属性値を用いた論理式により定義された拡張ロールに従ってアクセス制御を行うシステムを構成し、ロールベースアクセス制御装置100のロール操作API110はロール情報を操作する機能を有するロールデータ操作プロキシ120を有する。
ロールデータ操作プロキシ120は、プロキシ機能として、アクセス権限の判定処理を性能向上させるために、拡張ロール情報を事前に解釈してユーザリストに展開する機能を有する。
ロールデータ操作プロキシ120は、ユーザが新たに追加された場合にユーザの属するロールの判定を高速化するために、拡張ロールに定義されている論理式を論理式の構成情報(属性値)に展開する機能を有する。
ロールベースアクセス制御装置100は、拡張ロールに関連付けられているユーザ及び組織の属性値をロールの生成時にユーザ及び組織のリストへ展開することにより、拡張ロールの課題点であるコンテンツへのアクセス発生時に行うアクセス権限チェックの処理負荷を軽減することが可能となる。
実施の形態1におけるロールベースアクセス制御装置100の構成図。 実施の形態1におけるロールベースアクセス制御装置100のハードウェア資源の一例を示す図。 実施の形態1におけるRDBMS190に記憶されるテーブルの具体例を示す図。 実施の形態1におけるRDBMS190に記憶されるテーブルの具体例を示す図。 実施の形態1におけるロールデータ操作プロキシ120のアクセス制御方法(ロール情報追加)を示すフローチャート。 実施の形態1におけるユーザリスト追加処理(S130)のフローチャート。 実施の形態1におけるロールデータ操作プロキシ120のアクセス制御方法(アクセス権限判定)を示すフローチャート。 実施の形態1におけるロールデータ操作プロキシ120のアクセス制御方法(アクセス権限正当性判定)を示すフローチャート。 実施の形態1におけるロールデータ操作プロキシ120のアクセス制御方法(ユーザ情報追加)を示すフローチャート。 実施の形態1におけるロールデータ操作プロキシ120のアクセス制御方法(ユーザ情報削除)を示すフローチャート。 実施の形態1におけるロールデータ操作プロキシ120のアクセス制御方法(ユーザ情報変更)を示すフローチャート。
符号の説明
100 ロールベースアクセス制御装置、110 ロール操作API、120 ロールデータ操作プロキシ、121 ロール情報操作部、122 テーブル更新部、123 テーブル参照部、124 アクセス制御部、124a アクセス条件ロール特定部、124b アクセス権限判定部、125 ユーザ情報操作部、130 データベースドライバ、190 RDBMS、191 ユーザ情報テーブル、192 組織情報テーブル、193 場所情報テーブル、194 ロール情報テーブル、195 ユーザリスト情報テーブル、196 ロール構成情報テーブル、199 アクセス制御テーブル、901 表示装置、902 キーボード、903 マウス、904 FDD、905 CDD、906 プリンタ装置、907 スキャナ装置、911 CPU、912 バス、913 ROM、914 RAM、915 通信ボード、920 磁気ディスク装置、921 OS、922 ウィンドウシステム、923 プログラム群、924 ファイル群。

Claims (5)

  1. ユーザ毎にユーザが有する複数の属性値が設定されるユーザ属性情報と、属性値の組み合わせを示すロールが設定されるロール情報と、アクセスが制限されるアクセス制限情報へのアクセス条件として特定のロールを識別する情報が設定されるアクセス条件情報とを記憶機器を用いて記憶するアクセス制御情報記憶部と、
    前記アクセス制御情報記憶部に記憶される前記ユーザ属性情報と前記アクセス制御情報記憶部に記憶される前記ロール情報とに基づいて、当該ロールが示す属性値の組み合わせを有するユーザを示すユーザリストがロール毎に設定されるユーザリスト情報をCPU(Central Processing Unit)を用いて生成するユーザリスト情報生成部と、
    前記アクセス制限情報へのアクセス要求が発生した場合、前記アクセス制御情報記憶部に記憶される前記アクセス条件情報に基づいて当該アクセス制限情報へのアクセス条件であるロールをCPUを用いて特定するアクセス条件ロール特定部と、
    前記ユーザリスト情報生成部により生成された前記ユーザリスト情報にロール毎に設定されるユーザリストのうち前記アクセス条件ロール特定部により特定されたロールが示す属性値の組み合わせを有するユーザを示すユーザリストに当該アクセス制限情報へのアクセス要求をしたユーザが含まれるか否かに基づいて、当該アクセス制限情報への当該ユーザのアクセス権限をCPUを用いて判定するアクセス権限判定部と
    を備えたことを特徴とするアクセス制御装置。
  2. 前記ロール情報に設定されるロールは、属性値と論理演算子とを含んだ論理式により属性値の組み合わせを示し、
    前記アクセス制御装置は、
    前記ロール情報に設定されるロールが示す論理式から前記論理演算子を除いて属性値をCPUを用いて抽出し、抽出した属性値を示す属性値リストがロール毎に設定される属性値リスト情報をCPUを用いて生成する属性値リスト情報生成部と、
    前記ユーザ属性情報に新たなユーザが有する複数の属性値が設定された場合、前記属性値リスト情報生成部により生成された属性値リスト情報にロール毎に設定される属性値リストが示す属性値が前記ユーザ属性情報に設定された新たなユーザが有する複数の属性値に含まれるか否かに基づいて、前記新たなユーザが有する属性値の組み合わせを示すロールをCPUを用いて特定するユーザ属性ロール特定部と、
    前記ユーザリスト情報にロール毎に設定されるユーザリストのうち前記ユーザ属性ロール特定部により特定されたロールが示す属性値の組み合わせを有するユーザを示すユーザリストに前記新たなユーザをCPUを用いて追加するユーザリスト内ユーザ追加部とを備えた
    ことを特徴とする請求項1記載のアクセス制御装置。
  3. 特定のロールが指定された場合、指定された前記特定のロールが示す属性値の組み合わせを有するユーザを示すユーザリストを前記ユーザリスト情報からCPUを用いて取得するロール指定ユーザリスト取得部
    を備えたことを特徴とする請求項1〜請求項2いずれかに記載のアクセス制御装置。
  4. ユーザ毎にユーザが有する複数の属性値が設定されるユーザ属性情報と、属性値の組み合わせを示すロールが設定されるロール情報と、アクセスが制限されるアクセス制限情報へのアクセス条件として特定のロールを識別する情報が設定されるアクセス条件情報とを記憶機器を用いて記憶するアクセス制御情報記憶部を用いて、ユーザのアクセス権限を判定するアクセス制御装置のアクセス制御方法であり、
    アクセス制御装置が、
    前記アクセス制御情報記憶部に記憶される前記ユーザ属性情報と前記アクセス制御情報記憶部に記憶される前記ロール情報とに基づいて、当該ロールが示す属性値の組み合わせを有するユーザを示すユーザリストがロール毎に設定されるユーザリスト情報をCPU(Central Processing Unit)を用いて生成するユーザリスト情報生成処理を実行し、
    前記アクセス制限情報へのアクセス要求が発生した場合、前記アクセス制御情報記憶部に記憶される前記アクセス条件情報に基づいて当該アクセス制限情報へのアクセス条件であるロールをCPUを用いて特定するアクセス条件ロール特定処理を実行し、
    前記ユーザリスト情報生成処理により生成された前記ユーザリスト情報にロール毎に設定されるユーザリストのうち前記アクセス条件ロール特定処理により特定されたロールが示す属性値の組み合わせを有するユーザを示すユーザリストに当該アクセス制限情報へのアクセス要求をしたユーザが含まれるか否かに基づいて、当該アクセス制限情報への当該ユーザのアクセス権限をCPUを用いて判定するアクセス権限判定処理を実行する
    ことを特徴とするアクセス制御装置のアクセス制御方法。
  5. 請求項4記載のアクセス制御方法をコンピュータに実行させるアクセス制御プログラム。
JP2008290674A 2008-11-13 2008-11-13 アクセス制御装置、アクセス制御装置のアクセス制御方法およびアクセス制御プログラム Expired - Fee Related JP5159571B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008290674A JP5159571B2 (ja) 2008-11-13 2008-11-13 アクセス制御装置、アクセス制御装置のアクセス制御方法およびアクセス制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008290674A JP5159571B2 (ja) 2008-11-13 2008-11-13 アクセス制御装置、アクセス制御装置のアクセス制御方法およびアクセス制御プログラム

Publications (2)

Publication Number Publication Date
JP2010117885A JP2010117885A (ja) 2010-05-27
JP5159571B2 true JP5159571B2 (ja) 2013-03-06

Family

ID=42305524

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008290674A Expired - Fee Related JP5159571B2 (ja) 2008-11-13 2008-11-13 アクセス制御装置、アクセス制御装置のアクセス制御方法およびアクセス制御プログラム

Country Status (1)

Country Link
JP (1) JP5159571B2 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8832774B2 (en) * 2010-06-23 2014-09-09 Exelis Inc. Dynamic management of role membership
JP5546486B2 (ja) * 2010-09-27 2014-07-09 三菱電機インフォメーションテクノロジー株式会社 情報処理装置及びプログラム
CN102571340A (zh) * 2010-12-23 2012-07-11 普天信息技术研究院有限公司 证书认证装置及该装置的访问和证书更新方法
US20130329738A1 (en) * 2011-02-21 2013-12-12 Nec Corporation Communication system, data base, control apparatus, communication method, and program
EP2705459B1 (en) * 2011-04-30 2020-08-05 VMWare, Inc. Dynamic management of groups for entitlement and provisioning of computer resources
JP2013210900A (ja) * 2012-03-30 2013-10-10 Tokyo Electron Ltd 操作可否判定装置、操作可否判定方法及びコンピュータプログラム
JP5964635B2 (ja) * 2012-03-30 2016-08-03 東京エレクトロン株式会社 操作制限装置、操作制限方法及びコンピュータプログラム
WO2014061583A1 (ja) 2012-10-15 2014-04-24 日本電気株式会社 通信ノード、制御装置、通信システム、パケット処理方法及びプログラム
US8931109B2 (en) * 2012-11-19 2015-01-06 International Business Machines Corporation Context-based security screening for accessing data
US10469498B2 (en) 2013-08-21 2019-11-05 Nec Corporation Communication system, control instruction apparatus, communication control method and program
JP6262089B2 (ja) * 2014-07-18 2018-01-17 株式会社沖データ 画像形成装置
JP6716655B2 (ja) * 2018-09-27 2020-07-01 株式会社アクシオ 情報処理システム、情報処理方法及びプログラム
JP7116323B2 (ja) 2019-12-25 2022-08-10 キヤノンマーケティングジャパン株式会社 情報処理システム、制御方法、プログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11313102A (ja) * 1998-02-27 1999-11-09 Fujitsu Ltd アクセス制御リスト生成方法及びその装置
JP2005275759A (ja) * 2004-03-24 2005-10-06 Ntt Comware Corp 電子文書管理システム、利用者属性管理装置、電子文書管理装置、電子文書管理方法および電子文書管理プログラム
JP2006285326A (ja) * 2005-03-31 2006-10-19 Nomura Research Institute Ltd コンテンツ配信制御システム
JP4732831B2 (ja) * 2005-08-16 2011-07-27 純一郎 森 情報共有設定方法および情報共有設定プログラム

Also Published As

Publication number Publication date
JP2010117885A (ja) 2010-05-27

Similar Documents

Publication Publication Date Title
JP5159571B2 (ja) アクセス制御装置、アクセス制御装置のアクセス制御方法およびアクセス制御プログラム
US8719691B2 (en) Document providing system and computer-readable storage medium
US8612574B2 (en) Computer system for managing configuration item, and method and computer program therefor
JP5648902B2 (ja) 仮想サーバのスナップショットを管理する方法、及び該方法を具現化する装置
JP5072550B2 (ja) 情報処理装置及び情報処理方法及びプログラム
CN101960442B (zh) 使用虚拟技术输入/输出数据的方法和设备
KR102032583B1 (ko) 상응하는 프라이머리 애플리케이션 데이터로부터 유래된 식별자에 기초한 보조 데이터로의 액세스 기법
CN112632919B (zh) 一种文档编辑方法、装置、计算机设备和存储介质
JP2008242836A (ja) 辞書更新装置およびプログラム
JP2009064105A (ja) 電子情報処理プログラム及び電子情報処理システム
JP2011141861A (ja) ウィンドウタイトルを用いた使用パターンのモニタリング方法及び装置
JP2011096191A (ja) ヘルプ情報提供装置、及びヘルプ情報提供方法
JP6939105B2 (ja) 情報処理装置及びプログラム
JP2008009861A (ja) システム構成管理方式
JP6012504B2 (ja) ワークフロー管理システム及びワークフロー管理方法及びプログラム
US9886271B2 (en) Change method, apparatus, and recording medium
JP2011013793A (ja) データ処理装置及びプログラム
JP2009187341A (ja) 情報処理プログラム及び情報処理装置
JP5910216B2 (ja) 情報処理装置及び情報処理プログラム
JP2008234286A (ja) データベースシステム、データベースサーバ、プログラム、及び、記録媒体
JP7298208B2 (ja) 情報処理装置及びプログラム
KR101354110B1 (ko) 가상 디스크 드라이브 시스템 및 제공 방법
JP6011604B2 (ja) ワークフローシステム、ワークフロー管理装置、ワークフロー管理方法及びプログラム
JP2014071789A (ja) 情報処理装置およびプログラム
US11360787B2 (en) Information processing system and control method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110909

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121031

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121113

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121211

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151221

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees