Настройка поддержки транзакций 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 (wsatConfig.exe).
Чтобы открыть оснастку консоли MMC в Windows XP или Windows Server 2003, выберите Панель управления/Администрирование/Службы компонентов/, щелкните правой кнопкой мыши Мой компьютер и выберите Свойства. Здесь же можно настроить координатор распределенных транзакций (Майкрософт). Доступные для настройки параметры сгруппированы на вкладке WS-AT. Чтобы найти оснастку консоли MMC в Windows Vista или Windows Server 2008, нажмите кнопку Пуск и введите dcomcnfg.exe
в поле Поиск. После открытия консоли MMC перейдите к узлу Мой компьютер\Координатор распределенных транзакций\Локальный DTC, щелкните правой кнопкой мыши и выберите Свойства. Доступные для настройки параметры сгруппированы на вкладке WS-AT.
Дополнительные сведения оснастке см. в разделе Оснастка консоли MMC для конфигурации WS-AtomicTransaction.
Для работы с пользовательским интерфейсом средства необходимо зарегистрировать файл 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» в поле ввода и нажмите кнопку «ОК». Затем в окне Консоль1 перейдите к оснастке Файл/Добавить-удалить, нажмите «Добавить» и выберите Сертификаты в списке Доступные изолированные оснастки. Наконец, выберите необходимую Учетную запись компьютера и нажмите ОК. В консоли оснастки появится узел Сертификаты.
Чтобы установить доверенные отношения, необходимо уже иметь в наличии необходимые сертификаты. Прежде чем выполнить следующие шаги, см. дополнительные сведения о создании и установке новых сертификатов в разделе How to: Create and Install Temporary Client Certificates in WCF During Development.
На компьютере A, использующем оснастку диспетчера сертификатов MMC, импортируйте существующий сертификат (certA) в хранилище LocalMachine\MY (Личный узел) и LocalMachine\ROOT (узел доверенного корневого центра сертификации). Чтобы импортировать сертификат в специальный узел, щелкните правой кнопкой мыши узел и выберите Все задачи/импорт.
На компьютере B, использующем оснастку диспетчера сертификатов MMC, создайте или получите сертификат (certB) с закрытым ключом и импортируйте его в хранилище LocalMachine\MY (Личный узел) и LocalMachine\ROOT (узел доверенного корневого центра сертификации).
Экспортируйте открытый ключ certA в файл, если это еще не сделано.
Экспортируйте открытый ключ certB в файл, если это еще не сделано.
Установка взаимного доверия между компьютерами
На компьютере A импортируйте файловое представление certB в хранилища LocalMachine\MY и LocalMachine\ROOT. Это объявляет, что компьютер A доверяет certB связываться с ним.
На компьютере B импортируйте файл certA в хранилища LocalMachine\MY и LocalMachine\ROOT. Это подразумевает, что компьютер B доверяет certA связываться с ним.
По завершении этих этапов между двумя компьютерами устанавливаются отношения доверия, и их можно настроить таким образом, чтобы они связывались друг с другом с использованием WS-AT.
Настройка MSDTC для использования сертификатов
Поскольку служба протокола WS-AT работает как клиент и как сервер, она должна прослушивать входящие подключения и инициировать исходящие. Поэтому координатор MSDTC необходимо настроить таким образом, чтобы он знал, какой сертификат использовать для связи с внешними сторонами, а какие авторизовывать во время приема входящего подключения.
Это можно настроить с помощью оснастки MMC WS-AT. Дополнительные сведения этом средстве см. в теме Оснастка консоли MMC для конфигурации WS-AtomicTransaction. Далее описывается, как устанавливать отношения доверия между двумя компьютерами с MSDTC.
Задайте параметры компьютера A. Для «Сертификата конечной точки» выберите certA. Для «Авторизованных сертификатов» выберите certB.
Задайте параметры компьютера B. Для «Сертификата конечной точки» выберите certB. Для «Авторизованных сертификатов» выберите certA.
Примечание |
---|
Когда один компьютер отправляет сообщение другому, отправитель пытается проверить совпадение имени субъекта сертификата получателя и имени компьютера получателя. Если они не совпадают, проверка сертификата завершается ошибкой и оба компьютера не могут связываться друг с другом. Для компьютера, входящего в состав домена, имя представляет собой полное доменное имя. По умолчанию имя компьютера в рабочей группе является именем NetBIOS компьютера. Однако имя также может содержать суффикс службы доменных имен (DNS), если он используется для соединения двух компьютеров. Если имя компьютера меняется, например, когда компьютер рабочей группы входит в состав домена, необходимо повторно выдать сертификаты или вручную настроить суффиксы DNS. |
Безопасность
Поскольку некоторые параметры, относящиеся к MSDTC и WS-AT, хранятся в реестре в разделе HKLM\Software\Microsoft\MSDTC и HKLM\Software\Microsoft\WSAT соответственно, убедитесь, что эти ключи реестра защищены и только администраторы могут указывать в них значения. В редакторе реестра щелкните правой кнопкой мыши ключ, который следует защитить, и выберите Разрешения..., чтобы задать соответствующее управление доступом. Для обеспечения безопасности и целостности системы крайне важно, чтобы для важных ключей был задан атрибут «только для чтения» для пользователей с ограниченными правами доступа.
При развертывании MSDTC администратор должен обеспечить безопасность обмена любыми данными MSDTC. При развертывании рабочей группы изолируйте инфраструктуру транзакций от злоумышленников. При кластерном развертывании защитите реестр кластера.
Трассировка
Служба протокола WS-AT поддерживает интегрированную трассировку, относящуюся к транзакциям, она включается и управляется с помощью средства Оснастка консоли MMC для конфигурации WS-AtomicTransaction. Трассировки могут включать в себя данные, указывающие на время создания зачисления для определенной транзакции, время достижения транзакцией конечной формы, результат, полученный зачислением каждой транзакции, и т. д. Все трассировки можно просмотреть с помощью средства Программа Service Trace Viewer (SvcTraceViewer.exe).
Служба протокола WS-AT также поддерживает интегрированную трассировку ServiceModel во время сеанса трассировки ETW. Результатом этого являются более подробные трассировки, относящиеся к связи, в дополнение к существующим трассировкам транзакций. Чтобы включить такие дополнительные трассировки, выполните следующие действия.
Откройте меню Пуск — Выполнить, введите "regedit" в поле ввода и нажмите ОК.
В Редакторе реестра перейдите в следующую папку в левой панели: Hkey_Local_Machine\SOFTWARE\Microsoft\WSAT\3.0\
Щелкните правой кнопкой мыши значение ServiceModelDiagnosticTracing в правой панели и выберите Изменить.
В поле ввода Значение введите одно из следующих допустимых значений, чтобы указать уровень трассировки, который требуется включить.
0: выключено
1: критично
3: ошибка. Это значение по умолчанию
7: предупреждение
15: информация
31: подробно
См. также
Справочник
Программа конфигурации WS-AtomicTransaction (wsatConfig.exe)