SAML sender-vouches トークン用のクライアントおよびプロバイダーのバインディングの構成
SAML sender-vouches トークン用に、クライアントおよびプロバイダーのポリシー・セットの関連付けおよびバインディングを構成することができます。SAML sender-vouches トークンは、sender-vouches サブジェクト確認メソッドを使用する SAML トークンです。sender-vouches 確認メソッドは、サーバーがクライアント ID またはクライアントの動作を 伝搬する必要がある場合に使用されます。
始める前に
- SAML sender-vouches トークンを使用するためには、1 つ以上の
新規サーバー・プロファイルを作成するか、既存のプロファイルに SAML 構成設定を
追加する必要があります。
サーバー・プロファイルの作成について詳しくは、トピック『アプリケーション・サーバー・プロファイルの作成』を参照してください。
既存のプロファイルに SAML 構成設定を追加する方法について詳しくは、SAML の構成方法に関する各種トピックを参照してください。
- 無許可の通話者がメッセージ内容や SAML トークンを変更していないことを受信側が検証できるように、SOAP メッセージと SAML トークンの保全性を保護するために使用するセキュリティーのタイプを決定します。メッセージ・レベルのセキュリティーまたは HTTPS トランスポートを使用する必要があります。
SAML トークン・プロファイル仕様のセクション 3.5.2.1 では、以下のように規定されています。
"関連する確認方式の処理を受信側で行うには、別の通話者によって SOAP メッセージ内容が変更された場合に受信側が判別できるように、証明を行うエンティティーが保証済みの SOAP メッセージ内容を保護する必要があります。証明を行うエンティティーは、無許可の変更が検出されるように、保証済みステートメント (必要に応じて) と、そのステートメントとメッセージ内容とのバインディングが保護されるようにする必要もあります。"
この SAML sender-vouches 要件を満たすには、トランスポート・レベルまたはメッセージ・レベルのセキュリティーを使用します。
sender-vouches トークンを保護するには、メッセージ・レベルのセキュリティーまたは HTTPS トランスポートを使用する必要があります。- HTTP トランスポート・レベルのセキュリティーを使用する場合は、HTTPS トランスポートを構成します。
- メッセージ・レベルのセキュリティーを使用する場合、SAML トークン・プロファイル仕様では、証明を行うエンティティーが「関連するメッセージ内容とアサーションに署名する」ことを提案しています。
関連するメッセージ内容とアサーションに署名するには、少なくとも SAML トークン (アサーション) に署名する必要があります。関連する内容は、ご使用のアプリケーションによって異なります。この仕様では、以下のことを推奨しています。- 関連するメッセージ内容の要件を満たすには、送信側が少なくとも SOAP 本体と SAML アサーションにまとめて署名します。
- コンシューマーは、SAML sender-vouches の使用時に、SOAP 本体とともに SAML トークンに署名が付いていることを確認します。
このタスクについて
この手順では、SAML トークンにデジタル署名を行うためのステップについて説明します。ここでは、署名が必要なメッセージ・パーツに関する、SAML sender-vouches トークンまたは SAML bearer トークンの SAML トークン・プロファイル OASIS 標準要件については説明しません。
この手順で示されている例は、サンプル Web サービス・アプリケーション JaxWSServicesSamples を使用します。
sender-vouches ポリシー・セットの作成手順では、まず新しい SAML sender-vouches ポリシーを作成します。
手順
- SAML sender-vouches ポリシーを作成し、メッセージ・パーツを構成します。
SAML sender-vouches トークン用のクライアントおよびプロバイダーのバインディングを構成するには、その前に、SAML bear ポリシーに基づいて SAML sender-vouches ポリシー・セットを作成する必要があります。ポリシー・セットを作成したら、バインディングを JAX-WS クライアントおよびプロバイダー・アプリケーションと関連付ける必要があります。bearer ポリシー・セットについて詳しくは、トピック『SAML bearer トークン用のクライアントおよびプロバイダーのバインディングの構成』を参照してください。
本製品には、デフォルトの SAML トークン・アプリケーション・ポリシー・セットと、クライアントおよびプロバイダーの汎用バインディングのサンプルが各種用意されています。SAML sender-vouches トークンに使用されるポリシー・セットは、SAML bearer トークンに使用されるポリシー・セットと似ています。以下の手順では、SAML bearer トークン・ポリシー・セットに基づいて sender-vouches ポリシー・セットを作成する方法について説明します。
SAML20 Bearer WSSecurity default ポリシーと SAML20 Bearer WSHTTPS default ポリシーを SAML sender-vouches トークンで使用できるように更新するには、それらをコピーとしてインポートする必要があります。SAML20 Bearer WSSecurity default ポリシーと SAML20 Bearer WSHTTPS default ポリシーは、SAML トークンに署名するようには構成されていません。SAML sender-vouches の要件を満たすには、SAML トークンに署名するようにポリシーを更新する必要があります。このため、ポリシーをコピーとしてインポートするか、ポリシーのコピーを作成する必要があります。以下の手順では、ポリシーのコピーを作成します。
- 必要なポリシー・セットをインポートします。
Username WSHTTPS default と必要なタイプの SAML Bearer ポリシーをインポートする方法については、トピック『SAML bearer トークン用のクライアントおよびプロバイダーのバインディングの構成』の『始める前に』セクションを参照してください。例えば、HTTP を使用した SAML 2.0 sender-vouches トークンには、SAML20 Bearer WSSecurity default を使用します。
- 編集可能な、必要なインポート済み SAML Bearer ポリシーのコピーを作成します。
- 管理コンソールで、「サービス」 > 「ポリシー・セット」 > 「アプリケーション・ポリシー・セット」とクリックします。
- コピーするインポート済みの SAML Bearer ポリシーを選択します。
例えば、「SAML20 Bearer WSSecurity default」を選択します。
- 「コピー...」をクリックします。
- 「名前」フィールドに、必要な名前を指定します。 例えば、SAML20 sender-vouches と指定します。
- 「OK」 をクリックします。
- 新しい SAML sender-vouches ポリシーを編集して、SAML トークンのデジタル署名を追加します。
- 管理コンソールで、「サービス」 > 「ポリシー・セット」 > 「アプリケーション・ポリシー・セット」とクリックします。
- 作成したポリシーを選択します。
前の例を使用した場合は、「SAML20 sender-vouches」を選択します。
- 管理コンソールから SAML ポリシー・セット を編集し、「WS-Security」>「メイン・ポリシー」>「要求メッセージ・パーツ保護」とクリックします。
- 「保全性保護」で、「追加」をクリックします。
- 「署名されるパーツの 名前」にパーツ名 (例: saml_part) を入力します。
- 「パーツ内のエレメント」の下で「追加」をクリックします。
- 「XPath 式」を選択します。
- 2 つの XPath 式を追加します。
/*[namespace-uri()='http://schemas.xmlsoap.org/soap/envelope/' and local-name()='Envelope']/*[namespace-uri()='http://schemas.xmlsoap.org/soap/envelope/' and local-name()='Header']/*[namespace-uri()='http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd' and local-name()='Security']/*[namespace-uri()='http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd' and local-name()='SecurityTokenReference']
/*[namespace-uri()='http://www.w3.org/2003/05/soap-envelope' and local-name()='Envelope']/*[namespace-uri()='http://www.w3.org/2003/05/soap-envelope' and local-name()='Header']/*[namespace-uri()='http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd' and local-name()='Security']/*[namespace-uri()='http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd' and local-name()='SecurityTokenReference']
- 「適用」と「保存」をクリックします。
- このポリシーを使用してアプリケーションを開始したことがない場合は、これ以上のアクションは不要です。 開始したことがある場合は、アプリケーション・サーバーを再始動するか、記事「wsadmin スクリプトによるポリシー設定構成の更新」の手順に従い、アプリケーション・サーバーでポリシー・セットを再ロードします。
- 必要なポリシー・セットをインポートします。
- トラスト・クライアントを構成します。
汎用バインディングを使用して外部 STS にアクセスする場合は、ポリシー・セットおよびバインディングとクライアント・アプリケーションを関連付けるステップに進んでください。
アプリケーション固有のバインディングを使用して外部 STS にアクセスする場合は、以下のサブステップを実行します。
- バインディングを構成できるように、トラスト・クライアントのポリシー・セットを Web サービス・クライアント・アプリケーションと一時的に関連付けます。
トラスト・クライアントのポリシー・セットを関連付けると、管理コンソールを使用してクライアント・バインディング文書のバインディングを作成し、それを変更できるようになります。この操作を実行する必要があるのは、アプリケーション固有のバインディングを使用して外部 STS にアクセスする場合のみです。
- 管理コンソールで、「アプリケーション」>「アプリケーション・タイプ」>「WebSphere エンタープライズ・アプリケーション」>「JaxWSServicesSamples」>「サービス・クライアントのポリシー・セットおよびバインディング」とクリックします。
- Web サービス・クライアント・リソース (JaxWSServicesSamples) を選択します。
- 「クライアント・ポリシー・セットの関連付け」をクリックします。
- ポリシー・セット Username WSHTTPS default を選択します。
- トラスト・クライアント・バインディングを作成します。
- Web サービス・クライアント・リソース (JaxWSServicesSamples) をもう一度選択します。
- 「バインディングの割り当て」を選択します。
- 「新規のアプリケーション固有バインディング」をクリックして、アプリケーション固有のバインディングを作成します。
- 新規のアプリケーション固有バインディングのバインディング構成名を指定します。 この例では、バインディング名は SamlTCSample です。
- 「SSL トランスポート」ポリシー・タイプをバインディングに追加します。
「追加」>「SSL トランスポート」とクリックし、次に「OK」をクリックします。
- WS-Security ポリシー・タイプをバインディングに追加し、トラスト・クライアントの認証設定を変更します。
- WS-Security ポリシー・タイプがまだ SamlTCSample バインディング定義に含まれていない場合は、「アプリケーション」>「アプリケーション・タイプ」>「WebSphere エンタープライズ・アプリケーション」>「JaxWSServicesSamples」>「サービス・クライアントのポリシー・セットおよびバインディング」>「SamlTCSample」とクリックします。
- 「追加」>「WS-Security」>「認証と保護」>「request:uname_token」をクリックします。
- 「適用」をクリックします。
- 「コールバック・ハンドラー」を選択します。
- Web サービス・クライアントが外部 STS に認証されるための ユーザー名とパスワードを指定します。
- 「OK」をクリックしてから、「保存」をクリックします。
- バインディング設定が保存されたら、
「サービス・クライアントのポリシー・セットおよびバインディング」パネルに戻って、
ポリシー・セットとバインディングを切り離します。
- このページのナビゲーションで「サービス・クライアントのポリシー・セットおよびバインディング」をクリックするか、または「アプリケーション」>「アプリケーション・タイプ」>「WebSphere エンタープライズ・アプリケーション」>「JaxWSServicesSamples」>「サービス・クライアントのポリシー・セットおよびバインディング」とクリックします。
- Web サービス・クライアント・リソース (JaxWSServicesSamples) を選択し、「クライアント・ポリシー・セットの切り離し」をクリックします。
ポリシー・セットが切り離されても、作成したアプリケーション固有のバインディング構成 はファイル・システムから削除されません。したがって、作成したアプリケーション固有のバインディングを使用して、トラスト・クライアントで STS にアクセスすることができます。
- バインディングを構成できるように、トラスト・クライアントのポリシー・セットを Web サービス・クライアント・アプリケーションと一時的に関連付けます。
- SAML sender-vouches ポリシー・セットを関連付け、クライアント・アプリケーション用の新しいアプリケーション固有バインディングを作成します。
sender-vouches には、汎用バインディングではなく、アプリケーション固有の カスタム・バインディングを使用する必要があります。したがって、 関連付けられた bearer トークン・ポリシー・セットおよびバインディングから sender-vouches ポリシー・セット およびバインディングを構成する場合、割り当てられたバインディングがアプリケーション固有のバインディング であることを確認する必要があります。
- 必要な SAML ポリシー・セットを Web サービス・クライアント・アプリケーションと関連付けます。
- 「アプリケーション」>「アプリケーション・タイプ」>「WebSphere エンタープライズ・アプリケーション」>「JaxWSServicesSamples」>「サービス・クライアントのポリシー・セットおよびバインディング」とクリックします。
- Web サービス・クライアント・リソース (JaxWSServicesSamples) を選択します。
- 「クライアント・ポリシー・セットの関連付け」をクリックします。
- 作成した SAML ポリシーを選択します。
例えば、「SAML20 sender-vouches」を選択します。
- クライアント用の新しいアプリケーション固有バインディングを作成します。
- Web サービス・クライアント・リソース (JaxWSServicesSamples) をもう一度選択します。
- 「バインディングの割り当て」を選択します。
- 「新規のアプリケーション固有バインディング.... (New Application Specific Binding....)」を選択します。
- 新規のアプリケーション固有バインディングのバインディング構成名を指定します。
この例では、バインディング名は SamlSenderVouchesClient です。
- 「追加」> 「WS-Security」をクリックします。
- 必要な SAML ポリシー・セットを Web サービス・クライアント・アプリケーションと関連付けます。
- アプリケーション固有のクライアント・バインディングで、SAML トークン生成プログラムを編集します。
- 「認証と保護」をクリックします。
- 「認証トークン」の下で、「request:SAMLToken20Bearer」または「request:SAMLToken11Bearer」をクリックします。
- 「適用」をクリックします。
- 「コールバック・ハンドラー」をクリックします。
- 以下のカスタム・プロパティーを追加します。
- confirmationMethod=sender-vouches
- keyType=http://docs.oasis-open.org/ws-sx/ws-trust/200512/Bearer
- stsURI=SecurityTokenService_address
例えば、https://example.com/Trust/13/UsernameMixed を SecurityTokenService_address に指定します。
- wstrustClientPolicy=Username WSHTTPS default
- wstrustClientBinding=value
wstrustClientBinding に指定した値は、前のステップで作成したトラスト・クライアントのアプリケーション固有バインディングの名前と一致している必要があります。例えば、前のステップで SamlTCSample という名前のアプリケーション固有バインディングを作成した場合は、wstrustClientBinding プロパティーの値として SamlTCSample を指定する必要があります。
- wstrustClientSoapVersion=value
SOAP バージョン 1.1 を使用する場合は、このプロパティーに値 1.1 を指定します。
SOAP バージョン 1.2 を使用する場合は、このプロパティーに値 1.2 を指定します。
- 「OK」をクリックします。
- このページのナビゲーションで、「WS-Security」をクリックします。
- クライアント・バインディングで、汎用デジタル署名を構成します。
- 証明書ストアを構成します。
- 「鍵と証明書」をクリックします。
- 「証明書ストア」の下で、「新規のインバウンド...」をクリックします。
- name=clientCertStore と指定します。
- Intermediate X.509 certificate=${USER_INSTALL_ROOT}/etc/ws-security/samples/intca2.cer と指定します。
- 「OK」をクリックします。
- トラスト・アンカーを構成します。
- 「トラスト・アンカー」の下で、「新規」をクリックします。
- name=clientTrustAnchor と指定します。
- 「外部鍵ストア」をクリックします。
- Full path=${USER_INSTALL_ROOT}/etc/ws-security/samples/dsig-sender.ks と指定します。
- Password=client と指定します。
- 「OK」をクリックします。
- このページのナビゲーションで、「WS-Security」をクリックします。
- シグニチャー生成プログラムを構成します。
- 「認証と保護」>「AsymmetricBindingInitiatorSignatureToken0」(シグニチャー生成プログラム) とクリックし、「適用」をクリックします。
- 「コールバック・ハンドラー」をクリックします。
- Keystore=custom と指定します。
- 「カスタム鍵ストア構成」をクリックし、以下のように指定します。
- Full path==${USER_INSTALL_ROOT}/etc/ws-security/samples/dsig-sender.ks
- Keystore password=client
- Name=client
- Alias=soaprequester
- Password=client
- 「OK」、「OK」、「OK」とクリックします。
- シグニチャー・コンシューマーを構成します。
- 「AsymmetricBindingRecipientSignatureToken0」(シグニチャー・コンシューマー) をクリックして、「適用」をクリックします。
- 「コールバック・ハンドラー」をクリックします。
- 「証明書」の下で、「証明書ストア」ラジオ・ボタンをクリックし、以下のように指定します。
- Certificate store=clientCertStore
- Trusted anchor store=clientTrustAnchor
- 「OK」をクリックしてから、「OK」をクリックします。
- 要求の署名情報を構成します。
- 「request:app_signparts」をクリックして、Name=clientReqSignInfo と指定します。
- 「署名鍵情報」の下で、「新規」をクリックして、以下のように指定します。
- Name=clientReqSignKeyInfo
- Type=Security Token reference
- Token generator or consumer name=AsymmetricBindingInitiatorSignatureToken0
- 「OK」をクリックしてから、「適用」をクリックします。
- 「メッセージ・パーツ参照」の下で、「request:app_signparts」を選択します。
- 「編集」をクリックします。
- 「変換アルゴリズム」の下で、「新規」をクリックします。
- URL=http://www.w3.org/2001/10/xml-exc-c14n# と指定します。
- 「OK」、「OK」、「OK」とクリックします。
- 応答の署名情報を構成します。
- 「response:app_signparts」をクリックして、Name=clientRespSignInfo と指定します。
- 「適用」をクリックします。
- 「署名鍵情報」の下で、「新規」をクリックして、以下のように指定します。
- Name=clientRspSignKeyInfo
- Token generator or consumer name=AsymmetricBindingRecipientSignatureToken0
- 「OK」をクリックします。
- 「署名鍵情報」の下で、「clientRspSignKeyinfo」をクリックして、「追加」をクリックします。
- 「メッセージ・パーツ参照」の下で、「response:app_signparts」を選択します。
- 「編集」をクリックします。
- 「変換アルゴリズム」の下で、「新規」をクリックします。
- URL=http://www.w3.org/2001/10/xml-exc-c14n# と指定します。
- 「OK」、「OK」、「OK」とクリックします。
- 証明書ストアを構成します。
- クライアント・バインディングで、SAML トークンのデジタル署名を構成します。
-
現在構成されている署名されたアウトバウンド・メッセージ・パーツ・バインディングを変更して、作成した新しい SAML パーツを含めるようにします。
「要求メッセージのシグニチャーと暗号化保護」の下で、状況が Configured に設定されたパーツ参照を選択します。恐らく、このパーツ参照は、request:app_signparts です。
- メッセージ・パーツ参照の下の「使用可能」リストから、 ステップ 1 で作成された、署名されるパーツの 名前 (例: saml_part) を選択します。
- 「追加」をクリックして、「適用」をクリックします。
- メッセージ・パーツ参照の下の「割り当て済み」リストで、 追加したパーツの名前 (例: saml_part) を強調表示します。
- 「編集」をクリックします。
- 「変換アルゴリズム」設定に対して「新規」をクリックします。
- 「http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#STR-Transform」を選択します。
- 「OK」をクリックしてから「OK」をクリックし、もう一度「OK」をクリックします。
- セキュリティー・トークン参照によってデジタル署名を示すために、カスタム・プロパティーを使用して SAML トークン生成プログラムを更新します。
認証トークンの下で、署名したい SAML トークンを 選択し、編集します。
- 「カスタム・プロパティー」の下で、「新規」をクリックします。
- カスタム・プロパティー名として com.ibm.ws.wssecurity.createSTR と入力します。
- このカスタム・プロパティーの値として true を入力します。
- 「適用」をクリックしてから、「保存」をクリックします。
- アプリケーションを再始動します。
-
現在構成されている署名されたアウトバウンド・メッセージ・パーツ・バインディングを変更して、作成した新しい SAML パーツを含めるようにします。
- SAML sender-vouches ポリシー・セットを関連付け、プロバイダー・アプリケーション用の新しいアプリケーション固有バインディングを作成します。
- 必要な SAML ポリシー・セットを Web サービス・クライアント・アプリケーションと関連付けます。
- 「アプリケーション」>「アプリケーション・タイプ」>「WebSphere エンタープライズ・アプリケーション」>「JaxWSServicesSamples」>「サービス・プロバイダーのポリシー・セットおよびバインディング」とクリックします。
- Web サービス・クライアント・リソース (JaxWSServicesSamples) を選択します。
- 「ポリシー・セットの関連付け」をクリックします。
- 作成した SAML ポリシーを選択します。
例えば、「SAML20 sender-vouches」を選択します。
- プロバイダー用の新しいアプリケーション固有バインディングを作成します。
- Web サービス・クライアント・リソース (JaxWSServicesSamples) をもう一度選択します。
- 「バインディングの割り当て」を選択します。
- 「新規のアプリケーション固有バインディング.... (New Application Specific Binding....)」を選択します。
- 新規のアプリケーション固有バインディングのバインディング構成名を指定します。
この例では、バインディング名は SamlSenderVouchesProvider です。
- 「追加」> 「WS-Security」をクリックします。
- 必要な SAML ポリシー・セットを Web サービス・クライアント・アプリケーションと関連付けます。
- アプリケーション固有のプロバイダー・バインディングで、SAML トークン・コンシューマーを編集します。
- 「認証と保護」をクリックします。
- 「認証トークン」の下で、「request:SAMLToken20Bearer」または「request:SAMLToken11Bearer」をクリックします。
- 「適用」をクリックします。
- 「コールバック・ハンドラー」をクリックします。
- 以下のカスタム・プロパティーを追加します。
- confirmationMethod=sender-vouches
- keyType=http://docs.oasis-open.org/ws-sx/ws-trust/200512/Bearer
- signatureRequired=true
- オプション: 署名者証明書検証を許可しない場合は、trustAnySigner カスタム・プロパティーを true に設定します。
証明書構成設定「すべてを信頼」は、SAML 署名検証の目的に関しては 無視されます。このプロパティーが有効となるのは、signatureRequired カスタム・プロパティーが true (このプロパティーのデフォルト値) に設定されている場合のみです。
- アサーションが STS によって署名され、signatureRequired カスタム・プロパティーがデフォルト値の true に設定され、trustAnySigner カスタム・プロパティーがデフォルト値の false に設定されている場合は、以下の操作を実行します。
- 外部 STS 署名証明書がトラスト検証を通過できるようにするプロバイダーのトラストストアに、証明書 (STS 署名証明書自体またはそのルート CA 証明書など) を追加します。
- trustStorePath カスタム・プロパティーを、トラストストア・ファイル名と一致する値に設定します。この値は、完全修飾値にするか、または ${USER_INSTALL_ROOT} などのキーワードを使用できます。
- trustStoreType カスタム・プロパティーを、鍵ストア・タイプと一致する値に設定します。サポートされている鍵ストア・タイプは、jks、jceks、および pkcs12 です。
- trustStorePassword カスタム・プロパティーを、トラストストア・パスワードと一致する値に設定します。パスワードは、カスタム・プロパティーとして保存され、 管理コンソールによってエンコードされます。
- オプション: trustedAlias カスタム・プロパティーを samlissuer などの値に設定します。このプロパティーが指定 されている場合、指定された別名によって表される X.509 証明書は、SAML 署名検証に対して信頼された唯一の STS 証明書 です。このカスタム・プロパティーが指定されていない場合、Web サービス・ランタイム環境は、SAML アサーション内の署名証明書を使用して SAML 署名を検証し、その後、構成されたトラストストアに対して証明書を検証します。
- オプション: 受信者が、発行者名か、SAML アサーション内の発行者の証明書 SubjectDN のどちらか、またはその両方を検証するように構成します。
信頼された発行者名のリストまたは 信頼された証明書 SubjectDN のリストを作成するか、または、両タイプの リストを作成することができます。発行者名リストおよび SubjectDN リストの両方を 作成すると、発行者名と SubjectDN の両方が検証されます。受け取った SAML 発行者名または署名者 SubjectDN が信頼リスト中にない場合、SAML 検証は失敗し、例外が発行されます。
以下の例に、 信頼された発行者および信頼された SubjectDN のリストの作成方法を示します。 信頼された発行者名ごとに、trustedIssuer_n (n は正整数) を使用します。信頼された SubjectDN ごとに、trustedSubjectDN_n (n は正整数) を使用します。両方のタイプのリストを作成する場合、両方のリスト中の整数 n は、同じ SAML アサーションに 関しては一致している必要があります。整数 n は 1 から 始まり、1 ずつ増えます。
この例では、発行者名 WebSphere/samlissuer の SAML アサーションを、署名者の SubjectDN に関係なく信頼します。そのため、次のカスタム・プロパティーを追加します。<properties value="WebSphere/samlissuer" name="trustedIssuer_1"/>
加えて、署名者の SubjectDN が ou=websphere,o=ibm,c=us の場合、IBM/samlissuer によって発行された SAML アサーションを信頼します。そのため、以下のカスタム・プロパティーを追加します。<properties value="IBM/samlissuer" name="trustedIssuer_2"/> <properties value="ou=websphere,o=ibm,c=us" name="trustedSubjectDN_2"/>
- 「適用」をクリックします。
- このページのナビゲーションで、「WS-Security」をクリックします。
- プロバイダー・バインディングで、汎用デジタル署名を構成します。
- 証明書ストアを構成します。
- 「鍵と証明書」をクリックします。
- 「証明書ストア」の下で、「新規のインバウンド...」をクリックします。
- 指定:
- Name=providerCertStore
- Intermediate X.509 certificate=${USER_INSTALL_ROOT}/etc/ws-security/samples/intca2.cer
- 「OK」をクリックします。
- トラスト・アンカーを構成します。
- 「トラスト・アンカー」の下で、「新規...」をクリックします。
- Name=providerTrustAnchor と指定します。
- 「外部鍵ストア」をクリックし、以下のように指定します。
- Full path=${USER_INSTALL_ROOT}/etc/ws-security/samples/dsig-receiver.ks
- Password=server
- 「OK」をクリックし、このページのナビゲーションで「WS-Security」をクリックします。
- シグニチャー生成プログラムを構成します。
- 「認証と保護」>「AsymmetricBindingRecipientSignatureToken0」(シグニチャー生成プログラム) とクリックし、「適用」をクリックします。
- 「コールバック・ハンドラー」をクリックします。
- Keystore=custom と指定します。
- 「カスタム鍵ストア構成」をクリックし、以下のように指定します。
- Full path=${USER_INSTALL_ROOT}/etc/ws-security/samples/dsig-receiver.ks
- Keystore password=server
- Name=server
- Alias=soapprovider
- Password=server
- 「OK」、「OK」、「OK」とクリックします。
- シグニチャー・コンシューマーを構成します。
- 「AsymmetricBindingInitiatorSignatureToken0」(シグニチャー・コンシューマー) をクリックして、「適用」をクリックします。
- 「コールバック・ハンドラー」をクリックします。
- 「証明書」の下で、「証明書ストア」ラジオ・ボタンをクリックし、以下のように指定します。
- Certificate store=providerCertStore
- Trusted anchor store=providerTrustAnchor
- 「OK」をクリックします。
- このページのナビゲーションで、「認証と保護」をクリックします。
- 要求の署名情報を構成します。
- 「request:app_signparts」をクリックして、Name=reqSignInf と指定します。
- 「適用」をクリックします。
- 「署名鍵情報」の下で、「新規」をクリックして、以下のように指定します。
- Name=reqSignKeyInfo
- Token generator or consumer name=AsymmetricBindingInitiatorSignatureToken0
- 「OK」をクリックします。
- 「署名鍵情報」の下で、「reqSignKeyinfo」をクリックして、「追加」をクリックします。
- 「メッセージ・パーツ参照」の下で、「request:app_signparts」をクリックします。
- 「編集」をクリックします。
- 「変換アルゴリズム」の下で、「新規」をクリックして、URL=http://www.w3.org/2001/10/xml-exc-c14n# と指定します。
- 「OK」、「OK」、「OK」とクリックします。
- 応答の署名情報を構成します。
- 「response:app_signparts」をクリックして、Name=rspSignInfo と指定します。
- 「適用」をクリックします。
- 「署名鍵情報」の下で、「新規」をクリックして、以下のように指定します。
- Name=rspSignKeyInfo
- Type=Security Token reference
- Token generator or consumer name=AsymmetricBindingRecipientSignatureToken0
- 「OK」をクリックしてから、「適用」をクリックします。
- 「メッセージ・パーツ参照」の下で、「response:app_signparts」を選択します。
- 「編集」をクリックします。
- 「変換アルゴリズム」の下で、「新規」をクリックします。
- URL=http://www.w3.org/2001/10/xml-exc-c14n# と指定します。
- 「OK」、「OK」、「OK」とクリックします。
- 証明書ストアを構成します。
- プロバイダー・バインディングで、SAML トークンのデジタル署名を構成します。
- このページのナビゲーションで、「WS-Security」をクリックし、次に「認証と保護」をクリックします。
- 現在構成されている署名されたインバウンド・メッセージ・パーツ・バインディングを変更して、作成した新しい SAML パーツを含めるようにします。
「要求メッセージのシグニチャーと暗号化保護」の下で、状況が Configured に設定されたパーツ参照を選択します。恐らく、このパーツ参照は、request:app_signparts です。
- メッセージ・パーツ参照の下の「使用可能」リストから、 ステップ 1 で作成された、署名されるパーツの 名前 (例: saml_part) を選択します。
- 「追加」をクリックして、「適用」をクリックします。
- メッセージ・パーツ参照の下の「割り当て済み」リストで、 追加したパーツの名前 (例: saml_part) を強調表示します。
- 「編集」をクリックします。
- 「変換アルゴリズム」設定に対して「新規」をクリックします。
- 「http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#STR-Transform」を選択します。
- 「OK」をクリックしてから「OK」をクリックし、もう一度「OK」をクリックします。
- 「保存」をクリックします。
- オプション: 呼び出し元のバインディングを
構成して、要求者識別を表すために SAML トークンを選択することができます。 Web Services Security ランタイム環境は、指定された JAAS ログイン構成を使用して、ユーザー・セキュリティー名およびグループ・メンバーシップ・データをユーザー・レジストリーから取得します。その際、SAML トークン NameId または NameIdentifier をユーザー名として使用します。
- 「WebSphere エンタープライズ・アプリケーション」 > JaxWSServicesSamples > 「サービス・プロバイダーのポリシー・セットおよびバインディング」 > 「Saml Bearer Provider sample」 > 「WS-Security」 > 「呼び出し元」とクリックします。
- 呼び出し元構成を作成するため、「新規」を クリックします。
- 「名前」を指定します (例: caller)。
- 「呼び出し元識別ローカル・パーツ」の値を入力します。
SAML 1.1 トークンの場合は、以下のように入力します。
http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV1.1SAML 2.0 トークンの場合は、以下のように入力します。
http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV2.0 - 「適用」と「保存」をクリックします。
- ポリシー・セットの関連付けの変更が有効になるように、Web サービス・プロバイダー・アプリケーションを再始動します。
タスクの結果


http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_configsamlsendervouches
ファイル名:twbs_configsamlsendervouches.html