(57)【要約】【課題】多数の機器に対して権限を委譲する設定を容易に行うことを可能とする権限委譲システムを提供する。【解決手段】親ＩｏＴ機器４５１は、認証認可サーバ１１０からベンダークライアントとしてトークンを取得し、また、認証認可サーバ１１０からテナント専用クライアントとしてトークンを取得する。親ＩｏＴ機器４５１は、関連機器登録機能において、同一のネットワーク内の子ＩｏＴ機器４５２から当該子ＩｏＴ機器４５２のベンダークライアントとして取得したトークンを取得し、子ＩｏＴ機器４５２に代わってテナント専用クライアントとして登録することを認証認可サーバ１１０へ要求し、当該子ＩｏＴ機器４５２がテナント専用クライアントとして登録されたことに応じて提供されるクライアントＩＤ及びシークレットを送信するとともに、トークンを取得するように要求する要求する。【選択図】図４
2017126191.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置と、ネットワークを介してサービスを提供するサービス提供装置と、認証認可サーバとを含み、前記情報処理装置をクライアントとして前記認証認可サーバに登録する権限委譲システムであって、
第１の情報処理装置は、
前記認証認可サーバからテナントに属さない第１のクライアントとして第１の認可情報を取得する第１の取得手段と、
前記認証認可サーバからテナントと紐付く第２のクライアントとして第２の認可情報を取得する第２の取得手段と、
前記第１の情報処理装置と同一のネットワーク内の第２の情報処理装置から当該第２の情報処理装置が第１のクライアントとして取得した第１の認可情報を取得する第３の取得手段と、
前記第２の情報処理装置に代わって当該第２の情報処理装置を前記テナントと紐付く第２のクライアントとして登録することを前記認証認可サーバへ要求する代理手段と、
前記第２の情報処理装置に対して、当該第２の情報処理装置が前記第２のクライアントとして登録されたことに応じて提供される認証情報を送信するとともに、第２の認可情報を取得するように要求する要求手段と、を備え、
前記第２の情報処理装置は、
前記第１の情報処理装置から送信された前記認証情報を用いて第２の認可情報を前記認証認可サーバから取得する
ことを特徴とする権限委譲システム。
【請求項２】
前記代理手段は、前記第１の情報処理装置に対応する第２の認可情報と、前記第２の情報処理装置に対応する第１の認可情報とを送信するとともに、前記第２の情報処理装置を前記第２のクライアントとして登録することを前記認証認可サーバへ要求し、
前記認証認可サーバは、前記第１の情報処理装置に対応する第２の認可情報から前記テナントを特定することにより、前記第２の情報処理装置を当該テナントと紐付く第２のクライアントとして登録する登録手段を備える
ことを特徴とする請求項１に記載の権限委譲システム。
【請求項３】
前記認証認可サーバの登録手段は、前記情報処理装置を第１のクライアントとして登録することを要求された場合、少なくとも当該情報処理装置を一意に識別する識別情報、及び当該情報処理装置のネットワークの情報を管理する
ことを特徴とする請求項１または２に記載の権限委譲システム。
【請求項４】
前記認証認可サーバの登録手段は、前記情報処理装置に対応する前記第１のクライアントと前記第２のクライアントとを紐付けて管理する
ことを特徴とする請求項２または３に記載の権限委譲システム。
【請求項５】
前記第１の情報処理装置は、
当該第１の情報処理装置と同一のネットワーク内の情報処理装置の一覧を前記認証認可サーバに要求する一覧要求手段と、
前記要求した一覧から第２のクライアントとして登録する第２の情報処理装置を選択する選択手段と、をさらに備える
ことを特徴とする請求項１ないし４のいずれか１項に記載の権限委譲システム。
【請求項６】
情報処理装置と、ネットワークを介してサービスを提供するサービス提供装置と、認証認可サーバとを含み、前記情報処理装置をクライアントとして前記認証認可サーバに登録する権限委譲システムの制御方法であって、
第１の情報処理装置が、前記認証認可サーバからテナントに属さない第１のクライアントとして第１の認可情報を取得する工程と、
前記第１の情報処理装置が、前記認証認可サーバからテナントと紐付く第２のクライアントとして第２の認可情報を取得する工程と、
前記第１の情報処理装置が、前記第１の情報処理装置と同一のネットワーク内の第２の情報処理装置から当該第２の情報処理装置が第１のクライアントとして取得した第１の認可情報を取得する工程と、
前記第１の情報処理装置が、前記第２の情報処理装置に代わって当該第２の情報処理装置を前記テナントと紐付く第２のクライアントとして登録することを前記認証認可サーバへ要求する工程と、
前記認証認可サーバが、前記第２の情報処理装置を前記第２のクライアントとして登録したことに応じて認証情報を前記第１の情報処理装置に提供する工程と、
第１の情報処理装置が、前記第２の情報処理装置に対して、前記提供された認証情報を送信するとともに、第２の認可情報を取得するように要求する工程と、
前記第２の情報処理装置が、前記第１の情報処理装置から送信された前記認証情報を用いて第２の認可情報を前記認証認可サーバから取得する工程と、を有する
ことを特徴とする権限委譲システム。
【請求項７】
ネットワークを介してサービス提供装置が提供するサービスを利用する情報処理装置であって、
認証認可サーバからテナントに属さない第１のクライアントとして第１の認可情報を取得する第１の取得手段と、
前記認証認可サーバからテナントと紐付く第２のクライアントとして第２の認可情報を取得する第２の取得手段と、
前記情報処理装置と同一のネットワーク内の第２の情報処理装置から当該第２の情報処理装置が第１のクライアントとして取得した第１の認可情報を取得する第３の取得手段と、
前記第２の情報処理装置に代わって当該第２の情報処理装置を前記テナントと紐付く第２のクライアントとして登録することを前記認証認可サーバへ要求する代理手段と、
前記第２の情報処理装置に対して、当該第２の情報処理装置が前記第２のクライアントとして登録されたことに応じて提供される認証情報を送信するとともに、第２の認可情報を取得するように要求する要求手段と、を備える
ことを特徴とする情報処理装置。
【請求項８】
情報処理装置がネットワークを介してサービス提供装置が提供するサービスを利用するための認証及び認可を行う認証認可サーバであって、
テナントに属さない第１のクライアントとしての第１の情報処理装置から要求されたことに応じて、第１の認可情報を発行する第１の発行手段と、
テナントと紐付く第２のクライアントとしての前記第１の情報処理装置から要求されたことに応じて、第２の認可情報を発行する第２の発行手段と、
前記第１の情報処理装置から第２の情報処理装置に代わって当該第２の情報処理装置を前記テナントと紐付く第２のクライアントとして登録することを要求されたことに応じて、前記第２の情報処理装置の認証情報を前記第１の情報処理装置に提供する提供手段と、を備え、
前記第２の発行手段は、前記認証情報を用いた第２のクライアントとしての前記第２の情報処理装置からの要求に応じて、第２の認可情報を当該第２の情報処理装置に発行する
ことを特徴とする認証認可サーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、権限委譲システム、情報処理装置、及び制御方法に関する。
【背景技術】
【０００２】
近年、Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓ（ＩｏＴ）と呼ばれる、様々な機器をインターネットに接続し、それらの情報を利用する仕組みが広がってきている。オフィス環境では、様々な機器が、クラウドサービスにデータを送信したり、サービスが提供する機能を利用したりしている。安全に機器をクラウドサービスに接続し、クラウドサービスとの通信を確立するためには、機器の確かさを正しく認証し接続を許可する必要がある。特許文献１は、権限委譲処理におけるアプリケーションの登録及びリソースの取得を行う権限委譲システムを開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−５２０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
クラウドサービスにおいて、多数の機器とサービスのテナントとを紐付けるには、機器それぞれにおいて設定を行う必要があり多くの作業が必要である。また、各機器とテナントとの紐付けを行うには、各機器においてクラウドサービスのアカウントを入力する等の作業が必要であり、リッチなＵＩを持たない機器での操作は、困難であり実現できない場合がある。
【０００５】
本発明は、多数の機器に対して権限を委譲する設定を容易に行うことを可能とする権限委譲システムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一実施形態に係る権限委譲システムは、情報処理装置と、ネットワークを介してサービスを提供するサービス提供装置と、認証認可サーバとを含み、前記情報処理装置をクライアントとして前記認証認可サーバに登録する権限委譲システムである。第１の情報処理装置は、前記認証認可サーバからテナントに属さない第１のクライアントとして第１の認可情報を取得する第１の取得手段と、前記認証認可サーバからテナントと紐付く第２のクライアントとして第２の認可情報を取得する第２の取得手段と、前記第１の情報処理装置と同一のネットワーク内の第２の情報処理装置から当該第２の情報処理装置が第１のクライアントとして取得した第１の認可情報を取得する第３の取得手段と、前記第２の情報処理装置に代わって当該第２の情報処理装置を前記テナントと紐付く第２のクライアントとして登録することを前記認証認可サーバへ要求する代理手段と、前記第２の情報処理装置に対して、当該第２の情報処理装置が前記第２のクライアントとして登録されたことに応じて提供される認証情報を送信するとともに、第２の認可情報を取得するように要求する要求手段と、を備える。前記第２の情報処理装置は、前記第１の情報処理装置から送信された前記認証情報を用いて第２の認可情報を前記認証認可サーバから取得する。
【発明の効果】
【０００７】
本発明の権限委譲システムによれば、多数の機器に対して権限を委譲する設定を容易に行うことができる。
【図面の簡単な説明】
【０００８】
【図１】権限委譲システムの構成を示す図である。
【図２】認証認可サーバ、リソースサーバ、ＩｏＴ機器のハードウェア構成を示す図である。
【図３】認証認可サーバ、リソースサーバ、ＩｏＴ機器のモジュール構成を示す図である。
【図４】親ＩｏＴ機器が子ＩｏＴ機器を登録する処理を示す図である。
【図５】認証認可サーバが同一アクセス元デバイスを取得する処理を示す図である。
【図６】登録対象となる子ＩｏＴ機器の一覧を表示する画面の一例である。
【図７】認証認可サーバがテナント専用クライアントを作成する処理を示す図である。
【発明を実施するための形態】
【０００９】
以下、本発明を実施するための形態について図面などを参照して説明する。
（第１実施形態）
本実施形態では、インターネット上にあるサーバが、機器からのデータを受信するデータ受信サービスを提供する。データ受信サービスは、機器から送信されたデータを受け取り、テナント毎に保存し、分析する機能を提供する。以下では、上述したサービスのように、インターネット上で提供される機能（サービス）をリソースサービスと呼ぶ。
【００１０】
また、本実施形態では、機器にインストールされた、データを送信するアプリケーションがリソースサービスと連携する。以下では、このアプリケーションをリソースサービス連携アプリケーションと呼ぶ。また、本実施形態では、権限の委譲にＯＡｕｔｈの仕組みを利用する。ＯＡｕｔｈでは、ユーザから委譲された権限を証明するための情報として、トークン（認可情報）と呼ばれる情報を利用する。
【００１１】
本実施形態では、認証認可サーバ１１０においてそれぞれの機器に対応する仮想的なサーバ上のユーザをベンダークライアント（第１のクライアント）と呼ぶ。それぞれの機器は、当該機器の確かさが確認された後にベンダークライアントとして認証認可サーバに登録され、ベンダークライアントに対応するトークンが当該機器に発行される。このトークンを利用することにより、当該機器は、特定のテナントに属していない機器としてリソースサーバの提供するサービスを利用できる。
【００１２】
また、各機器を特定のテナントに紐付けるための仮想的なサーバ上のユーザをテナント専用クライアント（第２のクライアント）と呼ぶ。ＯＡｕｔｈによる権限委譲処理により、それぞれの機器が特定のテナントと紐付けられてテナント専用クライアントとして認証認可サーバに登録され、テナント専用クライアントに対応するトークンが当該機器に発行される。このトークンを利用することにより、当該機器は、紐付けられた特定のテナント用の機器としてリソースサーバの提供するサービスを利用できる。なお、本実施形態では、テナント専用クライアントとして機器を登録する操作を１つの機器で行うことにより、同じアクセス元にあるその他の機器を登録する操作を省略することができる。
【００１３】
図１は、本実施形態に係る権限委譲システムの構成を示す図である。
ＷＡＮ１００は、Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋである。すなわち、本実施形態では、Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ（ＷＷＷ）システムが構築されている。ＬＡＮ１０１及びＬＡＮ１０２は、各構成要素を接続するＬｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋである。認証認可サーバ１１０は、ユーザ認証、ＩｏＴ機器認証、及びＯＡｕｔｈを実現するための処理を行う。
【００１４】
リソースサーバ１２０は、ネットワーク（ＷＡＮ１００、ＬＡＮ１０１、ＬＡＮ１０２）を介してサービスを提供するサービス提供サーバとして機能する。本実施形態では、リソースサーバ１２０は、データ受信サービスを提供するが、これに限定されるものではない。また、本実施形態に係る権限委譲システムでは、各サーバは、１台ずつ設置されているが複数台で構成されていても良く、例えば、認証認可を行うサーバシステムが提供されても良い。
【００１５】
ＩｏＴ機器１４０は、画像形成装置や、プロジェクタ、ネットワークカメラといった機器（デバイス）である。ＩｏＴ機器１４０は、ネットワークを介して、リソースサーバ１２０が提供するサービスを利用する。本実施形態では、ＩｏＴ機器１４０は、データをリソースサーバ１２０に送信する。ＩｏＴ機器１４０には、１つまたは複数のリソースサービス連携アプリケーションがインストールされており、当該アプリケーションを利用してリソースサービスへのデータの送信が行われる。
【００１６】
認証認可サーバ１１０、リソースサーバ１２０、ＩｏＴ機器１４０は、それぞれネットワーク（ＷＡＮ１００、ＬＡＮ１０１、ＬＡＮ１０２）を介して通信可能に接続されている。なお、認証認可サーバ１１０、リソースサーバ１２０、ＩｏＴ機器１４０は、それぞれ個別のＬＡＮ上に構成されていてもよく、同一のＬＡＮに構成されていてもよい。また、認証認可サーバ１１０、リソースサーバ１２０は、同一のサーバ上に構成されていてもよい。また、認証認可サーバ１１０及びリソースサーバは、ＷＡＮ１００を介して接続するように構成することもできる。
【００１７】
図２は、認証認可サーバ１１０、リソースサーバ１２０、及びＩｏＴ機器１４０のハードウェア構成を示す図である。
本実施形態の各サーバ及びデバイスには、一般的な情報処理装置のハードウェア構成を適用できる。また、各サーバについては、ＩａａＳ（Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）として提供される情報処理装置の仮想的なハードウェア構成を適用することもできる。
【００１８】
図２において、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２３１は、ＲＯＭ２３３が有するプログラム用ＲＯＭに記憶されたＯＳやアプリケーション等のプログラムを実行し、システムバス２３４に接続される各ブロックを制御する。また、ＣＰＵ２３１は、ハードディスク（ＨＤ）等の外部メモリ２４１からＲＡＭ２３２にロードされたプログラムを実行し、各ブロックを制御する。ＯＳとは、コンピュータ上で稼動するオペレーティングシステムの略語であり、以下オペレーティングシステムのことをＯＳと呼ぶ。後述する各処理は、ＣＰＵ２３１によるプログラムの実行により実現できる。
【００１９】
なお、ＲＯＭは、Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙの略称であり、ＲＡＭは、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙの略称である。ＲＡＭ２３２は、ＣＰＵ２３１の主メモリ、ワークエリア等として機能する。操作部Ｉ／Ｆ２３５は、操作部２３９からの入力を制御する。ＣＲＴコントローラ（ＣＲＴＣ）２３６は、ＣＲＴディスプレイ２４０の表示を制御する。なお、認証認可サーバ１１０やリソースサーバ１２０では、ＣＲＴＣ２３６やＣＲＴディスプレイ２４０を設けないことが一般的であり、ＩｏＴ機器１４０においても備えていない場合がありうる。
【００２０】
ディスクコントローラ（ＤＫＣ）２３７は、各種データを記憶するハードディスク（ＨＤ）等の外部メモリ２４１におけるデータアクセスを制御する。ネットワークコントローラ（ＮＣ）２３８は、ＷＡＮ１００、ＬＡＮ１０１、ＬＡＮ１０２を介して接続された他の機器との通信制御処理を実行する。なお、後述の全ての説明において、特に断りのない限り、サーバやデバイスにおける実行のハード上の主体は、ＣＰＵ２３１であり、ソフトウェア上の主体は、外部メモリ２４１にインストールされたアプリケーションプログラムである。
【００２１】
図３は、認証認可サーバ１１０、リソースサーバ１２０、ＩｏＴ機器１４０ソフトウェア構成を示す図である。
認証認可サーバ１１０は、認証認可モジュール３１０を備える。リソースサーバ１２０は、リソースサーバモジュール３２０を備える。ＩｏＴ機器１４０は、認証認可サーバ連携クライアント３４１、リソースサービス連携アプリケーション３４２、及びＷｅｂブラウザ３４３を備える。Ｗｅｂブラウザ３４３は、ＷＷＷを利用するためのユーザエージェントであるが、必須ではない。各モジュールの詳細については、後述する。
【００２２】
次に、認証認可サーバ１１０が管理するデータについて説明する。認証認可サーバ１１０は、データを外部メモリ２４１に記憶する。なお、データは、認証認可サーバ１１０の外部メモリ２４１ではなく、ＬＡＮ１０１を介して通信可能に構成された別のサーバに記憶するよう構成することも可能である。
【００２３】
表１は、テナントの情報を管理するテナント管理テーブルの一例である。テナントとは、サービスの利用契約を結んだ顧客ごとに割り当てられる管理単位である。認証認可サーバにおいて、データの管理は、テナント単位で行われる。テナント管理テーブルは、「テナントＩＤ」及び「テナント名」を保持する。「テナントＩＤ」は、テナントを一意に識別するＩＤである。「テナント名」には、例えば、サービスの利用契約を結んだ顧客の名称が設定される。
【表１】
2017126191.tif 000003
【００２４】
表２は、クライアント（ベンダークライアント及びテナント専用クライアント）の情報を管理するクライアント管理テーブルの一例である。クライアント管理テーブルは、「クライアントＩＤ」「シークレット」「デバイスシリアルＩＤ」「テナントＩＤ」「親クライアントＩＤ」「ＩＰ」「ローカルＩＰ」を有する。「クライアントＩＤ」は、クライアントを一意に識別するＩＤ（識別情報）である。認証認可サーバ１１０は、クライアントＩＤを元にクライアントとなる接続元のＩｏＴ機器１４０を一意に識別することが可能となる。
【００２５】
「シークレット」は、認証認可サーバ１１０がクライアントＩＤを認証するためのパスワードに相当する。「デバイスシリアルＩＤ」は、ＩｏＴ機器１４０を一意に識別する識別情報である。「テナントＩＤ」は、クライアントが所属するテナントを示す。「親クライアントＩＤ」は、クライアントの親となるクライアントのクライアントＩＤであり、詳細は後述する。「ＩＰ」は、ＩｏＴ機器１４０が認証認可サーバ１１０に対してアクセスした際のアクセス元ＩＰアドレスであり、「ローカルＩＰ」は、ＩｏＴ機器１４０自身に設定されているＩＰアドレスである。
【表２】
2017126191.tif 000004
【００２６】
表３は、ＯＡｕｔｈによる認証に利用されるトークンを管理するトークン管理テーブルの一例である。トークン管理テーブルは、「トークンＩＤ」、「クライアントＩＤ」、「スコープ」、「有効期限」、「リフレッシュトークンＩＤ」、「リフレッシュ期限」を保持する。スコープについては、表４を用いて説明する。
【表３】
2017126191.tif 000005
【００２７】
表４は、ＯＡｕｔｈによる認証のためのスコープを管理するスコープ管理テーブルの一例である。スコープ管理テーブルは、「スコープ」、「ロール」を保持する。スコープは、ＩｏＴ機器１４０が備えるリソースサービス連携アプリケーションに定義された権限範囲を示す。
【表４】
2017126191.tif 000006
【００２８】
次に、ＩｏＴ機器１４０が管理するデータについて説明する。ＩｏＴ機器１４０は、データを外部メモリ２４１に記憶する。
表５は、ＩｏＴ機器１４０がユーザを管理するためのデバイスユーザ管理テーブルの一例である。デバイスユーザ管理テーブルは、「ユーザＩＤ」、「パスワード」、「権限情報」を保持する。ユーザがＩｏＴ機器１４０へアクセスした際には、ＩｏＴ機器１４０は、例えばユーザが入力した「ユーザＩＤ」と「パスワード」により認証を行う。また、ＩｏＴ機器１４０は、「権限情報」を元にアクセス制御を行う。
【００２９】
なお、ＩｏＴ機器１４０によってはユーザを管理しない場合もある。また、ＩｏＴ機器１４０によっては権限を元にしたアクセス制御を行わない場合もある。その場合、デバイスユーザ管理テーブルの「ユーザＩＤ」や「権限情報」は存在しなくてもよい。また、本実施形態では、ユーザＩＤとパスワードによる認証を想定しているが、ＩＣカードによる認証、指紋等を利用する生体認証、ＰＩＮコードによる認証といった異なる認証方法を用いてもよい。その場合、「パスワード」の代わりにそれら認証方法に必要な情報が管理される。本発明ではＩｏＴ機器１４０における認証方法は問わない。
【表５】
2017126191.tif 000007
【００３０】
表６は、ベンダークライアントの情報を管理するデバイスベンダークライアント管理テーブルの一例である。デバイスベンダークライアント管理テーブルは、「クライアントＩＤ」、「シークレット」、「トークンＩＤ」「リフレッシュトークンＩＤ」を保持する。「クライアントＩＤ」及び「シークレット」は、認証認可サーバ１１０にて予め発行されたものである。
【００３１】
「トークンＩＤ」、「リフレッシュトークンＩＤ」は、各クライアント用に認証認可サーバ１１０が発行したトークンを示す。これら情報の登録方法としては、例えば、ＩｏＴ機器１４０がＬＡＮ１０１、１０２、ＷＡＮ１００を介してオンラインで登録する方法が考えられる。また、ユーザを介して認証認可サーバ１１０、ＩｏＴ機器１４０にてそれぞれ値を設定する方法でも良い。
【表６】
2017126191.tif 000008
【００３２】
表７は、テナント専用クライアントの情報を管理するデバイステナント専用クライアント管理テーブルの一例である。当該テーブルでは、クライアントの種別が異なるだけであって、デバイスベンダークライアント管理テーブルと同様のデータが管理される。
【表７】
2017126191.tif 000009
【００３３】
次に、ＩｏＴ機器１４０がリソースサービスに接続するための処理について説明する。
まず、ＩｏＴ機器１４０が備える認証認可サーバ連携クライアント３４１は、認証認可サーバ１１０にて発行されたベンダークライアントに関する認証情報を取得する。ベンダークライアントは、認証認可サーバ１１０がＩｏＴ機器１４０の確かさを確認してから発行する。例えば、認証認可サーバ連携クライアント３４１が事前にクライアント証明書を保持しており、認証認可サーバ１１０は、当該クライアント証明書による認証などによりベンダークライアントを発行するか否かを判断する。
【００３４】
上述した処理により、認証認可サーバ１１０が管理するクライアント管理テーブル（表２）にクライアントＩＤ（ここでは「ＩＤ０００１」）が作成される。ベンダークライアントは、特定のテナントに属さないため、当該クライアントＩＤ「ＩＤ０００１」に対応するクライアント管理テーブルのテナントＩＤには、「Ｖｅｎｄｅｒ」が設定される。また、デバイスシリアルＩＤには、ベンダークライアントの発行をリクエストしたＩｏＴ機器１４０のデバイスシリアルＩＤ「Ｓ０００１」が設定される。
【００３５】
さらに、クライアント管理テーブルのＩＰには、ＩｏＴ機器１４０が認証認可サーバ１１０にアクセスした際のアクセス元ＩＰアドレス「１５０．６１．３７．７７」が設定される。また、ローカルＩＰには、ＩｏＴ機器１４０自身に設定されているＩＰアドレス「１９２．１６８．０．１」が設定される。ＩｏＴ機器１４０は、発行されたベンダークライアントを利用して、認証認可サーバ１１０から認可情報であるトークン「ＡＴ０００１」を取得し、特定のテナントに属さないデバイスとしてリソースサーバ１２０の利用が可能となる。
【００３６】
次にＩｏＴ機器１４０が備えるリソースサービス連携アプリケーション３４２は、認証認可サーバ１１０にて発行されたテナント専用クライアントに関する認証情報を取得する。テナント専用クライアントは、認証認可サーバ１１０がＩｏＴ機器１４０のユーザが所属しているテナントを判断し発行される。例えば、認証認可サーバ１１０は、ＩｏＴ機器１４０のユーザが認証認可サーバ１１０にログインし、ＯＡｕｔｈのＡｕｔｈｏｒａｉｚａｔｉｏｎ  Ｃｏｄｅ  Ｇｒａｎｔの処理を行うことによりテナント専用クライアントを発行するか否かを判断する。
【００３７】
上述した処理により、認証認可サーバ１１０が管理するクライアント管理テーブル（表２）にＩｏＴ機器１４０のユーザが所属するテナントＩＤ「１００１ＡＡ」を有するクライアントＩＤ（ここでは「ＩＤ００１０」）が作成される。ＩｏＴ機器１４０が備えるリソースサービス連携アプリケーション３４２は、発行されたテナント専用クライアントを利用して、認証認可サーバ１１０から認可情報であるトークン「ＡＴ００１０」を取得する。これにより、テナント「１００１ＡＡ」用のデバイスとしてリソースサーバ１２０の利用が可能となる。
【００３８】
次に、２台目以降のＩｏＴ機器１４０がリソースサービスに接続するための処理について説明する。なお、以降の説明では、テナント専用クライアントを保持する１台目のＩｏＴ機器１４０を親ＩｏＴ機器、２台目以降のＩｏＴ機器１４０を子ＩｏＴ機器と呼ぶ。新たにネットワークに接続された子ＩｏＴ機器は、上述した方法と同様にベンダークライアントを保持する。
【００３９】
ここでは、クライアント管理テーブルにクライアントＩＤとして「ＩＤ０００３」が作成され、デバイスシリアルＩＤには「Ｓ０００３」が設定されたものとする。また、ＩＰには１台目のＩｏＴ機器１４０（親ＩｏＴ機器）と同じＬＡＮ１０１のため、「１５０．６１．３７．７」が設定され、ローカルＩＰには「１９２．１６８．０．３」が設定されたものとする。
【００４０】
図４は、親ＩｏＴ機器４５１が子ＩｏＴ機器４５２に代わってテナント専用クライアントの登録を依頼する処理を示す図である。
この処理により、子ＩｏＴ機器４５２のそれぞれにおいてテナント専用クライアントを取得する必要がなくなり、すでにテナント専用クライアントとして設定が完了している親ＩｏＴ機器４５１における操作のみで登録が完了する。
【００４１】
ステップＳ４０１にて、親ＩｏＴ機器４５１を操作するユーザは、親ＩｏＴ機器４５１へログインを行う。本実施形態では、デバイスユーザ管理テーブルにて管理されたユーザＩＤとパスワードを入力する方法を想定しているが、ログイン方法は特に問わない。また、ログインを行わなくてもよい。ステップＳ４０２にて、ユーザは、親ＩｏＴ機器４５１のリソースサービス連携アプリケーション３４２の関連機器登録機能にアクセスする。
【００４２】
ステップＳ４０３にて、リソースサービス連携アプリケーション３４２の関連機器登録機能は、認証認可サーバ１１０に対して、アクセス元デバイスと同一のネットワーク内にあるデバイス一覧を要求する。この要求には、トークン「ＡＴ００１０」が含まれる。なお、ステップＳ４０３の処理は、子ＩｏＴ機器の登録をより容易にするための処理であり必須ではない。
【００４３】
図５は、ステップＳ４０３のデバイスの一覧要求を受け付けた認証認可サーバ１１０が同一アクセス元デバイスの一覧を取得する処理を示す図である。
ステップＳ５０１にて、認証認可サーバ１１０は、トークン管理テーブル（表３）を利用し、トークン「ＡＴ００１０」の検証を行う。具体的には、認証認可サーバ１１０は、当該トークンが有効であり、スコープが「ｔｒａｎｐｏｒｔ」であればアクセスＯＫと判断する。
【００４４】
ステップＳ５０２にて、認証認可サーバ１１０は、関連機器登録機能を呼び出した親ＩｏＴ機器４５１のアクセス元を取得する。本実施形態では、アクセス元としてＩＰ「１５０．６１．３１．７７」が取得される。ステップＳ５０３にて、認証認可サーバ１１０は、同一アクセス元デバイスの検索を行う。具体的には、トークン管理テーブル（表３）からトークン「ＡＴ００１０」に対応するクライアントＩＤ「ＩＤ００１０」が特定される。次に、クライアント管理テーブル（表２）からクライアントＩＤ「ＩＤ００１０」に対応するデバイスシリアルＩＤ「Ｓ０００１」が特定される。
【００４５】
次に、デバイスシリアルＩＤ「Ｓ０００１」のベンダークライアントに対応するクライアントＩＤ「ＩＤ０００１」から、当該ＩｏＴ機器の登録時のアクセス元としてＩＰ「１５０．６１．３１．７７」が特定される。次に、クライアント管理テーブルから当該ＩＰ「１５０．６１．３１．７７」と同一の値を持つデバイスが同一アクセス元デバイスとして特定される。
【００４６】
この例では、クライアントＩＤが「ＩＤ０００２」でデバイスシリアルＩＤが「Ｓ０００２」のデバイスと、クライアントＩＤが「ＩＤ０００３」でデバイスシリアルＩＤが「Ｓ０００３」のデバイスとが特定される。そして、デバイスシリアルＩＤ「Ｓ０００２」、及び「Ｓ０００３」のデバイスのローカルＩＰ「１９２．１６８．０．２」、及び「１９２．１６８．０．３」が取得される。
【００４７】
さらに、特定されたデバイスに対して、親ＩｏＴ機器と同じテナントの記録があるか否かをチェックする。すなわち、デバイスシリアルＩＤ「Ｓ０００２」及び「Ｓ０００３」それぞれに対して、クライアントＩＤ「ＩＤ００１０」が示すテナントＩＤである「１００１ＡＡ」と同一のクライアントがあるか否かをチェックする。この例では、アクセス元がＩＰ「１５０．６１．３１．７７」と同一であるＩｏＴ機器１４０の候補は上述した２台となるが、２台以上の候補がある場合においてもそれら全てを列挙される。
【００４８】
図４の説明に戻る。ステップＳ４０４にて、ステップＳ４０３のレスポンスを受けたリソースサービス連携アプリケーション３４２は、ＬＡＮ１０１内の子ＩｏＴ機器４５２を探索する。ステップＳ４０５にて、リソースサービス連携アプリケーション３４２は、探索結果の一覧をユーザに表示する。
【００４９】
図６は、ステップＳ４０５にて表示される画面の一例を示す図である。
関連機器登録画面６０１には、子ＩｏＴ機器４５２の情報６０２、６０３、及び６０４が、関連機器の候補として提示される。例えば、情報６０２は、機器名が「ＬＢＰ  １００００」、ＩＰアドレスが「１９２．１６８．０．２」、状態が「接続済み」の子ＩｏＴ機器４５２を示す。
【００５０】
機器名及びＩＰアドレスは、ステップＳ４０４の探索結果により生成される。また、状態は、ステップＳ４０３の処理により取得された情報から生成される。ＩＰアドレス「１９２．１６８．０．２」の子ＩｏＴ機器４５２は、すでにテナント専用クライアントとして登録済みであるため、状態には「接続済み」と表示され、登録ボタンは表示されない。情報６０３が示すＩＰアドレス「１９２．１６８．０．３」の子ＩｏＴ機器４５２は、ベンダークライアントとして登録済みであるが、テナント専用クライアントの登録はされていないため、状態には「準備完了」と表示され、登録ボタンが表示されている。
【００５１】
また、情報６０４が示すＩＰアドレス「１９２．１６８．０．９９」の子ＩｏＴ機器４５２は、ＬＡＮ１０１内で接続されているが、ステップＳ４０３の処理では見つからなかったため状態には「不明」と表示されている。「不明」と表示される状態は、そのデバイスが登録されていない場合や、ベンダークライアントとして登録する際の接続元ＩＰアドレスが異なる場合、またはローカルＩＰアドレスが変わった場合等に発生する。
【００５２】
関連機器登録画面６０１において、ユーザは、テナント専用クライアントの登録対象とする子ＩｏＴ機器を選択する。具体的には、登録する子ＩｏＴ機器４５２の登録ボタンを押下すると、処理はステップＳ４０６に進む。ステップＳ４０６にて、関連機器登録画面６０１からデバイス指定のリクエストがリソースサービス連携アプリケーション３４２に送信され、ステップＳ４０７以降のテナント専用クライアントの登録処理が開始される。
【００５３】
ステップＳ４０７にて、親ＩｏＴ機器４５１は、子ＩｏＴ機器４５２に登録代行通知を行う。この通知において子ＩｏＴ機器４５２の機器認証を行うことが一般的であり、ユーザＩＤ及びパスワード等を用いた認証が行われる。ステップＳ４０７の登録代行通知を受けた子ＩｏＴ機器４５２は、デバイスベンダークライアント管理テーブル（表６）で管理しているトークン（ここでは「ＡＴ０００３」とする）をレスポンスする。
【００５４】
ステップＳ４０８にて、親ＩｏＴ機器４５１が備えるリソースサービス連携アプリケーション３４２は、認証認可サーバ１１０にテナント専用クライアントとして登録することを子ＩｏＴ機器４５２の代理としてリクエストする。リクエストには、親ＩｏＴ機器４５１のデバイステナント専用クライアント管理テーブル（表７）で管理しているトークン「ＡＴ００１０」とステップＳ４０７にて取得した子ＩｏＴ機器４５２のトークン「ＡＴ０００３」とが含まれる。
【００５５】
図７は、ステップＳ４０８のリクエストを受け付けた認証認可サーバ１１０が実施するテナント専用クライアントの作成処理を示す図である。
ステップＳ７０１にて、認証認可サーバ１１０は、トークン管理テーブル（表３）を利用し、リクエストに含まれる親ＩｏＴ機器４５１のトークン「ＡＴ００１０」の検証を行う。具体的には、認証認可サーバ１１０は、当該トークンが有効であり、スコープが「ｔｒａｎｓｐｏｒｔ」であればアクセスＯＫと判断する。
【００５６】
ステップＳ７０２にて、認証認可サーバ１１０は、トークン管理テーブル（表３）を利用し、リクエストに含まれる子ＩｏＴ機器４５２のトークン「ＡＴ０００３」の検証を行う。当該トークンが有効であり、ベンダークライアント登録時に発行したトークンのスコープが「ｄｅｖｉｃｅ」であればアクセスＯＫと判断する。それぞれのトークンの検証においてアクセスＯＫだった場合に処理はステップＳ７０３に進む。
【００５７】
ステップＳ７０３にて、認証認可サーバ１１０は、子ＩｏＴ機器４５２をテナント専用クライアントとして登録する。このとき、トークン「ＡＴ００１０」に対応するテナント専用クライアント「ＩＤ００１０」と同様の設定で、子ＩｏＴ機器４５２用のテナント専用クライアントを設定する。この例では、テナント専用クライアントの作成に伴い、クライアント管理テーブル（表２）に以下のように設定される。
【００５８】
クライアントＩＤ及びシークレットには新規の値が設定される。また、デバイスシリアルＩＤには、子ＩｏＴ機器４５２のトークン「ＡＴ０００３」に対応する「Ｓ０００３」が設定され、テナントＩＤには、親ＩｏＴ機器４５１のトークン「ＡＴ００１０」に対応するテナントＩＤ「１００１ＡＡ」が設定される。さらに、親クライアントＩＤには、「ＩＤ００１０」が設定される。テナント専用クライアントの作成処理が完了すると、認証認可サーバ１１０は、作成したテナント専用クライアントのクライアントＩＤ及びシークレットを親ＩｏＴ機器４５１にレスポンスする。
【００５９】
図４の説明に戻る。ステップＳ４０９にて、ステップＳ４０８のレスポンスを受け取った親ＩｏＴ機器４５１のリソースサービス連携アプリケーション３４２は、子ＩｏＴ機器４５２にテナント専用クライアントの登録をリクエストする。リクエストを受け取った子ＩｏＴ機器４５２は、受け取ったテナント専用クライアントのＩＤ及びシークレット（認証情報）をデバイステナント専用クライアント管理テーブル（表７）に保存する。
【００６０】
以上の処理により、子ＩｏＴ機器４５２をテナント専用クライアントとして登録する処理は完了する。ステップＳ４１０にて、テナント専用クライアントとして登録された子ＩｏＴ機器４５２は、テナント専用クライアントを利用して（すなわち、親ＩｏＴ機器４５１から受け取った認証情報を利用して）認証認可サーバ１１０よりトークンを取得する。これにより、テナント「１００１ＡＡ」用のデバイスとしてリソースサーバ１２０の利用が可能となる。
【００６１】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００６２】
以上、本発明の好ましい実施形態について説明したが、本発明は、これらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【符号の説明】
【００６３】
１１０  認証認可サーバ
１２０  リソースサーバ
１４０  ＩｏＴ機器
３４１  認証認可サーバ連携クライアント
３４２  リソースサービス連携アプリケーション
【図１】
2017126191.tif 000010
【図２】
2017126191.tif 000011
【図３】
2017126191.tif 000012
【図４】
2017126191.tif 000013
【図５】
2017126191.tif 000014
【図６】
2017126191.tif 000015
【図７】
2017126191.tif 000016