以下に、図面を参照して、本発明の好適な実施の形態について説明する。
[第1の実施形態]
まず、本発明の第1の実施形態における情報処理装置として、SOA(サービス指向アーキテクチャ)モデルを実現するWebサービスを実装するコンピュータの機能モデルについて説明する。図16は、第1の実施形態における情報処理装置170の機能モデル例を示すモデル図である。
図16において、エントランス部171は、情報処理装置170が提供するサービスに対するリクエストを例えばクライアント(端末)から受信する。エントランス部171は、受信したリクエスト先のサービス名称、認証関連情報を、調停処理部172に対し通知する。調停処理部172は、マッピングテーブル173を参照して、リクエストされたサービスに対する認証、権限処理サービスに関する情報(以下、サービス対応認証情報とする)を取得する。調停処理部172は、取得したサービス対応認証情報に基づき、エントランス部171より受信した認証情報を対応する認証・権限処理サービス部174に通知する。
認証・権限処理サービス部174は、調停処理部172から通知された認証情報を基に認証処理を実施する。また、さらに認証・権限処理サービス部174は、権限情報テーブル175を参照し、必要に応じて、その権限情報テーブル175に記述された権限付与・アクセス制限情報に基づき、リクエストの内容を改編する。認証・権限処理サービス部174における認証、権限処理の結果は、調停処理部172に返信される。
調停処理部172は、その処理結果に基づきサービス実行の可否、あるいはアクセス制限情報をエントランス部171に通知する。エントランス部171は、調停処理部172から返信された結果に基づき、リクエストされたサービスをサービス部176に対してコールするか、あるいはリクエスト発行元であるクライアントに対し、サービス実行が拒否された旨を通知する。
以上に説明したように、本実施形態の情報処理装置170は、認証・権限処理のための制御の流れをサービス提供処理の流れと独立して設けることにより、サービスと、そのサービスに対する認証、権限処理サービスの疎結合を実現するものである。また、サービスをコールする際、そのリクエストの内容は予め認証・権限処理サービス部174によって、そのリクエストの発行元に付与された権限、アクセス制限に基づき改編されており、あくまで受信したリクエストを実行するだけで、権限付与、アクセス制限が施された処理を実施することが可能となり、サービスの実施に対する、権限付与、アクセス制限サービスの疎結合を実現する。
上述した情報処理装置170は、調停処理部172と、サービス部176と、そのサービス部176が提供するサービスに対する認証、権限処理を実施するために、サービスに対応する認証・権限処理サービスに関する情報の情報テーブル(マッピングテーブル173)を導入した点が特徴である。また、情報処理装置170において、権限付与、アクセス制限の処理に関しては、該処理を実施する認証・権限処理サービス部174が、権限付与、アクセス制限に関する情報テーブル(権限情報テーブル175)を参照して、該情報テーブルに記述された権限付与・アクセス制限情報に従ってクライアントからのリクエストを改編する機能を導入した点が特徴である。
従って、上述した特徴を有する情報処理装置170においては、マッピングテーブル173の記述内容を変更することで、同一のサービスに対し、他の種類の認証・権限サービスへの対応付けを実施することが可能である。また、情報処理装置170においては、複数のサービスを組み合わせにより機能する新規サービスがサービス部176に追加されたとしても、マッピングテーブル173において、この新規サービスに対し、新たに認証・権限サービスを対応付けることなどが可能とである。また、情報処理装置170においては、権限情報テーブル175の記述内容を変更することで、同一のサービスに対しリクエストを実施した同一のリクエスタに対し、ユースケースに応じて異なる権限付与、アクセス制限を実施することが可能となり、柔軟にサービス指向アーキテクチャにおけるセキュリティ要件に対応することが可能である。
[第2の実施形態]
次に、上述した第1の実施形態における情報処理装置170の特徴的な処理を、複合機において実現した場合の第2の実施形態について説明する。すなわち、本発明の第2の実施形態における情報処理装置として印刷機能や複写機能を有する複合機を例に説明する。具体的には、ネットワークに接続された複合機(ネットワーク対応型複合機)を含むネットワーク画像処理システムについて説明する。
図17は、本発明の第2の実施形態であるネットワーク対応型複合機M1を含むネットワーク画像処理システムの概略構成を示す図である。図17において、M1は、複合機(MFP)であり、ネットワークN1を介して接続可能なコンピュータ端末(端末C1及び端末C2)へ印刷サービス、スキャンサービス、ストレージサービス、FAXサービスなどを提供するネットワーク対応型複合機である。C1、C2、…は、コンピュータ端末であり、ネットワークN1を介して複合機M1の提供する上記サービスを利用することができる。
本実施形態における複合機M1は、構造化言語であるXML(eXtensible Markup Language)を用いてユーザ認証、アクセス制限等のセキュリティ処理を行う機能を有する。また、複合機M1は、サービス指向アーキテクチャによりWebサービスを実現している。また、複合機M1のハードウェア構成は、例えば通信装置100、CPU(中央処理装置)101、メモリ102、HDD(ハード ディスク ドライブ)103、プリンタ104、スキャナ105、及び画像処理装置106などから構成されている。通信装置100は、ネットワークN1を介して端末C1、C2、…などと通信を行う。CPU101は、複合機M1における種々の機能を実現するためのプログラムを実行するコンピュータである。具体的には、CPU101は、HDD103から種々の機能を実現するためのプログラム(アプリケーションプログラム等)を読み出し、メモリ102をワーク領域として、読み出したプログラムを実行する。
次に、本実施形態における複合機M1が有する機能構成について説明する。
図1は、本実施形態における複合機M1が有する機能構成を示すブロック図である。
複合機M1は、通信機能としてTCP/IP/UDPプロトコルをスタックするプロトコルスタック処理部1を備え、その上位層にSOAP(Simple Object Access Protocol)処理部2を備え、その上位層に調停サービス部3、マッピングスクリプト処理部4、認証・権限サービスA・7、認証サービスB・8、権限サービスB・9、権限スクリプト処理部15、プリントサービス10、スキャンサービス11、ストレージサービス12、及びFAXサービス13を備え、ネットワークN1を介して、クライアントPC・17に対し、これらサービスを提供する。
また、14は、認証・権限サービスCであり、認証・権限サービス機能を実現する論理ユニットを、ネットワークN1を介して独立させた形態であり、例えばPCによるサーバ上に独立して実装される論理ユニットである。尚、本実施形態では、認証・権限サービスC・14を複合機M1の外部に設けたが、認証・権限サービスAなどと同様に、認証・権限サービスC・14を、SOAP処理部2の上位層に設けてもよい。17は、複合機M1のサービスを利用するクライアントPCであり、18は、複合機M1の設定等を行う管理端末PCである。ネットワークN1は、例えばLAN(Local Area Network)などの通信網である。
複合機M1に対しては、外部デバイス(例えば、管理端末PC・18)から、上記サービスの一部又は全ての機能の停止、サービスの削除、サービスの再インストール、新規サービスのインストールが可能である。この場合、新規サービスとは、例えば既にインストール済みの複数のサービスを組みあわせにより、新規機能を提供するサービスを含む。
SOAP処理部2は、受信したSOAPエンベロープを調停サービス部3に対し送信し、調停サービス部3から返信される処理結果に基づき、SOAPレスポンスを生成し、リクエストを発行したクライアントPC・17に対し返信する機能を有する。また、SOAP処理部2は、調停サービス部3から返信される処理結果に基づき、該当するサービスに対しSOAPボディの記述内容を送信し、該当サービスから通知される処理結果に基づきSOAPレスポンスを生成し、リクエストを発行したクライアントPC・17に対し返信する機能を有する。
調停サービス部3は、SOAP処理部2より送信されたSOAPヘッダ部の記述内容を解析し、実行要求されたサービスに関する情報を取得する機能を有する。また、調停サービス部3は、マッピングスクリプト処理部4を介して、メモリ装置制御部5が管理するメモリ上に登録されたマッピングスクリプト6より、要求されたサービスに対応する認証・権限サービスに関する情報(サービス対応認証情報)を取得する機能を有する。また、調停サービス部3は、マッピングスクリプト6より取得したサービス対応認証情報に基づき特定される認証・権限サービスに対して、SOAPヘッダに記述された認証情報を送信する機能を有する。また、調停サービス部3は、認証・権限サービスから通知される処理結果に基づきレスポンスを生成し、SOAP処理部2に対し通知する機能を有する。
図1に示すように、複合機M1は、認証、権限付与機能を実現するサービスである認証・権限サービスとして、認証・権限サービスA・7、認証サービスB・8、権限サービスB・9が組み込まれている。これらの各認証・権限サービスは、調停サービス部3より送信された認証情報を処理し、その処理結果を調停サービス部3に対し返信する機能を有する。また、これらの各認証・権限サービスのうち、権限付与機能を備えた認証・権限サービスA・7、権限サービスB・9は、権限スクリプト処理部15を介して、メモリ装置制御部5が管理するメモリ上に登録された権限スクリプト16より、要求されたサービスに対するアクセス権限に関する情報を取得する機能を有する。
また、権限スクリプト処理部15は、権限スクリプト16の登録、削除、および権限スクリプト16の有効化指定機能を有する。また、権限スクリプト処理部15は、認証・権限サービスA・7、および権限サービスB・9からSOAPボディに記述されたサービス実行要求情報を受け取り、権限スクリプト16より取得したアクセス制限情報に基づきレスポンス(実行要求情報)を改編する機能を有する。権限スクリプト処理部15が改編したレスポンスは、認証・権限サービスA・7、および権限サービスB・9が受け取り、調停サービス部3に対し通知する。尚、本実施形態においては、権限スクリプト処理部15がレスポンス(実行要求情報)を改編する処理を行うが、この限りではなく、認証・権限サービスA・7、および権限サービスB・9などの認証・権限サービスがレスポンス(実行要求情報)を改編する処理を行ってもよい。
図1に示すように、複合機M1は、サービスを提供する機能としてプリントサービス10、スキャンサービス11、ストレージサービス12、FAXサービス13を実装する。これらサービスは、XML−SOAPに対応したWebサービスであり、これらサービスは管理者により管理された外部デバイス(管理端末PC・18)よりネットワークN1を介してアクセスすることで、サービスの一部又は全ての機能の停止、再開、削除、再インストールが可能であり、また、同様に新規サービスの追加、開始、停止、削除が可能である。
調停サービス部3の下位層となるマッピングスクリプト処理部4は、メモリ装置制御部5を介してメモリへアクセスする機能を有する。メモリ装置制御部5は、マッピングスクリプト処理部4からの制御に応じて、サービス及びそのサービスに対する認証・権限サービスに関する情報(サービス対応認証情報)や、処理手順が記述されたマッピングスクリプト6を格納するメモリへのデータの書込み及び読み出しを制御する。
また、上記マッピングスクリプト6は、管理者により管理された外部デバイス(管理端末PC・18)より削除、再インストール、更新処理が可能である。これにより、該マッピングスクリプト6の記述内容に従って、同一のサービスに対し、他の認証・権限サービスへの対応付けを実施することができる。また、複数のサービスを組み合わせにより機能する新規サービスに対し、新たに認証・権限サービスを対応付けるなど、柔軟にセキュリティ要件に対応することが可能である。
認証・権限サービスA・7、および権限サービスB・9の下位層となる権限スクリプト処理部15は、メモリ装置制御部5を介してメモリへアクセスする機能を有する。メモリ装置制御部5は、認証・権限サービスA・7、および権限サービスB・9からの制御に応じて、権限付与、アクセス制限に関する情報(権限付与・アクセス制限情報)、および処理手順が記述された権限スクリプト16を格納するメモリへのデータの書込み及び読み出しを制御する。
本実施形態では、複合機M1上で稼動状態にあるサービスに対応づけられた認証・権限サービスに関する情報(サービス対応認証情報)が記載されたマッピングスクリプト6、および権限付与・アクセス制限情報が記載された権限スクリプト16を、複合機M1のメモリに対して予め登録しておく。
尚、この登録処理を実行せずに、複合機M1のメモリ上に該マッピングスクリプト6が存在しない場合、本実施例の場合、複合機M1上で稼動中のサービスのいずれも実行することはできない。同様に、複合機M1のメモリ上に該権限スクリプト16が存在しない場合、この権限スクリプト16を参照する権限付与サービスに対応付けられたサービスを実行することはできない。
マッピングスクリプト6は、システムの管理者が複合機M1に対し、ネットワークを介して登録処理を実施することで、メモリ装置制御部5が制御するメモリ上に格納される。システム管理者は、システム管理者により管理された管理端末PC・18から、複合機M1に実装された各サービスに対応づけられた認証・権限サービスを記述したマッピングスクリプト6を複合機M1に対して送信する。
本実施形態においては、マッピングスクリプト6の登録、削除に関して以下に示すXML−SOAP RPC(Remote Procedure Call)を備える。これにより、マッピングスクリプト処理部4は、マッピングスクリプト6の登録、削除、およびマッピングスクリプト6の有効化指定機能を実現する。以下に、登録や削除を行うSOAP関数について説明する。
UploadScript(scriptName、account、password)とは、マッピングスクリプト6を複合機M1に対し送信、登録するためのSOAP関数である。本実施形態の複合機M1においてマッピングスクリプト6は複数登録することが可能であるため、scriptNameはその識別情報として使用する。本実施形態の複合機M1においては、32文字までのASCII文字列が使用可能である。尚、account(アカウント)とpassword(パスワード)は、いずれも32文字までのASCII文字列が使用されている。これら情報は、本実施形態においては予め複合機M1に対し登録済みであり、その情報はメモリ装置制御部5が管理するメモリ上に記録されており、システム管理者のみが知りうる情報である。XMLデータであるマッピングスクリプト6は、該SOAP関数を記述するSOAPエンベロープの添付ファイルの形式で送信される。
DeleteScript(scriptName、account、password)とは、複合機M1に登録済みのマッピングスクリプト6を削除するためのSOAP関数である。account,password情報を知りうるシステム管理者のみが、複合機M1のメモリ上に登録されたマッピングスクリプト6を削除することができる。本実施形態においては、複数のマッピングスクリプト6が登録可能であるためscriptNameにより、削除対象となるマッピングスクリプト6を指定する。
EnableScript(scriptName、account、password)とは、複合機M1に登録された複数のマッピングスクリプト6に対し、scriptNameで指定したマッピングスクリプト6を有効とするためのSOAP関数である。この関数も、account,password情報を知りうるシステム管理者のみが、複合機M1のメモリ上に登録されたマッピングスクリプト6を指定し、有効とすることができる。
次に、図面を用いてマッピングスクリプト6の登録処理について説明する。
図2は、本実施形態の複合機M1におけるマッピングスクリプト6の登録処理を示すフローチャートである。尚、図2の処理の前提として、外部デバイスである管理端末PC・18は、SOAPリクエストおよびマッピングスクリプト6を、マッピングスクリプト処理部4を備えた複合機M1に対し送信する。
図2に示すように、まず、調停サービス部3を構成するマッピングスクリプト処理部4は、SOAP処理部2を介してSOAPリクエストであるUploadScriptを受信したか否かを判断する(step1)。ここで、SOAPリクエストであるUploadScriptを受信したと判断した場合には、マッピングスクリプト処理部4は、引数であるaccountとpasswordの内容を確認するため、メモリ装置制御部5を介してメモリ上に記録されている情報(以下、アカウント情報とする)と一致するか否かを判断する(step2)。
アカウント情報が一致しないと判断した場合には(step3)、マッピングスクリプト処理部4は、SOAP処理部2を介してエラーレスポンスメッセージを返信する(step4)。アカウント情報が一致すると判断した場合には、マッピングスクリプト処理部4は、既に同一scriptNameを持つマッピングスクリプト6が登録済みであるか否かを判断する(step5)。
step5において既に登録済みであると判断した場合には(step6)、マッピン
グスクリプト処理部4は、SOAP処理部2を介してエラーレスポンスメッセージを返信し(step4)、図2のstep1に戻る。尚、この場合には、管理者は既に登録済みとなっているマッピングスクリプト6に対してDeleteScriptリクエストを使ってそれを削除しない限り、同一のscriptNameを持つマッピングスクリプトを登録する事はできない。
登録済みのマッピングスクリプトが存在しないと判断した場合には、マッピングスクリプト処理部4は、該リクエストの添付ファイルの形式で送信されたマッピングスクリプトを、メモリ装置制御部5を介してメモリ上に記録する(step7)。
また、step1においてSOAPリクエストであるUploadScriptを受信していないと判断した場合には、マッピングスクリプト処理部4は、SOAP処理部2を介してSOAPリクエストであるDeleteScriptを受信したか否かを判断するstep8。ここで、SOAPリクエストであるDeleteScriptを受信したと判断した場合には、マッピングスクリプト処理部4は、引数であるaccountとpasswordの内容を確認するため、メモリ装置制御部5を介してメモリ上に記録されている情報(アカウント情報)と一致するか否かを判断する(step9)。
ステップS28において、アカウント情報が一致しないと判断した場合には(step10)、マッピングスクリプト処理部4は、SOAP処理部2を介してエラーレスポンスメッセージを返信する(step11)。また、アカウント情報が一致すると判断した場合には、マッピングスクリプト処理部4は、既に同一scriptNameを持つマッピングスクリプトが登録済みか否か判断する(step12)。
Step12において、指定されたscriptNameをもつマッピングスクリプト6がメモリ上に記録されていない場合(登録済みでない場合)には(step13)、マッピングスクリプト処理部4は、SOAP処理部2を介してエラーレスポンスメッセージを返信する(step11)。また、指定されたscriptNameをもつマッピングスクリプト6がメモリ上に記録されている場合(登録済みである場合)には、マッピングスクリプト処理部4は、メモリ装置制御部5を介してメモリ上に記録されたマッピングスクリプトを削除する(step14)。
また、step8においてSOAPリクエストであるDeleteScriptを受信していないと判断した場合には、マッピングスクリプト処理部4は、SOAP処理部2を介してSOAPリクエストであるEnableScriptを受信したか否かを判断する(step15)。ここで、SOAPリクエストであるEnableScriptを受信したと判断した場合には、マッピングスクリプト処理部4は、引数であるaccountとpasswordの内容を確認するため、メモリ装置制御部5を介してメモリ上に記録されている情報(アカウント情報)と一致するか否かを判断する(step16)。
step16において、アカウント情報が一致しないと判断した場合(step17)には、マッピングスクリプト処理部4は、SOAP処理部2を介してエラーレスポンスメッセージを返信する(step18)。また、アカウント情報が一致すると判断した場合には、マッピングスクリプト処理部4は、指定されたscriptNameを持つマッピングスクリプトが登録済みか否か判断する(step19)。
step19において、指定されたscriptNameをもつマッピングスクリプトがメモリ上に記録されていない場合(登録済みでない場合)には(step20)、マッピングスクリプト処理部4は、SOAP処理部2を介してエラーレスポンスメッセージを返信する(step18)。また、指定されたscriptNameをもつマッピングスクリプトがメモリ上に記録されている場合(登録済みである場合)には、マッピングスクリプト処理部4は、指定されたscriptNameを持つマッピングスクリプト6を有効とし(step21)、以降、調停サービス部3が該マッピングスクリプト6を参照する。
以上に示した処理により、外部デバイス(管理端末PC・18)から、複合機M1へのアプリケーション(サービス)に応じたマッピングスクリプトの登録処理、および有効化処理が完了する。システム管理者は必要、用途に応じて該当するアプリケーション(サービス)のマッピングスクリプトを登録、削除、有効化処理を繰り返し実行することが可能である。
同様に、権限スクリプト16は、システムの管理者が複合機M1に対し、ネットワークN1を介して登録処理を実施することで、メモリ装置制御部5が制御するメモリ上に格納される。システム管理者は、システム管理者により管理された管理端末PC・18から、複合機M1に実装された各権限付与サービスに対応づけられ、権限付与・アクセス制限情報が記述された権限スクリプト16を複合機M1に対し送信する。
本実施形態においては、権限スクリプト16の登録、削除に関して以下に示すXML−SOAP RPC(Remote Procedure Call)を備える。これにより、権限スクリプト処理部15は、権限スクリプト16の登録、削除、および権限スクリプト16の有効化指定機能を実現する。以下、SOAP関数について説明する。
UploadAuthScript(scriptName、authName、account、password)とは、権限スクリプト16を複合機M1に対し送信、登録するためのSOAP関数である。本実施形態において権限スクリプト16は複数登録することが可能であるため、scriptNameはその識別情報として使用する。本実施形態においては、32文字までのASCII文字列が使用可能である。また、authNameにより、該権限スクリプト16を参照する権限付与サービスを指定する。なお、accountとpasswordは、いずれも32文字までのASCII文字列が使用されている。これら情報は、本実施形態においては予め複合機M1に対し登録済みであり、その情報はメモリ装置制御部が管理するメモリ上に記録されており、システム管理者のみが知りうる情報である。XMLデータである権限スクリプト16は、該SOAP関数を記述するSOAPエンベロープの添付ファイルの形式で送信される。
DeleteAuthScript(scriptName、authName、account、password)とは、複合機M1に登録済みの権限スクリプト16を削除するためのSOAP関数である。account,password情報を知りうるシステム管理者のみが、複合機M1のメモリ上に登録された権限スクリプト16を削除する。本実施形態においては、複数の権限スクリプト16が登録可能であるためscriptName、およびauthNameにより、削除対象となる権限スクリプト16を指定する。
EnableAuthScript(scriptName、authName,account、password)とは、複合機M1に登録された複数の権限スクリプト16に対し、scriptName、およびauthNameで指定した権限スクリプト16を有効とするためのSOAP関数である。account,password情報を知りうるシステム管理者のみが、複合機M1のメモリ上に登録された権限スクリプト16を指定し、有効とすることができる。
次に、図面を用いて権限スクリプト16の登録処理について説明する。
図3は、本実施形態の複合機M1における権限スクリプト16の登録処理を示すフローチャートである。尚、図3の処理の前提として、外部デバイスである管理端末PC18は、SOAPリクエスト、および権限スクリプト16を、権限スクリプト処理部15を備えた複合機M1に対し送信する。
図3に示すように、まず、調停サービス部3を構成する権限スクリプト処理部15は、SOAP処理部2を介してSOAPリクエストであるUploadAuthScriptを受信したか否かを判断する(step1)。ここで、SOAPリクエストであるUploadAuthScriptを受信したと判断した場合には、権限スクリプト処理部15は、引数であるaccountとpasswordの内容を確認するため、メモリ装置制御部5を介してメモリ上に記録されている情報(以下、アカウント情報とする)と一致するか否かを判断する(step2)。
アカウント情報が一致しないと判断した場合には(step3)、権限スクリプト処理部15は、SOAP処理部2を介してエラーレスポンスメッセージを返信する(step4)。アカウント情報が一致すると判断した場合には、権限スクリプト処理部15は、既に同一scriptName、authNameを持つ権限スクリプト16が登録済みであるか否かを判断する(step5)。
既に登録済みであると判断した場合には(step6)、権限スクリプト処理部15は、SOAP処理部2を介してエラーレスポンスメッセージを返信し(step4)、図3のstep1に戻る。尚、この場合には、管理者は既に登録済みとなっている権限スクリプト16をDeleteAuthScriptリクエストを使って削除しない限り、同一のscriptName、およびauthNameを持つ権限スクリプト16を登録する事はできない。
登録済みの権限スクリプトが存在しないと判断した場合には、権限スクリプト処理部15はAuthNameで指定された権限付与サービスが複合機M1上で稼動状態にあるか否かを判断する(step7)。ここで、指定された権限付与サービスが複合機M1上で稼動状態にない場合(step8)、権限スクリプト処理部15は、SOAP処理部2を介してエラーレスポンスメッセージを返信し(step4)、図3のstep1に戻る。
また、指定された権限付与サービスがM1上で稼動状態にある場合、権限スクリプト処理部15は、該リクエストの添付ファイルの形式で送信された権限スクリプト16を、メモリ装置制御部5を介してメモリ上に記録する(step9)。
また、step1においてSOAPリクエストであるUploadAuthScriptを受信していない判断した場合には、権限スクリプト処理部15は、SOAP処理部2を介してSOAPリクエストであるDeleteAuthScriptを受信したか否かを判断する(step10)。ここで、SOAPリクエストであるDeleteAuthScriptを受信したと判断した場合には、権限スクリプト処理部15は、引数であるaccountとpasswordの内容を確認するため、メモリ装置制御部5を介してメモリ上に記録されている情報(アカウント情報)と一致するか否かを判断する(step11)。
アカウント情報が一致しないと判断した場合には(step12)、権限スクリプト処理部15は、SOAP処理部2を介してエラーレスポンスメッセージを返信する(step13)。また、アカウント情報が一致すると判断した場合には、権限スクリプト処理部15は、既に同一scriptName、authNameを持つ権限スクリプト16が登録済みか否か判断する(step14)。
step14において、指定されたscriptNameを持ち、さらに指定されたAuthNameに対応する権限スクリプト16がメモリ上に記録されていない場合(登録済みでない場合)には(step15)、権限スクリプト処理部15は、SOAP処理部2を介してエラーレスポンスメッセージを返信する(step13)。また、指定されたscriptNameを持ち、さらに指定されたAuthNameに対応する権限スクリプト16がメモリ上に記録されている場合(登録済みである場合)には、権限スクリプト処理部15は、メモリ装置制御部5を介してメモリ上に記録された権限スクリプト16を削除する(step16)。
また、step8においてSOAPリクエストであるDeleteAuthScriptを受信していないと判断した場合には、権限スクリプト処理部15は、SOAP処理部2を介してSOAPリクエストであるEnableAuthScriptを受信したか否かを判断する(step17)。ここで、SOAPリクエストであるEnableAuthScriptを受信したと判断した場合には、権限スクリプト処理部15は、引数であるaccountとpasswordの内容を確認するため、メモリ装置制御部5を介してメモリ上に記録されている情報(アカウント情報)と一致するか否かを判断する(step18)。
ここで、アカウント情報が一致しないと判断した場合(step19)には、権限スクリプト処理部15は、SOAP処理部2を介してエラーレスポンスメッセージを返信する(step20)。また、アカウント情報が一致すると判断した場合には、権限スクリプト処理部15は、指定されたscriptName、およびAuthNameを持つ権限スクリプト16が登録済みか否か判断する(step21)。
ここで、指定されたscriptName、およびAuthNameをもつ権限スクリプト16がメモリ上に記録されていない場合(登録済みでない場合)には(step22)、権限スクリプト処理部15は、SOAP処理部2を介してエラーレスポンスメッセージを返信する(step20)。
また、指定されたscriptName、およびAuthNameをもつ権限スクリプト16がメモリ上に記録されている場合(登録済みである場合)には、権限スクリプト処理部15は、指定されたscriptNameを持つ権限スクリプト16を有効とし(step23)、以降、各権限付与サービス(本実施形態では認証・権限サービスA・7及び権限サービスB・9)が該権限スクリプト16を参照する。
以上に示した処理により、外部デバイス(管理端末PC18)から、複合機M1へのアプリケーションに応じた権限スクリプト16の登録処理、および有効化処理が完了する。システム管理者は必要、用途に応じて該当するアプリケーションの権限スクリプト16を登録、削除、有効化処理を繰り返し実行することが可能である。
マッピングスクリプト6、および権限スクリプト16の登録処理が完了すると、本実施形態の複合機M1における各サービスが稼動可能となる。
次に、本実施形態の複合機M1の特徴となる処理を行う認証、権限処理の制御フローの詳細を説明する。尚、ここで、図16に示した第1の実施形態における情報処理装置170と、図1に示す本実施形態の複合機M1との機能ブロックの対応について示す。図16における受信部171は、本実施形態においては図1におけるSOAP処理部2に相当し、図4−1はその制御フローを示すフローチャートである。また、図16における調停処理部172は、本実施形態においては図1における調停サービス部3に相当し、図4−2はその制御フローを示すフローチャートである。
また、図16におけるマッピングテーブル173は、本実施形態においては図1におけるマッピングスクリプト6に相当する。また、図16における認証・権限処理サービス部174は、本実施形態においては図1における認証・権限サービスA・7、認証サービスB・8、及び権限サービスB・9(まとめて認証・権限サービスとする)に相当し、図4−3はその制御フローを示すフローチャートである。また、図16における権限情報テーブル175は図1における権限スクリプト16に相当する。また、図16におけるサービス部176は、本実施形態においては図1に示す各サービスであるプリントサービス10、スキャンサービス11、ストレージサービス12、FAXサービス13に相当し、図4−4はその制御フローを示すフローチャートである。
以下、図4−1〜図4−4に示すフローチャートに従い、制御の流れを説明する。
まず、図4−1に示すとおり、複合機M1が稼動中、SOAP処理部2はクライアントPC・17から送信されるSOAPリクエストの受信を、TCP/IP/UDPプロトコルスタックを介して常時監視し(step1)、SOAPリクエストの受信を確認すると(step2)、受信したSOAPエンベロープを、調停サービス部3に対し送信する(step3)。続いて、調停サービス部3の処理について図4−2を用いて説明し、図4−1におけるSOAP処理部2の他の処理についての説明は、後述する。
図4−2に示すとおり、調停サービス部3は、SOAP処理部2からのSOAPエンベロープの受信を常時監視し(step4)、SOAP処理部2から、SOAPエンベロープを受信した場合(step5)、調停サービス部3は、SOAPヘッダの記述内容をパース(解析)する(step6)。
図5は、SOAPエンベロープのフォーマット例を示した図である。図5のSOAPエンベロープは、SOAPヘッダ部とSOAPボディ部に大きく分かれる。図5に示すように、該SOAPヘッダにはWS−Addressing仕様に基づき、リクエスト対象とするサービス名称が<ACTION>タグ51のコンテンツとして記述される。また、標準化団体OASISにより策定されたWS−Security UsernameToken Profile 1.0仕様に基づき<UsernameToken>タグ52のコンテンツとして認証情報が記述されている。
(参考URL:http://schemas.xmlsoap.org/ws/2003/03/addressing/)
step6において調停サービス部3は図5に示すようなSOAPヘッダをパースし、まず、<ACTION>タグ51の有無、およびそのコンテンツ内容をチェックする。<ACTION>タグ51が記述されていない場合、あるいは<ACTION>タグ51が存在しても、そのコンテンツが無い、すなわち空タグであった場合は不正要求として、調停サービス部3はSOAP処理部2に対しエラーを通知する(step7)。また、<ACTION>タグ51のコンテンツが存在すると判断した場合、調停サービス部3は、あらかじめEnableScriptにより有効化していされたマッピングスクリプト6の内容をメモリ装置制御部5を介して読み出し(step8)、<ACTION>タグ51のコンテンツとして記述されたサービスが、該マッピングスクリプト6に記述されているか否かを検索する(step9)。
検索した結果、<ACTION>タグ51に記述されたサービスに該当する登録が見つからなかった場合、調停サービス部3はSOAP処理部2に対し不正要求としてエラーを通知する(step10)。検索した結果、<ACTION>タグ51に記述されたサービスに該当する登録が見つかった場合、続けて、指定されたサービスに対応づけられた認証サービス、権限サービスの記述情報の有無を検索する(step11)。
step11において検索した結果、マッピングスクリプト6に指定されたサービスに対応づけられた認証サービス、権限サービスの記述が見つからなかった場合、該サービスに対する認証、権限処理は不要と判断し、調停サービス部3は、実行許可をSOAP処理部2へ通知する(step12)。この場合、調停サービス部3からSOAP処理部2に対しSOAPエンベロープが返信される。
step11において検索した結果、マッピングスクリプト6に指定されたサービスに対応づけられた認証サービス、権限サービスの記述が見つかった場合、調停サービス部3は、マッピングスクリプト6に記述されたURLに対し、SOAPエンベロープを送信する(step13)。ここでマッピングスクリプト6に記述されたURLとは、認証・権限サービスのURLである。すなわち、調停サービス部3は、SOAPエンベロープを認証・権限サービスへ送信する。以下、図4−2に示す調停サービス部3の説明を保留し、図4−3に示す認証・権限サービスの処理について説明する。
図4−3に示すとおり、調停サービス部3から、SOAPエンベロープを受信(step14)した認証・権限サービスは、SOAPエンベロープの記述内容をパースして、図5に示す<UsernameToken>タグ52よりUsernameToken情報を取得する(step15)。次に、認証・権限サービスは、取得したUsernameToken情報を元に認証処理を実行する(step16)。その結果、指定されたUsernameTokenに相当するユーザ情報が認証・権限サービスに登録されていないと判断した場合(step17)、認証・権限サービスは調停サービス部3に対し不正要求としてNGを通知する(step18)。
step16における認証処理の結果、指定されたUsernameTokenに相当するユーザ情報が認証・権限サービスに登録されている(=認証OK)と判断した場合(step19)、認証・権限サービスは、あらかじめEnableAuthScriptにより有効化していされた権限スクリプト16の内容をメモリ装置制御部5を介して読み出し、図5に示す<Username>タグ53のコンテンツとして記述されたユーザ名が、該権限スクリプト16に記述されているか否かを検索する(step20)。
検索した結果、<Username>タグ53に記述されたユーザ名に該当する登録が見つからなかった場合(step21)、調停サービス部3から認証・権限サービスに対して送信されたSOAPエンベロープに記述されるリクエストに対して、実行制限、アクセス制限無しと認証・権限サービスは処理する。この場合、認証・権限サービスは例えばSAML(Security Assertion Markup Language)1.1に従ったSOAPエンベロープを生成し(step22)、該SOAPエンベロープを調停サービス部3に対し返信する(step23)。返信処理完了後、認証・権限サービスは、step14に戻り調停サービス部3からのSOAPエンベロープの受信待ちに移行する。
検索した結果、<Username>タグ53に記述されたユーザ名に該当する登録が見つかった場合(step24)、認証・権限サービスは、続けて、指定されたユーザに対応づけられた実行権限、アクセス制限に関する記述情報の有無を検索する(step25)。step25において検索した結果、権限スクリプト16に、指定されたユーザに対応づけられた実行権限、アクセス制限の記述が見つからなかった場合(step26)、認証・権限サービスは、調停サービス部3から認証・権限サービスに対して送信されたSOAPエンベロープに記述されるリクエストに対して、実行制限、アクセス制限無しと処理する。この場合、認証・権限サービスは、SAML1.1に従ったSOAPエンベロープを生成し(step22)、該SOAPエンベロープを調停サービス部3に対し返信する(step23)。返信処理完了後、認証・権限サービスは、step14に戻り調停サービス部3からのSOAPエンベロープの受信待ちに移行する。
step25において検索した結果、権限スクリプト16に、指定されたユーザに対応づけられた実行権限、アクセス制限の記述が見つかった場合(step27)、権限スクリプト処理部15は、調停モジュール部3より送信されたSOAPエンベロープのbody部の内容をパースする(step28)。図5のSOAPボディ部にプリントサービスに対するリクエスト内容が記述されたSOAPエンベロープを示している。この例においては、<JobName>タグ54において、そのジョブ名称をMyJobと設定し、<Color>タグ55においてFULLCOLOR、即ちフルカラー印刷を指定し、<Copy>タグ56において100、即ち100部の印刷を指定し、<Sides>タグ57においてONESIDE、即ち片面印刷を指定し、<MediaSize>タグ58において出力用紙サイズをA4と指定し、<MediaType>タグ59において出力用紙のタイプをPHOTOQUALITY、即ち写真品質の上質紙を指定し、<PrintQuality>タグ5Aにおいて印刷クオリティをHIGH、即ち高品位印刷を指定している。
権限スクリプト処理部15は、権限スクリプト16に記述された実行権限、アクセス制限に関する記述を参照し、該権限スクリプト16に記述された内容とSOAPエンベロープのbody部の内容とを比較する。図6は、権限スクリプト16の記述例を示す図である。図6の例ではリクエスタXXXに対する記述を抜粋したものであり、権限スクリプト16には登録されたリクエスタの数だけ同様の記述が記録されている。図6においては、ユーザ名(username)がXXXのリクエスタに対し、<Color>タグ61においてBLACKANDWHITE、即ち白黒印刷のみを許可し、<Copy>タグ62において10、即ち10部までの印刷を許可し、<Sides>タグ63においてTWO−SIDE、即ち両面印刷のみを許可し、<MediaSize>タグ64において出力用紙のサイズをA4のみ許可し、<MediaType>タグ65において出力用紙のタイプをPLAINPAPER、即ち普通紙のみを許可し、<PrintQuality>タグ66において印刷クオリティをHIGH、即ち高品位印刷を許可している。
step28のパースの結果、SOAPエンベロープに記述された要求内容に、アクセス制限を越える要求が検出された場合(step29)、権限スクリプト処理部15は、SOAPエンベロープボディに記述された要求内容を、権限スクリプト6の内容に応じて書換えを実行する(step30)。具体的には、図5に示すSOAPエンベロープボディに対して、図6に示す権限スクリプト例を用いて書換えを行う場合、リクエスタXXXからのリクエスト内容は、<Color>,<Copy>,<Sides>,<MediaType>の項目に関して、アクセス制限を越える要求がなされており、権限スクリプト処理部15は、各項目に対し、その記述内容を変更する。
また、権限スクリプト処理部15は、さらにSOAPヘッダ部に対しその変更履歴を記述する(step31)。図7は、図5のSOAPエンベロープに対する改編の一例を示す図である。図7に示すように、SOAPヘッダ部に対し改編対象となったタグに関して、改編する前の要求内容を<ModifiedRequest>タグ71の子タグとして各々記述する。改編したSOAPエンベロープは、メモリ装置制御部5を介してメモリ上に記録される。また、図7に示すように、SOAPボディ部は、<Color>タグ55がBLACKANDWHITEに書き換えられ、<Copy>タグ56が10に書き換えられるなど、図6に示した権限スクリプト16に応じた改編が行われている。
SOAPエンベロープボディに対し記述された全タグに対して以上の処理が完了すると(step32)、認証・権限サービスはSAML1.1に従った処理結果に基づいてSOAPエンベロープに対して追記し(step22)、該SOAPエンベロープを調停サービス部3に対し返信する(step23)。返信処理完了後、認証・権限サービスは、step14に戻り調停サービス部3からのSOAPエンベロープの受信待ちに移行する。以下、図4−2に示す、調停サービス部3の処理の説明に戻る。
図4−2に示すとおり、認証・権限サービスから認証結果を受信(step24)した調停サービス部3は、マッピングスクリプト6に引き続き認証・権限サービスの呼び出し手続きの記述の有無を確認し(step25)、記述がある場合はstep13からstep25までのプロセスを繰り返す。マッピングスクリプト6において認証・権限サービスの呼び出し手続きの記述が完了している場合、調停サービス部3は、認証・権限サービスから受信した認証結果をSOAP処理部2に対して返信する(step26)。返信処理完了後、調停サービス部3は、step4に戻りSOAP処理部2からのSOAPヘッダ受信待ち状態に移行する。
以上説明したように、調停サービス部3は、マッピングスクリプト6の記述に従い、クライアントPC・17から実行指定されたサービスに対する認証・権限サービスの呼び出しを実行する。これにより、調停サービス部3は、マッピングスクリプト6の記述内容によって、それぞれ異なる認証・権限サービスを実施することが可能となる。
本実施形態におけるマッピングスクリプト6においては、<xmlscript>タグの属性nameに、マッピングスクリプト6を識別するファイル名が記述されている。該ファイル名は、先に説明したUploadScript関数で指定したscriptNameにより設定される。<mapping>タグの子タグとして、対象となるサービス情報をURL形式で記述する<Service>タグと、そのサービスに対応づけられた認証、権限処理サービス情報をURL形式で記述する<AuthService>タグが定義されている。
図8は、マッピングスクリプト6の例1を示す図である。図8に示すマッピングスクリプト6のファイル名は"Sample1"である。図8の<mapping>タグ内のコンテンツ(<Service>タグと<AuthService>タグ)に示すように、上から順に以下のようなサービスと認証・権限サービスを対応させている。
・プリントサービスに対して、認証・権限サービスAを関連付け。
・スキャンサービスに対して、認証サービスBを関連付け。
・ストレージサービスに対して、権限サービスBを関連付け。
・FAXサービスに対して、認証・権限サービスCを関連付け。
調停サービス部3は、図8に示すマッピングスクリプト6を基に、それぞれのサービスに対し、それぞれ異なる認証・権限サービスを実施する。従って、調停サービス部3は、例えばプリントサービスにはパスワード認証、スキャンサービスにはPINコード認証、FAXサービスにはICカード認証と、異なる認証処理を実施することが可能となる。これにより、複合機M1は、サービス指向アーキテクチャによる種々のサービス提供時に、その効率の良さ、柔軟性を損うことなく、最適なセキュリティを簡便に実現することができる。
次に、図8に示したマッピングスクリプト6の例1と異なるケースを幾つか示す。
図9は、マッピングスクリプト6の例2を示す図である。この図9に示すマッピングスクリプト6は、同じプリントサービスに対し、異なる認証、権限処理を実施するケースである。図9の行91で定義するアドホックプリントサービスは、ネットワークN1に接続したクライアントPC・17に対し簡易プリント機能を提供するサービスである。このアドホックプリントサービスは、複合機M1に実装された認証・権限サービスA・7により、認証、権限処理を実施するサービスである。しかし、行92で定義する課金プリントサービスは、ネットワークN1を介して複合機M1の外部において稼動状態にある認証・権限サービスC・14において認証・権限処理を実施するサービスとして処理される。
このような記述により、例えば、認証・権限サービスA・7が部門コードによる簡易な認証・権限サービスであるのに対し、認証・権限サービスC・14はクレジットカード番号、暗証番号、およびランタイムパスワードによるセキュアレベルの高い認証・権限処理を実施することが可能となる。
図10は、マッピングスクリプト6の例3を示す図である。この図10に示すマッピングスクリプト6は、それぞれ単独で機能するスキャンサービスとストレージサービスを組み合わせて、新規のサービスであるスキャン−ストレージサービスを提供するケースを示している。図10の記載111、記載112に示すように、スキャンサービス、ストレージサービスに対しては、それぞれ認証・権限サービスA・7、認証サービスB・8を関連付ける。また、図10の記載113、114に示すように、新規サービスであるスキャン−ストレージサービスに対しては認証・権限サービスC・14を関連付けている。
図11は、マッピングスクリプト6の例4を示す図である。この図11に示すマッピングスクリプト6は、記載121、122に示すように、プリントサービス、スキャンサービス共に認証・権限サービスA・7を関連づけるものである。これにより、両サービスは認証・権限サービスC・14で管理されるデータベースに基づいて処理されるため、両サービスを利用するユーザクライアントは同一のクレデンシャル(証明書)情報に基づき認証、権限付与が実施される、即ちシングルサインオンをプリント、スキャンサービスに対し実施することが可能となる。
図12は、マッピングスクリプト6の例5を示す図である。この図12に示すマッピングスクリプト6は、プリントサービスに対し、認証サービスB・8、および権限サービスB・9を記述して、対応づけている。しかし、この場合、調停サービス部3は該スクリプトに記述された順番に、各人証、権限サービスを呼び出す。そのため、認証サービスB・8により認証処理が実施され、該認証サービスにより付与されたアサーションを、次の処理である権限サービスB・9に対し通知することで権限情報の付与を受けることが可能となる。即ち、認証処理を多重に実施する必要がある場合、あるいは、認証処理と権限処理とを切り分け、ユースケースによってその組み合わせを変更する必要がある場合に、この図12に示すようなマッピングスクリプト6を記述して、メモリに登録する。
本実施例においては、これら例1〜5に示した複数のマッピングスクリプト6をメモリに登録することが可能であり、EnableScrptで指定されたスクリプトの記述に従い、サービスと認証・権限サービスとの対応付け処理が実施される。従って、本実施形態における複合機M1においては、マッピングスクリプト6の記述を変更するのみで、実施する認証・権限付与処理をユースケースに応じて変更、更新するこが可能となっている。すなわち、複合機M1は、サービス指向アーキテクチャによる種々のサービス提供時に、その効率の良さ、柔軟性を損うことなく、最適なセキュリティを簡便に実現することができる。
次に、上述した図4−2におけるstep7、10、12、及び26において調停サービス部3がなんらかの処理結果をSOAP処理部2に返信した後の、SOAP処理部2における処理について図4−1を用いて説明する。
図4−1に示すとおり、調停サービス部3から処理結果を受信(step26)したSOAP処理部2は、その処理結果を解析する(step27)。ここで、調停サービス部3から通知された処理結果がNG(エラー返信)であった場合には、要求クライアントであるクライアントPC・17に対し不正要求としてSOAP Faultを返信する(step28)。
また、調停サービス部3から通知された処理結果がOKであった場合、即ち調停サービス部3からSOAPエンベロープが送信された場合には、SOAP処理部2は、SOAPボディ部に記述されたサービス属性情報をパースする(step29)。次に、SOAP処理部2は、該当するサービスに対する属性情報を読み取り、該属性情報をサービスに対して通知し、サービスの実行を要求する(step30)。これにより、図4−4に示す、サービスの処理フローに以降する。
図4−4に示すとおり、SOAP処理部2からサービス実行要求を受信したサービスは、通知されたジョブ属性に基づき、サービス処理を実行する(step31)、その処理結果をSOAP処理部2に対して返信する(step32)。次に、サービスは、処理結果返信後、SOAP処理部2からのサービス実行要求受信待ちに移行する。これにより、図4−1に示すSOAP処理部2の処理に移行する。
図4−1において、サービスから処理結果を受信したSOAP処理部2は、その処理結果に基づきSOAPボディ部にSOAPレスポンスを生成する(step33)。次に、SOAP処理部2は、調停サービス部3を介して、認証・権限サービスよりクライアントPC・17に返信すべくアサーション情報、およびアクセス制限に基づき記録された変更履歴が挿入されたSOAPヘッダと、該SOAPボディ部とを連結し、返信用のSOAPエンベロープを生成する(step34)。
次に、SOAP処理部2は、SOAPエンベロープ生成が完了した時点で、該エンベロープをクライアントPC・17に対して返信する(step35)。SOAPレスポンス返信後、SOAP処理部2は、step1に戻り、クライアントPC・17からのSOAPエンベロープ受信待ちに移行する。
リクエストに対する処理結果を受信したクライアントPC・17は、必要に応じて返信されたSOAPエンベロープのヘッダ部を解析し、要求したジョブ内容に対し制限処理が付与されたか否か、およびその詳細内容を判断することが可能である。
以上説明した一連のプロセスを繰り返すことにより、指定されたサービスに対する認証、権限処理を実施することが可能となる。
[他の実施形態]
以下に、上述した実施形態の種々の応用例や変形例を示す。
上述した実施形態において、サービスと、認証、権限付与サービスの対応づけを記述したマッピングスクリプト6、および権限付与、アクセス制限情報を記述した権限スクリプト16を登録する手段として、外部デバイス、即ちシステム管理者によって管理された管理端末PC・18からネットワークN1を介して、マッピングスクリプト処理部4、および権限スクリプト処理部15に対して送信、登録する手段を説明したが、この限りではなく、システム管理者によって管理された管理端末PC・18からネットワークN1を介して、マッピングスクリプト処理部4、および権限スクリプト15に対して、それぞれマッピングスクリプト6、権限スクリプト16が登録されているサーバのURLを登録してもよい。これにより、マッピングスクリプト処理部4、および権限スクリプト処理部15が、該URLを保有するサーバからマッピングスクリプトや権限スクリプトをダウンロードし、自身が管理するメモリ上に登録するという構成を実現できる。
また、コンピュータと、上述した実施形態の複合機M1とをUSB、IEEE1394などのローカルインタフェイスとで接続し、該インタフェイスを介してマッピングスクリプト処理部4、権限スクリプト処理部15に対しマッピングスクリプトや権限スクリプトを登録する手段でも実現可能である。
また、上述したスクリプトはCD−ROM、コンパクトフラッシュ(登録商標)、メモリスティック等の記録媒体に記録し、複合機M1に対して読取可能に設置されたその記録媒体から、マッピングスクリプト処理部4がマッピングスクリプトを、権限スクリプト処理部15が権限スクリプトを読み取る機能を備えることでも実現可能である。また、本スクリプトは権限を与えられた管理者が、複合機M1が備える操作部を介して、入力する手段でも実現可能である。
また、上述した実施形態の複合機M1においては、サービスと、そのサービスに対応付けた認証、権限付与サービスの情報をXMLの書式で記述したが、他のスクリプト記述言語、あるいは単純なテキストデータであっても記述可能である。同様に本実施形態の複合機M1においては、サービスを利用するリクエスタに対し、権限付与、アクセス制限に関する情報をXMLの書式で記述したが、他のスクリプト記述言語、あるいは単純なテキストデータであっても記述可能である。
また、上述した実施形態においては、複数のマッピングスクリプト6をマッピングスクリプト処理部4が管理し、指定されたマッピングスクリプト6の記述を有効とする例を記述したが、一つのマッピングスクリプト6に対し、複数のパタンを記述し、いずれのパタンを採用するかを指定することで同様の効果を実現することが可能である。
図13は、プリントサービスに対し、その認証、権限サービスへの関連づけを、セキュリティレベルに応じて記述した図ある。例えば、このセキュリティレベルの権限を与えられた管理者が、複合機1Mが備える操作部を介して切り替えることで、セキュリティレベル1において認証処理が不要であったプリントサービスが、セキュリティレベル2に切り替えられることで、ICカードによる認証と、ユーザごとに異なる利用制限が付与されるプリントサービスへと変更される。
また、上述した実施形態の調停サービス部3は、複合機M1のノード内に実装された形態を説明したが、図14に示すように、調停サービス機能を実現する論理ユニットを、ネットワークN1を介して外部に独立させた形態であってもよい。この場合、調停サービス機能を実現する論理ユニットは、例えばコンピュータによるサーバ上に独立して実装されることで実現可能である。なお、この場合、調停サービス機能を実現する論理ユニットと、複合機M1との間の通信はSSL(Secure Socket Layer)などの手段を用いて、認証、権限サービスによる処理結果が、第三者によって改竄されないように保護する必要がある。
同様に、上述した実施形態においては認証・権限サービスA・7、権限サービスB・8は複合機M1のノード内に実装された形態であったが、この限りではなく、図1における認証・権限サービスC・14に示すとおり、認証・権限サービス機能を実現する論理ユニットを、ネットワークN1を介して外部に独立させた形態であってもよい。尚、認証・権限サービス機能を実現する論理ユニットは、例えばコンピュータによるサーバ上に独立して実装されることで実現可能である。
図15は、認証・権限サービスC・14の機能構成例を示す図である。図15に示すように、認証・権限サービスC・14は、TCP/IP/UDPプロトコルスタック1、SOAP処理部2、認証・権限サービスC処理部150、権限スクリプト処理部15、メモリ装置制御部4、および権限スクリプト16から構成される。尚、図1と同じ符号を付与している構成部分は、図1と同様の機能を有するものである。
なお、上述した実施形態においては調停サービス部3と、認証、権限サービスはSAMLプロトコルを使用して通信しているが、該プロトコルは各認証、権限サービス固有のプロトコルである場合においても実施可能であり、調停サービスが各認証、権限サービスに対応したプロトコルに基づき通信する。そのため、この場合においても、サービスは認証、権限サービスの存在を意識することなく、各ユースケースにおいて最適な認証、権限処理を実施することが可能である。
また、上述した実施形態においては、リクエスト対象とするサービス名称の記述をWS−Addressing仕様に基づき記述した例を示したが、調停サービスにおいて(Action)タグが検出できなかった場合には、SOAPボディ部をパースし、そこに記述されるサービス名称を取得する手段によっても実施可能である。
また、上述した実施形態においては認証情報に関してはOASIS WS−security UsernameToken Profileの規定に基づき記述された例を示したが、これら標準仕様において定義されていない認証クレデンシャルにも対応可能であり、この場合、マッピングスクリプトにいずれのタグがクレデンシャル情報に該当するか記述することで対応、実施することが可能である。
また、上述した実施形態においてはリクエスタからのリクエスト内容が、付与された権限、アクセス制限を越える場合、そのリクエスト内容を書き換えた結果を実行し、その結果をリクエスタに対し通知結果を受信したリクエスタがそのヘッダ部に記述された内容を解析することで、リクエスト内容に対し制限処理が実施されたことを知るフローを示した。しかし、他の実施形態として、図4−1のstep26において、調停サービス部からSOAPエンベロープが返信され、かつ、そのヘッダ部に<ModifiedRequest>タグがある場合、リクエスタに対しリクエストが改編された旨を通知し、リクエスタから許諾通知を受け取った場合のみサービスの実行要求を発行する(図4−1のstep30)制御フローを実施することも可能であり、この場合、権限付与サーバにより改編されたジョブ内容をサービス実行前にリクエスタが知ることが可能となり、より利便性が向上する。
また、上述した実施形態において図1に示した複合機M1内の各処理部は、各処理部の機能を実現する為のプログラムをメモリ(例えば図17のHDD103)から読み出してCPU101が実行することによりその機能を実現させるものであったが、これに限定さるものではなく、各処理の全部または一部の機能を専用のハードウェアにより実現してもよい。また、上述したメモリは、HDD103に限定されるものではなく、光磁気ディスク装置、フラッシュメモリ等の不揮発性のメモリや、CD−ROM等の読み出しのみが可能な記録媒体、RAM以外の揮発性のメモリ、あるいはこれらの組合せによるコンピュータ読み取り、書き込み可能な記録媒体より構成されてもよい。
また、図1に示した複合機M1内の各機能を実現する為のプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各処理を行っても良い。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。具体的には、記憶媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含む。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現する為のものであっても良い。さらに、前述した機能をコンピュータシステムに既に記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
また、上記のプログラムを記録したコンピュータ読み取り可能な記録媒体等のプログラムプロダクトも本発明の実施形態として適用することができる。上記のプログラム、記録媒体、伝送媒体およびプログラムプロダクトは、本発明の範疇に含まれる。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。