(57)【要約】【課題】連携元のアカウントで認証要求があった場合、連携元のアカウントが外部認証装置のアカウントに関係付けられている場合に、パスワード等の秘情報を必要とせずに外部認証装置のアカウントの有効性を確認することを可能とする情報処理装置、情報処理システム及びプログラムを提供する。【解決手段】サービス提供装置２は、外部ストレージ装置９が提供するサービスを利用するための第１のアカウント情報による認証要求を受け付ける受付手段と、受け付けられた第１のアカウント情報が外部認証基盤装置８が提供するサービスを利用するための第２のアカウント情報に関係付けられている場合は、第２のアカウント情報が登録されているか否かを外部認証基盤装置８に問い合わせる問合せ手段とを備える。【選択図】図１
2019075006.tif 000002
【特許請求の範囲】
【請求項１】
連携元が提供するサービスを利用するためのアカウントを識別する第１のアカウント情報による認証要求を受け付ける受付手段と、
受け付けられた前記第１のアカウント情報が外部認証装置が提供するサービスを利用するためのアカウントを識別する第２のアカウント情報に関係付けられている場合は、前記第２のアカウント情報が登録されているか否かを前記外部認証装置に問い合わせる問合せ手段と、
を備えた情報処理装置。
【請求項２】
前記第１のアカウント情報と、前記第２のアカウント情報と、前記第２のアカウント情報の登録確認用の識別情報とを関連付けて記憶する記憶手段を、さらに備え、
前記問合せ手段は、前記受付手段が受け付けた前記第１のアカウント情報に対応する前記登録確認用の識別情報を前記記憶手段から取得し、前記登録確認用の識別情報に基づいて前記第２のアカウント情報が登録されているか否かを前記外部認証装置に問い合わせる、
請求項１に記載の情報処理装置。
【請求項３】
前記外部認証装置から前記第２のアカウント情報が登録されている旨の応答を受信した場合、前記本装置が提供するサービスの利用を認可する認可手段、
を更に備えた請求項１又は２に記載の情報処理装置。
【請求項４】
前記問合せ手段は、前記第１のアカウント情報が本装置が提供するサービスを利用するためのアカウントを識別する第３のアカウント情報に関連付けられている場合、前記問い合わせを行わず、
前記認可手段は、前記本装置が提供するサービスの利用を認可する、
請求項３に記載の情報処理装置。
【請求項５】
前記外部認証装置から前記第２のアカウント情報が登録されていない旨の応答を受信した場合、前記認可手段は、前記本装置が提供するサービスの利用を認可しない、
請求項３又は４に記載の情報処理装置。
【請求項６】
前記外部認証装置から前記第２のアカウント情報が登録されていない旨の応答を受信した場合、前記記憶手段から対応する情報を削除して更新する更新手段、
を更に備えた請求項５に記載の情報処理装置。
【請求項７】
前記記憶手段は、前記第１のアカウント情報と、前記第２のアカウント情報と、前記第２のアカウント情報の登録確認用の識別情報と、さらに前記第３のアカウント情報と、前記第３のアカウント情報の登録確認用の識別情報とを関連付けて記憶し、
前記受付手段が受け付けた前記第1のアカウント情報が関連付けられて前記記憶手段に記憶されている前記登録確認用の識別情報が複数取得された場合は、選択画面を認証要求元に提示していずれかを選択させる、
請求項２から６のいずれか１項に記載の情報処理装置。
【請求項８】
連携元が提供するサービスを利用するためのアカウントを識別する第１のアカウント情報と、外部認証装置が提供するサービスを利用するためのアカウントを識別する第２のアカウント情報と、前記第２のアカウント情報の登録確認用の識別情報とを関連付けて記憶する記憶手段と、
前記第１のアカウント情報による認証要求を受け付ける受付手段と、
受け付けられた前記第１のアカウント情報が前記第２のアカウント情報に関係付けられたものである場合は、前記第１のアカウント情報に対応する前記登録確認用の識別情報を前記記憶手段から取得し、前記登録確認用の識別情報に基づいて前記第２のアカウント情報が登録されているか否かを前記外部認証装置に問い合わせる問合せ手段と、
を備えた情報処理システム。
【請求項９】
コンピュータを、
連携元が提供するサービスを利用するためのアカウントを識別する第１のアカウント情報による認証要求を受け付ける受付手段と、
受け付けられた前記第１のアカウント情報が外部認証装置が提供するサービスを利用するためのアカウントを識別する第２のアカウント情報に関係付けられている場合は、前記第２のアカウント情報が登録されているか否かを前記外部認証装置に問い合わせる問合せ手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システム及びプログラムに関する。
【背景技術】
【０００２】
近年、一度のログオンにより複数のサービスを利用可能とするシングルサインオンシステムが提案されている（例えば、特許文献１参照。）。
【０００３】
特許文献１に記載されたシングルサインオンシステムは、連携元Ｗｅｂサイトにおけるユーザアカウント（連携元のアカウント）と連携先Ｗｅｂサイトにおけるユーザアカウント（連携先のアカウント）とが対応付けられたマッピングテーブルを記憶し、連携元Ｗｅｂサイトにおけるアカウント情報を取得し、取得したアカウント情報をマッピングテーブルを用いて連携先Ｗｅｂサイトのアカウント情報に変換し、変換されたアカウント情報を用いて連携先Ｗｅｂサイトにアクセスするべく、ユーザに当該アカウント情報を返送するものである。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−１４９２３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
連携元のアカウントと連携先のアカウントとが関係付けられたテーブルのみで認証の連携を行い、自装置が提供するサービスを利用させようとしたとき、既に連携先のアカウントが連携先で登録抹消になっている場合がある。このような場合は、連携先の実在しないアカウントに対してサービスの利用が許可されてしまうことになる。
【０００６】
本発明の課題は、連携元のアカウントで認証要求があった場合、連携元のアカウントが外部認証装置のアカウントに関係付けられている場合に、パスワード等の秘情報を必要とせずに外部認証装置のアカウントの有効性を確認することを可能とする情報処理装置、情報処理システム及びプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
［１］連携元が提供するサービスを利用するための第１のアカウント情報による認証要求を受け付ける受付手段と、
受け付けられた前記第１のアカウント情報が外部認証装置が提供するサービスを利用するための第２のアカウント情報に関係付けられている場合は、前記第２のアカウント情報が登録されているか否かを前記外部認証装置に問い合わせる問合せ手段と、を備えた情報処理装置。
［２］前記第１のアカウント情報と、前記第２のアカウント情報と、前記第２のアカウント情報の登録確認用の識別情報とを関連付けて記憶する記憶手段を、さらに備え、
前記問合せ手段は、前記受付手段が受け付けた前記第１のアカウント情報に対応する前記登録確認用の識別情報を前記記憶手段から取得し、前記登録確認用の識別情報に基づいて前記第２のアカウント情報が登録されているか否かを前記外部認証装置に問い合わせる、前記［１］に記載の情報処理装置。
［３］前記外部認証装置から前記第２のアカウント情報が登録されている旨の応答を受信した場合、前記本装置が提供するサービスの利用を認可する認可手段、をさらに備えた前記［１］又は［２］に記載の情報処理装置。
［４］前記問合せ手段は、前記第１のアカウント情報が本装置が提供するサービスを利用するための第３のアカウント情報に関連付けられている場合、前記問い合わせを行わず、
前記認可手段は、前記本装置が提供するサービスの利用を認可する、前記［３］に記載の情報処理装置。
［５］前記外部認証装置から前記第２のアカウント情報が登録されていない旨の応答を受信した場合、前記認可手段は、前記本装置が提供するサービスの利用を認可しない、前記［３］又は［４］に記載の情報処理装置。
［６］前記外部認証装置から前記第２のアカウント情報が登録されていない旨の応答を受信した場合、前記記憶手段から対応する情報を削除して更新する更新手段、を更に備えた前記［５］に記載の情報処理装置。
［７］前記記憶手段は、前記第１のアカウント情報と、前記第２のアカウント情報と、前記第２のアカウント情報の登録確認用の識別情報と、さらに前記第３のアカウント情報と、前記第３のアカウント情報の登録確認用の識別情報とを関連付けて記憶し、
前記受付手段が受け付けた前記第1のアカウント情報に関連付けられて前記記憶手段に記憶されている前記登録確認用の識別情報が複数取得された場合は、選択画面を認証要求元に提示していずれかを選択させる、前記［２］から［６］のいずれかに記載の情報処理装置。
［８］連携元が提供するサービスを利用するためのアカウントを識別する第１のアカウント情報と、外部認証装置が提供するサービスを利用するためのアカウントを識別する第２のアカウント情報と、前記第２のアカウント情報の登録確認用の識別情報とを関連付けて記憶する記憶手段と、
前記第１のアカウント情報による認証要求を受け付ける受付手段と、
受け付けられた前記第１のアカウント情報が前記第２のアカウント情報に関係付けられたものである場合は、前記第１のアカウント情報に対応する前記登録確認用の識別情報を前記記憶手段から取得し、前記登録確認用の識別情報に基づいて前記第２のアカウント情報が登録されているか否かを前記外部認証装置に問い合わせる問合せ手段と、を備えた情報処理システム。
［９］コンピュータを、連携元が提供するサービスを利用するためのアカウントを識別する第１のアカウント情報による認証要求を受け付ける受付手段と、
受け付けられた前記第１のアカウント情報が外部認証装置が提供するサービスを利用するためのアカウントを識別する第２のアカウント情報に関係付けられている場合は、前記第２のアカウント情報が登録されているか否かを前記外部認証装置に問い合わせる問合せ手段、として機能させるためのプログラム。
【発明の効果】
【０００８】
請求項１、８、９に係る発明によれば、連携元のアカウントで認証要求があった場合、連携元のアカウントが外部認証装置のアカウントに関係付けられている場合に、パスワード等の秘情報を必要とせずに外部認証装置のアカウントの有効性を確認することが可能になる。
請求項２に係る発明によれば、登録確認用の識別情報で問い合わせることにより、第２のアカウントが登録されているか否かの応答を受信することができる。
請求項３、４に係る発明によれば、認可のための入力作業を省くことができる。
請求項５に係る発明によれば、実在していないアカウントが使用されるのを抑制することができる。
請求項６に係る発明によれば、管理者の更新作業の手間を省くことができる。
請求項７に係る発明によれば、複数のアカウントを有するユーザに対応することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、本発明の実施の形態に係るサービス提供システムの構成例を示す図である。
【図２】図２は、サービス提供装置の制御系の一例を示す図である。
【図３】図３は、紐付情報テーブルの一例を示す図である。
【図４】図４は、アカウント管理テーブルの一例を示す図である。
【図５】図５は、アクセス用情報テーブルの一例を示す図である。
【図６】図６は、サービス提供装置の動作の一例を示すフローチャートである。
【図７】図７は、サービス提供装置の動作の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明の実施の形態について図面を参照して説明する。なお、各図中、実質的に同一の機能を有する構成要素については、同一の符号を付してその重複した説明を省略する。
【００１１】
［実施の形態の要約］
本発明の実施の形態に係る情報処理装置は、連携元が提供するサービスを利用するための第１のアカウント情報による認証要求を受け付ける受付手段と、受け付けられた第１のアカウント情報が外部認証装置が提供するサービスを利用するための第２のアカウント情報に関係付けられている場合は、第２のアカウント情報が登録されているか否かを外部認証装置に問い合わせる問合せ手段と、を備える。
【００１２】
「アカウント」とは、サービスを提供する側にログインするための権利をいう。「アカウント情報」とは、アカウントを一意的に識別する情報をいい、例えば、アカウントＩＤが該当する。「本装置が提供するサービス」には、インターネット等の外部ネットワークに接続された外部（例えば、サーバやサイト）と連携したサービスも含まれる。「外部認証装置」とは、インターネット等の外部ネットワークに接続された認証機能を有する装置をいう。「認証」とは、認証情報に基づいて、端末装置のユーザ（管理者も含む。）が予め登録されたユーザであると認めることをいう。
【００１３】
［実施の形態］
図１は、本発明の実施の形態に係るサービス提供システムの構成例を示す図である。このサービス提供システム１は、サービス提供装置２と、画像形成装置３と、管理者端末装置４Ａと、ユーザ端末装置４Ｂとを備える。
【００１４】
サービス提供装置２、画像形成装置３、管理者端末装置４Ａ及びユーザ端末装置４Ｂは、内部ネットワーク５を介して互いに接続されている。
【００１５】
内部ネットワーク５は、ファイアウォール（ＦＷ）６を介してインターネット等の外部ネットワーク７に接続されている。外部ネットワーク７上には、複数（例えば、３つ）の外部認証基盤装置８Ａ、８Ｂ、８Ｃ（これらを総称するときは「外部認証基盤装置８」ともいう。）及び外部ストレージ装置９が設置されている。
【００１６】
ファイアウォール６よりも内部ネットワーク５側を「サービス側」ともいう。管理者端末装置４Ａは、管理者が使用するものである。ユーザ端末装置４Ｂは、管理者以外のユーザが使用するものである。
【００１７】
サービス提供システム１は、情報処理システムの一例である。サービス提供装置２は、情報処理装置の一例である。画像形成装置３は、１つに限られず、複数でもよい。ユーザ端末装置４Ｂは、図１では１つのみを図示するが、通常は複数のユーザ端末装置４Ｂが内部ネットワーク５に接続されている。ユーザ端末装置４Ｂは、認証要求元の一例である。管理者端末装置４Ａ及びユーザ端末装置４Ｂを総称するときは端末装置４ともいう。外部認証基盤装置８は、外部認証装置及び連携先の一例である。外部ストレージ装置９は、１つに限られず、複数でもよい。外部ストレージ装置９は、連携元の一例である。サービス提供装置２は、外部ストレージ装置９を連携元とした場合は、連携先になり得る。外部認証基盤装置８は、外部ストレージ装置９又はサービス提供装置２を連携元とした場合、連携先になり得る。
【００１８】
サービス提供装置２は、ユーザの認証情報（例えば、ユーザＩＤ及びパスワード）の適否を判定する認証処理、及び認証処理後にユーザがサービスを利用する権限の有無を判定する認可処理を行う。ユーザが外部認証基盤装置８が提供するサービスを利用するためのアカウントを持っている場合は、サービス提供装置２は、認証処理を省いて認可処理を行う。これによりシングルサインオンを実現している。シングルサインオンとは、一度の認証で複数のサービスを利用できることをいう。サービス提供装置２は、認証及び認可されたユーザに、内部ネットワーク５を介してサービスの利用を認める。サービス提供装置２が提供するサービス（以下、「本サービス」ともいう。）には、例えば、プリントサービス、外部ストレージ装置９と連携したストレージサービス、外部ネットワーク７上の外部クラウドサーバと連携した外部プリントサービス等がある。外部プリントサービスは、外部クラウドサーバが管理するプリンタから印刷出力するサービスである。
【００１９】
画像形成装置３は、例えば、コピー機能、スキャン機能、プリント機能、ファクシミリ機能等の複数の機能を有する複合機である。画像形成装置３は、ＣＰＵ、インターフェース等によって実現され、画像形成装置３の各部を制御する制御部と、ＣＰＵのプログラムや各種のデータを記憶する記憶部と、各種の画面を表示するとともに画面に対する操作を受け付ける操作表示部とを備える。プログラムには、Ｗｅｂページを閲覧するためのＷｅｂブラウザが含まれる。操作表示部は、例えば、液晶ディスプレイ等の表示部にタッチパネルが重合配置されたタッチパネルディスプレイを有する。画像形成装置３は、サービス提供装置２が提供するプリントサービスが利用された場合は、プリント出力先の候補になるものである。
【００２０】
管理者端末装置４Ａは、ＣＰＵ、インターフェース等によって実現され、管理者端末装置４Ａの各部を制御する制御部と、ＣＰＵのプログラムや各種のデータを記憶する記憶部と、キーボード、マウス等によって実現される入力部と、液晶ディスプレイ等によって実現される表示部とを備える。プログラムには、Ｗｅｂページを閲覧するためのＷｅｂブラウザが含まれる。管理者端末装置４Ａは、例えば、パーソナルコンピュータ（ＰＣ）、多機能携帯電話機（スマートフォン）等の情報処理装置を用いることができる。ユーザ端末装置４Ｂも管理者端末装置４Ａと同様に構成されている。
【００２１】
内部ネットワーク５は、企業等の組織の内部のコンピュータや機器を接続するコンピュータネットワークであり、例えばＬＡＮ（ローカルエリアネットワーク）やイントラネット等により構成されており、有線、無線は問わない。
【００２２】
ファイアウォール６は、外部からの不正なアクセスや侵入を防止することを目的としており、端末装置４から外部ネットワーク７への要求とその要求に対する応答は通過させるが、外部ネットワーク７側から端末装置４への要求は通過させないように設定されている。
【００２３】
外部認証基盤装置８は、例えば、Microsoft社、Yahoo社、Google社等のＩＤプロバイダ（認証プロバイダともいう。）が管理するものである。これらのＩＤプロバイダは、Microsoft Azure Active Directory（AD）(Microsoft、Active Directoryはそれぞれ登録商標)、Yahoo！（登録商標）、Google Accounts（Googleは登録商標）等のサービス名でソーシャル・ネットワーキング・サービス（ＳＮＳ：Social Network Service）を提供する。以下、外部認証基盤装置８Ａ、８Ｂ、８Ｃを管理するＩＤプロバイダの名称をそれぞれ「プロバイダＡ」、「プロバイダＢ」、「プロバイダＣ」とする。
【００２４】
外部ストレージ装置９は、データやプログラム等をクラウド上（ここでは外部ネットワ−ク７上）に保存するストレージサービスを提供するものである。外部ストレージ装置９が提供するストレージサービスを利用するためには専用のアカウントＩＤ（連携元アカウントＩＤ）が必要であるが、外部認証基盤装置８用の連携先アカウントＩＤで認証されたユーザに対しては、本サービスを利用できるように構成されている。
【００２５】
図２は、サービス提供装置２の制御系の一例を示す図である。サービス提供装置２は、サービス提供装置２の各部を制御する制御部２０と、各種の情報を記憶する記憶部２１と、通信部２２とを備える。
【００２６】
制御部２０は、ＣＰＵ（Central Processing Unit）、インターフェース等から構成されている。ＣＰＵは、記憶部２１に記憶されたプログラム２１０に従って動作することにより要求受付手段２０１、ユーザ種別判定手段２０２、ユーザ存在確認手段２０３、アカウント情報更新手段２０４等として機能する。ユーザ存在確認手段２０３は、問合せ手段及び認可手段の一例である。各手段２０１〜２０４の詳細は後述する。
【００２７】
記憶部２１は、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、ハードディスク等から構成され、プログラム２１０、紐付情報テーブル２１１（図３参照）、アカウント管理テーブル２１２（図４参照）、アクセス用情報テーブル２１３（図５参照）等が記憶されている。なお、本明細書において、テーブルに情報を書き込む場合に記録又は登録を用い、記憶部に情報を書き込む場合に記憶を用いる。
【００２８】
通信部２２は、ＮＩＣ（Network Interface Card）等によって実現され、内部ネットワーク５を介して画像形成装置３及び端末装置４と通信するとともに、内部ネットワーク５、ＦＷ６及び外部ネットワーク７を介して外部認証基盤装置８、外部ストレージ装置９等の外部の装置と通信する。
【００２９】
図３は、紐付情報テーブル２１１の一例を示す図である。紐付情報テーブル２１１は、連携元アカウントＩＤ、連携先アカウントＩＤ等の項目を含む。連携元アカウントＩＤの項目には、連携元としての外部ストレージ装置９からユーザに与えられたアカウントＩＤが記録される。連携先アカウントＩＤの項目には、連携先としてのサービス提供装置２又は外部認証基盤装置８からユーザに与えられたアカウントＩＤが記録される。
【００３０】
連携元アカウントＩＤは、ユーザが連携元のサービスを利用するためのアカウントの識別情報であり、連携元におけるユーザを一意に識別する情報でもある。連携先アカウントＩＤは、ユーザが連携先のサービスを利用するためのアカウントの識別情報であり、連携先におけるユーザを一意に識別する情報でもある。連携元アカウントＩＤ及び連携先アカウントＩＤは、認証情報及び紐付情報の一例である。連携元アカウントＩＤは、第１のアカウント情報の一例である。外部認証基盤装置８が提供するサービスを利用するための連携先アカウントＩＤは、第２のアカウント情報の一例である。サービス提供装置２が提供するサービスを利用するための連携先アカウントＩＤは、第３のアカウント情報の一例である。
【００３１】
ユーザがユーザ端末装置４Ｂから連携元の外部ストレージ装置９に初めてログインし、ユーザ端末装置４Ｂから認証情報（例えば、メールアドレス及びパスワード）を外部ストレージ装置９に送信して認証されると、外部ストレージ装置９から認証結果情報（例えば、認証結果、連携元アカウントＩＤ、メールアドレス等）がサービス提供装置２に通知される。さらに、ユーザがユーザ端末装置４Ｂに表示される連携先選択画面で連携先として外部認証基盤装置８を選択し、ユーザ端末装置４Ｂから認証情報（例えば、ユーザＩＤ及びパスワード）を外部認証基盤装置８に送信して認証されると、外部認証基盤装置８から認証結果情報（例えば、認証結果、連携先アカウントＩＤ、ユーザＩＤ、氏名、ディレクトリＩＤ、メールアドレス等）がサービス提供装置２に通知される。サービス提供装置２の制御部２０は、通知された認証結果情報に含まれる連携元アカウントＩＤ及び連携先アカウントＩＤを紐付けて紐付情報テーブル２１１に登録する。「ディレクトリ」とは、例えば、ユーザが所属する企業内の部署、グループ、チーム等をいう。ディレクトリＩＤは、ディレクトリを識別する識別情報である。本明細書において、紐付けとは、関係付けることを意味する。
【００３２】
図４は、アカウント管理テーブル２１２の一例を示す図である。アカウント管理テーブル２１２は、連携先アカウントＩＤ、メールアドレス、姓、名、認証基盤種別、認証基盤側の固有ＩＤ、ディレクトリＩＤ（図示せず）、テナントＩＤ（図示せず）等の項目を含む。連携先アカウントＩＤの項目には、図３に示す紐付情報テーブル２１１と同じ連携先から与えられたアカウントＩＤが記録される。メールアドレスの項目には、ユーザが使用するユーザ端末装置４Ｂのメールアドレスが記録される。メールアドレスは、アドレス情報の一例である。姓の項目には、ユーザの氏名のうち姓が記録される。名の項目には、ユーザの氏名のうち名が記録される。認証基盤種別の項目には、外部認証基盤装置８を管理するプロバイダ名又はサービス提供装置２を示すローカルが記録される。認証基盤側の固有ＩＤの項目には、連携先でユーザが存在することを確認するためのＩＤが記録される。ディレクトリＩＤの項目には、外部認証基盤装置８から通知された認証結果情報に含まれるディレクトリＩＤが記録される。テナントＩＤの項目には、ディレクトリＩＤに対応するテナントＩＤが記録される。認証基盤側の固有ＩＤは、第２のアカウント情報の登録確認用の識別情報の一例である。認証基盤側の固有ＩＤは、連携元アカウントＩＤと連携先アカウントＩＤを関係付ける際に認証基盤装置８が管理者を認証するのに使用される。「テナント」とは、例えば、ユーザがアクセスできる企業内の部署、グループ、チーム等の組織をいい、ユーザが所属する組織が含まれる場合もある。テナントＩＤとは、テナントを識別する識別情報である。
【００３３】
図５は、アクセス用情報テーブル２１３の一例を示す図である。アクセス用情報テーブル２１３は、認証基盤種別、存在確認用ＡＰＩ（Application  Programming  Interface）、ＡＰＩアクセス用情報等の項目を含む。認証基盤種別の項目には、外部認証基盤装置８を管理するプロバイダ名が記録される。存在確認用ＡＰＩの項目には、ＡＰＩが記録される。ＡＰＩアクセス用情報の項目には、ＡＰＩにアクセスするための情報が記録される。ＡＰＩとは、ソフトウェアの機能を外部（ここではサービス提供装置２のプログラム２１０）から呼び出して利用するための手順やデータ形式等を定めたインターフェースをいう。サービス提供装置２がＡＰＩを用いて外部認証基盤装置８にリード要求を行うと、外部認証基盤装置８はリードデータ（当該ユーザの存在を示すデータ）を返信する。存在確認用ＡＰＩ及びＡＰＩアクセス用情報は、外部認証基盤装置８により一般公開されており、予めサービス提供装置２が取得し、アクセス用情報テーブル２１３に記録しておく。
【００３４】
記憶部２１は、連携元アカウントＩＤ及び連携先アカウントＩＤを関連付けて登録した紐付情報テーブル２１１と、連携先アカウントＩＤ及び認証基盤側の固有ＩＤを関連付けて登録したアカウント管理テーブル２１２を記憶することにより、連携元アカウントＩＤ、連携先アカウントＩＤ及び認証基盤側の固有ＩＤを関連付けて記憶することになる。
【００３５】
次に、サービス提供装置２の各手段２０１〜２０４を説明する。
【００３６】
要求受付手段２０１は、ユーザ端末装置２Ｂから連携元アカウントＩＤによる認証要求を受け付ける。
【００３７】
ユーザ種別判定手段２０２は、要求受付手段２０１から渡された連携元アカウントＩＤに対応する連携先アカウントＩＤが存在するか否かを紐付情報テーブル２１１を参照して判定する。また、ユーザ種別判定手段２０２は、アカウント管理テーブル２１２を参照して連携先が外部（外部基盤装置８）か否か（ローカル）を判定する。
【００３８】
ユーザ存在確認手段２０３は、ユーザ種別判定手段２０２により連携先が外部と判定された場合、連携先アカウントＩＤを有するユーザの存在確認を行う。すなわち、ユーザ存在確認手段２０３は、アクセス用情報テーブル２１３の存在確認用ＡＰＩにアクセスし、認証基盤側の固有ＩＤ及びＡＰＩアクセス用情報を用いて連携先アカウントＩＤが登録されているか否かを外部認証基盤装置８に問い合わせる。
【００３９】
また、ユーザ存在確認手段２０３は、連携先から連携先アカウントが登録されている旨の応答を受信した場合、本サービスの利用をテナントＩＤに設定されている権限の範囲内で認可する。なお、ユーザ存在確認手段２０３は、連携先アカウントＩＤが自装置のサービスを利用するためのアカウントである場合、問い合わせを行わず、本サービスの利用をテナントＩＤに設定されている権限の範囲内で認可する。
【００４０】
また、ユーザ存在確認手段２０３は、認証基盤側の固有ＩＤを複数取得できた場合は、選択画面を認証要求元としてのユーザ端末装置４Ｂに提示していずれかを選択させる。
【００４１】
アカウント情報更新手段２０４は、ユーザ存在確認手段２０３により連携先アカウントＩＤが登録されていることが確認された場合、外部ストレージ装置９及び外部基盤装置８から取得した情報でアカウント管理テーブル２１２を更新する。また、アカウント情報更新手段２０４は、ユーザ存在確認手段２０３により連携先アカウントＩＤが登録されていないことが確認された場合、紐付情報テーブル２１１及びアカウント管理テーブル２１２から対応するレコードを削除して更新する。
【００４２】
（実施の形態の動作）
次に、サービス提供システム１の動作の一例について、図６及び図７のフローチャートに従って説明する。
【００４３】
（１）認証要求の受付から認証開始までのフロー
サービス提供装置２の要求受付手段２０１は、ユーザ端末装置４Ｂから連携元アカウントＩＤについて認証要求を受け付けると（Ｓ１）、制御部２０は連携元アカウントＩＤを検証する。すなわち、連携元アカウントＩＤを連携元に送信して連携元アカウントＩＤが真正なものか否かの検証を依頼する（Ｓ２）。制御部２０は、検証成功の検証結果を連携元から受け取ると（Ｓ３：Ｙｅｓ）、図７に示す連携先認証処理を行う（Ｓ４）。
【００４４】
制御部２０は、検証失敗の検証結果を連携元から受け取ると（Ｓ３：Ｎｏ）、認証エラーをユーザ端末装置４Ｂに通知する（Ｓ５）。
【００４５】
（２）連携先認証処理
ユーザ種別判定手段２０２は、要求受付手段２０１から渡された連携元アカウントＩＤに対応する連携先アカウントＩＤが存在するか否かを図３に示す紐付情報テーブル２１１を参照して判定する（Ｓ４１）。例えば、連携元アカウントＩＤが「111_222_333」の場合、対応する連携先アカウントＩＤの「１」が存在すると判定する。
【００４６】
連携元アカウントＩＤに対応する連携先アカウントＩＤが存在する場合（Ｓ４２：Ｙｅｓ）、ユーザ種別判定手段２０２は、図４に示すアカウント管理テーブル２１２の連携先アカウントＩＤに対応する認証基盤種別の項目を参照し（Ｓ４３）、連携先が外部か否かを判定する（Ｓ４４）。例えば、認証基盤種別がローカル以外は連携先が外部であると判定する。連携先アカウントＩＤが「１」の場合は、それに対応する認証基盤種別はプロバイダＡであるので、連携先が外部であると判定する。なお、紐付情報テーブル２１１において、連携元アカウントＩＤに対応する連携先アカウントＩＤが複数登録されている場合は、対応する連携先アカウントＩＤの一覧画面をユーザ端末装置４Ｂに表示させ、連携先をユーザに選択させる。なお、連携先アカウントＩＤではユーザが認証基盤種別を認識できないことも考えられる。そのため、例えば、アカウント管理テーブル２１２を参照して連携先アカウントＩＤに対応する認証基盤種別を特定して連携先アカウントＩＤの一覧画面を構成するようにしてもよい。この一覧画面には、連携先が外部となる認証基盤種別のみ表示してもよいし、ローカルを含めたすべての認証基盤種別を表示してもよい。
【００４７】
連携先が外部の場合は（Ｓ４４：Ｙｅｓ）、連携先アカウントＩＤを有するユーザの存在確認を行う（Ｓ４５）。すなわち、ユーザ存在確認手段２０３は、図５に示すアクセス用情報テーブル２１３の存在確認用ＡＰＩにアクセスし、認証基盤側の固有ＩＤ及びＡＰＩアクセス用情報を用いて連携先アカウントＩＤが登録されているか否かを当該外部の外部認証基盤装置８に問い合わせる。ユーザの存在確認では、連携先アカウントＩＤ、認証基盤側の固有ＩＤ及びＡＰＩアクセス用情報を用いるため、パスワード等の秘情報を必要としない。
【００４８】
外部認証基盤装置８から存在する旨の応答が得られた場合は（Ｓ４６：Ｙｅｓ）、アカウント情報更新手段２０４は、連携先アカウントＩＤ、メールアドレス、氏名等を含むキャッシュ済情報でアカウント管理テーブル２１２を更新する（Ｓ４７）。ユーザ存在確認手段２０３は、認証成功を示す認証結果をユーザ端末装置４Ｂに通知し、テナントＩＤに設定されている権限の範囲内で本サービスの利用を認可する（Ｓ４８）。
【００４９】
上記ステップＳ４４において、連携先が外部でない場合、すなわち連携先がローカルである場合は（Ｓ４４：Ｎｏ）、ユーザ存在確認手段２０３は、本サービスの利用権限があると判断し、認証成功を示す認証結果をユーザ端末装置４Ｂに通知し、テナントＩＤに設定されている権限の範囲内で本サービスの利用を認可する（Ｓ４８）。
【００５０】
上記ステップＳ４２において、連携元アカウントＩＤに対応する連携先アカウントＩＤが存在しない場合（Ｓ４２：Ｎｏ）、ユーザ存在確認手段２０３は、本サービスの利用権限がないと判断し、認証エラーをユーザ端末装置４Ｂに通知する（Ｓ４９）。
【００５１】
上記ステップＳ４６において、存在する旨の応答が得られない場合は（Ｓ４６：Ｎｏ）、アカウント情報更新手段２０４は、当該連携先アカウントＩＤを含むレコードを紐付情報テーブル２１１及びアカウント管理テーブル２１２から削除して更新する（Ｓ５０）。ユーザ存在確認手段２０３は、本サービスの利用権限がないと判断し、認証エラーをユーザ端末装置４Ｂに通知する（Ｓ４９）。
【００５２】
＜変形例１＞
上記実施の形態では、サービス提供装置２が紐付情報テーブル２１１、アカウント管理テーブル２１２、アクセス用情報テーブル２１３を有していたが、これらのテーブル２１１〜２１３の一部又は全部を、内部ネットワーク５に接続されたデータベースサーバ装置が有してもよい。
【００５３】
以上、本発明の実施の形態を説明したが、本発明の実施の形態は上記実施の形態に限定されるものではなく、本発明の要旨を変更しない範囲内で種々の変形、実施が可能である。
【００５４】
制御部２０の各手段は、それぞれ一部又は全部を再構成可能回路（ＦＰＧＡ：Field Programmable Gate Array）、特定用途向け集積回路（ＡＳＩＣ：Application Specific Integrated Circuit）等のハードウエア回路によって構成してもよい。
【００５５】
また、本発明の要旨を変更しない範囲内で、上記実施の形態の構成要素の一部を省くことや変更することが可能である。また、本発明の要旨を変更しない範囲内で、上記実施の形態のフローにおいて、ステップの追加、削除、変更、入替え等が可能である。また、上記実施の形態で用いたプログラムをＣＤ−ＲＯＭ等のコンピュータ読み取り可能な記録媒体に記録して提供することができる。また、上記実施の形態で用いたプログラムをクラウドサーバ等の外部サーバに格納しておき、ネットワークを介して利用することができる。
【符号の説明】
【００５６】
１…サービス提供システム、２…サービス提供装置、３…画像形成装置、４…端末装置、４Ａ…管理者端末装置、４Ｂ…ユーザ端末装置、５…内部ネットワーク、６…ファイアウォール、７…外部ネットワーク、８、８Ａ、８Ｂ、８Ｃ…外部認証基盤装置、９…外部ストレージ装置、２０…制御部、２１…記憶部、２２…通信部、２０１…要求受付手段、２０２…ユーザ種別判定手段、２０３…ユーザ存在確認手段、２０４…アカウント情報更新手段、２１０…プログラム、２１１…紐付情報テーブル、２１２…アカウント管理テーブル、２１３…アクセス用情報テーブル
【図１】
2019075006.tif 000003
【図２】
2019075006.tif 000004
【図３】
2019075006.tif 000005
【図４】
2019075006.tif 000006
【図５】
2019075006.tif 000007
【図６】
2019075006.tif 000008
【図７】
2019075006.tif 000009