JP5159571B2 - アクセス制御装置、アクセス制御装置のアクセス制御方法およびアクセス制御プログラム - Google Patents
アクセス制御装置、アクセス制御装置のアクセス制御方法およびアクセス制御プログラム Download PDFInfo
- 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
Links
Images
Landscapes
- Storage Device Security (AREA)
Description
この拡張ロールを用いたロールベースのアクセス制御方式では、利用者の異動や組織の変更があっても、拡張ロールの論理式は変更せずに、異動のあった利用者や変更のあった組織の属性値さえ変更すればよいため、利用者の移動や組織の変更に柔軟に対応することができる。
但し、その反面、利用者が情報システム上の様々なコンテンツを利用する度に、利用者が有する属性値が拡張ロールの論理式が示す条件を満たすか解析して、コンテンツへのアクセスを許可するか否かを判定する必要があった。
また、拡張ロールでは、アクセス権限が適当な利用者や組織に与えられるかを確認するために拡張ロールの論理式の正当性をチェックする際に、論理式が示す条件を満たす利用者や組織の一覧のリストを生成する必要があり、アクセス権限の正当性チェックの作業負荷が大きかった。
また、従来の拡張ロールを用いる方式では、アクセス権限に個別に利用者を指定する必要がある場合、従来の通常のロールと同じになり、処理が複雑で利用者や組織の属性値に基づくアクセス制御の優位性を示すことが難しかった。
図1は、実施の形態1におけるロールベースアクセス制御装置100の構成図である。
実施の形態1におけるロールベースアクセス制御装置100の構成について、図1に基づいて以下に説明する。
ロールとは、コンテンツへのアクセス条件に関する情報を示すデータである。
以下、アクセスとはプログラムの実行やデータの読み込み/書き込みやハードウェア資源の使用などを意味するものとし、アクセスが制限されるプログラムやデータやハードウェア資源(アクセス制限情報の一例)をコンテンツという。
組織情報テーブル192には、組織IDと当該組織IDにより識別される組織名とが設定される。
場所情報テーブル193には、場所IDと当該場所IDにより識別される場所名とが設定される。
ロール情報テーブル194(ロール情報の一例)には、特定の属性値の組み合わせを表す論理式(以下、「ロール定義」ともいう)を示すロールが設定される。論理式には、1以上の属性値と各属性値に関連づけられる論理演算子(例えば、“&”[論理積]、“|”[論理和]、“!”[否定]、“^”[排他的論理和])とが含まれる。論理演算子は、全属性値に“&”[論理積]が黙示的に関連づけられるなど、省略されても構わない。実施の形態では、ロールの論理式は属性値が“&”で連結され、連結された属性値を全て要することをアクセス条件として示す形態について説明する。
ユーザリスト情報テーブル195(ユーザリスト情報の一例)には、当該ロールの論理式により表わされる属性値の組み合わせを有するユーザを一覧で示すユーザリストがロール毎に設定される。
ロール構成情報テーブル196(属性値リスト情報の一例)には、当該ロールの論理式から論理演算子を取り除いて抽出される属性値を一覧で示す属性値リストがロール毎に設定される。
アクセス制御テーブル199(アクセス条件情報の一例)には、アクセスが制限されるコンテンツ(アクセス制限情報の一例)へのアクセス条件として特定のロールを識別するロールIDが設定される。
各アプリケーションをCPUを用いて実行する処理部や各アプリケーションおよびコンテンツを記憶機器を用いて記憶する記憶部は、ロールベースアクセス制御装置100に備わっていても、ロールベースアクセス制御装置100とは別の装置に備わっていても構わない。
また、ロール情報操作部121(属性値リスト情報生成部の一例)は、当該ロールの論理式から論理演算子を除いて抽出される属性値を一覧で示す属性値リストがロール毎に設定されるロール構成情報テーブル196(属性値リスト情報の一例)をCPUを用いて生成する。
アクセス条件ロール特定部124aは、コンテンツへのアクセス要求が発生した場合、アクセス制御テーブル199に基づいて当該コンテンツへのアクセス条件であるロールをCPUを用いて特定する。
アクセス権限判定部124bは、ロール情報操作部121により生成されたユーザリスト情報テーブル195にロール毎に設定されるユーザリストのうちアクセス条件ロール特定部124aにより特定されたロールの論理式が表す属性値の組み合わせを有するユーザを一覧で示すユーザリストに当該コンテンツへのアクセス要求をしたユーザが含まれるか否かに基づいて、当該コンテンツへの当該ユーザのアクセス権限をCPUを用いて判定する。
また、アクセス権限判定部124b(ロール指定ユーザリスト取得部の一例)は、指定されたロールの論理式が表す属性値の組み合わせを有するユーザを一覧で示すユーザリストをユーザリスト情報テーブル195(ユーザリスト情報の一例)からCPUを用いて取得する。
また、ユーザ情報操作部125(ユーザ属性ロール特定部の一例)は、ユーザ情報テーブル191に新たなユーザが有する複数の属性値をCPUを用いて追加する。そして、ユーザ情報操作部125は、ロール構成情報テーブル196(属性値リスト情報の一例)にロール毎に設定される属性値リストが示す属性値が新たなユーザが有する複数の属性値に含まれるか否かに基づいて、新たなユーザが有する属性値の組み合わせを示すロールをCPUを用いて特定する。
また、ユーザ情報操作部125(ユーザリスト内ユーザ追加部の一例)は、ユーザリスト情報テーブル195(ユーザリスト情報の一例)にロール毎に設定されるユーザリストのうち特定したロールが示す属性値の組み合わせを有するユーザを一覧で示すユーザリストに新たなユーザをCPUを用いて追加する。
テーブル参照部123は、ロール情報操作部121、アクセス制御部124およびユーザ情報操作部125からの要求に応じて、RDBMS190に記憶される各テーブルをデータベースドライバ130を介してCPUを用いて検索、参照、データ取得などに使用する。
図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などは、出力機器、出力装置あるいは出力部の一例である。
「〜ファイル」や「〜テーブル」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、実施の形態において説明するフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD(Digital・Versatile・Disc)等の記録媒体に記録される。また、データや信号値は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
実施の形態1におけるRDBMS190(アクセス制御情報記憶部)に記憶される各テーブルについて、図3および図4に基づいて以下に説明する。
アクセス制御テーブル199(アクセス条件情報の一例)は、コンテンツを識別するコンテンツIDが設定される「コンテンツID」フィールドとロールを識別するロールIDが設定される「ロールID」フィールドとから構成され、コンテンツIDと当該コンテンツのアクセス条件となるロールのロールIDとが対応付けられている。
例えば、「コンテンツID」フィールドに“C001”が設定されているレコードは、“C001”で識別されるコンテンツが“R001”で識別されるロールの論理式が表す属性値の組み合わせを有するユーザからのみアクセス可能であることを示している。
以下、「ロールの論理式が表す属性値の組み合わせを有するユーザ」を「ロールの条件を満たすユーザ」という。
「ロールID」には特定のロールの組み合わせを表現する論理式が設定されても構わない。また、“参照”、“追加”、“変更”など、アクセス可能な種別が設定される「アクセス種別」フィールドをアクセス制御テーブル199に含んでもよい。
例えば、「ロールID」フィールドに“R001”が設定されているレコードは、“R001”で識別されるロールがアクセス条件である場合、アクセスユーザに必要な属性値が“社員”と“O099(営業部を示すID)”との2つである、ということを示している。
実施の形態においてロールは、ロール情報テーブル194の1レコードに相当する。
例えば、「ロールID」フィールドに“R001”が設定されている3つのレコードは、“R001”で識別されるロールの条件を満たすユーザおよび組織が“U0001”で識別されるユーザ、“U0003”で識別されるユーザおよび“O099[営業]”で識別される組織であることを示している。
実施の形態においてユーザリストは、同一のロールIDが設定されているユーザリスト情報テーブル195のレコード群に相当する。
同一のロールIDに対応付けられる複数のユーザIDおよび組織IDは、1レコードに設定されても構わない。
例えば、「ロールID」フィールドに“R001”が設定されている2つのレコードは、“R001”で識別されるロールが示す論理式に“社員”と“O099[営業]”との2つの属性値が含まれることを示している。
実施の形態において属性値リストは、同一のロールIDが設定されているロール構成情報テーブル196のレコード群に相当する。
同一のロールIDに対応付けられる複数の属性値は、1レコードに設定されても構わない。
ユーザ情報テーブル191(ユーザ属性情報の一例)は、「ユーザID」フィールドと役職名が設定される「役職」フィールドと所属部署を識別する所属IDが設定される「所属」フィールドと資格名が設定される「資格」フィールドと勤務場所を識別する場所IDが設定される「場所」フィールドとから構成され、ユーザの属性値(ユーザID、役職名、所属ID、資格名、場所ID)(以下、ユーザ情報という)が対応付けられている。
例えば、「ユーザID」フィールドに“U0001”が設定されているレコードは、“U0001”で識別されるユーザがA工場(“L001”)に勤務する営業部(“O099”)の社員であり、資格Aを持っていることを示している。
例えば、「組織ID」フィールドに“O001”が設定されているレコードは、“O001”で識別される部署の部署名が“資材”部であることを示している。
例えば、「場所ID」フィールドに“L001”が設定されているレコードは、“L001”で識別される勤務場所の名称が“A工場”であることを示している。
ロールの管理者は、新規ロールを追加する場合、ロールを管理するアプリケーションを起動し、起動したアプリケーションに対して新規ロールを指定する。
アプリケーションは管理者に指定された新規ロールをロール操作API110に入力し、ロール操作API110はロールデータ操作プロキシ120を呼び出す。
呼び出されたロールデータ操作プロキシ120は、ロール操作API110に入力された新規ロールをロール情報テーブル194に追加すると共に、新規ロールの条件を満たすユーザのユーザリストをユーザリスト情報テーブル195に追加する。
上記アクセス制御方法(ロール情報追加)におけるロールデータ操作プロキシ120の処理の詳細について、図5に基づいて以下に説明する。
以下に説明する処理はCPUを用いて実行される。
まず、ロール情報操作部121は、管理者に指定された新規ロールをロール操作API110から入力する。新規ロールはロールIDと論理式とを含む。
次に、ロール情報操作部121は、新規ロールをロール情報テーブル194に追加する。
このとき、ロール情報操作部121は新規ロールの追加をテーブル更新部122に命令し、テーブル更新部122は新規ロールの追加をデータベースドライバ130を介してRDBMS190に要求し、RDBMS190は新規ロールを設定したレコードを生成し、生成したレコードをロール情報テーブル194に追加する。
次に、ロール情報操作部121は、新規ロールのユーザリストをユーザリスト情報テーブル195に追加する。
例えば、“R002”で識別される新規ロールの論理式が“課長&O001[資材]”である場合、図4に示すユーザ情報テーブル191に対して「役職」フィールドに“課長”が設定されていると共に「所属」フィールドに“O001[資材]”が設定されているレコードが検索され、検索結果として抽出されたレコードから「ユーザID」フィールドに設定されている“U0002”が取得される。そして、ユーザリスト情報テーブル195に対して「ロールID」フィールドに“R002”が設定されると共に「ユーザID」フィールドに“U0002”が設定されたレコードがユーザリストとして追加される。また、ユーザリスト情報テーブル195に対して「ロールID」フィールドに“R002”が設定されると共に「組織ID」フィールドに“O001[資材]”が設定されたレコードが追加される。
ユーザリスト追加処理(S130)の詳細については別途説明する。
次に、ロール情報操作部121は、新規ロールの属性値リストを生成する。
このとき、ロール情報操作部121は、新規ロールの論理式を構文解析等して構成要素(属性値、論理演算子)に分解し、構成要素から論理演算子を除いて抽出される属性値をリストにした属性値リストを生成する。
例えば、新規ロールの論理式が“課長&O001[資材]”である場合、ロール情報操作部121は新規ロールの論理式を“課長”と“&”と“O001[資材]”とに分解し、“&”を除いた“課長”と“O001[資材]”とをリストにした属性値リストを生成する。
そして、ロール情報操作部121は、新規ロールの属性値リストをロール構成情報テーブル196に追加する。
このとき、ロール情報操作部121は、新規ロールの属性値リストの追加をテーブル更新部122に命令し、テーブル更新部122は新規ロールの属性リストの追加をデータベースドライバ130を介してRDBMS190に要求し、RDBMS190は新規ロールのロールIDと属性値リストに含まれる属性値とを設定したレコードを生成し、生成したレコードをロール構成情報テーブル196に追加する。
例えば、“R002”で識別される新規ロールの属性値リストに“課長”と“O001[資材]”とが含まれる場合、ロール構成情報テーブル196には、「ロールID」フィールドに“R002”が設定されると共に「構成情報」フィールドに“課長”が設定されたレコードおよび「ロールID」フィールドに“R002”が設定されると共に「構成情報」フィールドに“O001[資材]”が設定されたレコードが追加される(図3参照)。
上記ユーザリスト追加処理(S130)の詳細について、図6に基づいて以下に説明する。
以下の処理はCPUを用いて実行される。
ロール情報操作部121は、新規ロールの論理式を構文解析等して、新規ロールの論理式に「役職」の属性値、「所属」の属性値、「資格」の属性値、「場所」の属性値が含まれるか解析する。
次に、ロール情報操作部121はS131での解析結果に基づいて新規ロールの論理式に「役職」の属性値が含まれるか判定する。
新規ロールの論理式に「役職」の属性値が含まれる場合(YES)、ロール情報操作部121は、新規ロールの論理式に含まれる「役職」の属性値を有するユーザのユーザIDを取得し、取得したユーザIDをリストにして「役職」ユーザリストを生成する。
このとき、ロール情報操作部121は新規ロールの論理式に含まれる「役職」の属性値を有するユーザのユーザIDの取得をテーブル参照部123に命令し、テーブル参照部123は当該ユーザIDの取得をデータベースドライバ130を介してRDBMS190に要求する。RDBMS190はユーザ情報テーブル191に対して「役職」フィールドの設定値が新規ロールの論理式に含まれる「役職」の属性値と一致するレコードを検索し、検索結果として抽出したレコードから「ユーザID」フィールドに設定されているユーザIDを取得し、取得したユーザIDをデータベースドライバ130を介してテーブル参照部123に応答する。テーブル参照部123は応答されたユーザIDをロール情報操作部121に出力し、ロール情報操作部121はテーブル参照部123から出力されたユーザIDをリストにして「役職」ユーザリストを生成する。
また、ロール情報操作部121はS131での解析結果に基づいて新規ロールの論理式に「所属」の属性値が含まれるか判定する。
新規ロールの論理式に「所属」の属性値が含まれる場合、ロール情報操作部121は、新規ロールの論理式に含まれる「所属」の属性値を有するユーザのユーザIDを取得し、取得したユーザIDをリストにして「所属」ユーザリストを生成する。「所属」ユーザリストはS132bにおける「役職」ユーザリストと同様に生成される。
また、ロール情報操作部121はS131での解析結果に基づいて新規ロールの論理式に「資格」の属性値が含まれるか判定する。
新規ロールの論理式に「資格」の属性値が含まれる場合、ロール情報操作部121は、新規ロールの論理式に含まれる「資格」の属性値を有するユーザのユーザIDを取得し、取得したユーザIDをリストにして「資格」ユーザリストを生成する。「資格」ユーザリストはS132bにおける「役職」ユーザリストと同様に生成される。
また、ロール情報操作部121はS131での解析結果に基づいて新規ロールの論理式に「場所」の属性値が含まれるか判定する。
新規ロールの論理式に「場所」の属性値が含まれる場合、ロール情報操作部121は、新規ロールの論理式に含まれる「場所」の属性値を有するユーザのユーザIDを取得し、取得したユーザIDをリストにして「場所」ユーザリストを生成する。「場所」ユーザリストはS132bにおける「役職」ユーザリストと同様に生成される。
次に、ロール情報操作部121は、生成された各ユーザリスト(「役職」、「所属」、「資格」、「場所」)に基づいて、新規ロールの条件を満たすユーザを一覧で示すユーザリスト(以下、新規ロールのユーザリストという)を生成する。
例えば、新規ロールの論理式が属性値の論理積で表される場合、ロール情報操作部121は、生成されたユーザリスト全てに共通して含まれるユーザIDをリストにして新規ロールのユーザリストを生成する。
そして、ロール情報操作部121は、生成した新規ロールのユーザリストをユーザリスト情報テーブル195に追加する。
このとき、ロール情報操作部121は新規ロールのユーザリストの追加をテーブル更新部122に命令し、テーブル更新部122は新規ロールのユーザリストの追加をデータベースドライバ130を介してRDBMS190に要求する。RDBMS190は、「ロールID」フィールドに新規ロールのロールIDを設定すると共に「ユーザID」フィールドに新規ロールのユーザリストに含まれるユーザIDを設定したレコードを生成し、生成したレコードをユーザリスト情報テーブル195に追加する。
アクセスが制限されているコンテンツへのアクセスをユーザから要求されたアプリケーションはアクセス要求したユーザのユーザIDとアクセス要求されたコンテンツのコンテンツIDとをロール操作API110に入力し、ロール操作API110はロールデータ操作プロキシ120を呼び出す。
呼び出されたロールデータ操作プロキシ120は、RDBMS190に記憶されているアクセス制御テーブル199およびユーザリスト情報テーブル195に基づいて、ロール操作API110に入力されたユーザIDで識別されるユーザがロール操作API110に入力されたコンテンツIDで識別されるコンテンツにアクセスする権限を有するか否かを判定する。
ロール操作API110はロールデータ操作プロキシ120の判定結果をアプリケーションに出力する。アプリケーションは、判定結果が“アクセス許可”を示す場合にはアクセス要求されたコンテンツを使用して所定の処理を実行し、判定結果が“アクセス不許可”を示す場合には所定のアクセスエラー処理(例えば、表示装置へのアクセスエラー表示)を実行する。
上記アクセス制御方法(アクセス権限判定)におけるロールデータ操作プロキシ120の処理の詳細について、図7に基づいて以下に説明する。
以下に説明する処理はCPUを用いて実行される。
まず、アクセス制御部124は、アクセス要求したユーザのユーザID(以下、アクセスユーザIDという)とアクセス要求されたコンテンツのコンテンツID(以下、アクセスコンテンツIDという)とをロール操作API110から入力する。
次に、アクセス条件ロール特定部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”を取得する。
次に、アクセス権限判定部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”とを取得する。
次に、アクセス権限判定部124bは、アクセス権限ユーザリストにアクセスユーザIDが含まれるか判定する。
S241においてアクセス権限ユーザリストにアクセスユーザIDが含まれる場合(YES)、アクセス権限判定部124bは、アクセス許可を示す判定結果をロール操作API110に出力する。
S241においてアクセス権限ユーザリストにアクセスユーザIDが含まれない場合(NO)、アクセス権限判定部124bは、アクセス不許可を示す判定結果をロール操作API110に出力する。
ロールの管理者は、コンテンツへのアクセス権限が適切なユーザに与えられているか確認する場合、ロールを管理するアプリケーションを起動し、起動したアプリケーションに対して確認対象のコンテンツに対応するロールのロールIDを指定する。
アプリケーションは管理者に指定されたロールIDをロール操作API110に入力し、ロール操作API110はロールデータ操作プロキシ120を呼び出し、ロールデータ操作プロキシ120はロール操作API110に入力されたロールIDで識別されるロールのユーザリストをユーザリスト情報テーブル195から取得する。
ロール操作API110はロールデータ操作プロキシ120により取得されたユーザリストをアプリケーションに出力し、アプリケーションはロール操作API110から出力されたユーザリストを表示装置やプリンタ装置に出力する。
そして、管理者は、出力されたユーザリストを検証し、コンテンツへのアクセス権限が適切なユーザに与えられているか確認する。
上記アクセス制御方法(アクセス権限正当性判定)におけるロールデータ操作プロキシ120の処理の詳細について、図8に基づいて以下に説明する。
以下に説明する処理はCPUを用いて実行される。
まず、アクセス制御部124は、管理者に指定されたロールID(以下、指定ロールIDという)をロール操作API110から入力する。
次に、アクセス条件ロール特定部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”とを取得する。
そして、アクセス制御部124は、ユーザリスト情報テーブル195から取得した指定ユーザリストをロール操作API110に出力する。
ロールの管理者は、新規ユーザのユーザ情報(新規ユーザが有する属性値を示す情報)を追加する場合、ロールを管理するアプリケーションを起動し、起動したアプリケーションに対して新規ユーザのユーザ情報を指定する。
アプリケーションは管理者に指定されたユーザ情報をロール操作API110に入力し、ロール操作API110はロールデータ操作プロキシ120を呼び出す。
呼び出されたロールデータ操作プロキシ120は、ロール操作API110に入力されたユーザ情報をユーザ情報テーブル191に追加すると共に、ユーザ情報に含まれる属性値が論理式の条件を満たしているロールのユーザリスト情報テーブル195のユーザリストに新規ユーザを追加する。
上記アクセス制御方法(ユーザ情報追加)におけるロールデータ操作プロキシ120の処理の詳細について、図9に基づいて以下に説明する。
以下に説明する処理はCPUを用いて実行される。
まず、ユーザ情報操作部125は、管理者に指定された新規ユーザのユーザ情報(以下、新規ユーザ情報という)をロール操作API110から入力する。新規ユーザ情報は新規ユーザが有する各属性値(ユーザID、役職名、組織ID、資格名および場所ID)を示す。
次に、ユーザ情報操作部125は、入力した新規ユーザ情報をユーザ情報テーブル191に追加する。
このとき、ユーザ情報操作部125は新規ユーザ情報の追加をテーブル更新部122に命令し、テーブル更新部122は新規ユーザ情報の追加をデータベースドライバ130を介してRDBMS190に要求し、RDBMS190は新規ユーザ情報に含まれる各属性値を設定したレコードを生成し、生成したレコードをユーザ情報テーブル191に追加する。
次に、ユーザ情報操作部125は、新規ユーザ情報から新規ユーザの属性値を取得する。
次に、ユーザ情報操作部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”で識別されるロールを新規ユーザ該当ロールと特定する。
そして、ユーザ情報操作部125は、新規ユーザ該当ロールのユーザリスト情報テーブル195のユーザリストに新規ユーザを追加する。
このとき、ユーザ情報操作部125は新規ユーザ該当ロールのユーザリストへの新規ユーザの追加をテーブル更新部122に命令し、テーブル更新部122は当該新規ユーザの追加をデータベースドライバ130を介してRDBMS190に要求する。RDBMS190は、ユーザリスト情報テーブル195に対して「ロールID」フィールドに新規ユーザ該当ロールのロールIDを設定すると共に「ユーザID」フィールドに新規ユーザ情報に含まれるユーザIDを設定したレコードを追加する。
例えば、新規ユーザ該当ロールのロールIDが“R002”であり、新規ユーザのユーザIDが“U0002”である場合、ユーザリスト情報テーブル195には「ロールID」フィールドに“R002”が設定されると共に「ユーザID」フィールドに“U0002”が設定されたレコードが追加される(図3参照)。
ロールの管理者は、旧ユーザのユーザ情報を削除する場合、ロールを管理するアプリケーションを起動し、起動したアプリケーションに対して旧ユーザのユーザIDを指定する。
アプリケーションは管理者に指定されたユーザIDをロール操作API110に入力し、ロール操作API110はロールデータ操作プロキシ120を呼び出す。
呼び出されたロールデータ操作プロキシ120は、ロール操作API110に入力されたユーザIDで識別されるユーザのユーザ情報をユーザ情報テーブル191から削除すると共に、当該ユーザIDをユーザリスト情報テーブル195のユーザリストから削除する。
上記アクセス制御方法(ユーザ情報削除)におけるロールデータ操作プロキシ120の処理の詳細について、図10に基づいて以下に説明する。
以下に説明する処理はCPUを用いて実行される。
まず、ユーザ情報操作部125は、管理者に指定された旧ユーザのユーザID(以下、旧ユーザIDという)をロール操作API110から入力する。
次に、ユーザ情報操作部125は、入力した旧ユーザIDで識別される旧ユーザのユーザ情報をユーザ情報テーブル191から削除する。
このとき、ユーザ情報操作部125は旧ユーザIDで識別される旧ユーザのユーザ情報の削除をテーブル更新部122に命令し、テーブル更新部122は当該ユーザ情報の削除をデータベースドライバ130を介してRDBMS190に要求する。RDBMS190は、ユーザ情報テーブル191に対して「ユーザID」フィールドに設定されているユーザIDが旧ユーザIDと一致するレコードを検索し、検索結果として抽出したレコードを削除する。
そして、ユーザ情報操作部125は、旧ユーザIDをユーザリスト情報テーブル195のユーザリストから削除する。
このとき、ユーザ情報操作部125はユーザリスト情報テーブル195のユーザリストからの旧ユーザIDの削除をテーブル参照部123に命令し、テーブル参照部123は当該旧ユーザIDの削除をデータベースドライバ130を介してRDBMS190に要求する。RDBMS190は、ユーザリスト情報テーブル195に対して「ユーザID」フィールドに設定されているユーザIDが旧ユーザIDと一致するレコードを検索し、検索結果として抽出したレコードを削除する。
ロール管理者は、現ユーザのユーザ情報を変更する場合、ロールを管理するアプリケーションを起動し、起動したアプリケーションに対して現ユーザの新しいユーザ情報を指定する。
アプリケーションは管理者に指定された新しいユーザ情報をロール操作API110に入力し、ロール操作API110はロールデータ操作プロキシ120を呼び出す。
呼び出されたロールデータ操作プロキシ120は、ロール操作API110に入力された新しいユーザ情報でユーザ情報テーブル191の現在のユーザ情報を更新すると共に、更新後のユーザ情報に合わせてユーザリスト情報テーブル195のユーザリストを変更する。
上記アクセス制御方法(ユーザ情報変更)におけるロールデータ操作プロキシ120の処理の詳細について、図11に基づいて以下に説明する。
以下に説明する処理はCPUを用いて実行される。
まず、ユーザ情報操作部125は、管理者に指定された新しいユーザ情報をロール操作API110から入力する。新しいユーザ情報はユーザIDと変更が生じた属性の新しい属性値(役職名、組織ID、資格名または場所ID)とを含む。ユーザIDの変更は無いものとする。
次に、ユーザ情報操作部125は、新しいユーザ情報でユーザ情報テーブル191の現在のユーザ情報を更新する。
このとき、ユーザ情報操作部125は新しいユーザ情報への更新をテーブル更新部122に命令し、テーブル更新部122は新しいユーザ情報への更新をデータベースドライバ130を介してRDBMS190に要求する。RDBMS190は、ユーザ情報テーブル191に対して「ユーザID」フィールドに設定されているユーザIDが新しいユーザ情報に含まれるユーザIDと一致するレコードを検索し、検索結果として抽出したレコードの各フィールドの設定値を新しいユーザ情報に含まれる属性値で更新する。
次に、ユーザ情報操作部125は、前記アクセス制御方法(ユーザ情報削除)のS530と同様に、更新されたユーザ情報に含まれるユーザIDをユーザリスト情報テーブル195のユーザリストから削除する。
次に、ユーザ情報操作部125は、前記アクセス制御方法(ユーザ情報追加)のS430と同様に、更新されたユーザ情報から属性値を取得する。
次に、ユーザ情報操作部125は、前記アクセス制御方法(ユーザ情報追加)のS440と同様に、更新されたユーザ情報から取得された属性値が条件を満たす論理式を有するロールを特定する。
そして、ユーザ情報操作部125は、前記アクセス制御方法(ユーザ情報追加)のS450と同様に、S650で特定したロールのユーザリスト情報テーブル195のユーザリストに、ユーザ情報が更新されたユーザを追加する。
ロールベースのアクセス制御技術において、ロールベースアクセス制御装置100は利用者や組織の属性値を用いた論理式により定義された拡張ロールに従ってアクセス制御を行うシステムを構成し、ロールベースアクセス制御装置100のロール操作API110はロール情報を操作する機能を有するロールデータ操作プロキシ120を有する。
ロールデータ操作プロキシ120は、プロキシ機能として、アクセス権限の判定処理を性能向上させるために、拡張ロール情報を事前に解釈してユーザリストに展開する機能を有する。
ロールデータ操作プロキシ120は、ユーザが新たに追加された場合にユーザの属するロールの判定を高速化するために、拡張ロールに定義されている論理式を論理式の構成情報(属性値)に展開する機能を有する。
ロールベースアクセス制御装置100は、拡張ロールに関連付けられているユーザ及び組織の属性値をロールの生成時にユーザ及び組織のリストへ展開することにより、拡張ロールの課題点であるコンテンツへのアクセス発生時に行うアクセス権限チェックの処理負荷を軽減することが可能となる。
Claims (5)
- ユーザ毎にユーザが有する複数の属性値が設定されるユーザ属性情報と、属性値の組み合わせを示すロールが設定されるロール情報と、アクセスが制限されるアクセス制限情報へのアクセス条件として特定のロールを識別する情報が設定されるアクセス条件情報とを記憶機器を用いて記憶するアクセス制御情報記憶部と、
前記アクセス制御情報記憶部に記憶される前記ユーザ属性情報と前記アクセス制御情報記憶部に記憶される前記ロール情報とに基づいて、当該ロールが示す属性値の組み合わせを有するユーザを示すユーザリストがロール毎に設定されるユーザリスト情報をCPU(Central Processing Unit)を用いて生成するユーザリスト情報生成部と、
前記アクセス制限情報へのアクセス要求が発生した場合、前記アクセス制御情報記憶部に記憶される前記アクセス条件情報に基づいて当該アクセス制限情報へのアクセス条件であるロールをCPUを用いて特定するアクセス条件ロール特定部と、
前記ユーザリスト情報生成部により生成された前記ユーザリスト情報にロール毎に設定されるユーザリストのうち前記アクセス条件ロール特定部により特定されたロールが示す属性値の組み合わせを有するユーザを示すユーザリストに当該アクセス制限情報へのアクセス要求をしたユーザが含まれるか否かに基づいて、当該アクセス制限情報への当該ユーザのアクセス権限をCPUを用いて判定するアクセス権限判定部と
を備えたことを特徴とするアクセス制御装置。 - 前記ロール情報に設定されるロールは、属性値と論理演算子とを含んだ論理式により属性値の組み合わせを示し、
前記アクセス制御装置は、
前記ロール情報に設定されるロールが示す論理式から前記論理演算子を除いて属性値をCPUを用いて抽出し、抽出した属性値を示す属性値リストがロール毎に設定される属性値リスト情報をCPUを用いて生成する属性値リスト情報生成部と、
前記ユーザ属性情報に新たなユーザが有する複数の属性値が設定された場合、前記属性値リスト情報生成部により生成された属性値リスト情報にロール毎に設定される属性値リストが示す属性値が前記ユーザ属性情報に設定された新たなユーザが有する複数の属性値に含まれるか否かに基づいて、前記新たなユーザが有する属性値の組み合わせを示すロールをCPUを用いて特定するユーザ属性ロール特定部と、
前記ユーザリスト情報にロール毎に設定されるユーザリストのうち前記ユーザ属性ロール特定部により特定されたロールが示す属性値の組み合わせを有するユーザを示すユーザリストに前記新たなユーザをCPUを用いて追加するユーザリスト内ユーザ追加部とを備えた
ことを特徴とする請求項1記載のアクセス制御装置。 - 特定のロールが指定された場合、指定された前記特定のロールが示す属性値の組み合わせを有するユーザを示すユーザリストを前記ユーザリスト情報からCPUを用いて取得するロール指定ユーザリスト取得部
を備えたことを特徴とする請求項1〜請求項2いずれかに記載のアクセス制御装置。 - ユーザ毎にユーザが有する複数の属性値が設定されるユーザ属性情報と、属性値の組み合わせを示すロールが設定されるロール情報と、アクセスが制限されるアクセス制限情報へのアクセス条件として特定のロールを識別する情報が設定されるアクセス条件情報とを記憶機器を用いて記憶するアクセス制御情報記憶部を用いて、ユーザのアクセス権限を判定するアクセス制御装置のアクセス制御方法であり、
アクセス制御装置が、
前記アクセス制御情報記憶部に記憶される前記ユーザ属性情報と前記アクセス制御情報記憶部に記憶される前記ロール情報とに基づいて、当該ロールが示す属性値の組み合わせを有するユーザを示すユーザリストがロール毎に設定されるユーザリスト情報をCPU(Central Processing Unit)を用いて生成するユーザリスト情報生成処理を実行し、
前記アクセス制限情報へのアクセス要求が発生した場合、前記アクセス制御情報記憶部に記憶される前記アクセス条件情報に基づいて当該アクセス制限情報へのアクセス条件であるロールをCPUを用いて特定するアクセス条件ロール特定処理を実行し、
前記ユーザリスト情報生成処理により生成された前記ユーザリスト情報にロール毎に設定されるユーザリストのうち前記アクセス条件ロール特定処理により特定されたロールが示す属性値の組み合わせを有するユーザを示すユーザリストに当該アクセス制限情報へのアクセス要求をしたユーザが含まれるか否かに基づいて、当該アクセス制限情報への当該ユーザのアクセス権限をCPUを用いて判定するアクセス権限判定処理を実行する
ことを特徴とするアクセス制御装置のアクセス制御方法。 - 請求項4記載のアクセス制御方法をコンピュータに実行させるアクセス制御プログラム。
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)
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)
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 | 純一郎 森 | 情報共有設定方法および情報共有設定プログラム |
-
2008
- 2008-11-13 JP JP2008290674A patent/JP5159571B2/ja not_active Expired - Fee Related
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 |