Web Services Atomic Transaction のセキュリティー

Web Services Atomic Transaction (WS-AT) では、プロトコルの一部として使用される固有の内部 Web サービスを定義しています。 これらの内部 Web サービスは、トランザクション開始中と、コミットメント処理またはロールバック処理中に呼び出されます。 その間、WS-AT は両方向の通信を必要とします。 WS-AT では、一般的なファイアウォール環境で動作するには Liberty サーバーの DMZ プロキシーが必要であり、また許可を取得するには HTTPS エンドポイントが必要です。 以下の内容では、Liberty で WS-AT のためにプロキシーおよび Security Socket Layer (SSL) を構成する方法を説明します。

ファイアウォール・プロキシー

Liberty サーバーが一般的なファイアウォール環境にある場合、サーバーは、ファイアウォールを通じて相互に通信できません。 この状況の場合、サーバーが正常に動作するには、DMZ プロキシーが必要です。 プロキシー・エンドポイントの定義は、server.xml ファイルを構成して行えます。

例えば、IBM HTTP Server (IHS) を DMZ プロキシーとして設定します。 図 1 で、 IHS を介して 2 つの Liberty サーバー間で通信するには、次のステップを実行します。
  1. Liberty サーバーに要求を転送するように IHS プラグインを構成します。 詳しくは、 Liberty の Web サーバー・プラグインの構成を参照してください。
    • IHS 1 では、Liberty A に要求を転送するように IHS 1 プラグインを構成し、<UriGroup> 項目に <Uri Name="/ibm/wsatservice/*" /> を追加します。
    • IHS 2 では、Liberty B に要求を転送するように IHS 2 プラグインを構成し、<UriGroup> 項目に <Uri Name="/ibm/wsatservice/*" /> を追加します。
  2. Liberty で server.xml ファイルに externalURLPrefix パラメーターを追加します。
    • Liberty A で、次のようにして externalURLPrefix 値を IHS 1 の http://proxyserver1:80 に設定します。
      <wsAtomicTransaction externalURLPrefix="http://proxyserver1:80"/> 
    • Liberty B で、次のようにして externalURLPrefix 値を IHS 2 の http://proxyserver2:81 に設定します。
      <wsAtomicTransaction externalURLPrefix="http://proxyserver2:81"/> 
図 1. IHS を介した 2 つの Liberty サーバーの通信
Liberty A と Liberty B の間にファイアウォールが存在する場合、Liberty A は IHS 1 を通じて Liberty B に EPRb1 を送信できますが、
Liberty B は EPRb1 の代わりに EPRb を受信します。その逆も同様です。

Security Socket Layer

デフォルトでは、Liberty サーバーは SSL を使用せずに通信します。 WS-AT セキュリティーが必要で、セキュリティー情報がセキュア・ポートにリダイレクトされる場合、 appSecurity-2.0 の Liberty フィーチャーを server.xml ファイルに追加する必要があります。 Liberty およびそのアプリケーションの保護に従って、 Liberty で SSL を有効にすることもできます。

以下の項目に従って、WS-AT セキュリティーに SSL を構成できます。
<wsAtomicTransaction SSLEnabled="false" SSLRef="defaultSSLConfig" clientAuth="false"/>
各部の意味は、次のとおりです。
SSLEnabled
WS-AT に SSL を有効にするかどうかを指定します。有効な値は true と false です。デフォルト値は false です。SSL を有効にするには、これを true に設定します。
SSLRef
server.xml ファイルに SSL 構成を定義します。 WS-AT は、通信にこの SSL 構成を必要とします。
clientAuth
WS-AT に clientAuthentication を有効にするかどうかを指定します。有効な値は true と false です。デフォルト値は false です。 clientAuthentication を有効にするために clientAuth 値を true に設定する前に、必ず、 SSL 構成で clientAuthenticationSupported 値を true に設定してください。
重要: SSL 構成は、Liberty サーバー・レベルのみで適用されます。
ヒント: 以下のコード・スニペットで、デフォルトの SSLEnabled 値は false です。 SSL とプロキシーの両方を有効にする場合は、 SSLEnabled 値を true に設定し、 externalURLPrefix 値を https:// で始まるプロキシー・アドレスに設定します。
<wsAtomicTransaction SSLEnabled="false" SSLRef="defaultSSLConfig" externalURLPrefix="" clientAuth="false"/> 

トピックのタイプを示すアイコン 参照トピック

ファイル名: rwlp_dep_wsat_sec_lib.html