AuditLogLocation AuditLogLocation AuditLogLocation AuditLogLocation Enum

Определение

Задает местоположение для записи журналов событий, относящихся к безопасности.Specifies the location where security-related event logs are written.

public enum class AuditLogLocation
public enum AuditLogLocation
type AuditLogLocation = 
Public Enum AuditLogLocation
Наследование
AuditLogLocationAuditLogLocationAuditLogLocationAuditLogLocation

Поля

Application Application Application Application 1

Задает журнал приложений в журнале событий.Specifies the Application log in the event log.

Default Default Default Default 0

Задает местоположение по умолчанию, определяемое операционной системой.Specifies the default location, which is determined by the operating system. Если запись в журнал безопасности поддерживается (как в Windows VistaWindows Vista и Windows Server 2003Windows Server 2003 и на более поздних платформах), местоположением журнала по умолчанию является журнал безопасности.If writing to the Security log is supported (such as on Windows VistaWindows Vista and Windows Server 2003Windows Server 2003 and later platforms), the default log location is the Security log. В противном случае (например, в Windows XP с пакетом обновления 2 (SP2)Windows XP SP2), местоположением журнала по умолчанию является журнал приложений.Otherwise (such as in Windows XP с пакетом обновления 2 (SP2)Windows XP SP2), the default log location is the Application log.

Security Security Security Security 2

Задает журнал безопасности в журнале событий.Specifies the Security log in the event log. Для записи в журнал безопасности вызывающий поток должен иметь привилегию SeAuditPrivilege.The calling thread must have SeAuditPrivilege to be able to write to the Security log.

Примеры

В следующем примере свойству AuditLogLocation присваивается одно из значений Default.The following example sets the AuditLogLocation property to one of the Default values.

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 

Комментарии

При создании приложения Windows Communication Foundation (WCF), которая требует проверки подлинности или авторизации вызывающих объектов, можно указать, что события, связанные с безопасностью записываться успех, сбой или оба.When creating a Windows Communication Foundation (WCF) application that requires authentication and/or authorization of callers, you can specify that events related to security be recorded for either success, failure, or both. Местоположение журнала определяется этим перечислением.The location of the log is determined by this enumeration.

Уровень журнала аудита задается путем присвоения свойству MessageAuthenticationAuditLevel или свойству ServiceAuthorizationAuditLevel класса ServiceSecurityAuditBehavior одного из значений AuditLevel.The level of the audit log is specified by setting the MessageAuthenticationAuditLevel or the ServiceAuthorizationAuditLevel property of the ServiceSecurityAuditBehavior class to one of the AuditLevel values.

Можно также указать поведение аудита с помощью <serviceSecurityAudit> привязки.You can also specify audit behavior using the <serviceSecurityAudit> binding.

Важно!

Если AuditLogLocation свойству безопасности и Audit Object Access не задано в Local Security Policy, события аудита не записываются в журнал безопасности.If the AuditLogLocation property is set to Security and Audit Object Access is not set in the Local Security Policy, audit events will not be written to the Security log. Ошибка не возвращается, но события аудита не будут регистрироваться в журнале безопасности.No failure is returned, but audit entries will not be written to the Security log. Кроме того, для записи в журнал безопасности вызывающий поток должен иметь привилегию SeAuditPrivilege.In addition, the calling thread must have SeAuditPrivilege to be able to write to the Security log.

Значение по умолчанию, зависящее от операционной системыDefault Dependent on Operating System

При задании свойства значение по умолчанию, определяется операционной системой, будет действительно записываться в какой журнал.When setting the property to the Default value, the operating system determines which log will actually be written to. Дополнительные сведения см. в разделе аудит.For more information, see Auditing.

Применяется к

Дополнительно