(57)【要約】【課題】外部サービスと連携して処理を行うアプリケーションの開発を容易にすることができる情報処理システム及び認証情報提供方法を提供することを課題とする。【解決手段】電子機器とサービス提供システムとを有する情報処理システムであって、電子機器の上で動作するアプリケーションと連携して処理を行う外部サービスの認証情報の取得を電子機器からサービス提供システムに要求する要求手段と、サービス提供システムにおいて、要求手段の識別情報を用いた要求手段の正当性の確認結果に基づき、正当性が確認された要求手段からの要求を受け付けるアクセス制御手段と、正当性が確認された要求手段からの要求に基づき、外部サービスの認証情報を記憶手段から取得し、アクセス制御手段を介して外部サービスの認証情報を要求手段に提供するデータ管理手段と、を有することにより上記課題を解決する。【選択図】  図１
2015172824.tif 000002
【特許請求の範囲】
【請求項１】
電子機器と、前記電子機器とネットワークを介して接続される１つ以上の情報処理装置を含むサービス提供システムと、を有する情報処理システムであって、
前記電子機器の上で動作するアプリケーションと連携して処理を行う外部サービスの認証情報の取得を前記電子機器から前記サービス提供システムに要求する要求手段と、
前記サービス提供システムにおいて、前記要求手段の識別情報を用いた前記要求手段の正当性の確認結果に基づき、正当性が確認された前記要求手段からの要求を受け付けるアクセス制御手段と、
正当性が確認された前記要求手段からの要求に基づき、外部サービスの認証情報を記憶手段から取得し、前記アクセス制御手段を介して外部サービスの認証情報を前記要求手段に提供するデータ管理手段と、
を有する情報処理システム。
【請求項２】
前記サービス提供システムはネットワークを介した前記電子機器からの要求を受け付ける公開インタフェース層と、前記公開インタフェース層が受け付けた要求に基づき、処理を行うプラットフォーム層と、を含むように構成され、
前記データ管理手段は、前記プラットフォーム層において、正当性が確認された前記要求手段からの要求に基づき、外部サービスの認証情報を記憶手段から取得するデータ取得手段と、
前記公開インタフェース層において、前記プラットフォーム層のデータ取得手段に対する要求を受け付ける非公開インタフェースを利用し、前記データ取得手段に前記要求手段からの要求を処理させる非公開インタフェース隠蔽手段と、
を有する請求項１記載の情報処理システム。
【請求項３】
前記サービス提供システムにおいて、前記プラットフォーム層の記憶手段に前記要求手段の識別情報が記憶されているか否かに基づき、前記要求手段の識別情報を用いた前記要求手段の正当性を確認する認証手段
を更に有する請求項２記載の情報処理システム。
【請求項４】
前記データ管理手段は、正当性が確認された前記要求手段からの要求に基づき、前記要求手段の識別情報と紐付けて記憶手段に外部サービスの認証情報を登録すること
を特徴とする請求項１乃至３何れか一項記載の情報処理システム。
【請求項５】
前記データ管理手段は、正当性が確認された前記要求手段からの要求に基づき、前記電子機器の利用者をグループ化するグループの識別情報を更に紐付けて外部サービスの認証情報を記憶手段に登録すること
を特徴とする請求項４記載の情報処理システム。
【請求項６】
前記データ管理手段は、グループの識別情報を用いた認証が成功した場合に、グループの識別情報と紐付けられた外部サービスの認証情報を前記要求手段に提供すること
を特徴とする請求項５記載の情報処理システム。
【請求項７】
外部サービスの認証情報を記憶する前記記憶手段は、ネットワークを介して前記サービス提供システムと接続される情報蓄積装置であること
を特徴とする請求項１乃至６何れか一項記載の情報処理システム。
【請求項８】
電子機器と、前記電子機器とネットワークを介して接続される１つ以上の情報処理装置を含むサービス提供システムと、を有する情報処理システムにおいて実行される認証情報提供方法であって、
前記電子機器の上で動作するアプリケーションと連携して処理を行う外部サービスの認証情報の取得を前記電子機器の要求手段から前記サービス提供システムに要求するステップと、
前記サービス提供システムにおいて、前記要求手段の識別情報を用いた前記要求手段の正当性の確認結果に基づき、正当性が確認された前記要求手段からの要求を受け付けるステップと、
正当性が確認された前記要求手段からの要求に基づき、外部サービスの認証情報を記憶手段から取得し、外部サービスの認証情報を前記要求手段に提供するステップと、
を有する認証情報提供方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理システム及び認証情報提供方法に関する。
【背景技術】
【０００２】
従来、サービス提供者装置とユーザ装置との間に設けられたエージェント装置がユーザ装置の情報を管理する代行管理方法及びエージェント装置は知られている。このような従来の代行管理方法及びエージェント装置では、ユーザによる認証情報の管理負担を軽減していた（例えば特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
近年、クラウドコンピューティング等により多種多様な外部サービスが提供されるようになった。クラウドコンピューティング等による外部サービスの普及に伴い、複合機などの画像形成装置上で動作するアプリケーションは外部サービスと連携して処理を行う場合がある。
【０００４】
このような場合、ユーザは、複数の外部サービスを利用するために、複数の認証を行わなければならない。なお、ユーザに対する認証の重荷を減らすための技法としてシングルサインオン（ＳＳＯ）が知られている。シングルサインオンによりユーザはサインオン動作を完了した後、すなわち認証されたあとに別の認証動作を実行する必要がなくなる。
【０００５】
しかしながら、複合機などの画像形成装置と外部サービスとで連携して処理を行う場合は画像形成装置上で動作するアプリケーション毎に外部サービスとの連携機能を開発する必要があるという問題があった。
【０００６】
本発明の実施の形態は、上記の点に鑑みなされたもので、外部サービスと連携して処理を行うアプリケーションの開発を容易にすることができる情報処理システム及び認証情報提供方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記した目的を達成するために、本願請求項１は、電子機器と、前記電子機器とネットワークを介して接続される１つ以上の情報処理装置を含むサービス提供システムと、を有する情報処理システムであって、前記電子機器の上で動作するアプリケーションと連携して処理を行う外部サービスの認証情報の取得を前記電子機器から前記サービス提供システムに要求する要求手段と、前記サービス提供システムにおいて、前記要求手段の識別情報を用いた前記要求手段の正当性の確認結果に基づき、正当性が確認された前記要求手段からの要求を受け付けるアクセス制御手段と、正当性が確認された前記要求手段からの要求に基づき、外部サービスの認証情報を記憶手段から取得し、前記アクセス制御手段を介して外部サービスの認証情報を前記要求手段に提供するデータ管理手段と、を有することを特徴とする。
【発明の効果】
【０００８】
本発明の実施の形態によれば、外部サービスと連携して処理を行うアプリケーションの開発を容易にすることができる。
【図面の簡単な説明】
【０００９】
【図１】第１の実施形態に係る情報処理システムの一例の構成図である。
【図２】コンピュータの一例のハードウェア構成図である。
【図３】本実施形態に係る画像形成装置の一例のハードウェア構成図である。
【図４】本実施形態に係る画像形成装置の一例の処理ブロック図である。
【図５】本実施形態に係るサービス提供システムの一例の処理ブロック図である。
【図６】サービス登録処理の一例のシーケンス図である。
【図７】テナント情報テーブルの一例の構成図である。
【図８】ユーザ情報テーブルの一例の構成図である。
【図９】テナント認証テーブルの一例の構成図である。
【図１０】アプリ認証処理の一例のシーケンス図である。
【図１１】アプリ情報テーブルの一例の構成図である。
【図１２】サービス登録処理の他の例のシーケンス図である。
【図１３】テナント認証テーブルの一例の構成図である。
【図１４】データ登録処理の一例のシーケンス図である。
【図１５】アプリケーション固有の設定情報テーブルの一例の構成図である。
【図１６】テナント認証処理の一例のシーケンス図である。
【図１７】認証チケットテーブルの一例の構成図である。
【図１８】認証チケットの正当性チェック処理の一例のシーケンス図である。
【図１９】２台目以降のサービス登録処理の一例のシーケンス図である。
【図２０】外部サービス利用処理の一例のシーケンス図である。
【図２１】外部サービス装置の認証情報の一例の構成図である。
【図２２】第２の実施形態に係る情報処理システムの一例の構成図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について図面を参照しながら説明する。
［第１の実施形態］
＜システム構成＞
図１は第１の実施形態に係る情報処理システムの一例の構成図である。図１の情報処理システム１は、サービス提供システム１０と、画像形成装置１１と、外部サービス装置１２とが、インターネットなどのネットワークＮ１を介して接続されている。
【００１１】
画像形成装置１１は複合機などの画像形成機能を有する装置である。画像形成装置１１は無線による通信の手段または有線による通信の手段を有する。画像形成装置１１は複合機、コピー機、スキャナ、プリンタ、レーザプリンタ、プロジェクタ、電子黒板など、画像形成に係る処理を行う装置である。
【００１２】
図１の情報処理システム１ではアプリケーションが動作する画像形成装置１１を一例として示したが、外部サービス装置１２と連携して処理を行うアプリケーションが動作する電子機器であればよい。また、図１では、一例として画像形成装置１１が一台である例を示しているが複数台であってもよい。
【００１３】
画像形成装置１１は画像形成装置１１上で動作するアプリケーションと外部サービス装置１２とを連携させることで例えば新しいソリューションを提供できる。例えば図１の情報処理システム１は画像形成装置１１でスキャンしたドキュメントを外部サービス装置１２の翻訳サービスを使って翻訳し、翻訳結果のドキュメントをユーザにメールするといったことが可能となる。外部サービス装置１２は翻訳サービスやオンラインストレージなどの外部サービスを提供する装置である。なお、外部サービス装置１２は複数台の情報処理装置によって実現するシステムであってもよい。
【００１４】
サービス提供システム１０は一台以上の情報処理装置によって実現される。サービス提供システム１０は外部サービス装置１２のＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）を利用するために必要な認証をパスするための認証情報を保管する。
【００１５】
外部サービス装置１２の認証は画像形成装置１１の内部処理として隠蔽できる。画像形成装置１１の利用者は、外部サービス装置１２の認証情報をサービス提供システム１０に登録したあと、画像形成装置１１から外部サービス装置１２をシームレスに（認証情報を入力することなく）利用すること（シングルサインオン）ができる。
【００１６】
サービス提供システム１０に保管している外部サービス装置１２の認証情報は複数台の画像形成装置１１から利用できる。したがって、画像形成装置１１の利用者は外部サービス装置１２と連携して処理を行う画像形成装置１１のセットアップを容易に行うことができる。また、サービス提供システム１０は外部サービス装置１２の認証情報の他、例えば翻訳条件や印刷条件などの画像形成装置１１上で動作するアプリケーションに特化した情報も保管できる。
【００１７】
なお、図１の情報処理システム１の構成は一例であって、他の構成であってもよい。
【００１８】
＜ハードウェア構成＞
図１のサービス提供システム１０及び外部サービス装置１２は、例えば図２に示すようなハードウェア構成のコンピュータにより実現される。
【００１９】
図２はコンピュータの一例のハードウェア構成図である。図２のコンピュータ１００は入力装置１０１、表示装置１０２、外部Ｉ／Ｆ１０３、ＲＡＭ１０４、ＲＯＭ１０５、ＣＰＵ１０６、通信Ｉ／Ｆ１０７、及びＨＤＤ１０８などを備え、それぞれがバスＢで相互に接続されている。
【００２０】
入力装置１０１はキーボードやマウス、タッチパネルなどを含み、ユーザが各操作信号を入力するのに用いられる。表示装置１０２はディスプレイ等を含み、コンピュータ１００による処理結果を表示する。なお、入力装置１０１及び表示装置１０２は必要なときに接続して利用する形態であってもよい。
【００２１】
通信Ｉ／Ｆ１０７はコンピュータ１００をネットワークＮ１に接続するインタフェースである。これにより、コンピュータ１００は通信Ｉ／Ｆ１０７を介してデータ通信を行うことができる。
【００２２】
また、ＨＤＤ１０８は、プログラムやデータを格納している不揮発性の記憶装置の一例である。格納されるプログラムやデータには、コンピュータ１００全体を制御する基本ソフトウェアであるＯＳ、及びＯＳ上において各種機能を提供するアプリケーションソフトウェアなどがある。なお、コンピュータ１００はＨＤＤ１０８に替え、記憶媒体としてフラッシュメモリを用いるドライブ装置（例えばソリッドステートドライブ：ＳＳＤ）を利用するものであってもよい。
【００２３】
ＨＤＤ１０８は格納しているプログラムやデータを所定のファイルシステム及び／又はＤＢにより管理している。外部Ｉ／Ｆ１０３は、外部装置とのインタフェースである。外部装置には、記録媒体１０３ａなどがある。
【００２４】
これにより、コンピュータ１００は外部Ｉ／Ｆ１０３を介して記録媒体１０３ａの読み取り及び／又は書き込みを行うことができる。記録媒体１０３ａにはフレキシブルディスク、ＣＤ、ＤＶＤ、ＳＤメモリカード、ＵＳＢメモリなどがある。
【００２５】
ＲＯＭ１０５は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ（記憶装置）である。ＲＯＭ１０５にはコンピュータ１００の起動時に実行されるＢＩＯＳ、ＯＳ設定、及びネットワーク設定などのプログラムやデータが格納されている。ＲＡＭ１０４はプログラムやデータを一時保持する揮発性の半導体メモリ（記憶装置）である。
【００２６】
ＣＰＵ１０６は、ＲＯＭ１０５やＨＤＤ１０８などの記憶装置からプログラムやデータをＲＡＭ１０４上に読み出し、処理を実行することで、コンピュータ１００全体の制御や機能を実現する演算装置である。サービス提供システム１０及び外部サービス装置１２はコンピュータ１００のハードウェア構成により、後述する各種処理を実現できる。
【００２７】
図１の画像形成装置１１は、例えば図３に示すようなハードウェア構成のコンピュータにより実現される。図３は本実施形態に係る画像形成装置の一例のハードウェア構成図である。図３に示した画像形成装置１１は、コントローラ２０１、操作パネル２０２、外部Ｉ／Ｆ２０３、通信Ｉ／Ｆ２０４、プリンタ２０５及びスキャナ２０６などを備える。
【００２８】
コントローラ２０１はＣＰＵ２１１、ＲＡＭ２１２、ＲＯＭ２１３、ＮＶＲＡＭ２１４及びＨＤＤ２１５などを備える。ＲＯＭ２１３は、各種プログラムやデータが格納されている。ＲＡＭ２１２はプログラムやデータを一時保持する。ＮＶＲＡＭ２１４は、例えば設定情報等が格納されている。また、ＨＤＤ２１５は各種プログラムやデータが格納されている。
【００２９】
ＣＰＵ２１１は、ＲＯＭ２１３やＮＶＲＡＭ２１４、ＨＤＤ２１５などからプログラムやデータ、設定情報等をＲＡＭ２１２上に読み出し、処理を実行することで、画像形成装置１１全体の制御や機能を実現する。
【００３０】
操作パネル２０２はユーザからの入力を受け付ける入力部と、表示を行う表示部とを備えている。外部Ｉ／Ｆ２０３は外部装置とのインタフェースである。外部装置には、記録媒体２０３ａなどがある。これにより、画像形成装置１１は外部Ｉ／Ｆ２０３を介して記録媒体２０３ａの読み取り及び／又は書き込みを行うことができる。記録媒体２０３ａにはＩＣカード、フレキシブルディスク、ＣＤ、ＤＶＤ、ＳＤメモリカード、ＵＳＢメモリ等がある。
【００３１】
通信Ｉ／Ｆ２０４は、画像形成装置１１をネットワークＮ１に接続するインタフェースである。これにより、画像形成装置１１は通信Ｉ／Ｆ２０４を介してデータ通信を行うことができる。プリンタ２０５は、印刷データを用紙に印刷するための印刷装置である。スキャナ２０６は原稿から画像データ（電子データ）を読み取るための読取装置である。
【００３２】
＜ソフトウェア構成＞
《画像形成装置》
本実施形態に係る画像形成装置１１は、例えば図４に示すような処理ブロックにより実現することができる。図４は、本実施形態に係る画像形成装置の一例の処理ブロック図である。なお、図４の画像形成装置１１は本実施形態の説明に不要な処理ブロックについての図示を省略している。
【００３３】
画像形成装置１１は１つ以上のアプリケーション２１と、共通ＳＳＯ（シングルサインオン）部２２と、が動作している。なお、アプリケーション２１はＳＤＫ（Ｓｏｆｔｗａｒｅ  Ｄｅｖｅｌｏｐｍｅｎｔ  Ｋｉｔ）を利用して開発されたアプリケーションであるＳＤＫアプリケーションを利用できる。
【００３４】
アプリケーション２１は外部サービス装置１２と連携して処理を行う。共通ＳＳＯ部２２はアプリケーション２１に対し、外部サービス装置１２の認証情報を保管・取得するための共通ＩＦ（インタフェース）を提供する。サービス提供システム１０への外部サービス装置１２の認証情報の登録及びサービス提供システム１０からの外部サービス装置１２の認証情報の取得は、共通ＳＳＯ部２２が実施する。
【００３５】
アプリケーション２１は共通ＳＳＯ部２２を介して取得した外部サービス装置１２の認証情報を用いて外部サービス装置１２を利用するために必要となる認証チケット・トークンを取得する。そして、アプリケーション２１は取得した認証チケット・トークンを用いて外部サービス装置１２の機能を利用する。アプリケーション２１はアプリケーション固有の設定情報をサービス提供システム１０に保管することもできる。
【００３６】
《サービス提供システム》
本実施形態に係るサービス提供システム１０は例えば図５に示すような処理ブロックにより実現される。図５は本実施形態に係るサービス提供システムの一例の処理ブロック図である。
【００３７】
図５のサービス提供システム１０はプログラムを実行することにより、既存サービス層３１、共通サービス層３２、データベース層３３、公開ＡＰＩ３４、ＡＰＩ層３５及びプラットフォームＡＰＩ３６を実現している。共通サービス層３２及びデータベース層３３はプラットフォーム層３７を構成している。
【００３８】
公開ＡＰＩ３４は画像形成装置１１がサービス提供システム１０を利用するためのインタフェースである。公開ＡＰＩ３４は画像形成装置１１からの要求をＡＰＩ層３５が受信するために設けられた予め定義されたインタフェースであり、例えば関数やクラス等により構成される。
【００３９】
ＡＰＩ層３５はベンダにプラットフォームＡＰＩ３６を提供するためのラッパ（ｗｒａｐｐｅｒ）層としての役割を持つ。ＡＰＩ層３５は、アプリデータ管理ラッパ４１、認証ラッパ４２及びアクセスコントローラ（Ａｃｃｅｓｓ  ｃｏｎｔｒｏｌｌｅｒ）４３を有する。
【００４０】
アプリデータ管理ラッパ４１はアプリケーション固有の設定情報などのデータを管理するミニストレージとしての役割を持つ。認証ラッパ４２は共通サービス層３２の認証・認可部５１、テナント管理部５２、ユーザ管理部５３及びチケット管理部５８のラッパとしての役割を持つ。アクセスコントローラ４３はプラットフォームＡＰＩ３６の利用時にクライアントである画像形成装置１１の正当性をチェックする。
【００４１】
既存サービス層３１は既存のサービスを提供している。既存サービス層３１はポータルサービスアプリ、スキャンサービスアプリ、プリントサービスアプリを一例として有している。既存サービス層３１には、その他のサービスアプリが含まれていてもよい。
【００４２】
既存サービス層３１の各サービスアプリはプラットフォームＡＰＩ３６を利用することで各種サービスを提供している。プラットフォームＡＰＩ３６は、既存サービス層３１の各サービスアプリがプラットフォーム層３７を利用するためのインタフェースである。
【００４３】
プラットフォームＡＰＩ３６は、既存サービス層３１の各サービスアプリからの要求をプラットフォーム層３７が受信するために設けられた予め定義されたインタフェースであり、例えば関数やクラス等により構成される。
【００４４】
プラットフォームＡＰＩ３６は、サービス提供システム１０が複数の情報処理装置で構成される場合、ネットワーク経由で利用可能な例えばＷｅｂ  ＡＰＩにより実現することができる。
【００４５】
共通サービス層３２は認証・認可部５１、テナント管理部５２、ユーザ管理部５３、ライセンス管理部５４、機器管理部５５、一時画像保存部５６、ログ収集部５７、チケット管理部５８、アプリ管理部５９、アプリデータ管理部６０及び画像処理ワークフロー制御部６１を有する。また、画像処理ワークフロー制御部６１はメッセージキュー、１つ以上のワーカー（Ｗｏｒｋｅｒ）を有する。ワーカーは画像変換や画像送信などの機能を実現する。
【００４６】
認証・認可部５１は画像形成装置１１などの電子機器からのログイン要求に基づいて認証・認可を実行する。認証・認可部５１は、ユーザ情報記憶部７３、ライセンス情報記憶部７４などにアクセスしてユーザを認証・認可する。また、認証・認可部５１はテナント情報記憶部７２、ライセンス情報記憶部７４、機器情報記憶部７５などにアクセスして画像形成装置１１などの電子機器を認証する。
【００４７】
テナント管理部５２は、テナント情報記憶部７２に記憶されているテナント情報を管理する。ユーザ管理部５３は、ユーザ情報記憶部７３に記憶されているユーザ情報を管理する。ライセンス管理部５４はライセンス情報記憶部７４に記憶されているライセンス情報を管理する。
【００４８】
機器管理部５５は機器情報記憶部７５に記憶されている機器情報を管理する。一時画像保存部５６は一時画像記憶部７６への一時画像の保存、一時画像記憶部７６からの一時画像の取得を行う。
【００４９】
ログ収集部５７はログ情報記憶部７１に記憶されているログ情報を管理する。チケット管理部５８はユーザに紐付く認証チケットの発行、認証チケットの正当性チェック、有効期限管理、上限管理などの機能を有する。アプリ管理部５９はアプリ情報記憶部８０に記憶されているアプリ情報を管理する。アプリデータ管理部６０はアプリケーション固有の設定情報記憶部７８に記憶されているアプリケーション固有の設定情報を管理する。
【００５０】
画像処理ワークフロー制御部６１は要求に基づいて画像処理に関するワークフローを制御する。メッセージキューは処理の種類に対応するキューを有している。画像処理ワークフロー制御部６１は処理（ジョブ）に係るリクエストのメッセージを、そのジョブの種類に対応するキューに投入する。
【００５１】
ワーカーは対応するキューを監視している。ワーカーはキューにメッセージが投入されると、対応するジョブの種類に応じた画像変換や画像送信などの処理を行う。キューに投入されたメッセージはワーカーが主体的に読み出す（Ｐｕｌｌ）ようにしてもキューからワーカーに提供する（Ｐｕｓｈ）ようにしてもよい。
【００５２】
データベース層３３はログ情報記憶部７１、テナント情報記憶部７２、ユーザ情報記憶部７３、ライセンス情報記憶部７４、機器情報記憶部７５、一時画像記憶部７６、ジョブ情報記憶部７７、アプリケーション固有の設定情報記憶部７８、チケット情報記憶部７９及びアプリ情報記憶部８０を有する。
【００５３】
ログ情報記憶部７１は、ログ情報を記憶する。テナント情報記憶部７２は、テナント情報を記憶する。ユーザ情報記憶部７３は、ユーザ情報を記憶する。ライセンス情報記憶部７４は、ライセンス情報を記憶する。機器情報記憶部７５は機器情報を記憶する。
【００５４】
一時画像記憶部７６は一時画像を記憶する。一時画像は、例えばワーカーが処理するスキャン画像などのファイルやデータである。ジョブ情報記憶部７７は処理（ジョブ）に係るリクエストの情報（ジョブ情報）を記憶する。アプリケーション固有の設定情報記憶部７８はアプリケーション固有の設定情報を記憶する。チケット情報記憶部７９はチケット情報を記憶する。アプリ情報記憶部８０はアプリ情報を記憶する。
【００５５】
なお、外部サービス装置１２の認証情報はＡＰＩ層３５のアプリデータ管理ラッパ４１を介してプラットフォーム層３７のアプリケーション固有の設定情報記憶部７８に保管される。公開ＡＰＩ３４を利用するために、画像形成装置１１は例えばサービス提供システム１０を管理する企業が発行したアプリＩＤ及びアプリキーが必要となる。アプリＩＤ及びアプリキーはアプリ管理部５９を介してアプリ情報記憶部８０に保管される。
【００５６】
図５のサービス提供システム１０はＡＰＩ層３５を設けたことで、既存サービス層３１に影響を与えずに、公開ＡＰＩ３４のバージョンアップやメンテナンスを実施することができる。また、図５のサービス提供システム１０はプラットフォームＡＰＩ３６の全てをベンダに提供するのではなく、公開するＡＰＩを公開ＡＰＩ３４により制限することができる。
【００５７】
サービス提供システム１０は共通サービスやデータベースをプラットフォームとして提供する統合基盤と、統合基盤の機能を利用してアプリサービスを提供するサービス群として機能する。統合基盤は、例えば共通サービス層３２、データベース層３３及びプラットフォームＡＰＩ３６によって構成される。サービス群は例えば公開ＡＰＩ３４、ＡＰＩ層３５及び既存サービス層３１によって構成される。
【００５８】
図５に示したサービス提供システム１０はサービス群と統合基盤とを分離した構成によりプラットフォームＡＰＩ３６を利用する各サービスアプリを容易に開発できる。
【００５９】
なお、図５のサービス提供システム１０の処理ブロックの分類形態は一例であり、図５に示されるような階層で分類されていることが必須ではない。本実施形態に係るサービス提供システム１０の処理を実施できるのであれば、図５に示される階層関係などは特定のものに限定されない。
【００６０】
＜処理の詳細＞
《サービス登録処理》
画像形成装置１１で動作するアプリケーション２１は、サービス提供システム１０の公開ＡＰＩ３４を用いて外部サービス装置１２の認証情報を保管するための前提条件として図６に示すようなサービス登録が必要となる。
【００６１】
図６はサービス登録処理の一例のシーケンス図である。ステップＳ１において、利用者は画像形成装置１１を利用するためのＭＦＰユーザＩＤ及びＭＦＰパスワードをオペパネ２０２に入力することで画像形成装置１１にログインする。ログインに成功すると、画像形成装置１１はオペパネ２０２にトップ画面を表示する。
【００６２】
ステップＳ２において、利用者はトップ画面から利用したいアプリケーション２１を起動する。起動されたアプリケーション２１はサービス登録がされていない場合、オペパネ２０２にサービス登録画面を表示する。
【００６３】
ステップＳ３において、利用者はサービス登録画面にパスワードを入力し、サービス登録を要求する。なお、ステップＳ３において入力するパスワードは後述のテナント認証のためのパスワードであり、利用者が決めるものである。
【００６４】
ステップＳ４において、アプリケーション２１は利用者に入力されたパスワードによるサービス登録を共通ＳＳＯ部２２に依頼する。ステップＳ５において、共通ＳＳＯ部２２は自身が保管しているアプリＩＤ及びアプリキーを取得する。
【００６５】
ステップＳ６において、共通ＳＳＯ部２２はパスワード、アプリＩＤ及びアプリキーを用いてサービス提供システム１０にサービス登録を依頼する。サービス登録の依頼を受けたサービス提供システム１０はステップＳ７においてアプリ認証を行い、クライアントである共通ＳＳＯ部２２の正当性を確認する。なお、ステップＳ７のアプリ認証の詳細は後述する。ここでは共通ＳＳＯ部２２の正当性が確認されたものとして説明を続ける。
【００６６】
ステップＳ８において、サービス提供システム１０のアクセスコントローラ４３は認証ラッパ４２にサービス登録を依頼する。ステップＳ９において、認証ラッパ４２はサービス提供システム１０に登録するテナントＩＤを採番する。
【００６７】
ステップＳ１０において、認証ラッパ４２は採番したテナントＩＤによるテナント作成をテナント管理部５２に依頼する。ステップＳ１１において、テナント管理部５２はテナント情報記憶部７２に記憶されている図７に示すようなテナント情報テーブルにテナントＩＤを登録することでテナントの登録を行う。図７はテナント情報テーブルの一例の構成図である。テナント情報テーブルはサービス提供システム１０に登録されているテナントを管理するものである。
【００６８】
ステップＳ１２において、認証ラッパ４２は登録したテナントへのテナントユーザの作成をユーザ管理部５３に依頼する。ステップＳ１２におけるテナントユーザを作成する依頼はテナントＩＤ及びパスワードを用いて行われる。ステップＳ１３において、ユーザ管理部５３はユーザ情報記憶部７３に記憶されている図８に示すようなユーザ情報テーブルにテナントＩＤ、ユーザＩＤ及びパスワードを登録することでテナントへのユーザの登録を行う。
【００６９】
なお、ユーザ情報テーブルに登録されるパスワードはステップＳ３において利用者が入力したパスワードである。また、ユーザ情報テーブルに登録されるユーザＩＤはテナントユーザのユーザＩＤである。テナントユーザは、あるルールに基づいて登録されるユーザのことである。例えばテナントユーザのユーザＩＤはテナントＩＤと同じものであってもよい。
【００７０】
図８はユーザ情報テーブルの一例の構成図である。ユーザ情報テーブルはサービス提供システム１０に登録されているユーザを管理するものである。サービス登録時、ユーザ情報テーブルにはテナントユーザのユーザ情報が登録される。
【００７１】
ステップＳ１４において、認証ラッパ４２はステップＳ８のサービス登録の依頼に対応する応答としてアクセスコントローラ４３にテナントＩＤを返す。また、ステップＳ１５においてアクセスコントローラ４３はテナントＩＤを画像形成装置１１の共通ＳＳＯ部２２に返す。ステップＳ１６において、共通ＳＳＯ部２２はサービス提供システム１０から受信したテナントＩＤをアプリケーション２１に返す。
【００７２】
ステップＳ１７において、アプリケーション２１はオペパネ２０２からログインしている利用者のＭＦＰユーザＩＤを取得する。ステップＳ１８において、アプリケーション２１はＭＦＰユーザＩＤ、テナントＩＤ及びパスワードをテナント認証情報として図９に示すようなテナント認証テーブルを記録する。図９はテナント認証テーブルの一例の構成図である。図９のテナント認証テーブルはサービス提供システム１０へのサービス登録の後にアプリケーション２１がＭＦＰユーザＩＤと紐付けてテナントＩＤ及びパスワードを保存するものである。ステップＳ１９において、アプリケーション２１は例えばオペパネ２０２にテナントＩＤを表示して、利用者にテナントＩＤを通知する。
【００７３】
ステップＳ７のアプリ認証は例えば図１０に示すように行われる。図１０はアプリ認証処理の一例のシーケンス図である。画像形成装置１１はサービス提供システム１０の公開ＡＰＩ３４を利用する際、アプリ認証をパスする必要がある。クライアントである共通ＳＳＯ部２２は自身が保管しているアプリＩＤ及びアプリキーのペアを用いることでサービス提供システム１０の公開ＡＰＩ３４を利用できる。なお、共通ＳＳＯ部２２が自身で保管しているアプリＩＤ及びアプリキーのペアは例えばサービス提供システム１０を管理する企業が発行したアプリＩＤ及びアプリキーである。
【００７４】
ステップＳ２１において、共通ＳＳＯ部２２は自身が保管しているアプリＩＤ及びアプリキーを取得する。ステップＳ２２において、共通ＳＳＯ部２２は、図６のステップＳ３で入力されたパスワード、ステップＳ２１で取得したアプリＩＤ及びアプリキーを用いてサービス提供システム１０に公開ＡＰＩ３４の利用を依頼する。
【００７５】
ステップＳ２３において、画像形成装置１１から公開ＡＰＩ３４の利用を依頼されたアクセスコントローラ４３はアプリＩＤ及びアプリキーによるアプリ認証を認証ラッパ４２に依頼する。ステップＳ２４において、認証ラッパ４２はアプリＩＤ及びアプリキーによるアプリ認証をアプリ管理部５９に依頼する。
【００７６】
ステップＳ２５において、アプリ管理部５９はステップＳ２４のアプリ認証の依頼に含まれていたアプリＩＤ及びアプリキーのペアと、図１１に示すようなアプリ情報テーブルに記録されたアプリＩＤ及びアプリキのペアとのマッチングを行う。図１１はアプリ情報テーブルの一例の構成図である。
【００７７】
アプリ情報テーブルは公開ＡＰＩ３４を利用できる共通ＳＳＯ部２２が保持しているアプリＩＤ及びアプリキーのペアをアプリ情報として保持している。サービス提供システム１０は公開ＡＰＩ３４を利用する際にアプリＩＤ及びアプリキーによる利用可否チェックを行い、利用可否チェックをパスした共通ＳＳＯ部２２による公開ＡＰＩ３４の利用を許可する。図１１のアプリ情報テーブルへのアプリＩＤ及びアプリキのペアの追加は例えばサービス提供システム１０を管理する企業が実施する。
【００７８】
アプリ管理部５９はアプリ認証の依頼に含まれていたアプリＩＤ及びアプリキーのペアがアプリ情報テーブルに記録されていれば、共通ＳＳＯ部２２に正当性がある（アプリ認証が成功した）と判定する。また、アプリ管理部５９はアプリ認証の依頼に含まれていたアプリＩＤ及びアプリキーのペアがアプリ情報テーブルに記録されていなければ、共通ＳＳＯ部２２に正当性がない（アプリ認証が失敗した）と判定する。
【００７９】
アクセスコントローラ４３にはアプリ認証が成功したことを示すＯＫ又はアプリ認証が失敗したことを示すＮＧが返される。アプリ認証が成功した場合、アクセスコントローラ４３はステップＳ２６において、本来の依頼に対応したＡＰＩ層３５の処理ブロックに対して依頼を行う。
【００８０】
なお、図６のステップＳ７のアプリ認証処理の場合はアクセスコントローラ４３から認証ラッパ４２に対してサービス登録を依頼する。アプリ認証が失敗した場合、アクセスコントローラ４３は本来の依頼に対応したＡＰＩ層３５の処理ブロックに対して依頼を行わずに、アプリ認証に失敗した旨を共通ＳＳＯ部２２に通知する。
【００８１】
図１０のアプリ認証処理を必須とすることにより、サービス提供システム１０は不正なクライアントからのアクセスからリソースを守ることができる。
【００８２】
サービス登録処理は図１２に示すような手順によっても実現できる。図１２はサービス登録処理の他の例のシーケンス図である。図６のサービス登録処理は、それぞれのアプリケーション２１からサービス登録処理を行っていた。図１２のサービス登録処理は、それぞれのアプリケーション２１から行うのではなく、共通ＳＳＯ部２２から行う。図１２では共通ＳＳＯ部２２が記録したテナント認証情報を、それぞれのアプリケーション２１が利用するものである。共通ＳＳＯ部２２が一度記録したテナント認証情報は全てのアプリケーション２１が利用できる。
【００８３】
ステップＳ３１において、利用者は画像形成装置１１を利用するためのＭＦＰユーザＩＤ及びＭＦＰパスワードをオペパネ２０２に入力することで、画像形成装置１１にログインする。ログインに成功すると、画像形成装置１１はオペパネ２０２にトップ画面を表示する。
【００８４】
ステップＳ３２において、利用者はトップ画面からサービス登録画面を開き、オペパネ２０２にサービス登録画面を表示する。ステップＳ３３において、利用者はサービス登録画面にパスワードを入力し、共通ＳＳＯ部２２にサービス登録を要求する。
【００８５】
ステップＳ３４において、共通ＳＳＯ部２２は自身が保管しているアプリＩＤ及びアプリキーを取得する。ステップＳ３５において、共通ＳＳＯ部２２はパスワード、アプリＩＤ及びアプリキーを用いてサービス提供システム１０にサービス登録を依頼する。
【００８６】
ステップＳ３６において、サービス提供システム１０は図６のステップＳ７〜ステップＳ１４に示したサービス登録処理を行う。ステップＳ３７においてサービス提供システム１０はテナントＩＤを画像形成装置１１の共通ＳＳＯ部２２に返す。ステップＳ３８において、共通ＳＳＯ部２２はサービス提供システム１０から受信したテナントＩＤをテナント認証情報として図１３に示すようなテナント認証テーブルを記録する。図１３はテナント認証テーブルの一例の構成図である。図１３のテナント認証テーブルはサービス提供システム１０へのサービス登録の後に共通ＳＳＯ部２２がテナントＩＤ及びパスワードを紐付けて保存するものである。ステップＳ３９において、共通ＳＳＯ部２２は例えばオペパネ２０２にテナントＩＤを表示して、利用者にテナントＩＤを通知する。
【００８７】
《データ登録処理》
画像形成装置１１で動作するアプリケーション２１は、サービス提供システム１０の公開ＡＰＩ３４を用いて外部サービス装置１２の認証情報を保管するために図１４に示すようなデータ登録が必要となる。
【００８８】
図１４はデータ登録処理の一例のシーケンス図である。図１４のシーケンス図はアプリケーション２１がテナント認証情報を持つ場合の処理を示している。ステップＳ４１において利用者は画像形成装置１１を利用するためのＭＦＰユーザＩＤ及びＭＦＰパスワードをオペパネ２０２に入力することで画像形成装置１１にログインする。ログインに成功すると、画像形成装置１１はオペパネ２０２にトップ画面を表示する。ステップＳ４２において、利用者はトップ画面から利用したいアプリケーション２１を起動する。起動されたアプリケーション２１はオペパネ２０２にトップ画面を表示する。
【００８９】
ステップＳ４３において、利用者はトップ画面に外部サービス装置１２の認証情報としての外部サービスのユーザＩＤ及び外部サービスのパスワードを入力し、外部サービス情報の登録を要求する。
【００９０】
ステップＳ４４において、アプリケーション２１は自身で保持している暗号化鍵を取得する。なお、アプリケーション２１が保持する暗号化鍵は、アプリケーション２１毎に異なる。したがって、アプリケーション２１は他のアプリケーション２１により暗号化された認証情報を誤って取得したとしても復号できない。
【００９１】
ステップＳ４５において、アプリケーション２１はオペパネ２０２からログインしている利用者のＭＦＰユーザＩＤを取得する。ステップＳ４６において、アプリケーション２１は図９に示したようなテナント認証テーブルからＭＦＰユーザＩＤに紐付いたテナントＩＤ及びパスワードを取得する。
【００９２】
ステップＳ４７において、アプリケーション２１は利用者に入力された外部サービスのユーザＩＤ及び外部サービスのパスワードと、取得した暗号化鍵、テナントＩＤ及びパスワードとを用いて共通ＳＳＯ部２２にデータ登録を依頼する。
【００９３】
ステップＳ４８において、共通ＳＳＯ部２２は自身が保管しているアプリＩＤ及びアプリキーを取得する。また、ステップＳ４９において、共通ＳＳＯ部２２はテナント認証を行い、サービス提供システム１０の認証チケットを取得する。なお、ステップＳ４９のテナント認証の詳細は後述する。ここではサービス提供システム１０の認証チケットを取得できたものとして説明を続ける。
【００９４】
ステップＳ５０において、共通ＳＳＯ部２２は外部サービス装置１２の認証情報としての外部サービスのユーザＩＤ及び外部サービスのパスワードを、アプリケーション２１から受信した暗号化鍵で暗号化し、暗号化ユーザＩＤ及び暗号化パスワードを取得する。ステップＳ５１において、共通ＳＳＯ部２２は暗号化ユーザＩＤ、暗号化パスワード、ＭＦＰユーザＩＤ、外部サービス識別子、アプリＩＤ、アプリキー及び認証チケットを用いてサービス提供システム１０にデータ登録を依頼する。
【００９５】
ステップＳ５２において、サービス提供システム１０は認証チケットの正当性チェックを行う。なお、ステップＳ５２の認証チケットの正当性チェックの詳細は後述する。ここでは認証チケットの正当性チェックにより認証チケットが正当であったものとして説明を続ける。
【００９６】
認証チケットが正当であったため、アクセスコントローラ４３は暗号化ユーザＩＤ、暗号化パスワード、アプリＩＤ、ＭＦＰユーザＩＤ、テナントＩＤ、外部サービス識別子を用いてアプリデータ管理ラッパ４１にデータ登録を依頼する。
【００９７】
ステップＳ５４において、アプリデータ管理ラッパ４１は暗号化ユーザＩＤ、暗号化パスワード、アプリＩＤ、ＭＦＰユーザＩＤ、テナントＩＤ及び外部サービス識別子を用いてアプリデータ管理部６０にデータ登録を依頼する。アプリデータ管理部６０はステップＳ５５において、アプリケーション固有の設定情報記憶部７８に記憶されている図１５に示すようなアプリケーション固有の設定情報テーブルにデータ登録を行う。図１５はアプリケーション固有の設定情報テーブルの一例の構成図である。
【００９８】
アプリケーション固有の設定情報テーブルは外部サービス装置１２との連携以外での利用も想定しているため、汎用的なテーブル構成となっている。画像形成装置１１上で動作するアプリケーション２１によってアプリケーション固有の設定情報テーブルに保存されるデータは異なる。
【００９９】
図１５に示したアプリケーション固有の設定情報テーブルは項目としてアプリＩＤ、テナントＩＤ、Ｋｅｙ１、Ｋｅｙ２、Ｋｅｙ３、Ｖａｌｕｅを有する。外部サービス装置１２と連携する場合、アプリケーション固有の設定情報テーブルの項目は以下のように利用される。なお、図１５では上２つが外部サービス装置１２と連携する場合のレコードの一例である。
【０１００】
アプリＩＤは共通ＳＳＯ部２２が自身で保管しているアプリＩＤである。テナントＩＤはサービス提供システム１０が採番したテナントＩＤである。Ｋｅｙ１はＭＦＰユーザＩＤである。Ｋｅｙ２は外部サービス識別子である。Ｋｅｙ３は保管するデータ種別を保存するカラムである。Ｖａｌｕｅは保管するデータそのものである。
【０１０１】
例えば図１５の例では上から１番目のＫｅｙ３に暗号化ユーザＩＤを表すデータ種別として「Ｕｓｅｒ＿ｉｄ」が保存されている。図１５の例では上から２番目のＫｅｙ３に暗号化パスワードを表すデータ種別として「ｐａｓｓｗｏｒｄ」が保存されている。
【０１０２】
図１５のアプリケーション固有の設定情報テーブルはマルチテナントで構成されているため、アプリケーション固有の設定情報記憶部７８から情報を取得するためにステップＳ４９のテナント認証をパスする必要がある。
【０１０３】
なお、共通ＳＳＯ部２２がテナント認証情報を持つ場合は図１４のステップＳ４５及びＳ４６の処理が無くなる。共通ＳＳＯ部２２はステップＳ４７のデータ登録の依頼をアプリケーション２１から受け付けた後でオペパネ２０２からログインしている利用者のＭＦＰユーザＩＤを取得する。
【０１０４】
ステップＳ４９のテナント認証は例えば図１６に示すように行われる。図１６はテナント認証処理の一例のシーケンス図である。ステップＳ６１において、共通ＳＳＯ部２２は自身が保管しているアプリＩＤ及びアプリキーを取得する。ステップＳ６２において共通ＳＳＯ部２２は、サービス提供システム１０にテナントＩＤ、パスワード、アプリＩＤ及びアプリキーを用いてログインを依頼する。
【０１０５】
ログインの依頼を受け付けたサービス提供システム１０では、まず、ステップＳ６３においてアプリ認証を実施する。アプリ認証は図１０に示した処理である。ここでは共通ＳＳＯ部２２の正当性が確認された（アプリ認証にパスした）ものとして説明を続ける。
【０１０６】
ステップＳ６４において、アクセスコントローラ４３はテナントＩＤ及びパスワードを用いて認証ラッパ４２にログインを依頼する。ステップＳ６５において、認証ラッパ４２はテナントＩＤ及びパスワードを用いて認証・認可部５１にログインを依頼する。ここではログインに成功したものとして説明を続ける。
【０１０７】
ステップＳ６６において、認証・認可部５１は認証チケットを発行する。ステップＳ６７において、認証・認可部５１はチケット情報記憶部７９に記憶されている図１７に示すような認証チケットテーブルに、テナントＩＤ及びユーザＩＤと紐付けて発行した認証チケットを保存する。図１７は認証チケットテーブルの一例の構成図である。認証チケットテーブルはサービス提供システム１０が発行した認証チケットを管理する。テナントにより保護されたサービス提供システム１０のリソースにアクセスするためには、図１６のテナント認証により発行された認証チケットが必要となる。
【０１０８】
また、ステップＳ５２の認証チケットの正当性チェックは例えば図１８に示すように行われる。図１８は認証チケットの正当性チェック処理の一例のシーケンス図である。認証チケットで保護されたサービス提供システム１０のリソースを利用する場合、画像形成装置１１は認証チケットの正当性チェックをパスする必要がある。
【０１０９】
ステップＳ７１において、共通ＳＳＯ部２２は、図６のステップＳ３で入力されたパスワード、ステップＳ４８で取得したアプリＩＤ及びアプリキーを用いてサービス提供システム１０に公開ＡＰＩ３４の利用を依頼する。認証チケットの正当性チェックは公開ＡＰＩ３４の利用を依頼したときに行われる。
【０１１０】
公開ＡＰＩ３４を利用する依頼を受け付けたサービス提供システム１０では、ステップＳ６３においてアプリ認証を実施する。アプリ認証は図１０に示した処理である。ここでは共通ＳＳＯ部２２の正当性が確認された（アプリ認証にパスした）ものとして説明を続ける。
【０１１１】
ステップＳ７３において、アクセスコントローラ４３は認証チケットの正当性チェックを認証・認可部５１に依頼する。ステップＳ７５において、認証・認可部５１はステップＳ７４の正当性チェックの依頼に含まれていた認証チケットと、図１７に示したような認証チケットテーブルに記録されていた認証チケットとのマッチングを行う。認証・認可部５１は正当性チェックの依頼に含まれていた認証チケットが認証チケットテーブルに記録されていれば、認証チケットに正当性があると判定する。認証チケットに正当性があった場合、アクセスコントローラ４３はステップＳ７６において本来の依頼に対応したＡＰＩ層３５の処理ブロックに対して依頼を行う。
【０１１２】
《２台目以降の画像形成装置によるサービス登録処理》
２台目以降の画像形成装置１１によるサービス登録処理は例えば図１９に示すような手順で行われる。図１９は２台目以降のサービス登録処理の一例のシーケンス図である。
【０１１３】
ステップＳ８１において、利用者は画像形成装置１１を利用するためのＭＦＰユーザＩＤ及びＭＦＰパスワードをオペパネ２０２に入力することで画像形成装置１１にログインする。
【０１１４】
ログインに成功すると、画像形成装置１１はステップＳ８２においてアプリケーション２１を起動し、オペパネ２０２にトップ画面を表示する。ステップＳ８３において利用者はトップ画面にテナントＩＤ及びパスワードを入力し、サービス登録を要求する。トップ画面には利用者に１台目の画像形成装置１１によるサービス登録処理又は２台目以降の画像形成装置１１によるサービス登録処理を選択させる仕組みを設けてもよい。
【０１１５】
ステップＳ８４において、オペパネ２０２はログインしている利用者のＭＦＰユーザＩＤを取得する。ステップＳ８５において、オペパネ２０２はテナントＩＤ、パスワードを用いてアプリケーション２１にサービス登録を依頼する。ステップＳ８６において、アプリケーション２１はＭＦＰユーザＩＤ、テナントＩＤ及びパスワードをテナント認証情報として図９に示したテナント認証テーブルに記録する。
【０１１６】
このように図１９に示した２台目以降のサービス登録処理では１台目の画像形成装置１１によるサービス登録処理によりサービス提供システム１０が発行したテナントＩＤをテナント認証情報として記録する。したがって、２台目以降の画像形成装置１１はサービス提供システム１０に対し、１台目の画像形成装置１１と同じテナントＩＤで認証できるようになる。本実施形態の情報処理システム１ではサービス提供システム１０に対し、外部サービス装置１２の認証情報を一度登録することで、複数台の画像形成装置１１のアプリケーション２１から外部サービス装置１２の認証情報を利用できる。
【０１１７】
《外部サービス利用処理》
図２０は外部サービス利用処理の一例のシーケンス図である。ステップＳ１０１において利用者は画像形成装置１１を利用するためのＭＦＰユーザＩＤ及びＭＦＰパスワードをオペパネ２０２に入力することで画像形成装置１１にログインする。ログインに成功すると画像形成装置１１はオペパネ２０２にトップ画面を表示する。
【０１１８】
ステップＳ１０２において、利用者はトップ画面から利用したいアプリケーション２１を起動する。ステップＳ１０３において、利用者はオペパネ２０２から外部サービスの活用を要求する。
【０１１９】
ステップＳ１０４において、アプリケーション２１は自身で保持している暗号化鍵を取得する。ステップＳ１０５において、アプリケーション２１はオペパネ２０２からログインしている利用者のＭＦＰユーザＩＤを取得する。また、ステップＳ１０６においてアプリケーション２１は図９に示したようなテナント認証テーブルからＭＦＰユーザＩＤに紐付いたテナントＩＤ及びパスワードを取得する。
【０１２０】
ステップＳ１０７において、アプリケーション２１はオペパネ２０２からログインしている利用者のＭＦＰユーザＩＤと、取得した暗号化鍵、テナントＩＤ及びパスワードとを用いて共通ＳＳＯ部２２にデータ取得を依頼する。
【０１２１】
ステップＳ１０８において、共通ＳＳＯ部２２は自身が保管しているアプリＩＤ及びアプリキーを取得する。また、ステップＳ１０９において、共通ＳＳＯ部２２はテナント認証を行い、サービス提供システム１０の認証チケットを取得する。ここではサービス提供システム１０の認証チケットを取得できたものとして説明を続ける。
【０１２２】
ステップＳ１１０において、共通ＳＳＯ部２２はＭＦＰユーザＩＤ、外部サービス識別子、アプリＩＤ、アプリキー及び認証チケットを用いてデータ取得をサービス提供システム１０に依頼する。
【０１２３】
ステップＳ１１１において、サービス提供システム１０は図１８に示した認証チケットの正当性チェックを行う。ここでは認証チケットの正当性チェックにより認証チケットが正当であったものとして説明を続ける。認証チケットが正当であったため、アクセスコントローラ４３はアプリＩＤ、ＭＦＰユーザＩＤ、テナントＩＤを用いてアプリデータ管理ラッパ４１にデータ取得を依頼する。
【０１２４】
ステップＳ１１３において、アプリデータ管理ラッパ４１はアプリＩＤ、ＭＦＰユーザＩＤ、テナントＩＤを用いてアプリデータ管理部６０にデータ取得を依頼する。ステップＳ１１４において、アプリデータ管理部６０はアプリケーション固有の設定情報記憶部７８に記憶されている図１５に示したアプリケーション固有の設定情報テーブルからデータ取得を行う。アプリデータ管理部６０は図１５に示したアプリケーション固有の設定情報テーブルから暗号化ユーザＩＤ及び暗号化パスワードを取得する。
【０１２５】
アプリケーション固有の設定情報テーブルから取得された暗号化ユーザＩＤ及び暗号化パスワードは画像形成装置１１の共通ＳＳＯ部２２に返される。ステップＳ１１５において共通ＳＳＯ部２２は暗号化ユーザＩＤ及び暗号化パスワードを、アプリケーション２１から受信した暗号化鍵で復号し、外部サービス装置１２の認証情報としての外部サービスのユーザＩＤ及び外部サービスのパスワードを取得する。
【０１２６】
ステップＳ１１６において、共通ＳＳＯ部２２はステップＳ１１５の復号により取得した外部サービス装置１２の認証情報としての外部サービスのユーザＩＤ及び外部サービスのパスワードをアプリケーション２１に返す。このように、アプリケーション２１は外部サービス装置１２の認証情報としての外部サービスのユーザＩＤ及び外部サービスのパスワードを取得できる。
【０１２７】
ステップＳ１１７において、アプリケーション２１は外部サービス装置１２の認証情報としての外部サービスのユーザＩＤ及び外部サービスのパスワードを用いて外部サービス装置１２にログインする。ログインに成功すると、アプリケーション２１は外部サービス装置１２が発行するチケット（外部サービスチケット）を取得する。ステップＳ１１８において、アプリケーション２１は外部サービスチケットを用いることで外部サービス装置１２が提供する機能を利用できるようになる。
【０１２８】
図２０の外部サービス利用処理によれば、アプリケーション２１は共通ＳＳＯ部２２を介してサービス提供システム１０に保存した外部サービス装置１２の認証情報を取得することができる。サービス提供システム１０から取得する外部サービス装置１２の認証情報は例えば図２１に示すようになる。図２１は外部サービス装置の認証情報の一例の構成図である。したがって、アプリケーション２１はサービス提供システム１０から取得した外部サービス装置１２の認証情報を用いて外部サービス装置１２の機能を利用することができる。
［第２の実施形態］
第１の実施形態では、外部サービス装置１２の認証情報をサービス提供システム１０に保存していた。第２の実施形態では、外部サービス装置１２の認証情報を画像形成装置１１と同一のイントラネット等に設けた情報蓄積装置１３に保存させることもできる。
【０１２９】
図２２は第２の実施形態に係る情報処理システムの一例の構成図である。図２２の情報処理システム２は図１に示した情報処理システム１の構成に、情報蓄積装置１３とファイアウォールＦＷとが追加されている。図２２の情報処理システム２はネットワークＮ１とネットワークＮ２とがファイアウォールＦＷを介して接続されている。ネットワークＮ２には画像形成装置１１及び情報蓄積装置１３が接続されている。図２２の情報処理システム２では、画像形成装置１１と同一のネットワークＮ２に設けられた情報蓄積装置１３に外部サービス装置１２の認証情報を保存させることができる。
【０１３０】
情報処理システム２の場合、図１４のデータ登録処理のステップＳ４７の直後にデータ登録先としてサービス提供システム１０又は情報蓄積装置１３のどちらを使うかの判別を行う。データ登録先として情報蓄積装置１３を使うと判別された場合、共通ＳＳＯ部２２はステップＳ４７からステップＳ５１にスキップし、ステップＳ５１において情報蓄積装置１３へデータ登録を依頼する。
【０１３１】
また、情報処理システム２の場合、図２０の外部サービス利用処理のステップＳ１０７の直後にデータ取得先としてサービス提供システム１０又は情報蓄積装置１３のどちらを使うかの判別を行う。データ取得先として情報蓄積装置１３を使うと判別された場合、共通ＳＳＯ部２２はステップＳ１０７からステップＳ１１０にスキップし、ステップＳ１１０において情報蓄積装置１３にデータ取得を依頼する。
【０１３２】
また、本実施形態の情報処理システム１では共通ＳＳＯ部２２からサービス提供システム１０の公開ＡＰＩ３４を利用する例を説明したが、アプリケーション２１からサービス提供システム１０を利用することも可能である。この場合はアプリケーション２１ごとにアプリＩＤ及びアプリキーが発行される。アプリケーション２１はそれぞれに発行されたアプリＩＤ及びアプリキーを用いてサービス提供システム１０を利用できる。
【０１３３】
本実施形態の情報処理システム１では画像形成装置１１上で動作するアプリケーション２１の他、外部サービス装置１２、スマートフォンやＰＣなどの端末装置上で動作するアプリケーションからもサービス提供システム１０を利用できる。
【０１３４】
（まとめ）
本実施形態に係る情報処理システム１、２によれば、画像形成装置１１などの電子機器上で動作し、外部サービス装置１２と連携して処理を行うアプリケーション２１の開発及び運用を容易にすることができる。
【０１３５】
例えば本実施形態の情報処理システム１、２は外部サービス装置１２の認証情報を記憶する機能をアプリケーション２１からサービス提供システム１０に委譲することで、アプリケーション２１の開発工数を削減できる。
【０１３６】
また、画像形成装置１１上で動作するアプリケーション２１は一度、サービス提供システム１０に外部サービス装置１２の認証情報を登録することで、複数の画像形成装置１１において外部サービス装置１２の認証情報を共用できる。さらに、本実施形態の情報処理システム１、２では画像形成装置１１のリソース制限に依存することなく、外部サービス装置１２の認証情報を保持できる。画像形成装置１１に共通ＳＳＯ部２２を設けたことにより、画像形成装置１１上で動作するアプリケーション２１は共通ＳＳＯ部２２を利用することにより開発が容易となる。
【０１３７】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【０１３８】
なお、共通ＳＳＯ部２２は要求手段の一例である。アクセスコントローラ４３は、アクセス制御手段の一例である。アプリデータ管理ラッパ４１及びアプリデータ管理部６０はデータ管理手段の一例である。アプリＩＤ及びアプリキーは要求手段の識別情報の一例である。ＡＰＩ層３５は公開インタフェース層の一例である。プラットフォームＡＰＩ３６は非公開インタフェースの一例である。アプリデータ管理部６０はデータ取得手段の一例である。アプリデータ管理ラッパ４１は非公開インタフェース隠蔽手段の一例である。認証ラッパ４２及び認証・認可部５１は認証手段の一例である。テナントＩＤは電子機器の利用者をグループ化するグループの識別情報の一例である。
【符号の説明】
【０１３９】
１    情報処理システム
１０    サービス提供システム
１１    画像形成装置
１２    外部サービス装置
１３    情報蓄積装置
２１    アプリケーション
２２    共通ＳＳＯ（シングルサインオン）部
３１    既存サービス層
３２    共通サービス層
３３    データベース層
３４    公開ＡＰＩ
３５    ＡＰＩ層
３６    プラットフォームＡＰＩ
３７    プラットフォーム層
４１    アプリデータ管理ラッパ
４２    認証ラッパ
４３    アクセスコントローラ（Ａｃｃｅｓｓ  ｃｏｎｔｒｏｌｌｅｒ）
５１    認証・認可部
５２    テナント管理部
５３    ユーザ管理部
５４    ライセンス管理部
５５    機器管理部
５６    一時画像保存部
５７    ログ収集部
５８    チケット管理部
５９    アプリ管理部
６０    アプリデータ管理部
６１    画像処理ワークフロー制御部
７１    ログ情報記憶部
７２    テナント情報記憶部
７３    ユーザ情報記憶部
７４    ライセンス情報記憶部
７５    機器情報記憶部
７６    一時画像記憶部
７７    ジョブ情報記憶部
７８    アプリケーション固有の設定情報記憶部
７９    チケット情報記憶部
８０    アプリ情報記憶部
１００    コンピュータ
１０１    入力装置
１０２    表示装置
１０３    外部Ｉ／Ｆ
１０３ａ    記録媒体
１０４    ＲＡＭ
１０５    ＲＯＭ
１０６    ＣＰＵ
１０７    通信Ｉ／Ｆ
１０８    ＨＤＤ
２０１    コントローラ
２０２    操作パネル（オペパネ）
２０３    外部Ｉ／Ｆ
２０３ａ    記録媒体
２０４    通信Ｉ／Ｆ
２０５    プリンタ
２０６    スキャナ
２１１    ＣＰＵ
２１２    ＲＡＭ
２１３    ＲＯＭ
２１４    ＮＶＲＡＭ
２１５    ＨＤＤ
Ｂ    バス
ＦＷ    ファイヤウォール
Ｎ１、Ｎ２    ネットワーク
【先行技術文献】
【特許文献】
【０１４０】
【特許文献１】特開２００１−２０９６１１号公報
【図１】
2015172824.tif 000003
【図２】
2015172824.tif 000004
【図３】
2015172824.tif 000005
【図４】
2015172824.tif 000006
【図５】
2015172824.tif 000007
【図６】
2015172824.tif 000008
【図７】
2015172824.tif 000009
【図８】
2015172824.tif 000010
【図９】
2015172824.tif 000011
【図１０】
2015172824.tif 000012
【図１１】
2015172824.tif 000013
【図１２】
2015172824.tif 000014
【図１３】
2015172824.tif 000015
【図１４】
2015172824.tif 000016
【図１５】
2015172824.tif 000017
【図１６】
2015172824.tif 000018
【図１７】
2015172824.tif 000019
【図１８】
2015172824.tif 000020
【図１９】
2015172824.tif 000021
【図２０】
2015172824.tif 000022
【図２１】
2015172824.tif 000023
【図２２】
2015172824.tif 000024