JP2013250894A - Mapping server and single sign-on system, mapping function providing method - Google Patents

Mapping server and single sign-on system, mapping function providing method Download PDF

Info

Publication number
JP2013250894A
JP2013250894A JP2012126544A JP2012126544A JP2013250894A JP 2013250894 A JP2013250894 A JP 2013250894A JP 2012126544 A JP2012126544 A JP 2012126544A JP 2012126544 A JP2012126544 A JP 2012126544A JP 2013250894 A JP2013250894 A JP 2013250894A
Authority
JP
Japan
Prior art keywords
mapping
user
server
idp
function
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
JP2012126544A
Other languages
Japanese (ja)
Other versions
JP5955106B2 (en
Inventor
Tamotsu Tamura
存 田村
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 JP2012126544A priority Critical patent/JP5955106B2/en
Publication of JP2013250894A publication Critical patent/JP2013250894A/en
Application granted granted Critical
Publication of JP5955106B2 publication Critical patent/JP5955106B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

PROBLEM TO BE SOLVED: To solve the problems that the conventional single sign-on setting method is not satisfactory because a user of a tenant having a different SP can be subjected to SSO mapping to an IDP in the case where a plurality of tenants use the same SP, that the opposite situation is not satisfactory in the same manner, and that SSP mapping has to be performed to a registered IDP by a proper method because an SSO mapping method for guaranteeing security is different due to IDP characteristic.SOLUTION: A proper SSO mapping function is provided to each of a plurality of IDPs. Therefore, a mapping function is preliminarily associated with each IDP, a mapping function corresponding to an IDP selected from available IDPs by a user is executed, and mapping information is registered.

Description

本発明は、たとえばマルチテナント対応したサーバー群の間等でシングルサインオンを実現するための、マッピングサーバーとシングルサインオンシステム、マッピング機能提供方法に関する。   The present invention relates to a mapping server, a single sign-on system, and a mapping function providing method for realizing a single sign-on between, for example, a multi-tenant server group.

特に、サーバー群から構成されるIDPを複数登録可能なシステムにおいて、各々のIDPに適当なマッピングサーバーとシングルサインオンシステム、マッピング機能提供方法に関する。   In particular, the present invention relates to a mapping server, a single sign-on system, and a mapping function providing method suitable for each IDP in a system capable of registering a plurality of IDPs composed of servers.

従来、異なるドメイン下に存在する複数のサーバー間で認証を連携させる技術として、Security Assertion Markup Language(以下SAMLという)によるシングルサインオン(以下SSOという)の仕組みが知られている。SAMLを実現するシステムは、認証機能を提供するサーバー群(アイデンティティプロバイダ、以下IDPという)を含む。またIDPの認証結果を信頼して機能を提供する少なくとも一つ以上のサーバー群(サービスプロバイダ、以下SPという)も含む。SAMLによるSSOを利用するユーザーは、前述のIDPとSPのそれぞれのドメインにおけるユーザーID等の認証情報を登録している。   2. Description of the Related Art Conventionally, a single sign-on (hereinafter referred to as SSO) mechanism based on Security Association Markup Language (hereinafter referred to as SAML) is known as a technique for linking authentication between a plurality of servers existing under different domains. A system for realizing SAML includes a server group (identity provider, hereinafter referred to as IDP) that provides an authentication function. It also includes at least one server group (service provider, hereinafter referred to as SP) that provides a function by trusting the IDP authentication result. A user who uses SSO by SAML registers authentication information such as a user ID in each of the above-described IDP and SP domains.

ユーザーがSPの機能提供を受ける場合、IDPにアクセスし認証を受ける必要がある。例えば、ユーザーはIDPにて管理されているユーザーIDおよびパスワードを使ってIDPで認証される。そしてIDPは、認証したユーザーに対し、認証したことの証明であるSAMLアサーションをSP向けに発行する。SPは、このSAMLアサーションが、信頼しているIDPで発行されたものかを検証する事でユーザーを認証する。たとえばこの検証は、IDPの証明書を用いた電子署名を検証することで行われる。このとき、ユーザーはSPで管理されている認証情報を入力することなく、SPと連携するサーバー群が提供するサービスを受けることができる。   When the user is provided with the SP function, it is necessary to access the IDP for authentication. For example, a user is authenticated by IDP using a user ID and password managed by IDP. The IDP issues a SAML assertion, which is a proof of authentication, to the SP for the authenticated user. The SP authenticates the user by verifying whether this SAML assertion is issued by a trusted IDP. For example, this verification is performed by verifying an electronic signature using an IDP certificate. At this time, the user can receive a service provided by the server group linked with the SP without inputting authentication information managed by the SP.

なお、ユーザーがSPにSSOを利用しアクセスする際は、上述のように自身のSP用のユーザーIDをSPに渡していない。そのため、ユーザーはSSOを利用するのに先立って、IDPで認証を受けるIDP用のユーザーIDと、SPにアクセスする際のSP用のユーザーIDとの対応関係を上述のシステムに保持しておく必要がある。この対応関係を登録する処理をシングルサインオンマッピング(以下、SSOマッピングという)と呼ぶ。   When the user accesses the SP using SSO, the user ID for the SP is not handed over to the SP as described above. Therefore, prior to using SSO, the user needs to maintain the correspondence between the IDP user ID authenticated by IDP and the SP user ID when accessing the SP in the above system. There is. The process of registering this correspondence is called single sign-on mapping (hereinafter referred to as SSO mapping).

このように、SAMLのSSOは、IDPとSPの信頼関係によって成り立っている。つまりは、SSOを実現する前に、事前にIDPとSPとの間で信頼関係を結んでいる必要がある。この信頼関係は、SAMLプロトコルで規定されたどの方式でSSOを行うのかを記述したメタデータと、アサーションがIDPから発行された事を証明するための電子証明書の交換によって成立する。   Thus, SAML SSO is established by the trust relationship between IDP and SP. In other words, before realizing SSO, it is necessary to establish a trust relationship between the IDP and the SP in advance. This trust relationship is established by exchanging metadata describing which method the SSO is performed in the SAML protocol and an electronic certificate for proving that the assertion is issued from the IDP.

前述の通り、SAMLは、ユーザーがIDPによって認証されたこと、またそのIDPがSPから見て信頼できるものであることを検証することで、安全にSSOを提供する。より具体的には、SPは、IDPで発行されたアサーションの署名を事前に設定した電子証明書を用いて検証する事でSSOを実現する。ただし、SAMLの仕組み自体は安全であっても、SAMLの設定、例えばSSOマッピングが間違っていた場合、IDPで認証を受けたユーザーは、意図しないユーザーにマッピングされてSPにアクセスしてしまう。そのユーザーは、SPにおける別のユーザーとして承認されたことになる。このことからも、SAMLの仕組みを安全に利用するためにはSSOの設定も安全に設定してある必要がある。   As described above, SAML provides SSO safely by verifying that the user is authenticated by IDP and that the IDP is reliable from the viewpoint of the SP. More specifically, the SP realizes SSO by verifying the signature of the assertion issued by the IDP using a digital certificate set in advance. However, even if the SAML mechanism itself is safe, if the SAML setting, for example, the SSO mapping is wrong, a user who is authenticated by IDP is mapped to an unintended user and accesses the SP. The user has been approved as another user at the SP. For this reason as well, in order to use the SAML mechanism safely, it is necessary to set the SSO safely.

次に、IDPとSPとの関係を考える。SPから見た場合、IDPは、エンティティID(Entity ID)と呼ばれるIDで識別される。このエンティティIDは事前に交換したメタデータに記載されている。ここでIDPによっては、認証機能を提供するサーバー群として単一のエンティティIDしか持たないものと、複数のエンティティIDを持てるものとがある。エンティティIDが単一か複数かは、IDPの構成によって異なる。   Next, consider the relationship between IDP and SP. When viewed from the SP, the IDP is identified by an ID called an entity ID. This entity ID is described in the metadata exchanged in advance. Here, depending on the IDP, there are a server group that provides an authentication function and a server group that has only a single entity ID and a server group that has a plurality of entity IDs. Whether the entity ID is single or plural depends on the configuration of the IDP.

たとえばSAMLはHTTPで実現されるため、エンドポイントはURLで定義される。またアサーションを署名するためにエンティティIDごとに異なる電子証明書が必要となるが、電子証明書はホスト名に紐づけて発行される。結果として、IDPが複数のエンティティIDを持つためにはエンティティIDごとに異なるホスト名も持ち、またそれらのホスト名のIPアドレスが解決できる必要がある。IDPがユーザーの求めに応じ動的にエンティティIDを追加するのであれば、IDPがDNSサーバーを備え、エンティティIDの追加に対応して新しいホスト名とIPアドレスをDNSサーバーに登録するなどの作業が必要になる。よってIDPが複数のエンティティIDを持つには比較的規模の大きなIDPでないと対応が難しい。   For example, since SAML is realized by HTTP, an endpoint is defined by a URL. In order to sign an assertion, a different electronic certificate is required for each entity ID, but the electronic certificate is issued in association with a host name. As a result, in order for the IDP to have a plurality of entity IDs, it is necessary to have different host names for each entity ID and to resolve the IP addresses of those host names. If the IDP dynamically adds an entity ID in response to a user request, the IDP has a DNS server, and works such as registering a new host name and IP address in the DNS server in response to the addition of the entity ID. I need it. Therefore, it is difficult for an IDP to have a plurality of entity IDs unless it is a relatively large IDP.

一方アプリケーションサービスプロバイダーなど第三者にサービスを提供するケースでは、第三者からのアクセスを特定のURLに限定することで利便性や安全性を向上させることがある。このような場合は、URLが単一になり、エンティティIDが単一になる。
上記のようにエンティティIDが単一か複数かは、IDPの構成によって異なる。
On the other hand, in a case where a service is provided to a third party such as an application service provider, convenience and safety may be improved by limiting access from the third party to a specific URL. In such a case, the URL is single and the entity ID is single.
As described above, whether the entity ID is single or plural depends on the configuration of the IDP.

ここで1つのSPに対し、複数のIDPでSSOを可能とする場合を考える。その実現のためには、いずれのIDPともSSOできるようにするため、あらかじめSPにIDPを登録しておく必要がある。   Here, consider a case where SSO is possible with a plurality of IDPs for one SP. In order to realize this, it is necessary to register the IDP in advance with the SP in order to enable SSO with any IDP.

そこで従来、SSO対象のサーバー群を複数登録できるようにする方式があった(特許文献1等参照)。この方式によれば、SSO対象のサーバー群を複数登録できる。またSSO対象のサーバー群の登録を解除する際は、そのサーバー群に対応する画像を表示させることで、意図しないサーバー群の登録を解除することを防いでいる。   Therefore, there has conventionally been a method that allows a plurality of SSO target server groups to be registered (see Patent Document 1). According to this method, a plurality of SSO target server groups can be registered. Further, when canceling registration of a server group targeted for SSO, an image corresponding to the server group is displayed, thereby preventing unintended server group registration from being cancelled.

特許第4186521号Japanese Patent No. 4186521

しかしながら従来の方法には以下の問題があった。すなわち、SSOするためには事前にSSOマッピングの設定が必要であるが、SSO対象のサーバー群であるIDPまたはSPが複数登録されている場合は、それぞれのIDPまたはSPに対して適当な手段でSSOマッピングする必要がある。たとえば複数のユーザー企業が同一のSPを利用するケースを考えると、SP上で管理される各企業の情報は互いに独立して分離されている必要がある。このような分離の単位を、以下でテナントと呼ぶ。ここでひとつのSPに複数IDPを登録する場合を考える。このときIDPのあるユーザーに対し、SPの異なるテナントのユーザーをSSOマッピングできてしまうことは情報漏えいの危険がありセキュリティ上好ましくない。また逆に、1つのSPのテナントに対し、異なるIDPのユーザーをSSOマッピングできてしまうことも、同様に好ましくない。いずれも当該ユーザーの本来の権限を越えた他のユーザーの権限でSPにアクセスし得るためである。よって誤ったSSOマッピングを防ぎ、セキュリティを担保することが必要である。ここでIDPの特性により、セキュリティを担保するためのSSOマッピングの方式が異なるため、登録されたIDPに対して適当な方式でSSOマッピングする必要がある。   However, the conventional method has the following problems. In other words, in order to perform SSO, it is necessary to set SSO mapping in advance, but when multiple IDPs or SPs that are SSO target server groups are registered, an appropriate means for each IDP or SP is used. SSO mapping is required. For example, when considering the case where a plurality of user companies use the same SP, the information of each company managed on the SP needs to be separated independently from each other. Such a unit of separation is hereinafter referred to as a tenant. Consider a case where a plurality of IDPs are registered in one SP. At this time, SSO mapping of a tenant with a different SP to a user with IDP is not desirable in terms of security because there is a risk of information leakage. On the other hand, it is also not preferable that users of different IDPs can be SSO mapped to one SP tenant. This is because the SP can be accessed with the authority of another user exceeding the original authority of the user. Therefore, it is necessary to prevent erroneous SSO mapping and ensure security. Here, since the SSO mapping method for ensuring security differs depending on the characteristics of the IDP, it is necessary to perform SSO mapping on the registered IDP by an appropriate method.

さらに、SSOマッピングを実施する際には、そのSSOマッピング行為の妥当性を確認するために、IDPのAPIを呼ぶ場合がある。このとき、IDPのAPIを呼び出すには、IDPの認証や認可が必要になる。そのため、認証や認可を受ける前処理が必要となる。この前処理には、IDPごとのポリシーによって、IDとパスワードとによる認証が求められる場合や、OAuthと呼ばれる認可の仕組みを利用する必要がある場合もある。このように、IDPごとに適当な方式で前処理する必要がある。   Further, when performing SSO mapping, an IDP API may be called to confirm the validity of the SSO mapping action. At this time, in order to call the API of IDP, IDP authentication and authorization are required. Therefore, pre-processing for receiving authentication and authorization is required. This pre-processing may require authentication with an ID and password depending on the policy for each IDP, or may require the use of an authorization mechanism called OAuth. As described above, it is necessary to perform preprocessing for each IDP by an appropriate method.

また、同一のIDPで複数の前処理が利用可能な場合がある。そのようなケースでは、ユーザーの選択に従い、SSOマッピング時にどの前処理方式を利用するか判断できる必要がある。   In some cases, a plurality of preprocessing can be used with the same IDP. In such a case, it is necessary to be able to determine which pre-processing method is used at the time of SSO mapping according to the user's selection.

本発明は上記従来例に鑑みてなされたもので、情報漏えい等、セキュリティ上の危険を抑制したSSOマッピングを実現できるマッピングサーバーとシングルサインオンシステム、マッピング機能提供方法を提供することを目的とする。   The present invention has been made in view of the above-described conventional example, and an object thereof is to provide a mapping server, a single sign-on system, and a mapping function providing method capable of realizing SSO mapping that suppresses security risks such as information leakage. .

上記目的を達成するために本発明は以下の構成を備える。   In order to achieve the above object, the present invention comprises the following arrangement.

認証サーバーがユーザーを認証したことを示すユーザー認証情報を、他のサーバーにおける前記ユーザーのユーザーIDと関連付けて当該サーバーへのアクセスを許すシングルサインオンシステムにおいて、ユーザーIDを関連付けたマッピング情報を提供するマッピングサーバーであって、
前記ユーザーIDの関連付けを行うマッピング機能を、認証サーバーごとに関連付けて登録したマッピング機能情報と、
前記マッピング機能情報を参照して、前記マッピング機能に関連付けられた認証サーバーの選択を受け付ける受け付け手段と、
前記選択された認証サーバーに関連付けられたマッピング機能に応じた処理を実行して前記マッピング情報を構成する実行手段とを有する。
Mapping information associated with a user ID is provided in a single sign-on system that allows access to the server by associating user authentication information indicating that the authentication server has authenticated the user with the user ID of the user in another server. A mapping server,
Mapping function information that associates and registers the mapping function for associating the user ID for each authentication server;
A receiving unit that refers to the mapping function information and receives a selection of an authentication server associated with the mapping function;
Execution means for executing the processing according to the mapping function associated with the selected authentication server to configure the mapping information.

あるいは、他の側面によれば、本発明は、マッピングサーバーと、認証サーバーと、そのほかのサーバーとを含むシングルサインオンシステムにある。   Alternatively, according to another aspect, the present invention resides in a single sign-on system including a mapping server, an authentication server, and other servers.

本発明によれば、ユーザーが利用可能なIDPを一覧表示させるとともに、それぞれのIDPに対して適切なSSOマッピング機能を対応づけることができる。そのため、IDPの特性にあわせて、セキュリティを担保するため適切なSSOマッピング機能を提供することができる。   According to the present invention, it is possible to display a list of IDPs that can be used by a user and to associate an appropriate SSO mapping function with each IDP. Therefore, an appropriate SSO mapping function can be provided in order to ensure security in accordance with the characteristics of IDP.

ネットワーク構成を示す図である。It is a figure which shows a network structure. 本発明の実施の形態に係るPCの構成図である。It is a lineblock diagram of PC concerning an embodiment of the invention. 本実施の形態に係るモジュール構成図である。It is a module block diagram concerning this Embodiment. , 本実施の形態に係るデータ例である。It is an example of data concerning this embodiment. , 本実施の形態に係るSSOマッピングのためのフローである。It is a flow for the SSO mapping which concerns on this Embodiment. 本実施の第2の形態に係るモジュール構成図である。It is a module block diagram which concerns on the 2nd Embodiment. , , 本実施の第2の形態に係るデータ例である。It is an example of data concerning the 2nd form of this embodiment. , 本実施の第2の形態に係るSSOマッピングのための前半のフローである。It is the first half flow for the SSO mapping which concerns on this 2nd Embodiment. , , 本実施の第2の形態に係るSSOマッピングのための後半のフローである。It is the latter half flow for the SSO mapping which concerns on this 2nd Embodiment. 本実施の第2の形態に係るモジュール構成図である。It is a module block diagram which concerns on the 2nd Embodiment. 本実施の第2の形態に係るデータ例である。It is an example of data concerning the 2nd form of this embodiment. 本実施の第2の形態に係るSSOマッピングのためのフローである。It is a flow for the SSO mapping which concerns on the 2nd Embodiment. , 本実施の形態に係る画面例である。It is an example of a screen concerning this embodiment. , , 本実施の第2の形態に係る画面例である。It is an example of a screen concerning the 2nd form of this embodiment. 本実施の第3の形態に係る画面例である。It is an example of a screen concerning the 3rd form of this Embodiment.

[第1実施形態]
本発明の目的は、認証を連携させたいサーバー群の間で、それぞれに適切なSSOマッピング機能を提供することである。なお本実施形態及び第2乃至第4の実施形態でいうマッピング機能とは、サーバー(あるいはサービスともいう)間のユーザーIDを関連付けてIDの対応表(あるいはマッピング情報)を構成する機能である。以下、本発明を実施するための最良の形態について図面を用いて説明する。
[First Embodiment]
An object of the present invention is to provide an appropriate SSO mapping function between server groups for which authentication is desired to be coordinated. The mapping function referred to in the present embodiment and the second to fourth embodiments is a function for associating user IDs between servers (or services) to form an ID correspondence table (or mapping information). The best mode for carrying out the present invention will be described below with reference to the drawings.

<システム構成>
本実施の形態に係るシングルサインオンシステムは、図1に示すような構成のネットワーク上に実現される。WAN100は、広域ネットワークであり、本実施形態ではたとえばインターネットで、特にHTTPを用いたWorld Wide Web(WWW)システムである。LAN101は各構成要素を接続するローカルエリアネットワークである。クライアントPC200はユーザーが操作するクライアントPCであり、マッピングサーバー300は、エンティティIDごとにIDP用のユーザーIDとSP用のユーザーIDとを関連付けたマッピング情報を有しており、SSOマッピングを実施するとともに、マッピング情報を管理するための機能を提供する。IDP−A400、IDP−B410およびIDP−C420はそれぞれユーザーを認証するアイデンティティプロバイダ。なおここでマッピングサーバーはサービスプロバイダ(SP)であることを想定しているが、マッピングサーバーがアイデンティティプロバイダ(IDP)であり、400、410および420がSPであってもよい。アイデンティティプロバイダは、認証サーバーと呼んでもよいし、サービスプロバイダは、単にサービス或いはサーバーと呼んでもよい。
<System configuration>
The single sign-on system according to the present embodiment is realized on a network configured as shown in FIG. The WAN 100 is a wide area network. In this embodiment, the WAN 100 is, for example, the Internet, and in particular, a World Wide Web (WWW) system using HTTP. A LAN 101 is a local area network that connects each component. The client PC 200 is a client PC operated by the user, and the mapping server 300 has mapping information that associates an IDP user ID and an SP user ID for each entity ID, and performs SSO mapping. Provides a function for managing mapping information. IDP-A400, IDP-B410, and IDP-C420 are identity providers that authenticate users. Although the mapping server is assumed to be a service provider (SP) here, the mapping server may be an identity provider (IDP), and 400, 410, and 420 may be SPs. An identity provider may be referred to as an authentication server, or a service provider may simply be referred to as a service or server.

またクライアントPC200、マッピングサーバー300、IDP−A400、IDP−B410、IDP−C420はそれぞれWANネットワーク100およびLAN101を介して接続されている。なおクライアントPC200およびマッピングサーバー300やそれぞれのIDPは、それぞれ個別のLAN上に構成されていてもよいし同一のLAN上に構成されていてもよい。また同一のPCまたはサーバーコンピューター上に構成されていてもよい。例えばIDP−A300が構成されるサーバーコンピューター上に、不図示のIDPであるIDP−A−TRIALが構成されていてもよい。マッピングサーバー300、IDP−A400、IDP−B410、IDP−C420はそれぞれ、後述のサーバーコンピューター上で動作する。   The client PC 200, the mapping server 300, the IDP-A 400, the IDP-B 410, and the IDP-C 420 are connected via the WAN network 100 and the LAN 101, respectively. The client PC 200, the mapping server 300, and each IDP may be configured on individual LANs or may be configured on the same LAN. Further, they may be configured on the same PC or server computer. For example, IDP-A-TRIAL, which is an IDP (not shown), may be configured on a server computer in which IDP-A300 is configured. The mapping server 300, IDP-A400, IDP-B410, and IDP-C420 each operate on a server computer described later.

マッピングサーバー300はまずユーザーのログインを受け付ける。次にユーザーが利用可能なIDPの一覧を表示する。そしてマッピングサーバー300はユーザーからのSSOマッピング設定要求を受け付けると、そのSSOマッピング設定要求に対応したIDPに関して適当なSSOマッピングを実施する。   The mapping server 300 first accepts a user login. Next, a list of IDPs available to the user is displayed. When the mapping server 300 receives the SSO mapping setting request from the user, the mapping server 300 performs appropriate SSO mapping for the IDP corresponding to the SSO mapping setting request.

<コンピュータの構成>
図2は本実施の形態に係るクライアントPC200の構成を示す図である。またマッピングサーバー300、IDP−A400、IDP−B410、IDP−C420のサーバーコンピューターの構成も同様である。尚、図2に示されるハードウェアブロック図は一般的な情報処理装置のハードウェアブロック図に相当するものとし、本実施形態のクライアントPC200およびサーバーコンピューターには一般的な情報処理装置のハードウェア構成を適用できる。
<Computer configuration>
FIG. 2 is a diagram showing a configuration of the client PC 200 according to the present embodiment. The configuration of the server computer of the mapping server 300, IDP-A400, IDP-B410, and IDP-C420 is the same. The hardware block diagram shown in FIG. 2 corresponds to the hardware block diagram of a general information processing apparatus, and the hardware configuration of a general information processing apparatus is used for the client PC 200 and the server computer of this embodiment. Can be applied.

図2において、CPU201は、ROM203のプログラム用ROMに記憶された、或いはハードディスク211からRAM202にロードされたOSやアプリケーション等のプログラムを実行する。ここでOSとはコンピュータ上で稼動するオペレーティングシステムの略語である。後述する各フローチャートの処理はこのプログラムの実行により実現できる。RAM202は、CPU201の主メモリ、ワークエリア等として機能する。キーボードコントローラ(KBC)205は、キーボード(KB)209や不図示のポインティングデバイスからのキー入力を制御する。CRTコントローラ(CRTC)206は、CRTディスプレイ210の表示を制御する。ディスクコントローラ(DKC)207は各種データを記憶するハードディスク(HD)211やフロッピー(登録商標)ディスク(FD)等におけるデータアクセスを制御する。NC212はネットワークに接続されて、ネットワークに接続された他の機器との通信制御処理を実行する。   In FIG. 2, the CPU 201 executes a program such as an OS or an application stored in the program ROM of the ROM 203 or loaded from the hard disk 211 to the RAM 202. Here, OS is an abbreviation for an operating system running on a computer. The processing of each flowchart to be described later can be realized by executing this program. The RAM 202 functions as a main memory, work area, and the like for the CPU 201. A keyboard controller (KBC) 205 controls key input from a keyboard (KB) 209 or a pointing device (not shown). A CRT controller (CRTC) 206 controls display on the CRT display 210. A disk controller (DKC) 207 controls data access in a hard disk (HD) 211 or a floppy (registered trademark) disk (FD) that stores various data. The NC 212 is connected to the network and executes communication control processing with other devices connected to the network.

尚、後述の全ての説明においては、特に断りのない限り実行のハード上の主体はCPU201であり、ソフトウェア上の主体はハードディスク(HD)211にインストールされたアプリケーションプログラムである。   In all the descriptions below, unless otherwise specified, the execution hardware main body is the CPU 201, and the software main body is an application program installed in the hard disk (HD) 211.

<マッピングサーバーのモジュール構成>
図3は本実施の形態に係る、マッピングサーバー300のモジュール構成図である。マッピングサーバー300はマッピング機能管理モジュール301、マッピング機能提供モジュール302、利用IDP管理モジュール303を有する。1つのマッピング機能提供モジュール302が複数のIDPに対応したSSOマッピング機能を提供してもよく、またIDPごとに異なるSSOマッピング機能提供モジュール302が存在してもよい。ユーザーがマッピングサーバー300にアクセスすると、利用IDP管理モジュール303が当該ユーザーの利用可能なIDPを返す。またマッピング機能管理モジュール301は、利用IDP管理モジュールが返したIDPごとに、対応したマッピング機能提供モジュール302の機能を提供する画面のURLを返す。
<Mapping server module configuration>
FIG. 3 is a module configuration diagram of the mapping server 300 according to the present embodiment. The mapping server 300 includes a mapping function management module 301, a mapping function providing module 302, and a usage IDP management module 303. One mapping function providing module 302 may provide an SSO mapping function corresponding to a plurality of IDPs, and a different SSO mapping function providing module 302 may exist for each IDP. When the user accesses the mapping server 300, the usage IDP management module 303 returns the IDP available for the user. Further, the mapping function management module 301 returns the URL of the screen that provides the function of the corresponding mapping function providing module 302 for each IDP returned by the use IDP management module.

<マッピングサーバーにより管理されるデータ>
図4A、図4Bは本実施の形態に係る、データ例である。図4Aは本実施の形態に係る、マッピング機能一覧のデータ例である。マッピング機能一覧350は、マッピング機能管理モジュール301が管理するデータである。ここでマッピング機能一覧350は、複数のマッピング機能情報を持つ。個々のマッピング機能情報は、IDPを特定するIDP識別子と、そのIDPとのSSOマッピングに関する設定をマッピングサーバー300が管理するかどうかを示すマッピング管理場所情報を持つ。マッピング管理場所情報は、マッピングサーバー300が管理することを示す「サーバー内」(internal)とマッピングサーバー300が管理しないことを示す「サーバー外」(external)のいずれかの値をとる。さらにマッピングサーバー300がSSOマッピング機能を提供する場合、個々のマッピング機能情報はIDPに対応するマッピング機能提供モジュール302の機能を提供する画面(SSOマッピング画面)のURLを持つ。
<Data managed by the mapping server>
4A and 4B are data examples according to the present embodiment. FIG. 4A is a data example of a mapping function list according to the present embodiment. The mapping function list 350 is data managed by the mapping function management module 301. Here, the mapping function list 350 has a plurality of pieces of mapping function information. Each mapping function information has an IDP identifier that identifies an IDP, and mapping management location information that indicates whether the mapping server 300 manages settings related to SSO mapping with the IDP. The mapping management location information takes one of the values “inside server” (internal) indicating that the mapping server 300 manages and “outside server” (external) indicating that the mapping server 300 does not manage. Further, when the mapping server 300 provides the SSO mapping function, each mapping function information has a URL of a screen (SSO mapping screen) that provides the function of the mapping function providing module 302 corresponding to the IDP.

図4AではIDP−A400、IDP−A−TRIAL、IDP−B410の3つのIDPが登録されている様子を示す。これらのIDPの内、IDP−A400およびIDP−A−TRIALは、マッピングサーバー300がSSOマッピングを管理していることを示すとともに、対応するSSOマッピング画面のURLも持つ。またIDP−B410はSSOマッピング管理場所がマッピングサーバー300の外部であることを示すとともに、対応するマッピング画面を持たないことを示す。   FIG. 4A shows a state where three IDPs of IDP-A400, IDP-A-TRIAL, and IDP-B410 are registered. Among these IDPs, IDP-A400 and IDP-A-TRIAL indicate that the mapping server 300 manages SSO mapping, and also have a URL of the corresponding SSO mapping screen. IDP-B 410 indicates that the SSO mapping management location is outside the mapping server 300 and does not have a corresponding mapping screen.

図4Bは本実施の形態に係る、利用IDP一覧のデータ例である。利用IDP一覧351は、利用IDP管理モジュール303が管理するデータである。ここで利用IDP一覧351は複数の利用IDP情報を持つ。個々の利用IDP情報は、マッピングサーバー300にアクセスしたユーザーを識別するための利用者識別子と、そのユーザーが利用可能なIDPのIDP識別子を持つ。なお利用者識別子はユーザーそのものの識別子でもよく、ユーザーが所属するテナントの識別子であってもよいが、ここでは利用者識別子はテナント識別子であるとする。ここではテナントT001に所属するユーザーであれば、IDP−A400、IDP−A−TRIAL、IDP−B410の3つのIDPが利用可能であることを示す。   FIG. 4B is a data example of a usage IDP list according to the present embodiment. The usage IDP list 351 is data managed by the usage IDP management module 303. Here, the usage IDP list 351 has a plurality of usage IDP information. Each use IDP information has a user identifier for identifying a user who has accessed the mapping server 300 and an IDP identifier of an IDP that can be used by the user. The user identifier may be the identifier of the user itself or the identifier of the tenant to which the user belongs, but here the user identifier is assumed to be a tenant identifier. Here, if the user belongs to the tenant T001, three IDPs IDP-A400, IDP-A-TRIAL, and IDP-B410 can be used.

<IDP一覧表示処理>
図5A、図5Bはそれぞれ、本実施の形態に係る、SSOマッピングのための機能の一覧表示および各SSOマッピング機能への振り分けフローである。
<IDP list display processing>
FIG. 5A and FIG. 5B are a list of functions for SSO mapping and a distribution flow to each SSO mapping function, respectively, according to the present embodiment.

図5Aは本実施の形態に係る、SSOマッピングのための機能の一覧表示のフローである。ユーザーがマッピングサーバー300にアクセスすると、そのユーザーが利用可能なIDPが、それぞれ対応したSSOマッピング機能の提供画面への遷移ボタンとともに一覧表示される。   FIG. 5A is a flowchart for displaying a list of functions for SSO mapping according to the present embodiment. When a user accesses the mapping server 300, IDPs that can be used by the user are displayed in a list together with a transition button to the corresponding SSO mapping function providing screen.

ステップS1001でマッピングサーバー300は、利用IDP管理モジュール303から、利用IDP一覧351のうち、ログインしているユーザーの利用者識別子に対応する利用IDP一覧を取得する。ここでユーザーの利用者識別子が、ユーザーが所属するテナントの識別子であるT001であれば、取得できる利用IDP一覧はIDP−A400、IDP−A−TRIAL、IDP−B410の3つのIDPを含むことが図4Bの例からわかる。利用IDP一覧351に含まれるIDPの数が増減すると、それに応じて、後述のフローで処理されるIDPの数が増減する。   In step S1001, the mapping server 300 acquires a usage IDP list corresponding to the user identifier of the logged-in user from the usage IDP list 351 from the usage IDP management module 303. Here, if the user identifier of the user is T001 which is the identifier of the tenant to which the user belongs, the available IDP list that can be acquired includes three IDPs of IDP-A400, IDP-A-TRIAL, and IDP-B410. It can be seen from the example of FIG. 4B. When the number of IDPs included in the usage IDP list 351 increases or decreases, the number of IDPs processed in a flow described later increases or decreases accordingly.

ステップS1002でマッピングサーバー300は、ステップS1001で取得した利用IDP一覧(これを対象IDPと呼ぶ)の内、未処理の利用IDP情報があるか判断する。未処理のIDPがあればステップS1003へ遷移する。また未処理のIDPがなければフローを終了する。   In step S1002, the mapping server 300 determines whether there is unprocessed usage IDP information in the usage IDP list (referred to as target IDP) acquired in step S1001. If there is an unprocessed IDP, the process proceeds to step S1003. If there is no unprocessed IDP, the flow ends.

ステップS1003でマッピングサーバー300は、ステップS1001で取得した対象IDPの内、未処理のIDPを取り出す、あるいは未処理のIDPに着目する。なお、ステップS1001で取得した対象IDPのうち、ステップS1003で着目したIDPを着目IDPと呼ぶことがある。   In step S1003, the mapping server 300 takes out an unprocessed IDP from the target IDPs acquired in step S1001, or pays attention to an unprocessed IDP. Of the target IDPs acquired in step S1001, the IDP focused in step S1003 may be referred to as the focused IDP.

ステップS1004でマッピングサーバー300は、ステップS1003で取り出した対象IDPに対応するマッピング機能情報(図4A参照)を、マッピング機能管理モジュール301から取り出す。これを着目マッピング機能情報と呼ぶことがある。   In step S1004, the mapping server 300 extracts mapping function information (see FIG. 4A) corresponding to the target IDP extracted in step S1003 from the mapping function management module 301. This may be called attention mapping function information.

ステップS1005でマッピングサーバー300は、ステップS1004で取り出した着目マッピング機能情報を参照し、マッピングサーバー300がSSOマッピングを管理しているか、すなわちSSOマッピング管理場所情報がサーバー内であるか判断する。判断の結果、マッピングサーバー300がSSOマッピングを管理するのであればステップS1006に遷移する。マッピングサーバー300がSSOマッピングを管理しないのであれば、着目しているIDPに関する処理を終了し、ステップS1002に遷移する。たとえばステップS1004で取り出した着目マッピング機能情報がIDP−A400に関するものであった場合、図4Aに示す通りIDP−A400はマッピングサーバー300がSSOマッピングを管理するため、ステップS1006に遷移する。   In step S1005, the mapping server 300 refers to the target mapping function information extracted in step S1004, and determines whether the mapping server 300 manages SSO mapping, that is, whether the SSO mapping management location information is in the server. As a result of the determination, if the mapping server 300 manages the SSO mapping, the process proceeds to step S1006. If the mapping server 300 does not manage the SSO mapping, the process related to the IDP of interest is terminated, and the process proceeds to step S1002. For example, if the target mapping function information extracted in step S1004 relates to the IDP-A 400, the IDP-A 400 transitions to step S1006 because the mapping server 300 manages the SSO mapping as shown in FIG. 4A.

ステップS1006でマッピングサーバー300は、ステップS1004で取り出した着目マッピング機能情報から、SSOマッピング機能を提供する画面のURL(図4AのSSOマッピング画面URL)を取り出す。   In step S1006, the mapping server 300 extracts the URL of the screen that provides the SSO mapping function (SSO mapping screen URL in FIG. 4A) from the target mapping function information extracted in step S1004.

ステップS1007でマッピングサーバー300は、ステップS1006で取り出したSSOマッピング画面URLを、ステップS1003で取り出した着目IDPの識別子とともに、画面表示させる。以上でそのIDPに関する処理を終了し、ステップS1002に遷移する。   In step S1007, the mapping server 300 causes the SSO mapping screen URL extracted in step S1006 to be displayed on the screen together with the identifier of the target IDP extracted in step S1003. The process related to the IDP is thus completed, and the process proceeds to step S1002.

図5Aのフローが完了した際に画面に表示されるのは、例えば図13Aに示されるようなIDP一覧表示画面500である。図13Aに示す通り、ログイン中のユーザーが利用可能なIDP一覧500がユーザーインターフェースに表示され、そこにはIDP識別子に関連付けて、そのIDPに対応するSSOマッピング画面へのリンク(URL)が埋め込まれたオブジェクト、たとえば遷移ボタン1301が表示される。このボタンをユーザーが押下すると、図5Bの処理が開始される。   When the flow of FIG. 5A is completed, what is displayed on the screen is an IDP list display screen 500 as shown in FIG. 13A, for example. As shown in FIG. 13A, an IDP list 500 that can be used by a logged-in user is displayed on the user interface, and a link (URL) to an SSO mapping screen corresponding to the IDP is embedded in association with the IDP identifier. An object such as a transition button 1301 is displayed. When the user presses this button, the processing in FIG. 5B is started.

<マッピング機能提供処理>
図5Bは本実施の形態に係る、各SSOマッピング機能への振り分けフローである。図5Aで表示された、それぞれのIDPに対応したSSOマッピング機能を提供するURLへの遷移ボタン1301をユーザーが押下すると、本フローが開始される。
<Mapping function provision processing>
FIG. 5B is a distribution flow to each SSO mapping function according to the present embodiment. When the user presses a transition button 1301 to a URL providing an SSO mapping function corresponding to each IDP displayed in FIG. 5A, this flow is started.

ステップS1101でマッピングサーバー300は、IDPに対応したSSOマッピング機能を提供するURLへの遷移ボタンの押下を受け付ける。あるいは遷移ボタンが押下されるとS1102から処理が開始される。   In step S1101, the mapping server 300 accepts pressing of a transition button to a URL that provides an SSO mapping function corresponding to IDP. Alternatively, when the transition button is pressed, the process starts from S1102.

ステップS1102でマッピングサーバー300は、遷移ボタンに紐付けられたSSOマッピング画面URLへ、ユーザーをリダイレクトさせる。   In step S1102, the mapping server 300 redirects the user to the SSO mapping screen URL associated with the transition button.

ステップS1103でマッピング機能提供モジュール302は、それぞれのIDPに対応したURLで特定されるSSOマッピング画面を通してURLごとに固有のSSOマッピング機能を提供し、フローを終了する。ここで、リダイレクト先のURLで表示される画面は、例えば図13Bに示されるようなマッピング機能提供画面501である。設定ファイルをユーザーが指定して設定ボタンを押下すると、設定ファイルが、マッピングサーバーが保持および管理するマッピング情報として設定される。ただし、設定前に、URLごと、すなわちIDPごとのSSOマッピング機能により、設定ファイルのマッピングに不都合なものがないかチェックする。ここでこのチェック機能の例をいくつか簡単に説明する。たとえばひとつのマッピング機能では、マッピングサーバー300が、IDPとSPのそれぞれから、それらが有するユーザーIDのリストをテナントごとに取得する。そして入力された設定ファイルに定義されたIDP用のユーザーIDとSP用のユーザーIDとの関連付けと照合して、不都合な関連付けがされていないか判定する。不都合な関連付けとは、たとえば、課題の欄で説明したような、IDPまたはSPの相異なる複数のテナントの、他方のひとつのテナントへの関連付けである。この場合には、設定ファイルに定義されたIDP用のユーザーIDとSP用のユーザーIDそれぞれの属するテナントを、取得したテナントごとのユーザーIDのリストを参照して特定する。そしてIDPまたはSPの複数のテナントと関連付けられたSPまたはIDPのひとつのテナントがあれば、その設定ファイルは不都合な可能性があるものと判断される。判断の結果は別の画面でクライアントに送信される。不都合な設定を許すか否かは、たとえばサービスプロバイダによる設定に従う。マッピング情報がIDPのエンティティIDを単位として管理されている場合、たとえばテナントごとにエンティティIDを付与しているIDPに対してはこのようなマッピング機能が適用されるのが望ましい。これに対して、複数のテナントに対して同一のエンティティIDを付与するIDPについては、マッピングサーバーにおいても、複数のテナントをまとめてひとつのマッピング情報で管理するため、マッピング情報で複数のテナントどうしが関連付けられる。したがって上述した方法では不都合な関連付けを判定することが困難である。   In step S1103, the mapping function providing module 302 provides a unique SSO mapping function for each URL through the SSO mapping screen specified by the URL corresponding to each IDP, and ends the flow. Here, the screen displayed with the redirect destination URL is a mapping function providing screen 501 as shown in FIG. 13B, for example. When the user designates a setting file and presses the setting button, the setting file is set as mapping information held and managed by the mapping server. However, before setting, it is checked whether there is any inconvenient mapping of the setting file by the SSO mapping function for each URL, ie, for each IDP. Here are some examples of this check function. For example, in one mapping function, the mapping server 300 acquires a list of user IDs possessed by each from each IDP and SP for each tenant. The IDP user ID and the SP user ID defined in the input setting file are collated with each other to determine whether or not an inconvenient association is made. Inconvenient association is, for example, association of a plurality of tenants with different IDPs or SPs to the other tenant as described in the problem section. In this case, the tenant to which each of the IDP user ID and the SP user ID defined in the setting file belongs is specified with reference to the acquired user ID list for each tenant. If there is one SP or IDP tenant associated with a plurality of IDP or SP tenants, it is determined that the setting file may be inconvenient. The result of the determination is sent to the client on another screen. Whether or not an inconvenient setting is permitted depends on the setting by a service provider, for example. When the mapping information is managed in units of IDP entity IDs, for example, such a mapping function is preferably applied to IDPs to which entity IDs are assigned for each tenant. On the other hand, for IDPs that give the same entity ID to a plurality of tenants, the mapping server also manages a plurality of tenants together with a single mapping information. Associated. Therefore, it is difficult to determine inconvenient association by the above-described method.

そこでこのようなIDPについては、上述したチェックに加えて、さらに以下のような判定を行う。すなわち、たとえばIDPあるテナントからユーザーIDを削除し、それと同一のユーザーIDを他のテナントに追加した場合を考える。上述したようにひとつのテナントがひとつのエンティティIDで管理されている場合、マッピングサーバーでは、エンティティIDすなわちテナントごとにマッピング情報を管理するために、意図しないマッピングが行われることはない。追加されたユーザーIDは、削除されたユーザーIDの属するテナントとは異なるテナントのユーザーとしてマッピング情報においても管理されるためである。ところが複数のテナントを一つのエンティティIDで管理するIDPの場合、上述のようなユーザーIDのテナント間の移動があると、移動後のテナントが、マッピング情報に残っているユーザーID間の関連付けよって関連付けられてしまうことがあり得る。そこで複数のテナントを一つのエンティティIDで管理するIDPについては、IDP用のユーザーIDとSP用のユーザーIDとを直接関連付けず、中間的なIDを介して関連付ける。上記のようなテナント間のユーザーIDの移動があっても、異動後のユーザーIDにはあらたな中間的なIDを割り当てることで、不都合な関連付けを防止できる。このように、設定ファイルに定義されたユーザーIDの関連付けを、中間的なIDを介した関連付けに変換して、マッピング情報として設定する。以上のようにIDPに応じて、マッピング情報の設定は異なるマッピング機能で実現される。IDPとマッピング機能との関連付けはあらかじめ定められ、図4Aに示したようなSSOマッピング機能一覧に定義される。このマッピング機能一覧は、マッピングサーバーにあらかじめ登録され、参照される。そのためにたとえば図3のマッピング機能管理モジュールは、クライアントのブラウザからアクセスに応じて、マッピング機能一覧350を保守できるように構成してもよい。SSOマッピング画面およびそのURLと、そのSSOマッピング画面で指定された設定ファイルをマッピング情報として登録するマッピング機能を実現するプログラムなどは、別途用意しておく必要がある。   Therefore, for such an IDP, in addition to the above-described check, the following determination is further performed. That is, for example, consider a case where a user ID is deleted from a tenant with IDP and the same user ID is added to another tenant. As described above, when one tenant is managed by one entity ID, the mapping server manages mapping information for each entity ID, that is, for each tenant, so that unintended mapping is not performed. This is because the added user ID is also managed in the mapping information as a user of a tenant different from the tenant to which the deleted user ID belongs. However, in the case of an IDP that manages a plurality of tenants with a single entity ID, if there is a move between user IDs as described above, the tenant after the move is associated with the association between user IDs remaining in the mapping information. It can happen. Therefore, for an IDP that manages a plurality of tenants with a single entity ID, the IDP user ID and the SP user ID are not directly associated, but are associated through an intermediate ID. Even if the user ID is moved between tenants as described above, an inconvenient association can be prevented by assigning a new intermediate ID to the user ID after the transfer. As described above, the association of the user ID defined in the setting file is converted into the association via an intermediate ID and set as mapping information. As described above, the setting of mapping information is realized by different mapping functions according to the IDP. The association between the IDP and the mapping function is determined in advance, and is defined in the SSO mapping function list as shown in FIG. 4A. This mapping function list is registered and referred to in advance in the mapping server. For this purpose, for example, the mapping function management module of FIG. 3 may be configured to maintain the mapping function list 350 in response to access from a client browser. An SSO mapping screen and its URL, and a program for realizing a mapping function for registering the setting file designated on the SSO mapping screen as mapping information must be prepared separately.

図13A、図13Bは本実施の形態に係る、画面例である。図13AはIDP一覧表示画面の例を示す。ここでIDP一覧表示画面500には、IDP−A400、IDP−A−TRIAL、IDP−B410の3つのIDPが表示されている。またそれらのIDPの内で、IDP−A400、IDP−A−TRIALに関しては、マッピング機能を提供するURLへの遷移ボタン1301も表示されている。   13A and 13B are screen examples according to the present embodiment. FIG. 13A shows an example of an IDP list display screen. Here, on the IDP list display screen 500, three IDPs of IDP-A400, IDP-A-TRIAL, and IDP-B410 are displayed. Among these IDPs, for IDP-A400 and IDP-A-TRIAL, a transition button 1301 to a URL providing a mapping function is also displayed.

図13Bはマッピング機能提供画面の例を示す。ここでマッピング機能提供画面501は、ユーザーから、SSOマッピングの設定に関する設定ファイルのアップロードを受け付ける。またアップロードされた設定ファイルに従いSSOマッピングを実施する。   FIG. 13B shows an example of a mapping function providing screen. Here, the mapping function providing screen 501 accepts upload of a setting file related to the SSO mapping setting from the user. Also, SSO mapping is performed according to the uploaded setting file.

設定ファイルには、たとえばSSOマッピングされるユーザーIDが関連付けて格納されている。たとえば設定ファイルは、当該ユーザーが当該IDPで認証を受けるためのIDP用ユーザーIDと、SPで認証を受けるためのSP用ユーザーIDとが、互いに関連付けられて格納されたファイルである。ここでIDPごとにマッピング方式を変えたことで、本来関連付けるべきでないテナントどうしのマッピングは防止されている。本来関連付けるべきでないテナントとは、たとえば実体となるユーザや企業などが異なっているテナントである。   In the setting file, for example, a user ID to be SSO mapped is stored in association with each other. For example, the setting file is a file in which an IDP user ID for the user to be authenticated by the IDP and an SP user ID for the user to be authenticated by the SP are stored in association with each other. Here, by changing the mapping method for each IDP, mapping between tenants that should not be associated with each other is prevented. Tenants that should not be associated with each other are, for example, tenants with different actual users or companies.

マッピング機能提供モジュール302は、IDPごとにあらかじめ定めたマッピング方式で、指定された設定ファイルに基づいてSSOマッピングを実施する。たとえば、設定ファイルにおいて定義されているIDの対応付けに基づいて、所定の形式のマップファイルとして格納する。   The mapping function providing module 302 performs SSO mapping based on a designated setting file by a mapping method determined in advance for each IDP. For example, it is stored as a map file of a predetermined format based on the ID association defined in the setting file.

SSOの手順自体は公知のものである。ここで簡単にSSOの手順の一例を説明する。まずユーザーは、クライアントPCのブラウザなどを用いて、アイデンティティプロバイダを兼務する第1のサービスプロバイダにアクセス要求する。アイデンティティプロバイダはユーザーに対して認証要求する。ユーザーの認証はたとえばユーザーID(ここではアイデンティティプロバイダ用のユーザーID)とパスワードとを用いる。アイデンティティプロバイダはユーザー認証を行うと、認証したことの証明であるユーザー認証情報(SAMLアサーション)を発行し、それを保持する。これは同時にユーザーが認証されて第1のサービスプロバイダへのアクセス要求が受け付けられることでもある。その後、当該ユーザーが第2のサービスプロバイダへのアクセスを要求すると、第2のサービスプロバイダはアイデンティティプロバイダに対して認証要求する。その認証要求に対してアイデンティティプロバイダは、アクセス要求したユーザーのユーザー認証情報すなわちSAMLアサーションを応答する。SAMLアサーションには、当該ユーザーのアイデンティティプロバイダ用のユーザーIDと電子署名とが含まれている。電子署名を検証してこのSAMLアサーションが信頼しているアイデンティティプロバイダで発行されたものであるか判定し、検証が成功すれば当アイデンティティプロバイダ用ユーザーIDを読んで、対応するサービスプロバイダ用のユーザーIDへの変換をマッチングサーバーに要求する。応答されたユーザーIDの権限で、ユーザーは第2のサービスプロバイダへアクセスする。以上のようにしてSSOを実現している。   The SSO procedure itself is known. Here, an example of the SSO procedure will be briefly described. First, the user makes an access request to the first service provider who also serves as the identity provider, using a browser of the client PC. The identity provider requests authentication from the user. For user authentication, for example, a user ID (here, a user ID for an identity provider) and a password are used. When the identity provider performs user authentication, it issues user authentication information (SAML assertion), which is proof of authentication, and holds it. At the same time, the user is authenticated and an access request to the first service provider is accepted. Thereafter, when the user requests access to the second service provider, the second service provider requests authentication from the identity provider. In response to the authentication request, the identity provider responds with user authentication information of the user who requested access, that is, a SAML assertion. The SAML assertion includes a user ID and an electronic signature for the user's identity provider. The electronic signature is verified to determine whether this SAML assertion is issued by a trusted identity provider. If the verification is successful, the user ID for the identity provider is read and the user ID for the corresponding service provider is read. Request matching server to convert to. The user accesses the second service provider with the authority of the responded user ID. SSO is realized as described above.

本実施の形態によれば、マッピングサーバーは、ユーザーが利用可能なIDPを一覧表示させるとともに、それぞれのIDPに対して適切なSSOマッピング機能を対応づけることができる。そのため、IDPの特性にあわせて、セキュリティを担保するため適切なSSOマッピング機能を提供することができる。   According to the present embodiment, the mapping server can display a list of IDPs that can be used by the user, and can associate an appropriate SSO mapping function with each IDP. Therefore, an appropriate SSO mapping function can be provided in order to ensure security in accordance with the characteristics of IDP.

[第2実施形態]
次に、本発明を実施するための第2の形態について図面を用いて説明する。なお第1の実施の形態と共通の部分については説明を省略し、以下では差異部分のみ説明する。
[Second Embodiment]
Next, a second embodiment for carrying out the present invention will be described with reference to the drawings. Note that description of parts common to the first embodiment will be omitted, and only different parts will be described below.

図6は本実施の第2の形態に係る、マッピングサーバー300のモジュール構成図である。マッピングサーバー300はマッピング機能管理モジュール301、マッピング機能提供モジュール302、利用IDP管理モジュール303から構成される。また前処理機能管理モジュール311、前処理機能提供モジュール312を持つ。1つの前処理機能提供モジュール312が複数のIDPに対応した前処理機能を提供してもよく、またIDPごとに異なる前処理機能提供モジュール312が存在してもよい。ユーザーがマッピングサーバー300にアクセスすると、利用IDP管理モジュール303がユーザーの利用可能なIDPを返す。また前処理機能管理モジュール311は、利用IDP管理モジュールが返したIDPごとに、対応した前処理機能提供モジュール312の機能を提供するURLを返す。   FIG. 6 is a module configuration diagram of the mapping server 300 according to the second embodiment. The mapping server 300 includes a mapping function management module 301, a mapping function providing module 302, and a usage IDP management module 303. Further, it has a preprocessing function management module 311 and a preprocessing function provision module 312. One preprocessing function providing module 312 may provide a preprocessing function corresponding to a plurality of IDPs, and a different preprocessing function providing module 312 may exist for each IDP. When the user accesses the mapping server 300, the usage IDP management module 303 returns the IDP available to the user. The preprocessing function management module 311 returns a URL that provides the function of the corresponding preprocessing function providing module 312 for each IDP returned by the use IDP management module.

図7は本実施の第2の形態に係る、データ例である。図7Aは本実施の第2の形態に係る、マッピング機能管理モジュール301が管理するマッピング機能一覧のデータ例である。ここでマッピング機能一覧360は、IDP−C420に関するマッピング機能情報が追加されている。   FIG. 7 shows an example of data according to the second embodiment. FIG. 7A is a data example of a mapping function list managed by the mapping function management module 301 according to the second embodiment. Here, mapping function information related to IDP-C 420 is added to the mapping function list 360.

図7Bは本実施の第2の形態に係る、利用IDP一覧管理モジュール303が管理する利用IDP一覧のデータ例である。ここで利用IDP一覧361は、テナントT001に所属するユーザーが利用可能なIDPとして、IDP−C420が追加されている。   FIG. 7B is a data example of a usage IDP list managed by the usage IDP list management module 303 according to the second embodiment. Here, in the usage IDP list 361, IDP-C420 is added as an IDP that can be used by a user belonging to the tenant T001.

図7Cは本実施の第2の形態に係る、前処理機能一覧のデータ例である。前処理機能一覧362は、前処理機能管理モジュール311が管理するデータであり、複数の前処理機能情報を持つ。個々の前処理機能情報はIDPを特定するIDP識別子と、そのIDPとのSSOマッピングに先立ち必要な前処理機能が提供される前処理URLとを持つ。ここでは、IDP−A400およびIDP−A−TRIALについてはマッピングサーバー300内の画面が前処理機能を持つことを示す。これは例えば、ユーザーがマッピングサーバー300の画面からIDP−A400のIDとパスワードを入力する場合が該当する。このときマッピングサーバー300は、ユーザーの入力にもとづき、IDP−A400が提供するWebServiceなどのAPIを呼び出して認証を受け、認証セッションを受け取る。またここでは、IDP−C420に関してはIDP−C420の画面が前処理機能を持つことを示す。これは例えばOAuthのように、IDP−C420が提供する認可画面に一旦ユーザーをリダイレクトさせ、マッピングサーバー300は、ユーザーが操作するブラウザ経由で、ユーザーが認可した証拠を受け取る場合が該当する。いずれにしても、前処理URLにより前処理機能を持つ装置を指定することができる。   FIG. 7C is a data example of a preprocessing function list according to the second embodiment. The preprocessing function list 362 is data managed by the preprocessing function management module 311 and has a plurality of preprocessing function information. Each piece of preprocessing function information has an IDP identifier that identifies an IDP and a preprocessing URL that provides a preprocessing function required prior to SSO mapping with the IDP. Here, for IDP-A400 and IDP-A-TRIAL, the screen in the mapping server 300 has a pre-processing function. This is the case, for example, when the user inputs the IDP-A 400 ID and password from the screen of the mapping server 300. At this time, the mapping server 300 calls an API such as WebService provided by the IDP-A 400 based on the user's input, receives authentication, and receives an authentication session. Here, regarding IDP-C420, it shows that the screen of IDP-C420 has a preprocessing function. This corresponds to a case where the user is once redirected to the authorization screen provided by the IDP-C 420, such as OAuth, and the mapping server 300 receives the evidence authorized by the user via the browser operated by the user. In any case, a device having a preprocessing function can be designated by the preprocessing URL.

<IDP一覧表示および前処理>
図8は本実施の第2の形態に係る、前処理も含むSSOマッピングのための機能の一覧表示および各SSOマッピング機能への振り分けフローである。
<IDP list display and preprocessing>
FIG. 8 shows a list of functions for SSO mapping including pre-processing and a distribution flow to each SSO mapping function according to the second embodiment.

図8Aは本実施の第2の形態に係る、前処理も含むSSOマッピングのための機能の一覧表示のフローである。ユーザーがマッピングサーバー300にアクセスすると、そのユーザーが利用可能なIDPが、それぞれ対応した前処理機能の提供画面への遷移ボタンとともに一覧表示される。   FIG. 8A is a flowchart for displaying a list of functions for SSO mapping including preprocessing according to the second embodiment. When a user accesses the mapping server 300, IDPs that can be used by the user are displayed in a list together with a transition button to a corresponding preprocessing function providing screen.

ステップS1001からステップS1004までは、第1の実施の形態と共通のため、説明を省略する。ステップS1004が完了すると、フローはステップS2001に遷移する。   Steps S1001 to S1004 are the same as those in the first embodiment, and a description thereof will be omitted. When step S1004 is completed, the flow moves to step S2001.

ステップS2001でマッピングサーバー300は、ステップS1004で取り出したマッピング機能情報を確認し、マッピングサーバー300がSSOマッピングを管理しているか判断する。判断の結果、マッピングサーバー300がSSOマッピングを管理するのであればステップS2002に遷移する。マッピングサーバー300がSSOマッピングを管理しないのであれば、そのIDPに関する処理を終了し、ステップS1002に遷移する。たとえばステップS1004で取り出したマッピング機能情報がIDP−A400に関するものであった場合、IDP−A400はマッピングサーバー300がSSOマッピングを管理するため、ステップS2002に遷移する。   In step S2001, the mapping server 300 confirms the mapping function information extracted in step S1004, and determines whether the mapping server 300 manages SSO mapping. As a result of the determination, if the mapping server 300 manages SSO mapping, the process proceeds to step S2002. If the mapping server 300 does not manage SSO mapping, the process related to the IDP is terminated, and the process proceeds to step S1002. For example, if the mapping function information extracted in step S1004 relates to IDP-A 400, IDP-A 400 transitions to step S2002 because mapping server 300 manages SSO mapping.

ステップS2002でマッピングサーバー300は、前処理機能管理モジュール311から、前処理機能を提供する画面のURLを取り出す。   In step S2002, the mapping server 300 extracts the URL of the screen that provides the preprocessing function from the preprocessing function management module 311.

ステップS2003でマッピングサーバー300は、ステップS2002で取り出したURLを、ステップS1003で取り出したIDPの識別子とともに、画面表示させる。以上でそのIDPに関する処理を終了し、ステップS1002に遷移する。   In step S2003, the mapping server 300 displays the URL extracted in step S2002 on the screen together with the IDP identifier extracted in step S1003. The process related to the IDP is thus completed, and the process proceeds to step S1002.

図8Aのフローが完了した際に画面に表示されるのは、例えば図14Aに示されるようなIDP一覧表示画面510である。   When the flow of FIG. 8A is completed, what is displayed on the screen is an IDP list display screen 510 as shown in FIG. 14A, for example.

図8Bは本実施の第2の形態に係る、各前処理機能への振り分けフローである。図8Aで表示された、それぞれのIDPに対応した前処理機能を提供するURLへの遷移ボタンをユーザーが押下すると、本フローが開始される。   FIG. 8B is a distribution flow to each preprocessing function according to the second exemplary embodiment. When the user presses a transition button to a URL that provides a preprocessing function corresponding to each IDP displayed in FIG. 8A, this flow is started.

ステップS2101でマッピングサーバー300は、IDPに対応した前処理機能を提供するURLへの遷移ボタンの押下を受け付ける。   In step S2101, the mapping server 300 accepts pressing of a transition button to a URL that provides a preprocessing function corresponding to IDP.

ステップS2102でマッピングサーバー300は、ステップS2101で押下されたボタンに紐付けられたURLが、マッピングサーバー側のURLか、IDP側のURLか判断する。判断の結果、マッピングサーバー側のURLであれば、マッピングサーバー300が前処理機能を提供するためにステップS2103に遷移する。またIDP側のURLであれば、IDPの前処理機能を利用するためにステップS2150に遷移する。   In step S2102, the mapping server 300 determines whether the URL associated with the button pressed in step S2101 is the URL on the mapping server side or the URL on the IDP side. As a result of the determination, if the URL is on the mapping server side, the mapping server 300 transitions to step S2103 in order to provide a pre-processing function. If the URL is on the IDP side, the process proceeds to step S2150 to use the IDP preprocessing function.

ステップS2103でマッピングサーバー300は、マッピングサーバー側で前処理機能を提供するために、ステップS2101で押下されたボタンに紐付けられたURLにユーザーのアクセスをリダイレクトさせる。   In step S2103, the mapping server 300 redirects the user access to the URL associated with the button pressed in step S2101 in order to provide the preprocessing function on the mapping server side.

ステップS2104でマッピングサーバー300の前処理機能提供モジュール312は、前処理を実施し、IDPの認証セッションを受け取る。   In step S2104, the preprocessing function providing module 312 of the mapping server 300 performs preprocessing and receives an IDP authentication session.

ステップS2105でマッピングサーバー300は、マッピング機能管理モジュール301から、ステップS2104で前処理を行ったIDPに対応するマッピング機能情報を取り出す。   In step S2105, the mapping server 300 extracts the mapping function information corresponding to the IDP preprocessed in step S2104 from the mapping function management module 301.

ステップS2106でマッピングサーバー300は、ステップS2105で取り出したマッピング機能情報から、マッピング機能を提供するURLを取り出す。   In step S2106, the mapping server 300 extracts a URL that provides the mapping function from the mapping function information extracted in step S2105.

ステップS2107でマッピングサーバー300は、ステップS2106で取り出したURLに対して、ユーザーのアクセスをリダイレクトさせる。   In step S2107, the mapping server 300 redirects user access to the URL extracted in step S2106.

ステップS2108でマッピングサーバー300は、ステップS2107のリダイレクトを受け、ステップS2104の前処理で取得した認証セッションを用いて、IDPのAPIを呼び出す。   In step S2108, the mapping server 300 receives the redirect in step S2107 and calls the IDP API using the authentication session acquired in the preprocessing in step S2104.

ステップS2109でマッピングサーバー300のマッピング機能提供モジュール302は、ステップS2108のAPI呼び出しに対して返された値を用いて、SSOマッピングを生成する。その際、図13Bに示されるような画面を表示させ、ユーザーから、SSOマッピングの設定に関するファイルのアップロードを受け付けてもよい。ステップS2109でSSOマッピングの生成が完了すると、フローを終了する。   In step S2109, the mapping function providing module 302 of the mapping server 300 generates an SSO mapping using the value returned for the API call in step S2108. At that time, a screen as shown in FIG. 13B may be displayed to accept a file upload related to the SSO mapping setting from the user. When the generation of the SSO mapping is completed in step S2109, the flow ends.

ステップS2150でマッピングサーバー300は、IDPの前処理機能を利用するために、ステップS2101で押下されたボタンに紐付けられたURLにユーザーのアクセスをリダイレクトさせてフローを終了する。   In step S2150, in order to use the IDP pre-processing function, the mapping server 300 redirects the user access to the URL associated with the button pressed in step S2101 and ends the flow.

<前処理手順の例>
図9は本実施の第2の形態に係る、前処理の例およびSSOマッピング機能のフローである。図9Aは本実施の第2の形態に係る、マッピングサーバー300におけるIDPに対応した前処理の例である。このフローは図8BのステップS2104の詳細なフローである。この例で前処理機能提供モジュール312は、ユーザーに、IDPにログインするためのIDとパスワードの入力を求める。またユーザーに入力されたIDとパスワードを用いてIDPの認証を受け、認証セッションを受け取る。
<Example of pre-processing procedure>
FIG. 9 is a flow of an example of preprocessing and an SSO mapping function according to the second embodiment. FIG. 9A is an example of preprocessing corresponding to IDP in the mapping server 300 according to the second embodiment. This flow is a detailed flow of step S2104 in FIG. 8B. In this example, the preprocessing function providing module 312 requests the user to input an ID and a password for logging in to the IDP. In addition, IDP authentication is performed using the ID and password input by the user, and an authentication session is received.

ステップS2201で前処理機能提供モジュール312は、図14Bに示されるような第1の前処理機能提供画面511を表示させ、IDPにログインするためのIDとパスワードの入力を受け付ける。   In step S2201, the preprocessing function provision module 312 displays a first preprocessing function provision screen 511 as shown in FIG. 14B and accepts input of an ID and a password for logging in to the IDP.

ステップS2202で前処理機能提供モジュール312は、ステップS2201で受け付けたIDとパスワードを用いて、IDPにアクセスする。   In step S2202, the preprocessing function providing module 312 accesses the IDP using the ID and password received in step S2201.

ステップS2203で前処理機能提供モジュール312は、IDPの認証を受け、ステップS2202におけるIDPへのアクセスの応答として認証セッションを受け取る。認証セッションを受け取ると本フローは終了する。   In step S2203, the preprocessing function providing module 312 receives IDP authentication, and receives an authentication session as a response to access to the IDP in step S2202. When the authentication session is received, this flow ends.

図9Bは本実施の第2の形態に係る、IDP側の前処理の例である。このフローは、IDPが、図8BのステップS2150でリダイレクトされたユーザーのアクセスを受けることで開始される。この例では、リダイレクトを受けるIDPはIDP−C420であるとする。またIDP−C420では、OAuthの認可の仕組みが利用可能であるとする。   FIG. 9B is an example of IDP-side preprocessing according to the second embodiment. This flow starts when the IDP receives the access of the user redirected in step S2150 of FIG. 8B. In this example, it is assumed that the IDP that receives the redirect is IDP-C420. In IDP-C420, it is assumed that an OAuth authorization mechanism can be used.

ステップS2301でIDP−C420は、マッピングサーバー300からリダイレクトされたユーザーのアクセスを受け付ける。   In step S2301, the IDP-C 420 receives the redirected user access from the mapping server 300.

ステップS2302でIDP−C420は、ステップS2301で受け付けたアクセスの認証を行う。ここで例えば、IDP−C420は、ユーザーに対してIDとパスワードの入力を求めてもよい。   In step S2302, the IDP-C 420 authenticates the access accepted in step S2301. Here, for example, the IDP-C 420 may require the user to input an ID and password.

ステップS2303でIDP−C420は、ステップS2302の認証が成功したか判断する。認証に成功していたらステップS2304に遷移する。また認証に失敗していたらステップS2350に遷移する。   In step S2303, the IDP-C 420 determines whether the authentication in step S2302 is successful. If the authentication is successful, the process proceeds to step S2304. If the authentication fails, the process proceeds to step S2350.

ステップS2304でIDP−C420は、マッピングサーバー300によるSSOマッピングの実施を許可するかを問う画面を表示させ、ユーザーの許可を求める。ここで表示される画面は、例えば図14Cに示されるような第2の前処理機能提供画面512であってもよい。   In step S2304, the IDP-C 420 displays a screen asking whether to allow the mapping server 300 to perform the SSO mapping, and requests permission from the user. The screen displayed here may be, for example, a second preprocessing function provision screen 512 as shown in FIG. 14C.

ステップS2305でIDP−C420は、ステップS2304でユーザーの許可を得られたか判断する。ユーザーの許可が得られていた場合にはステップS2306に遷移する。またユーザーの許可が得られていなかった場合にはステップS2350に遷移する。   In step S2305, the IDP-C 420 determines whether the user permission has been obtained in step S2304. If the user permission has been obtained, the process proceeds to step S2306. If the user's permission has not been obtained, the process proceeds to step S2350.

ステップS2306でIDP−C420は、認可トークンを生成し、ユーザーのアクセスをマッピングサーバー300にリダイレクトさせる。このときリダイレクトは認可トークンを含み、認可トークンはユーザーが操作するクライアントを介してマッピングサーバー300に返される。なおここでリダイレクト先のURLは、マッピングサーバー300がマッピング機能を提供するURLであるとする。ユーザーのアクセスをマッピングサーバー300にリダイレクトさせると本フローは終了する。   In step S2306, the IDP-C 420 generates an authorization token and redirects the user access to the mapping server 300. At this time, the redirect includes an authorization token, and the authorization token is returned to the mapping server 300 via the client operated by the user. Here, it is assumed that the redirect destination URL is a URL that the mapping server 300 provides a mapping function. When the user's access is redirected to the mapping server 300, this flow ends.

ステップS2350でIDP−C420は、ユーザーからのアクセスをマッピングサーバー300にリダイレクトさせる。またこのとき、リダイレクトはユーザーが操作するクライアントを介して行われ、リダイレクトには前処理が失敗したことを示す情報が含まれる。ユーザーのアクセスをマッピングサーバー300にリダイレクトさせると本フローは終了する。   In step S2350, the IDP-C 420 redirects access from the user to the mapping server 300. At this time, the redirection is performed via a client operated by the user, and the redirection includes information indicating that the preprocessing has failed. When the user's access is redirected to the mapping server 300, this flow ends.

図9Cは本実施の第2の形態に係る、IDP側の前処理後のマッピングサーバー300における処理のフローの例である。このフローはマッピングサーバー300が、図9BのステップS2306でリダイレクトされたユーザーのアクセスを受けることで開始される。   FIG. 9C is an example of a processing flow in the mapping server 300 after the preprocessing on the IDP side according to the second embodiment. This flow is started when the mapping server 300 receives the access of the user redirected in step S2306 of FIG. 9B.

ステップS2401でマッピングサーバー300は、マッピング機能を提供するURLへのリダイレクトを、IDPから受け付ける。   In step S2401, the mapping server 300 receives a redirect to the URL that provides the mapping function from the IDP.

ステップS2402でマッピングサーバー300は、ステップS2401で受け付けたリダイレクトに含まれる認可トークンを取り出す。   In step S2402, the mapping server 300 takes out the authorization token included in the redirect accepted in step S2401.

ステップS2403でマッピングサーバー300は、ステップS2402で取り出した認可トークンを用いて、IDPのAPIを呼び出す。   In step S2403, the mapping server 300 calls the API of IDP using the authorization token extracted in step S2402.

ステップS2404でマッピングサーバー300のマッピング機能提供モジュール302は、ステップS2403の応答としてIDPのAPIから返された値を用いて、SSOマッピングを生成する。その際、IDPに対応したマッピング機能情報からSSOマッピング画面URLを取り出し、そのURLで特定される図13Bに示されるような画面を表示させ、ユーザーから、SSOマッピングの設定に関するファイルのアップロードを受け付けてもよい。ステップS2404でSSOマッピングの生成が完了すると、フローを終了する。   In step S2404, the mapping function providing module 302 of the mapping server 300 generates an SSO mapping by using the value returned from the IDP API as a response in step S2403. At that time, the SSO mapping screen URL is extracted from the mapping function information corresponding to the IDP, the screen as shown in FIG. 13B specified by the URL is displayed, and the upload of the file related to the SSO mapping setting is accepted from the user. Also good. When the generation of the SSO mapping is completed in step S2404, the flow ends.

<第2実施形態の表示画面の例>
図14は本実施の第2の形態に係る、画面例である。図14AはIDP一覧表示画面の例を示す。ここでIDP一覧表示画面510には、IDP−A400、IDP−A−TRIAL、IDP−B410およびIDP−Cの4つのIDPが表示されている。またそれらのIDPの内で、IDP−A400、IDP−A−TRIALおよびIDP−Cに関しては、SSOマッピングの前処理機能を提供するURLへの遷移ボタンも表示されている。
<Example of Display Screen of Second Embodiment>
FIG. 14 shows an example of a screen according to the second embodiment. FIG. 14A shows an example of an IDP list display screen. Here, the IDP list display screen 510 displays four IDPs of IDP-A400, IDP-A-TRIAL, IDP-B410, and IDP-C. Among these IDPs, for IDP-A400, IDP-A-TRIAL, and IDP-C, a transition button to a URL that provides a pre-processing function for SSO mapping is also displayed.

図14Bは前処理機能提供画面の1つ目の例を示す。ここで第1の前処理機能提供画面511は、ユーザーから、IDPにログインするためのIDおよびパスワードの入力を受け付ける。また入力されたIDおよびパスワードに従い、前処理機能提供モジュール312がIDPの認証受け、認証セッションを受け取る。   FIG. 14B shows a first example of the preprocessing function provision screen. Here, the first preprocessing function provision screen 511 accepts input of an ID and a password for logging in to the IDP from the user. Further, according to the input ID and password, the preprocessing function providing module 312 receives IDP authentication and receives an authentication session.

図14Cは前処理機能提供画面の2つ目の例を示す。ここで第2の前処理機能提供画面512はOAuthにおける認可の画面であり、ユーザーに対して、マッピングサーバー300によるSSOマッピングを許可するかを問う。ここでユーザーが「許可」ボタンを押下すると、OAuthに従い、認可トークンが発行される。また発行された認可トークンはマッピングサーバー300に渡される。   FIG. 14C shows a second example of the preprocessing function provision screen. Here, the second pre-processing function provision screen 512 is an authorization screen in OAuth, and asks the user whether to permit SSO mapping by the mapping server 300. Here, when the user presses the “permit” button, an authorization token is issued according to OAuth. The issued authorization token is passed to the mapping server 300.

以上のように、IDPごとに、マッピング機能のみならず前処理についてもあらかじめ定めた処理を実行させることが可能となる。本実施の第2の形態によれば、IDPごとに適当な方式で前処理を実施した上で、SSOマッピングを実施する際にIDPのAPIを呼ぶことが可能となる。そのためIDPごとのポリシーによって、IDとパスワードによる認証が求められる場合や、OAuthの認可の仕組みを利用する場合でも、適切な前処理が実施できる。     As described above, for each IDP, it is possible to execute predetermined processing not only for the mapping function but also for the preprocessing. According to the second embodiment, it is possible to call an IDP API when performing SSO mapping after performing preprocessing for each IDP in an appropriate manner. Therefore, appropriate preprocessing can be performed even when authentication by ID and password is required according to a policy for each IDP, or when an OAuth authorization mechanism is used.

[第3の実施形態]
次に、本発明を実施するための第3の形態について図面を用いて説明する。なお第1の実施の形態および第2の実施の形態と共通の部分については説明を省略し、以下では差異部分のみ説明する。
[Third Embodiment]
Next, a third embodiment for carrying out the present invention will be described with reference to the drawings. In addition, description is abbreviate | omitted about the part which is common in 1st Embodiment and 2nd Embodiment, and only a different part is demonstrated below.

図10は本実施の第3の形態に係る、マッピングサーバー300のモジュール構成図である。マッピングサーバー300はマッピング機能管理モジュール301、マッピング機能提供モジュール302、利用IDP管理モジュール303から構成される。また前処理機能提供モジュール312、および第2の前処理機能管理モジュール321を持つ。第2の前処理管理モジュール321は第2の前処理機能一覧370を持ち、1つのIDPに対して複数の前処理URLを記憶することができる。またユーザーに対してそれら複数の前処理URLを提示することで、ユーザーが望む前処理URLを選択および利用できるようにする。   FIG. 10 is a module configuration diagram of the mapping server 300 according to the third embodiment. The mapping server 300 includes a mapping function management module 301, a mapping function providing module 302, and a usage IDP management module 303. Further, it has a preprocessing function providing module 312 and a second preprocessing function management module 321. The second preprocessing management module 321 has a second preprocessing function list 370 and can store a plurality of preprocessing URLs for one IDP. In addition, by presenting the plurality of preprocessing URLs to the user, the user can select and use the preprocessing URL desired by the user.

図11は本実施の第3の形態に係る、第2の前処理機能一覧のデータ例である。第2の前処理機能一覧370は第2の前処理機能管理モジュール321が管理するデータである。ここで第2の前処理機能一覧370は複数の第2の前処理機能情報を持つ。また個々の第2の前処理機能情報は、IDPを特定するIDP識別子と、そのIDPとのSSOマッピングに先立ち必要な前処理機能が提供される前処理URLと、さらに前処理の種別を表す前処理種別を持つ。   FIG. 11 is a data example of the second preprocessing function list according to the third embodiment. The second preprocessing function list 370 is data managed by the second preprocessing function management module 321. Here, the second preprocessing function list 370 has a plurality of pieces of second preprocessing function information. Each of the second pre-processing function information includes an IDP identifier that identifies the IDP, a pre-processing URL that provides a pre-processing function required prior to SSO mapping with the IDP, and a pre-processing type that represents the type of pre-processing. Has processing type.

ここでは、IDP−A400についてはマッピングサーバー300内の画面が前処理機能を持つとともに、IDP−A400の画面が前処理機能を持つことを示す。これは例えば、図14Bに示されるようなIDとパスワードを入力する前処理機能と、図14Cに示されるようなOAuthによる前処理機能とが提供され、ユーザーがいずれかを選択できる場合を示す。   Here, for the IDP-A 400, the screen in the mapping server 300 has a pre-processing function, and the IDP-A 400 screen has a pre-processing function. For example, a pre-processing function for inputting an ID and a password as shown in FIG. 14B and a pre-processing function by OAuth as shown in FIG. 14C are provided, and the user can select one of them.

図12は本実施の第3の形態に係る、マッピング機能の一覧表示のフローである。ユーザーがマッピングサーバー300にアクセスすると、そのユーザーが利用可能なIDPが、それぞれ対応した前処理機能の提供画面への遷移ボタンとともに一覧表示される。   FIG. 12 is a flowchart for displaying a list of mapping functions according to the third embodiment. When a user accesses the mapping server 300, IDPs that can be used by the user are displayed in a list together with a transition button to a corresponding preprocessing function providing screen.

ステップS1001からステップS1004までは、第1の実施の形態と共通のため、説明を省略する。ステップS1004が完了すると、フローはステップS3001に遷移する。   Steps S1001 to S1004 are the same as those in the first embodiment, and a description thereof will be omitted. When step S1004 is completed, the flow moves to step S3001.

ステップS3001でマッピングサーバー300は、ステップS1004で取り出したマッピング機能情報を確認し、マッピングサーバー300がSSOマッピングを管理しているか判断する。判断の結果、マッピングサーバー300がSSOマッピングを管理するのであればステップS3002に遷移する。マッピングサーバー300がSSOマッピングを管理しないのであれば、そのIDPに関する処理を終了し、ステップS1002に遷移する。たとえばステップS1004で取り出したマッピング機能情報がIDP−A400に関するものであった場合、IDP−A400はマッピングサーバー300がSSOマッピングを管理するため、ステップS3002に遷移する。   In step S3001, the mapping server 300 confirms the mapping function information extracted in step S1004, and determines whether the mapping server 300 manages SSO mapping. As a result of the determination, if the mapping server 300 manages SSO mapping, the process proceeds to step S3002. If the mapping server 300 does not manage SSO mapping, the process related to the IDP is terminated, and the process proceeds to step S1002. For example, if the mapping function information extracted in step S1004 relates to IDP-A 400, IDP-A 400 transitions to step S3002 because mapping server 300 manages SSO mapping.

ステップS3002でマッピングサーバー300は、第2の前処理機能管理モジュール321から、処理中のIDPに対応するすべての第2の前処理機能情報を取り出す。たとえばここで処理中のIDPがIDP−A400であったとすると、取り出される第2の前処理情報は、前処理種別が「ID / Password」のものと「OAuth」のものの2つである。   In step S3002, the mapping server 300 extracts all second pre-processing function information corresponding to the IDP being processed from the second pre-processing function management module 321. For example, if the IDP being processed here is IDP-A400, the two pieces of second preprocessing information to be extracted are those with the preprocessing type “ID / Password” and “OAuth”.

ステップS3003でマッピングサーバー300は、ステップS3002で取り出したすべての第2の前処理機能情報から、それぞれの前処理機能を提供するURLと前処理種別を取り出す。   In step S3003, the mapping server 300 extracts URLs and preprocessing types that provide the respective preprocessing functions from all the second preprocessing function information extracted in step S3002.

ステップS3004でマッピングサーバー300は、ステップS3003で取り出した前処理機能を提供するURLのそれぞれに対し、対応する遷移ボタンを画面表示させる。またそれぞれのボタンは、対応するIDPの識別子と、さらに前処理種別を表す文言とともに表示される。以上でそのIDPに関する処理を終了し、ステップS1002に遷移する。   In step S3004, the mapping server 300 displays a corresponding transition button on the screen for each URL that provides the preprocessing function extracted in step S3003. Each button is displayed together with a corresponding IDP identifier and a word indicating a preprocessing type. The process related to the IDP is thus completed, and the process proceeds to step S1002.

図12のフローが完了した際に画面に表示されるのは、例えば図15に示されるようなIDP一覧表示画面520である。   When the flow of FIG. 12 is completed, an IDP list display screen 520 as shown in FIG. 15 is displayed on the screen, for example.

図15は本実施の第3の形態に係る、IDP一覧表示画面の例を示す。ここでIDP一覧表示画面520には、IDP−A400、IDP−A−TRIAL、IDP−B410およびIDP−Cの4つのIDPが表示されている。またそれらのIDPの内で、IDP−A400に関しては、IDとパスワードによる前処理機能の画面への遷移ボタンと、OAuthによる前処理機能の画面への遷移ボタンの、2つの遷移ボタンが表示されている。   FIG. 15 shows an example of an IDP list display screen according to the third embodiment. Here, on the IDP list display screen 520, four IDPs of IDP-A400, IDP-A-TRIAL, IDP-B410, and IDP-C are displayed. Among these IDPs, for IDP-A400, two transition buttons are displayed: a transition button to the pre-processing function screen by ID and password and a transition button to the pre-processing function screen by OAuth. Yes.

IDP一覧表示画面520が表示されたときにユーザーは、IDP−Aに対するSSOマッピングを実施する際に、IDとパスワードによる前処理とOAuthによる前処理の、2つの前処理の内で、自らの望む前処理でSSOマッピングを実施することができる。   When the IDP list display screen 520 is displayed, when the user performs SSO mapping with respect to IDP-A, the user desires among the two pre-processes of the pre-process using ID and password and the pre-process using OAuth. SSO mapping can be performed in the preprocessing.

本実施の第3の形態によれば、同一のIDPで複数の前処理が利用可能な場合に、ユーザーの選択に従い、SSOマッピング時の前処理を実施することができるようになる。
<その他の実施形態>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
According to the third embodiment, when a plurality of preprocessing can be used with the same IDP, the preprocessing at the time of SSO mapping can be performed according to the user's selection.
<Other embodiments>
The present invention can also be realized by executing the following processing. That is, software (program) that realizes the functions of the above-described embodiments is supplied to a system or apparatus via a network or various storage media, and a computer (or CPU, MPU, etc.) of the system or apparatus reads the program. It is a process to be executed.

Claims (9)

認証サーバーがユーザーを認証したことを示すユーザー認証情報を、他のサーバーにおける前記ユーザーのユーザーIDと関連付けて当該サーバーへのアクセスを許すシングルサインオンシステムにおいて、ユーザーIDを関連付けたマッピング情報を提供するマッピングサーバーであって、
前記ユーザーIDの関連付けを行うマッピング機能を、各認証サーバーに関連付けて登録したマッピング機能情報と、
前記マッピング機能情報を参照して、前記マッピング機能に関連付けられた認証サーバーの選択を受け付ける受け付け手段と、
前記選択された認証サーバーに関連付けられたマッピング機能に応じた処理を実行して前記マッピング情報を構成する実行手段と
を有することを特徴とするマッピングサーバー。
Mapping information associated with a user ID is provided in a single sign-on system that allows access to the server by associating user authentication information indicating that the authentication server has authenticated the user with the user ID of the user in another server. A mapping server,
Mapping function information for associating the user ID with the mapping function information registered in association with each authentication server;
A receiving unit that refers to the mapping function information and receives a selection of an authentication server associated with the mapping function;
A mapping server comprising: an execution unit configured to execute the process according to the mapping function associated with the selected authentication server to configure the mapping information.
前記受け付け手段は、前記マッピング機能情報を参照して、前記認証サーバーの識別子と、認証サーバーごとに関連付けられたマッピング機能へのリンクを埋め込んだオブジェクトとを関連付けて、前記マッピングサーバーへアクセスしているクライアントにユーザーインターフェースとして表示させることを特徴とする請求項1に記載のマッピングサーバー。   The accepting unit accesses the mapping server by referring to the mapping function information and associating the identifier of the authentication server with an object embedded with a link to the mapping function associated with each authentication server. The mapping server according to claim 1, wherein the mapping server is displayed as a user interface on a client. 前記マッピング機能を実行する前に行うべき前処理を、前記認証サーバーごとに関連付けて登録した前処理機能情報をさらに有し、
前記実行手段は、前記前処理機能情報を参照して、前記選択された認証サーバーに関連付けられた前処理機能が前記認証サーバーにより実行される場合には、当該前処理機能を実行し、さらに前記選択された認証サーバーに関連付けられたマッピング機能に応じた処理を実行して前記マッピング情報を構成することを特徴とする請求項1または2に記載のマッピングサーバー。
Pre-processing function information registered in association with each authentication server, pre-processing to be performed before executing the mapping function,
The execution means refers to the preprocessing function information, and when the preprocessing function associated with the selected authentication server is executed by the authentication server, executes the preprocessing function. The mapping server according to claim 1, wherein the mapping information is configured by executing a process according to a mapping function associated with the selected authentication server.
前記実行手段は、前記選択された認証サーバーに関連付けられた前処理機能が前記認証サーバーにより実行される場合には、前記認証サーバーにより前処理を実行させ、該前処理の結果を取得して、前記選択された認証サーバーに関連付けられたマッピング機能に応じた処理を実行して前記マッピング情報を構成することを特徴とする請求項3に記載のマッピングサーバー。   When the preprocessing function associated with the selected authentication server is executed by the authentication server, the execution means causes the authentication server to execute preprocessing, and obtains a result of the preprocessing, The mapping server according to claim 3, wherein the mapping information is configured by executing processing according to a mapping function associated with the selected authentication server. 前記前処理機能は、前記マッピングサーバーによるマッピングの実行に対するユーザーによる許可を、前記認証サーバーを介して受ける機能であり、前記前処理の結果は、認可トークンとして受け取ることを特徴とする請求項4に記載のマッピングサーバー。   5. The preprocessing function is a function of receiving a user permission for execution of mapping by the mapping server through the authentication server, and the result of the preprocessing is received as an authorization token. The listed mapping server. 前記マッピング情報はエンティティIDを持つエンティティ単位で管理され、前記ユーザーIDはユーザーが属するテナントごとに管理され、
前記実行手段は、選択された認証サーバーに応じて、ひとつのエンティティIDについて、関連付けられるユーザーIDが複数のテナントにわたっていないことチェックするマッピング機能と、互いに関連付けられるユーザーIDを、中間的なIDを介して関連付けたマッピング情報を生成するマッピング機能とを含むことを特徴とする請求項1乃至5のいずれか一項に記載のマッピングサーバー。
The mapping information is managed in units of entities having entity IDs, and the user ID is managed for each tenant to which a user belongs,
The execution means includes a mapping function for checking that the associated user ID does not exist for a plurality of tenants for one entity ID according to the selected authentication server, and the user ID associated with each other via an intermediate ID. The mapping server according to claim 1, further comprising a mapping function that generates mapping information associated with each other.
請求項1乃至6のいずれか一項に記載のマッピングサーバーと、前記認証サーバーと、そのほかのサーバーとを含むシングルサインオンシステム。   A single sign-on system comprising the mapping server according to any one of claims 1 to 6, the authentication server, and another server. 認証サーバーがユーザーを認証したことを示すユーザー認証情報を、他のサーバーにおける前記ユーザーのユーザーIDと関連付けて当該サーバーへのアクセスを許すシングルサインオンシステムにおいて、ユーザーIDを関連付けたマッピング情報を提供するマッピングサーバーとしてコンピュータを機能させるためのプログラムであって、
前記ユーザーIDの関連付けを行うマッピング機能を、各認証サーバーに関連付けて登録したマッピング機能情報を格納する手段と、
前記マッピング機能情報を参照して、前記マッピング機能に関連付けられた認証サーバーの選択を受け付ける受け付け手段と、
前記選択された認証サーバーに関連付けられたマッピング機能に応じた処理を実行して前記マッピング情報を構成する実行手段と
してコンピュータを機能させるためのプログラム。
Mapping information associated with a user ID is provided in a single sign-on system that allows access to the server by associating user authentication information indicating that the authentication server has authenticated the user with the user ID of the user in another server. A program for causing a computer to function as a mapping server,
Means for storing mapping function information for associating the mapping function for associating the user ID with each authentication server;
A receiving unit that refers to the mapping function information and receives a selection of an authentication server associated with the mapping function;
A program for causing a computer to function as an execution unit that executes processing according to a mapping function associated with the selected authentication server to configure the mapping information.
認証サーバーがユーザーを認証したことを示すユーザー認証情報を、他のサーバーにおける前記ユーザーのユーザーIDと関連付けて当該サーバーへのアクセスを許すシングルサインオンシステムにおいて、ユーザーIDを関連付けたマッピング情報を提供するマッピングサーバーにより実行されるマッピング機能提供方法であって、
前記ユーザーIDの関連付けを行うマッピング機能を、各認証サーバーに関連付けて登録したマッピング機能情報を参照して、前記マッピング機能に関連付けられた認証サーバーの選択を受け付ける受け付け工程と、
前記選択された認証サーバーに関連付けられたマッピング機能に応じた処理を実行して前記マッピング情報を構成する実行工程と
を有することを特徴とするマッピング機能提供方法。
Mapping information associated with a user ID is provided in a single sign-on system that allows access to the server by associating user authentication information indicating that the authentication server has authenticated the user with the user ID of the user in another server. A mapping function providing method executed by a mapping server,
A receiving step of accepting a selection of an authentication server associated with the mapping function with reference to mapping function information registered in association with each authentication server, mapping function for associating the user ID;
A mapping function providing method comprising: executing a process according to a mapping function associated with the selected authentication server to configure the mapping information.
JP2012126544A 2012-06-01 2012-06-01 Mapping server and single sign-on system, mapping function providing method Expired - Fee Related JP5955106B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012126544A JP5955106B2 (en) 2012-06-01 2012-06-01 Mapping server and single sign-on system, mapping function providing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012126544A JP5955106B2 (en) 2012-06-01 2012-06-01 Mapping server and single sign-on system, mapping function providing method

Publications (2)

Publication Number Publication Date
JP2013250894A true JP2013250894A (en) 2013-12-12
JP5955106B2 JP5955106B2 (en) 2016-07-20

Family

ID=49849471

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012126544A Expired - Fee Related JP5955106B2 (en) 2012-06-01 2012-06-01 Mapping server and single sign-on system, mapping function providing method

Country Status (1)

Country Link
JP (1) JP5955106B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016045633A (en) * 2014-08-21 2016-04-04 日本電信電話株式会社 Id provider recommendation apparatus, id recommendation system, and id provider recommendation method
WO2016166856A1 (en) * 2015-04-15 2016-10-20 株式会社日立システムズ Single sign-on system and single sign-on method
JP2019526868A (en) * 2016-09-14 2019-09-19 オラクル・インターナショナル・コーポレイション Single sign-on and single logout capabilities for multi-tenant identity and data security management cloud services

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009541817A (en) * 2006-03-22 2009-11-26 アリババ グループ ホールディング リミテッド Single sign-on between systems
WO2010110182A1 (en) * 2009-03-24 2010-09-30 日本電気株式会社 Mediation device, mediation method, program, and mediation system
JP2011191882A (en) * 2010-03-12 2011-09-29 Hitachi Ltd Id bridge service system and method for the same
JP2012014536A (en) * 2010-07-02 2012-01-19 Mitsubishi Electric Corp Authentication system, authentication base device, and authentication program

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009541817A (en) * 2006-03-22 2009-11-26 アリババ グループ ホールディング リミテッド Single sign-on between systems
WO2010110182A1 (en) * 2009-03-24 2010-09-30 日本電気株式会社 Mediation device, mediation method, program, and mediation system
JP2011191882A (en) * 2010-03-12 2011-09-29 Hitachi Ltd Id bridge service system and method for the same
JP2012014536A (en) * 2010-07-02 2012-01-19 Mitsubishi Electric Corp Authentication system, authentication base device, and authentication program

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016045633A (en) * 2014-08-21 2016-04-04 日本電信電話株式会社 Id provider recommendation apparatus, id recommendation system, and id provider recommendation method
WO2016166856A1 (en) * 2015-04-15 2016-10-20 株式会社日立システムズ Single sign-on system and single sign-on method
JPWO2016166856A1 (en) * 2015-04-15 2017-12-28 株式会社日立システムズ Single sign-on system and single sign-on method
US10476733B2 (en) 2015-04-15 2019-11-12 Hitachi Systems, Ltd. Single sign-on system and single sign-on method
JP2019526868A (en) * 2016-09-14 2019-09-19 オラクル・インターナショナル・コーポレイション Single sign-on and single logout capabilities for multi-tenant identity and data security management cloud services
JP2019164794A (en) * 2016-09-14 2019-09-26 オラクル・インターナショナル・コーポレイション Single sign-on and single log-out function for multi-tenant identity and data security management cloud service
JP6998912B2 (en) 2016-09-14 2022-01-18 オラクル・インターナショナル・コーポレイション Single sign-on and single logout capabilities for multi-tenant identity and data security management cloud services

Also Published As

Publication number Publication date
JP5955106B2 (en) 2016-07-20

Similar Documents

Publication Publication Date Title
JP5614340B2 (en) System, authentication information management method, and program
US7860882B2 (en) Method and system for distributed retrieval of data objects using tagged artifacts within federated protocol operations
JP4551369B2 (en) Service system and service system control method
US7860883B2 (en) Method and system for distributed retrieval of data objects within multi-protocol profiles in federated environments
US8015301B2 (en) Policy and attribute based access to a resource
US8418234B2 (en) Authentication of a principal in a federation
US20030226036A1 (en) Method and apparatus for single sign-on authentication
US8522333B2 (en) Client/server system for communicating according to the standard protocol OPC UA and having single sign-on mechanisms for authenticating, and method for performing single sign-on in such a system
US20080021866A1 (en) Method and system for implementing a floating identity provider model across data centers
CN111786969B (en) Single sign-on method, device and system
US9077708B2 (en) Information processing system, control method for controlling the information processing system, and storage medium
CN110519296A (en) A kind of single-sign-on of isomery web system and publish method
CN112039873A (en) Method for accessing business system by single sign-on
JP5955106B2 (en) Mapping server and single sign-on system, mapping function providing method
US9027107B2 (en) Information processing system, control method thereof, and storage medium thereof
JP6041537B2 (en) System, control method and program
JP2009205223A (en) In-group service authorization method by single sign-on, in-group service providing system using this method, and each server constituting this system
JP2015505626A (en) Integrate server applications with many authentication providers
JP6305005B2 (en) Authentication server system, control method, and program thereof
US10735399B2 (en) System, service providing apparatus, control method for system, and storage medium
EP1786140A1 (en) Server aided launching of applications, authenticating users and connecting secure networks
US20170214685A1 (en) System and method for controlling system
JPH1131132A (en) Authentication/authority control system
WO2023160632A1 (en) Method for setting cloud service access permissions of enclave instance, and cloud management platform
Ma et al. Authentication delegation for subscription-based remote network services

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150528

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160314

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160415

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160420

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160614

R151 Written notification of patent or utility model registration

Ref document number: 5955106

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees