説明

権限委譲システム、権限委譲方法、認証装置、情報処理装置、制御方法、およびプログラム

【課題】委譲者が委譲可能な権限を知らない場合でも、委譲者が委譲する権限の範囲を指定して被委譲者である権限利用サービスに権限を委譲する。
【解決手段】ユーザが有する権限を、当該権限に応じて処理する第一の装置に対して処理を依頼する第二の装置に委譲する権限委譲システムに含まれる認証装置であって、前記第二の装置から権限委譲要求を受け付ける受付手段と、当該ユーザが有する権限の情報を記憶部から取得する取得手段と、前記取得手段にて取得した権限の情報を前記ユーザに提示し、当該ユーザが有する権限のうちいずれの権限を前記第二の装置に委譲するか否かの指示を受け付ける確認手段と、前記確認手段により、前記第二の装置に権限を委譲するとの指示を受け付けた場合、前記指示を一意に識別する識別子と前記ユーザが委譲すると指示した権限とを対応付けて記憶する記憶手段とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
ユーザの利便性を損なうことなく、保護されたユーザの権限を他の主体に委譲する権限委譲システム、権限委譲方法、認証装置、情報処理装置、制御方法、およびプログラムに関する。
【背景技術】
【0002】
従来、あるユーザが有する保護されたリソースに対する処理のアクセス権限を、他の主体に権限委譲する方法が提案されている。例えば、特許文献1では、権限委譲者であるユーザが有する保護されたリソースへのアクセス権限を、被委譲者である他のユーザに委譲する方法が提案されている。これは、保護されたリソースの所有者である権限委譲者が、そのリソースへのアクセスが許可された証拠としてのアクセストークンを取得し、取得したアクセストークンをリソースへのアクセスを希望する被委譲者に譲渡する事によって実現している。
【0003】
またインターネット上で展開されるサービス間での連携への要望の高まりを受け、ユーザのアクセス権限を、他の主体に対して委譲するプロトコルが検討されている。例えば、IETF(The Internet Engineering Task Force)において検討されている、WRAP(OAuth Web Resource Authorization Profiles)などが挙げられる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2006−221506号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら従来の方法では、アクセストークンを発行する主体はクライアントである。昨今注目されているクラウドサービスのように、インターネット上で展開されるサービスにおいて、クライアントは汎用なWebブラウザのみで利用できることが多く、クライアントに追加の機能を新たに持たせることは、その利便性を低下させることにつながる。そのため、従来の方式はインターネット上で展開されるサービスには適さない。
【0006】
さらに従来の方法では、ユーザが権限を委譲する際に、どの権限であれば被委譲者に対して委譲することができるかユーザが知っておく必要があり、適切な権限委譲が困難という問題もあった。
【0007】
本発明の目的は、クライアントアプリケーションを変更・追加することなく、また権限委譲者であるユーザが委譲可能な権限を知らない場合でも、権限委譲者が権限の範囲を指定して、被委譲者である権限利用サービスに権限を委譲することである。
【課題を解決するための手段】
【0008】
上述した課題を解決するため、本発明は以下の構成を有する。すなわち、認証装置を備え、ユーザが有する権限を、当該権限に応じて処理を実行する第一の装置に対して処理を依頼する第二の装置に委譲する権限委譲システムであって、前記認証装置は、前記第二の装置から権限委譲要求を受け付ける受付手段と、当該ユーザが有する権限の情報を記憶部から取得する取得手段と、前記取得手段にて取得した権限の情報を前記ユーザに提示し、当該ユーザが有する権限のうちいずれの権限を前記第二の装置に委譲するか否かの指示を受け付ける確認手段と、前記確認手段により、前記第二の装置に権限を委譲するとの指示を受け付けた場合、前記指示を一意に識別する識別子と前記ユーザが委譲すると指示した権限とを対応付けて記憶する記憶手段と、ユーザからの前記指示に基づいた、権限の委譲を示す認証情報を前記第二の装置へ送信する送信手段とを備え、前記第一の装置は、前記第二の装置から処理依頼と前記認証情報とを受け付ける依頼受信手段と、前記認証情報を用いて、前記第二の装置がユーザからいずれの権限を委譲されたかを検証する検証手段と、前記検証手段による検証の結果、前記第二の装置が当該処理依頼に基づく処理を実行するための権限を委譲されていた場合、当該リソースへの処理依頼を実行する実行手段とを備える。
【発明の効果】
【0009】
本発明によれば、クライアントアプリケーションを変更することなく、また権限委譲者があらかじめ委譲可能な権限を知らない場合でも、権限委譲者が委譲する権限の範囲を指定して、被委譲者である権限利用サービスに権限を委譲できる。
【図面の簡単な説明】
【0010】
【図1】ネットワーク構成を示す図。
【図2】サービスを利用または提供するPCの構成を示す図。
【図3】本実施形態に係るサービス間の関連を示す図。
【図4】本実施形態に係る各サービスのモジュール構成を示す図。
【図5】本実施形態に係る文書管理サービス処理のフローを示す図。
【図6】本実施形態に係る権限委譲確認処理のフローを示す図。
【図7】本実施形態に係るアクセストークン発行処理のフローを示す図。
【図8】本実施形態に係る委譲許可された権限一覧の返却処理のフローを示す図。
【図9】本実施形態に係るプリントサービス処理のフローを示す図。
【図10】第二実施形態に係る各サービスのモジュール構成を示す図。
【図11】第二実施形態に係るアクセストークン発行処理のフローを示す図。
【図12】第二実施形態に係るプリントサービス処理のフローを示す図。
【図13】第三実施形態に係る各サービスのモジュール構成を示す図。
【図14】第三実施形態に係る文書管理サービス処理のフローを示す図。
【図15】第三実施形態に係る権限委譲確認処理のフローを示す図。
【図16】第三実施形態に係る必要権限確認処理のフローを示す図。
【発明を実施するための形態】
【0011】
<第一実施形態>
[システム構成]
以下、本発明を実施するための形態について図面を用いて説明する。なお、本明細書において、所定のファイルや情報に対して有する権限を委譲する権限委譲者を単に委譲者、権限を委譲される側を被委譲者と記載する。なお、委譲者とは、権限を委譲する指示を行うユーザを意味するが、被委譲者とは、本実施形態において、当該権限を用いてサービスを提供する手段、もしくは装置を意味する。また、本実施形態において、“権限”と記載した場合は、特に明記しない限り、リソースに対するアクセス権限を意味する。つまり、ユーザのリソースに対する処理の実行可否に対する権限である。しかし、この方法に限定するものではなく、例えば、“権限”は、リソースごとに定義された権限ではなく、サービス提供装置が提供するサービス(機能)自体の利用可否に対する権限として扱っても構わない。また、両方の権限(サービスおよびリソースに対する権限)を扱えるように処理しても構わない。本実施形態に係る権限委譲システムは、図1に示すような構成のネットワーク上に実現される。
【0012】
WAN(Wide Area Network)100は、本発明ではWWW(World Wide Web)システムが構築されている。LAN(Local Area Network)101は、各構成要素を接続する。
【0013】
クライアントPC110は委譲者により操作され、提供される各サービスに対して指示を行う。権限委譲サービス120は、委譲者に権限委譲の許可を求め、委譲が許可された証拠となるアクセストークン(認証情報)を発行する。権限利用サービス130は、権限委譲サービス120からアクセストークンを受け取り、サービス提供サービス140に処理を依頼する。サービス提供サービス140は、権限利用サービス130からの要求に応えて処理を行う。またクライアントPC110、権限委譲サービス120、権限利用サービス130、およびサービス提供サービス140はそれぞれ、WANネットワーク100およびLAN101を介して接続されている。なお権限委譲サービス120、権限利用サービス130、およびサービス提供サービス140はそれぞれ個別のLAN上に構成されていてもよいし同一のLAN上に構成されていてもよい。また同一の装置上に構成されていてもよい。また、1つのサービスを複数の装置にて実現されても良い。なお、本明細書において、サービス提供サービス140(もしくはそのサービスを提供する装置)を第一の装置、権限利用サービス130(もしくはそのサービスを提供する装置)を第二の装置とも記載する。
【0014】
クライアントPC110にて権限利用サービス130に対する処理要求が発生すると、権限利用サービス130は権限委譲サービス120に権限委譲を要求する。権限委譲要求を受けた権限委譲サービス120はクライアントPC110に対し、権限委譲の許可を求める。権限委譲の許可が得られると権限委譲サービス120は権限利用サービス130に対しアクセストークンを発行する。権限利用サービス130は受け取ったアクセストークンをサービス提供サービス140に渡し、処理を依頼する。
【0015】
なお、本実施形態において、クライアントPC110を用いて、委譲者が各サービスに対して操作・指示を行う場合には、クライアントPC110が備えるWebブラウザ(不図示)を用いて行うものとする。
【0016】
図2は本実施形態に係るサービスを利用するまたはサービスを提供する情報処理装置であるPCの構成を示す図である。尚、図2に示されるハードウェアブロック図は一般的な情報処理装置のハードウェアブロック図に相当するものとし、本実施形態のクライアントPC110には一般的な情報処理装置のハードウェア構成を適用できる。また、各サービスを提供する情報処理装置においても同様の構成を適用できる。
【0017】
図2において、CPU201は、ROM203のプログラム用ROMに記憶された、或いはハードディスク211からRAM202にロードされたOSやアプリケーション等のプログラムを実行する。ここでOSとはコンピュータ上で稼動するオペレーティングシステムの略語であり、以下オペレーティングシステムのことをOSと呼ぶ。後述する各フローチャートの処理はこのプログラムの実行により実現できる。RAM202は、CPU201の主メモリ、ワークエリア等として機能する。キーボードコントローラ(KBC)205は、キーボード209やポインティングデバイス(不図示)からのキー入力を制御する。CRTコントローラ(CRTC)206は、CRTディスプレイ210の表示を制御する。ディスクコントローラ(DKC)207は各種データを記憶するハードディスク(HD)211やフロッピー(登録商標)ディスク(FD)等におけるデータアクセスを制御する。NC208はネットワークに接続されて、ネットワークに接続された他の機器との通信制御処理を実行する。
【0018】
尚、後述の全ての説明において、特に明記しない限り、ハード上において処理の実行の主体はCPU201であり、ソフトウェア上の主体はハードディスク(HD)211にインストールされたアプリケーションプログラムである。
【0019】
[サービス間連携]
以下では権限委譲サービス120として認証サービス400を想定している。また権限利用サービス130として文書管理サービス500を、サービス提供サービス140としてプリントサービス600を想定している。サービス間の関連を図3に示す。
【0020】
委譲者はまず、Webブラウザを介して文書管理サービス500に、文書管理サービス500内の文書のプリントを指示する。文書管理サービス500は、委譲者に指定された文書データ(以下、単に文書)をプリントサービス600にプリント指示するため、認証サービス400に委譲者の権限委譲を要求する。権限が委譲されると文書管理サービス500は、委譲者に指定された文書を指定して、プリントサービス600にプリント指示を行う。プリントサービス600は、委譲者が委譲を許可した権限を確認し、文書管理サービス500に指定された文書のプリントを行う。なお権限委譲サービス120は認証サービス400に限定されるものではない。同様に権限利用サービス130は文書管理サービス500に限定されるものではなく、サービス提供サービス140もプリントサービス600に限定されるものではない。
【0021】
[モジュール構成]
図4(A)は本実施形態に係る、認証サービス400のモジュール構成を示す図である。認証サービス400は権限委譲モジュール411、委譲確認モジュール412、および委譲許可識別子管理モジュール413を備える。更に、認証サービス400は、権限一覧取得モジュール414、委譲範囲管理モジュール415、アクセストークン発行モジュール421、および委譲範囲確認モジュール431を備える。
【0022】
権限委譲モジュール411は、文書管理サービス500の要求に応じて委譲者が権限の委譲を許可した場合、その旨を示す委譲許可情報を文書管理サービス500に返す。この委譲許可情報を利用して、文書管理サービス500はリソースアクセスのためのアクセストークンを取得できる。委譲確認モジュール412は、権限一覧取得モジュール414で取得した権限を委譲者に提示し、委譲を許可された権限を委譲範囲管理モジュール415に渡して保管する。委譲範囲確認モジュール431は、プリントサービス600の要求に応じて、委譲者が委譲を許可した権限の範囲(種類)を返す。
【0023】
図4(B)は本実施形態に係る、文書管理サービス500のモジュール構成を示す図である。文書管理サービス500は、ユーザ要求受信モジュール511、権限委譲要求モジュール512、アクセストークン要求モジュール513、サービス実行要求モジュール514、および結果通知モジュール515を備える。
【0024】
ユーザ要求受信モジュール511は、委譲者の指示に基づくクライアントPC110からの指定文書プリント要求を受信する。本実施形態において、指定文書プリント要求を処理するには、プリントサービス600に対する委譲者の権限を必要とする。従って、権限委譲要求モジュール512は、認証サービス400に対して権限委譲を要求する。また、権限が委譲されるとアクセストークン要求モジュール513が認証サービス400に対してアクセストークンを要求する。サービス実行要求モジュール514は取得したアクセストークンをプリントサービス600に渡し、プリント処理の実行を要求する。そして、結果通知モジュール515はプリント結果をクライアントPC110に返す。
【0025】
図4(C)は本実施形態に係る、プリントサービス600のモジュール構成を示す図である。プリントサービス600は、サービス利用要求受信モジュール611、アクセストークン検証モジュール612、委譲範囲検証モジュール613、およびサービス実施モジュール614を備える。
【0026】
サービス利用要求受信モジュール611は、文書管理サービス500からのプリント処理依頼を受信する。アクセストークン検証モジュール612は、処理依頼時に渡されたアクセストークンの正当性を確認する。委譲範囲検証モジュール613は、認証サービス400に問い合わせ、文書管理サービス500からの処理依頼を実行するのに十分な権限が委譲されているか否かを判定する。例えば、文書管理サービス500がカラープリントを実施しようとしているのに対し、文書に対するカラープリント権限が委譲されたか否かを判定する。サービス実施モジュール614は、委譲者から十分な権限が委譲されていた場合に、サービス利用要求受信モジュール611が受信した処理依頼を実施する。
【0027】
[文書管理サービス処理]
図5は本実施形態に係る、文書管理サービス500による文書管理サービス処理のフローを示す図である。なお本処理は、本実施形態において、文書管理サービス500が実現される装置が有するCPUが記憶部であるROM等に格納されたプログラムを実行することにより、実現される。
【0028】
S1101で、ユーザ要求受信モジュール511は、委譲者が操作するクライアントPC110から、文書管理サービス500内の文書を指定したプリント実行の要求を受け付ける。ここでユーザ要求受信モジュール511は、委譲者の要求の内容を確認する。たとえばここで委譲者の要求がプリント処理を含むものであった場合、ユーザ要求受信モジュール511はプリントサービス600を利用する必要があると判断する。
【0029】
S1102で、権限委譲要求モジュール512は、S1101でプリントサービス600に対する権限が必要と判断されたため、認証サービス400に権限委譲を要求する。S1103で、権限委譲要求モジュール512は、認証サービス400の権限委譲モジュール411から権限委譲要求の結果を受信する。
【0030】
S1104で、権限委譲要求モジュール512は、S1103で受信した権限委譲要求の結果を確認し、権限が委譲されている場合(S1104にてYES)は、S1105に遷移する。権限が委譲されていない場合(S1104にてNO)は、S1150に遷移する。
【0031】
S1105で、アクセストークン要求モジュール513は、認証サービス400に、S1103で受信した委譲者に権限の委譲を許可されたことを示す委譲許可情報を送信してリソースアクセスのためのアクセストークンを要求する。S1106で、アクセストークン要求モジュール513は、S1105のアクセストークン要求の結果を受信する。
【0032】
S1107で、アクセストークン要求モジュール513は、S1106にて受信したアクセストークン要求の結果を確認する。このとき、アクセストークンが発行されている場合(S1107にてYES)は、S1108に遷移する。またアクセストークンが発行されていない場合(S1107にてNO)は、S1151に遷移する。
【0033】
S1108でサービス実行要求モジュール514は、S1106で受信したアクセストークンをプリントサービス600に渡し、S1101で委譲者に指定された文書のプリントを依頼する。このとき、処理依頼のデータに、文書そのものを含めても良いし、文書の格納先の情報を含めても良い。S1109でサービス実行要求モジュール514は、S1108でプリントサービス600のプリント処理結果を受信する。S1110で結果通知モジュール515は、S1109で受信した結果を、委譲者が操作するクライアントPC110に通知し、フローを終了する。
【0034】
S1150で権限委譲要求モジュール512は、権限委譲が実行されなかったために、委譲者が操作するクライアントPC110から受信した処理を達成できなかった旨を、クライアントPC110に通知し、フローを終了する。
【0035】
S1151でアクセストークン要求モジュール513は、トークンが発行されなかったために、委譲者が操作するクライアントPC110から受信した処理を達成できなかった旨を、委譲者が操作するクライアントPC110に通知し、フローを終了する。
【0036】
[権限委譲確認処理]
図6は本実施形態に係る、権限委譲要求を受けた認証サービス400による権限委譲確認処理のフローを示す図である。なお本処理は、本実施形態において、認証サービス400が実現される装置が有するCPUが記憶部であるROM等に格納されたプログラムを実行することにより、実現される。
【0037】
S1201で権限委譲モジュール411は、文書管理サービス500からの権限委譲要求を受け付ける。本工程は、図5のS1102に対応する。これにより、受付手段を実現する。S1202で権限一覧取得モジュール414は、プリントサービス600に対する委譲者の権限一覧を取得する。ここで用いられる権限一覧とは、例えば、委譲者がプリントサービス600に対してカラープリント権限、モノクロプリント権限を有する場合、取得した権限一覧にはカラープリント権限およびモノクロプリント権限が含まれる。S1203で委譲確認モジュール412は、委譲者が操作するクライアントPC110に対し、委譲者の権限一覧を提示するとともに、どの権限の委譲を許可するかを問い合わせる。つまり、委譲者に対して、権限一覧を提示し、委譲者がどの権限を委譲するかを指示できるUIを提供する。このとき、委譲者が有する権限をすべて委譲するようにしてもよいし、セキュリティの観点から一部のみを委譲するようにしても構わない。例えばここで、カラープリント権限およびモノクロプリント権限それぞれについて委譲を許可するかを委譲者に問い合わせる。
【0038】
S1204で委譲確認モジュール412は、S1203で権限が委譲されたか否かを判定し、委譲されている場合(S1204にてYES)は、S1205に遷移する。また委譲されていない場合(S1204にてNO)は、S1250に遷移する。例えば、権限一覧として提示した中から、カラープリント権限もしくはモノクロプリント権限の少なくとも一方の委譲が委譲者から許可されていた場合は、S1205に遷移する。いずれの権限の委譲も許可されていなかったら、S1250に遷移する。
【0039】
S1205で、委譲許可識別子管理モジュール413が、委譲を許可された委譲許可識別子を記憶する。例えばここでカラープリント権限の委譲が許可されていた場合、カラープリント権限の委譲が許可されたことを一意に識別するための識別子として、委譲許可識別子を記憶する。なお委譲許可識別子は、委譲許可要求に先立ち文書管理サービス500が生成し、S1201で権限委譲モジュール411が受信した権限委譲要求に含めて送っていてもよい。またS1203で権限が委譲されていた場合に認証サービス400が生成したものでもよい。またそれらのいずれに限定されるものでもない。また、委譲許可識別子のデータ構造についても、例えば特定の桁数として、シーケンシャルに付与しても良いし、ランダムに付与しても良い。
【0040】
S1206で、委譲範囲管理モジュール415は、S1203で委譲者から委譲を許可された権限を、S1205で記憶された委譲許可識別子に対応付けて記憶する。例えばここでは、カラープリント権限が委譲されるとして、その情報を委譲許可識別子と紐付けて記憶する。S1207で権限委譲モジュール411は、S1205で記憶された委譲許可識別子を含む委譲許可情報を文書管理サービス500に送信し、フローを終了する。
【0041】
S1250で権限委譲モジュール411は、委譲者の指示により権限委譲が拒否された旨を文書管理サービス500に通知し、本フローを終了する。
【0042】
[アクセストークン発行処理]
図7は本実施形態に係る、アクセストークン発行要求を受けた認証サービス400によるアクセストークン発行処理のフローを示す図である。なお本処理は、本実施形態において、認証サービス400が実現される装置が有するCPUが記憶部であるROM等に格納されたプログラムを実行することにより、実現される。
【0043】
S1301で、権限委譲モジュール411は、文書管理サービス500からアクセストークン発行要求を受信する。本工程は図6のS1103に対応する。S1302で、権限委譲モジュール411は、S1301のアクセストークン発行要求に含まれる委譲許可識別子が、委譲許可識別子管理モジュール413に記憶されているか否かを確認する。
【0044】
S1303で、権限委譲モジュール411は、S1302で委譲許可識別子が記憶されていたか否かを判定し、記憶されている場合(S1303にてYES)は、S1304に遷移する。また記憶されていない場合(S1303にてNO)は、S1350に遷移する。
【0045】
S1304で、アクセストークン発行モジュール421は、アクセストークンを発行し、文書管理サービス500にアクセストークンを送信してフローを終了する。なお、アクセストークンには、委譲された権限を識別するための委譲許可識別子が含まれて発行されているものとする。S1350でアクセストークン発行モジュール421は、アクセストークンを発行できない旨を文書管理サービス500に通知してフローを終了する。
【0046】
[権限一覧返却処理]
図8は本実施形態に係る、委譲許可された権限の一覧を要求された認証サービス400による権限一覧返却処理のフローを示す図である。なお本処理は、本実施形態において、認証サービス400が実現される装置が有するCPUが記憶部であるROM等に格納されたプログラムを実行することにより、実現される。
【0047】
S1401で、委譲範囲確認モジュール431は、プリントサービス600から権限一覧の問い合わせを受ける。S1402で、委譲範囲確認モジュール431は、S1401にて受けた問い合わせに含まれる委譲許可識別子を委譲範囲管理モジュール415に渡し、委譲許可された権限一覧を取得する。S1403で、委譲範囲確認モジュール431は、プリントサービス600に取得した権限一覧を送信し、フローを終了する。
【0048】
[プリントサービス処理]
図9は本実施形態に係る、処理依頼を受けたプリントサービス600によるプリントサービス処理のフローを示す図である。なお本処理は、本実施形態において、プリントサービス600が実現される装置が有するCPUが記憶部であるROM等に格納されたプログラムを実行することにより、実現される。
【0049】
S1501でサービス利用要求受信モジュール611は、文書管理サービス500からアクセストークンとともにプリント依頼を受信する。これにより、依頼受信手段を実現する。S1502でアクセストークン検証モジュール612は、S1501で受信したアクセストークンの正当性を確認する。ここでアクセストークンを認証サービス400に渡し、アクセストークンの正当性を確認してもよい。またプリントサービス600と認証サービス400との間で事前に鍵交換するなどして、アクセストークンに電子署名することで当該アクセストークンの正当性を確認してもよい。またそのいずれに限定されるものでもない。
【0050】
S1503で、アクセストークン検証モジュール612は、S1502でアクセストークンが正当であったか否かを判定し、正当であれば(S1503にてYES)、S1504に遷移する。また正当でなければ(S1503にてNO)、S1550に遷移する。
【0051】
S1504で、委譲範囲検証モジュール613は、S1501で受信したアクセストークンに含まれる委譲許可識別子を認証サービス400に渡し、委譲を許可された権限の一覧を要求する。この際、認証サービス400にて、図8に示した処理が行われる。S1505で委譲範囲検証モジュール613は、委譲を許可された権限の一覧を取得する。
【0052】
S1506で、委譲範囲検証モジュール613は、S1505で受信した権限の一覧が、S1501で受信した処理依頼を実行するのに十分か否かを判定する。判定の結果、権限が十分であれば(S1506にてYES)、S1507に遷移する。また処理を実行するのに権限が十分でなければ(S1506にてNO)、S1551に遷移する。
【0053】
S1507で、サービス実施モジュール614は、S1501で受信した処理依頼を処理し、結果を文書管理サービス500に返す。S1508で、委譲範囲検証モジュール613は、S1505で、受信した権限の一覧の削除を認証サービス400に依頼し、フローを終了する。
【0054】
S1550でアクセストークン検証モジュール612は、アクセストークンが不正で処理を実行できない旨を文書管理サービス500に通知し、フローを終了する。S1551で、委譲範囲検証モジュール613は、権限不足のため処理を実行できない旨を文書管理サービス500に通知し、フローを終了する。
【0055】
なお、認証サービス400の委譲範囲管理モジュール415は、プリントサービス600から権限一覧の削除を依頼された後(図12のS1508)、記憶していた識別子および権限一覧を削除する。
【0056】
本実施形態によれば、クライアントPC110が備えるクライアントアプリケーションを変更・追加することなく、また委譲者が委譲可能な権限を把握していない場合でも、委譲者が権限の範囲を指定して、被委譲者である権限利用サービスに権限を委譲できる。
【0057】
<第二実施形態>
次に、本発明を実施するための第二実施形態について図面を用いて説明する。第一実施形態では、権限委譲サービス120(認証サービス400)が、委譲者が委譲した権限に対するサービス提供サービス140(プリントサービス600)からの問い合わせに対応するため、追加の記憶領域が必要になる。これに対し、第二実施形態では、この記憶領域なしに、委譲する権限の範囲を指定した権限委譲を可能とする。
【0058】
[モジュール構成]
図10は本実施形態に係る各モジュールの構成を示した図である。まず、図4に示した第一実施形態における各モジュールとの構成の差分を述べる。
【0059】
図10(A)は本実施形態に係る、認証サービス400のモジュール構成を示す図である。認証サービス400は第2のアクセストークン発行モジュール441を備える。これに対し、本実施形態の認証サービス400は、第一実施形態の図4(A)にて示したアクセストークン発行モジュール421および委譲範囲確認モジュール431を備えていない。図10(B)は本実施形態に係る、プリントサービス600のモジュール構成を示す図である。プリントサービス600は第2の委譲範囲検証モジュール621を備える。これに対し、本実施形態のプリントサービス600は、第一実施形態の図4(C)にて示した委譲範囲検証モジュール613を備えていないものとする。
【0060】
[アクセストークン発行処理]
図11は本実施形態に係る、アクセストークン発行要求を受けた認証サービス400のフローを示す図である。なお本処理は、本実施形態において、認証サービス400が実現される装置が有するCPUが記憶部であるROM等に格納されたプログラムを実行することにより、実現される。なお、図7と同様のフローにおいては、同じ符号を付与しており、以下、差異部分のみ説明する。なお、本実施形態においてアクセストークンと記載する場合は、特に明記しない限りは第2のアクセストークン発行モジュール441が発行する第2のアクセストークンを意味する。
【0061】
S1303で、権限委譲モジュール411は、S1302で権限委譲を許可された委譲許可識別子が記憶されていたか否かを判定し、記憶されていれば(S1303にてYES)、S2301に遷移する。また記憶されていなければ(S1303にてNO)、S1350に遷移する。ここで、委譲許可識別子が記憶されている場合には、委譲者によって少なくとも一部の権限委譲が許可されていることを意味する。
【0062】
S2301で第2のアクセストークン発行モジュール441は、S1301で受信した委譲許可識別子を用い、委譲範囲管理モジュール415から委譲を許可された権限の一覧を取得する。S2302で第2のアクセストークン発行モジュール441は、S2301で取得した権限の一覧を含む第2のアクセストークンを発行する。そして、委譲範囲管理モジュール415は、発行された第2のアクセストークンに対応する権限一覧の情報を削除する。S2303で第2のアクセストークン発行モジュール441は、S2302で発行した第2のアクセストークンを文書管理サービス500に送信し、フローを終了する。
【0063】
[プリントサービス処理]
図12は本実施形態に係る、処理依頼を受けたプリントサービス600によるプリントサービス処理のフローを示す図である。なお本処理は、本実施形態において、プリントサービス600が実現される装置が有するCPUが記憶部であるROM等に格納されたプログラムを実行することにより、実現される。なお、図9と同様のフローにおいては、同じ符号を付与しており、以下、差異部分のみ説明する。
【0064】
S1503でアクセストークン検証モジュール612は、S1502でアクセストークンが正当であったか否かを判定し、正当であれば(S1503にてYES)、S2501に遷移する。また正当でなければ(S1503にてNO)、S1550に遷移する。S2501で、第2の委譲範囲検証モジュール621は、S1501で受信した第2のアクセストークンに含まれる、委譲を許可された権限の一覧を取得し、S1506に遷移する。
【0065】
なお、第一実施形態の図9に示した処理では、S1508にて権限一覧の削除依頼を行っているが、本実施形態では、認証サービス400にてアクセストークンの発行・送信後に削除されるため、この処理は行われない。
【0066】
以上のように、第二実施形態では、権限委譲の際に文書管理サービス500に送信されるアクセストークン(本実施形態では、第2のアクセストークン)に委譲された権限一覧を含めて発行する。
【0067】
なお、上記構成により、プリントサービス600からの問い合わせ(図9のS1504に相当)が生じず、この問い合わせの処理のための記憶領域(権限一覧を保持するための領域)は必要とされない。
【0068】
第二実施形態によれば、第一実施形態の効果に加え、権限委譲サービスは、委譲者が委譲した権限を記憶・保持するための追加の記憶領域なしに、委譲する権限の範囲を指定した権限委譲が可能になる。
【0069】
<第三実施形態>
次に、本発明を実施するための第三実施形態について図面を用いて説明する。第三実施形態においては、ユーザが処理を依頼する場合に、ユーザが有する権限ではその処理が実行できないことが想定される。その場合において、本実施形態では、ユーザが有する権限にて実行できる範囲の処理を提示し、その提示した処理の中から選択された処理に基づいて権限の委譲を行う。
【0070】
[モジュール構成]
図13は本実施形態に係る各モジュールの構成を示した図である。まず、図4に示した第一実施形態における各モジュールとの構成の差分を述べる。
【0071】
図13(A)は本実施形態に係る、認証サービス400のモジュール構成を示す図である。認証サービス400は第2の権限委譲モジュール451と第2の委譲確認モジュール452を備える。これに対し、本実施形態の認証サービス400は、第一実施形態の図4(A)にて示した委譲確認モジュール412を備えていない。
【0072】
図13(B)は本実施形態に係る、文書管理サービス500のモジュール構成を示す図である。文書管理サービス500は必要権限確認モジュール521と第2の権限委譲要求モジュール522を備える。これに対し、本実施形態の文書管理サービス500は、第一実施形態の図4(B)にて示した権限委譲要求モジュール512を備えていない。
【0073】
図13(C)は本実施形態に係る、プリントサービス600のモジュール構成を示す図である。プリントサービス600は必要権限判断モジュール631と代替権限判断モジュール632を備える。
【0074】
[文書管理サービス処理]
図14は本実施形態に係る、文書管理サービス500による文書管理サービス処理のフローを示す図である。なお本処理は、本実施形態において、文書管理サービス500が実現される装置が有するCPUが記憶部であるROM等に格納されたプログラムを実行することにより、実現される。なお、図5と同様のフローにおいては、同じ符号を付与しており、以下、差異部分のみ説明する。
【0075】
S1101で、ユーザ要求受信モジュール511は委譲者の指示によりクライアントPC110から、文書管理サービス500内の文書を指定したプリント実行の要求を受け付ける。S3101で必要権限確認モジュール521は、S1101で受信した処理内容をプリントサービス600に通知し、プリントサービス600から処理に必要な権限の情報を取得する。このプリントサービス600に対する処理を実行するための権限の確認依頼に対し、例えば、権限一覧に相当する情報を取得しても構わない。なお、プリントサービス600が提供する各種処理に必要な権限の情報は、予めプリントサービス600が保持しているものとする。S3102で第2の権限委譲要求モジュール522は、S3101で受信した必要な権限の情報とあわせて、認証サービス400に権限委譲を要求し、S1103に遷移する。
【0076】
[権限委譲確認処理]
図15は本実施形態に係る、権限委譲要求を受けた認証サービス400による権限委譲確認処理のフローを示す図である。なお本処理は、本実施形態において、認証サービス400が実現される装置が有するCPUが記憶部であるROM等に格納されたプログラムを実行することにより、実現される。なお、図6と同様のフローにおいては、同じ符号を付与しており、以下、差異部分のみ説明する。
【0077】
S1201で、第2の権限委譲モジュール451は、文書管理サービス500からの権限委譲要求を受け付ける。このとき、文書管理サービス500がプリントサービスから取得した権限の情報も併せて取得する(図14のS3102に対応)。S3201で、第2の権限委譲モジュール451は、文書管理サービス500が委譲を求める権限を、S3201で受信した権限委譲要求から取り出す。S1202で、権限一覧取得モジュール414は、プリントサービス600に対する委譲者の権限一覧を取得し、S3202に遷移する。S3202で、第2の委譲確認モジュール452は、S1202で取得した委譲者の権限一覧と、S3201で取り出した権限の情報とを、委譲者が操作するクライアントPC110に提示する。本実施形態において、Webブラウザを介したUIを提供する。ここで委譲者がどの権限を文書管理サービス500に委譲するかを確認し、S1204に遷移する。
【0078】
[プリントサービス処理]
図16は本実施形態に係る、必要権限の確認を受けたプリントサービス600によるプリントサービス処理のフローを示す図である。なお本処理は、本実施形態において、プリントサービス600が実現される装置が有するCPUが記憶部であるROM等に格納されたプログラムを実行することにより、実現される。また、本処理は、図14のS3101にて文書管理サービス500からの問い合わせに対応して実行される。
【0079】
S3601で、必要権限判断モジュール631は、文書管理サービス500から処理に必要な権限の問い合わせを受信する。S3602で、必要権限判断モジュール631は、S3601で受信した処理内容から、その処理に必要な権限を判断する。S3603で、必要権限判断モジュール631は、S3601で受信した処理を依頼した委譲者の権限の情報を認証サービス400から取得する。このとき、認証サービス400は、第一実施形態にて述べた図8の処理を実行する。これにより、権限取得手段を実現する。
【0080】
S3604で、必要権限判断モジュール631は、S3603で取得した委譲者の権限の情報と処理に必要な権限とを比較することにより、S3602で判断した必要権限に対して充足しているか否かを判定する。判定の結果、権限が充足していれば(S3604にてYES)、S3605に遷移する。また処理に必要な権限が不足していて充足していなければ、(S3604にてNO)、S3610に遷移する。例えばここで、必要な権限はカラー印刷権限であったが、委譲者が有する権限にはカラー印刷権限がなかった場合、処理に対する権限不足と判定され、S3610に遷移する。
【0081】
S3605で、必要権限判断モジュール631は、S3602で判断した必要権限を文書管理サービス500に送信し、フローを終了する。S3610で代替権限判断モジュール632は、S3603で取得した委譲者の権限のうち、S3602で判断された必要権限の代替となる権限を判定する。例えばここで、処理に必要な権限はカラー印刷権限であったとする。それに対し委譲者は、カラー印刷権限は有さないが、モノクロ印刷権限は有しているとする。そこでS3602では、代替の権限としてモノクロ印刷権限を取り上げる。そして、代替となると判定された権限を文書管理サービス500に送信し、フローを終了する。
【0082】
なお、文書管理サービス500は、プリントサービス600にて送信された代替となる権限を図14に示すS3102にて受信し、その結果に応じて権限委譲を要求する。
【0083】
本実施形態によれば、委譲者は、権限利用サービスが要求する権限を考慮した上で権限委譲することが可能になる。また処理を要求する委譲者の権限が不足している場合に、代替となる権限を委譲者に提示することで、委譲者が望むのに近い結果を得られる権限の委譲が可能になる。
【0084】
<その他の実施形態>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

