エージェントアクセス管理システム
【課題】エージェントが利用者の代理としてしかるべき権限を与えられ、利便性の向上と同時にセキュリティリスクを軽減する。
【解決手段】エージェントに対する認証処理を含めた手続処理の代理を管理するエージェントアクセス管理システムであって、エージェント利用者からのエージェント情報として、識別子、クレデンシャル情報および委譲権限を登録することによりエージェントに権限委譲を行う権限委譲受付手段と、エージェントから識別子およびクレデンシャル情報を受信する認証情報受信手段と、受信した識別子およびクレデンシャル情報に基づいて認証処理および権限確認を行うアクセス制御手段と、エージェントからの指示に基づいて、該エージェントに対応した委譲権限の範囲内で所定の手続処理を受け付けるエージェント管理手段とを備える。
【解決手段】エージェントに対する認証処理を含めた手続処理の代理を管理するエージェントアクセス管理システムであって、エージェント利用者からのエージェント情報として、識別子、クレデンシャル情報および委譲権限を登録することによりエージェントに権限委譲を行う権限委譲受付手段と、エージェントから識別子およびクレデンシャル情報を受信する認証情報受信手段と、受信した識別子およびクレデンシャル情報に基づいて認証処理および権限確認を行うアクセス制御手段と、エージェントからの指示に基づいて、該エージェントに対応した委譲権限の範囲内で所定の手続処理を受け付けるエージェント管理手段とを備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、利用者から権限委譲(Delegation)されたエージェント(Software Agents)によりネットワーク上のサービスにアクセスするための管理技術に関し、認証(Authentication)と認可(Authorization)に伴う権限委譲を実現する技術に関する。
【背景技術】
【0002】
近年、インターネット等のネットワークの発達に伴い、アプリケーションがサービスとして公開され、利用者が物理的に離れたところでもネットワークを通じてサービスを利用することが可能になってきている。それらのサービスに対するアクセスを所定の利用者だけに制限したい場合、サービスに対してアクセス要求する利用者を認証し、認証済みの利用者の保有する権限に基づいてサービスへの認可判断を行い、アクセス要求を制御するアクセス管理システムが多く実装されている。
【0003】
ネットワーク上で利用可能なサービスが多くなると、利用者はそれらの様々なサービスを利用するために、それぞれのサービスにアクセス要求し、個別の認証処理を行った後に個別のサービス処理を行うことになり、利用者にとって煩わしさを伴う。
【0004】
上記のようなサービス毎の個別認証処理を削減する技術としては、一度の認証手続きだけで複数のサービスの利用が可能となるシングルサインオンに関する技術が数多く提案されている。しかし、サインオンした後に、個別のサービスの利用時に利用者が行う処理を削減することはできない。
【0005】
利用者がアクセス制限の付いたサービスを利用する際に必要となる処理の削減を解決するための従来技術として、特許文献1に開示される技術がある。
【0006】
図1は特許文献1に開示された従来のデータベースアクセス制御のためのシステム構成を示す図である。
【0007】
図1においては、ユーザ装置91とデータベースアクセス制御装置93と代理処理サーバ装置97とがネットワーク92に接続され、データベースアクセス制御装置93にはデータベース96が接続されてシステムを構成している。このシステムの動作は次のようになる。
【0008】
すなわち、ユーザ自らが直接にデータベースにアクセスをするのではなく、ユーザのエージェントとなる代理処理サーバ装置97がユーザの権限を代わりに持つ。ユーザはユーザ装置91からデータベースアクセス制御装置93の仲介処理部94にアクセスし、認証手続きを行った後、データベースアクセス制御装置93から認証セッション情報を含むクッキー(cookie)情報を受け取る。
【0009】
そして、ユーザは、利用可能な代理処理サーバ装置97のリストを入手し、ユーザが選択した代理処理サーバ装置97にリダイレクトされ、クッキー情報を持ってアクセスする。
【0010】
代理処理サーバ装置97は、ユーザのアクセス時に付加されるクッキー情報からセッション情報を取り出し、クッキー情報を伴って、データベースアクセス制御装置93に対してユーザの代理でアクセス要求する。
【0011】
データベースアクセス制御装置93は、クッキー情報からユーザを特定し、代理処理サーバ装置97を確認した後、ユーザのアクセス権限を確認し、代理処理サーバ装置97へのアクセスに対する認可判断を行う。代理処理サーバ装置97へのアクセスが許可される場合、その代理処理サーバ装置97は、ユーザの指定した所定のデータ処理をアクセス処理部95を介してデータベース96に対して行った後、処理結果をユーザ装置91に対して返信する。
【0012】
このように、従来技術では、ユーザ本人とは異なる装置に対してアクセス権限を委譲し、代理アクセスを許可するアクセス管理を行うことによって、利用者の個別サービスに対する処理の削減を実現している。
【特許文献1】国際公開WO2005/006204
【発明の開示】
【発明が解決しようとする課題】
【0013】
従来のシステムは上述した仕組により利用者の個別サービスに対する処理の削減を実現するものであるが、次のような問題点が存在する。
(1)ユーザのサービス利用時の処理の負担が依然として大きい。これは、ユーザがデータベースアクセス制御装置93にセッションを保持している間でしか、代理処理サーバ装置97はデータベース96にアクセスできず、独自処理実行ができないからである。
(2)ドメインをまたがる分散環境においてアクセス管理できない。これは、データベースアクセス制御装置93と代理処理サーバ装置97とが異なるドメインに位置するような場合、ユーザの認証セッション情報を含むクッキー情報を両者の間で共有することができないからである。
(3)代理処理サーバ装置97のアクセスを許可するためのセッション管理が必要となり、そのための導入・管理コストがかかる。これは、代理処理サーバ装置97からの代理アクセスを共通クッキーによって実現しているため、ユーザのIDと関連付けて、その中に含まれる認証セッション情報や代理処理サーバ情報などを管理する必要があるからである。
(4)ユーザが委譲する権限を柔軟に制御することができない。これは、代理処理サーバ装置97はユーザと同等の権限を有し、権限の内容を細分化することができないからである。
【0014】
本発明は上記の従来の問題点に鑑み提案されたものであり、その目的とするところは、エージェントが利用者の代理としてしかるべき権限を与えられ、利便性の向上と同時にセキュリティリスクを軽減することのできるエージェントアクセス管理システムを提供することにある。
【課題を解決するための手段】
【0015】
上記の課題を解決するため、本発明にあっては、請求項1に記載されるように、エージェントに対する認証処理を含めた手続処理の代理を管理するエージェントアクセス管理システムであって、エージェント利用者からのエージェント情報として、識別子、クレデンシャル情報および委譲権限を登録することによりエージェントに権限委譲を行う権限委譲受付手段と、エージェントから識別子およびクレデンシャル情報を受信する認証情報受信手段と、受信した識別子およびクレデンシャル情報に基づいて認証処理および権限確認を行うアクセス制御手段と、エージェントからの指示に基づいて、該エージェントに対応した委譲権限の範囲内で所定の手続処理を受け付けるエージェント管理手段とを備えるエージェントアクセス管理システムを要旨としている。
【0016】
また、請求項2に記載されるように、請求項1に記載のエージェントアクセス管理システムにおいて、前記アクセス制御手段は、クレデンシャル情報の検証を経て作成されたセッションの確認により認証を行い、要求されたアクションが登録された権限もしくは委譲権限の範囲内であるか否かの確認により権限確認を行うようにすることができる。
【0017】
また、請求項3に記載されるように、請求項2に記載のエージェントアクセス管理システムにおいて、前記アクセス制御手段は、セッションを示すクッキー情報を伴わないアクセス要求に対し、クレデンシャル情報の検証を行う認証手段へのリダイレクトを行うようにすることができる。
【0018】
また、請求項4に記載されるように、請求項1乃至3のいずれか一項に記載のエージェントアクセス管理システムにおいて、人を利用者として登録する場合の権限は、対象となるサービスに対応したセキュリティポリシに基づいて決定されるようにすることができる。
【0019】
また、請求項5に記載されるように、請求項1乃至4のいずれか一項に記載のエージェントアクセス管理システムにおいて、エージェントを利用者として登録する場合の委譲権限は、委譲元の人もしくはエージェントの権限もしくは委譲権限の範囲内で指定されるようにすることができる。
【0020】
また、請求項6に記載されるように、エージェントに対する認証処理を含めた手続処理の代理を管理するエージェントアクセス管理方法であって、エージェント利用者からのエージェント情報として、識別子、クレデンシャル情報および委譲権限を登録することによりエージェントに権限委譲を行う権限委譲受付工程と、エージェントから識別子およびクレデンシャル情報を受信する認証情報受信工程と、受信した識別子およびクレデンシャル情報に基づいて認証処理および権限確認を行うアクセス制御工程と、エージェントからの指示に基づいて、該エージェントに対応した委譲権限の範囲内で所定の手続処理を受け付けるエージェント管理工程とを備えるエージェントアクセス管理方法として構成することができる。
【0021】
また、請求項7に記載されるように、エージェントに対する認証処理を含めた手続処理の代理を管理するエージェントアクセス管理システムを構成するコンピュータを、エージェント利用者からのエージェント情報として、識別子、クレデンシャル情報および委譲権限を登録することによりエージェントに権限委譲を行う権限委譲受付手段、エージェントから識別子およびクレデンシャル情報を受信する認証情報受信手段、受信した識別子およびクレデンシャル情報に基づいて認証処理および権限確認を行うアクセス制御手段、エージェントからの指示に基づいて、該エージェントに対応した委譲権限の範囲内で所定の手続処理を受け付けるエージェント管理手段として機能させるエージェントアクセス管理プログラムとして構成することができる。
【発明の効果】
【0022】
本発明のエージェントアクセス管理システムにあっては、エージェントに対し現実世界の利用者と同様にそのアイデンティティを定義し、管理者等の情報を管理し、認証するためのクレデンシャルを発行し、エージェントの認証を可能とすることで、エージェントが利用者の代理としてしかるべき権限を与えられ、利便性の向上と同時にセキュリティリスクを軽減することができる。
【発明を実施するための最良の形態】
【0023】
以下、本発明の好適な実施形態につき説明する。
【0024】
<エージェント>
エージェント(Software Agent)とは、人の代理となるソフトウェア、あるいは、システムやサーバのような非人間の利用者をいう。本実施形態では、利用者を人とエージェントの2つに分類し、エージェントからのアクセスを許可するシステムとする。エージェントは、エージェントの実行環境で動作する。
【0025】
エージェントのアイデンティティを構成する属性情報は以下の通りである。
・エージェントID(Aid):エージェントの識別子である。
・委譲者(Delegator):エージェントに権限を委譲した利用者(人、エージェントの両方ありうる)である。
・管理者(Owner):エージェントの管理者(人)であり、そのエージェントの動作に関連する責任を負う。
・開発者(Developer):エージェントを開発した利用者(人、人のグループ(会社)等)である。
・実行装置(AgentBase):エージェントの実行環境であり、その環境を提供する管理者や開発者の情報も含まれる。
【0026】
エージェントアクセス管理システムには、以下のような管理プロセスが存在する。
【0027】
登録(Registration):登録により、エージェントは、正規の利用者として、システムへのアクセスが可能な状態となる。
【0028】
活性化(Activation):委譲者からある権限を委譲されることによって、エージェントの権限が決まり、動作可能な状態となる。
【0029】
認証(Authentication):サービスアクセス要求時に、1人の利用者として(人と同様に)認証を受ける。
【0030】
認可(Authorization):認証を受けた後、委譲された権限を確認して、サービスに対する代理アクセスの認可判断を決定する。
【0031】
非活性化(Deactivation):活性化された状態を一時的に解除し、権限委譲された状態を無効にする。
【0032】
取消(Revocation):完全に委譲された権限を削除する。
【0033】
<構成>
図2は本発明の一実施形態にかかるシステムの構成例を示す図である。
【0034】
図2において、本システムは、サービス提供装置1とエージェント実行装置2と端末装置3とがインターネット等のネットワーク4に接続されて構成されている。
【0035】
サービス提供装置1は、コンテンツ提供等の各種のサービスを提供するサーバ装置である。サービス提供装置1の内部構成については後述する。
【0036】
エージェント実行装置2は、エージェントの実行環境となるサーバ装置である。エージェント実行装置2の内部構成については後述する。
【0037】
端末装置3は、利用者(人)Uの利用する端末であり、ブラウザ31によりサービス提供装置1に対してアクセス要求を行い、認証を受け、セッション情報を管理する機能を持つ。また、エージェント実行装置2に対してアクセスし、エージェントを管理する機能を持つ。ブラウザ31は通常の汎用的なWebブラウザを想定しており、特別の機能は不要である。
【0038】
図3はサービス提供装置1の構成例を示す図である。
【0039】
図3において、サービス提供装置1は、機能部として、登録部101と認証部102とアクセス制御部103とセッション管理部104と権限管理部105と権限委譲部106とサービス提供部107とを備えている。また、データ保持部として、利用者情報格納部111とエージェントリスト格納部112とセキュリティポリシ情報格納部113とセッション情報格納部114と権限情報格納部115と権限委譲情報格納部116とサービス情報格納部117とを備えている。
【0040】
各機能部は、サービス提供装置1を構成するコンピュータのCPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等のハードウェア資源上で実行されるコンピュータプログラムによって実現されるものである。なお、各機能部は、単一のコンピュータ上に配置される必要はなく、必要に応じて分散される形態であってもよい。各データ保持部は、サービス提供装置1内のHDD(Hard Disk Drive)等の記憶媒体上にデータを体系的に保持するものである。
【0041】
登録部101は、利用者(人、エージェント)を登録する機能を有している。人の登録にあっては、利用者IDとクレデンシャル情報(パスワード等の認証に必要とする情報)を発行し、利用者情報格納部111に格納する。エージェントの登録にあっては、要求者に対してエージェントIDとクレデンシャル情報を発行し、利用者情報格納部111に格納する。このとき、要求者は、そのエージェントの所有者(owner)として登録される。なお、ここでは利用者情報格納部111を一つのデータベースとしたが、例えば、人とエージェントを別々に管理してもよい。
【0042】
認証部102は、利用者(人、エージェント)からアクセス要求等を受けた際に所定の認証方式に従って認証する機能を有している。認証時には、利用者に対して、必要となるIDとクレデンシャル情報の提示を求め、受け取ったIDとクレデンシャル情報を、利用者情報格納部111にて管理するID・クレデンシャル情報に照会し、両者が一致するか否かを判断する。
【0043】
アクセス制御部103は、正規の利用者(人、エージェント)に対してのみサービス利用を許可する機能を有している。アクセス時には、ブラウザからクッキー情報が送付されていないのを確認すると、利用者を認証すべく、認証部102に対してリダイレクションする認証要求メッセージをアクセス要求元のブラウザに送付する。クッキー情報が送付されている場合は、セッション管理部104で管理されるクッキー情報と照合することで認証済であることを確認し、その後の処理につなげる。
【0044】
セッション管理部104は、認証部102による利用者(人、エージェント)の認証処理の後、認証に成功した場合に、認証セッションを確立し、その利用者と認証セッションに関する情報を関連付けて、セッション情報格納部114に格納して管理する機能を有している。認証セッションが確立した後、その認証セッションを一意に検索可能なセッション識別子を含めたクッキー情報を発行し、返信する。
【0045】
権限管理部105は、利用者(人、エージェント)の権限情報を、権限情報格納部115において管理する機能を有している。権限情報は、利用者の属性情報(例えば、利用者のロール)と関連付けられて管理されており、利用者のIDがわかれば、それに対応する権限を参照できる。
【0046】
権限委譲部106は、利用者(人、エージェント)からの他の利用者(人、エージェント)に対する権限委譲の機能を有している。権限委譲要求の被委譲者がエージェントの場合、委譲者が人の場合は、その委譲者をそのエージェントの委譲者(delegator)、委譲者がエージェントの場合は、そのエージェントの管理者(owner)を被委譲者であるエージェントの委譲者となるように設定する。
【0047】
サービス提供部107は、個別のアプリケーションサービスを所定のアクセス権限を持つ利用者に対してのみ提供する機能を有している。提供するサービス情報として想定しているのは、一般利用者向けのコンテンツではなく、所定の利用者に対してのみ共有を許可するコンテンツ、例えば、プロジェクト管理による進捗管理等の情報である。
【0048】
図4はサービス提供装置1内に格納される各種データの構造例を示す図である。(a)は利用者情報格納部111のデータ構造例を示しており、利用者IDとパスワードとロールを含んでいる。(b)はエージェントリスト格納部112のデータ構造例を示しており、エージェント名を含んでいる。(c)はセキュリティポリシ情報格納部113のデータ構造例を示しており、サービス名とセキュリティポリシを含んでいる。(d)はセッション情報格納部114のデータ構造例を示しており、利用者IDとセッションIDとクッキーを含んでいる。(e)は権限情報格納部115のデータ構造例を示しており、ロールを含んでいる。(f)は権限委譲情報格納部116のデータ構造例を示しており、委譲者ID(利用者ID、エージェントID)と管理者ID(利用者ID)とエージェントIDとロールを含んでいる。(g)はサービス情報格納部117のデータ構造例を示しており、サービス名とサービス情報を含んでいる。
【0049】
図5はエージェント実行装置2の構成例を示す図である。
【0050】
図5において、エージェント実行装置2は、機能部として、登録部101と、認証部202とエージェント管理部203とエージェントプログラム実行部204と権限管理部205とを備えている。また、データ保持部として、利用者情報格納部211とセキュリティポリシ情報格納部212と権限情報格納部213とエージェント情報格納部214とを備えている。なお、権限管理部205と権限情報格納部213はエージェント実行装置2側でロールを考慮した制御を行わない場合には省略してもよい。
【0051】
各機能部は、エージェント実行装置2を構成するコンピュータのCPU、ROM、RAM等のハードウェア資源上で実行されるコンピュータプログラムによって実現されるものである。なお、各機能部は、単一のコンピュータ上に配置される必要はなく、必要に応じて分散される形態であってもよい。各データ保持部は、エージェント実行装置2内のHDD等の記憶媒体上にデータを体系的に保持するものである。
【0052】
登録部201は、利用者(人)を登録する機能を有している。登録要求を受けると、利用者IDとクレデンシャル情報を発行し、利用者情報格納部211に格納する。
【0053】
認証部202は、エージェント実行装置2を利用する利用者を認証する機能を有している。
【0054】
エージェント管理部203は、エージェント実行装置2で動作するエージェントを管理する機能を有している。エージェントはエージェントIDにより識別される。エージェントの属性情報として、エージェントID(aid)、委譲者(delegator)、管理者(owner)、実行装置(agentBase)の情報が管理される。エージェントが、あるサービス提供装置1において登録された際のID・クレデンシャル情報も同様に管理される。エージェント固有の実行時状態(コンテキスト)を持ち、これらを管理する。コンテキスト情報として、エージェントが、あるサービス提供装置1に対して認証を完了させた後のセッション情報、アクセスログなども同様に管理される。
【0055】
エージェントプログラム実行部204は、エージェントがエージェント実行装置2において、所定のエージェントプログラムを実行する際に、その動作を制御するとともに、実行環境を提供する機能を有している。エージェントの個別のプログラム実行時に、権限情報格納部213において管理するエージェントごとの権限情報と、セキュリティポリシ情報格納部212において管理するエージェント実行装置2におけるセキュリティポリシを参照して、その実行に対する認可判断を行った上で、権限とセキュリティポリシに矛盾がない場合にのみ、エージェントの実行を許可するようにすることができる。
【0056】
図6はエージェント実行装置2内に格納される各種データの構造例を示す図である。(a)は利用者情報格納部211のデータ構造例を示しており、利用者IDとパスワードとロールを含んでいる。(b)はセキュリティポリシ情報格納部212のデータ構造例を示しており、サービス名とセキュリティポリシを含んでいる。(c)は権限情報格納部213のデータ構造例を示しており、ロールを含んでいる。(d)はエージェント情報格納部214のデータ構造例を示しており、エージェントIDと委譲者ID(利用者ID、エージェントID)と管理者ID(利用者ID)と実行装置とエージェントプログラム本体とを含んでいる。
【0057】
<動作:利用者登録>
図7は利用者登録の処理例を示すシーケンス図である。
【0058】
図7において、利用者Uは、端末装置3のブラウザ31から、サービス提供装置1の登録部101に対して、利用するサービス名を指定した利用者登録要求を行う(ステップS101)。
【0059】
登録部101は、セキュリティポリシ情報格納部113に対して、利用者Uにより指定されたサービス名に関連するセキュリティポリシを要求する(ステップS102)。このセキュリティポリシ要求に応じ、セキュリティポリシ情報格納部113は、登録部101に対して、指定されたサービス名に関連するセキュリティポリシを返信する(ステップS103)。
【0060】
サービス提供装置1の管理者は、返信された関連セキュリティポリシを参照の上、利用者登録要求を行った利用者Uが適切な利用者であることを確認し、適切な利用者である場合に、利用者Uがサービス提供装置1にアクセスするための利用者IDおよびパスワードを発行する。そして、登録部101は、これらの情報に基づき、利用者情報格納部111にアカウントの生成および登録を要求する(ステップS104)。利用者情報格納部111はアカウントの生成および登録を行った上で、登録部101に対して、利用者Uのアカウント生成(登録)が完了した旨を通知する(ステップS105)。
【0061】
次いで、登録部101は、権限管理部105に対し、サービス提供装置1の利用者に関連するロールリスト要求を行う(ステップS106)。これに応じ、権限管理部105は、権限情報格納部115に対し、ロールリストを要求する(ステップS107)。権限情報格納部115は、権限管理部105に対して、ロールリストを返信する(ステップS108)。権限管理部105は、ロールリストを登録部101に返信する(ステップS109)。
【0062】
サービス提供装置1の管理者は、既に取得した関連セキュリティポリシを参照の上、利用者登録要求を行った利用者Uに適切なロールを確認する。ここで、適切なロールがロールリストに含まれていない場合、権限管理部105に対して、しかるべき権限を関連付けるロール作成要求を行う(ステップS110)。これに応じ、権限管理部105は、権限情報格納部115に対して、ロールの作成要求を行う(ステップS111)。権限情報格納部115は、新規ロールを作成して格納し、その処理の完了通知を権限管理部105に返信する(ステップS112)。権限管理部105は、登録部101に対して、更新されたロールリストを伴うロール作成完了通知を返送する(ステップS113)。
【0063】
サービス提供装置1の管理者は、更新されたロールリストから適切なロールを選択し、登録部101により、権限管理部105に対し、利用者Uに関連付けたロール登録要求を行う(ステップS114)。これに応じ、権限管理部105は、利用者情報格納部111に対して、利用者Uに関連する情報としてロール情報の格納を要求する(ステップS115)。利用者情報格納部111はロール情報の格納を行い、権限管理部105に対して、ロール情報の登録完了通知を送付する(ステップS116)。権限管理部105は、登録部101に対して、ロール登録完了通知を返信する(ステップS117)。
【0064】
ロール登録完了通知を受け、登録部101は、ブラウザ31に対して、利用者Uの利用者ID、パスワードおよびロールを通知する応答を行う(ステップS118)。利用者Uはブラウザ31からいったんログアウトを行う。
【0065】
利用者Uは、エージェント実行装置2に対しても、上記の処理と同様に利用者登録要求を行う。この場合、図7における登録部101は登録部201に、セキュリティポリシ情報格納部113は権限情報格納部213に、利用者情報格納部111は利用者情報格納部211に、権限情報格納部115は権限管理部205と読み替えればよい。なお、エージェント実行装置2側でロールを考慮した制御を行わない場合は、ロールについての処理(ステップS106〜S117)を省略し、ロールの返送を行わないようにすることができる。
【0066】
<動作:エージェント登録>
図8および図9はエージェント登録の処理例を示すシーケンス図であり、図7に示した利用者登録を済ませた利用者Uの操作により行われる処理である。
【0067】
図8において、利用者登録を済ませた利用者Uは、端末装置3のブラウザ31からサービス提供装置1のアクセス制御部103に対してアクセス要求を行う(ステップS201)。
【0068】
アクセス制御部103は正規利用者に対してのみサービス利用を許可するアクセス制限を行っており、ブラウザ31からクッキー情報が送付されていないのを確認すると、利用者を認証すべく、認証部102に対してリダイレクションする認証要求メッセージをブラウザ31に送付する(ステップS202)。
【0069】
認証要求メッセージを受信したブラウザ31は、当該メッセージに含まれる送付先である認証部102のURL(Uniform Resource Locator)に対して、メッセージをリダイレクトする(ステップS203)。
【0070】
認証部102は、アクセスしてきたブラウザ31の利用者を認証するために、登録したクレデンシャル情報(利用者IDおよびパスワード)の入力を要求する(ステップS204)。
【0071】
利用者Uは、利用者IDとパスワードをブラウザ31に対して入力し、ブラウザ31は認証部102に対して利用者IDとパスワードを返信する(ステップS205)。
【0072】
認証部102は、利用者Uから送付された利用者IDとパスワードが適切であるか否かを確認するために、利用者情報格納部111に対して、受信した利用者IDとパスワードを伴ったクレデンシャル検証要求を行う(ステップS206)。利用者情報格納部111は、検証要求された利用者IDとパスワードが適切であるか否か、格納している利用者IDとパスワードを照会し、結果(OK/NG)を認証部102に対して送付する(ステップS207)。
【0073】
クレデンシャルの検証結果がOKの場合、セッションクッキーを発行すべく、認証部102は、セッション管理部104に対して、利用者IDを含めたセッション登録要求を行う(ステップS208)。
【0074】
セッション管理部104は、利用者IDに対する新しいセッションを生成し、また、そのセッション情報を識別するセッションIDと、そのセッションIDと関連付けたクッキーを発行して、セッション情報格納部114に登録要求する(ステップS209)。セッション情報格納部114は、セッションIDとクッキーの登録を行った上で、セッション登録応答(OK/NG)をセッション管理部104に返送する(ステップS210)。セッション管理部104は、セッション情報格納部114において登録したクッキー情報を認証部102に対して返送する(ステップS211)。
【0075】
認証部102は、ブラウザ31に対して、アクセス制御部103に再度クッキー付きのアクセス要求を行う旨のリダイレクト要求メッセージとしてクッキー情報を送付する(ステップS212)。
【0076】
ブラウザ31は、リダイレクト要求メッセージを受信し、受け取ったクッキー情報を含めたアクセス要求メッセージをアクセス制御部103に対して送付する(ステップS213)。
【0077】
アクセス制御部103は、アクセス要求メッセージにクッキー情報が含まれていることを確認し、そのクッキー情報に関連付けられた利用者のセッションが存在するか否かを確認するための認証確認要求を、セッション管理部104に対して行う(ステップS214)。
【0078】
セッション管理部104は、セッション情報格納部114に対して、クッキー情報に関連づいたセッションおよび利用者が存在するか検索すべく、クッキー情報をキーとする利用者ID要求を行う(ステップS215)。セッション情報格納部114は、検索を実行し、セッション管理部104に対して、クッキー情報に関連付けて格納された利用者IDを返信する(ステップS216)。セッション管理部104は、アクセス制御部103に対して、利用者IDを応答とする認証確認応答を送付する(ステップS217)。
【0079】
アクセス制御部103は、利用者IDのロール情報を入手すべく、利用者情報格納部111に対して、利用者IDを含めたロール要求を行う(ステップS218)。利用者情報格納部111は、利用者IDに関連付けて格納されるロール情報を取得し、アクセス制御部103に対して返送する(ステップS219)。
【0080】
アクセス制御部103は、取得したロール情報と、プロジェクト管理サービスを実行するための所定のアクション情報(ここでは、サービストップページへのアクセス)とを含めて、権限管理部105に対して、そのアクションをそのロールにおいて実行可能か否かの認可判断要求を送付する(ステップS220)。
【0081】
権限管理部105は、そのロールにそのアクションを行う権限があるか否か、権限情報格納部115を照会する(ステップS221)。権限情報格納部115は、要求されたロールに対して規定される認可されたアクションのリストに要求されたアクションが含まれていればOKを、権限管理部105に対して応答する(ステップS222)。権限管理部105は、アクセス制御部103に対して、権限照会の結果を認可判断応答として返答する(ステップS223)。アクセス制御部103は、サービス提供部107に対し、認可判断応答を転送する(ステップS224)。
【0082】
これを受け、サービス提供部107は、アクセス制御部103からの認可判断検証の結果がOKであれば、アクセスが許可されたものとみなし、サービストップページをアクセス制御部103に対して送付する(ステップS225)。アクセス制御部103はサービストップページをブラウザ31に転送する(ステップS226)。一方、NGであれば、アクセスは否認されたものとして、サービスが提供できない旨を通知する。
【0083】
次に、図9において、利用者Uは、サービストップページを参照して、権限委譲可能なエージェントのリストの参照要求を行う(ステップS227)。サービス提供部107は、登録部101に対して、エージェント参照要求を転送する(ステップS228)。
【0084】
登録部101は、エージェントリスト格納部112に対して、エージェントリストを要求する(ステップS229)。エージェントリスト格納部112は、登録部101に対して、エージェントリストを返送する(ステップS230)。
【0085】
登録部101は、エージェントリストをサービス提供部107に対して返送し(ステップS231)、サービス提供部107は、利用者Uのブラウザ31に対して、エージェントリストの画面を表示する(ステップS232)。
【0086】
利用者Uは、表示されたエージェントリストから権限委譲すべきエージェントの種類を選択し、そのエージェントに対する権限委譲要求を行う(ステップS233)。この要求メッセージには、クッキー情報のほかに、選択したエージェント名と、委譲すべき権限と関連付けられるロールを含める。このロールは、利用者本人のロールと関連付けられたロールのサブセットを指定する。
【0087】
サービス提供部107は、ブラウザ31からのエージェント権限委譲要求を受け、登録部101に対して、権限委譲するエージェント名を指定したエージェント登録要求を送付する(ステップS234)。
【0088】
エージェント登録要求を受けた登録部101は、そのエージェントに対応するパスワードを発行した上で、利用者情報格納部111に対して、発行したパスワードを含むアカウントの生成および登録の要求を行う(ステップS235)。利用者情報格納部111は、アカウントを新規作成し、当該アカウントに対応するエージェントIDを割り当て、指定されたパスワードを登録し、登録部101に対して、エージェントIDを含めたアカウント生成完了通知を送付する(ステップS236)。
【0089】
登録部101は、権限管理部105に対して、エージェントIDとロールを伴うロール登録要求を行う(ステップS237)。
【0090】
権限管理部105は、利用者情報格納部111に対して、エージェントIDにロールを関連付けて登録するよう要求する(ステップS238)。利用者情報格納部111は、ロールの登録を行い、権限管理部105に対して、ロール登録完了通知を返信する(ステップS239)。権限管理部105は、登録部101に対して、ロール登録完了通知を転送する(ステップS240)。
【0091】
登録部101は、サービス提供部107に対して、エージェントIDとパスワードを含めたエージェント登録完了応答を行う(ステップS241)。
【0092】
サービス提供部107は、権限委譲部106に対して、権限委譲要求を行う(ステップS242)。
【0093】
権限委譲部106は、権限委譲情報格納部116に対して、権限委譲情報(利用者ID、エージェントID、ロール)の登録要求を行う(ステップS243)。権限委譲情報格納部116は、権限委譲情報の登録を行い、権限委譲部106に対して、権限委譲情報登録応答を行う(ステップS244)。権限委譲部106は、サービス提供部107に対して、権限委譲情報登録応答を転送する(ステップS245)。
【0094】
サービス提供部107は、エージェント権限委譲要求に対する応答として、登録したエージェントIDとそのパスワードをブラウザ31に対して返信する(ステップS246)。
【0095】
なお、利用者U(人)がブラウザ31からエージェント登録を行う場合について説明したが、エージェントが利用者として他のエージェントの登録を行うこともできる。
【0096】
<動作:エージェント起動>
図10はエージェント起動の処理例を示すシーケンス図である。
【0097】
図10において、利用者Uは、エージェント実行装置2のエージェント管理部203にアクセス要求する(ステップS301)。
【0098】
エージェント管理部203は、利用者Uを認証すべく、認証部202に対してリダイレクションする認証要求メッセージをブラウザ31に送付する(ステップS302)。
【0099】
認証要求メッセージを受信したブラウザ31は、当該メッセージに含まれる送付先である認証部202のURLに対して、メッセージをリダイレクトする(ステップS303)。
【0100】
認証部202は、利用者Uのブラウザ31に対して、エージェント管理サービスを利用するための認証として、クレデンシャルの入力を求める(ステップS304)。
【0101】
利用者Uは、クレデンシャルとして、自らのIDとパスワードを入力し、ブラウザ31はこれを認証部202に送信する(ステップS305)。
【0102】
認証部202は、利用者Uから受け取ったIDとパスワードを利用者情報格納部211に送付し、正規の利用者であるか否かを検証するためのクレデンシャル検証要求を行う(ステップS306)。
【0103】
利用者情報格納部211は、検証要求された利用者IDとパスワードが適切であるか否か、格納している利用者IDとパスワードを照会し、結果(OK/NG)を認証部202に対して送付する(ステップS307)。
【0104】
認証部202は、クレデンシャルの検証結果がOKの場合、クッキー情報を含む認証応答を利用者Uのブラウザ31に対して返信する(ステップS308)。
【0105】
ブラウザ31は、認証応答をエージェント管理部203に対してリダイレクトし、クッキー情報を含めたアクセス要求メッセージとして再度送付する(ステップS309)。
【0106】
エージェント管理部203は、アクセス要求に対する応答メッセージをブラウザ31に対して返信する(ステップS310)。これにより、利用者Uは、認証が完了し、エージェント管理部203が利用可能となる。
【0107】
利用者Uは、エージェント管理部203の表示する画面から、起動可能なエージェントリストを表示するための要求を行う(ステップS311)。
【0108】
エージェント管理部203は、エージェント情報格納部214に対して、格納されているエージェント情報のリストを要求する(ステップS312)。
【0109】
エージェント情報格納部214は、エージェント管理部203からの要求に基づき、エージェント情報のリストを返信する(ステップS313)。
【0110】
エージェント管理部203は、エージェント情報格納部214からの返信結果に基づき、起動可能なエージェントリストをブラウザ31に対して送付する(ステップS314)。
【0111】
利用者Uは、起動可能なエージェントリストから、既にエージェント登録してあるエージェント名を選択し、エージェントプログラム実行部204に対して、エージェント登録に伴って取得したエージェントIDとそのパスワードを指定して、エージェントの作成要求を行う(ステップS315)。エージェントIDとパスワードはエージェント内に設定され、後にサービス提供装置1の認証部102にアクセスする際に用いられる。
【0112】
エージェントプログラム実行部204は、利用者Uが指定したエージェントのプログラムをロードするようにエージェント情報格納部214に対して要求する(ステップS316)。
【0113】
エージェント情報格納部214は、要求されたエージェントプログラムをエージェントプログラム実行部204に対して送付する(ステップS317)。
【0114】
エージェントプログラム実行部204は、取得したエージェントプログラムに対して、利用者Uから送付されたエージェントIDとパスワードを関連付けてエージェントを生成し、ブラウザ31に対してエージェント生成の結果を通知する(ステップS318)。
【0115】
利用者Uは、エージェントが生成されたことを確認し、エージェントのエージェントIDを指定し、エージェント起動要求を行う(ステップS319)。
【0116】
エージェントプログラム実行部204は、要求されたエージェントを起動し、その結果をブラウザ31に対して通知する(ステップS320)。
【0117】
なお、利用者U(人)がブラウザ31からエージェント起動を行う場合について説明したが、エージェントが利用者として他のエージェントの起動を行うこともできる。
【0118】
<動作:エージェント実行>
図11はエージェント実行の処理例を示すシーケンス図である。
【0119】
エージェント実行装置2で起動したエージェントは、自らのプログラムに基づき、サービス提供装置1のプログラム管理サービスへのアクセスを試みる。
【0120】
図11において、先ず、エージェントプログラム実行部204で動作するエージェントは、サービス提供装置1の認証部102に対して認証要求メッセージを送付する(ステップS401)。エージェントプログラム実行部204で動作するエージェントからアクセス制御部103にアクセスし、認証部102にリダイレクトされるようにしてもよい。
【0121】
認証要求を受けた認証部102は、エージェントプログラム実行部204で動作するエージェントに対して、プログラム管理サービスを利用するためのクレデンシャルの入力を要求する(ステップS402)。
【0122】
エージェントプログラム実行部204で動作するエージェントは、既に利用者Uが設定したエージェントIDとパスワードを認証部102に対して送付する(ステップS403)。
【0123】
認証部102は、エージェントから送付されたエージェントIDとパスワードを利用者情報格納部111に対して送付し、検証するよう要求する(ステップS404)。利用者情報格納部111は、エージェントIDとパスワードが適切であるか否かを、格納されている利用者情報と照合して検証し、その結果を認証部102に対して返信する(ステップS405)。
【0124】
認証部102は、指定されたエージェントIDに対応するエージェントのセッションを確立すべく、セッション登録要求をセッション管理部104に対して送付する(ステップS406)。
【0125】
セッション管理部104は、セッション登録要求を受け、新たなセッションを生成し、そのセッションに対して、エージェントIDとセッションIDとクッキー情報を関連付けて格納するように、セッション情報格納部114に対してセッション登録要求する(ステップS407)。セッション情報格納部114は、指定されたエージェントIDとセッションIDとクッキー情報を関連付けて格納し、その結果をセッション管理部104に返信する(ステップS408)。
【0126】
セッション管理部104は、新たに生成したクッキー情報を含めて、セッション登録に対する応答メッセージを認証部102に対して行う(ステップS409)。認証部102は、クッキー情報をエージェントプログラム実行部204で動作するエージェントに対して返信し、認証応答とする(ステップS410)。これによって、エージェントプログラム実行部204で動作するエージェントは、認証部102に対する認証を完了する。
【0127】
次いで、エージェントプログラム実行部204で動作するエージェントは、アクセス制御部103に対して、利用者Uの代理として、プロジェクト情報要求を行う(ステップS411)。ここで、既に認証済みである旨を示すクッキー情報を含める。
【0128】
アクセス制御部103は、受信したクッキー情報を含めて、セッション管理部104に対して、プロジェクト情報要求の要求主体が、既に認証済みであるか否かを確認すべく、認証確認要求を行う(ステップS412)。
【0129】
セッション管理部104は、セッション情報格納部114に対して、クッキー情報を含めて、利用者ID要求を行う(ステップS413)。セッション情報格納部114は、クッキー情報をキーとして、関連付けて格納しているエージェントIDを取得し、セッション管理部104に対して返信する(ステップS414)。セッション管理部104は、エージェントIDを含めて、アクセス制御部103に対して、認証確認応答を行う(ステップS415)。
【0130】
アクセス制御部103は、受け取ったエージェントIDと、エージェントが実行することを要求するアクション(ここでは、サービス情報へのアクセス)を含めて、権限委譲認可判断要求を権限委譲部106に対して送付する(ステップS416)。
【0131】
権限委譲部106は、エージェントIDとアクションを含めて、エージェントがそのアクションを実行するに足る権限を委譲されているか否かの検証を行うべく、権限委譲情報格納部116に対して権限照会を行う(ステップS417)。権限委譲情報格納部116は、エージェントIDと関連付けて格納するロールを参照し、アクションと照合し、そのエージェントにアクションを実行する権限を有するか否かの応答を行う(ステップS418)。権限委譲部106は、権限委譲情報格納部116からの応答を元にして、権限委譲の認可判断応答を、アクセス制御部103に対して行う(ステップS419)。
【0132】
アクセス制御部103は、認可判断検証結果の応答を、サービス提供部107に対して送付する(ステップS420)。
【0133】
サービス提供部107は、認可判断検証結果を元にして、もしエージェントがサービス情報へのアクセス権限を有する場合には、要求されたサービス情報をアクセス制御部103に対して送付する(ステップS421)。アクセス制御部103はサービス情報をエージェントプログラム実行部204で動作するエージェントに対して転送する(ステップS422)。
【0134】
これにより、エージェントプログラム実行部204で動作するエージェントはサービス情報格納部117に格納されたコンテンツ等の提供を受け、定期的に利用者Uに対して取得した情報を通知する等の予め定められた動作を行う。
【0135】
なお、エージェントプログラム実行部204で動作するエージェントがサービス提供部107にアクセスしてサービス情報の提供を受ける場合について説明したが、エージェントはそのプログラムに従って、他のエージェントの登録、起動等の、人の利用者と同様の処理を行うことができる。
【0136】
<総括>
以上説明したように、本実施形態によれば次のような利点がある。
(1)利用者がネットワークにアクセスしない場合においても、自らの代理となるエージェントが代わりにサービスを代理実行するため、利用者にとってのサービス利用時の効率性と利便性が向上する。
(2)権限委譲者と被委譲者とがセッション情報を共有しないので、両者の存在するネットワークシステム環境に依存せず、分散環境においても安全なアクセス管理を実現できる。
(3)エージェントを人と同様に一人の利用者と扱うことによって、人と同様の認証、認可方式を適用することができ、特別の機能追加が少なくてすむため、システムの導入を低コストで実現できる。
(4)エージェントに対し、利用者の権限の範囲内で委譲する権限を柔軟に制御することができる。
(5)エージェントは登録時にエージェントの管理者情報が管理され、認証、権限委譲などのプロセスを通じて管理され、エージェントの動作はログに記録されているため、エージェントに伴う動作により何らかの問題が発生した場合には、原因を追跡し、責任を課すことができる。
【0137】
以上、本発明の好適な実施の形態により本発明を説明した。ここでは特定の具体例を示して本発明を説明したが、特許請求の範囲に定義された本発明の広範な趣旨および範囲から逸脱することなく、これら具体例に様々な修正および変更を加えることができることは明らかである。すなわち、具体例の詳細および添付の図面により本発明が限定されるものと解釈してはならない。
【図面の簡単な説明】
【0138】
【図1】従来のデータベースアクセス制御のためのシステム構成を示す図である。
【図2】本発明の一実施形態にかかるシステムの構成例を示す図である。
【図3】サービス提供装置の構成例を示す図である。
【図4】サービス提供装置内に格納される各種データの構造例を示す図である。
【図5】エージェント実行装置の構成例を示す図である。
【図6】エージェント実行装置内に格納される各種データの構造例を示す図である。
【図7】利用者登録の処理例を示すシーケンス図である。
【図8】エージェント登録の処理例を示すシーケンス図(その1)である。
【図9】エージェント登録の処理例を示すシーケンス図(その2)である。
【図10】エージェント起動の処理例を示すシーケンス図である。
【図11】エージェント実行の処理例を示すシーケンス図である。
【符号の説明】
【0139】
1 サービス提供装置
101 登録部
102 認証部
103 アクセス制御部
104 セッション管理部
105 権限管理部
106 権限委譲部
107 サービス提供部
111 利用者情報格納部
112 エージェントリスト格納部
113 セキュリティポリシ情報格納部
114 セッション情報格納部
115 権限情報格納部
116 権限委譲情報格納部
117 サービス情報格納部
2 エージェント実行装置
201 登録部
202 認証部
203 エージェント管理部
204 エージェントプログラム実行部
205 権限管理部
211 利用者情報格納部
212 セキュリティポリシ情報格納部
213 権限情報格納部
214 エージェント情報格納部
3 端末装置
31 ブラウザ
4 ネットワーク
U 利用者
【技術分野】
【0001】
本発明は、利用者から権限委譲(Delegation)されたエージェント(Software Agents)によりネットワーク上のサービスにアクセスするための管理技術に関し、認証(Authentication)と認可(Authorization)に伴う権限委譲を実現する技術に関する。
【背景技術】
【0002】
近年、インターネット等のネットワークの発達に伴い、アプリケーションがサービスとして公開され、利用者が物理的に離れたところでもネットワークを通じてサービスを利用することが可能になってきている。それらのサービスに対するアクセスを所定の利用者だけに制限したい場合、サービスに対してアクセス要求する利用者を認証し、認証済みの利用者の保有する権限に基づいてサービスへの認可判断を行い、アクセス要求を制御するアクセス管理システムが多く実装されている。
【0003】
ネットワーク上で利用可能なサービスが多くなると、利用者はそれらの様々なサービスを利用するために、それぞれのサービスにアクセス要求し、個別の認証処理を行った後に個別のサービス処理を行うことになり、利用者にとって煩わしさを伴う。
【0004】
上記のようなサービス毎の個別認証処理を削減する技術としては、一度の認証手続きだけで複数のサービスの利用が可能となるシングルサインオンに関する技術が数多く提案されている。しかし、サインオンした後に、個別のサービスの利用時に利用者が行う処理を削減することはできない。
【0005】
利用者がアクセス制限の付いたサービスを利用する際に必要となる処理の削減を解決するための従来技術として、特許文献1に開示される技術がある。
【0006】
図1は特許文献1に開示された従来のデータベースアクセス制御のためのシステム構成を示す図である。
【0007】
図1においては、ユーザ装置91とデータベースアクセス制御装置93と代理処理サーバ装置97とがネットワーク92に接続され、データベースアクセス制御装置93にはデータベース96が接続されてシステムを構成している。このシステムの動作は次のようになる。
【0008】
すなわち、ユーザ自らが直接にデータベースにアクセスをするのではなく、ユーザのエージェントとなる代理処理サーバ装置97がユーザの権限を代わりに持つ。ユーザはユーザ装置91からデータベースアクセス制御装置93の仲介処理部94にアクセスし、認証手続きを行った後、データベースアクセス制御装置93から認証セッション情報を含むクッキー(cookie)情報を受け取る。
【0009】
そして、ユーザは、利用可能な代理処理サーバ装置97のリストを入手し、ユーザが選択した代理処理サーバ装置97にリダイレクトされ、クッキー情報を持ってアクセスする。
【0010】
代理処理サーバ装置97は、ユーザのアクセス時に付加されるクッキー情報からセッション情報を取り出し、クッキー情報を伴って、データベースアクセス制御装置93に対してユーザの代理でアクセス要求する。
【0011】
データベースアクセス制御装置93は、クッキー情報からユーザを特定し、代理処理サーバ装置97を確認した後、ユーザのアクセス権限を確認し、代理処理サーバ装置97へのアクセスに対する認可判断を行う。代理処理サーバ装置97へのアクセスが許可される場合、その代理処理サーバ装置97は、ユーザの指定した所定のデータ処理をアクセス処理部95を介してデータベース96に対して行った後、処理結果をユーザ装置91に対して返信する。
【0012】
このように、従来技術では、ユーザ本人とは異なる装置に対してアクセス権限を委譲し、代理アクセスを許可するアクセス管理を行うことによって、利用者の個別サービスに対する処理の削減を実現している。
【特許文献1】国際公開WO2005/006204
【発明の開示】
【発明が解決しようとする課題】
【0013】
従来のシステムは上述した仕組により利用者の個別サービスに対する処理の削減を実現するものであるが、次のような問題点が存在する。
(1)ユーザのサービス利用時の処理の負担が依然として大きい。これは、ユーザがデータベースアクセス制御装置93にセッションを保持している間でしか、代理処理サーバ装置97はデータベース96にアクセスできず、独自処理実行ができないからである。
(2)ドメインをまたがる分散環境においてアクセス管理できない。これは、データベースアクセス制御装置93と代理処理サーバ装置97とが異なるドメインに位置するような場合、ユーザの認証セッション情報を含むクッキー情報を両者の間で共有することができないからである。
(3)代理処理サーバ装置97のアクセスを許可するためのセッション管理が必要となり、そのための導入・管理コストがかかる。これは、代理処理サーバ装置97からの代理アクセスを共通クッキーによって実現しているため、ユーザのIDと関連付けて、その中に含まれる認証セッション情報や代理処理サーバ情報などを管理する必要があるからである。
(4)ユーザが委譲する権限を柔軟に制御することができない。これは、代理処理サーバ装置97はユーザと同等の権限を有し、権限の内容を細分化することができないからである。
【0014】
本発明は上記の従来の問題点に鑑み提案されたものであり、その目的とするところは、エージェントが利用者の代理としてしかるべき権限を与えられ、利便性の向上と同時にセキュリティリスクを軽減することのできるエージェントアクセス管理システムを提供することにある。
【課題を解決するための手段】
【0015】
上記の課題を解決するため、本発明にあっては、請求項1に記載されるように、エージェントに対する認証処理を含めた手続処理の代理を管理するエージェントアクセス管理システムであって、エージェント利用者からのエージェント情報として、識別子、クレデンシャル情報および委譲権限を登録することによりエージェントに権限委譲を行う権限委譲受付手段と、エージェントから識別子およびクレデンシャル情報を受信する認証情報受信手段と、受信した識別子およびクレデンシャル情報に基づいて認証処理および権限確認を行うアクセス制御手段と、エージェントからの指示に基づいて、該エージェントに対応した委譲権限の範囲内で所定の手続処理を受け付けるエージェント管理手段とを備えるエージェントアクセス管理システムを要旨としている。
【0016】
また、請求項2に記載されるように、請求項1に記載のエージェントアクセス管理システムにおいて、前記アクセス制御手段は、クレデンシャル情報の検証を経て作成されたセッションの確認により認証を行い、要求されたアクションが登録された権限もしくは委譲権限の範囲内であるか否かの確認により権限確認を行うようにすることができる。
【0017】
また、請求項3に記載されるように、請求項2に記載のエージェントアクセス管理システムにおいて、前記アクセス制御手段は、セッションを示すクッキー情報を伴わないアクセス要求に対し、クレデンシャル情報の検証を行う認証手段へのリダイレクトを行うようにすることができる。
【0018】
また、請求項4に記載されるように、請求項1乃至3のいずれか一項に記載のエージェントアクセス管理システムにおいて、人を利用者として登録する場合の権限は、対象となるサービスに対応したセキュリティポリシに基づいて決定されるようにすることができる。
【0019】
また、請求項5に記載されるように、請求項1乃至4のいずれか一項に記載のエージェントアクセス管理システムにおいて、エージェントを利用者として登録する場合の委譲権限は、委譲元の人もしくはエージェントの権限もしくは委譲権限の範囲内で指定されるようにすることができる。
【0020】
また、請求項6に記載されるように、エージェントに対する認証処理を含めた手続処理の代理を管理するエージェントアクセス管理方法であって、エージェント利用者からのエージェント情報として、識別子、クレデンシャル情報および委譲権限を登録することによりエージェントに権限委譲を行う権限委譲受付工程と、エージェントから識別子およびクレデンシャル情報を受信する認証情報受信工程と、受信した識別子およびクレデンシャル情報に基づいて認証処理および権限確認を行うアクセス制御工程と、エージェントからの指示に基づいて、該エージェントに対応した委譲権限の範囲内で所定の手続処理を受け付けるエージェント管理工程とを備えるエージェントアクセス管理方法として構成することができる。
【0021】
また、請求項7に記載されるように、エージェントに対する認証処理を含めた手続処理の代理を管理するエージェントアクセス管理システムを構成するコンピュータを、エージェント利用者からのエージェント情報として、識別子、クレデンシャル情報および委譲権限を登録することによりエージェントに権限委譲を行う権限委譲受付手段、エージェントから識別子およびクレデンシャル情報を受信する認証情報受信手段、受信した識別子およびクレデンシャル情報に基づいて認証処理および権限確認を行うアクセス制御手段、エージェントからの指示に基づいて、該エージェントに対応した委譲権限の範囲内で所定の手続処理を受け付けるエージェント管理手段として機能させるエージェントアクセス管理プログラムとして構成することができる。
【発明の効果】
【0022】
本発明のエージェントアクセス管理システムにあっては、エージェントに対し現実世界の利用者と同様にそのアイデンティティを定義し、管理者等の情報を管理し、認証するためのクレデンシャルを発行し、エージェントの認証を可能とすることで、エージェントが利用者の代理としてしかるべき権限を与えられ、利便性の向上と同時にセキュリティリスクを軽減することができる。
【発明を実施するための最良の形態】
【0023】
以下、本発明の好適な実施形態につき説明する。
【0024】
<エージェント>
エージェント(Software Agent)とは、人の代理となるソフトウェア、あるいは、システムやサーバのような非人間の利用者をいう。本実施形態では、利用者を人とエージェントの2つに分類し、エージェントからのアクセスを許可するシステムとする。エージェントは、エージェントの実行環境で動作する。
【0025】
エージェントのアイデンティティを構成する属性情報は以下の通りである。
・エージェントID(Aid):エージェントの識別子である。
・委譲者(Delegator):エージェントに権限を委譲した利用者(人、エージェントの両方ありうる)である。
・管理者(Owner):エージェントの管理者(人)であり、そのエージェントの動作に関連する責任を負う。
・開発者(Developer):エージェントを開発した利用者(人、人のグループ(会社)等)である。
・実行装置(AgentBase):エージェントの実行環境であり、その環境を提供する管理者や開発者の情報も含まれる。
【0026】
エージェントアクセス管理システムには、以下のような管理プロセスが存在する。
【0027】
登録(Registration):登録により、エージェントは、正規の利用者として、システムへのアクセスが可能な状態となる。
【0028】
活性化(Activation):委譲者からある権限を委譲されることによって、エージェントの権限が決まり、動作可能な状態となる。
【0029】
認証(Authentication):サービスアクセス要求時に、1人の利用者として(人と同様に)認証を受ける。
【0030】
認可(Authorization):認証を受けた後、委譲された権限を確認して、サービスに対する代理アクセスの認可判断を決定する。
【0031】
非活性化(Deactivation):活性化された状態を一時的に解除し、権限委譲された状態を無効にする。
【0032】
取消(Revocation):完全に委譲された権限を削除する。
【0033】
<構成>
図2は本発明の一実施形態にかかるシステムの構成例を示す図である。
【0034】
図2において、本システムは、サービス提供装置1とエージェント実行装置2と端末装置3とがインターネット等のネットワーク4に接続されて構成されている。
【0035】
サービス提供装置1は、コンテンツ提供等の各種のサービスを提供するサーバ装置である。サービス提供装置1の内部構成については後述する。
【0036】
エージェント実行装置2は、エージェントの実行環境となるサーバ装置である。エージェント実行装置2の内部構成については後述する。
【0037】
端末装置3は、利用者(人)Uの利用する端末であり、ブラウザ31によりサービス提供装置1に対してアクセス要求を行い、認証を受け、セッション情報を管理する機能を持つ。また、エージェント実行装置2に対してアクセスし、エージェントを管理する機能を持つ。ブラウザ31は通常の汎用的なWebブラウザを想定しており、特別の機能は不要である。
【0038】
図3はサービス提供装置1の構成例を示す図である。
【0039】
図3において、サービス提供装置1は、機能部として、登録部101と認証部102とアクセス制御部103とセッション管理部104と権限管理部105と権限委譲部106とサービス提供部107とを備えている。また、データ保持部として、利用者情報格納部111とエージェントリスト格納部112とセキュリティポリシ情報格納部113とセッション情報格納部114と権限情報格納部115と権限委譲情報格納部116とサービス情報格納部117とを備えている。
【0040】
各機能部は、サービス提供装置1を構成するコンピュータのCPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等のハードウェア資源上で実行されるコンピュータプログラムによって実現されるものである。なお、各機能部は、単一のコンピュータ上に配置される必要はなく、必要に応じて分散される形態であってもよい。各データ保持部は、サービス提供装置1内のHDD(Hard Disk Drive)等の記憶媒体上にデータを体系的に保持するものである。
【0041】
登録部101は、利用者(人、エージェント)を登録する機能を有している。人の登録にあっては、利用者IDとクレデンシャル情報(パスワード等の認証に必要とする情報)を発行し、利用者情報格納部111に格納する。エージェントの登録にあっては、要求者に対してエージェントIDとクレデンシャル情報を発行し、利用者情報格納部111に格納する。このとき、要求者は、そのエージェントの所有者(owner)として登録される。なお、ここでは利用者情報格納部111を一つのデータベースとしたが、例えば、人とエージェントを別々に管理してもよい。
【0042】
認証部102は、利用者(人、エージェント)からアクセス要求等を受けた際に所定の認証方式に従って認証する機能を有している。認証時には、利用者に対して、必要となるIDとクレデンシャル情報の提示を求め、受け取ったIDとクレデンシャル情報を、利用者情報格納部111にて管理するID・クレデンシャル情報に照会し、両者が一致するか否かを判断する。
【0043】
アクセス制御部103は、正規の利用者(人、エージェント)に対してのみサービス利用を許可する機能を有している。アクセス時には、ブラウザからクッキー情報が送付されていないのを確認すると、利用者を認証すべく、認証部102に対してリダイレクションする認証要求メッセージをアクセス要求元のブラウザに送付する。クッキー情報が送付されている場合は、セッション管理部104で管理されるクッキー情報と照合することで認証済であることを確認し、その後の処理につなげる。
【0044】
セッション管理部104は、認証部102による利用者(人、エージェント)の認証処理の後、認証に成功した場合に、認証セッションを確立し、その利用者と認証セッションに関する情報を関連付けて、セッション情報格納部114に格納して管理する機能を有している。認証セッションが確立した後、その認証セッションを一意に検索可能なセッション識別子を含めたクッキー情報を発行し、返信する。
【0045】
権限管理部105は、利用者(人、エージェント)の権限情報を、権限情報格納部115において管理する機能を有している。権限情報は、利用者の属性情報(例えば、利用者のロール)と関連付けられて管理されており、利用者のIDがわかれば、それに対応する権限を参照できる。
【0046】
権限委譲部106は、利用者(人、エージェント)からの他の利用者(人、エージェント)に対する権限委譲の機能を有している。権限委譲要求の被委譲者がエージェントの場合、委譲者が人の場合は、その委譲者をそのエージェントの委譲者(delegator)、委譲者がエージェントの場合は、そのエージェントの管理者(owner)を被委譲者であるエージェントの委譲者となるように設定する。
【0047】
サービス提供部107は、個別のアプリケーションサービスを所定のアクセス権限を持つ利用者に対してのみ提供する機能を有している。提供するサービス情報として想定しているのは、一般利用者向けのコンテンツではなく、所定の利用者に対してのみ共有を許可するコンテンツ、例えば、プロジェクト管理による進捗管理等の情報である。
【0048】
図4はサービス提供装置1内に格納される各種データの構造例を示す図である。(a)は利用者情報格納部111のデータ構造例を示しており、利用者IDとパスワードとロールを含んでいる。(b)はエージェントリスト格納部112のデータ構造例を示しており、エージェント名を含んでいる。(c)はセキュリティポリシ情報格納部113のデータ構造例を示しており、サービス名とセキュリティポリシを含んでいる。(d)はセッション情報格納部114のデータ構造例を示しており、利用者IDとセッションIDとクッキーを含んでいる。(e)は権限情報格納部115のデータ構造例を示しており、ロールを含んでいる。(f)は権限委譲情報格納部116のデータ構造例を示しており、委譲者ID(利用者ID、エージェントID)と管理者ID(利用者ID)とエージェントIDとロールを含んでいる。(g)はサービス情報格納部117のデータ構造例を示しており、サービス名とサービス情報を含んでいる。
【0049】
図5はエージェント実行装置2の構成例を示す図である。
【0050】
図5において、エージェント実行装置2は、機能部として、登録部101と、認証部202とエージェント管理部203とエージェントプログラム実行部204と権限管理部205とを備えている。また、データ保持部として、利用者情報格納部211とセキュリティポリシ情報格納部212と権限情報格納部213とエージェント情報格納部214とを備えている。なお、権限管理部205と権限情報格納部213はエージェント実行装置2側でロールを考慮した制御を行わない場合には省略してもよい。
【0051】
各機能部は、エージェント実行装置2を構成するコンピュータのCPU、ROM、RAM等のハードウェア資源上で実行されるコンピュータプログラムによって実現されるものである。なお、各機能部は、単一のコンピュータ上に配置される必要はなく、必要に応じて分散される形態であってもよい。各データ保持部は、エージェント実行装置2内のHDD等の記憶媒体上にデータを体系的に保持するものである。
【0052】
登録部201は、利用者(人)を登録する機能を有している。登録要求を受けると、利用者IDとクレデンシャル情報を発行し、利用者情報格納部211に格納する。
【0053】
認証部202は、エージェント実行装置2を利用する利用者を認証する機能を有している。
【0054】
エージェント管理部203は、エージェント実行装置2で動作するエージェントを管理する機能を有している。エージェントはエージェントIDにより識別される。エージェントの属性情報として、エージェントID(aid)、委譲者(delegator)、管理者(owner)、実行装置(agentBase)の情報が管理される。エージェントが、あるサービス提供装置1において登録された際のID・クレデンシャル情報も同様に管理される。エージェント固有の実行時状態(コンテキスト)を持ち、これらを管理する。コンテキスト情報として、エージェントが、あるサービス提供装置1に対して認証を完了させた後のセッション情報、アクセスログなども同様に管理される。
【0055】
エージェントプログラム実行部204は、エージェントがエージェント実行装置2において、所定のエージェントプログラムを実行する際に、その動作を制御するとともに、実行環境を提供する機能を有している。エージェントの個別のプログラム実行時に、権限情報格納部213において管理するエージェントごとの権限情報と、セキュリティポリシ情報格納部212において管理するエージェント実行装置2におけるセキュリティポリシを参照して、その実行に対する認可判断を行った上で、権限とセキュリティポリシに矛盾がない場合にのみ、エージェントの実行を許可するようにすることができる。
【0056】
図6はエージェント実行装置2内に格納される各種データの構造例を示す図である。(a)は利用者情報格納部211のデータ構造例を示しており、利用者IDとパスワードとロールを含んでいる。(b)はセキュリティポリシ情報格納部212のデータ構造例を示しており、サービス名とセキュリティポリシを含んでいる。(c)は権限情報格納部213のデータ構造例を示しており、ロールを含んでいる。(d)はエージェント情報格納部214のデータ構造例を示しており、エージェントIDと委譲者ID(利用者ID、エージェントID)と管理者ID(利用者ID)と実行装置とエージェントプログラム本体とを含んでいる。
【0057】
<動作:利用者登録>
図7は利用者登録の処理例を示すシーケンス図である。
【0058】
図7において、利用者Uは、端末装置3のブラウザ31から、サービス提供装置1の登録部101に対して、利用するサービス名を指定した利用者登録要求を行う(ステップS101)。
【0059】
登録部101は、セキュリティポリシ情報格納部113に対して、利用者Uにより指定されたサービス名に関連するセキュリティポリシを要求する(ステップS102)。このセキュリティポリシ要求に応じ、セキュリティポリシ情報格納部113は、登録部101に対して、指定されたサービス名に関連するセキュリティポリシを返信する(ステップS103)。
【0060】
サービス提供装置1の管理者は、返信された関連セキュリティポリシを参照の上、利用者登録要求を行った利用者Uが適切な利用者であることを確認し、適切な利用者である場合に、利用者Uがサービス提供装置1にアクセスするための利用者IDおよびパスワードを発行する。そして、登録部101は、これらの情報に基づき、利用者情報格納部111にアカウントの生成および登録を要求する(ステップS104)。利用者情報格納部111はアカウントの生成および登録を行った上で、登録部101に対して、利用者Uのアカウント生成(登録)が完了した旨を通知する(ステップS105)。
【0061】
次いで、登録部101は、権限管理部105に対し、サービス提供装置1の利用者に関連するロールリスト要求を行う(ステップS106)。これに応じ、権限管理部105は、権限情報格納部115に対し、ロールリストを要求する(ステップS107)。権限情報格納部115は、権限管理部105に対して、ロールリストを返信する(ステップS108)。権限管理部105は、ロールリストを登録部101に返信する(ステップS109)。
【0062】
サービス提供装置1の管理者は、既に取得した関連セキュリティポリシを参照の上、利用者登録要求を行った利用者Uに適切なロールを確認する。ここで、適切なロールがロールリストに含まれていない場合、権限管理部105に対して、しかるべき権限を関連付けるロール作成要求を行う(ステップS110)。これに応じ、権限管理部105は、権限情報格納部115に対して、ロールの作成要求を行う(ステップS111)。権限情報格納部115は、新規ロールを作成して格納し、その処理の完了通知を権限管理部105に返信する(ステップS112)。権限管理部105は、登録部101に対して、更新されたロールリストを伴うロール作成完了通知を返送する(ステップS113)。
【0063】
サービス提供装置1の管理者は、更新されたロールリストから適切なロールを選択し、登録部101により、権限管理部105に対し、利用者Uに関連付けたロール登録要求を行う(ステップS114)。これに応じ、権限管理部105は、利用者情報格納部111に対して、利用者Uに関連する情報としてロール情報の格納を要求する(ステップS115)。利用者情報格納部111はロール情報の格納を行い、権限管理部105に対して、ロール情報の登録完了通知を送付する(ステップS116)。権限管理部105は、登録部101に対して、ロール登録完了通知を返信する(ステップS117)。
【0064】
ロール登録完了通知を受け、登録部101は、ブラウザ31に対して、利用者Uの利用者ID、パスワードおよびロールを通知する応答を行う(ステップS118)。利用者Uはブラウザ31からいったんログアウトを行う。
【0065】
利用者Uは、エージェント実行装置2に対しても、上記の処理と同様に利用者登録要求を行う。この場合、図7における登録部101は登録部201に、セキュリティポリシ情報格納部113は権限情報格納部213に、利用者情報格納部111は利用者情報格納部211に、権限情報格納部115は権限管理部205と読み替えればよい。なお、エージェント実行装置2側でロールを考慮した制御を行わない場合は、ロールについての処理(ステップS106〜S117)を省略し、ロールの返送を行わないようにすることができる。
【0066】
<動作:エージェント登録>
図8および図9はエージェント登録の処理例を示すシーケンス図であり、図7に示した利用者登録を済ませた利用者Uの操作により行われる処理である。
【0067】
図8において、利用者登録を済ませた利用者Uは、端末装置3のブラウザ31からサービス提供装置1のアクセス制御部103に対してアクセス要求を行う(ステップS201)。
【0068】
アクセス制御部103は正規利用者に対してのみサービス利用を許可するアクセス制限を行っており、ブラウザ31からクッキー情報が送付されていないのを確認すると、利用者を認証すべく、認証部102に対してリダイレクションする認証要求メッセージをブラウザ31に送付する(ステップS202)。
【0069】
認証要求メッセージを受信したブラウザ31は、当該メッセージに含まれる送付先である認証部102のURL(Uniform Resource Locator)に対して、メッセージをリダイレクトする(ステップS203)。
【0070】
認証部102は、アクセスしてきたブラウザ31の利用者を認証するために、登録したクレデンシャル情報(利用者IDおよびパスワード)の入力を要求する(ステップS204)。
【0071】
利用者Uは、利用者IDとパスワードをブラウザ31に対して入力し、ブラウザ31は認証部102に対して利用者IDとパスワードを返信する(ステップS205)。
【0072】
認証部102は、利用者Uから送付された利用者IDとパスワードが適切であるか否かを確認するために、利用者情報格納部111に対して、受信した利用者IDとパスワードを伴ったクレデンシャル検証要求を行う(ステップS206)。利用者情報格納部111は、検証要求された利用者IDとパスワードが適切であるか否か、格納している利用者IDとパスワードを照会し、結果(OK/NG)を認証部102に対して送付する(ステップS207)。
【0073】
クレデンシャルの検証結果がOKの場合、セッションクッキーを発行すべく、認証部102は、セッション管理部104に対して、利用者IDを含めたセッション登録要求を行う(ステップS208)。
【0074】
セッション管理部104は、利用者IDに対する新しいセッションを生成し、また、そのセッション情報を識別するセッションIDと、そのセッションIDと関連付けたクッキーを発行して、セッション情報格納部114に登録要求する(ステップS209)。セッション情報格納部114は、セッションIDとクッキーの登録を行った上で、セッション登録応答(OK/NG)をセッション管理部104に返送する(ステップS210)。セッション管理部104は、セッション情報格納部114において登録したクッキー情報を認証部102に対して返送する(ステップS211)。
【0075】
認証部102は、ブラウザ31に対して、アクセス制御部103に再度クッキー付きのアクセス要求を行う旨のリダイレクト要求メッセージとしてクッキー情報を送付する(ステップS212)。
【0076】
ブラウザ31は、リダイレクト要求メッセージを受信し、受け取ったクッキー情報を含めたアクセス要求メッセージをアクセス制御部103に対して送付する(ステップS213)。
【0077】
アクセス制御部103は、アクセス要求メッセージにクッキー情報が含まれていることを確認し、そのクッキー情報に関連付けられた利用者のセッションが存在するか否かを確認するための認証確認要求を、セッション管理部104に対して行う(ステップS214)。
【0078】
セッション管理部104は、セッション情報格納部114に対して、クッキー情報に関連づいたセッションおよび利用者が存在するか検索すべく、クッキー情報をキーとする利用者ID要求を行う(ステップS215)。セッション情報格納部114は、検索を実行し、セッション管理部104に対して、クッキー情報に関連付けて格納された利用者IDを返信する(ステップS216)。セッション管理部104は、アクセス制御部103に対して、利用者IDを応答とする認証確認応答を送付する(ステップS217)。
【0079】
アクセス制御部103は、利用者IDのロール情報を入手すべく、利用者情報格納部111に対して、利用者IDを含めたロール要求を行う(ステップS218)。利用者情報格納部111は、利用者IDに関連付けて格納されるロール情報を取得し、アクセス制御部103に対して返送する(ステップS219)。
【0080】
アクセス制御部103は、取得したロール情報と、プロジェクト管理サービスを実行するための所定のアクション情報(ここでは、サービストップページへのアクセス)とを含めて、権限管理部105に対して、そのアクションをそのロールにおいて実行可能か否かの認可判断要求を送付する(ステップS220)。
【0081】
権限管理部105は、そのロールにそのアクションを行う権限があるか否か、権限情報格納部115を照会する(ステップS221)。権限情報格納部115は、要求されたロールに対して規定される認可されたアクションのリストに要求されたアクションが含まれていればOKを、権限管理部105に対して応答する(ステップS222)。権限管理部105は、アクセス制御部103に対して、権限照会の結果を認可判断応答として返答する(ステップS223)。アクセス制御部103は、サービス提供部107に対し、認可判断応答を転送する(ステップS224)。
【0082】
これを受け、サービス提供部107は、アクセス制御部103からの認可判断検証の結果がOKであれば、アクセスが許可されたものとみなし、サービストップページをアクセス制御部103に対して送付する(ステップS225)。アクセス制御部103はサービストップページをブラウザ31に転送する(ステップS226)。一方、NGであれば、アクセスは否認されたものとして、サービスが提供できない旨を通知する。
【0083】
次に、図9において、利用者Uは、サービストップページを参照して、権限委譲可能なエージェントのリストの参照要求を行う(ステップS227)。サービス提供部107は、登録部101に対して、エージェント参照要求を転送する(ステップS228)。
【0084】
登録部101は、エージェントリスト格納部112に対して、エージェントリストを要求する(ステップS229)。エージェントリスト格納部112は、登録部101に対して、エージェントリストを返送する(ステップS230)。
【0085】
登録部101は、エージェントリストをサービス提供部107に対して返送し(ステップS231)、サービス提供部107は、利用者Uのブラウザ31に対して、エージェントリストの画面を表示する(ステップS232)。
【0086】
利用者Uは、表示されたエージェントリストから権限委譲すべきエージェントの種類を選択し、そのエージェントに対する権限委譲要求を行う(ステップS233)。この要求メッセージには、クッキー情報のほかに、選択したエージェント名と、委譲すべき権限と関連付けられるロールを含める。このロールは、利用者本人のロールと関連付けられたロールのサブセットを指定する。
【0087】
サービス提供部107は、ブラウザ31からのエージェント権限委譲要求を受け、登録部101に対して、権限委譲するエージェント名を指定したエージェント登録要求を送付する(ステップS234)。
【0088】
エージェント登録要求を受けた登録部101は、そのエージェントに対応するパスワードを発行した上で、利用者情報格納部111に対して、発行したパスワードを含むアカウントの生成および登録の要求を行う(ステップS235)。利用者情報格納部111は、アカウントを新規作成し、当該アカウントに対応するエージェントIDを割り当て、指定されたパスワードを登録し、登録部101に対して、エージェントIDを含めたアカウント生成完了通知を送付する(ステップS236)。
【0089】
登録部101は、権限管理部105に対して、エージェントIDとロールを伴うロール登録要求を行う(ステップS237)。
【0090】
権限管理部105は、利用者情報格納部111に対して、エージェントIDにロールを関連付けて登録するよう要求する(ステップS238)。利用者情報格納部111は、ロールの登録を行い、権限管理部105に対して、ロール登録完了通知を返信する(ステップS239)。権限管理部105は、登録部101に対して、ロール登録完了通知を転送する(ステップS240)。
【0091】
登録部101は、サービス提供部107に対して、エージェントIDとパスワードを含めたエージェント登録完了応答を行う(ステップS241)。
【0092】
サービス提供部107は、権限委譲部106に対して、権限委譲要求を行う(ステップS242)。
【0093】
権限委譲部106は、権限委譲情報格納部116に対して、権限委譲情報(利用者ID、エージェントID、ロール)の登録要求を行う(ステップS243)。権限委譲情報格納部116は、権限委譲情報の登録を行い、権限委譲部106に対して、権限委譲情報登録応答を行う(ステップS244)。権限委譲部106は、サービス提供部107に対して、権限委譲情報登録応答を転送する(ステップS245)。
【0094】
サービス提供部107は、エージェント権限委譲要求に対する応答として、登録したエージェントIDとそのパスワードをブラウザ31に対して返信する(ステップS246)。
【0095】
なお、利用者U(人)がブラウザ31からエージェント登録を行う場合について説明したが、エージェントが利用者として他のエージェントの登録を行うこともできる。
【0096】
<動作:エージェント起動>
図10はエージェント起動の処理例を示すシーケンス図である。
【0097】
図10において、利用者Uは、エージェント実行装置2のエージェント管理部203にアクセス要求する(ステップS301)。
【0098】
エージェント管理部203は、利用者Uを認証すべく、認証部202に対してリダイレクションする認証要求メッセージをブラウザ31に送付する(ステップS302)。
【0099】
認証要求メッセージを受信したブラウザ31は、当該メッセージに含まれる送付先である認証部202のURLに対して、メッセージをリダイレクトする(ステップS303)。
【0100】
認証部202は、利用者Uのブラウザ31に対して、エージェント管理サービスを利用するための認証として、クレデンシャルの入力を求める(ステップS304)。
【0101】
利用者Uは、クレデンシャルとして、自らのIDとパスワードを入力し、ブラウザ31はこれを認証部202に送信する(ステップS305)。
【0102】
認証部202は、利用者Uから受け取ったIDとパスワードを利用者情報格納部211に送付し、正規の利用者であるか否かを検証するためのクレデンシャル検証要求を行う(ステップS306)。
【0103】
利用者情報格納部211は、検証要求された利用者IDとパスワードが適切であるか否か、格納している利用者IDとパスワードを照会し、結果(OK/NG)を認証部202に対して送付する(ステップS307)。
【0104】
認証部202は、クレデンシャルの検証結果がOKの場合、クッキー情報を含む認証応答を利用者Uのブラウザ31に対して返信する(ステップS308)。
【0105】
ブラウザ31は、認証応答をエージェント管理部203に対してリダイレクトし、クッキー情報を含めたアクセス要求メッセージとして再度送付する(ステップS309)。
【0106】
エージェント管理部203は、アクセス要求に対する応答メッセージをブラウザ31に対して返信する(ステップS310)。これにより、利用者Uは、認証が完了し、エージェント管理部203が利用可能となる。
【0107】
利用者Uは、エージェント管理部203の表示する画面から、起動可能なエージェントリストを表示するための要求を行う(ステップS311)。
【0108】
エージェント管理部203は、エージェント情報格納部214に対して、格納されているエージェント情報のリストを要求する(ステップS312)。
【0109】
エージェント情報格納部214は、エージェント管理部203からの要求に基づき、エージェント情報のリストを返信する(ステップS313)。
【0110】
エージェント管理部203は、エージェント情報格納部214からの返信結果に基づき、起動可能なエージェントリストをブラウザ31に対して送付する(ステップS314)。
【0111】
利用者Uは、起動可能なエージェントリストから、既にエージェント登録してあるエージェント名を選択し、エージェントプログラム実行部204に対して、エージェント登録に伴って取得したエージェントIDとそのパスワードを指定して、エージェントの作成要求を行う(ステップS315)。エージェントIDとパスワードはエージェント内に設定され、後にサービス提供装置1の認証部102にアクセスする際に用いられる。
【0112】
エージェントプログラム実行部204は、利用者Uが指定したエージェントのプログラムをロードするようにエージェント情報格納部214に対して要求する(ステップS316)。
【0113】
エージェント情報格納部214は、要求されたエージェントプログラムをエージェントプログラム実行部204に対して送付する(ステップS317)。
【0114】
エージェントプログラム実行部204は、取得したエージェントプログラムに対して、利用者Uから送付されたエージェントIDとパスワードを関連付けてエージェントを生成し、ブラウザ31に対してエージェント生成の結果を通知する(ステップS318)。
【0115】
利用者Uは、エージェントが生成されたことを確認し、エージェントのエージェントIDを指定し、エージェント起動要求を行う(ステップS319)。
【0116】
エージェントプログラム実行部204は、要求されたエージェントを起動し、その結果をブラウザ31に対して通知する(ステップS320)。
【0117】
なお、利用者U(人)がブラウザ31からエージェント起動を行う場合について説明したが、エージェントが利用者として他のエージェントの起動を行うこともできる。
【0118】
<動作:エージェント実行>
図11はエージェント実行の処理例を示すシーケンス図である。
【0119】
エージェント実行装置2で起動したエージェントは、自らのプログラムに基づき、サービス提供装置1のプログラム管理サービスへのアクセスを試みる。
【0120】
図11において、先ず、エージェントプログラム実行部204で動作するエージェントは、サービス提供装置1の認証部102に対して認証要求メッセージを送付する(ステップS401)。エージェントプログラム実行部204で動作するエージェントからアクセス制御部103にアクセスし、認証部102にリダイレクトされるようにしてもよい。
【0121】
認証要求を受けた認証部102は、エージェントプログラム実行部204で動作するエージェントに対して、プログラム管理サービスを利用するためのクレデンシャルの入力を要求する(ステップS402)。
【0122】
エージェントプログラム実行部204で動作するエージェントは、既に利用者Uが設定したエージェントIDとパスワードを認証部102に対して送付する(ステップS403)。
【0123】
認証部102は、エージェントから送付されたエージェントIDとパスワードを利用者情報格納部111に対して送付し、検証するよう要求する(ステップS404)。利用者情報格納部111は、エージェントIDとパスワードが適切であるか否かを、格納されている利用者情報と照合して検証し、その結果を認証部102に対して返信する(ステップS405)。
【0124】
認証部102は、指定されたエージェントIDに対応するエージェントのセッションを確立すべく、セッション登録要求をセッション管理部104に対して送付する(ステップS406)。
【0125】
セッション管理部104は、セッション登録要求を受け、新たなセッションを生成し、そのセッションに対して、エージェントIDとセッションIDとクッキー情報を関連付けて格納するように、セッション情報格納部114に対してセッション登録要求する(ステップS407)。セッション情報格納部114は、指定されたエージェントIDとセッションIDとクッキー情報を関連付けて格納し、その結果をセッション管理部104に返信する(ステップS408)。
【0126】
セッション管理部104は、新たに生成したクッキー情報を含めて、セッション登録に対する応答メッセージを認証部102に対して行う(ステップS409)。認証部102は、クッキー情報をエージェントプログラム実行部204で動作するエージェントに対して返信し、認証応答とする(ステップS410)。これによって、エージェントプログラム実行部204で動作するエージェントは、認証部102に対する認証を完了する。
【0127】
次いで、エージェントプログラム実行部204で動作するエージェントは、アクセス制御部103に対して、利用者Uの代理として、プロジェクト情報要求を行う(ステップS411)。ここで、既に認証済みである旨を示すクッキー情報を含める。
【0128】
アクセス制御部103は、受信したクッキー情報を含めて、セッション管理部104に対して、プロジェクト情報要求の要求主体が、既に認証済みであるか否かを確認すべく、認証確認要求を行う(ステップS412)。
【0129】
セッション管理部104は、セッション情報格納部114に対して、クッキー情報を含めて、利用者ID要求を行う(ステップS413)。セッション情報格納部114は、クッキー情報をキーとして、関連付けて格納しているエージェントIDを取得し、セッション管理部104に対して返信する(ステップS414)。セッション管理部104は、エージェントIDを含めて、アクセス制御部103に対して、認証確認応答を行う(ステップS415)。
【0130】
アクセス制御部103は、受け取ったエージェントIDと、エージェントが実行することを要求するアクション(ここでは、サービス情報へのアクセス)を含めて、権限委譲認可判断要求を権限委譲部106に対して送付する(ステップS416)。
【0131】
権限委譲部106は、エージェントIDとアクションを含めて、エージェントがそのアクションを実行するに足る権限を委譲されているか否かの検証を行うべく、権限委譲情報格納部116に対して権限照会を行う(ステップS417)。権限委譲情報格納部116は、エージェントIDと関連付けて格納するロールを参照し、アクションと照合し、そのエージェントにアクションを実行する権限を有するか否かの応答を行う(ステップS418)。権限委譲部106は、権限委譲情報格納部116からの応答を元にして、権限委譲の認可判断応答を、アクセス制御部103に対して行う(ステップS419)。
【0132】
アクセス制御部103は、認可判断検証結果の応答を、サービス提供部107に対して送付する(ステップS420)。
【0133】
サービス提供部107は、認可判断検証結果を元にして、もしエージェントがサービス情報へのアクセス権限を有する場合には、要求されたサービス情報をアクセス制御部103に対して送付する(ステップS421)。アクセス制御部103はサービス情報をエージェントプログラム実行部204で動作するエージェントに対して転送する(ステップS422)。
【0134】
これにより、エージェントプログラム実行部204で動作するエージェントはサービス情報格納部117に格納されたコンテンツ等の提供を受け、定期的に利用者Uに対して取得した情報を通知する等の予め定められた動作を行う。
【0135】
なお、エージェントプログラム実行部204で動作するエージェントがサービス提供部107にアクセスしてサービス情報の提供を受ける場合について説明したが、エージェントはそのプログラムに従って、他のエージェントの登録、起動等の、人の利用者と同様の処理を行うことができる。
【0136】
<総括>
以上説明したように、本実施形態によれば次のような利点がある。
(1)利用者がネットワークにアクセスしない場合においても、自らの代理となるエージェントが代わりにサービスを代理実行するため、利用者にとってのサービス利用時の効率性と利便性が向上する。
(2)権限委譲者と被委譲者とがセッション情報を共有しないので、両者の存在するネットワークシステム環境に依存せず、分散環境においても安全なアクセス管理を実現できる。
(3)エージェントを人と同様に一人の利用者と扱うことによって、人と同様の認証、認可方式を適用することができ、特別の機能追加が少なくてすむため、システムの導入を低コストで実現できる。
(4)エージェントに対し、利用者の権限の範囲内で委譲する権限を柔軟に制御することができる。
(5)エージェントは登録時にエージェントの管理者情報が管理され、認証、権限委譲などのプロセスを通じて管理され、エージェントの動作はログに記録されているため、エージェントに伴う動作により何らかの問題が発生した場合には、原因を追跡し、責任を課すことができる。
【0137】
以上、本発明の好適な実施の形態により本発明を説明した。ここでは特定の具体例を示して本発明を説明したが、特許請求の範囲に定義された本発明の広範な趣旨および範囲から逸脱することなく、これら具体例に様々な修正および変更を加えることができることは明らかである。すなわち、具体例の詳細および添付の図面により本発明が限定されるものと解釈してはならない。
【図面の簡単な説明】
【0138】
【図1】従来のデータベースアクセス制御のためのシステム構成を示す図である。
【図2】本発明の一実施形態にかかるシステムの構成例を示す図である。
【図3】サービス提供装置の構成例を示す図である。
【図4】サービス提供装置内に格納される各種データの構造例を示す図である。
【図5】エージェント実行装置の構成例を示す図である。
【図6】エージェント実行装置内に格納される各種データの構造例を示す図である。
【図7】利用者登録の処理例を示すシーケンス図である。
【図8】エージェント登録の処理例を示すシーケンス図(その1)である。
【図9】エージェント登録の処理例を示すシーケンス図(その2)である。
【図10】エージェント起動の処理例を示すシーケンス図である。
【図11】エージェント実行の処理例を示すシーケンス図である。
【符号の説明】
【0139】
1 サービス提供装置
101 登録部
102 認証部
103 アクセス制御部
104 セッション管理部
105 権限管理部
106 権限委譲部
107 サービス提供部
111 利用者情報格納部
112 エージェントリスト格納部
113 セキュリティポリシ情報格納部
114 セッション情報格納部
115 権限情報格納部
116 権限委譲情報格納部
117 サービス情報格納部
2 エージェント実行装置
201 登録部
202 認証部
203 エージェント管理部
204 エージェントプログラム実行部
205 権限管理部
211 利用者情報格納部
212 セキュリティポリシ情報格納部
213 権限情報格納部
214 エージェント情報格納部
3 端末装置
31 ブラウザ
4 ネットワーク
U 利用者
【特許請求の範囲】
【請求項1】
エージェントに対する認証処理を含めた手続処理の代理を管理するエージェントアクセス管理システムであって、
エージェント利用者からのエージェント情報として、識別子、クレデンシャル情報および委譲権限を登録することによりエージェントに権限委譲を行う権限委譲受付手段と、
エージェントから識別子およびクレデンシャル情報を受信する認証情報受信手段と、
受信した識別子およびクレデンシャル情報に基づいて認証処理および権限確認を行うアクセス制御手段と、
エージェントからの指示に基づいて、該エージェントに対応した委譲権限の範囲内で所定の手続処理を受け付けるエージェント管理手段と
を備えたことを特徴とするエージェントアクセス管理システム。
【請求項2】
請求項1に記載のエージェントアクセス管理システムにおいて、
前記アクセス制御手段は、クレデンシャル情報の検証を経て作成されたセッションの確認により認証を行い、要求されたアクションが登録された権限もしくは委譲権限の範囲内であるか否かの確認により権限確認を行う
ことを特徴とするエージェントアクセス管理システム。
【請求項3】
請求項2に記載のエージェントアクセス管理システムにおいて、
前記アクセス制御手段は、セッションを示すクッキー情報を伴わないアクセス要求に対し、クレデンシャル情報の検証を行う認証手段へのリダイレクトを行う
ことを特徴とするエージェントアクセス管理システム。
【請求項4】
請求項1乃至3のいずれか一項に記載のエージェントアクセス管理システムにおいて、
人を利用者として登録する場合の権限は、対象となるサービスに対応したセキュリティポリシに基づいて決定される
ことを特徴とするエージェントアクセス管理システム。
【請求項5】
請求項1乃至4のいずれか一項に記載のエージェントアクセス管理システムにおいて、
エージェントを利用者として登録する場合の委譲権限は、委譲元の人もしくはエージェントの権限もしくは委譲権限の範囲内で指定される
ことを特徴とするエージェントアクセス管理システム。
【請求項6】
エージェントに対する認証処理を含めた手続処理の代理を管理するエージェントアクセス管理方法であって、
エージェント利用者からのエージェント情報として、識別子、クレデンシャル情報および委譲権限を登録することによりエージェントに権限委譲を行う権限委譲受付工程と、
エージェントから識別子およびクレデンシャル情報を受信する認証情報受信工程と、
受信した識別子およびクレデンシャル情報に基づいて認証処理および権限確認を行うアクセス制御工程と、
エージェントからの指示に基づいて、該エージェントに対応した委譲権限の範囲内で所定の手続処理を受け付けるエージェント管理工程と
を備えたことを特徴とするエージェントアクセス管理方法。
【請求項7】
エージェントに対する認証処理を含めた手続処理の代理を管理するエージェントアクセス管理システムを構成するコンピュータを、
エージェント利用者からのエージェント情報として、識別子、クレデンシャル情報および委譲権限を登録することによりエージェントに権限委譲を行う権限委譲受付手段、
エージェントから識別子およびクレデンシャル情報を受信する認証情報受信手段、
受信した識別子およびクレデンシャル情報に基づいて認証処理および権限確認を行うアクセス制御手段、
エージェントからの指示に基づいて、該エージェントに対応した委譲権限の範囲内で所定の手続処理を受け付けるエージェント管理手段
として機能させるエージェントアクセス管理プログラム。
【請求項1】
エージェントに対する認証処理を含めた手続処理の代理を管理するエージェントアクセス管理システムであって、
エージェント利用者からのエージェント情報として、識別子、クレデンシャル情報および委譲権限を登録することによりエージェントに権限委譲を行う権限委譲受付手段と、
エージェントから識別子およびクレデンシャル情報を受信する認証情報受信手段と、
受信した識別子およびクレデンシャル情報に基づいて認証処理および権限確認を行うアクセス制御手段と、
エージェントからの指示に基づいて、該エージェントに対応した委譲権限の範囲内で所定の手続処理を受け付けるエージェント管理手段と
を備えたことを特徴とするエージェントアクセス管理システム。
【請求項2】
請求項1に記載のエージェントアクセス管理システムにおいて、
前記アクセス制御手段は、クレデンシャル情報の検証を経て作成されたセッションの確認により認証を行い、要求されたアクションが登録された権限もしくは委譲権限の範囲内であるか否かの確認により権限確認を行う
ことを特徴とするエージェントアクセス管理システム。
【請求項3】
請求項2に記載のエージェントアクセス管理システムにおいて、
前記アクセス制御手段は、セッションを示すクッキー情報を伴わないアクセス要求に対し、クレデンシャル情報の検証を行う認証手段へのリダイレクトを行う
ことを特徴とするエージェントアクセス管理システム。
【請求項4】
請求項1乃至3のいずれか一項に記載のエージェントアクセス管理システムにおいて、
人を利用者として登録する場合の権限は、対象となるサービスに対応したセキュリティポリシに基づいて決定される
ことを特徴とするエージェントアクセス管理システム。
【請求項5】
請求項1乃至4のいずれか一項に記載のエージェントアクセス管理システムにおいて、
エージェントを利用者として登録する場合の委譲権限は、委譲元の人もしくはエージェントの権限もしくは委譲権限の範囲内で指定される
ことを特徴とするエージェントアクセス管理システム。
【請求項6】
エージェントに対する認証処理を含めた手続処理の代理を管理するエージェントアクセス管理方法であって、
エージェント利用者からのエージェント情報として、識別子、クレデンシャル情報および委譲権限を登録することによりエージェントに権限委譲を行う権限委譲受付工程と、
エージェントから識別子およびクレデンシャル情報を受信する認証情報受信工程と、
受信した識別子およびクレデンシャル情報に基づいて認証処理および権限確認を行うアクセス制御工程と、
エージェントからの指示に基づいて、該エージェントに対応した委譲権限の範囲内で所定の手続処理を受け付けるエージェント管理工程と
を備えたことを特徴とするエージェントアクセス管理方法。
【請求項7】
エージェントに対する認証処理を含めた手続処理の代理を管理するエージェントアクセス管理システムを構成するコンピュータを、
エージェント利用者からのエージェント情報として、識別子、クレデンシャル情報および委譲権限を登録することによりエージェントに権限委譲を行う権限委譲受付手段、
エージェントから識別子およびクレデンシャル情報を受信する認証情報受信手段、
受信した識別子およびクレデンシャル情報に基づいて認証処理および権限確認を行うアクセス制御手段、
エージェントからの指示に基づいて、該エージェントに対応した委譲権限の範囲内で所定の手続処理を受け付けるエージェント管理手段
として機能させるエージェントアクセス管理プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2010−122798(P2010−122798A)
【公開日】平成22年6月3日(2010.6.3)
【国際特許分類】
【出願番号】特願2008−294432(P2008−294432)
【出願日】平成20年11月18日(2008.11.18)
【出願人】(500257300)ヤフー株式会社 (1,128)
【Fターム(参考)】
【公開日】平成22年6月3日(2010.6.3)
【国際特許分類】
【出願日】平成20年11月18日(2008.11.18)
【出願人】(500257300)ヤフー株式会社 (1,128)
【Fターム(参考)】
[ Back to top ]