トラステッド ID エバリュエーター

トラステッド ID エバリュエーターは、指定された ID 名が信頼できるかどうかを評価するメカニズムです。

JAX-RPC プログラミング・モデルでのトラステッド ID エバリュエーターの使用

JAX-RPC プログラミング・モデルでは、トラステッド ID エバリュエーター com.ibm.wsspi.wssecurity.id.TrustedIDEvaluatorImpl は、指定された ID 名が信頼できるかどうかを評価するメカニズムを抽象化したものです。JAX-RPC を使用している場合に、アップストリーム・サーバーの信頼性を検証するためのトラスト・モードには、以下の 2 つがあります。
基本認証 (ユーザー名トークン)
アップストリーム・サーバーは、 ユーザー名とパスワードを持つユーザー名トークンをダウンストリーム・サーバーに送信します。 メッセージのコンシューマーまたは受信側は、ユーザー名トークンを認証し、 TrustedIDEvaluator 実装に基づいて信頼性を検証します。 TrustedIDEvaluator 実装は、 com.ibm.wsspi.wssecurity.id.TrustedIDEvaluator Java™ インターフェースを実装する必要があります。
シグニチャー
アップストリーム・サーバーはメッセージに署名します。 このメッセージは SOAP 本体など、 メッセージのどのパーツであってもかまいません。 アップストリーム・サーバーは、X.509 トークンをダウンストリーム・サーバーに送信します。 メッセージのコンシューマーまたは受信側は、 シグニチャーを検査し、X.509 トークンを検証します。 デジタル署名で使用される X.509 トークンからの ID または識別名は、TrustedIDEvaluator 実装に基づいて検証されます。 TrustedIDEvaluator 実装は、 com.ibm.wsspi.wssecurity.id.TrustedIDEvaluator Java インターフェースを実装する必要があります。X.509 証明書の場合、WebSphere® Application Server は、 要求側 ID として証明書内の識別名を使用します。

以下の図は、両方のプログラミング・モデルの ID アサーション・トラスト・プロセスを示したものです。

JAX-RPC に対する ID アサーションの信頼性検証

JAX-WS に対する ID アサーションの信頼性検証

この図では、サーバー s1 がアップストリーム・サーバーであり、s1 とサーバー s2 の間で ID アサーションがセットアップされています。s1 サーバーが、bob という名前の ID を認証します。 サーバー s1 は、bob をパスワードとともに s2 サーバーに送信しようとします。 トラスト・モードは、ID とパスワードを含んだ s1 クレデンシャルです。 サーバー s2 は、要求を受信し、 Java Authentication and Authorization Service (JAAS) ログイン・モジュールを使用してユーザーを認証し、 トラステッド ID エバリュエーターを使用して、この ID を信頼するかどうかを判別します。ID が信頼されると、 bob はサービスを呼び出す呼び出し元として使用されます。 許可が必要な場合、bob は、許可検査に使用される ID となります。

ID は現行セキュリティー・コンテキストの RunAs (呼び出し) ID として表明することができます。 例えば、Web サービス・ゲートウェイは、パスワード認証などの保護方式を使用して要求側を認証してから、要求側 ID のみをバックエンド・サーバーに送信します。ID アサーションは、別の Web Services Security 実装とのインターオペラビリティーのために使用することもできます。

JAX-RPC 実装によっては、以下のようなさまざまなタイプのインフラストラクチャーを使用して、トラステッド ID のリストを保管できます。
  • プレーン・テキスト・ファイル
  • データベース
  • Lightweight Directory Access Protocol (LDAP) サーバー

トラステッド ID エバリュエーターは通常、複数ホップ環境内の最終受信側によって使用されます。 Web Services Security 実装は、トラステッド ID エバリュエーターを呼び出し、仲介ホストの ID 名をパラメーターとして渡します。ID が評価され、信頼性が認められると、手続きが進められます。 それ以外の場合は、例外が生成され、手続きは停止されます。

プログラミング・モデルでのトラステッド ID エバリュエーターの使用

JAX-WS プログラミング・モデルでは、実装は異なっていますが、トラステッド ID エバリュエーターについて同じ概念がサポートされています。JAX-WS ランタイムの場合は、管理コンソールを使用して、呼び出し元のバインディング・パネルで「ID アサーションを使用」オプションを使用します。このオプションは、トラステッド ID トークン・タイプを定義し、1 つ以上のトラステッド ID のリストを定義します。トラステッド ID エバリュエーターは、トラステッド ID のリストと照合してトラステッド ID トークンを検証します。トラステッド ID のリストについて詳しくは、トピック『トークンまたはメッセージ・パーツの呼び出し元の順序の変更』を参照してください。

WebSphere Application Server バージョン 6.1 以降の場合、リクエスター・ログインをサポートするために、Caller エレメントおよび TrustMethod エレメントが使用されます。リクエスターがメッセージを仲介ホストに送信すると、そのメッセージはサービスにディスパッチされます。セキュリティー情報に基づき、サービスはリクエスターに代わってログインを実行します。場合によっては複数のセキュリティー・トークンが存在するため、どれを使用するかをサービスが決定しなければなりません。リクエスター ID が ID アサーションとして組み込まれている場合、サービスは仲介ホストをどのように信頼するかを指定できます。以下の仲介ホスト・シナリオがサポートされています。

<BasicAuth, null, null>
認証にはリクエスターのユーザー名とパスワードが使用されます。この場合、認証はリクエスターのプロパティーを使用して実行されるため、認証にはパスワードが必要です。
<Signature, null, null>
認証にはリクエスターのシグニチャーが使用されます。
<IDAssertion, Username, null>
リクエスターの確認には、リクエスターのユーザー名 (パスワードはなし) が使用されます。ID アサーションとして UsernameToken トークンが使用されるため、ユーザー名に加えてパスワードを指定する必要はありません。この場合、サービスは仲介ホストを無条件で信頼します。
<IDAssertion, Username, Username>
リクエスターの確認にはリクエスターのユーザー名 (パスワードはなし) が使用され、仲介ホストの認証には仲介ホストのユーザー名とパスワードが使用されます。トラステッド ID を確立するために UsernameToken トークンが使用された場合、そのトークンは常にパスワードを必要とします。これは、このトークンの目的は仲介ホストとサービスの間に信頼関係を確立することにあるためです。
<IDAssertion, Username, X509>
リクエスターの確認にはリクエスターのユーザー名 (パスワードはなし) が使用され、仲介ホストの認証には仲介ホストのシグニチャーが使用されます。この場合、仲介ホストのシグニチャーのトラステッド ID は X.509 証明書を使用して確立する必要があります。
<IDAssertion, X509, null>
リクエスターの ID は X.509 証明書を使用して確立されます。この場合、リクエスターの X.509 証明書は、証明書の所有を証明するためにシグニチャーを提供しないため、サービスは仲介ホストを無条件で信頼します。
<IDAssertion, X509, Username>
リクエスターの ID は X.509 証明書を使用して確立され、仲介ホストの認証には仲介ホストのユーザー名とパスワードが使用されます。トラステッド ID を確立するために UsernameToken トークンが使用された場合、そのトークンは常にパスワードを必要とします。これは、このトークンの目的が仲介ホストとサービスの間に信頼関係を確立することにあるためです。
<IDAssertion, X509, X509>
リクエスターの ID は、X.509 証明書を使用して確立され、仲介ホストの認証には仲介ホストのシグニチャーが使用されます。

トピックのタイプを示すアイコン 概念トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cwbs_trustidevalv6
ファイル名:cwbs_trustidevalv6.html