AuditLogLocation Enumerazione

Definizione

Specifica il percorso in cui vengono scritti i registri eventi di sicurezza.

public enum class AuditLogLocation
public enum AuditLogLocation
type AuditLogLocation = 
Public Enum AuditLogLocation
Ereditarietà
AuditLogLocation

Campi

Application 1

Specifica come registro eventi il Registro applicazioni.

Default 0

Specifica la posizione predefinita, determinata dal sistema operativo. Se la scrittura nel log di sicurezza è supportata, ad esempio nelle piattaforme Windows Vista e Windows Server 2003 e successive, il percorso del log predefinito è il log di sicurezza. In caso contrario, ad esempio in Windows XP SP2, il percorso del log predefinito è il registro applicazioni.

Security 2

Specifica come registro eventi il Registro sicurezza. Per poter scrivere nel registro sicurezza, il thread chiamante deve disporre del privilegio SeAuditPrivilege.

Esempio

Nell'esempio seguente la ServiceSecurityAuditBehavior.AuditLogLocation proprietà viene impostata su uno dei AuditLogLocation valori :

public static void Main()
{
    // Get base address from appsettings in configuration.
    Uri baseAddress = new Uri(ConfigurationManager.
        AppSettings["baseAddress"]);

    // Create a ServiceHost for the CalculatorService type
    // and provide the base address.
    using (ServiceHost serviceHost = new
        ServiceHost(typeof(CalculatorService), baseAddress))
    {
        // Create a new auditing behavior and set the log location.
        ServiceSecurityAuditBehavior newAudit =
            new ServiceSecurityAuditBehavior();
        newAudit.AuditLogLocation =
            AuditLogLocation.Application;
        newAudit.MessageAuthenticationAuditLevel =
            AuditLevel.SuccessOrFailure;
        newAudit.ServiceAuthorizationAuditLevel =
            AuditLevel.SuccessOrFailure;
        newAudit.SuppressAuditFailure = false;
        // Remove the old behavior and add the new.
        serviceHost.Description.
            Behaviors.Remove<ServiceSecurityAuditBehavior>();
        serviceHost.Description.Behaviors.Add(newAudit);
        // Open the ServiceHostBase to create listeners
        // and start listening for messages.
        serviceHost.Open();

        // The service can now be accessed.
        Console.WriteLine("The service is ready.");
        Console.WriteLine("Press <ENTER> to terminate service.");
        Console.WriteLine();
        Console.ReadLine();

        // Close the ServiceHostBase to shutdown the service.
        serviceHost.Close();
    }
}
Public Shared Sub Main() 
    ' Get base address from appsettings in configuration.
    Dim baseAddress As New Uri(ConfigurationManager.AppSettings("baseAddress"))
    
    ' Create a ServiceHost for the CalculatorService type 
    ' and provide the base address.
    Dim serviceHost As New ServiceHost(GetType(CalculatorService), baseAddress)
    Try
        ' Create a new auditing behavior and set the log location.
        Dim newAudit As New ServiceSecurityAuditBehavior()
        newAudit.AuditLogLocation = AuditLogLocation.Application
        newAudit.MessageAuthenticationAuditLevel = _
            AuditLevel.SuccessOrFailure
        newAudit.ServiceAuthorizationAuditLevel = _
            AuditLevel.SuccessOrFailure
        newAudit.SuppressAuditFailure = False
        ' Remove the old behavior and add the new.
        serviceHost.Description.Behaviors.Remove(Of ServiceSecurityAuditBehavior)
        serviceHost.Description.Behaviors.Add(newAudit)
        ' Open the ServiceHostBase to create listeners 
        ' and start listening for messages.
        serviceHost.Open()
        
        ' The service can now be accessed.
        Console.WriteLine("The service is ready.")
        Console.WriteLine("Press <ENTER> to terminate service.")
        Console.WriteLine()
        Console.ReadLine()
        
        ' Close the ServiceHostBase to shutdown the service.
        serviceHost.Close()
    Finally
    End Try

End Sub

Commenti

Quando si crea un'applicazione Windows Communication Foundation (WCF) che richiede l'autenticazione e/o l'autorizzazione dei chiamanti, è possibile specificare che gli eventi correlati alla sicurezza vengano registrati per esito positivo, negativo o entrambi. Il percorso del registro viene determinato in base a questa enumerazione.

Per definire il livello del registro di controllo è possibile impostare la proprietà MessageAuthenticationAuditLevel o la proprietà ServiceAuthorizationAuditLevel della classe ServiceSecurityAuditBehavior su uno dei valori dell'enumerazione AuditLevel.

È anche possibile specificare il comportamento di controllo usando l'associazione <serviceSecurityAudit> .

Importante

Se la AuditLogLocation proprietà è impostata su Sicurezza e Audit Object Access non è impostata in Local Security Policy, gli eventi di controllo non verranno scritti nel log di sicurezza. Benché non venga restituito alcun errore, le voci di controllo non vengono scritte nel registro sicurezza. Inoltre, per poter scrivere nel registro sicurezza, il thread chiamante deve disporre del privilegio SeAuditPrivilege.

Determinazione del registro predefinito in base al sistema operativo

Quando si imposta la proprietà sul valore Default, il sistema operativo determina il log in cui verrà effettivamente scritto. Per altre informazioni, vedere Controllo.

Si applica a

Vedi anche