(57)【要約】      （修正有）【課題】連携元のクラウドサービスにサインインしたユーザーが、連携先のクラウドサービスにアカウントを登録することなく、その連携先のクラウドサービスとの連携ができるようにした情報処理装置を提供する。【解決手段】情報処理装置のサインイン手段は、連携元の第１のクラウドサービスにサインインしたユーザーが、連携先の第２のクラウドサービスにサインインする場合に、該第２のクラウドサービスに登録されているアカウントに他のアカウントとの連携を許可する旨の設定がされているときは、該ユーザーに、該第２のクラウドサービスへのサインインの操作を可能とする。【選択図】なし【特許請求の範囲】
【請求項１】
連携元の第１のクラウドサービスにサインインしたユーザーが、連携先の第２のクラウドサービスにサインインする場合に、該第２のクラウドサービスに登録されているアカウントに他のアカウントとの連携を許可する旨の設定がされているときは、該ユーザーに、該第２のクラウドサービスへのサインインの操作を可能とするサインイン手段
を有する情報処理装置。
【請求項２】
クラウドサービスにおけるアカウントと認証方式別に連携の許可対象の組織とを対応させて記憶している第１の記憶手段と、
前記組織と認証方式別に連携の許可可能か否かを示す情報とを対応させて記憶している第２の記憶手段と、
アカウントと該アカウントが他のアカウントと連携可能か否かを示す情報とを対応させて記憶している第３の記憶手段と、
連携元の第１のクラウドサービスにサインインしたユーザーのアカウントに対応する許可対象の組織を、前記第１の記憶手段から抽出する第１の抽出手段と、
前記許可対象の組織に対応する認証方式別の許可可能か否かを示す情報を、前記第２の記憶手段から抽出する第２の抽出手段と、
認証方式別の許可可能である組織のアカウントが他のアカウントと連携可能か否かを示す情報を、前記第３の記憶手段から抽出する第３の抽出手段と、
連携可能であることを示す情報を抽出した場合に、前記ユーザーを連携先の第２のクラウドサービスにサインインの操作を可能とするサインイン手段
を有する情報処理装置。
【請求項３】
前記サインイン手段によって、前記ユーザーが前記第２のクラウドサービスにサインインした場合は、該ユーザーのアカウントと前記組織のアカウントとを対応付けて記憶する対応付手段
をさらに有する請求項２に記載の情報処理装置。
【請求項４】
前記サインイン手段は、前記第１のクラウドサービスにサインインしようとしているユーザーのアカウントが、前記対応付手段によって対応付けられて記憶されている場合は、前記第２のクラウドサービスにサインインすることが許可される
請求項３に記載の情報処理装置。
【請求項５】
前記対応付手段によって対応付けられて記憶されているアカウントの組を、前記第１の記憶手段、前記第２の記憶手段、前記第３の記憶手段のいずれか１つ以上との不整合を解消することによってメンテナンスを行うメンテナンス手段
をさらに有する請求項３に記載の情報処理装置。
【請求項６】
前記第１のクラウドサービスにサインインしようとしているユーザーのアカウントが、該第１のクラウドサービスに登録されているアカウントに連携されていない場合に、前記第１の抽出手段による処理を行うように制御する制御手段
をさらに有する請求項２に記載の情報処理装置。
【請求項７】
前記第１のクラウドサービスにサインインしようとしているユーザーのアカウントが、前記第２のクラウドサービスに登録されていない場合に、前記制御手段による処理を行うように制御する第２の制御手段
をさらに有する請求項６に記載の情報処理装置。
【請求項８】
コンピュータを、
連携元の第１のクラウドサービスにサインインしたユーザーが、連携先の第２のクラウドサービスにサインインする場合に、該第２のクラウドサービスに登録されているアカウントに他のアカウントとの連携を許可する旨の設定がされているときは、該ユーザーに、該第２のクラウドサービスへのサインインの操作を可能とするサインイン手段
として機能させるための情報処理プログラム。
【請求項９】
コンピュータを、
クラウドサービスにおけるアカウントと認証方式別に連携の許可対象の組織とを対応させて記憶している第１の記憶手段と、
前記組織と認証方式別に連携の許可可能か否かを示す情報とを対応させて記憶している第２の記憶手段と、
アカウントと該アカウントが他のアカウントと連携可能か否かを示す情報とを対応させて記憶している第３の記憶手段と、
連携元の第１のクラウドサービスにサインインしたユーザーのアカウントに対応する許可対象の組織を、前記第１の記憶手段から抽出する第１の抽出手段と、
前記許可対象の組織に対応する認証方式別の許可可能か否かを示す情報を、前記第２の記憶手段から抽出する第２の抽出手段と、
認証方式別の許可可能である組織のアカウントが他のアカウントと連携可能か否かを示す情報を、前記第３の記憶手段から抽出する第３の抽出手段と、
連携可能であることを示す情報を抽出した場合に、前記ユーザーを連携先の第２のクラウドサービスにサインインの操作を可能とするサインイン手段
として機能させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及び情報処理プログラムに関する。
【背景技術】
【０００２】
特許文献１には、各ユーザーの作業負荷を増やすことなく、かつ、管理者によるＩＤマッピング情報の生成の負荷を軽減することを課題とし、端末装置とネットワークを介して通信可能なサーバー装置であって、前記端末装置のユーザーの固有ＩＤを含むユーザー情報を前記端末装置から受信する受信手段と、前記受信手段により受信されたユーザー情報のうち前記端末装置により指定された属性情報を含むユーザー情報に含まれる固有ＩＤと、前記サーバー装置において認証されるユーザー情報のうち前記属性情報を含むユーザー情報に含まれるユーザーの固有ＩＤとを紐付けて、前記端末装置と前記サーバー装置との認証連携にかかるＩＤマッピング情報を生成する生成手段と、を有することが開示されている。
【０００３】
特許文献２には、互いに連携していないサイト間において、既存プリケーションの改修などの作業をしなくてもシングルサインオンを実現する仕組みを提供することを課題とし、連携元Ｗｅｂサイトにおけるユーザーアカウントと連携先Ｗｅｂサイトにおけるユーザーアカウントとが対応付けられたマッピングテーブルを記憶し、連携元Ｗｅｂサイトにおけるアカウント情報を取得し、取得したアカウント情報をマッピングテーブルを用いて連携先Ｗｅｂサイトのアカウント情報に変換し、変換されたアカウント情報を用いて連携先Ｗｅｂサイトにアクセスするべく、ユーザーに当該アカウント情報を返送することが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−０８５６３８号公報
【特許文献２】特開２０１３−１４９２３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
１回の認証手続きで複数のクラウドサービスにアクセスできるようにするためにシングルサインオン（ＳＳＯ：Ｓｉｎｇｌｅ  Ｓｉｇｎ  Ｏｎ）技術が用いられている。このシングルサインオン技術では、例えば事前に一方のクラウドサービスにおけるアカウントと他方のクラウドサービスにおけるアカウントとを対応付ける（マッピング）ことが必要である。
本発明は、連携元のクラウドサービスにサインインしたユーザーが、連携先のクラウドサービスにアカウントを登録することなく、その連携先のクラウドサービスとの連携ができるようにした情報処理装置及び情報処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００６】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項１の発明は、連携元の第１のクラウドサービスにサインインしたユーザーが、連携先の第２のクラウドサービスにサインインする場合に、該第２のクラウドサービスに登録されているアカウントに他のアカウントとの連携を許可する旨の設定がされているときは、該ユーザーに、該第２のクラウドサービスへのサインインの操作を可能とするサインイン手段を有する情報処理装置である。
【０００７】
請求項２の発明は、クラウドサービスにおけるアカウントと認証方式別に連携の許可対象の組織とを対応させて記憶している第１の記憶手段と、前記組織と認証方式別に連携の許可可能か否かを示す情報とを対応させて記憶している第２の記憶手段と、アカウントと該アカウントが他のアカウントと連携可能か否かを示す情報とを対応させて記憶している第３の記憶手段と、連携元の第１のクラウドサービスにサインインしたユーザーのアカウントに対応する許可対象の組織を、前記第１の記憶手段から抽出する第１の抽出手段と、前記許可対象の組織に対応する認証方式別の許可可能か否かを示す情報を、前記第２の記憶手段から抽出する第２の抽出手段と、認証方式別の許可可能である組織のアカウントが他のアカウントと連携可能か否かを示す情報を、前記第３の記憶手段から抽出する第３の抽出手段と、連携可能であることを示す情報を抽出した場合に、前記ユーザーを連携先の第２のクラウドサービスにサインインの操作を可能とするサインイン手段を有する情報処理装置である。
【０００８】
請求項３の発明は、前記サインイン手段によって、前記ユーザーが前記第２のクラウドサービスにサインインした場合は、該ユーザーのアカウントと前記組織のアカウントとを対応付けて記憶する対応付手段をさらに有する請求項２に記載の情報処理装置である。
【０００９】
請求項４の発明は、前記サインイン手段は、前記第１のクラウドサービスにサインインしようとしているユーザーのアカウントが、前記対応付手段によって対応付けられて記憶されている場合は、前記第２のクラウドサービスにサインインすることが許可される請求項３に記載の情報処理装置である。
【００１０】
請求項５の発明は、前記対応付手段によって対応付けられて記憶されているアカウントの組を、前記第１の記憶手段、前記第２の記憶手段、前記第３の記憶手段のいずれか１つ以上との不整合を解消することによってメンテナンスを行うメンテナンス手段をさらに有する請求項３に記載の情報処理装置である。
【００１１】
請求項６の発明は、前記第１のクラウドサービスにサインインしようとしているユーザーのアカウントが、該第１のクラウドサービスに登録されているアカウントに連携されていない場合に、前記第１の抽出手段による処理を行うように制御する制御手段をさらに有する請求項２に記載の情報処理装置である。
【００１２】
請求項７の発明は、前記第１のクラウドサービスにサインインしようとしているユーザーのアカウントが、前記第２のクラウドサービスに登録されていない場合に、前記制御手段による処理を行うように制御する第２の制御手段をさらに有する請求項６に記載の情報処理装置である。
【００１３】
請求項８の発明は、コンピュータを、連携元の第１のクラウドサービスにサインインしたユーザーが、連携先の第２のクラウドサービスにサインインする場合に、該第２のクラウドサービスに登録されているアカウントに他のアカウントとの連携を許可する旨の設定がされているときは、該ユーザーに、該第２のクラウドサービスへのサインインの操作を可能とするサインイン手段として機能させるための情報処理プログラムである。
【００１４】
請求項９の発明は、コンピュータを、クラウドサービスにおけるアカウントと認証方式別に連携の許可対象の組織とを対応させて記憶している第１の記憶手段と、前記組織と認証方式別に連携の許可可能か否かを示す情報とを対応させて記憶している第２の記憶手段と、アカウントと該アカウントが他のアカウントと連携可能か否かを示す情報とを対応させて記憶している第３の記憶手段と、連携元の第１のクラウドサービスにサインインしたユーザーのアカウントに対応する許可対象の組織を、前記第１の記憶手段から抽出する第１の抽出手段と、前記許可対象の組織に対応する認証方式別の許可可能か否かを示す情報を、前記第２の記憶手段から抽出する第２の抽出手段と、認証方式別の許可可能である組織のアカウントが他のアカウントと連携可能か否かを示す情報を、前記第３の記憶手段から抽出する第３の抽出手段と、連携可能であることを示す情報を抽出した場合に、前記ユーザーを連携先の第２のクラウドサービスにサインインの操作を可能とするサインイン手段として機能させるための情報処理プログラムである。
【発明の効果】
【００１５】
請求項１の情報処理装置によれば、連携元のクラウドサービスにサインインしたユーザーが、連携先のクラウドサービスにアカウントを登録することなく、その連携先のクラウドサービスとの連携ができる。
【００１６】
請求項２の情報処理装置によれば、連携元のクラウドサービスにサインインしたユーザーが、連携先のクラウドサービスにアカウントを登録することなく、その連携先のクラウドサービスとの連携ができる。
【００１７】
請求項３の情報処理装置によれば、対応付けが行われた後、そのユーザーが連携元のクラウドサービスにサインインしていたならば、認証等の操作なしに、連携先のクラウドサービスにサインインすることができるようになる。
【００１８】
請求項４の情報処理装置によれば、連携元のクラウドサービスにサインインしようとしているユーザーのアカウントが、対応付けられて記憶されている場合は、連携先のクラウドサービスにサインインすることができるようになる。
【００１９】
請求項５の情報処理装置によれば、対応付けられて記憶されているアカウントの組を、メンテナンスすることができる。
【００２０】
請求項６の情報処理装置によれば、連携元のクラウドサービスにサインインしようとしているユーザーのアカウントが、連携元のクラウドサービスに登録されているアカウントに連携されていない場合であっても、連携先のクラウドサービスにサインインすることができるようになる。
【００２１】
請求項７の情報処理装置によれば、連携元のクラウドサービスにサインインしようとしているユーザーのアカウントが、連携先のクラウドサービスに登録されていない場合であっても、連携先のクラウドサービスにサインインすることができるようになる。
【００２２】
請求項８の情報処理プログラムによれば、連携元のクラウドサービスにサインインしたユーザーが、連携先のクラウドサービスにアカウントを登録することなく、その連携先のクラウドサービスとの連携ができる。
【００２３】
請求項９の情報処理プログラムによれば、連携元のクラウドサービスにサインインしたユーザーが、連携先のクラウドサービスにアカウントを登録することなく、その連携先のクラウドサービスとの連携ができる。
【図面の簡単な説明】
【００２４】
【図１】本実施の形態の構成例についての概念的なモジュール構成図である。
【図２】本実施の形態を利用したシステム構成例を示す説明図である。
【図３】本実施の形態による処理例を示す説明図である。
【図４】本実施の形態による処理例を示すフローチャートである。
【図５】本実施の形態による処理例を示すフローチャートである。
【図６】本実施の形態による処理例を示すフローチャートである。
【図７】本実施の形態による処理例を示す説明図である。
【図８】マッピングテーブルのデータ構造例を示す説明図である。
【図９】許可情報Ａテーブルのデータ構造例を示す説明図である。
【図１０】アカウント情報テーブルのデータ構造例を示す説明図である。
【図１１】連携サービス種別テーブルのデータ構造例を示す説明図である。
【図１２】本実施の形態による処理例を示す説明図である。
【図１３】許可情報Ｂテーブルのデータ構造例を示す説明図である。
【図１４】テナント別認証許可設定テーブルのデータ構造例を示す説明図である。
【図１５】ユーザー別連携許可設定テーブルのデータ構造例を示す説明図である。
【図１６】本実施の形態による処理例を示す説明図である。
【図１７】本実施の形態による処理例を示すフローチャートである。
【図１８】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【００２５】
以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図１は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア（コンピュータ・プログラム）、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム（コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム）、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するという意味である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、１モジュールを１プログラムで構成してもよいし、複数モジュールを１プログラムで構成してもよく、逆に１モジュールを複数プログラムで構成してもよい。また、複数モジュールは１コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって１モジュールが複数コンピュータで実行されてもよい。なお、１つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続（データの授受、指示、データ間の参照関係等）の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態にしたがって、又はそれまでの状況・状態にしたがって定まることの意を含めて用いる。「予め定められた値」が複数ある場合は、それぞれ異なった値であってもよいし、２以上の値（もちろんのことながら、全ての値も含む）が同じであってもよい。また、「Ａである場合、Ｂをする」という記載は、「Ａであるか否かを判断し、Ａであると判断した場合はＢをする」の意味で用いる。ただし、Ａであるか否かの判断が不要である場合を除く。また、「Ａ、Ｂ、Ｃ」等のように事物を列挙した場合は、断りがない限り例示列挙であり、その１つのみを選んでいる場合（例えば、Ａのみ）を含む。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク（一対一対応の通信接続を含む）等の通信手段で接続されて構成されるほか、１つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」（社会システム）にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、外部記憶媒体、通信回線を介した記憶装置、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）内のレジスタ等を含んでいてもよい。
【００２６】
本実施の形態である情報処理装置１００は、複数のクラウドサービスを連携させるものであって、図１の例に示すように、要求受付モジュール１０５、許可情報管理モジュール１１０、紐付情報管理モジュール１１５、許可設定モジュール１２０、紐付更新モジュール１２５、アカウント管理モジュール１３０、紐付処理順序生成モジュール１３５、紐付情報許可情報整合モジュール１４０を有している。情報処理装置１００は、連携先のクラウドサービスに含まれている。連携元情報処理装置１８０からの連携要求にしたがって処理を行う。
例えば、組織に割り振られたアカウントのように、予めその組織に属している複数人に使用されることを前提としているアカウントがある。つまり、このアカウントは、アカウントが他のアカウント（典型例として、その組織に属しているユーザー）との連携を許可しているともいえる。しかし、このような組織のアカウントが、連携先のクラウドサービスに登録されていたとしても、シングルサインオン技術では用いられていない。
情報処理装置１００が利用される典型的な例として、組織が有しているアカウントＡでクラウドサービスＸを利用できている場合に、その組織に属しているユーザー（個人）のアカウントＢはクラウドサービスＹに登録されているが、クラウドサービスＸに登録されていない状況の場合に、本実施の形態が利用される。この状況下で、アカウントＡとアカウントＢを連携させることによって、そのユーザーはアカウントＢでクラウドサービスＸを利用できるようにするものである。なお、そのユーザーは、アカウントＡでログインできるように、アカウントＡにおけるパスワード等を知っている。
【００２７】
要求受付モジュール１０５は、許可情報管理モジュール１１０、紐付情報管理モジュール１１５、紐付更新モジュール１２５、アカウント管理モジュール１３０、紐付処理順序生成モジュール１３５、連携元情報処理装置１８０と接続されている。要求受付モジュール１０５は、連携元情報処理装置１８０から連携要求（連携元リクエスト）を受け付け、連携元情報処理装置１８０を介して、ユーザー１９２Ａのサインインの操作を要求する。
連携元の第１のクラウドサービスにサインインしたユーザー１９２Ａが、連携先の第２のクラウドサービスにサインインする場合に、その第２のクラウドサービスに登録されているアカウントに他のアカウントとの連携を許可する旨の設定がされているときは、ユーザー１９２Ａに、その第２のクラウドサービスへのサインインの操作を可能とする。
【００２８】
許可情報管理モジュール１１０は、要求受付モジュール１０５、許可設定モジュール１２０、紐付更新モジュール１２５、紐付処理順序生成モジュール１３５、紐付情報許可情報整合モジュール１４０と接続されている。許可情報管理モジュール１１０は、クラウドサービスにおけるアカウントと認証方式別に連携の許可対象の組織とを対応させて記憶している。つまり、許可設定モジュール１２０で設定される情報を管理する。例えば、後述する図１３に示す許可情報Ｂテーブル１３００を記憶している。
【００２９】
紐付情報管理モジュール１１５は、要求受付モジュール１０５、紐付更新モジュール１２５、紐付情報許可情報整合モジュール１４０と接続されている。紐付情報管理モジュール１１５は、シングルサインオン処理を行うためのユーザー間の関連付けの情報を記憶している。例えば、後述する図８に示すマッピングテーブル８００を記憶している。
【００３０】
許可設定モジュール１２０は、許可情報管理モジュール１１０、アカウント管理モジュール１３０、ユーザー端末１９０Ｂと接続されている。許可設定モジュール１２０は、ユーザー端末１９０Ｂを介して、管理者１９２Ｂの操作にしたがって、連携先の第２のクラウドサービスの既存ユーザーに連携の許可設定を行う。
【００３１】
紐付更新モジュール１２５は、要求受付モジュール１０５、許可情報管理モジュール１１０、紐付情報管理モジュール１１５、アカウント管理モジュール１３０、紐付処理順序生成モジュール１３５と接続されている。紐付更新モジュール１２５は、要求受付モジュール１０５による紐付情報管理モジュール１１５の参照だけで認証を完結できないときに実施される処理を行う。具体的には、許可情報管理モジュール１１０にある許可情報を元に、ユーザー間の関連付けに必要なサインインの操作をユーザー１９２Ａに要求し、その応答を使って紐付情報管理モジュール１１５を更新する。その際に必要に応じてアカウント管理モジュール１３０を参照することもある。
紐付更新モジュール１２５は、ユーザー端末１９０Ａを介して、連携元情報処理装置１８０が含まれている連携元の第１のクラウドサービスにサインインしたユーザー１９２Ａのアカウントに対応する許可対象の組織を、許可情報管理モジュール１１０から抽出する抽出処理Ａを行う。ここで、「組織」とは、複数人のユーザーによって構築される機構であって、例えば、会社、部門、テナント、グループ等（以下、テナントを用いて例示する）がある。
そして、紐付更新モジュール１２５は、許可対象の組織に対応する認証方式別の許可可能か否かを示す情報を、アカウント管理モジュール１３０から抽出する抽出処理Ｂを行う。
そして、紐付更新モジュール１２５は、認証方式別の許可可能である組織のアカウントが他のアカウントと連携可能か否かを示す情報を、アカウント管理モジュール１３０から抽出する抽出処理Ｃを行う。
次に、紐付更新モジュール１２５は、抽出処理Ｃによって連携可能であることを示す情報を抽出した場合に、要求受付モジュール１０５を制御して、ユーザー１９２Ａを連携先の第２のクラウドサービスにサインインの操作を可能とするサインイン制御処理を行う。
また、紐付更新モジュール１２５は、サインイン制御処理によって、ユーザー１９２Ａが第２のクラウドサービスにサインインした場合は、そのユーザー１９２Ａのアカウントと組織のアカウントとを対応付けて、紐付情報管理モジュール１１５に記憶させる対応付処理を行うようにしてもよい。例えば、後述する図８に示すマッピングテーブル８００を紐付情報管理モジュール１１５に記憶させる。
また、紐付更新モジュール１２５は、要求受付モジュール１０５を制御して、第１のクラウドサービスにサインインしようとしているユーザー１９２Ａのアカウントが、対応付処理によって対応付けられて記憶されている場合は、第２のクラウドサービスにサインインすることが許可されるようにしてもよい。
【００３２】
アカウント管理モジュール１３０は、要求受付モジュール１０５、許可設定モジュール１２０、紐付更新モジュール１２５と接続されている。アカウント管理モジュール１３０は、組織と認証方式別に連携の許可可能か否かを示す情報とを対応させて記憶している。例えば、後述する図１４に示すテナント別認証許可設定テーブル１４００を記憶している。さらに、アカウント管理モジュール１３０は、アカウントとそのアカウントが他のアカウントと連携可能か否かを示す情報とを対応させて記憶している。例えば、後述する図１５に示すユーザー別連携許可設定テーブル１５００を記憶している。つまり、アカウント管理モジュール１３０は、許可情報管理モジュール１１０と紐付情報管理モジュール１１５内の情報について、さらなる詳細な情報を管理している。したがって、許可情報管理モジュール１１０と紐付情報管理モジュール１１５よりも詳細な情報が必要な場合、アカウント管理モジュール１３０が参照されることになる。
【００３３】
紐付処理順序生成モジュール１３５は、要求受付モジュール１０５、許可情報管理モジュール１１０、紐付更新モジュール１２５と接続されている。紐付処理順序生成モジュール１３５は、紐付更新モジュール１２５によるユーザーの関連付けにおけるサインインの操作をユーザー端末１９０Ａに提供するために処理順序をＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）に変換する。
【００３４】
紐付情報許可情報整合モジュール１４０は、許可情報管理モジュール１１０、紐付情報管理モジュール１１５と接続されている。紐付情報許可情報整合モジュール１４０は、時間経過に伴う紐付情報管理モジュール１１５内の「関連付け情報」と許可情報管理モジュール１１０又はアカウント管理モジュール１３０内の「許可情報」等との間のズレを適宜の頻度で補正する。
紐付情報許可情報整合モジュール１４０は、紐付更新モジュール１２５による対応付処理によって対応付けられて紐付情報管理モジュール１１５に記憶されているアカウントの組を、許可情報管理モジュール１１０（例えば、許可情報Ｂテーブル１３００）、アカウント管理モジュール１３０（例えば、テナント別認証許可設定テーブル１４００、ユーザー別連携許可設定テーブル１５００）のいずれか１つ以上との不整合を解消することによってメンテナンスを行う。
また、紐付情報許可情報整合モジュール１４０は、第１のクラウドサービスにサインインしようとしているユーザー１９２Ａのアカウントが、その第１のクラウドサービスに登録されているアカウントに連携されていない場合に、紐付更新モジュール１２５の抽出処理Ａを行うように制御する制御処理を行うようにしてもよい。
また、紐付情報許可情報整合モジュール１４０は、第１のクラウドサービスにサインインしようとしているユーザー１９２Ａのアカウントが、第２のクラウドサービスに登録されていない場合に、前記制御処理を行うように制御するようにしてもよい。
【００３５】
連携元情報処理装置１８０は、情報処理装置１００の要求受付モジュール１０５、ユーザー端末１９０Ａと接続されている。連携元情報処理装置１８０は、連携元のクラウドサービスに含まれている。連携元情報処理装置１８０は、ユーザー１９２Ａのユーザー端末１９０Ａに対する操作によって、情報処理装置１００に対して連携要求が行われる。また、連携元情報処理装置１８０は、情報処理装置１００からのサインイン要求にしたがって、ユーザー１９２Ａ（ユーザー端末１９０Ａ）に対してサインインの操作要求が行われる。ユーザー１９２Ａは、ユーザー端末１９０Ａ、連携元情報処理装置１８０を介して、情報処理装置１００に対してサインインの操作を行う。
ユーザー端末１９０Ａは、ユーザー１９２Ａによって操作され、連携元情報処理装置１８０と接続されている。ユーザー端末１９０Ａは、パーソナルコンピュータ（ノートＰＣと含む）、携帯情報端末、後述する画像処理装置２５０等であって、ユーザー１９２Ａの操作にしたがって、連携元情報処理装置１８０を含む第１のクラウドサービス、情報処理装置１００を含む第２のクラウドサービスに対して処理を依頼する。
ユーザー端末１９０Ｂは、管理者１９２Ｂによって操作され、情報処理装置１００の許可設定モジュール１２０と接続されている。ユーザー端末１９０Ｂは、管理者１９２Ｂの操作にしたがって、第２のクラウドサービスに登録されている組織のアカウント等を管理するための指示を行う。
【００３６】
図２は、本実施の形態を利用したシステム構成例を示す説明図である。
クラウドサービス２００は、情報処理装置１００を有している。クラウドサービス２１０は、連携元情報処理装置１８０を有している。画像処理装置２５０は、ユーザー端末１９０Ｃを有している。画像処理装置２５０のタッチパネル等を用いて、ユーザー端末１９０Ｃとしてのユーザーインタフェースが提供される。
クラウドサービス２００内の情報処理装置１００、クラウドサービス２１０内の連携元情報処理装置１８０、ユーザー端末１９０Ａ、ユーザー端末１９０Ｂ、画像処理装置２５０は、通信回線２９０を介してそれぞれ接続されている。通信回線２９０は、無線、有線、これらの組み合わせであってもよく、例えば、通信インフラとしてのインターネット、イントラネット等であってもよい。
クラウドサービス２００、クラウドサービス２１０は、それぞれ複数あってもよいし、連携先、連携元の関係は逆になってもよい。つまり、クラウドサービス２１０内に情報処理装置１００があり、クラウドサービス２００内に連携元情報処理装置１８０があってもよい。もちろんのことながら、クラウドサービス２００、クラウドサービス２１０のそれぞれに、情報処理装置１００、連携元情報処理装置１８０の両方があってもよい。
ユーザー１９２Ａは、ユーザー端末１９０Ａや画像処理装置２５０等を用いて、クラウドサービス２１０にサインインし、クラウドサービス２１０におけるクラウドサービスの提供を受ける。そして、シングルサインオン技術を用いてクラウドサービス２００におけるクラウドサービスの提供を受ける。また、シングルサインオン技術を用いることができない場合（情報処理装置１００内でアカウントの対応付けが行われていない場合）は、情報処理装置１００によって、クラウドサービス２００に既に登録されているアカウントとの関連付けが行われ、クラウドサービス２００で新たに登録処理を行う必要なく、クラウドサービス２００におけるクラウドサービスの提供を受けることができるようになる。
【００３７】
図３は、本実施の形態による処理例（概略）を示す説明図である。
ステップＳ３０２からステップＳ３０４までの処理は、シングルサインオンができる場合の処理を示しており、ステップＳ３５２からステップＳ３５８までの処理は、シングルサインオンができない場合（紐付情報管理モジュール１１５内に対応付け情報がない場合）の処理を示している。
ステップＳ３０２は、管理者１９２Ｂの操作によって、ユーザー端末１９０Ｂを介して、紐付情報管理モジュール１１５にマッピングテーブル８００を生成する。つまり、ステップＳ３０２では、直接マッピングテーブル８００を設定・更新する。
ステップＳ３０４は、連携元情報処理装置１８０、要求受付モジュール１０５、紐付情報管理モジュール１１５を順に用いる。ステップＳ３０４では、要求受付モジュール１０５が、紐付情報管理モジュール１１５内のマッピングテーブル８００に関連付けがあるか否かのみでユーザー１９２Ａの認証判断を行う。これは、一般的なシングルサインオン処理である。
【００３８】
ステップＳ３５２は、管理者１９２Ｂの操作によって、ユーザー端末１９０Ｂを介して、許可設定モジュール１２０、許可情報管理モジュール１１０を順に用いる。ステップＳ３５２では、紐付情報管理モジュール１１５内のマッピングテーブル８００を直接設定・更新しない、その代わりに許可情報管理モジュール１１０内の許可情報Ｂテーブル１３００を設定する。
ステップＳ３５４は、連携元情報処理装置１８０、要求受付モジュール１０５、許可情報管理モジュール１１０を順に用いる。ステップＳ３５４では、ユーザー１９２Ａのアカウントに対して、紐付情報管理モジュール１１５内のマッピングテーブル８００に関連付け情報がなければ、許可情報管理モジュール１１０内の許可情報Ｂテーブル１３００を参照する。
ステップＳ３５６は、連携元情報処理装置１８０、要求受付モジュール１０５、紐付処理順序生成モジュール１３５を順に用いる。ステップＳ３５６では、認証方式の種別に応じて、対応付けＵＩを生成し、ユーザー１９２Ａに対してサインイン要求の表示制御を行う。
ステップＳ３５８は、連携元情報処理装置１８０、要求受付モジュール１０５、紐付更新モジュール１２５、紐付情報管理モジュール１１５を順に用いる。ステップＳ３５８では、ステップＳ３５６の処理の結果（ユーザー１９２Ａの間接的な操作）、紐付情報管理モジュール１１５内のマッピングテーブル８００を更新する。
ステップＳ３６０では、紐付情報管理モジュール１１５内のマッピングテーブル８００と許可情報管理モジュール１１０内の許可情報Ｂテーブル１３００等の時間経過によってズレが発生した場合は、適宜のタイミングで修正する。
【００３９】
図４は、本実施の形態による処理例を示すフローチャートである。連携先のクラウドサービスに同一アカウントがある場合の処理例である。なお、点線で囲まれているステップは、ユーザーの操作にしたがって行われる処理である。
主な処理は、以下の通りである。
（Ａ１）連携要求元のクラウドサービスのアカウントが連携先のクラウドサービスのマッピングテーブル８００にあるか否かを判断する。
（Ａ２）マッピングテーブル８００になければ、同様なアカウントが連携先のクラウドサービスに存在するか否かを確認する。
（Ａ３）（Ａ２）で存在すると確認された場合のみ、念のため明示的拒否設定がないことを確認してから、連携許可を応答すると同時に、マッピングテーブル８００を更新する。
（Ａ４）（Ａ２）で存在しないと確認された場合の処理は、図５の例に示すフローチャートによる処理例に進む。
なお、以下のような処理をオプションとして設けてもよい。
（Ａ５）マッピングテーブル８００に複数の関連付けが既に登録されている場合、選択用候補一覧を連携元のクラウドサービス（ユーザー）に提示し、応答を待つ。ここで、選択用候補一覧として、表示上のセキュリティ処理（例えば、アカウント名等の一部を伏せ字にする等）を行うようにしてもよい。
（Ａ６）選択用候補一覧からの選択結果を受信したら、それに対する連携許可を応答する。
【００４０】
以下、詳細な処理について説明する。
ステップＳ４０２では、連携元のクラウドサービスにアカウントＡで認証する。
ステップＳ４０４では、アカウントＡを使って連携先のクラウドサービスに認証を要求する。
ステップＳ４０６では、紐付情報（マッピングテーブル８００）を参照する。
ステップＳ４０８では、紐付（マッピングテーブル８００内にアカウントＡ）があるか否かを判断し、ある場合はステップＳ４１０へ進み、それ以外の場合はステップＳ４１８へ進む。
【００４１】
ステップＳ４１０では、紐付が複数か否かを判断し、複数の場合はステップＳ４１２へ進み、それ以外の場合はステップＳ４１６へ進む。
ステップＳ４１２では、その複数の候補一覧（選択用候補一覧）を、連携元のクラウドサービス（ユーザー）に応答する。
ステップＳ４１４では、ユーザーの操作にしたがって、連携先を選択する。
ステップＳ４１６では、連携処理を行う。つまり、シングルサインオン処理を行う。
【００４２】
ステップＳ４１８では、連携先のクラウドサービスに既にアカウントＡが存在しているかを確認する。
ステップＳ４２０では、アカウントＡが存在するか否かを判断し、存在する場合はステップＳ４２２へ進み、それ以外の場合はステップＳ４３０へ進む。
ステップＳ４２２では、許可情報（許可情報管理モジュール１１０内の許可情報Ｂテーブル１３００、アカウント管理モジュール１３０内のユーザー別連携許可設定テーブル１５００等）を参照する。この場合、自分自身を関連付けること（連携元のクラウドサービスにおけるアカウントＡと連携先のクラウドサービスにおけるアカウントＡを関連付けること）を許可するか否かを確認していることになる。
ステップＳ４２４では、許可情報がアカウントＡを関連付けることについて明示的拒否か否かを判断し、明示的拒否の場合は処理を終了し（ステップＳ４９９）、それ以外の場合はステップＳ４２６へ進む。なお、アカウント管理モジュール１３０内のユーザー別連携許可設定テーブル１５００の連携可否欄１５２０が「ＦＡＬＳＥ」となっている場合が、明示的拒否に該当する。
【００４３】
ステップＳ４２６では、連携処理を行う。つまり、シングルサインオン処理と同等の処理を行う。
ステップＳ４２８では、紐付情報を更新する。つまり、紐付情報管理モジュール１１５内のマッピングテーブル８００に関連付けを付加する。
ステップＳ４３０では、処理Ｂを行う。ステップＳ４３０の詳細な処理については、図５の例に示すフローチャートを用いて後述する。
【００４４】
図５は、本実施の形態による処理例を示すフローチャートである。
主な処理は、以下の通りである。
（Ｂ１）許可情報（許可情報管理モジュール１１０内の許可情報Ａテーブル９００）に、連携要求元のアカウントが存在するか否かを確認する。
（Ｂ２）（Ｂ１）で存在すると確認された場合、その許可属性（例えば、連携先のクラウドサービスのどのアカウントに許可するか、どの連携元のクラウドサービスならば許可するか等）に応じて、連携許可を応答する、そして、紐付情報管理モジュール１１５内のマッピングテーブル８００を更新する。ここで許可情報で必要最小限の情報を保持し、必要に応じてアカウントを元に別テーブル（図１０の例に示すアカウント情報テーブル１０００等）から詳細情報を取得してもよい。
（Ｂ３）（Ｂ１）で存在しないと確認された場合、図６の例に示すフローチャートによる処理例に進む。
なお、以下のような処理をオプションとして設けてもよい。
（Ｂ４）許可情報の参照で、明示的に複数のアカウントが該当する場合、選択用候補一覧を連携元のクラウドサービス（ユーザー）に提示し、応答を待つ。
（Ｂ５）選択用候補一覧からの選択結果を受信したら、それに対する連携許可を応答する。そして、紐付情報（マッピングテーブル８００）を更新する。図５に示す処理例では、連携先のクラウドサービスにおけるアカウントが明示的に許可しているため、パスワード入力等による認証処理を必須としないが、セキュリティ視点から認証処理を追加してもよい。
【００４５】
以下、詳細な処理について説明する。
ステップＳ５０２では、許可情報（許可情報管理モジュール１１０内の許可情報Ａテーブル９００）を参照する。
ステップＳ５０４では、許可アカウントがあるか否かを判断し、ある場合はステップＳ５０６へ進み、それ以外の場合はステップＳ５１６へ進む。
ステップＳ５０６では、許可アカウントは複数か否かを判断し、複数の場合はステップＳ５０８へ進み、それ以外の場合はステップＳ５１２へ進む。
ステップＳ５０８では、その複数の候補一覧を、連携元のクラウドサービス（ユーザー）に応答する。
【００４６】
ステップＳ５１０では、ユーザーの操作にしたがって、連携先を選択する。
ステップＳ５１２では、連携処理を行う。つまり、シングルサインオン処理と同等の処理を行う。
ステップＳ５１４では、紐付情報を更新する。つまり、紐付情報管理モジュール１１５内のマッピングテーブル８００に関連付けを付加する。
ステップＳ５１６では、処理Ｃを行う。ステップＳ５１６の詳細な処理については、図６の例に示すフローチャートを用いて後述する。
【００４７】
図６は、本実施の形態による処理例を示すフローチャートである。
主な処理は、以下の通りである。
（Ｃ１）許可情報（許可情報管理モジュール１１０内の許可情報Ｂテーブル１３００）を参照し、連携要求元のクラウドサービスにおけるアカウントを許可する設定があるか否かを確認する。例えば、図１３に示す許可情報Ｂテーブル１３００の１行名と２行目の設定は「ａａａ＠ｅｘａｍｐｌｅ.ｃｏｍ」への連携許可に該当する。
（Ｃ２）該当する許可設定があれば、設定する属性に応じて下記の関連付処理を段階的に行う。
（Ｃ３）例えば、複数の認証方式を許可している場合、まずは候補一覧（例えば、図１６（Ｃ））を連携要求元のクラウドサービス（ユーザー）に返し、認証方式を選択させる。
【００４８】
（Ｃ４）連携要求元のクラウドサービス（ユーザー）が選択した認証方式に対し、まずは「テナント別許可設定」（例えば、図１４に示すテナント別認証許可設定テーブル１４００）で該当する認証方式を許可しているテナントを特定する。本設定は連携専用ではなく、サービス固有の機能であるため、許可情報よりも優先される。つまり連携許可を設定する際に、「テナント別許可設定」を参照する必要はない。
（Ｃ５）さらに許可するテナントに所属するユーザーについて、「連携許可の設定」（例えば、図１５に示すユーザー別連携許可設定テーブル１５００）を確認する。許可情報の設定は必ず対応するユーザーが行うとは限らないので、ここでいうユーザー別連携許可は許可情報設定より優先される。
（Ｃ６）上記抽出した連携許可ユーザー一覧を連携要求元のクラウドサービス（ユーザー）に返し、連携先アカウントを選択させる。
【００４９】
（Ｃ７）図４又は図５の例に示す処理例と違って、明示的許可ではないため、関連付処理を行う前に、連携元のクラウドサービス（ユーザー）が選択した連携先のクラウドサービスにおけるアカウントに対し、パスワードによる認証を連携元のクラウドサービス（ユーザー）に求める。
（Ｃ８）（Ｃ７）による認証をパスした場合のみ、連携許可を応答すると同時に、マッピングテーブル８００を更新する。
【００５０】
以下、詳細な処理について説明する。
ステップＳ６０２では、許可情報（許可情報管理モジュール１１０内の許可情報Ｂテーブル１３００）を参照する。
ステップＳ６０４では、連携元のクラウドサービスにおけるアカウントの記載があるか否かを判断し、ある場合はステップＳ０６へ進み、それ以外の場合はステップＳ６３２へ進む。
ステップＳ６０６では、連携可能とする認証方式を特定する。
ステップＳ６０８では、連携可能とする認証方式の候補一覧を、連携元のクラウドサービス（ユーザー）に応答する。
【００５１】
ステップＳ６１０では、ユーザーの操作にしたがって、連携可能とする認証方式を選択する。
ステップＳ６１２では、選択済の連携可能とする認証方式の許可対象テナントを特定する。
ステップＳ６１４では、該当テナント側許可設定を確認する。
ステップＳ６１６では、許可か否かを判断し、許可の場合はステップＳ６２０へ進み、それ以外の場合はステップＳ６１８へ進む。
【００５２】
ステップＳ６１８では、「連携権限なし」とするメッセージを連携元のクラウドサービス（ユーザー）に表示し、ステップＳ６１０へ戻る。
ステップＳ６２０では、該当テナント所属ユーザーの許可設定を確認する。
ステップＳ６２２では、許可一覧を、連携元のクラウドサービス（ユーザー）に応答する。
ステップＳ６２４では、ユーザーの操作にしたがって、連携先を選択する。
【００５３】
ステップＳ６２６では、ユーザーの操作によるパスワードを認証を行う。
ステップＳ６２８では、連携処理を行う。つまり、シングルサインオン処理と同等の処理を行う。
ステップＳ６３０では、紐付情報を更新する。つまり、紐付情報管理モジュール１１５内のマッピングテーブル８００に関連付けを付加する。
ステップＳ６３２では、「連携権限なし」とするメッセージを連携元のクラウドサービス（ユーザー）に表示する。
【００５４】
図７は、本実施の形態による処理例を示す説明図である。図４に示したフローチャートによる処理例とモジュール間の関係を示したものである。
ステップＳ４０６では、連携元情報処理装置１８０からの連携要求を、要求受付モジュール１０５が、紐付情報管理モジュール１１５を参照して処理する。
ステップＳ４１８では、要求受付モジュール１０５は、アカウント管理モジュール１３０を参照する。
ステップＳ４２２では、要求受付モジュール１０５は、許可情報管理モジュール１１０を参照する。
ステップＳ４２８では、紐付更新モジュール１２５は、許可情報管理モジュール１１０、紐付情報管理モジュール１１５を参照する。
【００５５】
図８は、マッピングテーブル８００のデータ構造例を示す説明図である。マッピングテーブル８００は、紐付情報管理モジュール１１５に記憶されている。マッピングテーブル８００は、マッピングＩＤ欄８１０、連携元サービスＩＤ欄８２０、連携元アカウント情報欄８３０、連携先サービスＩＤ欄８４０、連携先アカウント情報欄８５０を有している。マッピングＩＤ欄８１０は、本実施の形態において、マッピング（連携元のクラウドサービスにおけるアカウントと連携先のクラウドサービスにおけるアカウント）を一意に識別するための情報（マッピングＩＤ：ＩＤｅｎｔｉｆｉｃａｔｉｏｎ）を記憶している。連携元サービスＩＤ欄８２０は、本実施の形態において、連携元のクラウドサービスを一意に識別するための情報（連携元サービスＩＤ）を記憶している。連携元アカウント情報欄８３０は、連携元のクラウドサービスにおけるアカウント情報を記憶している。連携先サービスＩＤ欄８４０は、本実施の形態において、連携先のクラウドサービスを一意に識別するための情報（連携先サービスＩＤ）を記憶している。連携先アカウント情報欄８５０は、連携先のクラウドサービスにおけるアカウント情報を記憶している。
つまり、マッピングテーブル８００内に登録されていたならば、シングルサインオン処理が行われる。
【００５６】
図９から図１２に示す例は、図５の例に示すフローチャートの処理例で用いられるものである。
図９は、許可情報Ａテーブル９００のデータ構造例を示す説明図である。許可情報Ａテーブル９００は、許可情報管理モジュール１１０に記憶されている。
許可情報Ａテーブル９００は、連携元サービスＩＤ欄９１０、連携元アカウント情報欄９２０、連携先ＩＤ欄９３０、制御フラグ欄９４０を有している。連携元サービスＩＤ欄９１０は、連携元サービスＩＤを記憶している。連携元アカウント情報欄９２０は、連携元のクラウドサービスにおけるアカウント情報を記憶している。連携先ＩＤ欄９３０は、本実施の形態において、連携先のクラウドサービスにおけるアカウント情報を一意に識別するための情報（連携先ＩＤ）を記憶している。具体的な内容は、アカウント情報テーブル１０００に記憶されている。制御フラグ欄９４０は、連携許可又は連携禁止を示す制御フラグを記憶している。
つまり、許可情報Ａテーブル９００は、連携先のクラウドサービスにおいて、連携元のクラウドサービスにおけるアカウント情報に対して、連携を許可するか禁止するかを示している。許可情報Ａテーブル９００を参照することによって、連携が許可されるか否かが判断される。許可情報Ａテーブル９００内にない場合は、図６の例に示す処理が行われる。
【００５７】
図１０は、アカウント情報テーブル１０００のデータ構造例を示す説明図である。アカウント情報テーブル１０００は、アカウント管理モジュール１３０内に記憶されている。許可情報Ａテーブル９００で情報が不足している場合は、アカウント情報テーブル１０００が参照されることになる。
アカウント情報テーブル１０００は、アカウントＩＤ欄１０１０、メールアドレス欄１０２０、姓欄１０３０、名欄１０４０を有している。アカウントＩＤ欄１０１０は、本実施の形態において、アカウントを一意に識別するための情報（アカウントＩＤ）を記憶している。メールアドレス欄１０２０は、そのアカウントのユーザーのメールアドレスを記憶している。姓欄１０３０は、そのアカウントのユーザーの姓を記憶している。名欄１０４０は、そのアカウントのユーザーの名を記憶している。
【００５８】
図１１は、連携サービス種別テーブル１１００のデータ構造例を示す説明図である。連携サービス種別テーブル１１００は、アカウント管理モジュール１３０内に記憶されている。許可情報Ａテーブル９００で情報が不足している場合は、連携サービス種別テーブル１１００が参照されることになる。
連携サービス種別テーブル１１００は、サービスＩＤ欄１１１０、サービス名欄１１２０を有している。サービスＩＤ欄１１１０は、本実施の形態において、クラウドサービスを一意に識別するための情報（サービスＩＤ）を記憶している。サービス名欄１１２０は、そのクラウドサービスの名称を記憶している。
【００５９】
図１２は、本実施の形態による処理例を示す説明図である。
図１２（ａ）に示す例は、図４の例に示すフローチャートのステップＳ４０２で、ユーザー端末１９０Ａに表示されるものである。画面１２００に、アカウント記入欄１２０２、パスワード記入欄１２０４、サインインボタン１２０６を表示する。
図１２（ｂ）に示す例は、図１２（ａ）の例でサインインしたクラウドサービスＡにおけるサービス例であり、この処理は、他のクラウドサービスＢに対して連携処理を必要とするものである。例えば、クラウドサービスＡ内に記憶されている文書を、クラウドサービスＢに記憶させる処理等ができる。例えば、画面１２００に、文書指定領域１２１２、サービス指定領域１２１４、実行ボタン１２１６を表示する。図１２（ｂ）の例では、文書指定領域１２１２内の文書「ａ２．ｔｘｔ」をサービス指定領域１２１４内のクラウドサービス「ｂｂｂ」に処理させることを示している。これによって、図４の例に示すフローチャートのステップＳ４０４以降の処理が行われ、図５の例に示すフローチャートのステップＳ５０８以降の処理が行われる。
【００６０】  図１２（ｃ）に示す例は、図５の例に示すフローチャートのステップＳ５０８における候補一覧の表示例である。例えば、画面１２００に、アカウント選択領域１２２２、連携ボタン１２２４を表示する。アカウント選択領域１２２２には、例えば、「下記から連携ＩＤを選択してください。」と表示し、「ｂｂｂｂｂ＠ｅｘａｍｐｌｅ．ｃｏｍ」と「ｃｃｃｃｃ＠（公序良俗違反につき、不掲載）」を選択可能に表示する。ここでは、図１２（ａ）のアカウント記入欄１２０２の例に示すように「ａａａ＠ｅｘａｍｐｌｅ．ｃｏｍ」が、連携元のクラウドサービス（連携元サービスＩＤ：「１」）におけるアカウント情報であるので、図９の例で示した許可情報Ａテーブル９００の１行目と４行目において、連携先ＩＤ：「１」と「２」が制御フラグ欄９４０で許可されている。そして、連携先ＩＤ：「１」と「２」は、図１０の例に示したアカウント情報テーブル１０００の１行目、２行目（アカウントＩＤ：「１」と「２」）であるので、「ｂｂｂｂｂ＠ｅｘａｍｐｌｅ．ｃｏｍ」と「ｃｃｃｃｃ＠（公序良俗違反につき、不掲載）」を選択可能に表示している。そして、ユーザーの操作によって、いずれかのアカウントが選択されて、連携ボタン１２２４が選択される。
【００６１】
図１２（ｄ）に示す例は、連携先のクラウドサービスにおける処理が行われた結果を示している。つまり、画面１２００に、サービス処理結果表示領域１２３２を表示する。サービス処理結果表示領域１２３２には、例えば『文書「ａ２．ｔｘｔ」をフォルダ「…」に登録しました。』と表示し、連携先のクラウドサービスでの処理も終了したことを示している。
【００６２】
図１３から図１６に示す例は、図６の例に示すフローチャートの処理例で用いられるものである。
図１３は、許可情報Ｂテーブル１３００のデータ構造例を示す説明図である。許可情報Ｂテーブル１３００は、許可情報管理モジュール１１０に記憶されている。
許可情報Ｂテーブル１３００は、連携元サービスＩＤ欄１３１０、連携元アカウント情報欄１３２０、ＳＳＯ認証許可対象欄１３３０、ローカル認証許可対象欄１３４０を有している。連携元サービスＩＤ欄１３１０は、連携元のクラウドサービスのサービスＩＤを記憶している。連携元アカウント情報欄１３２０は、連携元のクラウドサービスにおけるアカウント情報を記憶している。「ＡＮＹ」は、全てのアカウント情報が対応することを示している。ＳＳＯ認証許可対象欄１３３０は、ＳＳＯ（シングルサインオン）認証許可対象であるテナントのテナントＩＤを記憶している。「ＮＵＬＬ」は、許可対象であるテナントがないことを示している。ローカル認証許可対象欄１３４０は、ローカル認証許可対象であるテナントのテナントＩＤを記憶している。ＳＳＯ認証許可対象欄１３３０、ローカル認証許可対象欄１３４０は、認証方式別に連携の許可対象の組織を記憶していることになる。
【００６３】
図１４は、テナント別認証許可設定テーブル１４００のデータ構造例を示す説明図である。テナント別認証許可設定テーブル１４００は、アカウント管理モジュール１３０に記憶されている。
テナント別認証許可設定テーブル１４００は、テナントＩＤ欄１４１０、ＳＳＯ認証連携可否欄１４２０、ローカル認証連携可否欄１４３０を有している。テナントＩＤ欄１４１０は、本実施の形態において、テナントを一意に識別するための情報（テナントＩＤ）を記憶している。ＳＳＯ認証連携可否欄１４２０は、ＳＳＯ認証による連携の可否（「ＴＲＵＥ」：可、「ＦＡＬＳＥ」：否）を記憶している。ローカル認証連携可否欄１４３０は、ローカル認証による連携の可否を記憶している。ＳＳＯ認証連携可否欄１４２０、ローカル認証連携可否欄１４３０は、認証方式別に連携の許可可能か否かを示す情報を記憶していることになる。
【００６４】
図１５は、ユーザー別連携許可設定テーブル１５００のデータ構造例を示す説明図である。ユーザー別連携許可設定テーブル１５００は、アカウント管理モジュール１３０に記憶されている。
ユーザー別連携許可設定テーブル１５００は、ユーザーＩＤ欄１５１０、連携可否欄１５２０を有している。ユーザーＩＤ欄１５１０は、本実施の形態において、ユーザーを一意に識別するための情報（ユーザーＩＤ）を記憶している。連携可否欄１５２０は、そのユーザー（アカウント情報）に対する、連携の可否を記憶している。連携可否欄１５２０は、連携可能か否かを示す情報を記憶していることになる。
【００６５】
図１６は、本実施の形態による処理例を示す説明図である。
図１６（ａ）に示す例は、図４の例に示すフローチャートのステップＳ４０２で、ユーザー端末１９０Ａに表示されるものである。画面１６００に、アカウント記入欄１６０２、パスワード記入欄１６０４、サインインボタン１６０６を表示する。
図１６（ｂ）に示す例は、図１６（ａ）の例でサインインしたクラウドサービスＡにおけるサービス例であり、この処理は、他のクラウドサービスＢに対して連携処理を必要とするものである。例えば、クラウドサービスＡ内に記憶されている文書を、クラウドサービスＢに記憶させる処理等ができる。例えば、画面１６００に、文書指定領域１６１２、サービス指定領域１６１４、実行ボタン１６１６を表示する。図１６（ｂ）の例では、文書指定領域１６１２内の文書「ａ２．ｔｘｔ」をサービス指定領域１６１４内のサービス「ｂｂｂ」に処理させることを示している。これによって、図４の例に示すフローチャートのステップＳ４０４以降の処理が行われ、図５の例に示すフローチャートのステップＳ５０４で「Ｎｏ」と判断された後に、図６の例に示すフローチャートの処理が行われる。
【００６６】
図１６（ｃ）に示す例は、図６の例に示すフローチャートのステップＳ６０８における候補一覧の表示例である。例えば、画面１６００に、認証方式選択領域１６２２、次へボタン１６２４を表示する。認証方式選択領域１６２２には、例えば、「連携可能とする認証方式を選択してください。」と表示し、「ＳＳＯ認証」と「ローカル認証」を選択可能に表示する。ここでは、図１６（ａ）のアカウント記入欄１６０２の例に示すように「ａａａ＠ｅｘａｍｐｌｅ．ｃｏｍ」が、連携元のクラウドサービス（連携元サービスＩＤ：「１」）におけるアカウント情報であるので、図１３の例で示した許可情報Ｂテーブル１３００の１行目と２行目（「ＡＮＹ」であるので、「ａａａ＠ｅｘａｍｐｌｅ．ｃｏｍ」も該当することになる）において、ローカル認証許可対象欄１３４０としてテナントＩＤ：「１、２、３」、ＳＳＯ認証許可対象欄１３３０としてテナントＩＤ：「１」が抽出される。そして、テナントＩＤ：「１」、「２」、「３」は、図１４の例に示すテナント別認証許可設定テーブル１４００の１行目、２行目、３行目に該当する。ここでは、テナントＩＤ：「１」、「３」が、ＳＳＯ認証連携可否欄１４２０で可能とされており、テナントＩＤ：「２」、「３」が、ローカル認証連携可否欄１４３０で可能とされているので、「ＳＳＯ認証」と「ローカル認証」を選択可能に表示している。そして、ユーザーの操作によって、いずれかの認証方式が選択されて、次へボタン１６２４が選択される。
【００６７】  図１６（ｄ）に示す例は、図１６（ｃ）で選択された認証方式で該当するアカウントを提示しているものである。ここでは、選択された認証方式を可能としているテナントにおけるアカウントを提示している。ただし、図１５の例に示すユーザー別連携許可設定テーブル１５００で、アカウントが連携可能としているものを表示している。ここでは、画面１６００に、アカウント選択領域１６３２、連携ボタン１６３４を表示する。そして、アカウント選択領域１６３２には、例えば、「下記から連携ＩＤを選択してください。」と表示し、「ｂｂｂｂｂ＠ｅｘａｍｐｌｅ．ｃｏｍ」、「ｃｃｃｃｃ＠（公序良俗違反につき、不掲載）」を選択可能に表示する。そして、ユーザーの操作によって、いずれかのアカウントが選択されて、連携ボタン１６３４が選択される。
【００６８】
図１６（ｅ）に示す例は、連携先のクラウドサービスにおける処理が行われた結果を示している。つまり、画面１６００に、サービス処理結果表示領域１６４２を表示する。サービス処理結果表示領域１６４２には、例えば『文書「ａ２．ｔｘｔ」をフォルダ「…」に登録しました。』と表示し、連携先のクラウドサービスでの処理も終了したことを示している。
【００６９】
図１７は、本実施の形態による処理例（整合処理例）を示すフローチャートである。つまり、紐付情報管理モジュール１１５内のマッピングテーブル８００と、許可情報管理モジュール１１０又はアカウント管理モジュール１３０の情報とにおいて不整合が生じていないかを判断し、不整合が生じている場合は、マッピングテーブル８００を修正する。例えば、管理者１９２Ｂの操作によって、許可情報Ａテーブル９００、許可情報Ｂテーブル１３００、テナント別認証許可設定テーブル１４００、ユーザー別連携許可設定テーブル１５００が変更されることがある。具体的には、ユーザー別連携許可設定テーブル１５００内の連携可否欄１５２０が「ＴＲＵＥ」から「ＦＡＬＳＥ」に変更された場合、そのユーザーＩＤに該当するマッピングテーブル８００内の行は消去されることになる。
【００７０】
ステップＳ１７０２では、許可情報Ａテーブル９００、許可情報Ｂテーブル１３００、テナント別認証許可設定テーブル１４００、ユーザー別連携許可設定テーブル１５００に変更があったか否かを判断し、変更があった場合はステップＳ１７０４へ進み、それ以外の場合は変更があるまで待機する。
ステップＳ１７０４では、マッピングテーブル８００内の１行を抽出する。
ステップＳ１７０６では、その組み合わせは、許可情報Ａテーブル９００、許可情報Ｂテーブル１３００、テナント別認証許可設定テーブル１４００、ユーザー別連携許可設定テーブル１５００と不整合が生じているかをチェックする。
【００７１】
ステップＳ１７０８では、チェックの結果が不整合ありか否かを判断し、「不整合あり」の場合はステップＳ１７１０へ進み、それ以外の場合はステップＳ１７１２へ進む。
ステップＳ１７１０では、その組み合わせを削除する。
ステップＳ１７１２では、マッピングテーブル８００内の全ての行をチェックしたか否かを判断し、全ての行をチェックした場合は処理を終了し（ステップＳ１７９９）、それ以外の場合はステップＳ１７０４へ戻る。
【００７２】
なお、本実施の形態としてのプログラムが実行されるコンピュータのハードウェア構成は、図１８に例示するように、一般的なコンピュータであり、具体的にはパーソナルコンピュータ、サーバーとなり得るコンピュータ等である。つまり、具体例として、処理部（演算部）としてＣＰＵ１８０１を用い、記憶装置としてＲＡＭ１８０２、ＲＯＭ１８０３、ＨＤ１８０４を用いている。ＨＤ１８０４として、例えばハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）を用いてもよい。要求受付モジュール１０５、許可設定モジュール１２０、紐付更新モジュール１２５、紐付処理順序生成モジュール１３５、紐付情報許可情報整合モジュール１４０等のプログラムを実行するＣＰＵ１８０１と、そのプログラムやデータを記憶するＲＡＭ１８０２と、本コンピュータを起動するためのプログラム等が格納されているＲＯＭ１８０３と、許可情報管理モジュール１１０、紐付情報管理モジュール１１５、アカウント管理モジュール１３０としての機能を有する補助記憶装置（フラッシュ・メモリ等であってもよい）であるＨＤ１８０４と、キーボード、マウス、タッチスクリーン、マイク等に対する利用者の操作に基づいてデータを受け付ける受付装置１８０６と、ＣＲＴ、液晶ディスプレイ、スピーカー等の出力装置１８０５と、ネットワークインタフェースカード等の通信ネットワークと接続するための通信回線インタフェース１８０７、そして、それらをつないでデータのやりとりをするためのバス１８０８により構成されている。これらのコンピュータが複数台互いにネットワークによって接続されていてもよい。
【００７３】
前述の実施の形態のうち、コンピュータ・プログラムによるものについては、本ハードウェア構成のシステムにソフトウェアであるコンピュータ・プログラムを読み込ませ、ソフトウェアとハードウェア資源とが協働して、前述の実施の形態が実現される。
なお、図１８に示すハードウェア構成は、１つの構成例を示すものであり、本実施の形態は、図１８に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア（例えば特定用途向け集積回路（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ：ＡＳＩＣ）等）で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続している形態でもよく、さらに図１８に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、特に、パーソナルコンピュータの他、携帯情報通信機器（携帯電話、スマートフォン、モバイル機器、ウェアラブルコンピュータ等を含む）、情報家電、ロボット、複写機、ファックス、スキャナ、プリンタ、複合機（スキャナ、プリンタ、複写機、ファックス等のいずれか２つ以上の機能を有している画像処理装置）などに組み込まれていてもよい。
【００７４】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通等のために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク（ＤＶＤ）であって、ＤＶＤフォーラムで策定された規格である「ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ−ＲＡＭ等」、ＤＶＤ＋ＲＷで策定された規格である「ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等」、コンパクトディスク（ＣＤ）であって、読出し専用メモリ（ＣＤ−ＲＯＭ）、ＣＤレコーダブル（ＣＤ−Ｒ）、ＣＤリライタブル（ＣＤ−ＲＷ）等、ブルーレイ・ディスク（Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ）、光磁気ディスク（ＭＯ）、フレキシブルディスク（ＦＤ）、磁気テープ、ハードディスク、読出し専用メモリ（ＲＯＭ）、電気的消去及び書換可能な読出し専用メモリ（ＥＥＰＲＯＭ（登録商標））、フラッシュ・メモリ、ランダム・アクセス・メモリ（ＲＡＭ）、ＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリーカード等が含まれる。
そして、前記のプログラムの全体又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク（ＬＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、又は無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分若しくは全部であってもよく、又は別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して記録されていてもよい。また、圧縮や暗号化等、復元可能であればどのような態様で記録されていてもよい。
【符号の説明】
【００７５】
１００…情報処理装置
１０５…要求受付モジュール
１１０…許可情報管理モジュール
１１５…紐付情報管理モジュール
１２０…許可設定モジュール
１２５…紐付更新モジュール
１３０…アカウント管理モジュール
１３５…紐付処理順序生成モジュール
１４０…紐付情報許可情報整合モジュール
１８０…連携元情報処理装置
１９０…ユーザー端末
１９２Ａ…ユーザー
１９２Ｂ…管理者
２００…クラウドサービス
２１０…クラウドサービス
２５０…画像処理装置
２９０…通信回線
【図１】
2018142122.tif 000002
【図２】
2018142122.tif 000003
【図３】
2018142122.tif 000004
【図４】
2018142122.tif 000005
【図５】
2018142122.tif 000006
【図６】
2018142122.tif 000007
【図７】
2018142122.tif 000008
【図８】
2018142122.tif 000009
【図９】
2018142122.tif 000010
【図１０】
2018142122.tif 000011
【図１１】
2018142122.tif 000012
【図１２】
2018142122.tif 000013
【図１３】
2018142122.tif 000014
【図１４】
2018142122.tif 000015
【図１５】
2018142122.tif 000016
【図１６】
2018142122.tif 000017
【図１７】
2018142122.tif 000018
【図１８】
2018142122.tif 000019