JP5988699B2 - 連携システム、その連携方法、情報処理システム、およびそのプログラム。 - Google Patents

連携システム、その連携方法、情報処理システム、およびそのプログラム。 Download PDF

Info

Publication number
JP5988699B2
JP5988699B2 JP2012122910A JP2012122910A JP5988699B2 JP 5988699 B2 JP5988699 B2 JP 5988699B2 JP 2012122910 A JP2012122910 A JP 2012122910A JP 2012122910 A JP2012122910 A JP 2012122910A JP 5988699 B2 JP5988699 B2 JP 5988699B2
Authority
JP
Japan
Prior art keywords
authentication
processing system
information
user
information processing
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.)
Expired - Fee Related
Application number
JP2012122910A
Other languages
English (en)
Other versions
JP2013250612A (ja
Inventor
内田 貴之
貴之 内田
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2012122910A priority Critical patent/JP5988699B2/ja
Priority to US13/903,416 priority patent/US9413751B2/en
Priority to CN201310206601.3A priority patent/CN103455749B/zh
Priority to EP13169746.8A priority patent/EP2669837B1/en
Publication of JP2013250612A publication Critical patent/JP2013250612A/ja
Application granted granted Critical
Publication of JP5988699B2 publication Critical patent/JP5988699B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/41User authentication where a single sign-on provides access to a plurality of computers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2137Time limited access, e.g. to a computer or data

Description

本発明は、シングルサインオンにより複数の情報処理システムを連携させる連携システム、その連携方法、その連携システムにおける情報処理システム、およびそのプログラムに関する発明。
クラウドプラットフォーム上で業務データの管理や各種処理を行う形態が普及し始めている。ユーザは、クライアントPCのブラウザからインターネットを介してクラウドプラットフォームが提供するWebページにアクセスし、そのWebページ上で閲覧したい業務データを表示する。例えば、その画面から文書作成指示を行うと、クライアントPCは文書生成サーバにリダイレクトされ、文書生成サーバはクラウドプラットフォーム上にある業務データを取得して文書を生成し、文書をクライアントPCに送信する。クラウドプラットフォームの代表例として、例えば、Salesforce.com社のSalesforce CRM(登録商標)がある。
クラウドプラットフォームや文書生成サーバはマルチテナントで動作する。テナントとは、クラウドプラットフォームや文書生成サーバを使用する契約を締結した企業や組織の単位であり、ユーザが属するグループのことを指す。マルチテナントで動作するサービスは、1つの情報処理システムで複数のテナントのデータを管理し、あるテナントのデータが別のテナントから参照できないよう各テナントのデータを分離して管理する。自身のテナントのデータのみを参照させるため、クラウドプラットフォームや文書生成サーバはユーザ認証とテナントの確認を行う。ユーザ認証とは、ユーザを識別するためのユーザID、および秘匿情報であるパスワードを用いて行われる認証であり、テナントの確認とは、ユーザから入力されたテナントが存在するか否かの確認である。
クラウドプラットフォームと文書生成サーバが連携を行う場合、ユーザがそれぞれのサーバで認証を行うことなく情報処理システム間で認証を連携させることも可能である。従来、複数の情報処理システム間で認証を連携させる技術として、SAML(Security Assertion Markup Language)によるシングルサインオン (以下SSO) の仕組みがある。SAMLのSSOにおいて、ユーザは、認証サービスを提供する情報処理システム(IdentityProvider、以下IdP)、およびIdPの認証結果を信頼してサービスを提供する情報処理システム(ServiceProvider、以下SP)の両方のユーザIDを保有している。ユーザがIdPでユーザ認証を受けると、SPはその認証結果を信頼して、そのアクセスをSP内で管理するユーザIDとして認証する(IdP先行)。また、IdPで認証を受けていない未認証のユーザがSPにアクセスしてきた場合、SPは、未認証のユーザを適切なIdPへと誘導し、IdPでユーザ認証させる(SP先行)。何れの方法であっても、ユーザはIdPにおけるユーザ認証情報を入力するだけでSPが提供するサービスを受けることができ、SPにおけるユーザ認証処理が省かれるので利便性が向上する。
SAMLによるSSOを行う場合、IdPが保有するユーザIDとSPが保有するユーザIDとの対応付け(以下、ユーザマッピングと称する)を行って管理する。特に、ユーザを識別することが不可欠なサービスと文書生成サーバを連携させる場合、ユーザマッピングによるID管理が必要となる。文書をユーザ毎に管理・印刷を行う印刷サービスは、ユーザを識別することが不可欠なサービスである。
また、従来から、複数の情報処理システムがそれぞれ保有するIDを連携させる方法が知られている。特許文献1には、サービス提供サーバがユーザのアクセスを認証サーバへ誘導し、認証サーバとユーザ間で認証情報の登録、認証処理を実行する方法が開示されている。
特開2011−221729
しかしながら従来の方法には以下の問題があった。複数の情報処理システムがSSOを行うためには、連携元の情報処理システムにおける複数のユーザIDと、連携先の情報処理システムにおける複数のユーザIDとを対応づけるユーザマッピングが必要不可欠であった。
ユーザマッピングはユーザにとって負担であり、ユーザIDが増加すればその負担は大きくなる。
本願発明の目的は、複数のユーザが属するグループに対してグループ認証情報を設定し、そのグループ認証情報を利用してシングルサインオンを実現することで、ユーザマッピングにおける負担を軽減させることを目的とする。
本願発明の目的を達成する一実施形態に係る連携システムは、複数のユーザのユーザ認証情報をグループ毎に管理する第1の情報処理システムと、前記第1の情報処理システムからデータを取得し、取得された前記データを利用したサービスを提供する第2の情報処理システムと、を含む連携システムであって、前記第1の情報処理システムは、クライアントを操作するユーザからユーザ認証情報を受信し、受信されたユーザ認証情報を基にユーザ認証を行う第1の認証手段と、前記ユーザ認証が成功した後、前記サービスの利用を開始する依頼を受け付けたことに応じて、前記ユーザが属するグループに対して設定されたグループ認証情報を前記第2の情報処理システムへ送信する第1の送信手段を有し、前記第2の情報処理システムは、送信された前記グループ認証情報を受信し、受信されたグループ認証情報を基に認証を行う第2の認証手段と、前記グループ認証情報を基に行う認証が成功した後、当該認証が成功したことを示す識別情報を前記第1の情報処理システムへ送信する第2の送信手段と、を有し、前記第1の情報処理システムは、更に、送信された前記識別情報を前記クライアントへ送信するとともに、前記第2の情報処理システムへアクセスするよう指示する指示手段を有し、前記第2の情報処理システムは、更に、前記指示に従いアクセスを行うクライアントから送信された前記識別情報を検証する検証手段と、前記識別情報の検証が成功したことに応じて、前記クライアントを操作するユーザのユーザ認証を行うことなく、前記クライアントを操作するユーザにサービスを提供することを特徴とする。
本願発明は、複数のユーザが属するグループに対してグループ認証情報を設定し、そのグループ認証情報を利用してシングルサインオンを実現することで、ユーザマッピングにおける負担を軽減させることを可能にした。
本発明の実施例1に係るシステム構成図。 本発明の実施例1に係るハードウェア構成図。 本発明の実施例1に係るサービス提供サーバA500のモジュール構成図。 本発明の実施例1に係るサービス提供サーバB550のモジュール構成図。 本発明の実施例1に係る非保護リソース管理モジュール505が管理する情報。 本発明の実施例1に係るサービス提供サーバB550の業務データの画面。 本発明の実施例1に係るサービス提供サーバB550のフローチャート。 本発明の実施例1に係るサービス提供サーバA500におけるフローチャート。 本発明の実施例1に係るボタン設定。 本発明の実施例1に係るサービス提供サーバA500におけるフローチャート。 本発明の実施例1に係るクライアントPC200のブラウザが実行するフローチャート。 本発明の実施例2に係るクライアントPC200のブラウザが実行するフローチャート。 本発明の実施例2に係るサービス提供サーバA500が実行するフローチャート。 本発明の実施例3に係るボタン設定。
本願発明の目的は、複数のユーザが属するグループに対してグループ認証情報を設定し、そのグループ認証情報を利用してシングルサインオンを実現することにある。
具体的には、複数のユーザの夫々に対応するユーザ認証情報をグループ毎に管理する連携元の情報処理システムは、連携先の情報処理システムのサービスの利用を開始する依頼をユーザから受け付ける。連携元の情報処理システムは、ユーザから依頼を受け付けたことに応じて、複数のユーザが属するグループに対して設定されているグループ認証情報を連携先の情報処理システムに送信し認証を受ける。連携先の情報処理システムは、認証が成功したことを示す識別情報を連携元の情報処理システムに送信する。その識別情報は、サービスの利用を開始する依頼を行ったユーザが操作するクライアントに対し、連携元の情報処理システムから送信される。連携先の情報処理システムは、そのクライアントから送信される識別情報を検証し、正しい識別情報であると検証したことに応じて、クライアントを操作するユーザのユーザ認証を行うことなくサービスを提供する。
従来であれば、連携元の情報処理システムにおけるユーザIDと、連携先の情報処理システムにおけるユーザIDとのユーザマッピングを行わなくてはならないが、本願発明により、グループに属するユーザ全てに共通のグループ認証情報を用いることでSSOが実現される。結果、ユーザはユーザマッピングを行わず、複数のユーザが属するグループに対してグループ認証情報を設定するだけで良いので、煩わしい処理を大幅に省くことが可能になる。
以降、本願発明を実施するための最良の形態について図面を用いて詳細に説明する。
図1は、実施例1における連携システムのシステム構成を示すブロック図である。
100は、Wide Area Network(WAN100)であり、本発明ではWorld Wide Web(WWW)システムが構築されている。101は各構成要素を接続するLocal Area Network(LAN101)である。LAN101は、WAN100を介することで互いの装置は通信可能になる。
200はユーザが操作するクライアントPC200であり、情報処理装置である。クライアントPC200は、ユーザからの依頼に応じて、後述するサービス提供サーバA500やサービス提供サーバB550に対してリクエストを発行し、送信する。
300はクライアントPC200のアクセスを適切なIdP(アイデンティティプロバイダ)へと誘導する認証サービス決定サーバである。400、および450はそれぞれ認証を行う認証サーバA,Bであり、ともにIdPにおける認証装置として動作する。なお認証サービスは2つに限定されるものではない。どのIdPが実際のユーザ認証を行うかはアクセスするユーザによって異なる。
500、および550は、夫々サービスを提供するサービス提供サーバA500,B550であり、認証されたユーザに対してサービスを提供する。サービス提供サーバA500は、クライアントPC200からのリクエストを受信し、文書データの生成を行う文書生成サービスを提供する。文書データを生成する際に必要となる元データは、例えば、サービス提供サーバB550から取得されるデータである。サービス提供サーバB550は、クライアントPC200、またはサービス提供サーバA500からのリクエストに応じて保持するデータの表示・更新等を行うサービスを提供する。なお、サービス提供サーバA500、およびサービス提供サーバB550は文書生成サービス、クラウドプラットフォームに限定されるものではなく、別のサービスであってもよい。
また、クライアントPC200、認証サービス決定サーバ300、認証サーバA400、認証サーバB450、サービス提供サーバA500、サービス提供サーバB550はそれぞれWANネットワーク100およびLAN101を介して接続されている。これらの情報処理装置は互いに通信可能である。また、クライアントPC200、およびそれぞれのサーバはそれぞれ個別のLAN上に構成されていてもよいし、同一のLAN上に構成されていてもよい。同一のPC上に構成されていてもよい。
認証サーバB450、サービス提供サーバB550は同じネットワーク内(イントラネット内)に構築されたサーバ群であり、認証サービス決定サーバ300、認証サーバA400、サービス提供サーバA500は同じネットワーク内(イントラネット内)に構築されたサーバ群となる。前者のサーバ群を第1の情報処理システムと称し、後者のサーバ群を第2の情報処理システムと称する。なお、夫々の情報処理システムを構成するサーバは実施例1で開示されているサーバには限られない。その他のサービスを提供するサーバーが存在していても良い。
次に、ユーザ認証を行うことでユーザを識別し、ユーザが識別されたことで提供されるサービスをユーザが受ける場合について説明する。これは、ユーザマッピングを行ったSAMLによるSSOの連携である。
クライアントPC200は、サービス提供サーバB550にアクセスする。サービス提供サーバB550は未認証のユーザクセスを受け付けると、不図示の認証画面を表示し、ユーザ認証を行う。ユーザを認証すると業務データの表示を行う。
図6は、本実施の形態に係るサービス提供サーバB550が表示する業務データの画面601の例である。業務データの画面601は、例えば「商談」「顧客」等のタブから構成されており、「商談」タブがアクティブに表示され、ある1つの商談レコードの詳細情報や商品が表示されている。また、サービス提供サーバA500へリダイレクトを行うための設定がなされたボタン602が表示されている。ボタン602は、ボタン押下時の動作を任意に設定可能で、ユーザ、例えばテナントの管理者によって設定される。ボタン602が押下されると、クライアントPC200はサービス提供サーバA500へリダイレクトする。
サービス提供サーバA500は、未認証のユーザからのアクセスを受け付けると、クライアントPC200を認証サービス決定サーバ300にリダイレクトさせる。認証サービス決定サーバ300は、クライアントPC200を適切な認証サーバA400、または認証サーバB450にリダイレクトさせる。認証サーバA400、または認証サーバB450は、ユーザをユーザ認証すると、再度クライアントPC200をサービス提供サーバA500にリダイレクトさせる。サービス提供サーバA500は、クライアントPC200を操作するユーザにサービスを提供する。
認証サービス決定サーバ300は、ユーザ認証を行う認証サーバを決定するキーとなる情報、例えばテナントを識別するためのテナント情報と、認証サーバの情報とを紐付けて記憶する。認証サービス決定サーバ300が未認証のユーザからのアクセスを受け付けると、ユーザがアクセスした際に提供される情報から認証サーバを決定するキーとなる情報を取り出し認証サーバの情報を取得する。その後、認証サービス決定サーバ300は、取り出した認証サーバの情報に従い、ユーザを適切な認証サービスにアクセスするように誘導する。
認証サーバA400が認証サービス決定サーバ300からリダイレクトされた未認証のアクセスを受け付けると、不図示のユーザ認証画面を表示し、ユーザにユーザIDとパスワードの入力を促しユーザ認証を行う。認証サーバA400は、認証完了後のアクセス先情報を受け取っていれば、その情報にもとづいてユーザのアクセスをリダイレクトさせる。たとえば認証完了後のリダイレクト先としてサービス提供サーバA500が指定されていた場合は、クライアントPC200をサービス提供サーバA500にリダイレクトさせる。この際、ユーザ認証済であることを示す情報としてアサーションを発行し、アサーションを付加してサービス提供サーバA500にリダイレクトさせる。サービス提供サーバA500は、アサーションの検証を認証サーバA400に依頼する。認証サーバA400は、アサーションが正しいものであることが検証し、正しいものと検証されたことに応じて認証サーバA400で管理しているユーザIDを特定する。なお、特定されたユーザIDは、事前にユーザマッピングにより認証サーバB450におけるユーザIDと対応づけられたユーザIDである。
認証サーバA400は、正規なユーザからのアクセスであることを示す認証セッションIDを発行する。認証セッションIDとは、任意の一意の文字列で、認証サーバA400がユーザIDと認証セッションIDとを紐付けて記憶する。以降、認証サーバA400は、ユーザがアクセスした際に提供される認証セッションIDからユーザIDを特定する。認証セッションIDは、サービス提供サーバA500がクライアントPC200のブラウザに返すレスポンスページに付加され、クライアントPC200のブラウザに保存される。以降、クライアントPC200のブラウザからサービス提供サーバA500にアクセスすると、認証セッションIDがサービス提供サーバA500に送られる。認証セッションIDは一定期間有効で、有効期限は認証サーバA400が管理する。なお、実施例1において認証セッションIDの有効期限(アイドル時間)を30分とする。認証セッションIDをサービス提供サーバA500に送信することにより、ユーザは認証サーバA400によるユーザ認証が行われることなく、サービス提供サーバA500が提供するサービスを受けることが可能になる。このようにシングルサインオンには、ユーザがユーザ認証情報を入力する必要がないという利点がある。
サービス提供サーバA500が認証サーバA400からリダイレクトされたアクセスを受け付けると、すでにユーザのアクセスは認証が済んでいるため、ユーザはサービス提供サーバA500が提供するサービスを受けることができる。なお、実施例1において、認証セッションIDは、クライアントが保存するCookie「AUTH_SESSION_ID」の項目に付加することを想定する。Cookie以外の方法で認証セッションIDを付加するようことも可能である。
また、認証サーバA400は、ユーザIDとパスワードを受け付けてユーザ認証を行うAPI(Application Programming Interface)を備える。ユーザ認証APIはユーザを認証すると認証セッションIDを呼び出し元に返すためのインターフェースである。さらに、認証サーバA400は、アサーション、および認証セッションIDを受け付けて夫々のデータの妥当性を検証するAPIを備える。認証セッション妥当性検証のAPIは検証結果を呼び出し元に返す。
認証サーバB450が認証サービス決定サーバ300からリダイレクトされた未認証のアクセスを受け付けると、不図示のユーザ認証画面を表示し、ユーザにユーザIDとパスワードの入力を促しユーザ認証を行う。即ち、認証サーバB450もユーザ認証を行うAPIを備えている。認証サーバB450は、ユーザ認証に成功するとユーザ認証が成功したことを示す証拠、アサーションを生成し、アサーションの検証を行うことが可能な認証サービスへクライアントPC200をリダイレクトさせる。
以上が、ユーザ認証を行うことでユーザを識別し、ユーザが識別されたことで提供されるサービスをユーザが受ける場合のSSOの説明である。実施例1の連携システムは、このSSOも実施可能ではあるが、どのように実施するかの詳細な説明については後述する別の実施例で説明する。
図2は実施例1に係るクライアントPC200の構成を示す図である。また、認証サービス決定サーバ300、認証サーバA400、認証サーバB450、サービス提供サーバA500、サービス提供サーバB550を提供するサーバコンピューターの構成も同様である。このように、実施例1におけるクライアントPC200、および各サーバには一般的な情報処理装置のハードウェア構成を適用できる。
図2において、CPU201は、ROM203のプログラム用ROMに記憶された、或いはハードディスク211からRAM202にロードされたOSやアプリケーション等のプログラムを実行する。ここでOSとはコンピュータ上で稼動するオペレーティングシステムの略語であり、以下オペレーティングシステムのことをOSと呼ぶ。後述する各フローチャートの処理を実現するプログラムはOS上で実行される。RAM202は、CPU201の主メモリ、ワークエリア等として機能する。キーボードコントローラ(KBC)205は、キーボード(KB)209や不図示のポインティングデバイスからのキー入力を制御する。CRTコントローラ(CRTC)206は、CRTディスプレイ210の表示を制御する。ディスクコントローラ(DKC)207は各種データを記憶するハードディスク(HD)211やフロッピー(登録商標)ディスク(FD)等におけるデータアクセスを制御する。NC212はネットワークに接続されて、ネットワークに接続された他の機器との通信制御処理を実行する。なお、後述の全ての説明において、特に断りのない限り実行のハード上の主体はCPU201であり、ソフトウェア上の主体はハードディスク(HD)211にインストールされた各ソフトウェアモジュールである。
図3は、実施例1に係るサービス提供サーバA500のソフトウェアモジュール構成図である。サービス提供サーバA500は、アクセス拒否モジュール501、データ取得モジュール502、文書生成モジュール503、ページ生成モジュール504、非保護リソース管理モジュール505、認証情報取得モジュール506、認証情報検証モジュール507、認証情報付加モジュール508を備える。これらは、サービス提供サーバA500のHDD211に保存された各ソフトウェアモジュールがRAM202にロードされ、CPU201により実行されることにより実現される。
サービス提供サーバA500がクライアントPC200からアクセスを受け付けると、アクセス拒否モジュール501はアクセスされたURLが非保護リソース管理モジュール505に登録されたURLであるか否かを判断する。
図5は、非保護リソース管理モジュール505に登録されたURL(以降、非保護リソースと記載する)の例である。図5では、画像ファイル、javascript(登録商標)ファイル、CSS(CascadingStyleSheets)ファイル、および「http://service_a/unprotected/」から始まるURLが非保護リソースとして登録されている。非保護リソース管理モジュール505に登録されていないURL(以降、保護リソースと記載する)へクライアントPC200からアクセスされた場合、上述の通り処理が行われる。即ち、未認証(リクエストにCookie「AUTH_SESSION_ID」が含まれない、あるいは、付加された認証セッションIDが有効でない)の場合、サービス提供サーバA500はユーザ認証画面を表示する。非保護リソースである「http://service_a/unprotected/」から始まるURLへアクセスした場合は、ユーザ認証画面を表示せず、認証セッションIDが正しいものであるか否かの検証を行う。詳細は後述するが、サービス提供サーバA500は、外部装置からのアクセスに含まれる認証セッションIDが正しいものであればサービスを提供し、認証セッションIDが正しいものでなければエラーとする。
アクセス拒否モジュール501は、アクセスされたURLが非保護リソースである場合、認証セッションIDの検証を行い、認証セッションIDが正しいものであれば、保護リソースへアクセスするようクライアントPC200へ指示し、クライアントPC200を操作するユーザにサービスを提供する。また、保護リソースである場合、ユーザのアクセスが認証済みであるか否かを判断し、未認証のクライアントPC200を認証サービス決定サーバ300へリダイレクトさせる。認証済みであれば、後述する文書生成モジュール503は、生成された文書をクライアントPC200に送信することで、クライアントPC200を操作するユーザへサービスを提供する。
アクセス拒否モジュール501は、クライアントPC200を操作するユーザのユーザ認証が済んでいるか否かを、リクエストにCookie「AUTH_SESSION_ID」が含まれるか、および、Cookie「AUTH_SESSION_ID」に含まれる認証セッションIDが有効であるか否かに基づき判断する。
データ取得モジュール502はサービス提供サーバB550から業務データを取得する。文書生成モジュール503は、不図示のフォーム管理モジュールが管理するフォームを取得し、データ取得モジュール502が取得した業務データをフォームに差し込むことで文書データを生成する。文書データは、一般的な住民票、会計票等の帳票データを想定しているが、それ以外であっても良い。ページ生成モジュール504は、クライアントPC200からのリクエストに対し、レスポンスページを生成して返す。レスポンスページは、例えば、不図示のユーザ認証情報を入力する画面、文書データを表示するための画面等である。
非保護リソースに対するアクセスであって、認証セッションIDを取得するためのURLに対しサービス提供サーバB550からアクセスがあった場合、アクセス拒否モジュール501はリクエストからグループID、およびパスワードを取り出す。認証情報取得モジュール506は、取り出したグループID、およびパスワードを指定して認証サーバA400のユーザ認証APIを呼び出す。非保護リソースに対するアクセスであって、認証セッションIDを検証するためのURLに対しクライアントPC200からアクセスがあった場合、アクセス拒否モジュール501はURLのパラメーター部から認証セッションIDを取り出す。認証情報検証モジュール507は、取り出した認証セッションIDを指定して認証サーバA400の認証セッション妥当性検証APIを呼び出す。以上が、サービス提供サーバA500のソフトウェアモジュールにより提供される機能である。
図4は、本実施の形態に係るサービス提供サーバB550のモジュール構成図である。サービス提供サーバB550は、アクセス拒否モジュール551、グループID管理モジュール5531,5541、認証情報取得モジュール5532,5542、業務データ管理モジュール5533,5543、設定管理モジュール5534,5544、を備える。これらは、サービス提供サーバB550のHDD211に保存された各ソフトウェアモジュールがRAM202にロードされ、CPU201により実行されることにより実現される。
サービス提供サーバB550がクライアントPC200からアクセスを受け付けると、ユーザ認証済みであるか否かをアクセス拒否モジュール551が判断し、未認証であればページ生成モジュール552が認証画面を表示する。ユーザ認証済みであれば、サービス提供サーバB550はサービスを提供する。サービス提供サーバB550が業務データ表示のリクエストを受け付けると、業務データ管理モジュール5533,5543が業務データを取得する。業務データを表示する画面にボタンが含まれる場合、設定管理モジュール5534,5544がボタン設定を取得する。ページ生成モジュール552はレスポンスページを生成してクライアントPC200に返す。実施例1におけるボタン設定の詳細な説明については後述する。
グループID管理モジュール5531,5541が管理するユーザIDおよびパスワードは、サービス提供サーバA500にアクセスするテナントを識別するためのアカウント情報であり、グループIDおよびパスワードを含む。グループID管理モジュール5531,5541は最大で1組のグループIDおよびパスワードを管理する。グループID、およびパスワードは、ユーザ(管理者)があらかじめ何らかの方法で発行・取得して、不図示の設定画面から登録をおこなう。
なお、セキュリティの観点から、不図示のID設定画面からのみ、グループID管理モジュール5531,5541のグループIDおよびパスワードを登録・更新を可能であることが望ましい。また、グループID管理モジュール5531,5541が管理するパスワードは、不図示のID設定画面には表示しないようにすることが望ましい。また、グループID管理モジュール5531,5541が管理するグループID、およびパスワードは、認証情報取得モジュール5532,5542からのみ取得可能であることが望ましい。グループID管理モジュール5531,5541が管理するグループIDおよびパスワードは、サービス提供サーバB550の外部から取得・参照可能とするべきでない。
グループ認証情報とは、このグループID、およびパスワードのことを指す。実施例1では、1つのグループ認証情報は1テナントに対して割り当てられる情報である。結果、特定のテナントに属する全てのユーザは、グループ認証情報が共通したものとなる。なお、グループ認証情報はグループID、およびパスワードに限られるものではない。1テナントに対し一意に割り当てられる情報であって、認証サーバA400によるユーザ認証APIを利用できるデータであればどのような形式であっても良い。なお、1テナントを更に細分化したグループに対しても本願発明を適用することは可能である。
サービス提供サーバB550が認証セッションID取得のリクエストをクライアントPC200から受け付けると、認証情報取得モジュール5532,5542は、グループID管理モジュール5531,5541からグループID、およびパスワードを取得する。認証情報取得モジュール5532,5542は、取得したグループID、およびパスワードをパラメーターに設定してサービス提供サーバA500の認証セッションIDを取得するための非保護リソースのURLにアクセスする。認証情報取得モジュール5532,5542はクライアントPC200のブラウザから認証セッションID取得リクエストを受け付けられるよう、例えばWebサービスAPIとして公開されている。
また、グループID管理モジュール5531,5541、認証情報取得モジュール5532,5542、業務データ管理モジュール5533,5543、設定管理モジュール5534,5544は、テナント毎に管理される。なお、これらテナント毎に管理されるモジュールは同一のハードディスク(HD)211に記憶されてテナント毎のデータを論理的に分離して管理するようにしてもよいし、ハードディスク(HD)211を分けて物理的に分離して管理するようにしてもよい。
図9は、実施例1におけるボタン602のボタン設定の例を示す図であり、ボタン602は業務データの画面601に配置される。ボタン602の表示名901が「文書作成」と設定され、このボタン602を押下した場合の動作902として、クライアントPC200のブラウザ上でJavaScript(登録商標)が実行されるように定義されている。また、ボタン設定602には、実行するJavaScript(登録商標)の内容903が定義されている。図9中、認証情報を取得するよう定義されている部分は、認証情報取得モジュール5532、5542から、サービス提供サーバB550における認証セッションIDを取得する。認証セッションIDを取得する方法として、例えば、認証情報取得モジュール5532,5542がWebサービスAPIを公開し、そのWebサービスAPIを呼び出す方法が考えられる。
図9中、Cookie「LOGIN」を取得、あるいは保存するよう定義されている部分は、クライアントPC200のブラウザからCookie「LOGIN」をサービス提供サーバA500へ送信し取得させる、あるいはクライアントPC200のブラウザにCookie「LOGIN」を保存する処理を行うことを示す。Cookieとは、サーバがクライアントに一時データとして保存させるクッキーであり、情報処理システムとクライアント間の通信・認証状態に関するデータが、CookieとしてクライアントPCのHD211内に保存される。
Cookieは保存時に有効期限を設定することが可能で、有効期限を過ぎるとCookieはクライアントPC200のブラウザにより削除することも可能である。Cookie「LOGIN」は、サービス提供サーバB550がグループ認証情報を用いてサービス提供サーバA500から認証セッションIDを取得するか否かを判断するためのフラグである。Cookie「LOGIN」が存在しない場合、あるいは、以前にCookie「LOGIN」を保存した際に設定した有効期限を経過していたとクライアントPC200により判断された場合、サービス提供サーバB550はサービス提供サーバA500の認証セッションIDを取得する。そして、クライアントPC200のブラウザは、取得した認証セッションIDを非保護リソースへのURLのパラメーターに設定し、サービス提供サーバA500の非保護リソースの文書生成処理URLにアクセスする。Cookie「LOGIN」が有効期限内である場合は、サービス提供サーバA500の保護リソースの文書生成処理URLにアクセスする。
実施例1におけるCookie「LOGIN」の有効期限は、認証サーバA400が管理する認証セッションIDの有効期限(アイドル時間)よりも短く設定する。そのため、Cookie「LOGIN」が有効期限内であれば、Cookie「AUTH_SESSION_ID」に含まれる認証セッションIDは常に有効である。よって、クライアントPC200が保護リソースのURLにアクセスしても、ユーザ認証を行うために必要となるユーザ認証情報を入力するための認証画面は表示されない。Cookie「AUTH_SESSION_ID」は、クライアントPC200が保護リソースの文書作成処理URLにアクセスした際の認証に用いられるクッキーであり、Cookie「LOGIN」とは異なる。Cookie「AUTH_SESSION_ID」により、クライアントPC200を操作するユーザは、サービス提供サーバA500によるユーザ認証が行われることなくサービスを受けることができる。そして、Cookie「LOGIN」を設け、かつ有効期限をCookie「AUTH_SESSION_ID」より短くすることで、クライアントPC200がサービス提供サーバA500にアクセスした際に、常にサービス提供サーバA500によるユーザ認証が行われない。ユーザの利便性は更に向上する。
実施例1では、Cookie「LOGIN」の値として認証セッションIDを設定しているが、上述のとおり、Cookie「LOGIN」が有効期限内であるか否かのみを判断しており、Cookie「LOGIN」の検証自体は行わない。そのため、Cookie「LOGIN」の値に認証セッションID以外の値を設定してもよい。図9中、{!$Api.Session_ID}とは、サービス提供サーバB550の認証ユーザのセッションIDをサービス提供サーバB550の不図示のセッション管理モジュールから取得することを意味している。
図9中、{!$Api.Server_URL}とは、サービス提供サーバA500がサービス提供サーバB550にアクセスするためのURLを取得することを意味している。図9中、{!Opportunity.Id}とは、画面に表示した商談レコードのレコードIDを取得することを意味している。図9のように設定されたボタンをユーザが押下すると、クライアントPC200のブラウザ上でJavaScript(登録商標)が実行される。クライアントPC200のブラウザ上には別ウィンドウが表示されて、クライアントPC200は非保護リソースである「http://service_a/unprotected/service」にリダイレクトする。リダイレクトのURLパラメーターとして、パラメーター「AUTH_ID」にサービス提供サーバA500がグループ認証情報を基に発行した認証セッションID、パラメーター「sessionid」にサービス提供サーバB550の認証ユーザのセッションID、パラメーター「serverurl」にサービス提供サーバB550にアクセスするためのURL、パラメーター「recordid」に商談レコードのレコードIDが含まれる。
図11は実施例1に係る、クライアントPC200のブラウザが実行するフローである。本フローは、クライアントPC200のブラウザに表示される業務データの画面601において、ユーザにより文書作成ボタン602を押下されたことを検知されることによって始まり、ブラウザがJavaScript(登録商標)を実行することで本フローが実行される。
ステップS1101でクライアントPC200のブラウザは、クライアントPCのHD211からCookie「LOGIN」を取得する。ステップS1102でクライアントPC200のブラウザはCookie「LOGIN」が存在しているか、即ち取得しているか否かを判断する。Cookie「LOGIN」が存在している場合ステップS1103に遷移し、Cookie「LOGIN」が存在していない場合ステップS1106に遷移する。
ステップS1102でCookie「LOGIN」が存在している場合、クライアントPC200のブラウザはステップS1103でCookie「LOGIN」が有効期限内であるか否かを判断する。Cookie「LOGIN」が有効期限内である場合ステップS1104に遷移し、Cookie「LOGIN」が有効期限内でない場合ステップS1106に遷移する。
ステップS1103でCookie「LOGIN」が有効期限内であると判断された場合、クライアントPC200のブラウザはステップS1104でCookie「LOGIN」の有効期限を更新する。そして、ステップS1105でクライアントPC200のブラウザはアクセスするURLを保護リソースである「http://service_a/service」に設定し、ステップS1113でサービス提供サーバA500にアクセスする。Cookie「LOGIN」の有効期限を延長するように更新することで、Cookie「AUTH_SESSION_ID」を新たに発行するためのフローの実行回数を減らすことが可能になる。
Cookie「LOGIN」が存在しない(ステップS1102でNO)、あるいは、Cookie「LOGIN」が有効期限内ではない(ステップS1103でNO)場合、ステップS1106でクライアントPC200のブラウザは、サービス提供サーバB550に対して認証セッションIDを取得するリクエストを行う。ステップS1107でクライアントPC200のブラウザは認証セッションIDの取得に成功したか否かを判断する。認証セッションIDの取得に成功した場合ステップS1108に遷移し、エラーとなった場合はステップS1112に遷移する。なお、S1107の判断は、サービス提供サーバB550からのレスポンスに基づいて判断することが可能である。
ステップS1107で認証セッションIDの取得に成功した場合、クライアントPC200のブラウザはステップS1108で取得した認証セッションIDを取り出し、ステップS1109で取り出した認証セッションIDをURLパラメーター「AUTH_ID」に設定する。そして、取り出した認証セッションIDをCookie「LOGIN」に保存する。このとき、Cookie「LOGIN」の有効期限を20分に設定する。なお、Cookie「LOGIN」の有効期限は20分である必要はなく、認証サーバA400が管理する認証セッションIDの有効期限(30分)よりも短ければよい。ただし、有効期限が短いほどステップS1106が実行される可能性が高くなる。その後、クライアントPC200のブラウザは、ステップS1108でアクセスするURLを非保護リソースである「http://service_a/unprotected/service」に設定し、ステップS1113でサービス提供サーバA500にアクセスする。
ステップS1107でエラーとなった場合、ステップS1112で画面をリロードする。エラーとなるケースとして、例えば、サービス提供サーバB550で認証済のユーザのセッションが切れてしまった場合が考えられる。その他、サービス提供サーバB550が認証セッションIDの取得に失敗した場合も考えられる。それらのケースの場合、画面をリロードすることでクライアントPC200のブラウザ上に再び認証画面が表示され、ユーザ認証成功後、直前に表示していた画面に戻ることができる。なお、ステップS1112で画面をリロードせずにエラー画面を表示するようにしてもよい。以上でクライアントPC200のブラウザが実行するフローが終了する。
図7は実施例1に係る、サービス提供サーバB550が実行するフローである。本フローは、ステップS1106において、クライアントPC200のブラウザがサービス提供サーバB550に対して認証セッションID取得リクエストを行うことによって始まる。
ステップS701でサービス提供サーバB550は、認証セッションID取得リクエストを受け付ける。ステップS702で認証情報取得モジュール5532,5542は、グループID管理モジュール5531,5541からグループID、およびパスワードを取得する。そしてステップS703において、認証情報取得モジュール5532,5542は、取得したグループIDおよびパスワードで認証要求を行うため、取得したグループIDおよびパスワードをURLのパラメーターに設定し、非保護リソースであるURL「http://service_a/unprotected/login」にアクセスする。ステップS704で認証情報取得モジュール5532,5542は、認証結果に含まれる認証セッションIDを取得してレスポンスとして返す。以上でフローが終了する。
図8は実施例1に係る、サービス提供サーバA500が実行するフローである。本フローは、図7のステップS703において、サービス提供サーバB550がサービス提供サーバA500にアクセスすることによって始まる。
ステップS801でサービス提供サーバA500は認証要求を受け付ける。ステップS802でアクセス拒否モジュール501はパラメーターからグループIDおよびパスワードを取得する。ステップS803で認証情報取得モジュール506は、取得したグループIDおよびパスワードを指定して認証サーバA400のユーザ認証APIを呼び出して認証セッションIDを取得する。そして、ステップS805で認証情報取得モジュール506は、取得した認証セッションIDをレスポンスとしてクライアントPC200へ返す。以上でフローが終了する。なお、取得した認証セッションIDの有効期限(アイドル時間)は30分である。
図10は実施例1に係る、サービス提供サーバA500が実行するフローである。本フローは、ステップS1113が実行されることによって始まる。または、通常のクライアントPC200からのアクセスからであっても、本フローの処理は開始される。
ステップS1001でサービス提供サーバA500はクライアントPC200からのアクセスを受け付ける。ステップS1002でアクセス拒否モジュール501は、クライアントPC200からのアクセス先のURLが非保護リソースであるか否かを判断する。アクセスされたURLが非保護リソースでなければステップS1003に遷移し、非保護リソースであればステップS1006に遷移する。
ステップS1003において、アクセス拒否モジュール501は認証済みであるか否かを判断する。認証済みであればステップS1005に遷移し、未認証であればステップS1004に遷移する。
ステップS1006でアクセス拒否モジュール501は、URLパラメーターにパラメーター「AUTH_ID」が含まれるかを判断する。パラメーター「AUTH_ID」が含まれる場合ステップS1007に遷移し、パラメーター「AUTH_ID」が含まれない場合、S1012でページ生成モジュール504がエラー画面を返してフローは終了する。
ステップS1007で認証情報検証モジュール507は、URLパラメーター「AUTH_ID」から認証セッションIDを取得する。そして、ステップS1008で認証情報検証モジュール507は取得した認証セッションIDを指定して認証サーバA400の認証セッション妥当性検証APIを呼び出し、認証セッションIDが妥当であるかを検証する。ステップS1009において、認証情報検証モジュール507は前記認証セッション妥当性検証APIの検証結果を取得し、結果が妥当であるか否かを判断する。取得した認証セッションIDが妥当である場合、ステップS1010に遷移し、妥当でない場合、S1012でページ生成モジュール504がエラー画面を返してフローは終了する。
ステップS1010において、認証情報付加モジュール508は取得した認証セッションIDをCookie「AUTH_SESSION_ID」に付加する。そして、ステップS1011でページ生成モジュール504は、保護リソースである文書生成処理URL「http://service_a/service」へリクエストをフォワードする。即ち、サービス提供サーバA500は、保護リソースへアクセスするようクライアントPC200へ指示する。それにより、図10のフローが再度実行され、認証済みであるためステップS1005に遷移する。結果、クライアントPC200を操作するユーザは、サービス提供サーバA500によるユーザ認証が行われることなく、サービスを受けることができる。なお、ステップS1011は、クライアントPC200のブラウザにレスポンスを返し、クライアントPC200のブラウザが文書生成処理URL「http://service_a/service」へアクセスするようにしてもよい。
ステップS1005で、データ取得モジュール502がパラメーターから「recordid」を取得し、サービス提供サーバB550に対して業務データの取得要求(クエリ)を行う。サービス提供サーバB550は業務データの取得要求に応じて、サービス提供サーバA500へ業務データ送信を行う。次に、文書生成モジュール503が不図示のフォーム管理モジュールが管理するフォームを取得して、取得した業務データと取得したフォームから文書データを生成する。ステップS1005の文書生成処理は公知のため説明は割愛する。そして、ページ生成モジュール504は文書データが生成されたことを通知する、または文書データを表示するためのレスポンスページを生成してクライアントPC200に返す。結果、クライアントPC200を操作するユーザはサービスを受けることができる。なお、レスポンスページを受信すると、クライアントPC200のブラウザはレスポンスページからCookie「AUTH_SESSION_ID」を取得してクライアントPC200のHD211に保存する。以降、サービス提供サーバA500にアクセスする際に、クライアントPC200のブラウザがHD211からCookie「AUTH_SESSION_ID」を取り出してリクエストにCookie「AUTH_SESSION_ID」を含める。
実施例1によれば、サービス提供サーバB550からサービス提供サーバA500に対して一つのアカウント(例えば、グループ認証情報)で認証を行い、取得した認証セッションIDでサービス提供サーバA500の非保護リソースにアクセスする(認証画面は表示されない)。また、取得した認証セッションIDをブラウザのCookieに保存し、Cookieが有効である間は、クライアントPC200はサービス提供サーバA500の保護リソースにアクセスする。Cookieが有効な間は常に認証済(認証セッションIDが有効)であるため、認証画面が表示されることはない。以上により、サービス提供サーバB550のユーザアカウント数に依らず、サービス提供サーバA500の一つのアカウントでサービス提供サーバA500を利用することができ、ユーザマッピングを行わなくても認証画面を表示させることなくSSOを行えるようになる。
なお、本実施の形態により文書を作成した場合に、ユーザを識別することが不可欠なサービスに文書を送信できないよう制御することも可能である。
次に、本発明を実施するための実施例2について図面を用いて説明する。なお実施例1と共通の部分については説明を省略し、以下では差異部分のみ説明する。実施例2では、ボタン設定602に保護リソースへアクセスする命令を省いた例を説明する。ボタン設定602のスクリプト記述を削減することが可能になる。また、クライアントPC200が非保護リソースへ常にアクセスする形態になった場合でも、Cookie「Auth_ID」の検証を省くことで、認証サーバA400における認証セッションIDの検証プロセスを削減することが可能になる。
図12は実施例2の形態に係る、クライアントPC200のブラウザが実行するフローである。なお、図11と同様のフローにおいては同じ符号を付与しており、以下、差異部分のみ説明する。ステップS1103でCookie「LOGIN」が有効期限内であると判断された場合、クライアントPC200のブラウザはステップS1104でCookie「LOGIN」の有効期限を更新する。さらに、ステップS1201でクライアントPC200のブラウザはパラメーター「check」にfalseを設定し、パラメーター「check」をURLパラメーターに設定する。
ステップS1107で認証セッションIDの取得に成功した場合、クライアントPC200のブラウザはステップS1108〜S1110を行う。さらに、ステップS1202でクライアントPC200のブラウザはパラメーター「check」にtrueを設定し、パラメーター「check」をURLパラメーターに設定する。ステップS1201、あるいは、ステップS1202を行うと、クライアントPC200のブラウザはステップS1203でアクセスするURLを非保護リソースである「http://service_a/unprotected/service」に設定する。そして、ステップS1113でサービス提供サーバA500にアクセスする。
図13は実施例2の形態に係る、サービス提供サーバA500が実行するフローである。なお、図10と同様のフローにおいては、同じ符号を付与しており、以下、差異部分のみ説明する。ステップS1002でアクセス拒否モジュール501はアクセスされたURLが非保護リソースであるか否かを判断する。非保護リソースである場合、アクセス拒否モジュール501はステップS1301で、URLパラメーターにパラメーター「check」にtrueを設定がされているか否かを判断する。設定されている場合はステップS1006に遷移し、設定されていない場合はステップS1011に遷移する。結果、クライアントPC200が非保護リソースへアクセスする場合であっても、認証サーバA400における認証セッションIDの検証プロセスを削減することが可能になる。
本発明を実施するための実施例1、または実施例2では、テナント内における複数のユーザにとって共通のグループ認証情報でサービス提供サーバA500にアクセスする例を説明した。グループIDはユーザを特定するためのIDではないため、サービス提供サーバB550が連携する別のサービス提供サーバA500の中には、ユーザを識別することが不可欠なサービスを使用できないタイプが考えられる。その場合、実施例1、または実施例2のみのフローを有する連携システムでは、このタイプのサービスを提供するサービス提供サーバと連携することについて具体的な説明を行わなかった。実施例3では、ユーザを識別することが必要なサービスを利用しない場合に、本発明を実施するための実施例1、または実施例2によるSSOを行い、使用ユーザを識別することが必要なサービスを使用する場合に、ユーザマッピングを行ったSAMLによるSSOを行う連携システムの具体的な実現方法法について説明する。
図14は実施例3の形態に係る、ボタン設定の例を示す図である。図14のように設定されたボタンは、ユーザマッピングを行ったSAMLによるSSOを行う場合に使用するボタンである。なお、図9と同様のものにおいては同じ符号を付与しており、以下、差異部分のみ説明する。このボタン設定には、実行するJavaScript(登録商標)の内容1403が定義されている。図14のように設定されたボタンを押下すると、クライアントPC200のブラウザ上でJavaScript(登録商標)を実行され、別ウィンドウが表示されて保護リソースである「http://service_a/service」にリダイレクトする。リダイレクトのURLパラメーターとして企業IDが含まれる。企業IDは、サービス提供サーバA500のテナントを識別するためのIDである。以下、上述で説明した通りのユーザマッピングを行ったSAMLによるSSOの連携が行われる。
サービス提供サーバB550の業務データの画面601に図9、図14のボタンの少なくとも1つを配置する。ボタン2つを業務画面601に配置する場合は、例えば、ボタン602の右隣に図14のボタン設定が設定されたボタンを配置すれば良い。使用ユーザを識別することが必要なサービスを使用しない場合、ボタン602を使用して本発明を実施するための実施例1、または実施例2の形態によるSSOを行う。使用ユーザを識別することが必要なサービスを使用する場合、図14のボタン設定に対応するボタンを使用し、ユーザマッピングを行ったSAMLによるSSOを行う。
なお、実施例3における使用ユーザを識別することが必要ないサービスとは、実施例1、および実施例2で説明した文書生成サービスである。文書生成サービスは、誰が文書を生成したかを管理する必要ないとしている。また、使用ユーザを識別することが必要なサービスとは、例えば、生成された文書データを基に印刷データを生成しプリンタに印刷させる印刷サービスを想定している。印刷データは実際にプリンタにより印刷されるため、コスト管理が行われなくてはいけない。そのため、ユーザを識別する必要があるので、印刷サービスがどのユーザにより利用されたかが管理されるのである。
実施例3によれば、使用するサービスによりボタンを使い分け、ユーザを識別することが必要なサービスを利用する場合にはユーザマッピングを行ったSAMLによるSSOを行えるようになる。
100 WAN
101 LAN
200 クライアントPC
300 認証サービス決定サーバ
400 認証サーバA
450 認証サーバB
500 サービス提供サーバA
550 サービス提供サービスサーバB

Claims (10)

  1. 複数のユーザのユーザ認証情報をグループ毎に管理する第1の情報処理システムと、前記第1の情報処理システムからデータを取得し、取得された前記データを利用したサービスを提供する第2の情報処理システムと、を含む連携システムであって、
    前記第1の情報処理システムは、
    クライアントを操作するユーザからユーザ認証情報を受信し、受信されたユーザ認証情報を基にユーザ認証を行う第1の認証手段と、
    前記ユーザ認証が成功した後、前記サービスの利用を開始する依頼を受け付けたことに応じて、前記ユーザが属するグループに対して設定されたグループ認証情報を前記第2の情報処理システムへ送信する第1の送信手段を有し、
    前記第2の情報処理システムは、
    送信された前記グループ認証情報を受信し、受信されたグループ認証情報を基に認証を行う第2の認証手段と、
    前記グループ認証情報を基に行う認証が成功した後、当該認証が成功したことを示す識別情報を前記第1の情報処理システムへ送信する第2の送信手段と、を有し、
    前記第1の情報処理システムは、更に、
    送信された前記識別情報を前記クライアントへ送信するとともに、前記第2の情報処理システムへアクセスするよう指示する指示手段を有し、
    前記第2の情報処理システムは、更に、
    前記指示に従いアクセスを行うクライアントから送信された前記識別情報を検証する検証手段と、
    前記識別情報の検証が成功したことに応じて、前記クライアントを操作するユーザのユーザ認証を行うことなく、前記クライアントを操作するユーザにサービスを提供する提供手段と、を有する連携システム。
  2. 複数のユーザのユーザ認証情報をグループ毎に管理する第1の情報処理システムと連携してサービスを提供する第2の情報処理システムであって、
    ユーザが属するグループに対して設定されたグループ認証情報を前記第1の情報処理システムから受信する受信手段と、
    受信されたグループ認証情報を基に行う認証が成功した後、前記認証が成功したことを示す識別情報を前記第1の情報処理システムへ送信する送信手段と、
    前記識別情報を前記第1の情報処理システムを介して受信したクライアントからアクセスされた場合、クライアントを操作する前記ユーザのユーザ認証を行うことなく前記サービスを提供する提供手段と、を有する第2の情報処理システム。
  3. 前記受信手段は、ユーザ認証情報を入力し認証を受けたユーザにより前記サービスの利用を開始する依頼を受け付けたことに応じて送信されるグループ認証情報を前記第1の情報処理システムから受信することを特徴とする請求項2に記載の第2の情報処理システム。
  4. 複数のユーザのユーザ認証情報をグループ毎に管理する第1の情報処理システムであって、
    クライアントを操作するユーザのユーザ認証情報を受信し、受信されたユーザ認証情報を基にユーザ認証を行う認証手段と、
    前記ユーザ認証が成功した後、前記ユーザが属するグループに対して設定されたグループ認証情報を第2の情報処理システムへ送信し、その後、前記グループ認証情報を基に行う認証が成功したことを示す識別情報を前記第2の情報処理システムから受信し、受信された前記識別情報を前記クライアントへ送信する送信手段と、
    前記識別情報を受信したクライアントからアクセスされたことに応じて前記クライアントを操作するユーザのユーザ認証を行わずにデータを要求する前記第2の情報処理システムに対し、データを送信するデータ送信手段と、を有する第1の情報処理システム。
  5. 前記第1の情報処理システムは、前記クライアントを介してユーザから入力されたデータを表示する項目と、前記データを利用した前記第2の情報処理システムが提供するサービスの利用を開始する依頼を受け付けるボタンと、を含む画面を提供する提供手段を有する請求項4に記載の第1の情報処理システム。
  6. 前記送信手段は、有効期限が設定された前記識別情報と、前記識別情報を保存する指示と、を前記クライアントへ送信することを特徴とする請求項4または5に記載の第1の情報処理システム。
  7. 前記サービスは前記ユーザ認証情報を用いたユーザ認証を必要としないサービスであり、前記第2の情報処理システムはユーザ認証情報を用いたユーザ認証を必要とする別のサービスを提供する情報処理システムであって、
    前記提供手段により提供される画面は、前記別のサービスの利用を開始する依頼を受け付けるためのボタンを更に含むことを特徴とする請求項5に記載の第1の情報処理システム。
  8. 複数のユーザのユーザ認証情報をグループ毎に管理する第1の情報処理システムと、前記第1の情報処理システムからデータを取得し、取得された前記データを利用したサービスを提供する第2の情報処理システムと、を含む連携システムにおける連携方法であって、
    前記第1の情報処理システムは、
    クライアントを操作するユーザからユーザ認証情報を受信し、受信されたユーザ認証情報を基にユーザ認証を行い、
    前記ユーザ認証が成功した後、前記サービスの利用を開始する依頼を受け付けたことに応じて、前記ユーザが属するグループに対して設定されたグループ認証情報を前記第2の情報処理システムへ送信し、
    前記第2の情報処理システムは、
    送信された前記グループ認証情報を受信し、受信されたグループ認証情報を基に認証を行い、
    前記グループ認証情報を基に行う認証が成功した後、当該認証が成功したことを示す識別情報を前記第1の情報処理システムへ送信し、
    前記第1の情報処理システムは、更に、
    送信された前記識別情報を前記クライアントへ送信するとともに、前記第2の情報処理システムへアクセスするよう指示し、
    前記第2の情報処理システムは、更に、
    前記指示に従いアクセスしたクライアントから送信される前記識別情報を検証し、
    前記識別情報の検証が成功したことに応じて、前記クライアントを操作するユーザのユーザ認証を行うことなく、前記クライアントを操作するユーザにサービスを提供することを特徴とする連携方法。
  9. 複数のユーザのユーザ認証情報をグループ毎に管理する第1の情報処理システムと連携してサービスを提供する第2の情報処理システムで実行されるプログラムであって、
    ユーザが属するグループに対して設定されたグループ認証情報を前記第1の情報処理システムから受信する受信ステップと、
    受信されたグループ認証情報を基に行う認証が成功した後、前記認証が成功したことを示す識別情報を前記第1の情報処理システムへ送信する送信ステップと、
    前記識別情報を前記第1の情報処理システムを介して受信したクライアントからアクセスされた場合、クライアントを操作する前記ユーザのユーザ認証を行うことなく前記サービスを提供する提供ステップと、を実行させるためのプログラム。
  10. 複数のユーザのユーザ認証情報をグループ毎に管理する第1の情報処理システムで実行されるプログラムであって、
    クライアントを操作するユーザのユーザ認証情報を受信し、受信されたユーザ認証情報を基にユーザ認証を行う認証ステップと、
    前記ユーザ認証が成功した後、前記ユーザが属するグループに対して設定されたグループ認証情報を第2の情報処理システムへ送信し、その後、前記第2の情報処理システムから受信した、前記グループ認証情報を基に行う認証が成功したことを示す識別情報を、前記クライアントへ送信する送信ステップと、
    前記識別情報を受信したクライアントからアクセスされたことに応じて前記クライアントを操作するユーザのユーザ認証を行わずにデータを要求する前記第2の情報処理システムに対し、データを送信するデータ送信ステップと、を実行させるためのプログラム。
JP2012122910A 2012-05-30 2012-05-30 連携システム、その連携方法、情報処理システム、およびそのプログラム。 Expired - Fee Related JP5988699B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2012122910A JP5988699B2 (ja) 2012-05-30 2012-05-30 連携システム、その連携方法、情報処理システム、およびそのプログラム。
US13/903,416 US9413751B2 (en) 2012-05-30 2013-05-28 Cooperation system, cooperation method thereof, information processing system, and storage medium
CN201310206601.3A CN103455749B (zh) 2012-05-30 2013-05-29 协作系统、其协作方法以及信息处理系统
EP13169746.8A EP2669837B1 (en) 2012-05-30 2013-05-29 Cooperation system, cooperation method threreof, information processing system, and program thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012122910A JP5988699B2 (ja) 2012-05-30 2012-05-30 連携システム、その連携方法、情報処理システム、およびそのプログラム。

Publications (2)

Publication Number Publication Date
JP2013250612A JP2013250612A (ja) 2013-12-12
JP5988699B2 true JP5988699B2 (ja) 2016-09-07

Family

ID=48578802

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012122910A Expired - Fee Related JP5988699B2 (ja) 2012-05-30 2012-05-30 連携システム、その連携方法、情報処理システム、およびそのプログラム。

Country Status (4)

Country Link
US (1) US9413751B2 (ja)
EP (1) EP2669837B1 (ja)
JP (1) JP5988699B2 (ja)
CN (1) CN103455749B (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5662507B2 (ja) * 2013-03-28 2015-01-28 株式会社 ディー・エヌ・エー 認証方法、認証システム、および、サービス提供サーバ
GB2520532A (en) * 2013-11-22 2015-05-27 Zzish Ltd System for authenticating multiple users
CN104914795A (zh) * 2014-03-10 2015-09-16 杭州智尔科技有限公司 一种智能云控制模块
JP6390123B2 (ja) * 2014-03-11 2018-09-19 株式会社リコー 情報処理システム及び認証情報提供方法
US10250584B2 (en) * 2014-10-15 2019-04-02 Zuora, Inc. System and method for single sign-on technical support access to tenant accounts and data in a multi-tenant platform
JP6177819B2 (ja) * 2015-02-05 2017-08-09 株式会社ぐるなび 情報処理装置、情報処理方法及びプログラム
CN106302308B (zh) 2015-05-12 2019-12-24 阿里巴巴集团控股有限公司 一种信任登录方法和装置
JP2017004133A (ja) * 2015-06-08 2017-01-05 株式会社リコー サービス提供システム、情報処理システム、情報処理装置、サービス提供方法、及びプログラム
JP6668934B2 (ja) * 2016-05-12 2020-03-18 株式会社リコー サービス提供システム、サービス提供装置、サービス提供方法、プログラム
CN109600337B (zh) 2017-09-30 2020-12-15 腾讯科技(深圳)有限公司 资源处理方法、装置、系统及计算机可读介质
CN111767149B (zh) * 2020-06-29 2024-03-05 百度在线网络技术(北京)有限公司 调度方法、装置、设备及存储设备
JP7159382B2 (ja) * 2021-03-31 2022-10-24 株式会社アクシオ 認証システム及び認証方法

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5944824A (en) * 1997-04-30 1999-08-31 Mci Communications Corporation System and method for single sign-on to a plurality of network elements
JP2001326632A (ja) * 2000-05-17 2001-11-22 Fujitsu Ltd 分散グループ管理システムおよび方法
US8185938B2 (en) * 2001-03-29 2012-05-22 International Business Machines Corporation Method and system for network single-sign-on using a public key certificate and an associated attribute certificate
AU2002332556A1 (en) * 2001-08-15 2003-03-03 Visa International Service Association Method and system for delivering multiple services electronically to customers via a centralized portal architecture
GB2383147B (en) * 2001-12-13 2005-04-06 Inventec Corp Method for integrating multiple web servers based on individual client authorisation
US20040039909A1 (en) * 2002-08-22 2004-02-26 David Cheng Flexible authentication with multiple levels and factors
CA2513375C (en) * 2003-04-16 2012-10-23 Telefonaktiebolaget Lm Ericsson (Publ) Authentication method
JP4712325B2 (ja) * 2003-09-12 2011-06-29 株式会社リコー 通信装置、通信システム、通信方法及びプログラム
US9191215B2 (en) * 2003-12-30 2015-11-17 Entrust, Inc. Method and apparatus for providing authentication using policy-controlled authentication articles and techniques
JP4541848B2 (ja) * 2004-11-22 2010-09-08 株式会社日立製作所 ユーザ端末接続制御方法および装置
JP4827523B2 (ja) * 2005-01-17 2011-11-30 キヤノン株式会社 情報処理装置、情報処理方法、ならびに制御プログラム
US7631346B2 (en) * 2005-04-01 2009-12-08 International Business Machines Corporation Method and system for a runtime user account creation operation within a single-sign-on process in a federated computing environment
US20070011136A1 (en) * 2005-07-05 2007-01-11 International Business Machines Corporation Employing an identifier for an account of one domain in another domain to facilitate access of data on shared storage media
CN1835438B (zh) * 2006-03-22 2011-07-27 阿里巴巴集团控股有限公司 一种在网站间实现单次登录的方法及网站
US8151317B2 (en) * 2006-07-07 2012-04-03 International Business Machines Corporation Method and system for policy-based initiation of federation management
JP5205380B2 (ja) * 2006-08-22 2013-06-05 インターデイジタル テクノロジー コーポレーション アプリケーションおよびインターネットベースのサービスに対する信頼されるシングル・サインオン・アクセスを提供するための方法および装置
US20090007248A1 (en) * 2007-01-18 2009-01-01 Michael Kovaleski Single sign-on system and method
JP5078555B2 (ja) * 2007-10-31 2012-11-21 キヤノン株式会社 帳票作成システム、帳票作成方法、プログラム、記憶媒体
US8650616B2 (en) * 2007-12-18 2014-02-11 Oracle International Corporation User definable policy for graduated authentication based on the partial orderings of principals
US20090199277A1 (en) * 2008-01-31 2009-08-06 Norman James M Credential arrangement in single-sign-on environment
JP5347731B2 (ja) * 2009-06-05 2013-11-20 日本電気株式会社 ユーザ認証システム、認証セッション共有装置およびユーザ認証方法
US20110022837A1 (en) * 2009-07-18 2011-01-27 Stevens William M Method and Apparatus For Performing Secure Transactions Via An Insecure Computing and Communications Medium
US20110072512A1 (en) * 2009-09-24 2011-03-24 Electronics And Telecommunications Research Institute Apparatus and method for providing communication service using common authentication
US8453224B2 (en) * 2009-10-23 2013-05-28 Novell, Inc. Single sign-on authentication
US8667575B2 (en) * 2009-12-23 2014-03-04 Citrix Systems, Inc. Systems and methods for AAA-traffic management information sharing across cores in a multi-core system
US8464063B2 (en) * 2010-03-10 2013-06-11 Avaya Inc. Trusted group of a plurality of devices with single sign on, secure authentication
US8566917B2 (en) * 2010-03-19 2013-10-22 Salesforce.Com, Inc. Efficient single sign-on and identity provider configuration and deployment in a database system
JP2011221729A (ja) 2010-04-08 2011-11-04 Hitachi Ltd Id連携システム
US20110295646A1 (en) * 2010-05-26 2011-12-01 Sap Ag Service delivery management for brokered service delivery of service groups
JP5048105B2 (ja) * 2010-06-29 2012-10-17 レノボ・シンガポール・プライベート・リミテッド コンピュータへのアクセス方法およびコンピュータ
CA2745536A1 (en) * 2010-07-06 2012-01-06 Omar M. Sheikh Improving the relevancy of advertising material through user-defined preference filters, location and permission information
JP5859953B2 (ja) * 2010-09-30 2016-02-16 パナソニック株式会社 生体認証システム、通信端末装置、生体認証装置、および生体認証方法
EP2666316B1 (en) * 2011-01-17 2020-06-03 Telefonaktiebolaget LM Ericsson (publ) Method and apparatus for authenticating a communication device
US9413750B2 (en) * 2011-02-11 2016-08-09 Oracle International Corporation Facilitating single sign-on (SSO) across multiple browser instance
JP5342020B2 (ja) * 2011-09-27 2013-11-13 株式会社野村総合研究所 グループ定義管理システム
JP5963561B2 (ja) * 2012-06-19 2016-08-03 キヤノン株式会社 画像形成装置及びその制御方法
US8726343B1 (en) * 2012-10-12 2014-05-13 Citrix Systems, Inc. Managing dynamic policies and settings in an orchestration framework for connected devices
US8955080B2 (en) * 2012-12-07 2015-02-10 Sap Se Managing single sign-ons between different entities

Also Published As

Publication number Publication date
CN103455749A (zh) 2013-12-18
EP2669837A2 (en) 2013-12-04
EP2669837B1 (en) 2020-07-15
CN103455749B (zh) 2016-08-24
US9413751B2 (en) 2016-08-09
EP2669837A3 (en) 2018-01-17
JP2013250612A (ja) 2013-12-12
US20130326608A1 (en) 2013-12-05

Similar Documents

Publication Publication Date Title
JP5988699B2 (ja) 連携システム、その連携方法、情報処理システム、およびそのプログラム。
US9021570B2 (en) System, control method therefor, service providing apparatus, relay apparatus and computer-readable medium
US8879099B2 (en) Printing system and method including authentication and owner name acquisition
US7444414B2 (en) Secure resource access in a distributed environment
US7373662B2 (en) Secure resource access
JP6677496B2 (ja) 認証連携システム及び認証連携方法、認可サーバー、アプリケーションサーバー及びプログラム
RU2540793C2 (ru) Система обработки информации, устройство обработки изображений, пользовательское устройство, способ управления и носитель информации
US8938789B2 (en) Information processing system, method for controlling information processing system, and storage medium
US9621538B2 (en) Secure resource access in a distributed environment
US20040088260A1 (en) Secure user authentication
JP6141041B2 (ja) 情報処理装置及びプログラム、制御方法
EP3985919A1 (en) Distributed contact information management
JP6248641B2 (ja) 情報処理システム及び認証方法
JP2008197973A (ja) ユーザ認証システム
US7752438B2 (en) Secure resource access
JP2016115260A (ja) 権限移譲システム、権限移譲システムに用いられる認可サーバー、リソースサーバー、クライアント、媒介装置、権限移譲方法およびプログラム
US7503061B2 (en) Secure resource access
US7941840B2 (en) Secure resource access
US10735399B2 (en) System, service providing apparatus, control method for system, and storage medium
US10623396B2 (en) System and method for controlling system
JP2002342270A (ja) リモートアクセス制御方法、リモートアクセス制御プログラム
JP2014186707A (ja) 文書生成システム
JP2015082183A (ja) 文書生成システム
US20230388311A1 (en) Network system and control method thereof
JP2016053858A (ja) サービスプロバイダ装置、サービスプロバイダ装置を制御するための制御方法、およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150601

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160229

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160329

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160418

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: 20160712

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160809

R151 Written notification of patent or utility model registration

Ref document number: 5988699

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees