Eu não acho que você pode obter esse granular em um log de eventos. Que tal criar um log de eventos personalizado para seu aplicativo e fazer logon nele?
Meu aplicativo ASP.NET precisa ser capaz de gravar no log de eventos do Windows e ler o log de eventos do Windows usando o WMI. Eu não quero que a conta do aplicativo - atualmente NETWORK SERVICE, seja capaz de excluir ou modificar as entradas do log de eventos.
Sim, eu sei que um usuário mal-intencionado ainda seria capaz de limpar o log de eventos, inundando-o até que ele rola, mas eu posso viver com isso.
EDIT: Outra maneira de colocar a questão - existe alguma maneira que eu possa ter meu aplicativo gravar no log de eventos do Windows (aplicativo ou log personalizado) e saber que as entradas de log não foram posteriormente adulteradas pelo aplicativo que escreveu a entrada de log?
EDIT: Se a solução requer o uso de algo diferente da conta padrão NETWORK SERVICE para executar o asp.net, isso também é bom.
Eu não acho que você pode obter esse granular em um log de eventos. Que tal criar um log de eventos personalizado para seu aplicativo e fazer logon nele?
Modificar os direitos de acesso da conta NETWORK SERVICE pode levar a coisas ruins no futuro. Mesmo que isso possa ser feito da maneira que você quer, no mínimo, é outra etapa de configuração para qualquer cliente em potencial fazer, e com a qual eles podem não ficar felizes. Uma regra de ouro não é mexer com a funcionalidade incorporada.
Nesse caso, o NETWORK SERVICE grava outros eventos de outros aplicativos e processos do SO nos logs, e você não quer quebrar isso, não é? Eu não estou tentando ser rude aqui, mas seu aplicativo pode não ser o único na máquina, então ele precisa ser legal.