【特許請求の範囲】
【請求項1】
認証装置を備え、ユーザが有する権限を、当該権限に応じて処理を実行する第一の装置に対して処理を依頼する第二の装置に委譲する権限委譲システムであって、
前記認証装置は、
前記第二の装置から権限委譲要求を受け付ける受付手段と、
当該ユーザが有する権限の情報を記憶部から取得する取得手段と、
前記取得手段にて取得した権限の情報を前記ユーザに提示し、当該ユーザが有する権限のうちいずれの権限を前記第二の装置に委譲するか否かの指示を受け付ける確認手段と、
前記確認手段により、前記第二の装置に権限を委譲するとの指示を受け付けた場合、前記指示を一意に識別する識別子と前記ユーザが委譲すると指示した権限とを対応付けて記憶する記憶手段と、
前記ユーザからの前記指示に基づいた、権限の委譲を示す認証情報を前記第二の装置へ送信する送信手段と
を備え、
前記第一の装置は、
前記第二の装置から処理依頼と前記認証情報とを受け付ける依頼受信手段と、
前記認証情報を用いて、前記第二の装置がユーザからいずれの権限を委譲されたかを検証する検証手段と、
前記検証手段による検証の結果、前記第二の装置が当該処理依頼に基づく処理を実行するための権限を委譲されていた場合、当該処理依頼に基づく処理を実行する実行手段と、
を備えることを特徴とする権限委譲システム。
【請求項2】
前記認証装置は、前記認証情報としてアクセストークンを発行する発行手段を更に備え、
前記第一の装置の検証手段は、前記アクセストークンを用いて、前記第二の装置がユーザからいずれの権限を委譲されたかを検証することを特徴とする請求項1に記載の権限委譲システム。
【請求項3】
前記認証装置の発行手段は、前記記憶手段にて記憶した前記識別子を含めてアクセストークンを発行し、
前記第一の装置の検証手段は、当該アクセストークンに含まれる識別子を用いて、前記認証装置に問い合わせ、前記第二の装置がユーザからいずれの権限を委譲されたかを検証する
ことを特徴とする請求項2に記載の権限委譲システム。
【請求項4】
前記認証装置の発行手段は、前記記憶手段にて記憶したユーザが委譲すると指示した権限の情報を含めてアクセストークンを発行し、
前記第一の装置の検証手段は、当該アクセストークンに含まれる権限の情報を用いて、前記第二の装置がユーザからいずれの権限を委譲されたかを検証する
ことを特徴とする請求項2に記載の権限委譲システム。
【請求項5】
前記第一の装置は、
前記第二の装置から受け付けた処理依頼に基づく処理を実行するために必要な権限の確認依頼に対し、当該第一の装置が当該処理依頼に基づく処理を実行するために必要な権限を判断する権限判断手段と、
前記認証装置から当該ユーザが有する権限の情報を取得する権限取得手段と、
前記権限判断手段により判断された当該処理依頼に基づく処理を実行するために必要な権限と、前記権限取得手段により取得された権限の情報に基づく当該ユーザが有する権限とを比較する比較手段と、
当該処理依頼に基づく処理に必要な権限を提示する提示手段と
を更に有し、
前記提示手段は、
前記比較手段により、当該第一の装置が前記処理依頼に基づく処理を実行するために必要な権限が、前記ユーザが有する権限に含まれない場合、当該処理依頼に基づく処理の代替となりうる処理、および当該代替となりうる処理を実行するために必要な権限を提示し、
前記比較手段により、当該第一の装置が前記処理依頼に基づく処理を実行するために必要な権限が、前記ユーザが有する権限に含まれる場合、当該処理依頼に基づく処理を実行するために必要な権限を提示する
ことを特徴とする請求項1乃至4のいずれか一項に記載の権限委譲システム。
【請求項6】
ユーザが有する権限を、当該権限に応じて処理を実行する第一の装置に対して処理を依頼する第二の装置に委譲する権限委譲システムに含まれる認証装置であって、
前記第二の装置から権限委譲要求を受け付ける受付手段と、
当該ユーザが有する権限の情報を記憶部から取得する取得手段と、
前記取得手段にて取得した権限の情報を前記ユーザに提示し、当該ユーザが有する権限のうちいずれの権限を前記第二の装置に委譲するか否かの指示を受け付ける確認手段と、
前記確認手段により、前記第二の装置に権限を委譲するとの指示を受け付けた場合、前記指示を一意に識別する識別子と前記ユーザが委譲すると指示した権限とを対応付けて記憶する記憶手段と、
前記ユーザからの前記指示に基づいた、権限の委譲を示す認証情報を前記第二の装置へ送信する送信手段と
を備えることを特徴とする認証装置。
【請求項7】
認証装置を備え、ユーザが権限を、当該権限に応じて処理を実行する第一の装置に対して処理を依頼する第二の装置に委譲する権限委譲システムにおける第一の装置としての情報処理装置であって、
前記第二の装置から、処理依頼と前記認証装置が発行した認証情報とを受け付ける依頼受信手段と、
前記認証情報を用いて、前記第二の装置がユーザからいずれの権限を委譲されたかを検証する検証手段と、
前記検証手段による検証の結果、前記第二の装置が当該処理依頼に基づく処理を実行するための権限を委譲されていた場合、当該処理依頼に基づく処理を実行する実行手段と、
を備えることを特徴とする情報処理装置。
【請求項8】
認証装置を備え、ユーザが有する権限を、当該権限に応じて処理を実行する第一の装置に対して処理を依頼する第二の装置に委譲する権限委譲システムにおける権限委譲方法であって、
前記認証装置において、
受付手段が、前記第二の装置から権限委譲要求を受け付ける受付工程と、
取得手段が、当該ユーザが有する権限の情報を記憶部から取得する取得工程と、
確認手段が、前記取得工程にて取得した権限の情報を前記ユーザに提示し、当該ユーザが有する権限のうちいずれの権限を前記第二の装置に委譲するか否かの指示を受け付ける確認工程と、
記憶手段が、前記確認工程において、前記第二の装置に権限を委譲するとの指示を受け付けた場合、前記指示を一意に識別する識別子と前記ユーザが委譲すると指示した権限とを対応付けて記憶部に記憶させる記憶工程と、
送信手段が、前記ユーザからの前記指示に基づいた、権限の委譲を示す認証情報を前記第二の装置へ送信する送信工程と
を有し、
前記第一の装置において、
依頼受信手段が、前記第二の装置から処理依頼と前記認証情報とを受け付ける依頼受信工程と、
検証手段が、前記認証情報を用いて、前記第二の装置がユーザからいずれの権限を委譲されたかを検証する検証工程と、
実行手段が、前記検証工程における検証の結果、前記第二の装置が当該処理依頼に基づく処理を実行するための権限を委譲されていた場合、当該処理依頼に基づく処理を実行する実行工程と、
を有することを特徴とする権限委譲方法。
【請求項9】
ユーザが有する権限を、当該権限に応じて処理を実行する第一の装置に対して処理を依頼する第二の装置に委譲する権限委譲システムに含まれる認証装置の制御方法であって、
受付手段が、前記第二の装置から権限委譲要求を受け付ける受付工程と、
取得手段が、当該ユーザが有する権限の情報を記憶部から取得する取得工程と、
確認手段が、前記取得工程にて取得した権限の情報を前記ユーザに提示し、当該ユーザが有する権限のうちいずれの権限を前記第二の装置に委譲するか否かの指示を受け付ける確認工程と、
記憶手段が、前記確認工程において、前記第二の装置に権限を委譲するとの指示を受け付けた場合、前記指示を一意に識別する識別子と前記ユーザが委譲すると指示した権限とを対応付けて記憶部に記憶させる記憶工程と、
送信手段が、前記ユーザからの前記指示に基づいた、権限の委譲を示す認証情報を前記第二の装置へ送信する送信工程と
を有することを特徴とする制御方法。
【請求項10】
認証装置を備え、ユーザが有する権限を、当該権限に応じて処理を実行する第一の装置に対して処理を依頼する第二の装置に委譲する権限委譲システムにおける第一の装置の制御方法であって、
依頼受信手段が、前記第二の装置から処理依頼と前記認証装置が発行した認証情報とを受け付ける依頼受信工程と、
検証手段が、前記認証情報を用いて、前記第二の装置がユーザからいずれの権限を委譲されたかを検証する検証工程と、
実行手段が、前記検証工程における検証の結果、前記第二の装置が当該処理依頼に基づく処理を実行するための権限を委譲されていた場合、当該処理依頼に基づく処理を実行する実行工程と、
を有することを特徴とする制御方法。
【請求項11】
コンピュータを、
情報処理装置から権限委譲要求を受け付ける受付手段、
ユーザが有する権限の情報を記憶部から取得する取得手段、
前記取得手段にて取得した権限の情報を前記ユーザに提示し、当該ユーザが有する権限のうちいずれの権限を前記情報処理装置に委譲するか否かの指示を受け付ける確認手段、
前記確認手段により、前記情報処理装置に権限を委譲するとの指示を受け付けた場合、前記指示を一意に識別する識別子と前記ユーザが委譲すると指示した権限とを対応付けて記憶する記憶手段、
前記ユーザからの前記指示に基づいた、権限の委譲を示す認証情報を前記情報処理装置へ送信する送信手段
として機能させるためのプログラム。
【請求項12】
コンピュータを、
情報処理装置から処理依頼と認証装置が発行した認証情報とを受け付ける依頼受信手段、
前記認証情報を用いて、前記情報処理装置がユーザからいずれの権限を委譲されたかを検証する検証手段、
前記検証手段による検証の結果、前記情報処理装置が当該処理依頼に基づく処理を実行するための権限を委譲されていた場合、当該処理依頼に基づく処理を実行する実行手段、
として機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate