• 検索結果がありません。

: Web アプリケーションの属性を使用した SSO

ユース ケース 12: Web アプリケーションの属性を使用した SAML 2.0 SSO

86 ユーザのエンタープライズでのフェデレーション

ユース ケース 12: Web アプリケーションの属性を使用した SAML 2.0 SSO

第 6 章:レガシーフェデレーションのユースケースおよびソリューション 87 IdP が開始するシングル サインオンの場合、イベント シーケンスは次のとおり です。

1. IdP で、ユーザが Web ページのリンクをクリックし、以下のいずれか のアクションが発生します。

ユーザは IdPA.com からシングルサインオンサービス(SSO)にリ

ダイレクトされます。このサービスは、ユーザがセッションをし ていないことを認識します。ユーザは IdP にリダイレクトされ、

ログインするように促されます。 ログイン成功の後、ユーザは再

度 SSO サービスにリダイレクトされます。 SSO サービスに対して

定義されたアプリケーション URL は、カスタム Web アプリケー ションにユーザを送るよう、SSO サービスに命じます。

重要: ユーザが最初に SSO サービスに移動する際、いくつかのク エリパラメータ(SPID、ProtocolBinding、RelayState)は元の SSO 要 求に含まれています。 SSO サービスはこのクエリデータを

SMPORTALSTATE という名前の 1 つのクエリパラメータへグループ

化し、次にユーザを(GET により) Web アプリケーションへリダ イレクトします。

ユーザがログインし、Web アプリケーションに直接移動します。

注: ユーザは IdP でローカルに認証された後、セッションが有効な場合

は、認証 URL にリダイレクトされることはありません。

2. Web アプリケーションがユーザに必須情報の入力を促します。これら

の属性は SSO サービスにポストされます。

重要: Web アプリケーションは、SMPORTALSTATE クエリパラメータを

メンテナンスしてポストし、また、収集された属性を再度 SSO サービ スに戻す必要があります。

3. SSO サービスは SAML 要求を処理し、SMPORTALSTATE パラメータの データをアンパックします。サービスは、属性を持つこのデータを Web アプリケーションから取り、すべての POST データをアサーショ ン生成プログラムへ渡します。

4. アサーション生成プログラムがアサーションを作成します。

重要: SSO サービスはすべての属性をアサーション生成プログラムが 利用できるようにします。アサーションへ属性を追加するには、ア サーション生成プログラム プラグインを書き込み、設定します。

ユース ケース 12: Web アプリケーションの属性を使用した SAML 2.0 SSO

88 ユーザのエンタープライズでのフェデレーション

5. IdP がアサーションを生成した後、IdP はユーザを サービス プロバイダ

のアサーションコンシューマサービスにリダイレクトします。サー ビスプロバイダがアサーションを処理します。

6. ユーザはサービスプロバイダで、要求されたリソースへのアクセスを 取得します。

SP 開始のシングル サインオンの場合は次のようになります。

1. SP で、ユーザはリンクをクリックします。また、AuthnRequest は ID プ ロバイダのシングルサインオン(SSO)サービスに送信されます。

注: SP で開始されるシングルサインオンでは、要求は SP から SSO サービスに直接到着する必要があります(SAML 指定で必須)。 ユー ザは、Web アプリケーションに直接行くことができません。

2. IdP で、SSO サービスはユーザがセッションをしていないことを認識し ます。ユーザはセッションを認証し、確立するために認証 URL にリダ イレクトされます。ユーザがセッションを確立した後、IdP は SSO サー ビスにユーザを再度リダイレクトします。 SSO サービスに対して定義 されたアプリケーション URL は、カスタム Web アプリケーションに ユーザを戻すよう、SSO サービスに命じます。

重要: ユーザが SSO サービスにリダイレクトされる際に、いくつかの

クエリパラメータ(SPID、ProtocolBinding、RelayState)は元の要求に 含まれています。 SSO サービスはこのクエリデータを SMPORTALSTATE という名前の 1 つのクエリパラメータへグループ化し、次にユーザを

(GET により) Web アプリケーションへリダイレクトします。

3. Web アプリケーションがユーザに必須情報の入力を促します。これら の属性は SSO サービスにポストされます。

重要: Web アプリケーションは、SMPORTALSTATE クエリパラメータを

メンテナンスしてポストし、また、収集された属性を再度 SSO サービ スに戻す必要があります。

