WS-AtomicTransaction サポートの構成
ここでは、WS-AtomicTransaction (WS-AT) 構成ユーティリティを使用して WS-AT サポートを構成する方法について説明します。
WS-AT 構成ユーティリティの使用
WS-AT 構成ユーティリティ (wsatConfig.exe) は、WS-AT 設定の構成に使用されます。WS-AT プロトコル サービスを有効にするには、この構成ユーティリティを使用して、WS-AT の HTTPS ポートを構成し、X.509 証明書をその HTTPS ポートにバインドし、証明書のサブジェクト名またはサムプリントを指定して、承認されたパートナーの証明書を構成する必要があります。この構成ユーティリティでは、トレース モードを選択して、送信トランザクションの既定のタイムアウト値と受信トランザクションの最大タイムアウト値を設定することもできます。
このツールの機能は、コンポーネント サービス管理コンソールで Microsoft 管理コンソール (MMC) のプロパティ ページ スナップインを使用するか、またはコマンド ライン ウィンドウから操作できます。WS-AT サポートをローカル コンピュータで構成するには、コマンド ライン ウィンドウを使用し、ローカル コンピュータとリモート コンピュータの両方で設定を構成するには、MMC スナップインを使用します。
コマンド ライン ウィンドウは、Windows SDK のインストール場所の "%WINDIR%\Microsoft.NET\Framework\v3.0\Windows Communication Foundation" で使用できます。
コマンド ライン ツール詳細については、 、「WS-AtomicTransaction Configuration Utility (wsatConfig.exe)」を参照してください。
Windows XP または Windows Server 2003 を実行している場合に、MMC スナップインにアクセスするには、[コントロール パネル]、[管理ツール]、[コンポーネント サービス] の順にクリックし、[マイ コンピュータ] を右クリックして、[プロパティ] を選択します。この場所では、Microsoft 分散トランザクション コーディネータ (MSDTC) を構成することもできます。構成で使用できるオプションは、[WS-AT] タブにグループ化されています。Windows Vista または Windows Server 2008 を実行している場合に、MMC スナップインにアクセスするには、[スタート] ボタンをクリックし、[検索] ボックスに「dcomcnfg.exe
」と入力します。MMC が開いている場合は、[マイ コンピュータ]、[分散トランザクション コーディネータ] ノードの順にクリックし、[ローカル DTC] ノードを右クリックして、[プロパティ] を選択します。構成で使用できるオプションは、[WS-AT] タブにグループ化されています。
MMC スナップイン詳細については、 、「WS-AtomicTransaction Configuration MMC Snap-in」を参照してください。
ツールのユーザー インターフェイスを有効にするには、WsatUI.dll ファイルを登録しておく必要があります。このファイルは、次のパスにあります。
%PROGRAMFILES%\Microsoft SDKs\Windows\v6.0\Bin
製品を登録するには、[コマンド プロンプト] ウィンドウから次のコマンドを実行します。
regasm.exe /codebase WsatUI.dll
WS-AT の有効化
ポート 443 と、ローカル コンピュータ ストアにインストールされている秘密キーを持つ X.509 証明書を使用して、MSDTC 内部で WS-AT プロトコル サービスを有効にするには、wsatConfig.exe ツールを使用して次のコマンドを実行します。
WsatConfig.exe –network:enable –port:443 –endpointCert:<machine|"Issuer\SubjectName"> -accountsCerts:<thumbprint|"Issuer\SubjectName"> -restart
個々のパラメータを、ユーザーの環境に適した値に置き換えます。
MSDTC 内部で WS-AT プロトコル サービスを無効にするには、wsatConfig.exe ツールを使用して次のコマンドを実行します。
WsatConfig.exe –network:disable -restart
2 台のコンピュータ間での信頼の確立
WS-AT プロトコル サービスでは、管理者が、分散トランザクションに参加する個々のアカウントを明示的に承認する必要があります。2 台のコンピュータの管理者である場合は、両方のコンピュータを構成して、相互の信頼関係を確立することができます。それには、コンピュータ間で適切な証明書を交換し、その証明書を適切な証明書ストアにインストールし、wsatConfig.exe ツールを使用して各コンピュータの証明書をお互いの承認済み参加者の証明書リストに追加します。この手順は、WS-AT を使用する 2 台のコンピュータ間で分散トランザクションを実行するために必要です。
次の例では、A と B という 2 台のコンピュータ間で信頼を確立する手順を示します。
証明書の作成とエクスポート
この手順では、MMC 証明書スナップインを使用する必要があります。このスナップインにアクセスするには、[スタート] ボタンをクリックして [ファイル名を指定して実行] をクリックし、入力ボックスに「mmc」と入力して [OK] をクリックします。次に、[コンソール1] ウィンドウで [ファイル] メニューの [スナップインの追加と削除] をクリックし、[追加] をクリックして、[利用できるスタンドアロン スナップイン] ボックスの一覧の [証明書] をクリックします。最後に、管理先として [コンピュータ アカウント] をクリックし、[OK] をクリックします。[証明書] ノードがスナップイン コンソールに表示されます。
信頼を確立するために必要な証明書は、あらかじめ用意されている必要があります。
- コンピュータ A で、MMC 証明書スナップインを使用して既存の証明書 (certA) を LocalMachine\MY (Personal Node) ストアと LocalMachine\ROOT (Trusted Root Certificate Authority Node) ストアにインポートします。証明書を特定のノードにインポートするには、ノードを右クリックして、[すべてのタスク]、[インポート] の順にクリックします。
- コンピュータ B で、MMC 証明書スナップインを使用して、秘密キーを持つ証明書 certB を作成するか取得し、LocalMachine\MY (Personal Node) ストアと LocalMachine\ROOT (Trusted Root Certificate Authority Node) ストアにインポートします。
- certA の秘密キーをファイルにエクスポートします (エクスポートしていない場合)。
- certB の秘密キーをファイルにエクスポートします (エクスポートしていない場合)。
コンピュータ間での相互の信頼関係の確立
- コンピュータ A で、certB のファイルを LocalMachine\MY ストアと LocalMachine\ROOT ストアにインポートします。これによって、コンピュータ A が certB を信頼して通信することを宣言します。
- コンピュータ B で、certA のファイルを LocalMachine\MY ストアと LocalMachine\ROOT ストアにインポートします。これによって、コンピュータ B が certA を信頼して通信することを示します。
この手順が完了すると、2 台のコンピュータ間に信頼が確立されるので、WS-AT を使用して相互に通信するように構成できます。
MSDTC での証明書の使用の構成
WS-AT プロトコル サービスは、クライアントとサーバーの両方として機能するので、このサービスは、受信接続のリッスンと送信接続の開始を実行する必要があります。このため、外部の通信相手と通信するときに使用する証明書と、受信接続を受け入れるときに承認する証明書を MSDTC に設定する必要があります。
これを構成するには、MMC WS-AT スナップインを使用します。このツール詳細については、 、「WS-AtomicTransaction Configuration MMC Snap-in」を参照してください。次の手順では、MSDTC を実行している 2 台のコンピュータ間に信頼を確立する方法を説明します。
- コンピュータ A の設定を構成します。[エンドポイント証明書] に certA を選択します。[承認された証明書] に certB を選択します。
- コンピュータ B の設定を構成します。[エンドポイント証明書] に certB を選択します。[承認された証明書] に certA を選択します。
![]() |
---|
一方のコンピュータからもう一方のコンピュータにメッセージを送信する場合、送信側は、受信側の証明書のサブジェクト名と受信側のコンピュータの名前が一致することを確認します。これらが一致しないと、証明書の確認が失敗し、2 台のコンピュータは通信できなくなります。 ドメインに参加しているコンピュータの名前は完全修飾ドメイン名です。既定では、ワークグループ上のコンピュータの名前は、コンピュータの NetBIOS 名です。ただし、2 台のコンピュータ間で使用されている接続用のドメイン ネーム システム (DNS) サフィックスが存在する場合は、名前に DNS サフィックス含めることもできます。 ワークグループ コンピュータがドメインに参加するときなどにコンピュータの名前を変更した場合は、証明書を再発行するか、DNS サフィックスを手動で構成する必要があります。 |
セキュリティ
一部の MSDTC と WS-AT 関連の設定はそれぞれ、レジストリ HKLM\Software\Microsoft\MSDTC と HKLM\Software\Microsoft\WSAT に格納されるので、必ずこのレジストリ キーをセキュリティで保護し、管理者だけがそのキーに書き込めるようにします。レジストリ エディタで、セキュリティで保護するキーを右クリックし、[アクセス許可] をクリックして該当するアクセス制御を設定します。重要なキーを特権の低いユーザーに対して読み取り専用にしておくことが、システムのセキュリティと整合性を確保するために重要です。
MSDTC を展開する場合、管理者は、すべての MSDTC データの交換がセキュリティで保護されるようにする必要があります。ワークグループの展開では、トランザクションのインフラストラクチャを悪質なユーザーから隔離してください。クラスタの展開では、クラスタ レジストリをセキュリティで保護してください。
トレース
WS-AT プロトコル サービスは、WS-AtomicTransaction Configuration MMC Snap-in ツールを使用して有効化および管理できる、トランザクション固有の統合トレースをサポートします。トレースには、特定のトランザクションに参加した時刻、トランザクションが終了状態に到達した時刻、各トランザクション参加で受け取った結果などを示すデータを含めることができます。トレースは、Service Trace Viewer Tool (SvcTraceViewer.exe) ツールを使用してすべて表示できます。
WS-AT プロトコル サービスは、ETW トレース セッションを通じて統合 ServiceModel トレースもサポートします。これにより、既存のトランザクション トレースに加えて、より詳細な通信固有のトレースが得られます。これらの追加トレースを有効にするには、次の手順を実行します。
- [スタート] ボタン、[ファイル名を指定して実行] の順にクリックし、入力ボックスに「regedit」と入力して、[OK] をクリックします。
- レジストリ エディタの左ペインで、Hkey_Local_Machine\SOFTWARE\Microsoft\WSAT\3.0\ に移動します。
- 右ペインで ServiceModelDiagnosticTracing 値を右クリックし、[変更] をクリックします。
- [値のデータ] 入力ボックスに、次の有効な値のいずれかを入力し、有効にするトレース レベルを指定します。
- 0 : オフ
- 1 : クリティカル
- 3 : エラー (既定値)
- 7 : 警告
- 15 : 情報
- 31 : 詳細
関連項目
その他の技術情報
WS-AtomicTransaction Configuration Utility (wsatConfig.exe)
WS-AtomicTransaction Configuration MMC Snap-in