次の方法で共有


AuditLogLocation 列挙型

定義

セキュリティ関連のイベント ログが書き込まれる場所を指定します。

public enum class AuditLogLocation
public enum AuditLogLocation
type AuditLogLocation = 
Public Enum AuditLogLocation
継承
AuditLogLocation

フィールド

Application 1

イベント ログ内のアプリケーション ログを指定します。

Default 0

既定の場所を指定します。これは、オペレーティング システムによって決定されます。 セキュリティ ログへの書き込みがサポートされている場合 (Windows Vista および Windows Server 2003 以降のプラットフォームなど)、既定のログの場所はセキュリティ ログです。 それ以外の場合 (Windows XP SP2 など)、既定のログの場所はアプリケーション ログです。

Security 2

イベント ログにセキュリティ ログを指定します。 呼び出し元のスレッドは、SeAuditPrivilege をセキュリティ ログに書き込めるようにしておく必要があります。

次の例では、 プロパティを ServiceSecurityAuditBehavior.AuditLogLocation いずれかの値に AuditLogLocation 設定します。

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) アプリケーションを作成する場合は、成功、失敗、またはその両方について、セキュリティに関連するイベントを記録するように指定できます。 ログの場所は、この列挙体によって決定されます。

監査ログのレベルは、MessageAuthenticationAuditLevel クラスの ServiceAuthorizationAuditLevel プロパティまたは ServiceSecurityAuditBehavior プロパティを AuditLevel 値のいずれかに設定することで指定します。

serviceSecurityAudit バインドを使用して監査動作を<指定することもできます。>

重要

プロパティが AuditLogLocation Security に設定されていて Audit Object Access 、 で Local Security Policy設定されていない場合、監査イベントはセキュリティ ログに書き込まれません。 エラーが返らない場合でも、監査エントリはセキュリティ ログに書き込まれません。 さらに、呼び出し元のスレッドは、SeAuditPrivilege をセキュリティ ログに書き込めるようにしておく必要があります。

オペレーティング システムに依存する既定値

プロパティを既定値に設定すると、オペレーティング システムによって、実際に書き込まれるログが決定されます。 詳細については、「監査」を参照してください。

適用対象

こちらもご覧ください