JP2013182460A - サービス提供方法、プログラム、および情報処理装置 - Google Patents

サービス提供方法、プログラム、および情報処理装置 Download PDF

Info

Publication number
JP2013182460A
JP2013182460A JP2012046417A JP2012046417A JP2013182460A JP 2013182460 A JP2013182460 A JP 2013182460A JP 2012046417 A JP2012046417 A JP 2012046417A JP 2012046417 A JP2012046417 A JP 2012046417A JP 2013182460 A JP2013182460 A JP 2013182460A
Authority
JP
Japan
Prior art keywords
role
service
user
information
server
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
JP2012046417A
Other languages
English (en)
Other versions
JP5799855B2 (ja
Inventor
Akio Shimono
暁生 下野
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2012046417A priority Critical patent/JP5799855B2/ja
Priority to US13/774,197 priority patent/US9292672B2/en
Priority to EP13156683.8A priority patent/EP2634721B1/en
Publication of JP2013182460A publication Critical patent/JP2013182460A/ja
Application granted granted Critical
Publication of JP5799855B2 publication Critical patent/JP5799855B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Telephonic Communication Services (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】提供するサービス上の他の装置で認証を受けたユーザの役割を適切に決定できるようにする。
【解決手段】受信手段1dは、他の情報処理装置で提供される第2のサービスと、ユーザの役割とが示された役割情報を、該ユーザ4が使用する端末装置3から受信する。判断手段1eは、自装置と他の情報処理装置との間の関係を示す関係情報1abを参照し、自装置が提供する第1のサービスと、役割情報に示される第2のサービスとの間の関係を判断する。そして決定手段1fは、判断された関係と、受信した役割情報に示された役割との組み合わせに応じて、受信した役割情報の送信元の端末装置3を使用するユーザ4の第1のサービス上の役割を決定する。
【選択図】図1

Description

本発明は、ユーザの役割に応じたサービスを提供するサービス提供方法、プログラム、および情報処理装置に関する。
情報通信技術の1つとして、ネットワーク上の複数のサービスを連携させることで、高度なサービスを提供する技術がある。例えば、サービス提供者がREST(Representational State Transfer)形式のWebAPI(Application Program Interface)を開示し、そのWebAPIを用いてアプリケーション間の連携を可能とする技術がある。なお開示されるWebAPIに対するアクセスは、例えばOAuth等の認証プロトコルをつかって適切なアクセス制御が行われる。アプリ開発者はこのWebAPI、または他のサービス提供者が提供するAPIと組み合わせてアプリケーションソフトウェアを開発する。このようにして開発されたアプリケーションソフトウェアは、マッシュアップアプリケーションと呼ばれる。
別の情報通信技術としては、ロールベースアクセスコントロール技術がある。ロールベースアクセスコントロールは、認証されたユーザに役割(ロール)を与え、リソースに対するアクセス制御の方式として、役割に応じて許可(パーミッション)を与える形態のアクセスコントロールである。
また複数のドメインに存在する複数のネットワークにアクセスするためのシングル・サイン・オンを可能にする技術も考えられている。この技術は、連携ドメイン環境と非連携ドメイン環境とにおける使用に拡張可能とされている。
さらに、利用者に関する属性を容易かつ安全に設定する認証システムも考えられている。この認証システムでは、認証トークンが、認証が成功したと判別した場合、登録生体情報に対応付けられている属性情報を利用機器に送信する。そして、利用機器が、受信した属性情報が示す利用者の属性を識別し、属性識別部が識別した属性に対応するサービスを提供する。
国際公開第2006/6704号 特開2009−238125号公報
あるサーバが、複数の他のサーバそれぞれで認証されたユーザにサービスを提供する場合、各ユーザに対して、ユーザの役割に応じた内容のサービスを提供することが考えられる。ただし、あるサーバから見たときの、他の複数のサーバそれぞれで認証されたユーザの信頼性は、すべて同一というわけではない。
例えば、第1の企業が製品開発を行う際に、資本関係にある第2の企業と資本関係にない第3の企業とのそれぞれに、開発業務の一部を委託した場合を想定する。委託元である第1の企業内のサーバに対する、資本関係にある第2の企業のサーバで認証された開発担当社員からのアクセスであれば、広い範囲の情報にアクセスを許可することができよう。一方、委託元である第1の企業内のサーバに対する、資本関係にない第3の企業のサーバで認証された開発担当社員からのアクセスであれば、アクセスを許可できる情報の範囲は極めて限定的とすることが求められよう。このように、開発担当という同じ役割を有するユーザであっても、認証を受けたサーバが異なれば、サービス内容も異ならせることが適切であろうと発明者は考えた。
しかし、従来の技術では、異なるサーバで認証を受けた同種の役割の複数のユーザそれぞれに、ユーザが認証を受けたサーバに応じて異なる役割を割り当てて、異なる内容のサービスを提供することができない。すなわち、他の装置で認証を受けたユーザに対して割り当てる、適切な役割を判断することができない。
1つの側面では、本発明は、提供するサービス上の他の装置で認証を受けたユーザの役割を適切に決定することができるサービス提供方法、プログラム、および情報処理装置を提供することを目的とする。
1つの案では、情報処理装置が以下の処理を実行するサービス提供方法が提供される。このサービス提供方法によれば、情報処理装置は、他の情報処理装置で提供される第2のサービスと、該第2のサービス上のユーザの役割とが示された役割情報を、該ユーザが使用する端末装置から受信する。次に情報処理装置は、他の情報処理装置により提供される第2のサービスに対応付けて、自装置と該他の情報処理装置との間の関係が示された関係情報を参照し、該自装置で提供する第1のサービスと、受信した役割情報に示される第2のサービスとの間の関係を判断する。次に情報処理装置は、第1のサービスと第2のサービスとの間の関係と、該第2のサービス上の役割との組み合わせに対応する、第1のサービス上における役割を定義した役割割当ポリシを参照し、判断された関係と、受信した役割情報に示された役割との組み合わせに応じて、受信した役割情報の送信元の端末装置を使用するユーザの第1のサービス上の役割を決定する。
1態様によれば、提供するサービス上の他の装置で認証を受けたユーザの役割を適切に決定することができる。
第1の実施の形態に係るシステムの構成の一例を示す図である。 第1の実施の形態の処理手順を示すシーケンス図である。 第2の実施の形態のシステム構成例を示す図である。 本実施の形態に用いるサーバのハードウェアの一構成例を示す図である。 認証連携処理の概要を示す図である。 第2の実施の形態における各装置の機能の一例を示す図である。 役割管理情報記憶部の格納情報の一例を示す図である。 ユーザ管理テーブルのデータ構造の一例を示す図である。 関係定義テーブルのデータ構造の一例を示す図である。 役割割当ポリシ定義テーブルのデータ構造の一例を示す図である。 サービス定義テーブルのデータ構造の一例を示す図である。 トークンに含まれる情報の一例を示す図である。 サービス提供処理の手順の一例を示すシーケンス図である。 自身が認証したユーザへのトークン発行処理の手順の一例を示すフローチャートである。 関係に基づくトークン発行処理の手順の一例を示すフローチャートである。 トークン生成処理の手順の一例を示すフローチャートである。 役割を連鎖させたサービス提供処理の手順の一例を示すシーケンス図である。 複数のサービスを連携させて実行する業務の一例を示す図である。 第3の実施の形態におけるサービス提供処理の手順の一例を示すシーケンス図である。 第4の実施の形態におけるトークンに含まれる情報の一例を示す図である。 サービス提供処理の手順の一例を示すシーケンス図である。 宛先指定のトークンによる役割連鎖によるサービス提供処理の一例を示すシーケンス図である。 第4の実施の形態における関係に基づくトークン発行処理の手順の一例を示すフローチャートである。 宛先指定トークン生成処理の手順の一例を示すフローチャートである。
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第1の実施の形態〕
第1の実施の形態は、他の装置と自装置との関係と、他の装置におけるユーザの役割とに基づいて、他の装置が提供する内部サービス(第1のサービス)上の役割が付与されたユーザに対する、自装置が提供するサービス上の適切な役割を決定するものである。
図1は、第1の実施の形態に係るシステムの構成の一例を示す図である。第1の実施の形態では、情報処理装置1,2と端末装置3とがネットワークで接続されている。
情報処理装置1は、記憶手段1a、認証手段1b、役割情報発行手段1c、受信手段1d、判断手段1e、決定手段1f、および処理手段1gを有する。
記憶手段1aは、役割定義1aa、関係情報1ab、役割割当ポリシ1ac、およびサービス定義1adを記憶している。役割定義1aaは、ユーザごとの第1のサービス上の役割を示す情報である。関係情報1abは、他の情報処理装置により提供される第2のサービスに対応付けて、自装置と該他の情報処理装置との間の関係が示された情報である。役割割当ポリシ1acは、第1のサービスと第2のサービスとの間の関係と、該第2のサービス上の役割との組み合わせに対応する、第1のサービス上の役割を定義する情報である。サービス定義1adは、役割に応じて許容されるサービスの範囲を定義する情報である。
認証手段1bは、ユーザ4が使用する端末装置3からの認証要求に応じて、ユーザ4のユーザ認証を行う。例えば認証手段1bは、認証要求に示される認証情報が、予め登録されたユーザの認証情報と一致するか否かにより、ユーザ認証を行う。
役割情報発行手段1cは、ユーザ認証に成功した場合、役割定義1aaを参照し、第1のサービス上の該認証要求の送信元の端末装置を使用するユーザの役割を決定する。そして役割情報発行手段1cは、第1のサービスと決定した役割とを示す役割情報を、端末装置3に送信する。また役割情報発行手段1cは、第1のサービスと、決定手段1fが決定した役割とを示す役割情報を、端末装置3に送信する。
受信手段1dは、他の情報処理装置2で提供される第2のサービスと、第2のサービス上のユーザ4の役割とが示された役割情報を、ユーザ4が使用する端末装置3から受信する。
判断手段1eは、関係情報1abを参照し、第1のサービスと、受信した役割情報に示される第2のサービスとの間の関係を判断する。例えば判断手段1eは、受信した役割情報に示される第2のサービスに対応付けて示されている、自装置と他の情報処理装置との間の関係を、第1のサービスと、受信した役割情報に示される第2のサービスとの間の関係と判断する。
決定手段1fは、役割割当ポリシ1acを参照し、判断手段1eで判断された関係と、受信した役割情報に示された役割との組み合わせに応じて、受信した役割情報の送信元の端末装置3を使用するユーザ4の第1のサービス上の役割を決定する。
処理手段1gは、サービス定義1adを参照し、決定手段1fが決定した役割に応じて許容されるサービスの範囲内で、第1のサービスの処理を実行する。
情報処理装置2は、記憶手段2a、認証手段2b、役割情報発行手段2c、受信手段2d、判断手段2e、決定手段2f、および処理手段2gを有する。記憶手段2aは、役割定義2aa、関係情報2ab、役割割当ポリシ2ac、およびサービス定義2adを記憶している。情報処理装置2の各要素の機能は、情報処理装置1の同名の要素の機能と同じである。また記憶手段2aに記憶された各情報は、記憶手段1a内の同名の情報と同種の情報である。
なお、情報処理装置1にとっての第1のサービスは、情報処理装置2にとっての第2のサービスである。また情報処理装置2にとっての第1のサービスは、情報処理装置1にとっての第2のサービスである。
端末装置3は、認証要求手段3a、役割情報取得手段3b、および処理要求手段3cを有する。
認証要求手段3aは、ユーザ4からの操作に応じて、ユーザ4がアカウントを有する情報処理装置に認証要求を送信する。
役割情報取得手段3bは、ユーザ4のユーザ認証を行った情報処理装置から、役割情報を取得する。
処理要求手段3cは、情報処理装置に対する処理要求を送信する。例えば処理要求手段3cは、情報処理装置1,2のうちの一方の情報処理装置から取得した役割情報を付与した処理要求を、他方の情報処理装置に送信する。
このようなシステムにより、ユーザ4は、一方の情報処理装置でユーザ認証を受けることで、他方の情報処理装置のサービスの提供を受けることができる。その際、他方の情報処理装置から受けることができるサービスの内容は、ユーザ4が認証を受けた情報処理装置のサービス上のユーザ4の役割と、認証を受けた情報処理装置のサービスと、サービス間の関係とに応じて決定される。
以下、ユーザ4が、情報処理装置2で認証を受け、情報処理装置1でサービスの提供を受ける場合を例に取り、第1の実施の形態における処理手順について説明する。
図2は、第1の実施の形態の処理手順を示すシーケンス図である。図2の例では、情報処理装置1で提供されるサービスを「サービスA」とし、情報処理装置2で提供されるサービスを「サービスB」とする。またユーザ4は、情報処理装置2にはアカウントを有しているが、情報処理装置1にはアカウントを有していないものとする。さらにサービスAの提供者とサービスBの提供者との間には、信頼関係を有し、情報処理装置Aには、サービスAに対するサービスBの関係が定義されているものとする。このような状況のもと、図2に示す処理が実行される。以下、ステップ番号に沿って、図2に示す処理を説明する。
[ステップS1]ユーザ4は、端末装置3に対して、情報処理装置2のサービスにログインするためのログイン操作を行う。例えばユーザ4は、ユーザ4自身のユーザIDとパスワードとを入力する。
[ステップS2]端末装置3の認証要求手段3aは、情報処理装置2に対して認証情報を送信する。認証情報は、例えばユーザIDとパスワードとの組である。
[ステップS3]情報処理装置2の認証手段2bは、端末装置3から送られた認証情報に基づいて、ユーザ認証を行う。例えば情報処理装置2は、端末装置3から送られた認証情報と、予め登録されている認証情報とを照合し、端末装置3から送られた認証情報と一致する認証情報がある場合、ユーザ4を、一致した認証情報に示されるユーザIDの正当なユーザであると認証する。
[ステップS4]情報処理装置2の認証手段2bは、認証結果を端末装置3に応答する。
[ステップS5]端末装置3の認証要求手段3aは、認証処理の結果を表示する。
[ステップS6]その後、ユーザ4は、サービスAの処理が必要となる操作を、端末装置3に対して入力する。
[ステップS7]端末装置3の役割情報取得手段3bは、情報処理装置1で提供されるサービスAの処理が必要であると認識し、まず、認証を受けている情報処理装置2に対して、役割情報要求を送信する。
[ステップS8]情報処理装置2の役割情報発行手段2cは、役割情報要求に応答し、役割定義1aaを参照し、サービスB上での認証要求の送信元の端末装置3を使用するユーザ4の役割を決定する。
[ステップS9]役割情報発行手段1cは、サービスBと、サービスB上のユーザ4の役割とを示す役割情報を、端末装置3に送信する。
[ステップS10]端末装置3の役割情報取得手段3bは、情報処理装置2から送られた役割情報を取得し、その役割情報を処理要求手段3cに渡す。処理要求手段3cは、受け取った役割情報を付与した処理要求を情報処理装置1に送信する。
[ステップS11]情報処理装置1の受信手段1dは、役割情報が付与された処理要求を受信する。受信手段1dは、受信した役割情報を判断手段1eに渡す。判断手段1eは、関係情報1abを参照し、第1のサービスと、受信した役割情報に示される第2のサービスとの間の関係を判断する。判断手段1eは、判断した関係を、決定手段1fに通知する。決定手段1fは、役割割当ポリシ1acを参照し、判断手段1eで判断された関係と、受信した役割情報に示された役割との組み合わせに応じて、受信した役割情報の送信元の端末装置3を使用するユーザ4のサービスA上の役割を決定する。決定手段1fは、決定した役割を、処理手段1gに通知する。
[ステップS12]処理手段1gは、サービス定義1adを参照し、決定手段1fが決定した役割に応じて許容されるサービスの範囲内で、処理要求で要求されたサービスAの処理を実行する。
[ステップS13]処理手段1gは、処理結果を端末装置3に応答する。
[ステップS14]端末装置3の処理要求手段3cは、情報処理装置1から送られた処理結果を表示する。
このようにして、情報処理装置1は、ユーザ4に対し、適切なサービス内容のサービスを提供することができる。例えば、情報処理装置1を管理する企業の子会社が、情報処理装置2を管理しており、ユーザ4が子会社の社員の場合、情報処理装置1は、ユーザ4に対して「子会社の社員」という役割を割り当て、その役割に応じた範囲でサービスを提供できる。また情報処理装置1を管理する企業の取引会社が、情報処理装置2を管理しており、ユーザ4が取引会社の社員の場合、情報処理装置1は、ユーザ4に対して「取引会社の社員」という役割を割り当て、その役割に応じた範囲でサービスを提供できる。これにより、例えば、情報処理装置1では、取引会社の社員への提供を許容するサービスよりも広い範囲のサービスを、子会社の社員に提供できる。
このように他の情報処理装置で認証されたユーザに対して適切な役割を決定できることで、各情報処理装置では、サービスを提供するすべてのユーザのアカウント情報を管理せずにすむ。例えば、情報処理装置1は、ユーザ4のアカウント情報を管理しなくても、ユーザ4に対して適切な範囲でのサービスを提供可能である。その結果、システムの管理負担が軽減される。
なお、認証手段1b,2b、役割情報発行手段1c,2c、受信手段1d,2d、判断手段1e,2e、決定手段1f,2f、および処理手段1g,2gは、情報処理装置1,2が有するCPU(Central Processing Unit)により実現することができる。また、記憶手段1a,2aは、情報処理装置1,2が有するRAM(Random Access Memory)やハードディスクドライブ(HDD:Hard Disk Drive)などにより実現することができる。
また、図1に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。
〔第2の実施の形態〕
次に第2の実施の形態について説明する。第2の実施の形態は、直接の信頼関係を持たないサーバ間でも、認証連携によるサービス提供を可能とするものである。
例えば第1の企業が、資本関係にある第2の企業に開発業務を委託し、第2の企業は、資本関係にない第3の企業に開発の業務の一部を委託した場合を想定する。ここで、第1の企業と第2の企業との間では信頼関係があり、第2の企業と第3の企業との間でも信頼関係がある。他方、第1の企業と第3の企業との間は、信頼関係は確立していないものとする。
このような場合であっても、開発業務に関係する者の間で共有すべき情報がある。例えば発注の大元である第1の企業が、開発に関るすべてのメンバについての認証情報を、第1の企業のサーバで管理することも考えられる。しかし、メンバに関するデータの管理は、夫々の会社で行った方が利便性が高い。そこで、それぞれの会社は個別に開発メンバを管理するサーバを保持する。その上で、第1の企業のユーザは、第1の企業のサーバにアクセスして開発メンバ表を閲覧できるのはもちろんのこと、開発管理者として、第2の企業のサーバにアクセスし開発メンバを閲覧できるようにしたい。さらには、第1の企業と第3の企業とは直接の取引関係はないとしても、第2の企業からの発注先である第3の企業のサーバにもアクセスして、開発メンバを閲覧できるようにしたい。
このような場合において、第2の実施の形態では、連鎖的に役割認証情報を移譲することで、第1の企業のユーザからの、直接の信頼関係のない第3の企業のサーバへのアクセスを可能とする。
図3は、第2の実施の形態のシステム構成例を示す図である。第2の実施の形態では、複数のサーバ100,200,300,・・・がネットワーク10を介して接続されている。またネットワーク10には、複数のユーザ21,22,23,・・・それぞれが使用する端末装置31,32,33,・・・が接続されている。
ユーザ21,22,23,・・・は、それぞれ、複数のサーバ100,200,300,・・・のうちの少なくとも1つのサーバに、ユーザアカウントを有している。例えばユーザ21はサーバ100にユーザアカウントを有し、ユーザ22はサーバ200にユーザアカウントを有し、ユーザ23はサーバ300にユーザアカウントを有する。
各サーバ100,200,300,・・・、そのサーバにユーザアカウントを有するユーザに関するアカウント情報を管理している。アカウント情報には、ユーザの認証情報や、役割情報が含まれる。認証情報は、例えばユーザIDとパスワードとの組である。
図4は、本実施の形態に用いるサーバのハードウェアの一構成例を示す図である。サーバ100は、CPU101によって装置全体が制御されている。CPU101には、バス108を介してRAM102と複数の周辺機器が接続されている。なおサーバ100が有するCPU数は1つに限定されず、複数であってもよい。サーバ100が複数のCPUを有する場合、複数のCPUが連係動作し、装置全体を制御する。
RAM102は、サーバ100の主記憶装置として使用される。RAM102には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。
バス108に接続されている周辺機器としては、HDD103、グラフィック処理装置104、入力インタフェース105、光学ドライブ装置106、および通信インタフェース107がある。
HDD103は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD103は、サーバ100の二次記憶装置として使用される。HDD103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、二次記憶装置としては、フラッシュメモリなどの半導体記憶装置を使用することもできる。
グラフィック処理装置104には、モニタ11が接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ11の画面に表示させる。モニタ11としては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置などがある。
入力インタフェース105には、キーボード12とマウス13とが接続されている。入力インタフェース105は、キーボード12やマウス13から送られてくる信号をCPU101に送信する。なお、マウス13は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
光学ドライブ装置106は、レーザ光などを利用して、光ディスク14に記録されたデータの読み取りを行う。光ディスク14は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク14には、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。
通信インタフェース107は、ネットワーク10に接続されている。通信インタフェース107は、ネットワーク10を介して、他のサーバまたは通信機器との間でデータの送受信を行う。
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。なお、図4には、サーバ100のハードウェア構成例を示したが、他のサーバ200,300,・・・や端末装置31,32,33,・・・も同様のハードウェアで実現できる。また、第1の実施の形態に示した情報処理装置1,2や端末装置3も、図4に示したサーバ100と同様のハードウェアにより実現することができる。
このようなシステムにおいて、各ユーザは、自己がアカウントを有していないサーバから、役割に応じたサービス提供を受けることができる。
図5は、認証連携処理の概要を示す図である。図5の例では、サーバ100で提供されるサービスを「サービスA」、サーバ200で提供されるサービスを「サービスB」、サーバ300で提供されるサービスを「サービスC」としている。
サーバ100,200,300それぞれの管理者間で信頼関係がある場合、信頼関係がある2者のそれぞれが管理するサーバに、信頼関係に基づいた関係が定義される。図5の例では、サーバ100とサーバ200との間では、それぞれが提供しているサービス間の関係rel(A,B)が定義されている。またサーバ200とサーバ300との間では、それぞれが提供しているサービス間の関係rel(B,C)が定義されている。なお、サーバ100とサーバ200との間では、提供しているサービス間の関係は定義されていない。
このような状況下で、例えばサーバ100にアカウントを有するユーザ21が、端末装置31を用いて、サーバ100との間でユーザ認証の一連の手続きを行ったものとする。このとき、サーバ100で認証されたユーザ21が使用する端末装置31は、サーバ100から、サーバ100内に定義されたユーザ21の「サービスA」上の役割を取得することができる。
その後、端末装置31は、サーバ200に対してから「サービスA」上の役割を通知することで、ユーザ21の「サービスB」上の役割を、サーバ200から取得することができる。このときサーバ200は、サーバ100との間で予め定義された関係rel(A,B)と、端末装置31から受け取ったユーザ21の「サービスA」上の役割との組み合わせに応じて、ユーザ21の「サービスB」上の役割を決定する。
さらに端末装置31は、サーバ300に対してから「サービスB」上の役割を通知することで、ユーザ21の「サービスC」上の役割を、サーバ300から取得することができる。このときサーバ300は、サーバ200との間で予め定義された関係rel(B,C)と、端末装置31から受け取ったユーザ21の「サービスB」上の役割との組み合わせに応じて、ユーザ21の「サービスC」上の役割を決定する。
端末装置31は、各サーバ100,200,300それぞれから、そのサーバで提供されるサービスに関するユーザ21の役割に応じたサービスの提供を受けることができる。すなわち、ユーザ21は、関係を有するサーバを辿り、その都度、サーバから役割を取得することで、認証を受けたサーバ100と直接的には関係が定義されていないサーバ300から、役割に応じたサービス提供を受けることが可能となっている。原理的には無制限に役割取得の連鎖が可能である。
以下、図5に示したような処理を実現するための、各サーバの機能について説明する。
図6は、第2の実施の形態における各装置の機能の一例を示す図である。端末装置31ではアプリケーション31aが実行されている。アプリケーション31aは、端末装置31がアプリケーションソフトウェアを実行することによって実現されている機能である。アプリケーション31aは、ユーザ21からの操作入力に応じて、サーバにサービス要求を送信し、各サーバで決定された役割に応じた範囲でのサービスを利用する。なおアプリケーション31aは、サーバにサービス要求を送信する前に、そのサーバにトークン発行要求を送信し、そのサーバで提供されるサービス上の役割を含むトークンを取得する。トークンは、決定された役割に応じた範囲内で、サーバで提供されるサービスを使用する権利を有しているユーザであることを証明する情報である。またアプリケーション31aは、ユーザ21がアカウントを有しているサーバに対しては、認証要求を送信し、ユーザ認証を受けることができる。
同様に端末装置32,33では、アプリケーション32a,33aが実行されている。アプリケーション32a,33aは、端末装置31のアプリケーション31aと同様の機能を有する。
サーバ100は、データベース(DB)110、役割管理情報記憶部120、認証部130、およびアクセス制御部140を有する。
DB110は、データ提供サービスである「サービスA」によって提供するデータを記憶する。DB110としては、例えばHDD103内の記憶領域の一部が使用される。
役割管理情報記憶部120は、ユーザの役割を決定するための規則に関する情報(役割ポリシ)を記憶する。役割ポリシでは、例えば、自己の認証したユーザに対する自己のサービス上の役割、他のサーバとの間で定義された関係、他のサーバが認証したユーザに対して与える自己のサービス上の役割の決定規則などが定義されている。役割管理情報記憶部120としては、例えばRAM102またはHDD103の記憶領域の一部が使用される。
認証部130は、役割管理情報記憶部120を参照し、サービスを要求したユーザを認証するとともに、認証したユーザの役割を決定する。例えば認証部130は、端末装置31から送られた認証要求に応じて、認証要求に含まれる認証情報が正しいか否かを判断する。認証情報は、例えばユーザIDとクレデンシャル(信用情報)との組である。なおクレデンシャルには、例えばパスワードを用いることができる。またクレデンシャルとして、ユーザの指紋情報、手のひら静脈情報などの生態情報を用いることもできる。
また認証部130は、端末装置31からのトークン発行要求に応じて、端末装置31を使用するユーザ21に予め対応付けられた役割を含むトークンを生成する。認証部130は、生成したトークンを、処理結果として出力する。
さらに、認証部130は、他のサーバで発行されたトークンを含むサービス要求に応答し、役割管理情報記憶部120を参照し、サービスを要求したユーザの役割を決定する。例えば認証部130は、ユーザに対して他のサーバが割り当てた役割と、そのサーバとサーバ100自身との関係との組に応じた役割を、そのユーザの役割として決定する。次に、認証部130は、サービスを要求したユーザの役割を含むトークンを生成する。そして認証部130は、生成したトークンを処理結果として出力する。
アクセス制御部140は、端末装置31からのサービス要求に応じてDB110から情報を抽出し、抽出した情報を端末装置31に送信する。なおアクセス制御部140は、DB110から情報を抽出する際には、端末装置31のユーザの役割に応じた範囲内の情報のみを抽出する。またアクセス制御部140は、端末装置31から、認証要求またはトークン発行要求を受け取った場合、認証要求またはトークン発行要求を、認証部130に渡す。アクセス制御部140は、認証部130から認証要求またはトークン発行要求に応じた処理結果を受け取った場合、受け取った結果を端末装置31に送信する。
サーバ200は、DB210、役割管理情報記憶部220、認証部230、およびアクセス制御部240を有する。同様にサーバ300は、DB310、役割管理情報記憶部320、認証部330、およびアクセス制御部340を有する。サーバ200,300内の各要素は、サーバ100の同名の要素と同じ機能を有する。
なお、図6に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。また図6に示した役割管理情報記憶部120,220,320は、図1に示した第1の実施の形態における記憶手段1a,2aの一例である。また図6に示した認証部130,230,330は、図1に示した第1の実施の形態の認証手段1b,2b、役割情報発行手段1c,2c、受信手段1d,2d、判断手段1e,2e、および決定手段1f,2fを合わせた機能の一例である。さらに図6に示したアクセス制御部140,240,340は、図1に示した第1の実施の形態における処理手段1g,2gの一例である。
次に、役割管理情報記憶部120に格納されている情報について詳細に説明する。
図7は、役割管理情報記憶部の格納情報の一例を示す図である。役割管理情報記憶部120には、ユーザ管理テーブル121、関係定義テーブル122、役割割当ポリシ定義テーブル123、およびサービス定義テーブル124が格納されている。
ユーザ管理テーブル121は、サーバ100にアカウントを有するローカルユーザを管理するデータテーブルである。例えばユーザ管理テーブル121には、各ユーザのユーザID、役割、パスワートなどが設定されている。
関係定義テーブル122は、サーバ100を管理する組織と信頼関係がある他の組織との関係と、他の組織が管理するサーバの識別情報との組を管理するデータテーブルである。
役割割当ポリシ定義テーブル123は、他のサーバにおける役割を有するユーザへの役割割当ポリシを定義するデータテーブルである。
サービス定義テーブル124は、ユーザの役割ごとのサービス内容が設定されたデータテーブルである。
以下、役割管理情報記憶部120に格納されたデータテーブルのデータ構造について説明する。
図8は、ユーザ管理テーブルのデータ構造の一例を示す図である。ユーザ管理テーブル121には、ユーザID、役割、およびクレデンシャルの欄が設けられている。各欄の行方向に並んだデータが、サーバ100にアカウントを有するユーザを管理するためのレコードを構成する。
ユーザIDの欄には、ユーザの識別子が設定される。役割の欄には、サーバ100が提供するサービス「サービスA」上での、ユーザの役割が設定される。クレデンシャルの欄には、ユーザを認証に使用する信用情報が設定される。信用情報としては、例えばパスワードを用いることができる。役割が設定されたサービスの識別子を「s」、役割を有するユーザの識別子を「u」とした場合、例えば、役割はrole(s,u)という関数で表される。
このようなユーザ管理テーブル121に基づいて、ユーザ認証が行われるとともに、ユーザの役割を判定できる。例えば端末装置31から、ユーザIDとパスワードとの組(認証情報)を含む認証要求をサーバ100が受信した場合、認証部130が、ユーザ管理テーブル121から、認証要求に含まれる認証情報に一致するレコードを検索する。そして、認証部130は、一致するレコードがある場合、認証要求を送信した端末装置31を使用しているユーザ21が、一致したレコードのユーザIDで示されたユーザであると認証する。また認証部130は、一致したレコードに設定されている役割が、端末装置31を使用しているユーザ21の「サービスA」上の役割であると判断する。
なお図8に示すユーザ管理テーブル121に登録されたレコードは、図1に示す第1の実施の形態における役割定義1aa,2aaの一例である。
図9は、関係定義テーブルのデータ構造の一例を示す図である。関係定義テーブル122には、相手のURL(Uniform Resource Locator)、および相手との関係の欄が設けられている。各欄の行方向に並んだデータが、他のサーバとの間の関係定義を示すレコードを構成する。
相手のURLの欄には、サーバ100を管理している組織との間で直接の信頼関係を有する他の組織が管理するサーバ(相手サーバ)で提供されるサービスに割り当てられたURLが設定される。相手との関係の欄には、サーバ100を管理している組織と、相手サーバを管理している組織との間の関係が設定される。相手との関係としては、例えば、取引先、子会社、連結対象会社などがある。
なお図9に示す関係定義テーブル122に登録されたレコードは、図1に示す第1の実施の形態における関係情報1ab,2abの一例である。
図10は、役割割当ポリシ定義テーブルのデータ構造の一例を示す図である。役割割当ポリシ定義テーブル123には、相手との関係、相手が認めた役割、および自身が認める役割の欄が設けられている。各欄の行方向に並んだデータが、他のサーバで提供されるサービス上の役割を有するユーザに対して設定する、サーバ100が提供するサービス上の役割を定義するレコードを構成する。
相手との関係の欄には、サーバ100を管理している組織と、相手サーバを管理している組織との間の関係が設定される。相手が認めた役割の欄には、相手サーバにおいて、ユーザに対して設定した役割が設定される。自身が認める役割の欄には、相手サーバで提供されているサービス上の役割を有するユーザに対して、サーバ100自身が割り当てる役割が設定される。
なお図10に示す役割割当ポリシ定義テーブル123に登録されたレコードは、図1に示す第1の実施の形態における役割割当ポリシ1ac,2acの一例である。
図11は、サービス定義テーブルのデータ構造の一例を示す図である。サービス定義テーブル124には、役割とサービス内容との欄が設けられている。各欄の行方向に並んだデータが、役割に応じたサービス内容を定義したレコードを構成する。
役割の欄には、ユーザの役割が設定される。サービス内容の欄には、対応する役割を有するユーザに対して提供するサービスの内容が設定される。サービスの内容としては、例えば、DB110内のすべてのデータへのアクセスを許容するのか、ある属性のデータへのアクセスのみに制限するのかなどが定義される。例えばユーザの役割が予算係であれば、予算関係データへのアクセスを許容するように、サービス内容が設定される。またユーザの役割が社員であれば、例えばサーバ100を管理する企業の全社員の名簿に対するアクセスを許容するにように、サービス内容が設定される。また役割が子会社の社員であれば、例えば、サーバ100を管理する企業の各部署の代表者の名簿に対するアクセスを許容するように、サービス内容が設定される。
なお図11に示すサービス定義テーブル124に登録されたレコードは、図1に示す第1の実施の形態のサービス定義1ad,2adの一例である。
また図7〜図11には、サーバ100が有する役割管理情報記憶部120のデータ構造を示したが、他のサーバ200,300の役割管理情報記憶部220,230にも、同様のデータ構造で同種のデータが格納されている。
以上のようなデータを利用して、各サーバは、相手サーバで提供されるサービスの役割を有するユーザに対して、その役割と相手サーバとの組に応じた役割を設定し、設定した役割に応じたサービスを提供することができる。
なお、第2の実施の形態では、サーバ間での役割を示す情報の受け渡しには、トークンが利用されている。以下、トークンの内容について説明する。
図12は、トークンに含まれる情報の一例を示す図である。トークン40には、トークン発行者41、発行者が認めた役割リスト42、アクセス主体43、および電子署名44が含まれる。
トークン発行者41は、トークンを発行したサーバの識別子である。サーバの識別子としては、例えばサーバのURLが用いられる。
発行者が求めた役割リスト42は、発行者がユーザの役割として認定した役割のリストである。ユーザが複数の役割を担う場合、リストには、複数の役割が設定される。
アクセス主体43は、アクセスを行うユーザの識別子である。
電子署名44は、トークン40の正当性を保証するために、トークン40の発行者が付与する情報である。
トークン発行者の識別子を「I」、ユーザの識別子を「u」、ユーザに対して設定されたサービス「s」の役割を「role(s,u)」としたときのトークンは、例えばT(issuer=I,subject=u,role=role(s,u))と表される。
トークン40のフォーマットとしては、例えばSAML(Security Assertion Markup Language)2.0のAssertionフォーマットを用いることができる。
以下、役割に応じたサービス提供手順について説明する。
図13は、サービス提供処理の手順の一例を示すシーケンス図である。図13には、サーバ200にアカウントを有するユーザ22が、サーバ100で提供されるサービスを利用する場合の例が示されている。なお、図13に示す処理では、既にユーザ22は、端末装置32を用いてサーバ200からユーザ認証を受け、ユーザ22のサービスB上の役割が確定しているものとする。また、サーバ100の識別子は「a」、サーバ200の識別子は「b」、ユーザ22の識別子は「1」であるものとする。
[ステップS111]ユーザ22は、端末装置32を操作し、アプリケーション32aに対して、サービスAへのアクセスが必要となる処理を指示する。
[ステップS112]端末装置32のアプリケーション32aは、ユーザ22の操作に応答し、トークン発行要求をサーバ200に送信する。
[ステップS113]サーバ200では、アクセス制御部240がトークン発行要求を受信し、受信したトークン発行要求を認証部230に転送する。すると認証部230は、ユーザ22のサービスBにおける役割role(B,1)を証明するトークンT(issuer=b,subject=1,role=role(B,1))を発行する。
[ステップS114]サーバ200の認証部230は、サービスB上の役割が記された、サービスB用のトークンを、アクセス制御部240を介して端末装置32に送信する。
[ステップS115]端末装置32のアプリケーション32aは、サービスB用のトークンを付与した、サービスAのトークン発行要求を生成する。そしてアプリケーション32aは、サービスAのトークン発行要求をサーバ100に送信する。
[ステップS116]サーバ100のアクセス制御部140がトークン発行要求を受信し、受信したトークン発行要求を認証部130に転送する。そして、認証部130は、関係に基づくトークン発行処理を行う。例えば認証部130は、まずトークンの正当性を検証する。なおトークンの正当性の検証は、例えば電子署名の技術などを用いて行われる。その後、認証部130は、サービスBとの関係定義rel(A,B)と、サービスBでのユーザの役割role(B,1)とに基づき、サービスAにおけるユーザ22の役割role(A,1)を証明するトークンTを発行する。ここで、役割割当ポリシでは、関係rel(A,B)で結ばれた先のサーバ200で個人認証された、サービスB上で役割role(B,1)のユーザに対して、役割role(A,1)を発行する旨が定義されているものとする。この場合、トークンTは、例えば、トークンT(issuer=a,subject=1,role=role(A,1))と表される。
例えば認証部130は、トークン発行要求に、サーバ200が発行したトークンが付与されていることから、サーバ200との関係に基づいて、サービスA上でのユーザ22の役割を認定する。例えば認証部130は、関係定義テーブル122の相手のURLの欄から、サーバ200が発行したトークンに示されるサーバの識別子に対応するレコードを検索する。次に認証部130は、該当するレコードにおける相手との関係を、サーバ200との関係と判断する。次に認証部130は、役割割当ポリシ定義テーブル123内の相手との関係の欄と相手が認めた役割の欄とから、サーバ200との関係と、サーバ200が発行したトークンに示された役割との組に対応するレコードを検索する。次に認証部130は、該当するレコードの、自身が認める役割を取得する。さらに認証部130は、取得した役割を、サービスA上でのユーザ22の役割として認定する。そして認証部130は、認定した役割を付与したトークンを生成する。
[ステップS117]サーバ100の認証部130は、サービスA上の役割が記された、サービスA用のトークンを、アクセス制御部140を介して端末装置32に送信する。
[ステップS118]端末装置32のアプリケーション32aは、サーバAから取得したサービスA用のトークンを付与した、サービスAのサービス要求を生成する。そしてアプリケーション32aは、サービスAのサービス要求をサーバ100に送信する。
[ステップS119]サーバ100のアクセス制御部140は、サービス要求に示されるユーザ22の役割に応じたサービスの範囲内での処理を実行し、処理結果を応答する。例えばアクセス制御部140は、サービス定義テーブル124から、サービス要求に示される役割のレコードを検索する。次にアクセス制御部140は、該当するレコードに定義されたサービス内容に基づき、ユーザ22に対して許容できるサービスの範囲を認識する。そしてアクセス制御部140は、許容できるサービスの範囲内で、サービス要求に応じた処理を実行し、実行結果を端末装置32に送信する。例えばサービス要求がDB110からの情報取得要求であれば、アクセス制御部140は、ユーザ22の役割に応じた範囲内の情報をDB110から取得し、取得した情報を端末装置32に送信する。
[ステップS120]端末装置32は、サーバ100から処理結果の応答を受信すると、処理結果をモニタ11に表示する。
このようにして、サーバ200にアカウントを有するユーザ22が、サーバ100のサービスを利用することができる。このときサーバ100においてユーザ22に提供されるサービスの内容は、サービスB上でのユーザ22の役割と、サーバ100とサーバ200との間の関係定義に基づいて決定される。その結果、サーバ100は、ユーザ22に対して適切な範囲でのサービスを提供することができる。
次に、サーバにおける、自身が認証したユーザへのトークン発行処理の手順について、詳細に説明する。
図14は、自身が認証したユーザへのトークン発行処理の手順の一例を示すフローチャートである。以下、図14に示す処理をステップ番号に沿って説明する。なお、以下の処理は、既にユーザ認証を受けたユーザ22が使用する端末装置32から、トークン発行要求を受信した際に実行される。
[ステップS131]認証部230は、現セッションの認証済みのユーザをuとする。
[ステップS132]認証部230は、ユーザ管理テーブル121から、ユーザuに対応するレコードを検索し、ユーザの役割rBを決定する。
[ステップS133]認証部230は、サーバ200自身を発行者、役割をrBとして、トークンを生成する。
[ステップS134]認証部230は、割り当てる役割があるか否かを判断する。例えば認証部230は、ステップS132の検索において検出したレコードに、役割が設定されていれば、役割があると判断する。また認証部230は、ステップS132の検索において検出したレコードに、役割が設定されていなければ、役割がないと判断する。認証部230は、割り当てるべき役割がある場合、処理をステップS135に進める。また認証部230は、割り当てるべき役割がない場合、トークンを送信せずに処理を終了する。
[ステップS135]認証部230は、ステップS133で生成したトークンを、端末装置32に送信する。
このような手順で、ユーザ22がアカウントを有するサーバ200においてトークンが発行される。
次に、サーバ200で発行されたトークンを添付したトークン発行要求に応じてサーバ100が実行する、他のサーバとの間の関係に基づくトークン発行処理の手順について説明する。
図15は、関係に基づくトークン発行処理の手順の一例を示すフローチャートである。以下、図15に示す処理をステップ番号に沿って説明する。
[ステップS141]認証部130は、サーバ200で発行されたトークンを取得する。
[ステップS142]認証部130は、取得したトークンが有効か否かを判断する。例えば認証部130は、正当な電子署名が付与されていれば、有効なトークンであると判断する。認証部130は、有効なトークンであれば、処理をステップS143に進める。また認証部130は、無効なトークンであれば、トークンを発行せずに処理を終了する。
[ステップS143]認証部130は、トークンを生成する。この処理の詳細は後述する(図16参照)。
[ステップS144]認証部130は、割り当てるべき役割があるか否かを判断する。例えば認証部130は、トークン生成処理の結果、サービスAにおける役割が設定されたトークンが生成されていれば、役割があると判断する。また認証部130は、トークン生成処理において、役割がないためにトークンの生成に失敗した場合、役割がないと判断する。認証部130は、役割があれば処理をステップS145に進める。また認証部130は、役割がなければ、トークンを発行せずに処理を終了する。
[ステップS145]認証部130は、ステップS143で生成したトークンを端末装置32に送信する。
次に、トークン生成処理の詳細について説明する。
図16は、トークン生成処理の手順の一例を示すフローチャートである。以下、図16に示す処理をステップ番号に沿って説明する。
[ステップS151]認証部130は、入力されたトークンで示される役割をrBとする。
[ステップS152]認証部130は、入力されたトークンの発行者をIとする。
[ステップS153]認証部130は、発行者Iを関係定義テーブル122内の関係定義と照合し、一致するレコードに示された相手との関係を、Rとする。
[ステップS154]認証部130は、役割rBと関係Rとの組に合致する役割割当ポリシを、役割割当ポリシ定義テーブル123から検索する。そして認証部130は、該当するレコードに自身が認める役割を取得し、役割rAとする。
[ステップS155]認証部130は、自身を発行者、役割をrAとして、電子署名を施したトークンを生成する。なお、生成するトークンのアクセス主体には、入力されたトークンに示されるアクセス主体が設定される。
このようにして、サーバ200において認証を受けたユーザ22は、サーバ200で提供されるサービスB上の役割に応じて、サーバ100で提供されるサービスAの役割の割り当てを受けることができる。ユーザ22に対して割り当てられる役割は、サーバ100とサーバ200との関係と、サーバ200で提供されるサービスB上でのユーザ22の役割との組に応じて決定される。
なお、サーバ100との間で直接的な関係が定義されていないサーバ300にアカウントを有するユーザ23であっても、連鎖的に役割の割り当てを受けることで、サーバ100が提供するサービスAの利用が可能となる。以下、役割を連鎖させることによるサービス提供処理について説明する。
図17は、役割を連鎖させたサービス提供処理の手順の一例を示すシーケンス図である。図17には、サーバ300にアカウントを有するユーザ23が、サーバ100で提供されるサービスを利用する場合の例が示されている。なお、図17に示す処理では、既にユーザ23は、端末装置33を用いてサーバ300からユーザ認証を受け、ユーザ23のサービスC上の役割が確定しているものとする。また、サーバ100の識別子は「a」、サーバ200の識別子は「b」、サーバ300の識別子は「c」、ユーザ23の識別子は「2」であるものとする。さらに、アプリケーション33aには、サーバ300とサーバ100とは、サーバ200を間に挟んだ間接的な関係を有していることが、予め定義されているものとする。
[ステップS161]ユーザ23は、端末装置33を操作し、アプリケーション33aに対して、サービスAへのアクセスが必要となる処理を指示する。
[ステップS162]端末装置33のアプリケーション33aは、ユーザ23の操作に応答し、トークン発行要求をサーバ300に送信する。
[ステップS163]サーバ300では、アクセス制御部340がトークン発行要求を受信し、受信したトークン発行要求を認証部330に転送する。すると認証部330は、サービスCにおける役割role(C,1)を証明するトークンT(issuer=c,subject=2,role=role(C,2))を発行する。
[ステップS164]サーバ300の認証部330は、サービスC上の役割が記された、サービスC用のトークンを、アクセス制御部340を介して端末装置33に送信する。
[ステップS165]端末装置33のアプリケーション33aは、サーバ300から取得したサービスC用のトークンを付与した、サービスBのトークン発行要求を生成する。そしてアプリケーション33aは、サービスBのトークン発行要求をサーバ200に送信する。
[ステップS166]サーバ200のアクセス制御部240がトークン発行要求を受信し、受信したトークン発行要求を認証部230に転送する。そして、認証部230が、トークンの正当性を検証する。その後、認証部230は、サービスCとの関係定義rel(B,C)に基づく役割割当ポリシに基づき、サービスBにおけるユーザ23の役割role(B,2)を証明するトークンTを発行する。トークンTは、例えばトークンT(issuer=b,subject=2,role=role(B,2))と表される。
[ステップS167]サーバ200の認証部230は、サービスB上の役割が記された、サービスB用のトークンを、アクセス制御部240を介して端末装置33に送信する。
[ステップS168]端末装置33のアプリケーション33aは、サーバ200から取得したサービスB用のトークンを付与した、サービスAのトークン発行要求を生成する。そしてアプリケーション33aは、サービスAのトークン発行要求をサーバ100に送信する。
[ステップS169]サーバ100のアクセス制御部140がトークン発行要求を受信し、受信したトークン発行要求を認証部130に転送する。そして、認証部130が、トークンの正当性を検証する。その後、認証部130は、サービスBとの関係定義rel(A,B)に基づく役割割当ポリシに基づき、サービスAにおけるユーザ23の役割role(A,1)を証明するトークンTを発行する。トークンTは、例えばトークンT(issuer=a,subject=1,role=role(A,1))と表される。
[ステップS170]サーバ100の認証部130は、サービスA上の役割が記された、サービスA用のトークンを、アクセス制御部140を介して端末装置33に送信する。
[ステップS171]端末装置33のアプリケーション33aは、サーバAから取得したサービスA用のトークンを付与した、サービスAのサービス要求を生成する。そしてアプリケーション33aは、サービスAのサービス要求をサーバ100に送信する。
[ステップS172]サーバ100のアクセス制御部140は、サービス要求に示されるユーザ23の役割に応じたサービスの範囲内での処理を実行し、処理結果を応答する。
[ステップS173]端末装置33は、サーバ100から処理結果の応答を受信すると、処理結果をモニタ11に表示する。
このようにして、役割の割り当てを連鎖させ、サーバ100と直接的には関係を有していないサーバ300のユーザ23に対して、サーバ100がサービスAを提供できる。しかも、サーバ100とサーバ200との関係、サーバ200とサーバ300との関係、およびサーバ300が提供するサービスC上でのユーザ23の役割に応じて、提供されるサービスの内容が決定される。これにより、アカウントを有するサーバが異なれば、アカウントを有するサーバで割り当てられた役割が同じユーザであっても、異なるサービスが提供される。
以下に、複数のサービスを連携させて実行する業務の例について説明する。
図18は、複数のサービスを連携させて実行する業務の一例を示す図である。図18には、典型的なソフトウェア開発プロジェクトにおけるサービスの連携例が示されている。
例えば、元請企業1社、下請企業3社、孫請企業9社によってソフトウェア開発プロジェクトが進められている。それぞれの会社には、複数のプロジェクト従事者がいる。
サーバ100は、元請企業が管理している。サーバ200,200a,200bは、下請企業が管理している。サーバ300,300a,300b,300c,300d,300e,300f,300g,300hは、孫請企業が管理している。各サーバには、管理している企業内のプロジェクト従事者のアカウント情報(例えばユーザIDとパスワード)が登録されている。各サーバは、登録されたアカウント情報を用いて、そのサーバを管理している企業の管理職や社員などのユーザ認証を行う。
サーバ100には、サーバ200との間の関係として「子会社」と定義されている。逆に、サーバ200には、サーバ100との間の関係として「親会社」と定義されている。またサーバ200には、サーバ300との間の関係として「子会社」と定義されている。逆に、サーバ300には、サーバ200との間の関係として「親会社」と定義されている。サーバ200には、ユーザ22の役割として「社員」と定義されている。またサーバ300には、ユーザ23の役割として「社員」と定義されている。
このような関係定義が設定されている状況下で、元請企業のサーバ100のDB110に、プロジェクト従事者間で共有する情報(共有情報111)が格納されている。この場合、元請企業のサーバ100は、サーバ200で認証されたユーザ22の使用する端末装置32から、「社員」の役割を示すトークンが付与されたトークン発行要求を受信すると、「子会社の社員」という役割を示すトークンを発行する。するとユーザ22は、サーバ100で管理される共有情報111における、「子会社の社員」という役割に対して許容される範囲の情報に対してアクセス可能となる。
また下請企業のサーバ200は、サーバ300で認証されたユーザ23の使用する端末装置33から、「社員」の役割を示すトークンが付与されたトークン発行要求を受信すると、「子会社の社員」という役割を示すトークンを発行する。その後、元請企業のサーバ100は、端末装置33から、「子会社の社員」の役割を示すトークンが付与されたトークン発行要求を受信すると、「孫会社の社員」という役割を示すトークンを発行する。するとユーザ23は、サーバ100で管理される共有情報111における、「孫会社の社員」という役割に対して許容される範囲の情報に対してアクセス可能となる。
このようにして、元請企業のサーバ100において、プロジェクトの全メンバのアカウントを集中管理せずに、各メンバから共有情報111へのアクセスを許容することが可能となる。しかも、元請企業と、各メンバが所属する企業との関係、および各メンバの所属企業内での役割に応じて、共有情報111へのアクセス制限を行うことが可能である。すなわち、元請企業のサーバ100で、全メンバのアカウントを管理せずに、各メンバから共有情報111へのきめ細かいアクセス制御が可能となる。
また第2の実施の形態では、ユーザのアカウントを有するサーバでは、予めユーザ認証に成功したユーザからのトークン発行要求に応じて、サービス上の役割が示されたトークンを発行する。それ以前は、サーバは、認証したユーザの端末装置に対して、例えば、図12に示すトークン40中の発行者が認めた役割リスト42を含まないトークンを渡しておくことができる。このようなトークンは、図12に示したトークン40よりもデータ量が少なくてすむ。ユーザが使用する端末装置は、このようなデータ量の少ないトークンを付与したアクセス要求を、ユーザ認証を受けたサーバに送信する。これにより、ユーザ認証を受けたサーバから、役割に応じたサービスの提供を受けることができる。このようにすることで、自己のアカウントがあるサーバで提供されるサービスを利用する限りにおいては、データ量の少ないトークンを用いることができ、処理効率が向上する。
〔第3の実施の形態〕
次に第3の実施の形態について説明する。第3の実施の形態は、ユーザ認証と同時に、連携用の最初のトークンを発行するようにしたものである。なお第3の実施の形態を実現するシステム構成は、第2の実施の形態と同様である。そこで、図2〜図12に示した第2の実施の形態の各要素の符号を用いて、第3の実施の形態における第2の実施の形態と異なる処理を説明する。
第2の実施の形態では、既に認証を受けたユーザが使用する端末装置からトークン発行要求が出力された場合に、サーバにおいてトークンが発行される。他方、第3の実施の形態では、ユーザ認証時にトークンを発行する。これにより、トークン発行までの端末装置とサーバとの間の通信回数を減らすことができる。
図19は、第3の実施の形態におけるサービス提供処理の手順の一例を示すシーケンス図である。図13には、サーバ200にアカウントを有するユーザ22が、サーバ100で提供されるサービスを利用する場合の例が示されている。
[ステップS181]ユーザ22は、端末装置32を操作し、アプリケーション32aに対して、ユーザIDとクレデンシャル(パスワードなど)を入力する。
[ステップS182]端末装置32のアプリケーション32aは、ユーザ22の操作に応答し、ユーザIDとクレデンシャルと組をサーバ200に送信する。
[ステップS183]サーバ200では、アクセス制御部240がユーザIDとクレデンシャルとの組を受信し、受信した情報を認証部230に転送する。すると認証部230は、ユーザIDとクレデンシャルとの組により、ユーザ認証を行う。例えば認証部230は、ユーザIDとクレデンシャルとの組に対応するレコードが、ユーザ管理テーブルに登録されていれば、ユーザ22を正しいユーザであると認証する。
[ステップS184]認証部230は、ユーザ認証に成功した場合、認証部230は、ユーザ22のサービスBにおける役割を証明するトークンを発行する。
[ステップS185]サーバ200の認証部230は、サービスB上の役割が記された、サービスB用のトークンを、アクセス制御部240を介して端末装置32に送信する。
[ステップS186]端末装置32のアプリケーション32aは、サーバ200から取得したサービスB用のトークンをRAMなどのメモリ内に記憶する。
[ステップS187]アプリケーション32aは、モニタ11に認証成功通知を表示する。
[ステップS188]ユーザ22は、端末装置32を操作し、アプリケーション32aに対して、サービスAへのアクセスが必要となる処理を指示する。
[ステップS189]端末装置32のアプリケーション32aは、ユーザ22の操作に応答し、トークン発行要求をサーバ200に送信する。
以降、ステップS190〜S194の処理は、図13に示したステップS115〜S120の処理と同様である。
このようにして、ユーザ認証と同時にトークンを発行し、通信回数を削減することができる。
〔第4の実施の形態〕
次に第4の実施の形態について説明する。第4の実施の形態は、トークンに対して、そのトークンを役割認証の連携に使用可能な他のサーバを特定する情報(宛先)を付与するものである。各サーバは、他のサーバで発行されたトークンが付与されたトークン発行要求を受信した場合、付与されたトークンに示される宛先に自分が指定されている場合にのみ、トークンを発行する。これにより、トークンの悪用を抑止できる。
例えば、サービスBを提供するサーバ200において、情報の機密性が十分に確保できていない場合、サーバ200で発行されたトークンが、悪意のある第三者に漏洩する可能性がある。第2,第3の実施の形態では、悪意のある第三者は、不正に取得したトークンを用いて、サーバ200にアカウントを有するユーザになりすますことが可能となる。すなわち、悪意のある第三者は、サーバ200との間に信頼関係に基づく関係定義が設定されたすべてのサーバからサービスの提供を受けることが可能となる。そこで、第4の実施の形態では、トークンに宛先を含めることで、このようなサービスの不正利用を抑止する。
なお第4の実施の形態を実現するシステム構成は、第2の実施の形態と同様である。そこで、図2〜図12に示した第2の実施の形態の各要素の符号を用いて、第4の実施の形態における第2の実施の形態と異なる部分を説明する。
図20は、第4の実施の形態におけるトークンに含まれる情報の一例を示す図である。トークン50には、トークン発行者51、発行者が認めた役割リスト52、トークンの宛先53、アクセス主体54、および電子署名55が含まれる。トークン発行者51、発行者が認めた役割リスト52、アクセス主体54、および電子署名55については、図12に示した第2の実施の形態におけるトークン40内の同名の情報と同様の情報である。
トークンの宛先53は、トークン50を利用できるサーバの識別情報である。例えば、トークン50を利用できるサーバのURLが、トークンの宛先53として設定される。
以下、役割に応じたサービス提供手順について説明する。
図21は、サービス提供処理の手順の一例を示すシーケンス図である。図21には、サーバ200にアカウントを有するユーザ22が、サーバ100で提供されるサービスを利用する場合の例が示されている。なお、図21に示す処理では、既にユーザ22は、端末装置32を用いてサーバ200からユーザ認証を受け、ユーザ22のサービスB上の役割が確定しているものとする。
[ステップS201]ユーザ22は、端末装置32を操作し、アプリケーション32aに対して、サービスAへのアクセスが必要となる処理を指示する。
[ステップS202]端末装置32のアプリケーション32aは、ユーザ22の操作に応答し、サービスA宛のトークンの発行を要求する、トークン発行要求をサーバ200に送信する。すなわち、トークン発行要求には、発行するトークンの宛先を示す情報が含まれる。
[ステップS203]サーバ200では、アクセス制御部240がトークン発行要求を受信し、受信したトークン発行要求を認証部230に転送する。すると認証部230は、ユーザ22のサービスBにおける役割を証明するとともに、サービスAを宛先とする宛先指定のトークンを発行する。
[ステップS204]サーバ200の認証部230は、サービスB上の役割とサービスAが宛先であることとが記されたトークンを、アクセス制御部240を介して端末装置32に送信する。
[ステップS205]端末装置32のアプリケーション32aは、サービスAを宛先とするトークンを付与した、サービスAのトークン発行要求を生成する。そしてアプリケーション32aは、サービスAのトークン発行要求をサーバ100に送信する。
[ステップS206]サーバ100のアクセス制御部140がトークン発行要求を受信し、受信したトークン発行要求を認証部130に転送する。そして、認証部130が、付与されたトークンの正当性と、そのトークンの宛先がサービスAであることを検証する認証部130は、サービスA宛の正当なトークンが付与されていることを確認後、サービスAにおけるユーザ22の役割を証明するトークンを発行する。
その後のステップS207〜ステップS210の処理は、それぞれ図13に示した第2の実施の形態におけるステップS117〜ステップS120の処理と同様である。
このようにして、宛先指定のトークンを用いて認証連携を行うことで、サーバ200で発行したサービスA宛のトークンは、サービスAを提供するサーバ100でしか使用できなくなる。その結果、1つのサーバから取得したトークンが、宛先以外のサービスに利用されることを抑止できる。すなわちトークンの不正使用が抑止される。
宛先指定のトークンを用いて、役割の割り当てを連鎖させることもできる。
図22は、宛先指定のトークンによる役割連鎖によるサービス提供処理の一例を示すシーケンス図である。図22には、サーバ300にアカウントを有するユーザ23が、サーバ100で提供されるサービスを利用する場合の例が示されている。なお、図22に示す処理では、既にユーザ23は、端末装置33を用いてサーバ300からユーザ認証を受け、ユーザ23のサービスC上の役割が確定しているものとする。またアプリケーション33aには、サービスCとサービスBとの間に関係が定義され、サービスBとサービスAとの間に関係が定義されていること、サービスCとサービスAとの間には関係が定義されていないことが、予め設定されている。そしてアプリケーション33aは、サーバ300にアカウントを有するユーザがサービスAを利用するには、サービスC、サービスB、サービスAの順で、連鎖的に役割の割り当てを受ける必要があることを認識しているものとする。
[ステップS221]ユーザ23は、端末装置33を操作し、アプリケーション33aに対して、サービスAへのアクセスが必要となる処理を指示する。
[ステップS222]端末装置33のアプリケーション33aは、ユーザ23の操作に応答し、サービスB宛のトークンの発行を要求する、トークン発行要求をサーバ300に送信する。すなわち、トークン発行要求には、発行するトークンの宛先を示す情報が含まれる。
[ステップS223]サーバ300では、アクセス制御部340がトークン発行要求を受信し、受信したトークン発行要求を認証部330に転送する。すると認証部330は、ユーザ23のサービスCにおける役割を証明するとともに、サービBを宛先とする宛先指定のトークンを発行する。
[ステップS224]サーバ300の認証部330は、サービスC上の役割とサービスBが宛先であることとが記されたトークンを、アクセス制御部340を介して端末装置33に送信する。
[ステップS225]端末装置33のアプリケーション33aは、サービスBを宛先とするトークンを付与し、サービスA宛のトークン発行要求を生成する。そしてアプリケーション33aは、サービスA宛のトークン発行要求をサーバ200に送信する。
[ステップS226]サーバ200では、アクセス制御部240がトークン発行要求を受信し、受信したトークン発行要求を認証部230に転送する。すると認証部130が、付与されたトークンの正当性と、付与されたトークンの宛先がサービスBであることを検証する認証部130は、サービスB宛の正当なトークンが付与されていることを確認後、ユーザ23のサービスBにおける役割を証明するとともに、サービスAを宛先とする宛先指定のトークンを発行する。
その後のステップS227〜ステップS233の処理は、それぞれ図21に示したステップS204〜ステップS210の処理と同様である。
このようにして、役割指定のトークンについても、役割を連鎖させたサービスの提供が可能となる。
次に、サーバ200における宛先指定のトークン発行処理について詳細に説明する。
図23は、第4の実施の形態における関係に基づくトークン発行処理の手順の一例を示すフローチャートである。図23に示す処理のうち、ステップS241,S243,S246,S247の各処理は、それぞれ図15に示した第2の実施の形態の処理のステップS141,S142,S144,S145と同様である。第2の実施の形態と異なるのは、ステップS242,S244,S245の処理である。ステップS242,S244,S245の処理は以下の通りである。
[ステップS242]認証部230は、トークン発行要求に示された宛先を取り出し、Tとする。
[ステップS244]認証部230は、トークン発行要求に付与されたトークンの宛先が、サーバ100自身であるか否かを判断する。例えば認証部230は、宛先がURLで示されている場合、宛先のURLが、サーバ100のURLであれば、宛先が自分であると判断する。認証部230は、宛先が自分であれば、処理をステップS245に進め、トークンの生成、発行処理を行う。また認証部230は、宛先が自分でなければ、トークンを発行せずに処理を終了する。
[ステップS245]認証部230は、宛先指定トークンを生成する。この処理の詳細を以下に示す。
図24は、宛先指定トークン生成処理の手順の一例を示すフローチャートである。図24に示す処理のうち、ステップS251〜S254の各処理は、それぞれ図16に示した第2の実施の形態の処理のステップS151〜S154と同様である。第2の実施の形態と異なるのは、ステップS255の処理である。ステップS255の処理は以下の通りである。
[ステップS255]認証部230は、自身を発行者、役割をrA、トークンの宛先をTとして、電子署名を施したトークンを生成する。なお、生成するトークンのアクセス主体には、入力されたトークンに示されるアクセス主体が設定される。
以上のようにして、トークンに宛先を含め、他のサーバで発行されたトークンが付与されたトークン発行要求を取得した場合には、付与されたトークンの宛先が自分宛の場合にのみ、トークン発行要求を送信したユーザに対してサービスへの役割の設定が行われる。これにより、あるサービスの利用者に成りすまして、そのサービスとの間で関係が定義されたすべてのサービスを不正に利用するような行為を抑止することができる。
〔その他の実施の形態〕
端末装置上で動作するアプリケーションは、OSネイティブのアプリケーションでもよく、ブラウザ上で動作するアプリケーションでもよい。
また上記の実施の形態では、サービス間の関係の例として、企業間の資本関係を用いたが、サービス間の関係は、企業間の関係には限定されない。例えば、自治体の保健所のサーバに対して、病院の医師が、市立病院内のサーバでユーザ認証を受けてアクセスする場合、保健所と病院との関係が、サービス間の関係として定義される。例えば、市立病院の医師(役割:医師)からの保健所のサーバのDBへのアクセスの許容範囲と、個人病院の医師(役割:医師)からの保健所のサーバのDBへのアクセスの許容範囲とを異ならせることができる。
上記の各実施の形態に示した処理機能は、コンピュータによって実現することができる。その場合、端末装置31,32,33やサーバ100,200,300が有する機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD、DVD−RAM、CD−ROM/RWなどがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。なおプログラムを記録する記録媒体には、一時的な伝搬信号自体は含まれない。
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
また、上記の処理機能の少なくとも一部を、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現することもできる。
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
1,2 情報処理装置
1a,2a 記憶手段
1aa,2aa 役割定義
1ab,2ab 関係情報
1ac,2ac 役割割当ポリシ
1ad,2ad サービス定義
1b,2b 認証手段
1c,2c 役割情報発行手段
1d,2d 受信手段
1e,2e 判断手段
1f,2f 決定手段
1g,2g 処理手段
3 端末装置
3a 認証要求手段
3b 役割情報取得手段
3c 処理要求手段
4 ユーザ

Claims (9)

  1. 情報処理装置が、
    他の情報処理装置で提供される第2のサービスと、該第2のサービス上のユーザの役割とが示された役割情報を、該ユーザが使用する端末装置から受信し、
    前記他の情報処理装置により提供される前記第2のサービスに対応付けて、自装置と該他の情報処理装置との間の関係が示された関係情報を参照し、該自装置で提供する第1のサービスと、前記受信した役割情報に示される前記第2のサービスとの間の関係を判断し、
    前記第1のサービスと前記第2のサービスとの間の関係と、該第2のサービス上の役割との組み合わせに対応する、前記第1のサービス上における役割を定義した役割割当ポリシを参照し、前記判断された関係と、前記受信した役割情報に示された役割との組み合わせに応じて、前記受信した役割情報の送信元の端末装置を使用するユーザの前記第1のサービス上の役割を決定する、
    ことを特徴とするサービス提供方法。
  2. 前記情報処理装置が、さらに、
    役割に応じて許容される、自装置で提供するサービスの範囲が定義されたサービス定義を参照し、前記決定した役割に応じて許容されるサービスの範囲内で、前記第1のサービスの処理を実行する、
    処理を実行することを特徴とする請求項1記載のサービス提供方法。
  3. 前記情報処理装置が、さらに、
    前記第1のサービスと前記決定した役割とを示す役割情報を、前記端末装置に送信する、
    処理を実行することを特徴とする請求項1または2のいずれかに記載のサービス提供方法。
  4. 前記情報処理装置が、さらに、
    前記第1のサービス上の役割を示す役割情報を付与した処理要求を受信すると、役割に応じて許容されるサービスの範囲が定義されたサービス定義を参照し、該処理要求に示される役割に応じて許容されるサービスの範囲内で、前記第1のサービスの処理を実行する、
    処理を実行することを特徴とする請求項3記載のサービス提供方法。
  5. 前記情報処理装置が、
    役割情報の受信では、宛先となるサービスが指定された役割情報を受信し、
    役割の決定では、前記受信した役割情報の宛先となるサービスが前記第1のサービスである場合に、前記受信した役割情報の送信元の端末装置を使用するユーザの前記第1のサービス上の役割を決定する、
    ことを特徴とする請求項1乃至4のいずれかに記載のサービス提供方法。
  6. 前記情報処理装置が、さらに、
    ユーザが使用する端末装置からの認証要求に応じて、該ユーザのユーザ認証を行い、
    ユーザ認証に成功した場合、ユーザごとの前記第1のサービス上の役割を示す役割定義を参照し、前記第1のサービス上の該認証要求の送信元の端末装置を使用するユーザの役割を決定し、前記第1のサービスと該決定した役割とを示す役割情報を、前記端末装置に送信する、
    処理を実行することを特徴とする請求項1乃至5のいずれかに記載のサービス提供方法。
  7. 前記情報処理装置が、
    役割情報の送信では、宛先となるサービスを指定した役割情報を送信する、
    ことを特徴とする請求項6記載のサービス提供方法。
  8. 情報処理装置に、
    他の情報処理装置で提供される第2のサービスと、該第2のサービス上のユーザの役割とが示された役割情報を、該ユーザが使用する端末装置から受信し、
    前記他の情報処理装置により提供される前記第2のサービスに対応付けて、自装置と該他の情報処理装置との間の関係が示された関係情報を参照し、該自装置で提供する第1のサービスと、前記受信した役割情報に示される前記第2のサービスとの間の関係を判断し、
    前記第1のサービスと前記第2のサービスとの間の関係と、該第2のサービス上の役割との組み合わせに対応する、前記第1のサービス上の役割を定義した役割割当ポリシを参照し、前記判断された関係と、前記受信した役割情報に示された役割との組み合わせに応じて、前記受信した役割情報の送信元の端末装置を使用するユーザの前記第1のサービス上の役割を決定する、
    処理を実行させるプログラム。
  9. 他の情報処理装置で提供される第2のサービスと、該第2のサービス上のユーザの役割とが示された役割情報を、該ユーザが使用する端末装置から受信する受信手段と、
    前記他の情報処理装置により提供される前記第2のサービスに対応付けて、自装置と該他の情報処理装置との間の関係が示された関係情報を参照し、該自装置で提供する第1のサービスと、前記受信した役割情報に示される前記第2のサービスとの間の関係を判断する判断手段と、
    前記第1のサービスと第2のサービスとの間の関係と、該第2のサービス上の役割との組み合わせに対応する、前記第1のサービス上の役割を定義した役割割当ポリシを参照し、前記判断された関係と、前記受信した役割情報に示された役割との組み合わせに応じて、前記受信した役割情報の送信元の端末装置を使用するユーザの前記第1のサービス上の役割を決定する決定手段と、
    を有する情報処理装置。
JP2012046417A 2012-03-02 2012-03-02 サービス提供方法、プログラム、および情報処理装置 Active JP5799855B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2012046417A JP5799855B2 (ja) 2012-03-02 2012-03-02 サービス提供方法、プログラム、および情報処理装置
US13/774,197 US9292672B2 (en) 2012-03-02 2013-02-22 Service providing method, recording medium, and information processing apparatus
EP13156683.8A EP2634721B1 (en) 2012-03-02 2013-02-26 Service providing method, recording medium, and information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012046417A JP5799855B2 (ja) 2012-03-02 2012-03-02 サービス提供方法、プログラム、および情報処理装置

Publications (2)

Publication Number Publication Date
JP2013182460A true JP2013182460A (ja) 2013-09-12
JP5799855B2 JP5799855B2 (ja) 2015-10-28

Family

ID=47845725

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012046417A Active JP5799855B2 (ja) 2012-03-02 2012-03-02 サービス提供方法、プログラム、および情報処理装置

Country Status (3)

Country Link
US (1) US9292672B2 (ja)
EP (1) EP2634721B1 (ja)
JP (1) JP5799855B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015125290A1 (ja) * 2014-02-24 2015-08-27 富士通株式会社 サービス提供方法、サービス提供装置、及び、サービス提供プログラム
WO2016092630A1 (ja) * 2014-12-09 2016-06-16 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、情報処理システム、およびコンピュータプログラム
JP6059307B1 (ja) * 2015-08-04 2017-01-11 ヤフー株式会社 端末装置、情報送信方法、及び情報送信プログラム
JP2017091369A (ja) * 2015-11-13 2017-05-25 株式会社リコー 管理システム、管理方法、及びプログラム
EP3258407A1 (en) 2016-06-17 2017-12-20 Fujitsu Limited Apparatus, method, and program for controlling profile data delivery
EP3486829A1 (en) 2017-11-15 2019-05-22 Fujitsu Limited Information processing apparatus, information processing system, and information processing program

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140282984A1 (en) * 2013-03-14 2014-09-18 Microsoft Corporation Service relationship and communication management
US9112846B2 (en) * 2013-10-11 2015-08-18 Centrify Corporation Method and apparatus for transmitting additional authorization data via GSSAPI
FR3014583A1 (fr) * 2013-12-05 2015-06-12 Orange Procede d'etablissement d'une relation de confiance entre deux locataires dans un reseau en nuage
GB2524010A (en) * 2014-03-10 2015-09-16 Ibm User authentication
WO2017078724A1 (en) * 2015-11-05 2017-05-11 Hewlett-Packard Development Company, L.P. System routines and raw data
US11252572B2 (en) * 2016-05-26 2022-02-15 Telefonaktiebolaget Lm Ericsson (Publ) Network application function registration

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002057660A (ja) * 2000-06-09 2002-02-22 Trw Inc 暗号化において署名、ディジタル印章およびディジタル署名として役割証明書を使用するためのシステムおよび方法
JP2002537721A (ja) * 1999-02-17 2002-11-05 サートコ インコーポレイテッド 組織構造および機能の暗号化制御および保守
JP2006215846A (ja) * 2005-02-04 2006-08-17 Mitsubishi Electric Corp ユーザ情報管理システムおよびユーザ情報管理方法
JP2011175402A (ja) * 2010-02-24 2011-09-08 Mitsubishi Electric Corp アクセス制御連携システム及びアクセス制御連携方法
JPWO2011122366A1 (ja) * 2010-03-31 2013-07-08 日本電気株式会社 アクセス制御プログラム、システム及び方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7328233B2 (en) * 2000-01-19 2008-02-05 Corybant, Inc. Method and apparatus for implementing an active information model
US7130839B2 (en) * 2001-05-29 2006-10-31 Sun Microsystems, Inc. Method and system for grouping entries in a directory server by group memberships defined by roles
US6768988B2 (en) * 2001-05-29 2004-07-27 Sun Microsystems, Inc. Method and system for incorporating filtered roles in a directory system
US7010600B1 (en) * 2001-06-29 2006-03-07 Cisco Technology, Inc. Method and apparatus for managing network resources for externally authenticated users
US6892309B2 (en) * 2002-02-08 2005-05-10 Enterasys Networks, Inc. Controlling usage of network resources by a user at the user's entry point to a communications network based on an identity of the user
US20080072301A1 (en) 2004-07-09 2008-03-20 Matsushita Electric Industrial Co., Ltd. System And Method For Managing User Authentication And Service Authorization To Achieve Single-Sign-On To Access Multiple Network Interfaces
US7496954B1 (en) * 2004-11-22 2009-02-24 Sprint Communications Company L.P. Single sign-on system and method
US8732182B2 (en) * 2004-12-02 2014-05-20 Desktopsites Inc. System and method for launching a resource in a network
US8032558B2 (en) * 2007-01-10 2011-10-04 Novell, Inc. Role policy management
CN102067518A (zh) * 2007-11-21 2011-05-18 阿尔卡特朗讯 响应于事件来调用服务的功能的系统和方法及使用该系统和方法的服务管理系统
JP2009238125A (ja) 2008-03-28 2009-10-15 Nippon Telegr & Teleph Corp <Ntt> 認証トークン、利用機器および認証システム
US8204809B1 (en) * 2008-08-27 2012-06-19 Accenture Global Services Limited Finance function high performance capability assessment
US8745191B2 (en) * 2009-01-28 2014-06-03 Headwater Partners I Llc System and method for providing user notifications
US8725857B2 (en) * 2010-10-27 2014-05-13 Rolta International, Inc. Dynamic query services and methods
US8682698B2 (en) * 2011-11-16 2014-03-25 Hartford Fire Insurance Company System and method for secure self registration with an insurance portal

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002537721A (ja) * 1999-02-17 2002-11-05 サートコ インコーポレイテッド 組織構造および機能の暗号化制御および保守
JP2002057660A (ja) * 2000-06-09 2002-02-22 Trw Inc 暗号化において署名、ディジタル印章およびディジタル署名として役割証明書を使用するためのシステムおよび方法
JP2006215846A (ja) * 2005-02-04 2006-08-17 Mitsubishi Electric Corp ユーザ情報管理システムおよびユーザ情報管理方法
JP2011175402A (ja) * 2010-02-24 2011-09-08 Mitsubishi Electric Corp アクセス制御連携システム及びアクセス制御連携方法
JPWO2011122366A1 (ja) * 2010-03-31 2013-07-08 日本電気株式会社 アクセス制御プログラム、システム及び方法

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2015125290A1 (ja) * 2014-02-24 2017-03-30 富士通株式会社 サービス提供方法、サービス提供装置、及び、サービス提供プログラム
US10270756B2 (en) 2014-02-24 2019-04-23 Fujitsu Limited Service providing method, and service providing device
WO2015125290A1 (ja) * 2014-02-24 2015-08-27 富士通株式会社 サービス提供方法、サービス提供装置、及び、サービス提供プログラム
CN107004094A (zh) * 2014-12-09 2017-08-01 佳能株式会社 信息处理装置、信息处理装置的控制方法、信息处理系统和计算机程序
JPWO2016092630A1 (ja) * 2014-12-09 2017-09-21 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、情報処理システム、およびコンピュータプログラム
WO2016092630A1 (ja) * 2014-12-09 2016-06-16 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、情報処理システム、およびコンピュータプログラム
CN107004094B (zh) * 2014-12-09 2021-01-15 佳能株式会社 信息处理装置、信息处理装置的控制方法、信息处理系统和计算机程序
JP2017033417A (ja) * 2015-08-04 2017-02-09 ヤフー株式会社 端末装置、情報送信方法、及び情報送信プログラム
JP6059307B1 (ja) * 2015-08-04 2017-01-11 ヤフー株式会社 端末装置、情報送信方法、及び情報送信プログラム
JP2017091369A (ja) * 2015-11-13 2017-05-25 株式会社リコー 管理システム、管理方法、及びプログラム
EP3258407A1 (en) 2016-06-17 2017-12-20 Fujitsu Limited Apparatus, method, and program for controlling profile data delivery
US10686768B2 (en) 2016-06-17 2020-06-16 Fujitsu Limited Apparatus and method for controlling profile data delivery
EP3486829A1 (en) 2017-11-15 2019-05-22 Fujitsu Limited Information processing apparatus, information processing system, and information processing program
US10956608B2 (en) 2017-11-15 2021-03-23 Fujitsu Limited Information processing apparatus, information processing system, and information processing program

Also Published As

Publication number Publication date
EP2634721B1 (en) 2019-06-12
JP5799855B2 (ja) 2015-10-28
US20130232546A1 (en) 2013-09-05
EP2634721A2 (en) 2013-09-04
US9292672B2 (en) 2016-03-22
EP2634721A3 (en) 2017-03-22

Similar Documents

Publication Publication Date Title
JP5799855B2 (ja) サービス提供方法、プログラム、および情報処理装置
EP3805961B1 (en) Systems and method for authenticating users of a data processing platform from multiple identity providers
US9674180B2 (en) Using identity/resource profile and directory enablers to support identity management
US7454421B2 (en) Database access control method, database access controller, agent processing server, database access control program, and medium recording the program
US20110162034A1 (en) Discovery and management of context-based entitlements across loosely-coupled environments
JP5614340B2 (ja) システム、認証情報管理方法、およびプログラム
US8752152B2 (en) Federated authentication for mailbox replication
JP5365502B2 (ja) ファイル管理装置、ファイル管理プログラム、およびファイル管理方法
JPH10240690A (ja) クライアント・サーバシステム、サーバおよびクライアント端末
US8601540B2 (en) Software license management
US20180123793A1 (en) Initial provisioning through shared proofs of knowledge and crowdsourced identification
US11038835B2 (en) Systems and methods for managing domain name information
JP5845973B2 (ja) サービス利用管理方法、プログラム、および情報処理装置
CN105516059A (zh) 一种资源访问控制方法和装置
JP5445692B2 (ja) 情報処理装置およびプログラム
JP2008015733A (ja) ログ管理計算機
US10021107B1 (en) Methods and systems for managing directory information
US20230222137A1 (en) Data management platform
US11233787B2 (en) Automated on call and ad hoc access to restricted resources
GB2413663A (en) Enhanced discovery service using template object
Musliyana et al. Integrated Email Management System Based Google Application Programming Interface Using OAuth 2.0 Authorization Protocol
US11726674B2 (en) Bridging authorization standard for cloud storage
Vullings et al. Secure federated authentication and authorisation to grid portal applications using saml and xacml
Thomas et al. Identity and access management in the cloud computing environments
Chaisawat et al. Towards Data Minimization and Access Control for Immunization Data Sharing

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141112

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150707

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150810

R150 Certificate of patent or registration of utility model

Ref document number: 5799855

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150