Comportamento de auditoria de serviço
Este exemplo demonstra como usar o ServiceSecurityAuditBehavior para habilitar a auditoria de eventos de segurança durante as operações de serviço. Este exemplo é baseado na Introdução. O serviço e o cliente foram configurados usando o <wsHttpBinding>. O atributo mode
da <segurança> foi definido como Message
e clientCredentialType
foi definido como 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 compilação dessa amostra estão no final deste tópico.
O arquivo de configuração de serviço usa o elemento serviceSecurityAudit
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 a amostra, as solicitações de operação e as respostas 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 atributo auditLogLocation
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, a LocalSecurityPolicy–> Habilitar o Acesso ao Objeto deverá ser definido como "Êxito" e "Falha".
Ao examinar o log de eventos, a origem 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 abordam 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 gerado a partir da mensagem de entrada e o tipo do gerenciador de autorização que tomou a decisão de acesso.
Para configurar, compilar, e executar o exemplo
Verifique se você executou o Procedimento de instalação única para os exemplos do Windows Communication Foundation.
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.
Para executar o exemplo em uma configuração de computador único ou em vários, siga as instruções em Como executar os exemplos do Windows Communication Foundation.