IDP ディスカバリ プロファイル(SAML 2.0)
目次
casso11jp
目次
アイデンティティ プロバイダ ディスカバリ(IPD)プロファイルは、共通の検出サービスを提供し、これを使用して、サービス プロバイダが認証用の固有の IdP を選択できます。パートナー間では前もって業務提携契約が確立され、ネットワーク内のすべてのサイトがアイデンティティ プロバイダ ディスカバリ サービスとやり取りできるようになります。
このプロファイルは、複数のパートナーがアサーションを提供するフェデレーション ネットワークで役立ちます。サービス プロバイダは、特定のユーザの認証リクエストを送信する ID プロバイダの決定ができます。
IdP ディスカバリ プロファイルは、2 つのフェデレーション パートナーに共通の Cookie ドメインを使用して実装されます。合意されたドメインの Cookie には、そのユーザがアクセスしたことがある IdP のリストが含まれています。
アイデンティティ プロバイダでの IDP ディスカバリ設定
[SSO と SLO]ダイアログ ボックスの[IDP ディスカバリ]セクションで IDP ディスカバリ プロファイルを設定します。
注:
フィールド、コントロール、およびそれぞれの要件については、[ヘルプ]をクリックしてください。以下の手順に従います。
- [IDP ディスカバリの有効化]を選択します。
- 以下の形式で、[サービス URL]フィールドの値をアイデンティティ プロバイダ ディスカバリ プロファイル サーブレットに対して設定します。https://host:port/affwebservices/public/saml2ipd
- ホスト[共通ドメイン]フィールドで指定する共通のドメインを表します。
- ポートSingle Sign-Onのインストール時に指定した Apache HTTPS ポートを指定します。
- [共通ドメイン]で Cookie ドメインを指定します。
- (オプション)[永続的な Cookie の有効化]をオンにしてブラウザ内の共通の Cookie を保存します。
IdP では IPD が有効です。
サービス プロバイダでの IDP ディスカバリ設定
IDP ディスカバリ プロファイルの場合、サービス プロバイダ(SP)は、認証リクエストの送信先のアイデンティティ プロバイダ(IdP)を特定する必要があります。SP が認証するユーザは、以前にアイデンティティ プロバイダにアクセスし、認証している必要があります。
SP は、ユーザを自身の IdP ディスカバリ サービスにリダイレクトして、共通のドメイン Cookie を取得する必要があります。Cookie には、ユーザがすでにアクセスしたアイデンティティ プロバイダのリストが含まれています。このリストから、Cookie は正しい IdP を選択して、その IdP に認証リクエストを送信します。
IdP ディスカバリ プロセスは以下のとおりです。
- ブラウザは SP のサイト選択ページを要求します。このサイト選択ページでは IDP ディスカバリ サービス URL が認識されます。
- サイト選択ページはユーザを IDP ディスカバリ サービス URL にリダイレクトし、共通ドメイン Cookie を取得する必要があることを示します。
- IDP ディスカバリ サービスは共通ドメイン Cookie を取得し、そのドメインで Cookie を読み取って、サイト選択ページにユーザをリダイレクトして返します。ディスカバリ サービスはクエリ パラメータとして共通ドメイン Cookie を提供します。
- SP は、サイト選択ページにユーザが以前に認証した IdP URL を読み込みます。
- ユーザは IdP を選択してユーザ認証を実行します。
SP で IdP ディスカバリを設定する方法
- SP の IdP ディスカバリ サービスに共通ドメイン Cookie を要求するサイト選択ページを作成します。Single Sign-Onには、IdpDiscovery.jsp という名前のサンプル サイト選択ページが付属しています。このページを使用して SP に IdP ディスカバリを実装できます。このページは、以下のディレクトリにあります。web_agent_home/affwebservices/public最初のリンクはブラウザを 1 つのドメインから共通ドメインの IdPDiscovery サービスにリダイレクトし、_saml_idpという名前の共通ドメイン Cookie を取得します。SP の IdP ディスカバリ サービスがリクエストを受信すると、サービスは共通ドメイン Cookie を取得してクエリ パラメータとして追加します。その後、IDP ディスカバリ サービスは、通常のドメインの IdPDiscovery.jsp サイト選択ページにユーザをリダイレクトして返します。デフォルトでは、IdPDiscovery.jsp ページには、共通 Cookie から抽出した IdP の ID のリストのみが表示されます。このリストは静的です。関連 IdP との通信を開始する、リストに関連付けられた HTML リンクはありません。
- SP サイトのサンプル ページで以下のリンクを編集します。リンクの最初の部分は、saml2idp Cookie が配置された共通ドメインを指定します。リンクの 2 番目の部分は、IdPDiscovery.jsp が配置された通常ドメインを指定します。以下に例を示します。<a href="http://myspsystem.commondomain.com/affwebservices/public /saml2ipd/?IPDTarget=/http://myspsystem.spdomain.com/affwebservices /public/IdpDiscovery.jsp&SAMLRequest=getIPDCookie"> Retrieve idp discovery cookie from IPD Service</a>ターゲット サイト選択ページのある通常ドメインにユーザがリダイレクトされて戻ると、このページには共通 Cookie が取得されています。
- (オプション)IdPDiscovery.jsp サイト選択ページに各 IdP の HTML リンクが表示されるように、このページを編集します。それぞれのリンクが認証リクエストをトリガして、IdP がシングル サインオンを開始します。デフォルトでは、IdPDiscovery.jsp ページには、共通 Cookie から抽出した IdP の ID のリストのみが表示されます。
- 編集したサイト選択ページを使用して、IdP ディスカバリをテストします。
IdP ディスカバリを動作させたまま、選択する IdP のリストをサイト選択ページで参照できます。