アプリケーション・レベルでメッセージの認証性を保護するための、 JAX-RPC によるトークン・コンシューマーの構成
アプリケーション・レベルでトークン・コンシューマーを指定できます。 トークン・コンシューマー情報は、コンシューマー側でセキュリティー・トークンを取り込むために使用されます。
始める前に
生成プログラム用に指定する鍵ストア/別名情報とコンシューマー用に指定する鍵ストア/別名情報は、異なる目的に使用されることを理解する必要があります。主な違いは、X.509 コールバック・ハンドラーの別名に適用されます。
暗号化コンシューマーとの関連で使用される場合、コンシューマーに提供された別名は、メッセージを暗号化解除するための秘密鍵を取得するために使用されます。この場合、パスワードが必要です。コンシューマーに対して指定された別名は、シグニチャー・コンシューマーに関連付けられているときは、SOAP セキュリティー・ヘッダーで BinarySecurityToken として渡されない X.509 証明書を解決するために使用される公開鍵を取得する目的で厳密に使用されます。この場合、パスワードは不要です。
このタスクについて
アプリケーション・レベルでこのトークン・コンシューマーを構成するには、以下のステップを実行します。
手順
- 管理コンソールのトークン・コンシューマー・パネルを見つけます。
- 「アプリケーション」 > 「アプリケーション・タイプ」 > 「WebSphere エンタープライズ・アプリケーション」 > 「application_name」とクリックします。
- 「モジュール」で、「モジュールの管理」 > 「URI_name」とクリックします。
- 「Web Services Security プロパティー」では、
以下のバインディングのトークン・コンシューマーにアクセスできます。
- 要求コンシューマー (受信側) バインディングについては、「Web サービス: サーバー・セキュリティーのバインディング」をクリックします。 「要求コンシューマー (受信側) バインディング」の下の「カスタムの編集」をクリックします。
- 応答コンシューマー (受信側) バインディングについては、「Web サービス: クライアント・セキュリティーのバインディング」をクリックします。 「応答コンシューマー (受信側) バインディング」の下の「カスタムの編集」をクリックします。
- 「必須プロパティー」の下の「トークン・コンシューマー」をクリックします。
- 「新規」をクリックしてトークン・コンシューマー構成を作成するか、「削除」をクリックして 既存の構成を削除するか、または、既存のトークン・コンシューマー構成の名前をクリックして、その設定を編集します。 新規構成を作成している場合は、「トークン・コンシューマー名」フィールドに固有名を入力します。 例えば、 con_signtcon と指定します。
- 「トークン・コンシューマー・クラス名」フィールドでクラス名を指定します。 Java™ Authentication and Authorization Service (JAAS) ログイン・モジュールの実装を使用して、
コンシューマー側でセキュリティー・トークンを検証 (認証) します。
要求コンシューマーおよび応答コンシューマーのトークン・コンシューマー・クラス名は、 要求生成プログラムおよび応答生成プログラムのトークン生成プログラム・クラス名と類似している必要があります。 例えば、アプリケーションがユーザー名トークン・コンシューマーを必要とする場合、 アプリケーション・レベルの「Token generator」パネルで com.ibm.wsspi.wssecurity.token.UsernameTokenGenerator クラス名を、 このフィールドで com.ibm.wsspi.wssecurity.token.UsernameTokenConsumer クラス名を指定することができます。
- オプション: 「Part reference」フィールドでパーツ参照を選択します。 パーツ参照は、デプロイメント記述子で定義されるセキュリティー・トークンの名前を示します。
例えば、要求メッセージでユーザー名トークンを受け取る場合、
ユーザー名・トークン・コンシューマーでトークンを参照する場合があります。
重要: アプリケーション・レベルで、デプロイメント記述子にセキュリティー・トークンを指定しない場合、 「Part reference」フィールドは表示されません。 デプロイメント記述子で、 user_tcon というセキュリティー・トークンを定義する場合、user_tcon は「Part reference」フィールドでオプションとして表示されます。
- オプション: このパネルの証明書パス・セクションで、
証明書ストア・タイプを選択し、必要に応じて、トラスト・アンカーおよび証明書ストア名を示します。 これらのオプションおよびフィールドは、トークン・コンシューマー・クラス名として
com.ibm.wsspi.wssecurity.token.X509TokenConsumer を指定する場合に必要です。
トラスト・アンカーおよびコレクション証明書ストアの名前は、トークン・コンシューマーの下の証明書パスに作成されます。
制約事項: com.ibm.wsspi.wssecurity.token.TokenConsumingComponent インターフェースは、JAX-WS Web サービスでは使用されません。JAX-RPC Web サービスを使用している場合、このインターフェースは引き続き有効です。
以下のオプションのいずれかを選択できます。
- なし
- このオプションを選択した場合、証明書パスは指定されません。
- すべてを信頼
- このオプションを選択した場合は、すべての証明書が信頼されます。 受け取ったトークンが消費されるとき、アプリケーション・サーバーは証明書パスの妥当性検査を行いません。
- 専用署名情報
- このオプションを選択した場合は、トラスト・アンカーおよび証明書ストア構成を選択することができます。
トラステッド証明書のトラスト・アンカーまたは証明書ストアを選択した場合、
証明書パスを設定する前にそのトラスト・アンカーおよび証明書ストアを構成する必要があります。
- トラスト・アンカー
- トラスト・アンカーは、トラステッド・ルート証明書を含む鍵ストア構成のリストを指定します。
これらの構成は、着信した X.509 フォーマットのセキュリティー・トークンの証明書パスの妥当性検査に使用されます。
トラスト・アンカー内の鍵ストア・オブジェクトには、証明書チェーンの信頼性を検証するために CertPath
API が使用するトラステッド・ルート証明書が含まれています。
install_dir/java/jre/bin/keytool ファイルにある 鍵ツール・ユーティリティーを使用して、鍵ストア・ファイルを作成する必要があります。
鍵ツール・ユーティリティーを使用して、鍵ストア・ファイルを作成する必要があります。鍵ツール・ユーティリティーは、 QShell インタープリターから使用できます。
以下のステップを実行して、アプリケーション・レベルのトラスト・アンカーを構成することができます。- 「アプリケーション」 > 「アプリケーション・タイプ」 > 「WebSphere エンタープライズ・アプリケーション」 > 「application_name」とクリックします。
- 「関連項目」で、「EJB モジュール」または「Web モジュール」 > 「URI_name」とクリックします。
- 以下のバインディングからトークン・コンシューマーにアクセスします。
- 要求コンシューマー (受信側) バインディングについては、「Web サービス: サーバー・セキュリティーのバインディング」をクリックします。 「要求コンシューマー (受信側) バインディング」の下の「カスタムの編集」をクリックします。
- 応答コンシューマー (受信側) バインディングについては、「Web サービス: クライアント・セキュリティーのバインディング」をクリックします。 「応答コンシューマー (受信側) バインディング」の下の「カスタムの編集」をクリックします。
- 「追加プロパティー」の下の「トラスト・アンカー」をクリックします。
- コレクション証明書ストア
- コレクション証明書ストアには、信頼されない中間証明書のリストおよび証明書失効リスト (CRL) が含まれます。
コレクション証明書ストアは、
着信する X.509 形式のセキュリティー・トークンの証明書パスを検証するために使用されます。
以下のステップを実行して、アプリケーション・レベルのコレクション証明書ストアを構成することができます。
- 「アプリケーション」 > 「アプリケーション・タイプ」 > 「WebSphere エンタープライズ・アプリケーション」 > 「application_name」とクリックします。
- 「関連項目」で、「EJB モジュール」または「Web モジュール」 > 「URI_name」とクリックします。
- 以下のバインディングからトークン・コンシューマーにアクセスします。
- 要求コンシューマー (受信側) バインディングについては、「Web サービス: サーバー・セキュリティーのバインディング」をクリックします。 「要求コンシューマー (受信側) バインディング」の下の「カスタムの編集」をクリックします。
- 応答コンシューマー (受信側) バインディングについては、「Web サービス: クライアント・セキュリティーのバインディング」をクリックします。 「応答コンシューマー (受信側) バインディング」の下の「カスタムの編集」をクリックします。
- 「追加プロパティー」の下の「コレクション証明書ストア」をクリックします。
- オプション: トラステッド ID エバリュエーターを指定します。 トラステッド ID エバリュエーターは、受け取った ID が信頼できるかどうかを判別するために使用されます。
以下のオプションのいずれかを選択できます。
- なし
- このオプションを選択した場合、トラステッド ID エバリュエーターは指定されません。
- 既存のエバリュエーター定義
- このオプションを選択した場合は、構成済みトラステッド ID エバリュエーターの 1 つを選択することができます。 例えば、WebSphere® Application Server が実例として提供する SampleTrustedIDEvaluator を選択することができます。
- バインディング・エバリュエーター定義
- このオプションを選択した場合は、トラステッド ID エバリュエーター名およびクラス名を指定することによって、
新規トラステッド ID エバリュエーターを構成することができます。
- トラステッド ID エバリュエーター名
- デフォルト・バインディングで定義されたトラステッド ID エバリュエーターを参照するために、 アプリケーション・バインディングが使用する名前を指定します。
- トラステッド ID エバリュエーター・クラス名
- トラステッド ID エバリュエーターのクラス名を指定します。指定されたトラステッド ID エバリュエーター・クラス名は、
com.ibm.wsspi.wssecurity.id.TrustedIDEvaluator インターフェースを実装する必要があります。
デフォルトの TrustedIDEvaluator クラスは、com.ibm.wsspi.wssecurity.id.TrustedIDEvaluatorImpl です。
このデフォルトの TrustedIDEvaluator クラスを使用する場合は、
評価用のトラステッド ID リストを作成するために、
デフォルトのトラステッド ID エバリュエーターに、名前および値プロパティーを指定する必要があります。
名前および値プロパティーを指定するには、以下のステップを実行します。
- 「追加プロパティー」の下で、「プロパティー」 > 「新規」をクリックします。
- 「プロパティー」フィールドでトラステッド ID エバリュエーター名を指定します。 この名前は、trustedId_n (_n は 0 から n までの整数) という形式で指定する必要があります。
- 「値」フィールドでトラステッド ID を指定します。
以下に例を示します。property name="trustedId_0", value="CN=Bob,O=ACME,C=US" property name="trustedId_1, value="user1"
識別名 (DN) が使用されている場合は、比較できるようにスペースが除去されます。 com.ibm.wsspi.wssecurity.id.TrustedIDEvaluator インターフェースの実装方法については、 資料内のプログラミング・モデル情報を参照してください。 詳しくは、Web Services Security サービス・プロバイダーのプログラミング・インターフェースのデフォルトの実装を参照してください。
注: トラステッド ID エバリュエーターは、アプリケーション・レベルではなくサーバー・レベルで定義します。 トラステッド ID エバリュエーターをサーバー・レベルで定義するには、以下のステップを実行します。- 「サーバー」 > 「サーバー・タイプ」 > 「WebSphere Application Server」 > server_name とクリックします。
- 「セキュリティー」の下の「JAX-WS および JAX-RPC セキュリティー・ランタイム」をクリックします。
混合バージョン環境 (Mixed-version environment): WebSphere Application Server バージョン 6.1 以前を使用するサーバーがある混在ノード・セルでは、「Web サービス: Web Services Security のデフォルト・バインディング」をクリックします。mixv
- 「追加プロパティー」の下の「トラステッド ID エバリュエーター」をクリックします。
- 新規トラステッド ID エバリュエーターを定義する場合は、「新規」をクリックします。
トラステッド ID エバリュエーター構成は、サーバー・サイドのアプリケーション・レベルで、 トークン・コンシューマーに対してのみ使用可能です。
- オプション: 「Verify nonce」オプションを選択します。 このオプションは、ユーザー名トークンの nonce がトークン・コンシューマーに対して指定されている場合に、これを検証するかどうかを示します。 nonce はメッセージに組み込まれた固有の暗号数値であり、 ユーザー名トークンの、繰り返される未許可の攻撃を防ぐのに役立ちます。 「Verify nonce」オプションは、取り込まれたトークン・タイプがユーザー名トークンである場合に限り有効です。
- オプション: 「Verify timestamp」オプションを選択します。 このオプションは、ユーザー名トークンのタイム・スタンプを検証するかどうかを示します。 「Verify nonce」オプションは、取り込まれたトークン・タイプがユーザー名トークンである場合に限り有効です。
- 「Local name」フィールドで値タイプのローカル名を指定します。 このフィールドは、消費されるトークンの値タイプのローカル名を指定します。
ユーザー名トークンおよび X.509 証明書セキュリティー・トークンの場合、WebSphere Application Server には、値タイプの事前定義されたローカル名があります。
表 1. Uniform Resource Identifier (URI) とローカル名の組み合わせ. ローカル名の値は、コンシュームされるトークンのタイプを示します。 URI ローカル名 説明 名前空間 URI は使用できません。 ローカル名の値として、 http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3 を指定します。 X.509 証明書トークンの名前を指定します。 名前空間 URI は使用できません。 ローカル名の値として、 http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509PKIPathv1 を指定します。 PKI パスに X.509 証明書の名前を指定します。 名前空間 URI は使用できません。 ローカル名の値として、 http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#PKCS7 を指定します。 PKCS#7 内の X509 証明書のリストおよび証明書失効リスト (CRL) を指定します。 URI 値として、 http://www.ibm.com/websphere/appserver/tokentype/5.0.2 を指定します。 ローカル名の値として、LTPA を指定します。 組み込み Lightweight Third Party Authentication (LTPA) トークンを含むバイナリー・セキュリティー・トークンを指定します。 - オプション: 「URI」フィールドで値タイプ URI を指定します。 この項目は、消費されるトークンの値タイプの名前空間 URI を指定します。
要確認: ユーザー名トークンまたは X.509 証明書セキュリティー・トークンのトークン・コンシューマーを指定する場合、 値タイプ URI を指定する必要はありません。
別のトークンを指定する場合は、ローカル名とその URI の両方を指定する必要があります。 例えば、独自のカスタム・トークンの実装がある場合、 「Local name」フィールドに CustomToken を指定し、さらに http://www.ibm.com/custom を指定できます。
- 「OK」をクリックしてから「保存」をクリックし、構成を保存します。
- トークン・コンシューマー構成の名前をクリックします。
- 「追加プロパティー」の下の「JAAS 構成」をクリックします。 Java Authentication and Authorization Service (JAAS) 構成は、 JAAS ログイン・パネルで定義した JAAS 構成の名前を指定します。 JAAS 構成は、コンシューマー・サイドでトークンがログインする方法を指定します。
- 「JAAS configuration name」フィールドで JAAS 構成を選択します。 このフィールドは、アプリケーション・ログイン構成の JAAS システムの名前を指定します。
「グローバル・セキュリティー」とクリックして、追加の JAAS システムおよびアプリケーション構成を指定することができます。「認証」の下で、「Java Authentication and Authorization Service」をクリックし、「アプリケーション・ログイン」 > 「新規」とクリックするか、または「システム・ログイン」 > 「新規」とクリックします。
JAAS 構成について詳しくは、JAAS 構成の設定を参照してください。 事前定義システムまたはアプリケーション・ログイン構成は除去しないでください。 ただし、これらの構成内では、モジュール・クラス名の追加、 および WebSphere Application Server が各モジュールをロードする順序の指定を行うことができます。 WebSphere Application Server には、以下の事前定義 JAAS 構成が用意されています。
- ClientContainer
- この選択は、クライアント・コンテナー・アプリケーションが使用するログイン構成を指定します。 この構成は、クライアント・コンテナー用のデプロイメント記述子で定義される CallbackHandler アプリケーション・プログラミング・インターフェース (API) を使用します。 この構成を変更する場合は、アプリケーション・ログインの JAAS 構成パネルを参照してください。
- WSLogin
- この選択は、すべてのアプリケーションが、セキュリティー・ランタイムの認証を実行するために、 WSLogin 構成を使用できるかどうかを指定します。 この構成を変更する場合は、アプリケーション・ログインの JAAS 構成パネルを参照してください。
- DefaultPrincipalMapping
- この選択は、J2C 認証データ・エントリーに定義されたプリンシパルにユーザーをマップするために Java 2 Connectors (J2C) によって使用される、ログイン構成を指定します。 この構成を変更する場合は、アプリケーション・ログインの JAAS 構成パネルを参照してください。
- system.LTPA_WEB
- この選択により、サーブレットや JavaServer Pages (JSP) ファイルなどの Web コンテナーによって使用されるログイン要求が処理されます。 この構成を変更する場合は、システム・ログインの JAAS 構成パネルを参照してください。
- system.RMI_OUTBOUND
- この選択で、com.ibm.CSIOutboundPropagationEnabled プロパティー
が true である場合に、
別のサーバーにアウトバウンド送信される RMI 要求を処理します。
このプロパティーは、「CSIv2 authentication」パネルで設定されます。
このパネルにアクセスするには、「セキュリティー」 > 「グローバル・セキュリティー」とクリックします。「認証」の下の「RMI/IIOP セキュリティー > 「CSIv2 アウトバウンド認証」とクリックします。 com.ibm.CSIOutboundPropagationEnabled プロパティーを設定するには、「セキュリティー属性の伝搬」を選択します。 この JAAS ログイン構成を変更する場合は、「JAAS - システム・ログイン」パネルを参照してください。
- system.wssecurity.X509BST
- この選択は、証明書および証明書パスの妥当性を検査することによって、X.509 バイナリー・セキュリティー・トークン (BST) を検査します。 この構成を変更する場合は、システム・ログインの JAAS 構成パネルを参照してください。
- system.wssecurity.PKCS7
- この選択は、証明書チェーン、証明書失効リスト、またはその両方が含まれる可能性がある PKCS7 オブジェクト内で X.509 証明書を検査します。 この構成を変更する場合は、システム・ログインの JAAS 構成パネルを参照してください。
- system.wssecurity.PkiPath
- この選択は、Public Key Infrastructure (PKI) パスで X.509 証明書を検査します。 この構成を変更する場合は、システム・ログインの JAAS 構成パネルを参照してください。
- system.wssecurity.UsernameToken
- この選択は、基本認証 (ユーザー名およびパスワード) データを検査します。 この構成を変更する場合は、システム・ログインの JAAS 構成パネルを参照してください。
- system.wssecurity.IDAssertionUsernameToken
- これを選択すると、バージョン 6 以降のアプリケーションで ID アサーションを使用して、 WebSphere Application Server クリデンシャル・プリンシパルにユーザー名をマップすることが できます。この構成を変更する場合は、システム・ログインの JAAS 構成パネルを参照してください。
- system.WSS_INBOUND
- この選択では、Web Services Security を使用したセキュリティー・トークンの伝搬用のインバウンドまたはコンシューマー要求のログイン構成を指定します。 この構成を変更する場合は、システム・ログインの JAAS 構成パネルを参照してください。
- system.WSS_OUTBOUND
- この選択では、Web Services Security を使用したセキュリティー・トークンの伝搬用のアウトバウンドまたはジェネレーター要求のログイン構成を指定します。 この構成を変更する場合は、システム・ログインの JAAS 構成パネルを参照してください。
- なし
- これを選択する場合、JAAS ログイン構成は指定しません。
- 「OK」をクリックしてから「保存」をクリックして、構成を保存します。
タスクの結果
次のタスク
サブトピック
要求コンシューマー (受信側) バインディング構成の設定
このページを使用して、要求コンシューマーのバインディング構成を指定します。応答コンシューマー (受信側) バインディング構成の設定
このページを使用して、応答コンシューマーのバインディング構成を指定します。JAAS 構成の設定
このページを使用して、JAAS ログイン・パネルで定義した Java Authentication and Authorization Service (JAAS) 構成の名前を指定します。要求コンシューマー (受信側) バインディング構成の設定
このページを使用して、要求コンシューマーのバインディング構成を指定します。応答コンシューマー (受信側) バインディング構成の設定
このページを使用して、応答コンシューマーのバインディング構成を指定します。JAAS 構成の設定
このページを使用して、JAAS ログイン・パネルで定義した Java Authentication and Authorization Service (JAAS) 構成の名前を指定します。


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