4. SSO サービスは SAML 要求を処理し、SMPORTALSTATE パラメータの データをアンパックします。 サービスは、データと属性を Web アプ リケーションから取り、すべての POST データをアサーション生成プロ グラムへ渡します。

ユース ケース 12: Web アプリケーションの属性を使用した SAML 2.0 SSO

第 6 章:レガシーフェデレーションのユースケースおよびソリューション 89

5. IdP はアサーションを生成し、すべての属性を含めます。 IdP はユーザ

をサービスプロバイダのアサーションコンシューマサービスにリダ イレクトし、ここでアサーションが処理されます。

注:アサーションへ属性を追加するには、アサーション生成プログラ ムプラグインを書き込み、設定します。

6. ユーザはサービスプロバイダで、要求されたリソースへのアクセスを 取得します。

Web アプリケーションの属性を使用した SSO の設定

Web アプリケーションの属性に基づくシングルサインオンの設定には、

特定の手順が必要です。

次の手順に従ってください:

1. ネットワークで IdP 用のカスタム Web アプリケーションを作成しま す。このカスタムアプリケーションは、必要な数の属性をユーザに促 す場合があります。また反対に、アプリケーションが標準的な属性を 提供でき、ユーザへ求める情報がないこともあります。 属性がどのよ うに収集されるかは、カスタムアプリケーションがどのように作成さ れているかに完全に依存します。

重要: IdP により開始されるシングルサインオンでは、ユーザが SSO

サービスの前に Web アプリケーションにリダイレクトされた場合、

Web アプリケーションにはパラメータ AllowApplicationPost=yes が含 まれる必要があります。アプリケーションに AllowApplicationPost パラ メータが含まれている限り、SSO サービスは POST を受け入れます。

CA SiteMinderWeb エージェントオプションパックは、カスタム Web

アプリケーションのベースとして使用できるサンプル JSP アプリケー ションに付属しています。サンプル JSP アプリケーションへのパスは 次のとおりです。 web_agent_home/affwebservices/ サンプルアプリ ケーションには次のものがあります。

sample_application.jsp

このサンプルアプリケーションは IdP または SP により開始される シングルサインオンに使用できます。ユーザはまず、SSO サービ スにリダイレクトされ、次に、カスタム Web アプリケーションに 送られます。このアプリケーションは、サービスプロバイダプロ

パティ(SAML 2.0)ダイアログボックスまたはリソースプロバイ

ダプロパティ(WS フェデレーション)ダイアログボックスの[ア プリケーション URL]に入力できます。

ユース ケース 13: SP での動的アカウント リンクによる SSO

90 ユーザのエンタープライズでのフェデレーション unsolicited_application.jsp

このサンプルアプリケーションは IdP により開始されるシングル サインオンに使用できます。ユーザは、SSO サービスではなく Web アプリケーションに直接送られます。 このアプリケーションでは、

ユーザが ID プロバイダですでに認証されていると仮定します。

注:このファイルでは、アプリケーションで AllowApplicationPost パ ラメータを使用する方法について説明します。

2. (オプション)ユーザが最初に IdP SSO サービスにリダイレクトされる 場合

a. SAML 2.0 認証方式で[アプリケーション URL]を指定します。

b. アサーションへ属性を追加するには、アサーション生成プログラ ムプラグインを設定します。

3. (オプション)ユーザが IdP からカスタム Web アプリケーションに直 接送られる場合、[アプリケーション URL]パラメータに対する値を 指定する必要はありません。ただし、CA SiteMinder を操作するには、

アサーション生成プログラム プラグインを書き込み、設定します。 ア サーション生成プログラムプラグインの作成の詳細については、

「Java 用プログラミングガイド」を参照してください。

注:この手順の順番は目安として提供されます。これらの手順は、異なる 順番で実行できます。

ユース ケース 13 : SP での動的アカウント リンクによる SSO

ユースケース 13 では、IdP (discounts.com)に、特定のユーザを識別し、

アサーションに含まれる buyerID という名前の属性が含まれています。ア サーションがサービスプロバイダ(smwidgets.com)に送信されるとき、

同じ属性はサービスプロバイダのユーザレコードに存在しません。保護 されているリソースへのアクセスをユーザが認証し、取得できるように、

サービスプロバイダは適切なユーザレコードに属性を作成する必要があ ります。

discounts.com の社員は、smwidgets.com のウィジェット上の最新の価格表 にアクセスするためにリンクを選択します。 この社員は名前および購入 者 ID でログインします。