JP2021051552A - 情報処理装置およびプログラム - Google Patents

情報処理装置およびプログラム Download PDF

Info

Publication number
JP2021051552A
JP2021051552A JP2019174103A JP2019174103A JP2021051552A JP 2021051552 A JP2021051552 A JP 2021051552A JP 2019174103 A JP2019174103 A JP 2019174103A JP 2019174103 A JP2019174103 A JP 2019174103A JP 2021051552 A JP2021051552 A JP 2021051552A
Authority
JP
Japan
Prior art keywords
user
service
information
account
authentication information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2019174103A
Other languages
English (en)
Other versions
JP7338360B2 (ja
Inventor
広一 小田島
Koichi Odajima
広一 小田島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2019174103A priority Critical patent/JP7338360B2/ja
Publication of JP2021051552A publication Critical patent/JP2021051552A/ja
Application granted granted Critical
Publication of JP7338360B2 publication Critical patent/JP7338360B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】2つの異なるシステムにおいて同一ユーザがそれぞれアカウントを登録している場合であって、そのユーザが2つのシステムのいずれかにおいて管理者権限を有していない場合であっても、2つの異なるシステムにおいて登録されている同一ユーザのアカウントどうしを対応付けることを可能とする。【解決手段】一時パスワード発行部31は、ABCサービスの管理者からの操作に基づいて、この管理者により指定されたABCサービスにおけるテナントIDと対応づけられた一時パスワードを発行する。制御部35は、XYZサービスの管理者が一時パスワードを提示してABCサービスとの連携を要求してきた際に、一時パスワード発行部31により発行した一時パスワードと提示された一時パスワードとが一致した場合、この一時パスワードと対応付けられたABCサービスにおけるテナントIDと、XYZサービスの管理者が指定したテナントIDとを対応付ける。【選択図】図9

Description

本発明は、情報処理装置およびプログラムに関する。
特許文献1には、第1サービスシステムにおいて認証したユーザのテナント情報を取得して第2サービスシステムにクライアント登録を要求し、第2サービスシステムにおいてその該要求に従うクライアント登録と、認証したユーザのグループ情報とを含む登録結果を第1サービスシステムに送り、第1サービスシステムにおいてそのグループ情報と、認証したユーザのテナント情報を対応付けて記憶し、第2サービスシステムにおいて登録クライアントからの認証要求に応じて認証したユーザのグループ情報を含むID情報を第1サービスシステムに送り、第1サービスシステムにおいてそのID情報が示すアカウントに対応するアカウントの存在を判定し、存在しない場合に新たにアカウントを生成するようにしたサービス提供システムが開示されている。
特開2016−57737号公報
本発明の目的は、2つの異なるシステムにおいて同一ユーザがそれぞれアカウントを登録している場合であって、そのユーザが2つのシステムのいずれかにおいて管理者権限を有していない場合であっても、2つの異なるシステムにおいて登録されている同一ユーザのアカウントどうしを対応付けることが可能な情報処理装置およびプログラムを提供することである。
[情報処理装置]
請求項1に係る本発明は、メモリとプロセッサを備え、
前記プロセッサは、
第1システムにおいて管理者権限を有する第1ユーザからの操作に基づいて、前記第1ユーザにより指定された第1アカウントと対応づけられた仮認証情報を発行し、
第2のシステムを利用する第2ユーザが前記仮認証情報を提示して前記第1システムとの連携を要求してきた際に、発行した仮認証情報と提示された仮認証情報とが一致した場合、前記仮認証情報と対応付けられた前記第1アカウントと前記第2ユーザが指定した第2アカウントとを対応付ける情報処理装置である。
請求項2に係る本発明は、前記メモリが、前記仮認証情報と、前記第1ユーザにより指定された第1アカウントとを対応付けて記憶し、
前記プロセッサは、前記第2ユーザが前記仮認証情報を提示して前記第1システムとの連携を要求してきた場合に、前記第2ユーザからの接続要求を前記第1のシステムにおけるログイン画面に転送し、
前記第2ユーザが前記第1システムにログインすることができた旨の情報が返信されてきた場合、前記メモリに記憶されている前記第1アカウントと、ログイン中の前記第2ユーザが使用している第2アカウントとを対応付ける請求項1記載の情報処理装置である。
請求項3に係る本発明は、前記メモリが、前記第2ユーザからの接続要求を前記第1のシステムにおけるログイン画面に転送する際に発行された確認情報を、前記仮認証情報と前記第1アカウントに対応付けて記憶し、
前記プロセッサは、前記第1システムから返信されてきた、前記第2ユーザが前記第1システムにログインすることができた旨の情報に、前記メモリに記憶されている確認情報が含まれている場合に、前記メモリに記憶されている前記第1アカウントと、ログイン中の前記第2ユーザが使用している第2アカウントとを対応付ける請求項2記載の情報処理装置である。
請求項4に係る本発明は、前記仮認証情報が、有効期限が設定されている認証情報であり、
前記プロセッサは、前記第2ユーザが前記仮認証情報を提示して前記第1システムとの連携を要求してきた場合でも、現在の日時が当該仮認証情報の有効期限を過ぎている場合、前記第2ユーザからの前記第1システムとの連携要求を拒否する請求項1記載の情報処理装置である。
請求項5に係る本発明は、前記第1アカウントが前記第1システムにおいて前記第1ユーザおよび前記第2ユーザが属するグループのグループ識別子であり、前記第2アカウントが前記第2システムにおいて前記第1ユーザおよび前記第2ユーザが属するグループのグループ識別子である請求項1から4のいずれか記載の情報処理装置である。
[プログラム]
請求項6に係る本発明は、第1システムにおいて管理者権限を有する第1ユーザからの操作に基づいて、前記第1ユーザにより指定された第1アカウントと対応づけられた仮認証情報を発行するステップと、
第2のシステムを利用する第2ユーザが前記仮認証情報を提示して前記第1システムとの連携を要求してきた際に、発行した仮認証情報と提示された仮認証情報とが一致した場合、前記仮認証情報と対応付けられた前記第1アカウントと前記第2ユーザが指定した第2アカウントとを対応付けるステップとをコンピュータに実行させるためのプログラムである。
請求項1に係る本発明によれば、2つの異なるシステムにおいて同一ユーザがそれぞれアカウントを登録している場合であって、そのユーザが2つのシステムのいずれかにおいて管理者権限を有していない場合であっても、2つの異なるシステムにおいて登録されている同一ユーザのアカウントどうしを対応付けることが可能な情報処理装置を提供することができる。
請求項2に係る本発明によれば、2つの異なるシステムにおいて同一ユーザがそれぞれアカウントを登録している場合であって、そのユーザが2つのシステムのいずれかにおいて管理者権限を有していない場合であっても、2つの異なるシステムにおいて登録されている同一ユーザのアカウントどうしを対応付けることが可能な情報処理装置を提供することができる。
請求項3に係る本発明によれば、確認情報を用いずに第1アカウントと第2アカウントとの対応付けを行う場合と比較して、誤った第1アカウントを第2アカウントと対応付けてしまう可能性を低減することが可能な情報処理装置を提供することができる。
請求項4に係る本発明によれば、仮認証情報に有効期限を設けない場合と比較して、第1アカウントと第2アカウントとの対応付けが不正に行われる可能性を低減することが可能な情報処理装置を提供することができる。
請求項5に係る本発明によれば、2つの異なるシステムにおいて同一のグループユーザがそれぞれアカウントを登録している場合であって、そのグループユーザのうちの個人ユーザが2つのシステムのいずれかにおいて管理者権限を有していない場合であっても、2つの異なるシステムにおいて登録されている同一グループユーザのアカウントどうしを対応付けることが可能な情報処理装置を提供することができる。
請求項6に係る本発明によれば、2つの異なるシステムにおいて同一ユーザがそれぞれアカウントを登録している場合であって、そのユーザが2つのシステムのいずれかにおいて管理者権限を有していない場合であっても、2つの異なるシステムにおいて登録されている同一ユーザのアカウントどうしを対応付けることが可能なプログラムを提供することができる。
本発明の一実施形態の情報処理システムのシステム構成を示す図である。 Open ID Connectのシーケンス例を説明するための図である。 サービス提供サーバ40に対して連携を許可するサービスのURLを登録する際の処理を説明するためのシーケンスチャートである。 マルチテナント構成の一例を説明するための図である。 2つのサービスがマルチテナント構成においてID連携を行うとした場合の問題点を説明するための図である。 株式会社Aにおけるユーザ構成例を説明するための図である。 ABCサービスとXYZサービスのそれぞれにおいて管理者が異なる様子を説明するための図である。 本発明の一実施形態におけるサービス提供サーバ10のハードウェア構成を示すブロック図である。 本発明の一実施形態におけるサービス提供サーバ10の機能構成を示すブロック図である。 サービス提供サーバ10によりABCサービス、XYZサービスという2つのサービスにおけるテナントIDを連携させるための全体シーケンスを示す図である。 ABCサービスの管理者であるユーザ001による操作を説明するためのシーケンスチャートである。 ABCサービスにおいて登録されているユーザ管理テーブル例を示す図である。 ユーザ001が連携許可するサービスのURLとしてXYZサービスのURLを入力する様子を示す図である。 ユーザ001の端末装置20上に発行されたクライアントIDが表示される様子を示す図である。 ABCサービスにおける連携許可サービステーブルの一例を示す図である。 ABCサービスにより発行されたクライアントIDが、ユーザ001によりXYZサービスにおいて入力される様子を示す図である。 ユーザにより入力されたクライアントIDが登録された際の対応付け一時情報テーブルの一例を示す図である。 サービス提供サーバ10により生成されるリダイレクト情報の一例を示す図である。 ABCサービスのログイン画面が表示された表示画面例を示す図である。 サービス提供サーバ40により生成される返信情報例を示す図である。 一時パスワードが発行された際に、対応付け一時情報テーブルが更新される様子を示す図である。 発行された一時パスワードがユーザ001の端末装置20上に表示される際の表示画面例を示す図である。 発行された一時パスワードがユーザ001からユーザ002に通知される様子を説明するための図である。 サービス提供サーバ10において登録されているユーザ管理テーブル例を示す図である。 XYZサービスの管理者であるユーザ002による操作を説明するためのシーケンスチャートである。 ユーザ002が一時パスワードをXYZサービスに入力する際の表示画面例を示す図である。 一時パスワードが入力された際に対応付け一時情報テーブルが更新される様子を示す図である。 ユーザ002の端末装置20がリダイレクトされたことにより表示されるABCサービスのログイン画面例を示す図である。 サービス提供サーバ40により生成される返信情報例を示す図である。 サービス提供サーバ40からの返信情報と対応付け一時情報テーブルとのチェックを行う際の手順を説明するための図である。 サービス提供サーバ40から受信した返信情報が条件を満たしている場合に、対応付け一時情報テーブルを更新する際の様子を説明するための図である。 サービス提供サーバ10に記憶されるテナントID対応付けテーブルの一例を示す図である。
次に、本発明の実施の形態について図面を参照して詳細に説明する。
図1は本発明の一実施形態の情報処理システムのシステム構成を示す図である。
本発明の一実施形態の情報処理システムは、図1に示されるように、サービス提供サーバ10、40と、複数の端末装置20とがインターネット30により相互に接続された構成となっている。
ここで、サービス提供サーバ40は、インターネット30を介してABCサービスをユーザに対して提供している。そして、サービス提供サーバ40は、ユーザ情報をIDトークンとして他のサービスに提供する機能を備えておりIDプロバイダとも呼ばれている。
また、サービス提供サーバ10は、インターネット30を介してXYZサービスをユーザに対して提供している。そして、サービス提供サーバ10は、IDプロバイダであるサービス提供サーバ40からのユーザ情報を利用して、ユーザに対して各種サービスを提供する情報処理装置であり、リソースサーバまたはサービスプロバイダとも呼ばれている。
このように複数のサービス提供サーバによりインターネット30を介してサービスが提供されている場合、ユーザはそれぞれのサービス毎にアカウントを登録するのは面倒であるため、あるサービスのアカウントを利用して他のサービスの提供を受けることができるようなアカウントの相互乗り入れが行われている。
このようなアカウントの相互乗り入れは一般的にはID連携またはIdentify Federationと呼ばれている。このような機能を利用することにより、ユーザは多数のIDやパスワードを管理することなく、各種のクラウドサービスを利用することが可能となる。
このようなID連携を行うための汎用技術であるOpen ID Connectと呼ばれるシーケンスについて図2を参照して説明する。
まず、ステップS101において、ユーザが端末装置20からサービス提供サーバ10にアクセスして、ABCサービスのアカウントでログインすることを選択する。すると、サービス提供サーバ10は、ステップS102において、サービス提供サーバ40にリダイレクトするためのURL(Uniform Resource Locatorの略)を返信する。
そして、端末装置20は、ステップS103において、リダイレクトされたURLにアクセスすることによりサービス提供サーバ40にアクセスする。その結果、サービス提供サーバ40は、ステップS104において、端末装置20に対してログイン画面を返信する。
そして、ステップS105において、ユーザが端末装置20上に表示されたログイン画面にユーザID、パスワードの入力を行ってログインすると、サービス提供サーバ40は、入力されたユーザIDおよびパスワードを用いて認証を行って認証が成功すると、ステップS106において、ユーザ情報を含むIDトークンを端末装置20に返信する。
すると、端末装置20は、ステップS107において、返信されたIDトークンをサービス提供サーバ10に提示する。すると、サービス提供サーバ10では、ステップS108において、端末装置20から提示されたIDトークンが正規に発行されたものであるか否かを電子署名情報等により検証する。
そして、この検証においてIDトークンが正規に発行されたものであることが確認された場合、サービス提供サーバ10は、ステップS109において、ユーザに対してログインを許可する。
このようなシーケンスにより、ユーザは、サービス提供サーバ10により提供されるXYZサービスのアカウントを保有していなくても、XYZサービスを利用することができるようになる。
ここで、IDプロバイダは、マイクロソフト社や、グーグル社のような限られた企業により提供されたサーバであるため限定された数しか存在しないのに対して、リソースサーバは、多数存在している。そのため、セキュリティ上の観点から、予め登録されたリソースサーバのみがIDプロバイダと連携することができるよう制限されている場合がある。
このようにIDプロバイダであるサービス提供サーバ10と連携可能なリソースサーバを事前に登録する際には、そのリソースサーバのURLをサービス提供サーバ40に対して登録するような設定となっている場合がある。
このようにサービス提供サーバ40に対して連携を許可するサービスのURLを登録する際の処理を図3のシーケンスチャートを参照して説明する。
ここで、サービス提供サーバ10により提供されるXYZサービスを、連携を許可するサービスとして登録する場合について説明する。この場合、ABCサービスの管理者権限を有するユーザ(以下、単に管理者と称する。)が、ステップS201において、端末装置20を介してサービス提供サーバ40に対してサービス提供サーバ10のURLを登録する。
すると、サービス提供サーバ40では、ステップS202において、このURLを連携許可サービステーブルに登録する。すると、あるユーザが、図2に示すようなXYZサービスとABCサービスとの間でID連携を行うことができるようになる。
ここで、近年のクラウドサービスでは、1つの装置を用いて複数の顧客を対象にサービスを提供することが行われている。このようなサービスの提供方法は、マルチテナントと呼ばれている。
このようなマルチテナント構成例を図4に示す。図4では、ABCサービスとXYZサービスの両方のサービスがともにマルチテナント構成となっている場合が示されている。
この図4に示した例では、ABCサービスとXYZサービスのそれぞれにおいて、各テナントはテナントIDにより管理されている。
このような構成の場合、リソースサーバであるXYZサービス側において、どのテナントが、IDプロバイダのどのテナントと対応しているのかという対応情報が必要になる場合がある。
例えば、株式会社Aに設置されている複合機の出力枚数情報がXYZサービスにおいて管理されていて、株式会社Aの所属部門情報がABCサービスにおいて管理されているような場合、複合機の出力枚数を部門別に集計しようとした場合、株式会社AのXYZサービスにおけるテナントIDと、株式会社AのABCサービスにおけるテナントIDとを対応付ける必要がある。
具体的には、株式会社AのXYZサービスにおけるテナントIDである「123A」と、株式会社AのABCサービスにおけるテナントIDである「xyz−A」とを対応付ける必要がある。
ここで、上記で説明したようにABCサービスにおいてXYZサービスとの連携を可能とするために、XYZサービスのURLを登録した場合、XYZサービス全体がABCサービスとの連携が許可されたことになる。つまり、図5に示すように、XYZサービスのURLである「https://xyzservice.com/re」をABCサービスに登録した場合、XYZサービスにおける全てのテナントがABCサービスと連携可能となってしまう。
その結果、株式会社BのXYZサービスにおけるテナントIDと、株式会社AのABCサービスにおけるテナントIDとを対応付けることも可能となってしまうことになる。
ここで、このようなテナントIDを対応付ける手段としては、IDプロバイダであるサービス提供サーバ40にユーザをログインさせて、その際に発行されたIDトークンを用いる手段が利用されている。具体的には、図2に示したシーケンスにおけるステップS106において発行されたIDトークンにIDプロバイダにおけるテナント情報が含まれるため、リソースサーバであるサービス提供サーバ10では、そのテナント情報におけるテナントIDと、自装置におけるおのユーザのテナントIDとを対応付けるような方法が用いられる。
ただし、このような方法を用いる場合、図6に示すように、社内の複数部署でそれぞれXYZサービスを利用している場合、管理者001がユーザ002に対して連携利用を許可すると、許可していないユーザ003も連携利用できるようになってしまう。これは、図3に示したように、管理者001が設定できるのはXYZサービス全体に対する許可設定のためだからである。
このような問題を回避するために、図2のステップS106に含まれるログインしたユーザが管理者か否かのフラグを確認し、管理者である場合にだけ処理を実行する方法も考えられる。しかし、この方法を用いる場合には、ABCサービスにおける管理者とXYZサービスにおける管理者とが同一ユーザである必要がある。
つまり、本実施形態の情報処理システムでは、図7に示すように、ABCサービスとXYZサービスの各サービスにおいて管理者が異なる状態においても、両管理者が許可したテナントに対してのみ対応付けを行いたい場合について説明する。つまり、図6に示したユーザ003が管理者となっているテナントに対しては対応付けができないような状態としつつ、ユーザ002が管理者となっているテナントに対してのみ対応付けを行ができるようにする。
次に、本実施形態の情報処理システムにおけるサービス提供サーバ10のハードウェア構成を図8に示す。
サービス提供サーバ10は、図8に示されるように、CPU11、メモリ12、ハードディスクドライブ等の記憶装置13、ネットワーク30を介して外部の装置等との間でデータの送信及び受信を行う通信インタフェース(IFと略す。)14、タッチパネル又は液晶ディスプレイ並びにキーボードを含むユーザインタフェース(UIと略す。)装置15を有する。これらの構成要素は、制御バス16を介して互いに接続されている。
CPU11は、メモリ12または記憶装置13に格納された制御プログラムに基づいて所定の処理を実行して、サービス提供サーバ10の動作を制御する。なお、本実施形態では、CPU11は、メモリ12または記憶装置13内に格納された制御プログラムを読み出して実行するものとして説明するが、当該プログラムをCD−ROM等の記憶媒体に格納してCPU11に提供することも可能である。
図9は、上記の制御プログラムが実行されることにより実現されるサービス提供サーバ10の機能構成を示すブロック図である。
なお、以下の説明においては、リソースサーバであるサービス提供サーバ10において、株式会社AのABCサービスにおけるテナントIDと、株式会社AのXYZサービスにおけるテナントIDとを対応付けて記憶する場合を用いて説明する。
本実施形態のサービス提供サーバ10は、図9に示されるように、一時パスワード発行部31と、ユーザ管理テーブル記憶部32と、認証処理部33と、データ送受信部34と、制御部35と、対応付け一時情報テーブル記憶部36と、テナントID対応付けテーブル記憶部37とを備えている。
一時パスワード発行部31は、第1システムであるABCサービスにおいて管理者権限を有するユーザからの操作に基づいて、このユーザにより指定されたABCサービスにおけるテナントIDと対応づけられた一時パスワードを発行する。ここで、一時パスワードとは、有効期限が設定されており継続的な仕様を前提としない仮認証情報である。
ユーザ管理テーブル記憶部32は、各ユーザのユーザID、所属するグループのテナントID、パスワード、ユーザ種類の情報等が対応付けられたユーザ管理テーブルを記憶する。
認証処理部33は、XYZサービスを利用しようとするユーザの認証処理を実行する。
データ送受信部34は、端末装置20やサービス提供サーバ40との間においてデータの送受信を行う。
制御部35は、第2のシステムであるXYZサービスの管理者権限を有するユーザが一時パスワードを提示してABCサービスとの連携を要求してきた際に、一時パスワード発行部31により発行した一時パスワードと提示された一時パスワードとが一致した場合、この一時パスワードと対応付けられたABCサービスにおけるテナントIDと、XYZサービスの管理者権限を有するユーザが指定したテナントIDとを対応付ける。
具体的には、制御部35は、XYZサービスの管理者が一時パスワードを提示してABCサービスとの連携を要求してきた場合に、XYZサービスの管理者からの接続要求をリダイレクトすることによりABCサービスにおけるログイン画面に転送する。そして、制御部35は、XYZサービスの管理者がABCサービスにログインすることができた旨の情報が返信されてきた場合、対応付け一時情報テーブル記憶部36の対応付け一時情報テーブルにおいて記憶されているABCサービスにおけるテナントIDと、ログイン中のXYZサービスの管理者が使用しているXYZサービスのテナントIDとを対応付ける。
なお、本実施形態においては、XYZサービスにおける管理者権限を有するユーザが、ABCサービスの管理者権限を有するユーザから通知された一時パスワードを用いて、2つのサービスにおけるテナントIDの対応付けを行う場合について説明するが、XYZサービスにおける管理者権限を有するユーザの代わりにXYZサービスを利用するユーザであっても同様の処理を行うことが可能である。
対応付け一時情報テーブル記憶部36は、一時パスワードと、ABCサービスの管理者により指定されたABCサービスにおける株式会社AのテナントIDとを対応付ける対応付け一時情報テーブルを記憶する。なお、この対応付け一時情報テーブルは、XYZサービスの管理者からの接続要求をABCサービスにおけるログイン画面に転送する際に発行されたstateおよびnonceを、一時パスワードとABCサービスにおけるテナントIDに対応付けて記憶する。
ここで、stateおよびnonceとは、ユーザからの接続要求をリダイレクトすることによりサービス提供サーバ40から返信されてきた返信情報が一連のセッションに基づくものであることを確認するための確認情報である。つまり、リダイレクト情報に含めたstateおよびnonceと、返信情報に含まれているstateおよびnonceが一致することを確認することにより、この返信情報が正規な処理に基づいて返信されたものであることを確認することができる。
つまり、制御部35は、ABCサービスから返信されてきた、XYZサービスの管理者がABCサービスにログインすることができた旨の情報に、対応付け一時情報テーブルに記憶されているstateおよびnonceが含まれている場合に、対応付け一時情報テーブルに記憶されているABCサービスのテナントIDと、ログイン中のXYZサービスの管理者が使用しているXYZサービスのテナントIDとを対応付ける。
テナントID対応付けテーブル記憶部37は、制御部35により対応付けられたABCサービスにおけるテナントIDとXYZサービスにおけるテナントIDとの対応関係をテナントID対応付けテーブルとして記憶する。
なお、一時パスワード発行部31により発行される一時パスワードは、有効期限が設定されている認証情報である。そのため、制御部35は、XYZサービスの管理者が一時パスワードを提示してABCサービスとの連携を要求してきた場合でも、現在の日時がその一時パスワードの有効期限を過ぎている場合、XYZサービスの管理者からのABCサービスとの連携要求を拒否する。
ここで、ABCサービスにおけるテナントIDとは、ABCサービスの管理者およびXYZサービスの管理者が属するグループである株式会社AのABCサービスにおけるグループ識別子である。また、同様にXYZサービスにおけるテナントIDとは、ABCサービスの管理者およびXYZサービスの管理者が属するグループである株式会社AのXYZサービスにおけるグループ識別子である。
次に、本実施形態の情報処理システムにおけるサービス提供サーバ10の動作について図面を参照して詳細に説明する。
まず、サービス提供サーバ10によりABCサービス、XYZサービスという2つのサービスにおけるテナントIDを連携させるための全体シーケンスを図10に示す。
(1)まず、ABCサービスの管理者であるユーザ001が、ABCサービスを操作して、XYZサービスとの連携許可を登録する。
(2)次に、ABCサービスの管理者であるユーザ001が、XYZサービスを操作して、一時パスワードの発行処理を行う。
(3)そして、ユーザ001が、発行した一時パスワードを、XYZサービスの管理者であるユーザ002に、電子メールや電話等により通知する。
(4)最後に、XYZサービスの管理者であるユーザ002が、XYZサービスを操作して、通知された一時パスワードを用いて、ABCサービスにおける株式会社AのテナントIDと、XYZサービスにおける株式会社AのテナントIDとを対応付ける処理を実行する。
以下においてはこの全体シーケンスにおける各処理の詳細について順次説明する。
最初に、上記で説明した全体シーケンスにおける(1)、(2)の処理であるABCサービスの管理者であるユーザ001による操作について図11のシーケンスチャートを参照して説明する。
なお、この説明の前にABCサービスにおいて登録されているユーザ管理テーブル例を図12に示す。図12を参照すると、ユーザ001は、ユーザIDが「U001@idp.example.com」、パスワードが「pw001」、ユーザ種類が「管理者」、テナントIDが「123A」となっているのが分かる。なお、この「123A」というテナントIDは、株式会社AのABCサービスにおけるグループ識別子である。
また、図12を参照すると、ユーザ002は、ユーザIDが「U002@idp.example.com」、パスワードが「pw002」、ユーザ種類が「一般ユーザ」、テナントIDが「123A」となっているのが分かる。つまり、ユーザ001、ユーザ002はともに株式会社Aというグループに属するユーザである。
このようなユーザ登録が行われている状態において、ユーザ001は、ステップS301において、端末装置20からサービス提供サーバ40にアクセスしてユーザIDおよびパスワードを入力してログインした後に、ステップS302において、連携許可を行うXYZサービスのURLを登録するための処理を行う。このユーザ001が連携許可するサービスのURLとしてXYZサービスのURLを入力する様子を図13に示す。図13では、ユーザ001が端末装置20から「https://xyzservice.com/re」というXYZサービスのURLを入力する様子が示されている。
このようなユーザ001からの登録要求を受けたサービス提供サーバ40は、ステップS303において、XYZサービスのURLを連携許可サービステーブルに登録する。
そして、サービス提供サーバ40は、ステップS304において、クライアントIDを発行し、ステップS305においてユーザ001の端末装置20に送信する。
このようにしてユーザ001の端末装置20上に発行されたクライアントIDが表示される様子を図14に示す。また、発行されたクライアントIDと、XYZサービスのURLと株式会社AのテナントIDとは、ABCサービスにおける連携許可サービステーブルにおいて対応付けて記憶される。この連携許可サービステーブルの一例を図15に示す。
次に、ユーザ001は、ステップS306において、XYZサービスのサービス提供サーバ10にアクセスして、ステップS307において、発行されたクライアントIDを入力する。ユーザ001によりクライアントIDが入力される様子を図16に示す。図16では、ユーザ001が端末装置20において、ABCサービスから発行されたクライアントIDをXYZサービスにおいて入力する様子が示されている。
ここで、図16に示した画面は、ユーザ001がサービス提供サーバ10の連携設定URLにアクセスすることにより表示される画面であり、マルチテナント管理とは別管理で表示される画面である。つまり、ユーザ001は、例えXYZサービスにおけるアカウントを保持していなくても操作可能な画面となっている。
そして、サービス提供サーバ10では、ユーザ001から入力されたクライアントIDが対応付け一時情報テーブルに登録される。このように入力されたクライアントIDが登録された際の対応付け一時情報テーブルの一例を図17に示す。
図17に示された対応付け一時情報テーブルでは、クライアントIDとともにstate、nonce、有効期限、状態の各種情報が対応付けられているのが分かる。図17に示されるように、クライアントIDが登録された際に、stateおよびnonceの情報が発行される。
すると、サービス提供サーバ10は、ステップS308において、図18に示すようなリダイレクト情報を生成してユーザ001の端末装置20に送信して、端末装置20の接続先をリダイレクトさせる。
図18に示されたリダイレクト情報は、リダイレクト先であるABCサービスのURL、サービス提供サーバ10において発行されたコード情報であるstateおよびnonce、クライアントID、リクエスト種別を特定するための情報、XYZサービスのURLから構成されている。
そして、ユーザ001の端末装置20がリダイレクトされたことにより表示される表示画面例を図19に示す。図19に示す表示画面では、ABCサービスのログイン画面が表示されている。そのため、ユーザ001は、ステップS309において、このログイン画面にユーザIDおよびパスワードを入力してABCサービスにログインする。ここで、IDプロバイダであるサービス提供サーバ40は、ログイン時に入力されたユーザIDおよびパスワードが正しいこと、ログインしたユーザ001の属するテナントのテナントIDと対応付けて、クライアントIDとURLが連携許可サービステーブルに登録されていることを確認する。
ここでは、図15に示した連携許可サービステーブルにおいて、ログインしたユーザ001の属するテナントのテナントID「123A」、クライアントID「cid0005」、URL「https://xyzservice.com/re」が登録されていることが確認される。
よって、ユーザ001によるログイン処理は正常に行われ、サービス提供サーバ40は、ステップS310において、図20に示すような返信情報を含むリダイレクト情報を生成して端末装置20に対して送信する。すると、端末装置20は、ステップS311において、リダイレクト情報によって指定されたURLにアクセスすることによりサービス提供サーバ10に返信情報を送信する。
ここで、図20に示す返信情報には、株式会社AのABCサービスにおけるテナントID「123A」、ユーザID「U001@idp.example.com」、ユーザ種類「管理者」、state「123123」およびnonce「456456」の情報が含まれている。
すると、サービス提供サーバ10は、この返信情報に対して以下のようなチェックを行う。
(1)返信情報が「idp.example.com」により正しく署名されていること
(2)返信情報におけるユーザ種類が「管理者」であること
(3)返信情報におけるstateおよびnonceの情報が正しいこと
(4)対応付け一時情報テーブルにおける有効期限が過ぎていないこと
(5)対応付け一時情報テーブルにおける「状態」が「管理者ログイン中」であること
そして、上記の条件が全て満たされた場合、サービス提供サーバ10は、IDプロバイダであるサービス提供サーバ40の管理者による連携許可の承認が得られたものであると判定して、ステップS312において、一時パスワードを発行して対応付け一時情報テーブルを更新する。
このようにして対応付け一時情報テーブルが更新される様子を図21に示す。図21を参照すると、一時パスワードが発行されたことにより、発行された一時パスワード「987987」が登録され、連携先テナントIDとしてABCサービスのテナントID「123A」が登録され、「状態」が「管理者ログイン中」から「一時PW(パスワードの略)発行中」に変更されているのが分かる。
そして、このようにして発行された一時パスワードがユーザ001の端末装置20上に表示される際の表示画面例を図22に示す。図22に示した表示画面例では、一時パスワード「987987」の情報とともに、この一時パスワードの有効期限がユーザ001に示されていること分かる。
そして、このように一時パスワードがサービス提供サーバ10により発行されると、ユーザ001は、図23に示すように、XYZサービスの管理者であるユーザ002に発行された一時パスワードを通知する。この一時パスワードの通知は、例えば、電子メール、FAX、電話等の様々な方法を用いることができる。つまり、ユーザ001とユーザ002とは同じ場所にいる必要はなく、それぞれが異なる場所にいる場合でも本実施形態によるID連携の処理を実行することができる。
次に、XYZサービスの管理者であるユーザ002が、ユーザ001から通知された一時パスワードを用いて、2つのサービスにおけるテナントIDどうしを関連付ける際の処理について説明する。
なお、この説明の前にサービス提供サーバ10において登録されているユーザ管理テーブル例を図24に示す。図24を参照すると、ユーザ002は、ユーザIDが「U002@xyzservice.com」、パスワードが「abcabc」、ユーザ種類が「管理者」、テナントIDが「xyz−A」となっているのが分かる。なお、この「xyz−A」というテナントIDは、株式会社AのXYZサービスにおけるグループ識別子である。
次に、図10を参照して説明した全体シーケンスにおける(4)の処理である、XYZサービスの管理者であるユーザ002による操作について図25のシーケンスチャートを参照して説明する。
まず、ユーザ002は、ステップS401において、端末装置20を操作してサービス提供サーバ10にアクセスして図24に示したようなユーザIDおよびパスワードを入力するによりXYZサービスにログインする。
そして、ログイン処理が行われた後に、ユーザ002は、ステップS402において、端末装置20を操作して、ユーザ001から通知された一時パスワードをXYZサービスに入力する。このようにユーザ002が一時パスワードをXYZサービスに入力する際の表示画面例を図26に示す。
このようにして一時パスワードが入力されるとサービス提供サーバ10では、入力された一時パスワードと同じ一時パスワードが対応付け一時情報テーブルに登録されていて、かつ、「状態」が「一時PW発行中」であるか否かを検索する。そして、同じ一時パスワードが登録されており、「状態」が「一時PW発行中」である場合、サービス提供サーバ10は、図18に示した構成と同様の構成のリダイレクト情報を生成する。
そして、サービス提供サーバ10では、対応付け一時情報テーブルが更新される。このように一時パスワードが入力された際に対応付け一時情報テーブルが更新される様子を図27に示す。
図27を参照すると、一時パスワードが入力されたことにより対応付け一時情報テーブルでは新たな欄が設けられて、一時パスワード、クライアントID、「状態」が「ユーザログイン中」、期限、新たなstateおよびnonceが対応付けて記憶されているのが分かる。
次に、サービス提供サーバ10は、ステップS403において、生成したリダイレクト情報をユーザ002の端末装置20に送信して、端末装置20の接続先をリダイレクトさせる。
そして、ユーザ002の端末装置20がリダイレクトされたことにより表示される表示画面例を図28に示す。図28に示す表示画面では、ABCサービスのログイン画面が表示されている。そのため、ユーザ002は、ステップS404において、このログイン画面にユーザIDおよびパスワードを入力してABCサービスにログインする。すると、IDプロバイダであるサービス提供サーバ40は、ユーザIDとパスワードを確認することによりユーザ002の認証処理を実行し、認証処理が正常に行われると、ステップS405において、図29に示すような返信情報を含むリダイレクト情報を生成して端末装置20に対して送信する。すると、端末装置20は、ステップS406において、リダイレクト情報によって指定されたURLにアクセスすることによりサービス提供サーバ10に返信情報を送信する。
この図29に示した返信情報には、ユーザ002のユーザ情報が含まれており、株式会社AのABCサービスにおけるテナントID「123A」、ユーザID「U002@idp.example.com」、ユーザ種類「一般ユーザ」、state「555222」およびnonce「def006」の情報が含まれている。
すると、サービス提供サーバ10は、この返信情報に対して以下のようなチェックを行う。
(1)返信情報が「idp.example.com」により正しく署名されていること
(2)返信情報におけるstateおよびnonceの情報が正しいこと
(3)対応付け一時情報テーブルにおける有効期限が過ぎていないこと
(4)対応付け一時情報テーブルにおける「状態」が「ユーザログイン中」であること
(5)対応付け一時情報テーブルにおいて、同一の一時パスワードが登録された記録情報のうちの、「状態」が「一時PW発行中」である記録情報における連携先テナントIDが、サービス提供サーバ40から返信された返信情報におけるテナントIDと一致すること
具体的には、サービス提供サーバ10は、図30に示すようなチェックを行う。
(1)まず、サービス提供サーバ40からの返信情報に含まれるstateおよびnonceである「555222」と「def006」と一致する記録情報を対応付け一時情報テーブルから検索する。
(2)次に、この記録情報における一時パスワードを参照して「987987」という情報を取得する。
(3)そして、この「987987」という一時パスワードと同一の一時パスワードが登録されている記録情報を検索する。
(4)次に、検索により見つかった記録情報の連携先テナントID「123A」を取得する。
(5)最後に、(4)において取得した連携先テナントID「123A」が、返信情報におけるテナントID「123A」と一致することを確認する。
図30に示した返信情報と対応付け一時情報テーブルでは、上記の条件が満たされている。そのため、サービス提供サーバ10では、対応付け一時情報テーブルが、図31に示すように更新される。具体的には、「状態」が「一時PW発行中」であった記録情報における「状態」が「終了(管理者)」に変更され、「状態」が「ユーザログイン中」であった記録情報における「状態」が「終了(一般ユーザ)」に変更されるとともに連携先テナントIDとして「123A」が登録される。
このような処理が行われた結果、サービス提供サーバ10では、ステップS407において、ABCサービスにおける株式会社AのテナントID「123A」と、XYZサービスにおける株式会社AのテナントID「xyz−A」との対応付けが行われる。
そして、このような対応付けが行われたことにより、サービス提供サーバ10におけるテナントID対応付けテーブルでは、図32に示すように、自装置における株式会社AのテナントID「xyz−A」と対応付けて、連携先であるサービス提供サーバ40のテナントID「123A」が連携先テナントIDとして登録される。
上記各実施形態において、プロセッサとは広義的なプロセッサを指し、汎用的なプロセッサ(例えばCPU:Central Processing Unit、等)や、専用のプロセッサ(例えばGPU:Graphics Processing Unit、ASIC:Application Specific Integrated Circuit、FPGA:Field Programmable Gate Array、プログラマブル論理デバイス等)を含むものである。
また上記各実施形態におけるプロセッサの動作は、1つのプロセッサによって成すのみでなく、物理的に離れた位置に存在する複数のプロセッサが協働して成すものであってもよい。また、プロセッサの各動作の順序は上記各実施形態において記載した順序のみに限定されるものではなく、適宜変更してもよい。
10 サービス提供サーバ
11 CPU
12 メモリ
13 記憶装置
14 通信インタフェース
15 ユーザインタフェース装置
16 制御バス
20 端末装置
30 インターネット
31 一時パスワード発行部
32 ユーザ管理テーブル記憶部
33 認証処理部
34 データ送受信部
35 制御部
36 対応付け一時情報テーブル記憶部
37 テナントID対応付けテーブル記憶部
40 サービス提供サーバ

Claims (6)

  1. メモリとプロセッサを備え、
    前記プロセッサは、
    第1システムにおいて管理者権限を有する第1ユーザからの操作に基づいて、前記第1ユーザにより指定された第1アカウントと対応づけられた仮認証情報を発行し、
    第2のシステムを利用する第2ユーザが前記仮認証情報を提示して前記第1システムとの連携を要求してきた際に、発行した仮認証情報と提示された仮認証情報とが一致した場合、前記仮認証情報と対応付けられた前記第1アカウントと前記第2ユーザが指定した第2アカウントとを対応付ける、
    情報処理装置。
  2. 前記メモリは、前記仮認証情報と、前記第1ユーザにより指定された第1アカウントとを対応付けて記憶し、
    前記プロセッサは、前記第2ユーザが前記仮認証情報を提示して前記第1システムとの連携を要求してきた場合に、前記第2ユーザからの接続要求を前記第1のシステムにおけるログイン画面に転送し、
    前記第2ユーザが前記第1システムにログインすることができた旨の情報が返信されてきた場合、前記メモリに記憶されている前記第1アカウントと、ログイン中の前記第2ユーザが使用している第2アカウントとを対応付ける請求項1記載の情報処理装置。
  3. 前記メモリは、前記第2ユーザからの接続要求を前記第1のシステムにおけるログイン画面に転送する際に発行された確認情報を、前記仮認証情報と前記第1アカウントに対応付けて記憶し、
    前記プロセッサは、前記第1システムから返信されてきた、前記第2ユーザが前記第1システムにログインすることができた旨の情報に、前記メモリに記憶されている確認情報が含まれている場合に、前記メモリに記憶されている前記第1アカウントと、ログイン中の前記第2ユーザが使用している第2アカウントとを対応付ける請求項2記載の情報処理装置。
  4. 前記仮認証情報は、有効期限が設定されている認証情報であり、
    前記プロセッサは、前記第2ユーザが前記仮認証情報を提示して前記第1システムとの連携を要求してきた場合でも、現在の日時が当該仮認証情報の有効期限を過ぎている場合、前記第2ユーザからの前記第1システムとの連携要求を拒否する請求項1記載の情報処理装置。
  5. 前記第1アカウントが前記第1システムにおいて前記第1ユーザおよび前記第2ユーザが属するグループのグループ識別子であり、前記第2アカウントが前記第2システムにおいて前記第1ユーザおよび前記第2ユーザが属するグループのグループ識別子である請求項1から4のいずれか記載の情報処理装置。
  6. 第1システムにおいて管理者権限を有する第1ユーザからの操作に基づいて、前記第1ユーザにより指定された第1アカウントと対応づけられた仮認証情報を発行するステップと、
    第2のシステムを利用する第2ユーザが前記仮認証情報を提示して前記第1システムとの連携を要求してきた際に、発行した仮認証情報と提示された仮認証情報とが一致した場合、前記仮認証情報と対応付けられた前記第1アカウントと前記第2ユーザが指定した第2アカウントとを対応付けるステップと、
    をコンピュータに実行させるためのプログラム。
JP2019174103A 2019-09-25 2019-09-25 情報処理装置およびプログラム Active JP7338360B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019174103A JP7338360B2 (ja) 2019-09-25 2019-09-25 情報処理装置およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019174103A JP7338360B2 (ja) 2019-09-25 2019-09-25 情報処理装置およびプログラム

Publications (2)

Publication Number Publication Date
JP2021051552A true JP2021051552A (ja) 2021-04-01
JP7338360B2 JP7338360B2 (ja) 2023-09-05

Family

ID=75158265

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019174103A Active JP7338360B2 (ja) 2019-09-25 2019-09-25 情報処理装置およびプログラム

Country Status (1)

Country Link
JP (1) JP7338360B2 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008186338A (ja) * 2007-01-31 2008-08-14 Nippon Telegr & Teleph Corp <Ntt> アカウントリンキングシステム、アカウントリンキング方法、連携サーバ装置、クライアント装置
JP2014016697A (ja) * 2012-07-06 2014-01-30 Mitsubishi Electric Corp 権利id付与装置、認証システム、権利id付与方法、権利id付与プログラムおよび認証方法
US8978122B1 (en) * 2013-03-29 2015-03-10 Emc Corporation Secure cross-tenancy federation in software-as-a-service system
JP2016118863A (ja) * 2014-12-19 2016-06-30 キヤノン株式会社 連携システム、連携システムの制御方法、及びプログラム
JP2019075006A (ja) * 2017-10-18 2019-05-16 富士ゼロックス株式会社 情報処理装置、情報処理システム及びプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008186338A (ja) * 2007-01-31 2008-08-14 Nippon Telegr & Teleph Corp <Ntt> アカウントリンキングシステム、アカウントリンキング方法、連携サーバ装置、クライアント装置
JP2014016697A (ja) * 2012-07-06 2014-01-30 Mitsubishi Electric Corp 権利id付与装置、認証システム、権利id付与方法、権利id付与プログラムおよび認証方法
US8978122B1 (en) * 2013-03-29 2015-03-10 Emc Corporation Secure cross-tenancy federation in software-as-a-service system
JP2016118863A (ja) * 2014-12-19 2016-06-30 キヤノン株式会社 連携システム、連携システムの制御方法、及びプログラム
JP2019075006A (ja) * 2017-10-18 2019-05-16 富士ゼロックス株式会社 情報処理装置、情報処理システム及びプログラム

Also Published As

Publication number Publication date
JP7338360B2 (ja) 2023-09-05

Similar Documents

Publication Publication Date Title
US10999063B2 (en) Methods and apparatus for verifying a user transaction
US10367796B2 (en) Methods and apparatus for recording a change of authorization state of one or more authorization agents
US10686794B2 (en) System in which redirect URL is set for each access range of resource, method for the system, and storage medium for the method
US8635679B2 (en) Networked identity framework
US9071601B2 (en) Authority delegate system, server system in authority delegate system, and control method for controlling authority delegate system
WO2018113690A1 (zh) 登录授权方法和装置、登录方法和装置
US20170041504A1 (en) Service providing system, information processing apparatus, program, and method for generating service usage information
US9178874B2 (en) Method, device and system for logging in through a browser application at a client terminal
US20230096498A1 (en) Secure content management through authentication
EP4060934B1 (en) Information processing apparatus and information processing program
US20220311771A1 (en) Information processing apparatus, non-transitory computer readable medium, and information processing method
CN110691089B (zh) 一种应用于云服务的认证方法、计算机设备及存储介质
JP7099198B2 (ja) 管理装置、管理システム及びプログラム
CN112433985A (zh) 控制提交给计算***的信息的组合
JP6091450B2 (ja) 情報処理装置及び情報処理方法及びプログラム
JP7338360B2 (ja) 情報処理装置およびプログラム
JP5097418B2 (ja) セッション管理装置、プログラム、及び記憶媒体
JP2008299467A (ja) ユーザ認証情報管理装置及びユーザ認証プログラム
JP4993083B2 (ja) セッション管理装置、プログラム、及び記憶媒体
JP2015103194A (ja) メールアドレス管理システム
JP2008226201A (ja) 仲介システム、プログラム、及び記憶媒体
JP5686689B2 (ja) 電子認証代替システムおよび電子認証代替方法
JP2005293088A (ja) 認証システム及び認証方法
CN118364489A (zh) 一种权限验证方法、装置、设备及存储介质
CN113821733A (zh) 用于验证与实体相关联的内容的真实性的方法和***

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20201102

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220831

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230519

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230523

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230707

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230725

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230807

R150 Certificate of patent or registration of utility model

Ref document number: 7338360

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150