Compartilhar via


Comportamento de auditoria de serviço

Este exemplo demonstra como usar o ServiceSecurityAuditBehavior para possibilitar a auditoria de eventos de segurança durante operações de serviço. Este exemplo é baseado no Começando. O serviço e o cliente foram configurados usando o <wsHttpBinding>. O atributo mode da <segurança> foi definido para Message e clientCredentialType foi definido para Windows. Nesta amostra, o cliente é um aplicativo de console (.exe) e o serviço é hospedado pelos Serviços de Informações da Internet (IIS).

Observação

O procedimento de instalação e as instruções de build para este exemplo estão localizados no final deste tópico.

O arquivo de configuração de serviço usa o serviceSecurityAudit elemento para configurar a auditoria.

<behaviors>
  <serviceBehaviors>
    <behavior name="CalculatorServiceBehavior">
      ...
<!-- serviceSecurityAudit allows specification of audit location
     and whether to audit success, failure or both. This service
     logs success and failure of messageAuthentication
     to the default location -->
     <serviceSecurityAudit auditLogLocation ="Default" messageAuthenticationAuditLevel = "SuccessOrFailure" />
    </behavior>
  </serviceBehaviors>
</behaviors>

Quando você executa o exemplo, as solicitações e respostas da operação são exibidas na janela do console do cliente. Pressione ENTER na janela do console para desligar o cliente.

Os logs de auditoria resultantes podem ser vistos executando o Visualizador de Eventos. Por padrão, no Windows XP, os eventos de auditoria podem ser vistos no Log de Aplicativos enquanto no Windows Server 2003 e no Windows Vista, os eventos de auditoria podem ser vistos no Log de Segurança. No Windows Server 2008 e no Windows 7, os eventos de auditoria podem ser vistos nos logs de Aplicativos e Serviços. O local dos eventos de auditoria pode ser especificado definindo o auditLogLocation atributo como "Aplicativo" ou "Segurança". Para obter mais informações, consulte Como auditar eventos de segurança. Se os eventos forem gravados no log de segurança, o LocalSecurityPolicy-> Enable Object Access deverá ser definido como "Êxito" e "Falha".

Ao examinar o log de eventos, a fonte dos eventos de auditoria é "ServiceModel Audit 3.0.0.0". Os registros de auditoria de autenticação de mensagem têm uma categoria de "MessageAuthentication", enquanto os registros de auditoria de autorização de serviço têm uma categoria de "ServiceAuthorization".

Os eventos de auditoria de autenticação de mensagem abrangem se a mensagem foi adulterada, se a mensagem expirou e se o cliente pode se autenticar no serviço. Eles fornecem informações sobre se a autenticação foi bem-sucedida ou falhou junto com a identidade do cliente e o ponto de extremidade para o qual a mensagem foi enviada junto com a ação associada à mensagem.

Os eventos de auditoria de autorização de serviço abrangem a decisão de autorização tomada por um gerente de autorização de serviço. Eles fornecem informações sobre se a autorização foi bem-sucedida ou falhou junto com a identidade do cliente, o ponto de extremidade para o qual a mensagem foi enviada, a ação associada à mensagem, o identificador do contexto de autorização que foi gerado a partir da mensagem de entrada e o tipo do gerente de autorização que tomou a decisão de acesso.

Para configurar, compilar e executar o exemplo

  1. Verifique se você executou o Procedimento de instalação avulsa dos exemplos do Windows Communication Foundation.

  2. Para compilar a edição .NET do C# ou do Visual Basic da solução, siga as instruções contidas em Como Compilar as Amostras do Windows Communication Foundation.

  3. Para executar o exemplo em uma configuração de computador único ou cruzado, siga as instruções em Executar os exemplos do Windows Communication Foundation.

Consulte também