このタスクは、アプリケーション・レベルでトークン・コンシューマーを指定するために必要なステップを説明しています。
情報はコンシューマー・サイドで使用され、セキュリティー・トークンを取り込みます。
以下のステップを完了して、アプリケーション・レベルでトークン・コンシューマーを構成します。
- WebSphere® Application Server 管理コンソールで、「Token consumer」パネルを位置指定します。
- 「アプリケーション」>「エンタープライズ・アプリケーション」>「application_name」の順にクリックします。
- 「関連項目」の下で、「EJB モジュール」または「Web モジュール」>「URI_name」の順にクリックします。
- 「追加プロパティー」の下で、以下のバインディングのトークン・コンシューマーにアクセスできます。
- 要求コンシューマー (受信側) バインディングについては、「Web services: Server security bindings」をクリックします。
「Request consumer (receiver) binding」の下で、「Edit custom」をクリックします。
- 応答コンシューマー (受信側) バインディングについては、「Web サービス: クライアント・セキュリティー・バインディング」をクリックします。
「Response consumer (receiver) binding」の下で、「Edit custom」をクリックします。
- 「Required properties」の下で、「Token consumer」をクリックします。
- 「新規」をクリックしてトークン・コンシューマー構成を作成し、「削除」をクリックして既存の構成を削除するか、既存のトークン・コンシューマー構成の名前をクリックしてその設定を編集します。 新しい構成を作成する場合は、「Token consumer name」フィールド内に固有の名前を入力します。
例えば、con_signtgen と指定します。
- 「Token consumer class name」フィールドでクラス名を指定します。 トークン・コンシューマー・クラスは com.ibm.wsspi.wssecurity.token.TokenConsumerComponent インターフェースを実装する必要があります。
要求コンシューマーと応答コンシューマーのトークン・コンシューマー・クラス名は、要求ジェネレーターと応答ジェネレーターのトークン生成プログラム・クラス名と類似である必要があります。
例えば、アプリケーションがユーザー名トークン・コンシューマーを必要とする場合、アプリケーション・レベルの「Token generator」パネル上で com.ibm.wsspi.wssecurity.token.UsernameTokenGenerator クラス名を、このフィールド内に com.ibm.wsspi.wssecurity.token.UsernameTokenConsumer クラス名を指定できます。
- オプション: 「Part reference」フィールドでパーツ参照を選択します。 パーツ参照は、デプロイメント記述子で定義されるセキュリティー・トークンの名前を示します。例えば、要求メッセージでユーザー名トークンを受信した場合、ユーザー名トークン・コンシューマー内でトークンを参照します。
重要: アプリケーション・レベルで、デプロイメント記述子内にセキュリティー・トークンを指定しない場合、「Part reference」フィールドは表示されません。デプロイメント記述子内で user_tcon という名前のセキュリティー・トークンを定義した場合、「Part reference」フィールド内のオプションとして、user_tcon が表示されます。
- オプション: パネルの「証明書パス」セクションで証明書ストア・タイプを選択し、必要ならばトラスト・アンカーと証明書ストア名を示します。 これらのオプションとフィールドは、com.ibm.wsspi.wssecurity.token.X509TokenConsumer をトークン・コンシューマー・クラス名として指定する場合に必要です。
トラスト・アンカーとコレクション証明書ストアの名前は、トークン・コンシューマーの下の証明書パス内で作成されます。
以下のオプションの 1 つを選択できます。
- なし
- このオプションを選択すると、証明書パスは指定されません。
- すべてを信頼
- このオプションを選択すると、すべての証明書が信頼されます。受信されたトークンが利用されたとき、アプリケーション・サーバーは証明書パスを検証しません。
- 専用署名情報
- このオプションを選択すると、トラスト・アンカーと証明書ストア構成を選択できます。
トラスト・アンカーまたはトラステッド証明書の証明書ストアを選択した場合、証明書パスを設定する前に、トラスト・アンカーと証明書ストアを構成する必要があります。
- トラスト・アンカー
- トラスト・アンカーは、トラステッド・ルート証明書を含む鍵ストア構成のリストを指定します。
これらの構成は、着信 X.509 フォーマットのセキュリティー・トークンの証明書パスを検証するのに使用されます。
トラスト・アンカー内の鍵ストア・オブジェクトは、CertPath
API によって使用され証明書チェーンの信頼性を検証するトラステッド・ルート証明書を含んでいます。
install_dir/java/jre/bin/keytool ファイル内にある鍵ツール・ユーティリティーを使用して鍵ストア・ファイルを作成する必要があります。
以下のステップを実行することによって、アプリケーション・レベルのトラスト・アンカーを構成できます。
- 「アプリケーション」>「エンタープライズ・アプリケーション」>「application_name」の順にクリックします。
- 「関連項目」の下で、「EJB モジュール」または「Web モジュール」>「URI_name」の順にクリックします。
- 以下のバインディングからトークン・コンシューマーにアクセスします。
- 要求コンシューマー (受信側) バインディングについては、「Web services: Server security bindings」をクリックします。
「Request consumer (receiver) binding」の下で、「Edit custom」をクリックします。
- 応答コンシューマー (受信側) バインディングについては、「Web サービス: クライアント・セキュリティー・バインディング」をクリックします。
「Response consumer (receiver) binding」の下で、「Edit custom」をクリックします。
- 「追加プロパティー」の下で、「Trust anchors」をクリックします。
- コレクション証明書ストア
- コレクション証明書ストアには、非トラステッド中間証明書のリストと証明書失効リスト (CRL) が含まれています。
コレクション証明書ストアは、着信 X.509 フォーマットのセキュリティー・トークンの証明書パスを検証するのに使用されます。
以下のステップを実行することによって、アプリケーション・レベルのコレクション証明書ストアを構成できます。
- 「アプリケーション」>「エンタープライズ・アプリケーション」>「application_name」の順にクリックします。
- 「関連項目」の下で、「EJB モジュール」または「Web モジュール」>「URI_name」の順にクリックします。
- 以下のバインディングからトークン・コンシューマーにアクセスします。
- 要求コンシューマー (受信側) バインディングについては、「Web services: Server security bindings」をクリックします。
「Request consumer (receiver) binding」の下で、「Edit custom」をクリックします。
- 応答コンシューマー (受信側) バインディングについては、「Web サービス: クライアント・セキュリティー・バインディング」をクリックします。
「Response consumer (receiver) binding」の下で、「Edit custom」をクリックします。
- 「追加プロパティー」の下で、「Collection certificate store」をクリックします。
- オプション: トラステッド ID エバリュエーターを指定します。 トラステッド ID エバリュエーターは、受信した ID を信頼するかどうかを判別します。
以下のオプションの 1 つを選択できます。
- なし
- このオプションを選択すると、トラステッド ID エバリュエーターは指定されません。
- 既存のエバリュエーター定義
- このオプションを選択すると、構成済みのトラステッド ID エバリュエーターのいずれかを選択できます。
例えば、例として 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 サービス・セキュリティー・サービス・プロバイダー・プログラミング・インターフェースのデフォルト実装 を参照してください。
注: アプリケーション・レベルの代わりにサーバー・レベルでトラステッド ID エバリュエーターを定義します。
サーバー・レベルでトラステッド ID エバリュエーターを定義するには、以下のステップを実行します。
- 「サーバー」>「アプリケーション・サーバー」>「server_name」の順にクリックします。
- 「セキュリティー」の下で、「Web services: Default bindings for Web services security」をクリックします。
- 「追加プロパティー」の下で、「Trusted ID evaluators」をクリックします。
- 「新規」をクリックして、新規のトラステッド ID エバリュエーターを定義します。
トラステッド ID エバリュエーター構成は、サーバー・サイドのアプリケーション・レベル上のトークン・コンシューマーに対してのみ使用可能です。
- オプション: 「Verify nonce」オプションを選択します。 このオプションは、nonce がトークン・コンシューマーに指定されている場合、それをユーザー名トークン内で検証するかどうかを示します。
nonce はメッセージに組み込まれた固有の暗号数値であり、
ユーザー名トークンの、繰り返される未許可の攻撃を防ぐのに役立ちます。
「Verify nonce」オプションは、取り込みトークン・タイプがユーザー名トークンである場合のみ有効です。
- オプション: 「Verify timestamp」オプションを選択します。 このオプションは、ユーザー名トークン内のタイム・スタンプを検証するかどうかを示します。
「Verify nonce」オプションは、取り込みトークン・タイプがユーザー名トークンである場合のみ有効です。
- 「Local name」フィールドで値タイプのローカル名を指定します。 このフィールドは、利用されたトークンの値タイプのローカル名を指定します。
ユーザー名トークンおよび X.509 証明書セキュリティー・トークンの場合、WebSphere
Application Server には、値タイプの事前定義されたローカル名があります。
以下のローカル名のいずれかを指定する場合、値タイプの URI を指定する必要はありません。
- http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#UsernameToken
- このローカル名はユーザー名トークンを指定します。
- http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509
- このローカル名は X.509 証明書トークンを指定します。
- http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509PKIPathv1
- このローカル名は、Public Key Infrastructure (PKI) パスにある X.509 証明書を指定します。
- http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#PKCS7
- このローカル名は、X.509 証明書のリストおよび証明書失効リストを PKCS#7 形式で指定します。
- LTPA
- このローカル名は Lightweight Third Party Authentication (LTPA) トークンを指定します。
重要: 値タイプのローカル名の LTPA を指定する場合は、値タイプの Uniform Resource Identifier
(URI)、http://www.ibm.com/websphere/appserver/tokentype/5.0.2 を指定する必要はありません。
- オプション: 「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 システムおよびアプリケーション構成を指定することができます。
「認証」の下で、「JAAS 構成」をクリックし、「アプリケーション・ログイン」>「新規」または「システム・ログイン」>「新規」のいずれかをクリックします。
事前定義システムまたはアプリケーション・ログイン構成は除去しないでください。
ただし、これらの構成内では、モジュール・クラス名の追加、および WebSphere
Application Server が各モジュールをロードする順序の指定を行うことができます。
WebSphere Application Server には、以下の定義済み JAAS 構成が用意されています。
- ClientContainer
- この選択は、クライアント・コンテナー・アプリケーションが使用するログイン構成を指定します。
この構成は、クライアント・コンテナーのデプロイメント記述子内で定義される CallbackHandler アプリケーション・プログラミング・インターフェース (API) を使用します。この構成を変更するには、アプリケーション・ログイン用の「JAAS 構成」パネルを参照してください。
- WSLogin
- この選択は、すべてのアプリケーションが、セキュリティー・ランタイムの認証を実行するために、WSLogin 構成を使用できるかどうかを指定します。この構成を変更するには、アプリケーション・ログイン用の「JAAS 構成」パネルを参照してください。
- DefaultPrincipalMapping
- この選択は、J2C 認証データ・エントリーに定義されたプリンシパルにユーザーをマップするために
Java 2 Connectors (J2C) が使用するログイン構成を指定します。
この構成を変更するには、アプリケーション・ログイン用の「JAAS 構成」パネルを参照してください。
- system.wssecurity.IDAssertion
- この選択によって、バージョン 5.x アプリケーションが ID 表明を使用してユーザー名を WebSphere Application Server クリデンシャル・プリンシパルへマップすることが可能になります。
この構成を変更する場合は、システム・ログインの「JAAS 構成」パネルを参照してください。
- system.wssecurity.Signature
- この選択によって、バージョン 5.x アプリケーションが署名済み証明書の識別名 (DN) を WebSphere Application Server クリデンシャル・プリンシパルへマップすることが可能になります。この構成を変更する場合は、システム・ログインの「JAAS 構成」パネルを参照してください。
- system.LTPA_WEB
- この選択は、サーブレットおよび JavaServer Pages (JSP) ファイルのような Web コンテナーが使用するログイン要求を処理します。
この構成を変更する場合は、システム・ログインの「JAAS 構成」パネルを参照してください。
- system.WEB_INBOUND
- この選択により、サーブレットおよび JavaServer Pages (JSP) ファイルが含まれる Web アプリケーションのログイン要求が処理されます。
このログイン構成は、WebSphere Application Server バージョン 5.1.1 によって使用されます。
この構成を変更する場合は、システム・ログインの「JAAS 構成」パネルを参照してください。
- system.RMI_INBOUND
- この選択により、インバウンド・リモート・メソッド呼び出し (RMI) 要求のログインが処理されます。
このログイン構成は、WebSphere Application Server バージョン 5.1.1 によって使用されます。
この構成を変更する場合は、システム・ログインの「JAAS 構成」パネルを参照してください。
- system.DEFAULT
- この選択により、内部認証、および Web アプリケーションと RMI 要求を除く他のほとんどのプロトコルによって実行されるインバウンド要求のログインが処理されます。
このログイン構成は、WebSphere Application Server バージョン 5.1.1 によって使用されます。
この構成を変更する場合は、システム・ログインの「JAAS 構成」パネルを参照してください。
- system.RMI_OUTBOUND
- この選択により、
com.ibm.CSI.rmiOutboundLoginEnabled または com.ibm.CSIOutboundPropagationEnabled プロパティーのどちらかが
true である場合に、別のサーバーにアウトバウンド送信される RMI 要求が処理されます。
これらのプロパティーは、「CSIv2 authentication」パネルで設定されます。
パネルにアクセスするには、「セキュリティー」>「グローバル・セキュリティー」とクリックします。
「認証」の下で、
「認証プロトコル」>「CSIv2 アウトバウンド認証」とクリックします。
com.ibm.CSI.rmiOutboundLoginEnabled プロパティーを設定するには、「カスタム・アウトバウンド・マッピング」オプションを選択します。
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 構成」パネルを参照してください。
- なし
- これを選択する場合、JAAS ログイン構成は指定しません。
- 「OK」をクリックし、次に「保管」をクリックして構成を保管します。
アプリケーション・レベルのトークン・コンシューマーが構成されました。
同様のアプリケーション・レベルのトークン生成プログラム構成を指定する必要があります。