Configurar suporte de transações de WS-Atomic
Este tópico descreve como você pode configurar o suporte WS-AtomicTransaction (WS-AT) usando o Utilitário de Configuração do WS-AT.
Usar o utilitário de configuração WS-AT
O Utilitário de Configuração do WS-AT (wsatConfig.exe) é usado para definir as configurações do WS-AT. Para habilitar o serviço de protocolo WS-AT, você deve usar o utilitário de configuração para configurar a porta HTTPS para WS-AT, associar um certificado X.509 à porta HTTPS e configurar certificados de parceiros autorizados especificando nomes de entidade de certificado ou impressões digitais. O utilitário de configuração também permite que você selecione o modo de rastreamento e defina tempos limites de transação de saída padrão e máximo de entrada.
Você pode acessar a funcionalidade dessa ferramenta usando um snap-in da página de propriedades do Console de Gerenciamento da Microsoft (MMC) no console de gerenciamento dos Serviços de Componentes ou em uma janela de linha de comando. Configure o suporte do WS-AT no computador local por meio da janela de linha de comando; defina as configurações em computadores locais e remotos usando o snap-in do MMC.
A janela de linha de comando pode ser acessada no local de instalação do SDK do Windows "%WINDIR%\Microsoft.NET\Framework\v3.0\Windows Communication Foundation".
Para obter mais informações sobre a ferramenta de linha de comando, consulte WS-AtomicTransaction Configuration Utility (wsatConfig.exe).
Se estiver executando o Windows XP ou o Windows Server 2003, você pode acessar o snap-in do MMC navegando até o Painel de Controle/Ferramentas Administrativas/Serviços de Componentes, clicando com o botão direito do mouse em Meu Computador e selecionando Propriedades. Esse é o mesmo local em que você pode configurar o MSDTC (Coordenador de Transações Distribuídas da Microsoft). As opções disponíveis para configuração são agrupadas na guia WS-AT. Se você estiver executando o Windows Vista ou o Windows Server 2008, o snap-in do MMC pode ser encontrado clicando no botão Iniciar e inserindo dcomcnfg.exe
na caixa Pesquisar. Quando o MMC for aberto, navegue até o nó Meu Computador\Coordenador de Transações Distribuídas\DTC Local, clique com o botão direito do mouse e selecione Propriedades. As opções disponíveis para configuração são agrupadas na guia WS-AT.
Para obter mais informações sobre o snap-in, consulte o Snap-in do MMC de Configuração do WS-AtomicTransaction.
Para habilitar a interface do usuário da ferramenta, primeiro você deve registrar o arquivo WsatUI.dll, localizado no caminho a seguir
%PROGRAMFILES%\Microsoft SDKs\Windows\v6.0\Bin
Para registrar o produto, execute o seguinte comando em uma janela do Prompt de Comando:
regasm.exe /codebase WsatUI.dll
Habilitar o WS-AT
Para habilitar o serviço de protocolo WS-AT dentro do MSDTC usando a porta 443 e um certificado X.509 com uma chave privada que foi instalada no repositório de máquinas local, use a ferramenta wsatConfig.exe com o comando a seguir.
WsatConfig.exe –network:enable –port:8443 –endpointCert:<machine|"Issuer\SubjectName"> -accountsCerts:<thumbprint|"Issuer\SubjectName"> -restart
Substitua os respectivos parâmetros por valores relevantes para seu ambiente.
Para desabilitar o serviço de protocolo WS-AT dentro do MSDTC, use a ferramenta wsatConfig.exe com o comando a seguir.
WsatConfig.exe –network:disable -restart
Configurar a confiança entre dois computadores
O serviço de protocolo WS-AT exige que o administrador autorize explicitamente contas individuais a participar de transações distribuídas. Se você for um administrador de dois computadores, pode configurar ambos os computadores para estabelecer uma relação de confiança mútua trocando o conjunto certo de certificados entre os computadores, instalando-os nos repositórios de certificados apropriados e usando a ferramenta wsatConfig.exe para adicionar o certificado de cada computador à lista de certificados de participantes autorizados. Essa etapa é necessária para executar transações distribuídas entre dois computadores usando o WS-AT.
O exemplo a seguir descreve as etapas para estabelecer a confiança entre dois computadores A e B.
Criar e exportar certificados
Esse procedimento requer o snap-in de Certificados MMC. O snap-in pode ser acessado abrindo o menu Iniciar/Executar, digitando "mmc" na caixa de entrada e pressionando OK. Em seguida, na janela Console1, navegue até o Snap-in Arquivo/Adicionar-Remover, clique em Adicionar e escolha Certificados na lista snapins autônomos disponíveis. Por fim, selecione Conta de Computador para gerenciar e clique em OK. O nó Certificados é exibido no console de snap-in.
Você já deve possuir os certificados necessários para estabelecer a confiança. Para saber como criar e instalar novos certificados antes das etapas a seguir, confira Como criar e instalar certificados de cliente temporários no WCF durante o desenvolvimento.
No computador A, usando o snap-in certificados MMC, importe o certificado existente (certA) para o repositório LocalMachine\MY (Nó Pessoal) e LocalMachine\ROOT (nó de autoridade de certificação raiz confiável). Para importar um certificado para um nó específico, clique com o botão direito do mouse no nó e escolha Todas as tarefas/Importar.
No computador B, usando o snap-in certificados MMC, crie ou obtenha um certificadoB com uma chave privada e importe-o para o repositório LocalMachine\MY (Nó pessoal) e LocalMachine\ROOT (nó de autoridade de certificação raiz confiável).
Exporte a chave pública do certificado A para um arquivo se ainda não tiver sido feito.
Exporte a chave pública do certificado B para um arquivo se ainda não tiver sido feito.
Estabeleça confiança mútua entre computadores
No computador A, importe a representação de arquivo do certificadoB para os repositórios LocalMachine\MY e LocalMachine\ROOT. Isso declara que o computador A confia no certificadoB para se comunicar com ele.
No computador B, importe o arquivo do certificado A para os repositórios LocalMachine\MY e LocalMachine\ROOT. Isso implica que o computador B confie no certificado A para se comunicar com ele.
Depois de concluir essas etapas, a confiança é estabelecida entre os dois computadores e podem ser configurados para se comunicar entre si usando o WS-AT.
Configurar o MSDTC para usar certificados
Como o serviço de protocolo WS-AT atua como um cliente e um servidor, ele deve escutar conexões de entrada e iniciar conexões de saída. Portanto, você precisa configurar o MSDTC para que entender qual certificado usar ao se comunicar com partes externas e quais certificados autorizar ao aceitar a comunicação de entrada.
Você pode configurá-lo usando o snap-in do MMC WS-AT. Para obter mais informações sobre o snap-in, consulte o Snap-in do MMC de Configuração do WS-AtomicTransaction. As etapas a seguir descrevem como estabelecer a confiança entre dois computadores que executam o MSDTC.
Defina as configurações do computador A. Para "Certificado do Ponto de Extremidade", selecione certificado A. Para "Certificados Autorizados", selecione certificado B.
Defina as configurações do computador B. Para "Certificados do Ponto de Extremidade", selecione certificado B. Para "Certificados Autorizados", selecione certificado A.
Observação
Quando um computador envia uma mensagem para outro computador, o remetente tenta verificar se o nome do certificado do destinatário e o nome do computador do destinatário correspondem. Se não corresponderem, a verificação de certificado não é feita e os dois computadores não poderão se comunicar.
Para um computador que entrou em um domínio, o nome é o nome de domínio totalmente qualificado. Por padrão, o nome de um computador em um grupo de trabalho é o nome NetBIOS do computador. No entanto, o nome também pode incluir um sufixo DNS (Sistema de Nomes de Domínio), se houver um para a conexão que está sendo usada entre os dois computadores.
Se o nome do computador for alterado, por exemplo, quando um computador de grupo de trabalho ingressar em um domínio, você deve reemitir certificados ou configurar manualmente sufixos DNS.
Segurança
Como algumas das configurações relacionadas ao MSDTC e ao WS-AT são armazenadas no registro HKLM\Software\Microsoft\MSDTC e no HKLM\Software\Microsoft\WSAT, respectivamente, verifique se essas chaves do registro estão protegidas para que apenas os administradores possam gravar neles. Na ferramenta Editor do Registro, clique com o botão direito do mouse na chave que você deseja proteger e selecione Permissão para definir o controle de acesso apropriado. É crucial para a segurança e a integridade do sistema que chaves importantes sejam somente leitura para usuários de baixo privilégio.
Ao implantar o MSDTC, o administrador deve garantir que o intercâmbio de dados do MSDTC seja seguro. Em uma implantação de grupo de trabalho, isole a infraestrutura de transação de usuários mal-intencionados; em uma implantação de cluster, proteja o registro de cluster.
Rastreamento
O serviço de protocolo WS-AT oferece suporte ao rastreamento integrado e específico de transações que podem ser habilitados e gerenciados por meio do uso da ferramenta Snap-in do MMC de configuração de WS-AtomicTransaction. Os rastreamentos podem incluir dados que indicam a hora em que uma inscrição é feita para uma transação específica, a hora em que uma transação atinge seu estado final, o resultado recebido por cada inscrição de transação. Todos os rastreamentos podem ser exibidos usando a ferramenta de visualizador de rastreamento de serviço (SvcTraceViewer.exe).
O serviço de protocolo WS-AT também dá suporte ao rastreamento integrado do ServiceModel por meio da sessão de rastreamento do ETW. Assim, fornece rastreamentos mais detalhados e específicos de comunicação, além de rastreamentos de transação existentes. Para habilitar esses rastreamentos adicionais, siga estas etapas
Abra o menu Iniciar/Executar, digite "regedit" na caixa de entrada e selecione OK.
No Editor do Registro, navegue até a pasta a seguir no painel esquerdo: Hkey_Local_Machine\SOFTWARE\Microsoft\WSAT\3.0\
Clique com o botão direito do mouse no
ServiceModelDiagnosticTracing
valor do painel direito e selecione Modificar.Na caixa de entrada de dados do Valor, insira um dos seguintes valores válidos para especificar o nível de rastreamento desejado para habilitar.
0: desativado
1: crítico
3: erro. Esse é o valor padrão.
7: aviso
15: informações
31: verbose