Настройка поддержки транзакций WS-Atomic

В этой теме описывается, как можно настроить поддержку WS-AtomicTransaction (WS-AT) с помощью программы конфигурации WS-AT.

Использование служебной программы настройки WS-AT

Программа конфигурации WS-AT (wsatConfig.exe) используется для настройки параметров WS-AT. Чтобы включить службу протокола WS-AT, с помощью программы конфигурации следует настроить порт HTTPS для WS-AT, привязать сертификат X.509 к порту HTTPS и настроить сертификаты авторизованных партнеров, указав имена субъектов сертификатов или отпечатки. Программа конфигурации также позволяет выбрать режим трассировки и задать значения времени ожидания по умолчанию для исходящих и максимальных входящих транзакций.

Функциями этой программы можно воспользоваться с помощью оснастки страницы свойств консоли управления (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, перейдя к панель управления/Администратор istrative Tools/Component Services, щелкнув правой кнопкой мыши "Мой компьютер" и выбрав "Свойства". Здесь же можно настроить координатор распределенных транзакций (Майкрософт). Параметры, доступные для настройки, группируются на вкладке WS-AT. Если вы используете Windows Vista или Windows Server 2008, оснастку MMC можно найти, нажав кнопку "Пуск" и введя dcomcnfg.exeполе поиска. При открытии MMC перейдите к узлу "Мой компьютер\координатор распределенных транзакций\Локальный DTC ", щелкните правой кнопкой мыши и выберите "Свойства". Параметры, доступные для настройки, группируются на вкладке WS-AT .

Дополнительные сведения об оснастке см . в оснастке конфигурации WS-AtomicTransaction MMC.

Для работы с пользовательским интерфейсом средства необходимо зарегистрировать файл WsatUI.dll. Путь к этому файлу:

%PROGRAMFILES%\Microsoft SDKs\Windows\v6.0\Bin

Чтобы зарегистрировать продукт, выполните следующую команду в окне командной строки:

regasm.exe /codebase WsatUI.dll

Включение WS-AT

Чтобы включить службу протокола WS-AT в MSDTC с использованием порта 443 и сертификата X.509 с закрытым ключом, установленным в хранилище локального компьютера, используйте средство wsatConfig.exe со следующей командой.

WsatConfig.exe –network:enable –port:8443 –endpointCert:<machine|"Issuer\SubjectName"> -accountsCerts:<thumbprint|"Issuer\SubjectName"> -restart

Замените соответствующие параметры значениями, подходящими для вашей среды.

Чтобы выключить службу протокола WS-AT в MSDTC, используйте средство wsatConfig.exe со следующей командой.

WsatConfig.exe –network:disable -restart

Настройка доверия между двумя компьютерами

Для службы протокола WS-AT требуется, чтобы администратор явно авторизовал отдельные учетные записи для их участия в распределенных транзакциях. Администратор двух компьютеров может настроить оба из них, чтобы они установили взаимно доверенные отношения путем обмена правильным набором сертификатов между компьютерами, их установки в соответствующие хранилища сертификатов и использования средства wsatConfig.exe для добавления сертификата каждого компьютера в список сертификатов авторизованных участников другого компьютера. Эта процедура необходима для выполнения распределенных транзакций между двумя компьютерами с WS-AT.

В следующем примере описываются этапы установления доверия между двумя компьютерами, A и B.

Создание и экспорт сертификатов

Для этой процедуры требуется оснастка диспетчера сертификатов MMC. Чтобы открыть эту оснастку, выберите меню «Пуск - Выполнить», введите «mmc» в поле ввода и нажмите кнопку «ОК». Затем в окне Console1 перейдите к оснастке "Файл или удаление надстройки", нажмите кнопку "Добавить" и выберите "Сертификаты" из списка "Доступные автономные оснастки". Наконец, выберите учетную запись компьютера для управления и нажмите кнопку "ОК". Узел сертификатов отображается в консоли оснастки.

Чтобы установить доверенные отношения, необходимо уже иметь в наличии необходимые сертификаты. Чтобы узнать, как создавать и устанавливать новые сертификаты до следующих шагов, см . инструкции. Создание и установка временных сертификатов клиента в WCF во время разработки.

  1. На компьютере A, использующем оснастку диспетчера сертификатов MMC, импортируйте существующий сертификат (certA) в хранилище LocalMachine\MY (Личный узел) и LocalMachine\ROOT (узел доверенного корневого центра сертификации). Чтобы импортировать сертификат на определенный узел, щелкните узел правой кнопкой мыши и выберите пункт "Все задачи/импорт".

  2. На компьютере B, использующем оснастку диспетчера сертификатов MMC, создайте или получите сертификат (certB) с закрытым ключом и импортируйте его в хранилище LocalMachine\MY (личный узел) и LocalMachine\ROOT (узел доверенного корневого центра сертификации).

  3. Экспортируйте открытый ключ certA в файл, если это еще не сделано.

  4. Экспортируйте открытый ключ certB в файл, если это еще не сделано.

Обеспечение взаимного доверия между компьютерами

  1. На компьютере A импортируйте файловое представление certB в хранилища LocalMachine\MY и LocalMachine\ROOT. Это объявляет, что компьютер A доверяет certB связываться с ним.

  2. На компьютере B импортируйте файл certA в хранилища LocalMachine\MY и LocalMachine\ROOT. Это подразумевает, что компьютер B доверяет certA связываться с ним.

По завершении этих этапов между двумя компьютерами устанавливаются отношения доверия, и их можно настроить таким образом, чтобы они связывались друг с другом с использованием WS-AT.

Настройка MSDTC для использования сертификатов

Поскольку служба протокола WS-AT работает как клиент и как сервер, она должна прослушивать входящие подключения и инициировать исходящие. Поэтому координатор MSDTC необходимо настроить таким образом, чтобы он знал, какой сертификат использовать для связи с внешними сторонами, а какие авторизовывать во время приема входящего подключения.

Это можно осуществить с помощью оснастки MMC WS-AT. Дополнительные сведения об этом средстве см. в разделе оснастки MMC конфигурации WS-AtomicTransaction. Далее описывается, как устанавливать отношения доверия между двумя компьютерами с MSDTC.

  1. Задайте параметры компьютера A. В поле "Сертификат конечной точки" выберите certA. В поле "Авторизованные сертификаты" выберите certB.

  2. Задайте параметры компьютера B. В поле "Сертификат конечной точки" выберите certB. В поле "Авторизованные сертификаты" выберите certA.

Примечание.

Когда один компьютер отправляет сообщение другому компьютеру, отправитель пытается убедиться, что имя субъекта сертификата получателя и имя компьютера получателя совпадают. Если они не совпадают, проверка сертификата завершается ошибкой и оба компьютера не могут связываться друг с другом.

Для компьютера, входящего в состав домена, имя представляет собой полное доменное имя. По умолчанию имя компьютера в рабочей группе — это имя NetBIOS компьютера. Однако имя также может содержать суффикс службы доменных имен (DNS), если он используется для подключения между двумя компьютерами.

Если имя компьютера меняется, например, когда компьютер рабочей группы входит в состав домена, необходимо повторно выдать сертификаты или вручную настроить суффиксы DNS.

Безопасность

Поскольку некоторые параметры, относящиеся к MSDTC и WS-AT, хранятся в реестре в разделе HKLM\Software\Microsoft\MSDTC и HKLM\Software\Microsoft\WSAT соответственно, убедитесь, что эти ключи реестра защищены и только администраторы могут указывать в них значения. В средстве редактора реестра щелкните правой кнопкой мыши ключ, который требуется защитить, и выберите разрешение , чтобы задать соответствующий контроль доступа. Для обеспечения безопасности и целостности системы крайне важно, чтобы для важных ключей был задан атрибут «только для чтения» для пользователей с ограниченными правами доступа.

При развертывании MSDTC администратор должен обеспечить безопасность обмена любыми данными MSDTC. При развертывании рабочей группы изолируйте инфраструктуру транзакций от злоумышленников. При кластерном развертывании защитите реестр кластера.

Трассировка

Служба протокола WS-AT поддерживает интегрированную, зависящую от транзакции трассировку, которую можно включить и управлять с помощью средства оснастки MMC конфигурации WS-AtomicTransaction. Трассировки могут включать в себя данные, указывающие на время создания зачисления для определенной транзакции, время достижения транзакцией конечного состояния и результат, полученный зачислением каждой транзакции. Все трассировки можно просмотреть с помощью средства просмотра трассировки службы (SvcTraceViewer.exe).

Служба протокола WS-AT также поддерживает интегрированную трассировку ServiceModel во время сеанса трассировки ETW. Результатом этого являются более подробные трассировки, относящиеся к связи, в дополнение к существующим трассировкам транзакций. Чтобы включить такие дополнительные трассировки, выполните следующие действия.

  1. Откройте меню "Пуск и запуск", введите "regedit" в поле ввода и нажмите кнопку "ОК".

  2. В редакторе реестра перейдите в следующую папку на левой панели, Hkey_Local_Machine\SOFTWARE\Microsoft\WSAT\3.0\

  3. Щелкните правой кнопкой мыши ServiceModelDiagnosticTracing значение в правой области и выберите " Изменить".

  4. В поле ввода данных "Значение" введите одно из следующих допустимых значений, чтобы указать уровень трассировки, который требуется включить.

  • 0: выключено

  • 1: критично

  • 3: ошибка. Это значение по умолчанию.

  • 7: предупреждение

  • 15: информация

  • 31: подробно

См. также