(57)【特許請求の範囲】
【請求項１】
リソースへのアクセスを許可するか否かを示すアクセス制御情報に基づいて、アクセス制御を実施することをコンピュータに実行させるアクセス制御プログラムであって、
ユーザのロールに対応する仮想マシンが起動されているか否かを判定する判定手順と、
前記判定手順によって前記仮想マシンが起動されていないと判定された場合に、前記ユーザのロールとアプリケーションの動作環境を分離する前記仮想マシンと前記アクセス制御情報とを対応付けて保持する記憶部から、前記ユーザのロールに対応する前記仮想マシンを特定し、特定した前記仮想マシンを起動する起動手順と、
前記アプリケーションによりリソースへアクセスが行われる場合に、当該アプリケーションが実行されている仮想マシンに対応するアクセス制御情報を前記記憶部から特定し、特定したアクセス制御情報に基づいて、前記リソースへのアクセス制御を実施するアクセス制御実施手順と
をコンピュータに実行させることを特徴とするアクセス制御プログラム。
【請求項２】
前記記憶部は、前記ユーザのロールに対応付けて、前記アプリケーション間の通信を禁止するか否かを示すアクセス制御情報をさらに記憶することを特徴とする請求項１に記載のアクセス制御プログラム。
【請求項３】
前記リソースは、各種データを記憶するデータベースであって、
前記記憶部は、前記データベースへ制御コマンドを示すクエリまたは前記データベースのカラムごとにアクセス制御情報を記憶することを特徴とする請求項１または２に記載のアクセス制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、リソースへのアクセスを許可するか否かを示すアクセス制御情報に基づいて、アクセス制御を実施することをコンピュータに実行させるアクセス制御プログラムに関する。
【背景技術】
【０００２】
従来より、クライアントサーバシステムなどのオープンシステムやローカルでのコンピュータ装置などでは、ＯＳ（Operating  System）によるアクセス制御やアプリケーションによるアクセス制御など、各層においてアクセス制御が行われている（特許文献１参照）。
【０００３】
具体的には、ローカルコンピュータの場合、ユーザは、当該コンピュータを起動してユーザログインし、ログイン後、所望のアプリケーションを起動して、当該アプリケーションを用いてファイルなどのリソースにアクセスする。このように、コンピュータは、ユーザごとにログインを受け付けるか否かを判定するＯＳレベルのアクセス制御を行うとともに、ログインしたユーザにより使用されるアプリケーションごとにリソースへアクセス可能か否かを判定するアプリケーションレベルのアクセス制御を行う。
【０００４】
同様に、オープンシステムの場合、ユーザは、クライアント端末を用いてサーバにアクセスし、ログイン後、所望のアプリケーションを起動して、当該アプリケーションを用いてファイルなどのリソースにアクセスする。このように、サーバは、クライアント端末ごとにログインを受け付けるか否かを判定するＯＳレベルのアクセス制御を行うとともに、ログインしたクライアント端末により使用されるアプリケーションごとにリソースへアクセス可能か否かを判定するアプリケーションレベルのアクセス制御を行う。
【０００５】
【特許文献１】特開２００７−４８３１０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記した従来の技術では、アクセス制御を正しく管理することができないという課題があった。具体的には、従来技術では、アプリケーションによるアクセス制御と、ＯＳでのアクセス制御とがバラバラで管理されており、特に、アプリケーションによるアクセス権が管理がされていた場合には、ＯＳでの厳密なアクセス制御が不可能となっている。
【０００７】
例えば、ＯＳにおいて、「ユーザＡはリソースＣへのアクセス（書込み・読み出し）不可」というアクセス権が管理されている状況で、ユーザＡがコンピュータ装置にログインしてアプリケーションＡを起動するとする。この場合、「アプリケーションＡはリソースＣへのアクセス許可」がアプリケーション上のアクセス権として管理されているならば、ユーザＡは、ＯＳにおいてはリソースＣにアクセスできないが、アプリケーションＡを用いることでリソースＣにアクセスできることとなる。
【０００８】
つまり、ＯＳ上でリソースへのアクセス権が拒否されているユーザであっても、アプリケーションを用いることにより、拒否されるべきリソースへアクセスできることとなる。
【０００９】
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、アクセス制御を正しく管理することが可能であるアクセス制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するため、本願が開示するコンピュータ装置は、前記アプリケーションによりリソースへアクセスが行われる場合に、当該アプリケーションが実行されている動作環境から、前記アプリケーションが実行される動作環境に対応付けてユーザのロールを記憶する動作環境記憶部に記憶されるロールを特定するロール特定手順をコンピュータに実行させる。また、本願が開示するコンピュータ装置は、前記ロール特定手順により特定されたロールに対応付けられているアクセス制御情報を、前記ユーザのロールに対応付けてアクセス制御情報を記憶するアクセス制御情報記憶部から特定し、特定したアクセス制御情報に基づいて、前記リソースへのアクセス制御を実施するアクセス制御実施手順をコンピュータに実行させる。
【発明の効果】
【００１１】
本願が開示するコンピュータ装置によれば、ＯＳレベルでアクセス制御を正しく管理することが可能である。
【発明を実施するための最良の形態】
【００１２】
以下に添付図面を参照して、この発明に係るアクセス制御プログラムの実施例を詳細に説明する。
【実施例１】
【００１３】
［コンピュータ装置の概要］
まず最初に、図１を用いて、実施例１に係るアクセス装置の概要を説明する。図１は、実施例１に係るコンピュータ装置の全体構成を示すシステム構成図である。
【００１４】
従来、ＯＳでは、ユーザログインなどによりアプリケーションを操作するユーザに関してアクセス制御情報を管理し、アプリケーションは、当該アプリケーション内で管理するアクセス制御情報に基づいて、リソースへのアクセス制御を実施していた。その結果、アプリケーションは、ＯＳでのアクセス制御情報を介することなく、自アプリケーション内のアクセス制御情報のみに基づいてアクセス制御を実施していた。
【００１５】
図１に示すコンピュータ装置は、本願の開示するアクセス制御を実行する装置であり、具体的には、アプリケーションの動作環境をユーザのロール（役割、ロールベースアクセスコントロール）毎に分離し、動作環境に対してユーザロールを割り当て、動作環境に対してリソースへのアクセス制御を行う。そうすることで、コンピュータ装置は、ユーザロールベースのアクセス制御をＯＳレベルで実現することができる結果、アクセス制御を正しく管理することが可能である。
【００１６】
具体的には、実施例１に係るコンピュータ装置は、図１に示すように、ユーザロールとアプリケーションの動作環境とを対応付けた「動作環境ＤＢ」と、ユーザロールとリソースへのアクセスを許可するか否かを示すアクセス制御情報とを対応付けた「アクセス制御情報ＤＢ」とを有する。
【００１７】
そして、コンピュータ装置は、アプリケーションが情報Ａ（リソースＡ）へのアクセスを行う際に、当該アプリケーションが動作している動作環境を取得し、取得した動作環境に対応するユーザロールを特定する。続いて、コンピュータ装置は、取得したユーザロールに対応する情報Ａへのアクセス制御情報（R/W）に基づいて、アプリケーションからリソースへのアクセス制御を実施する。
【００１８】
つまり、実施例１に係るコンピュータ装置は、アプリケーション内で管理されるアクセス制御情報とは別に、ユーザロールベースのアクセス制御をＯＳレベルで実現することができる結果、アクセス制御を正しく管理することが可能である。
【００１９】
［コンピュータ装置の構成］
次に、図２を用いて、図１に示したコンピュータ装置の構成を説明する。図２は、実施例１に係るコンピュータ装置の構成を示すブロック図である。図２に示すように、このコンピュータ装置１０は、通信制御Ｉ／Ｆ部１１と、記憶部１５と、制御部２０とから構成される。
【００２０】
かかる通信制御Ｉ／Ｆ部１１は、他の装置との間でやり取りする各種情報に関する通信を制御するものであり、具体的には、ユーザが操作する端末からログイン要求を受け付けたり、当該端末からアプリケーションを動作させる各種要求を受け付ける。
【００２１】
記憶部１５は、制御部２０による各種処理に必要なデータおよびプログラム、ユーザにより実行される各種アプリケーションなどを格納するとともに、特に本発明に密接に関連するものとしては、ログインＤＢ１６と、動作環境ＤＢ１７と、アクセス制御ＤＢ１８とを備える。なお、記憶部１５に記憶されるアプリケーションは、自プログラム内において記憶するアクセス制御情報に基づいてアクセス制御を実施する。
【００２２】
かかるログインＤＢ１６は、ユーザを認証するための情報を記憶する。具体的に例を挙げると、ログインＤＢ１６は、図３に示すように、『ユーザを示す「ユーザＩＤ」、ユーザを認証する「パスワード」、ユーザが属する「Role」』として「AAA、XXX、Role-X」などを記憶する。なお、図３は、ログインＤＢに記憶される情報の例を示す図である。
【００２３】
動作環境ＤＢ１７は、アプリケーションが実行される動作環境に対応付けてユーザのロールを記憶する。具体的に例を挙げると、動作環境ＤＢ１７は、図４に示すように、『ユーザが属する「Role」、アプリケーションが実行される「動作環境」』として「Role-X、環境Ｘ」や「Role-Y、環境Ｙ」などを記憶する。なお、図４は、動作環境ＤＢに記憶される情報の例を示す図である。
【００２４】
アクセス制御ＤＢ１８は、ユーザのロールに対応付けてアクセス制御情報を記憶する。具体的に例を挙げれば、アクセス制御ＤＢ１８は、図５に示すように、ユーザが属する「Role」に対応付けて、アクセス先を示すリソースに対する「アクセス制御情報」を記憶する。例えば、アクセス制御ＤＢ１８は、「Role、情報A、情報B、情報C」として「R/W、R、Deny」などを記憶する。ここで、R/Wは、情報AへのReadとWriteを許可することを示しており、Rは、情報BへのReadのみを許可することを示しており、Denyは、情報CへReadもWriteも許可しないことを示している。なお、図５は、アクセス制御ＤＢに記憶される情報の例を示す図である。
【００２５】
制御部２０は、ＯＳなどの制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有するとともに、特に本発明に密接に関連するものとしては、ログイン制御部２１と、管理部２２と、ロール特定部２３と、アクセス制御部２４とを備え、これらによって種々の処理を実行する。
【００２６】
かかるログイン制御部２１は、ユーザに対してログイン認証を実施する。具体的に例を挙げれば、ログイン制御部２１は、ユーザが使用する端末からログイン要求を受け付けた場合に、「ユーザＩＤ、パスワード」を入力する画面を当該端末に出力する。そして、ログイン制御部２１は、端末により入力された「ユーザＩＤ、パスワード」がログインＤＢ１６に記憶されているか否かを判定し、記憶されていればログイン許可、記憶されていなければログイン拒否を端末に応答する。ログインを許可したログイン制御部２１は、当該ユーザの属する「Role」をログインＤＢ１６から取得して、取得した「Role」とログインを許可したこととを後述する管理部２２に通知する。また、ログイン制御部２１は、入力された「ユーザＩＤ」が複数のロールに属している場合には、使用するロールを選択させる画面をさらに表示するようにしてもよい。
【００２７】
管理部２２は、アプリケーションに動作環境を提供するとともに、実行されたアプリケーションを管理する。具体的に例を挙げれば、管理部２２は、ログイン制御部２１によりログインが許可されたユーザ（ユーザＩＤ）に対して、通知された「Role」に対応する環境を提供する。例えば、管理部２２は、ログインが許可されたユーザそれぞれに対して、「Role」に対応するパーティション、ネットワーク、ＶＭ（Virtual  Machine）などを提供する。
【００２８】
また、管理部２２は、ログイン制御部２１によりログインが許可されたユーザが記憶部１５に記憶されるアプリケーションを実行した場合に、「ユーザＩＤ」と実行された「アプリケーション」とを対応付けて管理する。例えば、管理部２２は、「アプリケーション、動作環境」として「アプリＡ、環境Ｘ」などを管理する。なお、管理手法については、記憶部１５などにデータベースなどを作成して管理してもよく、制御部２０内の一時領域などを管理してもよい。
【００２９】
ロール特定部２３は、アプリケーションによりリソースへアクセスが行われる場合に、当該アプリケーションが実行されている動作環境から、動作環境ＤＢ１７に記憶されるロールを特定する。具体的には、ロール特定部２３は、管理部２２により管理されるアプリケーションがリソースへアクセスした場合に、当該アプリケーションが実行されている動作環境を管理部２２から取得し、取得した動作環境に対応するロールを動作環境ＤＢ１７から特定する。そして、ロール特定部２３は、特定したロール情報とアクセス先とを後述するアクセス制御部２４に通知する。
【００３０】
例えば、ロール特定部２３は、管理部２２により管理されるアプリＡが情報Ａへアクセスした場合に、当該アプリＡが実行されている動作環境「環境Ｘ」を管理部２２から取得し、取得した動作環境「環境Ｘ」に対応するロール「Role-X」を動作環境ＤＢ１７から特定する。そして、ロール特定部２３は、特定したロール情報「Role-X」とアクセス先「情報Ａ」をアクセス制御部２４に通知する。
【００３１】
アクセス制御部２４は、ロール特定部２３により特定されたロールに対応付けられているアクセス制御情報を、アクセス制御ＤＢ１８から特定し、特定したアクセス制御情報に基づいて、リソースへのアクセス制御を実施する。上記した例で具体的に説明すると、アクセス制御部２４は、ロール特定部２３により通知されたロール情報「Role-X」とアクセス先「情報Ａ」に対応付けられているアクセス制御情報「R/W」を、アクセス制御ＤＢ１８から特定し、特定したアクセス制御情報「R/W」に基づいて、アクセス先「情報Ａ」へのアクセス制御を実施する。
【００３２】
［コンピュータ装置による処理］
次に、図６を用いて、コンピュータ装置による処理を説明する。図６は、実施例１に係るコンピュータ装置におけるアクセス制御処理の流れを示すフローチャートである。
【００３３】
図６に示すように、コンピュータ装置１０は、ユーザに対してログインを許可した場合に（ステップＳ１０１肯定）、当該ユーザが属する「Role」をログインＤＢ１６から取得し、取得した「Role」に対応する動作環境「環境Ｘ」を分離し、ユーザに提供する（ステップＳ１０２）。
【００３４】
そして、コンピュータ装置１０は、実行されているアプリケーションからリソース「情報Ａ」へのアクセスがあった場合に（ステップＳ１０３肯定）、当該アプリケーションが実行されている動作環境「環境Ｘ」を取得する（ステップＳ１０４）。その後、コンピュータ装置は、取得した動作環境「環境Ｘ」に対応するアクセス制御情報「R/W」をアクセス制御ＤＢ１８から特定して、特定したアクセス制御情報「R/W」に基づいて、リソース「情報Ａ」へのアクセス制御を実施する（ステップＳ１０５）。
【００３５】
［実施例１による効果］
このように、実施例１によれば、コンピュータ装置は、アプリケーションによりリソースへアクセスが行われる場合に、当該アプリケーションが実行されている動作環境から、アプリケーションが実行される動作環境に対応付けてユーザのロールを記憶する動作環境ＤＢ１７に記憶されるロールを特定する。そして、コンピュータ装置は、特定されたロールに対応付けられているアクセス制御情報を、ユーザのロールに対応付けてアクセス制御情報を記憶するアクセス制御ＤＢ１８から特定し、特定したアクセス制御情報に基づいて、リソースへのアクセス制御を実施する。その結果、ユーザロールに従ったアクセス制御をＯＳレベルで実現することができる結果、アクセス制御を正しく管理することが可能である。
【実施例２】
【００３６】
ところで、実施例１では、ユーザのRole（ロール）ごとにパーティション、ネットワーク、ＶＭ（Virtual  Machine）など動作環境を分離して、アクセス制御を実施する場合について説明したが、実施例２では、特に、ＶＭに基づいて動作環境を分離してアクセス制御を実施する例を説明する。
【００３７】
（概要（実施例２））
まず、図７を用いて、ＶＭを用いた場合の動作環境分離概要について説明する。実施例１とは異なり、実施例２に係るコンピュータ装置は、『ユーザが属する「Role」、アプリケーションが実行される「ＶＭ」』として「Role-X、ＶＭ１」や「Role-Y、ＶＭ２」などと動作環境ＤＢに記憶する。なお、図７と図８は、実施例２に係るコンピュータ装置の概要を説明するための図である。
【００３８】
図７に示すように、コンピュータ装置は、Role−Dispatcher（ＶＭ−Ａ）でユーザからのログイン（Login  with  Role）を受け付ける。なお、ここでは、ログイン時にRoleが指定されている例を示しているが、これに限定されるものではなく、実施例１と同様、ログイン情報として記憶していてもよい。
【００３９】
そして、コンピュータ装置は、ログインを許可したユーザに対して、当該ユーザがログイン時に指示したRoleに対応するＶＭを起動するとともに、ＶＭ上のアプリケーションに接続を行なうために、仮想ネットワークSwitchを構成してユーザに提供する。その後、ＶＭ内で起動されるアプリケーションからリソースＡへのアクセスを受け付けたコンピュータ装置は、当該アプリケーションの動作環境（ＶＭ）から当該動作環境に対応する「Role」を特定する。そして、コンピュータ装置は、特定した「Role」に対応するリソースＡのアクセス制御情報に基づいて、アクセス制御を実施する。
【００４０】
ここで、図８を用いて、ＶＭに対するアクセス制御について詳細に説明する。実施例２に係るコンピュータ装置は、図８に示すように、仮想マシンソフトウエア「ＸＥＮ」上に権限ＡのＶＭ１、権限ＢのＶＭ２、アクセス制御を実施するＶＭ３を管理し、これらとは別にリソース（資源群１、資源群２）を記憶している。
【００４１】
ここで、ＶＭ１における権限Ａとは、ＶＭ１を使用するアプリケーションが属する権限であり、ＶＭ３で管理されるアクセス制御情報は、各ＶＭにおける権限に基づいて決定されたリソースへのアクセス制御を記憶していることとなる。
【００４２】
このような構成のもと、ＶＭ１上およびＶＭ２上で実行されているアプリケーションは、リソース（資源群１、資源群２）へアクセスする場合に、ＶＭ３上のアクセス制御を介してアクセスを行うこととなる。
【００４３】
したがって、実施例２に係るコンピュータ装置は、ＶＭ１上およびＶＭ２上で実行されているアプリケーションがリソースへアクセスする場合に、当該リソースへのアクセスを受け付けて、当該アプリケーションが実行されているＶＭに対応するアクセス制御に基づいて、アクセス制御を実施することができる。
【００４４】
（処理の流れ（実施例２））
次に、図９を用いて、実施例２に係るコンピュータ装置における処理の流れを説明する。なお、図９は、実施例２に係るコンピュータ装置におけるＶＭ起動処理の流れを示すフローチャートである。実施例２に係るコンピュータ装置におけるアクセス制御処理については、動作環境がＶＭとなることが異なり、処理自体の流れは、実施例１と同様であるので、ここでは、ユーザに対してＶＭが割り当てられるまでの処理について説明する。
【００４５】
図９に示すように、実施例２に係るコンピュータ装置は、ユーザに対してログインを許可した場合に（ステップＳ２０１肯定）、当該ユーザからのアプリ接続（ユーザによるアプリ起動）があるか否かを判定する（ステップＳ２０２）。
【００４６】
そして、コンピュータ装置は、当該ユーザからのアプリ接続がある場合（ステップＳ２０２肯定）、当該ユーザのログイン時の情報に基づいて、当該ユーザが属する「Role」を取得する（ステップＳ２０３）。
【００４７】
続いて、コンピュータ装置は、取得した「Role」に対応するＶＭが当該装置内に存在するか否か、つまり、既に起動されているか否かを判定する（ステップＳ２０４）。
【００４８】
そして、コンピュータ装置は、取得した「Role」に対応するＶＭが当該装置内に存在する場合（ステップＳ２０４肯定）、ＶＭ上のアプリケーションに接続を行なうために、仮想ネットワークスイッチを再構成して（ステップＳ２０５）、ユーザとアプリとを接続する（ステップＳ２０６）。言い換えれば、コンピュータ装置は、取得した「Role」に対応するＶＭが当該装置内に存在する場合、ユーザがアプリを使用できるように、ユーザにアプリを提供する。
【００４９】
一方、コンピュータ装置は、取得した「Role」に対応するＶＭが当該装置内に存在しない場合（ステップＳ２０４否定）、「Role」に対応するＶＭを新たに起動した後に（ステップＳ２０７）、ステップＳ２０５とステップＳ２０６の処理を実行する。
【００５０】
（実施例２による効果）
このように、実施例２によれば、コンピュータ装置は、アプリケーションが実行される仮想領域（ＶＭ）に対応付けてユーザのロール（Role）を記憶し、アプリケーションによりリソースへアクセスが行われる場合に、当該アプリケーションが実行されている仮想領域から、アプリケーションが実行されるユーザのロールを特定する。その結果、ＶＭを用いたか仮想領域を用いた場合であっても、ユーザロールに従ったアクセス制御をＯＳレベルで実現することができる結果、アクセス制御を正しく管理することが可能である。
【実施例３】
【００５１】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下に示すように、（１）Role、（２）フロー制御、（３）ＶＭ構成、（４）セッション制御、（５）ＤＢへの適用、（６）システム構成等、（７）プログラム、にそれぞれ区分けして異なる実施例を説明する。
【００５２】
（１）Role
上記した実施例１や実施例２で用いたRole（ロール）とは、ロールベースアクセスコントロールに用いられるロール（役割）のことであり、管理職、一般社員など役割によって分類される情報である。
【００５３】
（２）フロー制御
また、本願が開示するコンピュータ装置は、アプリケーションにより一度読み出された情報に対して、フロー制御を行うようにすることもできる。一般的に、汎用機の時代には、情報のフロー制御が可能であったが、オープンシステムでのサーバのアクセス制御では、ファイルなどのリソースへのアクセス制御を行なっているが、アクセスが一旦許可されて、読み出されたあとの情報に関しては、アクセス制御が行なえなくなっていた。
【００５４】
これに対して、本願では、オープンシステムにおいてもフロー制御を行うことができる。具体的に図１０を用いて説明する。なお、図１０は、情報のフロー制御としてＭＬＳ(Multi  Level  Security)の例を示す図である。
【００５５】
この図１０は、セキュリティレベルの高い情報が、セキュリティレベルの低い領域に流れ込まないようにするモデルである。このモデルをOSのアクセス制御だけで実現することはできない。例えば、一旦、ＯＳのアクセス制御によりユーザＡがセキュリティレベルＸの情報を読み出すことができたならば、ユーザＡは、セキュリティレベルＸ１の読み出した情報を、ユーザＢに渡すことができるからである。このようなパスを経由することにより、セキュリティレベルXの情報が、セキュリティレベルYの領域に移動することが可能となるためである。
【００５６】
このため、本願が開示するコンピュータ装置は、セキュリティレベルＡのユーザの動作環境と、セキュリティレベルＢのユーザの動作環境を分離し、お互いの分離された動作環境間では、データのやりとりが行なえないようにアクセス制御を記憶する。そうすることにより、コンピュータ装置は、動作するＶＭに対応付けて記憶するRoleごとのアクセス制御情報に基づいて、アクセス制御が実施されるため、セキュリティレベルＸの情報が、セキュリティレベルＹの領域に移動することができないようにすることができる。
【００５７】
（３）ＶＭ構成
また、実施例２では、仮想マシンがＶＭ１〜ＶＭ３まで実行されている場合の構成について説明したが、実行される仮想マシンの数を限定するものではない。また、本願が開示するコンピュータ装置は、起動されるＶＭ上に新たなＸＥＮを起動し、新たなＶＭを構成することもできる。
【００５８】
具体的に例を挙げると、コンピュータ装置は、図１１に示すように、ＸＥＮ上に起動されるＶＭ１上に、新たなＸＥＮをさらに起動し、新たなＸＥＮ上にさらにＶＭ（ＶＭ−Ａ１〜ＶＭ−Ａ３）を起動する。そして、コンピュータ装置は、動作環境を示すＶＭ（ＶＭ−Ａ１〜ＶＭ−Ａ３）ごとにユーザのRoleを対応付け、当該Roleごとにリソースへのアクセス制御情報を記憶することにより、ＶＭ（ＶＭ−Ａ１〜ＶＭ−Ａ３）ごとにアクセス制御を実施することができる。なお、図１１は、ＶＭ構成の例を示す図である。
【００５９】
（４）セッション制御
また、本願が開示するコンピュータ装置は、ユーザＡが複数のRoleに属している場合であっても、正確なアクセス制御を実施することができる。具体的には、ユーザＡが「Role１、Role２、Role３」など複数のRoleに属している場合、コンピュータ装置は、ログインの段階で、どのRoleを使用するのかをユーザに問い合わせる。この問い合わせの手法としては、ログイン画面にRoleを選択させるリストを表示したり、ログイン画面のパスワードと同様にRoleを入力する画面を表示したり様々な手法を用いることができる。
【００６０】
そして、コンピュータ装置は、ログイン時にユーザＡにより指定されたRole「Role１」に対応するＶＭ１を起動することで、ユーザＡ端末とＶＭ１とのセッションを確立し、当該ＶＭ１上で実行されたアプリケーションにおいては、「Role１」のアクセス制御情報に基づいて、アクセス制御を実施することとなる。
【００６１】
また、ＶＭ１でアプリケーションを操作しているユーザＡが新たに「Role２」でログインしてきた場合、コンピュータ装置は、「Role２」に対応するＶＭ２を新たに起動することで、ユーザＡ端末とＶＭ２とのセッションを新たに確立する。そして、コンピュータ装置は、当該ＶＭ２上で実行されたアプリケーションにおいては、「Role２」のアクセス制御情報に基づいて、アクセス制御を実施することとなる。
【００６２】
このように、ユーザが複数のRoleに属する場合であっても、それぞれのRoleごとにセッションを確立してアクセス制御を実施することが可能である。
【００６３】
（５）ＤＢへの適用
アクセス制御先のリソースがＤＢの場合には、通常のファイルアクセスとは異なり、ＯＳで標準的に適用されているアクセス制御では、ＤＢ（Table）単位でのアクセス制御となってしまう。本願が開示するコンピュータ装置では、ＤＢへのアクセスの中身を解釈して、それに応じたアクセス制御情報を記憶することにより、ＤＢへのクエリごとやカラムごとにアクセス制御を実施することができる。
【００６４】
（６）システム構成等
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合（例えば、管理部２２とロール特定部２３とを統合するなど）して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００６５】
この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報（例えば、図３〜図５）については、特記する場合を除いて任意に変更することができる。
【００６６】
（７）プログラム
ところで、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することができる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータシステムを他の実施例として説明する。
【００６７】
図１２は、アクセス制御プログラムを実行するコンピュータシステムの例を示す図である。図１２に示すように、コンピュータシステム１００は、ＲＡＭ１０１と、ＨＤＤ１０２と、ＲＯＭ１０３と、ＣＰＵ１０４とから構成される。ここで、ＲＯＭ１０３には、上記の実施例と同様の機能を発揮するプログラム、つまり、図１２に示すようにログイン制御プログラム１０３ａと、管理プログラム１０３ｂと、ロール特定プログラム１０３ｃと、アクセス制御プログラム１０３ｄとがあらかじめ記憶されている。
【００６８】
そして、ＣＰＵ１０４には、これらのプログラム１０３ａ〜１０３ｄを読み出して実行することで、図１２に示すように、ログイン制御プロセス１０４ａと、管理プロセス１０４ｂと、ロール特定プロセス１０４ｃと、アクセス制御プロセス１０４ｄとなる。なお、ログイン制御プロセス１０４ａは、図２に示した、ログイン制御部２１に対応し、同様に、管理プロセス１０４ｂは、管理部２２に対応し、ロール特定プロセス１０４ｃは、ロール特定部２３に対応し、アクセス制御プロセス１０４ｄは、アクセス制御部２４に対応する。
【００６９】
また、ＨＤＤ１０２には、ユーザを認証するための情報を記憶するログインテーブル１０２ａと、アプリケーションが実行される動作環境に対応付けてユーザのロールを記憶する動作環境テーブル１０２ｂとユーザのロールに対応付けてアクセス制御情報を記憶するアクセス制御テーブル１０２ｃとが設けられる。
【００７０】
なお、ログインテーブル１０２ａは、図２に示したログインＤＢ１６に対応し、同様に、動作環境テーブル１０２ｂは、動作環境ＤＢ１７に対応し、アクセス制御テーブル１０２ｃは、アクセス制御ＤＢ１８に対応する。
【００７１】
ところで、上記したプログラム１０３ａ〜１０３ｄは、必ずしもＲＯＭ１０３に記憶させておく必要はなく、例えば、コンピュータシステム１００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯディスク、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」の他に、コンピュータシステム１００の内外に備えられるハードディスクドライブ（ＨＤＤ）などの「固定用の物理媒体」、さらに、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータシステム１００に接続される「他のコンピュータシステム」に記憶させておき、コンピュータシステム１００がこれらからプログラムを読み出して実行するようにしてもよい。
【００７２】
以上の実施例１〜３を含む実施形態に関し、更に以下の付記を開示する。
【００７３】
（付記１）リソースへのアクセスを許可するか否かを示すアクセス制御情報に基づいて、アクセス制御を実施することをコンピュータに実行させるアクセス制御プログラムであって、
アプリケーションによりリソースへアクセスが行われる場合に、当該アプリケーションが実行されている動作環境から、前記アプリケーションが実行される動作環境に対応付けてユーザのロールを記憶する動作環境記憶部に記憶されるロールを特定するロール特定手順と、
前記ロール特定手順により特定されたロールに対応付けられているアクセス制御情報を、前記ユーザのロールに対応付けてアクセス制御情報を記憶するアクセス制御情報記憶部から特定し、特定したアクセス制御情報に基づいて、前記リソースへのアクセス制御を実施するアクセス制御実施手順と、
をコンピュータに実行させることを特徴とするアクセス制御プログラム。
【００７４】
（付記２）前記アクセス制御情報記憶部は、前記ユーザのロールに対応付けて、前記アプリケーション間の通信を禁止するか否かを示すアクセス制御情報をさらに記憶することを特徴とする付記１に記載のアクセス制御プログラム。
【００７５】
（付記３）前記リソースは、各種データを記憶するデータベースであって、
前記アクセス制御情報記憶部は、前記ユーザのロールに対応付けて、前記データベースへ制御コマンドを示すクエリまたは前記データベースのカラムごとにアクセス制御情報を記憶することを特徴とする付記１または２に記載のアクセス制御プログラム。
【００７６】
（付記４）前記動作環境記憶部は、前記アプリケーションが実行される仮想領域に対応付けてユーザのロールを記憶し、
前記ロール特定手順は、前記アプリケーションによりリソースへアクセスが行われる場合に、当該アプリケーションが実行されている仮想領域から、前記アプリケーションが実行される仮想領域に対応付けてユーザのロールを記憶する動作環境記憶部に記憶されるロールを特定することを特徴とする付記１〜３のいずれか一つに記載のアクセス制御プログラム。
【００７７】
（付記５）前記ユーザがログインする際に、当該ユーザがアプリケーションを実行させる動作環境を、前記ユーザのロールに基づいて分離する分離手順をさらに備え、
前記ロール特定手順は、前記アプリケーションによりリソースへアクセスが行われる場合に、当該アプリケーションが実行されている前記分離手段により分離された動作環境から、前記動作環境記憶部に記憶されるロールを特定することを特徴とする付記１〜４のいずれか一つに記載のアクセス制御プログラム。
【００７８】
（付記６）前記分離手順は、前記動作環境と前記アプリケーションとを仮想ネットワークスイッチを用いて接続することを特徴とする付記５に記載のアクセス制御プログラム。
【００７９】
（付記７）前記分離手順は、当該ユーザのロールに対応する動作環境が現に分離されていない場合には、前記ユーザのロールに対応する新たな動作環境を起動した後に分離することを特徴とする付記５に記載のアクセス制御プログラム。
【００８０】
（付記８）前記分離手順は、前記ユーザがログインする際に、当該ユーザにより指定されたロールに基づいて動作環境を分離することを特徴とする付記５に記載のアクセス制御プログラム。
【００８１】
（付記９）リソースへのアクセスを許可するか否かを示すアクセス制御情報に基づいて、アクセス制御を実施するアクセス制御装置であって、
前記アプリケーションが実行される動作環境に対応付けて、前記ユーザのロールを記憶する動作環境記憶手段と、
前記ユーザのロールに対応付けて、前記アクセス制御情報を記憶するアクセス制御情報記憶手段と、
アプリケーションによりリソースへアクセスが行われる場合に、当該アプリケーションが実行されている動作環境から、前記動作環境記憶手段に記憶されるロールを特定するロール特定手順と、
前記ロール特定手順により特定されたロールに対応付けられているアクセス制御情報を前記アクセス制御情報記憶手段から特定し、特定したアクセス制御情報に基づいて、前記リソースへのアクセス制御を実施するアクセス制御実施手順と、
を備えたことを特徴とするアクセス制御装置。
【００８２】
（付記１０）リソースへのアクセスを許可するか否かを示すアクセス制御情報に基づいて、アクセス制御を実施することをコンピュータに実行させるアクセス制御方法であって、
アプリケーションによりリソースへアクセスが行われる場合に、当該アプリケーションが実行されている動作環境から、前記アプリケーションが実行される動作環境に対応付けてユーザのロールを記憶する動作環境記憶部に記憶されるロールを特定するロール特定工程と、
前記ロール特定工程により特定されたロールに対応付けられているアクセス制御情報を、前記ユーザのロールに対応付けてアクセス制御情報を記憶するアクセス制御情報記憶部から特定し、特定したアクセス制御情報に基づいて、前記リソースへのアクセス制御を実施するアクセス制御実施工程と、
をコンピュータに実行させることを特徴とするアクセス制御方法。
【図面の簡単な説明】
【００８３】
【図１】実施例１に係るコンピュータ装置の全体構成を示すシステム構成図である。
【図２】実施例１に係るコンピュータ装置の構成を示すブロック図である。
【図３】ログインＤＢに記憶される情報の例を示す図である。
【図４】動作環境ＤＢに記憶される情報の例を示す図である。
【図５】アクセス制御ＤＢに記憶される情報の例を示す図である。
【図６】実施例１に係るコンピュータ装置におけるアクセス制御処理の流れを示すフローチャートである。
【図７】実施例２に係るコンピュータ装置の概要を説明するための図である。
【図８】実施例２に係るコンピュータ装置の概要を説明するための図である。
【図９】実施例２に係るコンピュータ装置におけるＶＭ起動処理の流れを示すフローチャートである。
【図１０】情報のフロー制御としてＭＬＳの例を示す図である。
【図１１】ＶＭ構成の例を示す図である。
【図１２】アクセス制御プログラムを実行するコンピュータシステムの例を示す図である。
【符号の説明】
【００８４】
１０  コンピュータ装置
１１  通信制御Ｉ／Ｆ部
１５  記憶部
１６  ログインＤＢ
１７  動作環境ＤＢ
１８  アクセス制御ＤＢ
２０  制御部
２１  ログイン制御部
２２  管理部
２３  ロール特定部
２４  アクセス制御部
１００  コンピュータシステム
１０１  ＲＡＭ
１０２  ＨＤＤ
１０２ａ  ログインテーブル
１０２ｂ  動作環境テーブル
１０２ｃ  アクセス制御テーブル
１０３  ＲＯＭ
１０３ａ  ログイン制御プログラム
１０３ｂ  管理プログラム
１０３ｃ  ロール特定プログラム
１０３ｄ  アクセス制御プログラム
１０４  ＣＰＵ
１０４ａ  ログイン制御プロセス
１０４ｂ  管理プロセス
１０４ｃ  ロール特定プロセス
１０４ｄ  アクセス制御プロセス
【図１】
0005035129.tif 000002
【図２】
0005035129.tif 000003
【図３】
0005035129.tif 000004
【図４】
0005035129.tif 000005
【図５】
0005035129.tif 000006
【図６】
0005035129.tif 000007
【図７】
0005035129.tif 000008
【図８】
0005035129.tif 000009
【図９】
0005035129.tif 000010
【図１０】
0005035129.tif 000011
【図１１】
0005035129.tif 000012
【図１２】
0005035129.tif 000013