FileSystemAuditRule Klasse

Definition

Stellt eine Abstraktion des Zugriffssteuerungseintrags (ACE) dar, der eine Überwachungsregel für eine Datei oder ein Verzeichnis definiert.Represents an abstraction of an access control entry (ACE) that defines an audit rule for a file or directory. Diese Klasse kann nicht vererbt werden.This class cannot be inherited.

public ref class FileSystemAuditRule sealed : System::Security::AccessControl::AuditRule
public sealed class FileSystemAuditRule : System.Security.AccessControl.AuditRule
[System.Security.SecurityCritical]
public sealed class FileSystemAuditRule : System.Security.AccessControl.AuditRule
type FileSystemAuditRule = class
    inherit AuditRule
[<System.Security.SecurityCritical>]
type FileSystemAuditRule = class
    inherit AuditRule
Public NotInheritable Class FileSystemAuditRule
Inherits AuditRule
Vererbung
FileSystemAuditRule
Attribute

Beispiele

Im folgenden Codebeispiel wird die FileSystemAuditRule -Klasse zum Hinzufügen und anschließenden Entfernen einer Überwachungs Regel aus einer Datei verwendet.The following code example uses the FileSystemAuditRule class to add and then remove an audit rule from a file. Sie müssen ein gültiges Benutzer- oder Gruppenkonto angeben, um dieses Beispiel auszuführen.You must supply a valid user or group account to run this example.

using System;
using System.IO;
using System.Security.AccessControl;

namespace FileSystemExample
{
    class FileExample
    {
        public static void Main()
        {
            try
            {
                string FileName = "test.xml";

                Console.WriteLine("Adding access control entry for " + FileName);

                // Add the access control entry to the file.
                AddFileAuditRule(FileName, @"MYDOMAIN\MyAccount", FileSystemRights.ReadData, AuditFlags.Failure);

                Console.WriteLine("Removing access control entry from " + FileName);

                // Remove the access control entry from the file.
                RemoveFileAuditRule(FileName, @"MYDOMAIN\MyAccount", FileSystemRights.ReadData, AuditFlags.Failure);

                Console.WriteLine("Done.");
            }
            catch (IOException e)
            {
                Console.WriteLine("Unable to open the file: " + e.Message);
            }
            catch (PrivilegeNotHeldException e)
            {
                Console.WriteLine("The current account does not have the correct privileges: " + e.Message);
            }

            Console.ReadLine();
        }

        // Adds an ACL entry on the specified file for the specified account.
        public static void AddFileAuditRule(string FileName, string Account, FileSystemRights Rights, AuditFlags AuditRule)
        {

            // Get a FileSecurity object that represents the
            // current security settings.
            FileSecurity fSecurity = File.GetAccessControl(FileName);

            // Add the FileSystemAuditRule to the security settings.
            fSecurity.AddAuditRule(new FileSystemAuditRule(Account,
                                                            Rights,
                                                            AuditRule));

            // Set the new access settings.
            File.SetAccessControl(FileName, fSecurity);
        }

        // Removes an ACL entry on the specified file for the specified account.
        public static void RemoveFileAuditRule(string FileName, string Account, FileSystemRights Rights, AuditFlags AuditRule)
        {

            // Get a FileSecurity object that represents the
            // current security settings.
            FileSecurity fSecurity = File.GetAccessControl(FileName);

            // Add the FileSystemAuditRule to the security settings.
            fSecurity.RemoveAuditRule(new FileSystemAuditRule(Account,
                                                            Rights,
                                                            AuditRule));

            // Set the new access settings.
            File.SetAccessControl(FileName, fSecurity);
        }
    }
}
Imports System.IO
Imports System.Security.AccessControl



Module FileExample

    Sub Main()
        Try
            Dim FileName As String = "test.xml"

            Console.WriteLine("Adding access control entry for " + FileName)

            ' Add the access control entry to the file.
            AddFileAuditRule(FileName, "MYDOMAIN\MyAccount", FileSystemRights.ReadData, AuditFlags.Failure)

            Console.WriteLine("Removing access control entry from " + FileName)

            ' Remove the access control entry from the file.
            RemoveFileAuditRule(FileName, "MYDOMAIN\MyAccount", FileSystemRights.ReadData, AuditFlags.Failure)

            Console.WriteLine("Done.")
        Catch e As IOException
            Console.WriteLine("Unable to open the file: " & e.Message)
        Catch e As PrivilegeNotHeldException
            Console.WriteLine("The current account does not have the correct privileges: " & e.Message)
        End Try

        Console.ReadLine()

    End Sub


    ' Adds an ACL entry on the specified file for the specified account.
    Sub AddFileAuditRule(ByVal FileName As String, ByVal Account As String, ByVal Rights As FileSystemRights, ByVal AuditRule As AuditFlags)


        ' Get a FileSecurity object that represents the 
        ' current security settings.
        Dim fSecurity As FileSecurity = File.GetAccessControl(FileName)

        ' Add the FileSystemAuditRule to the security settings. 
        fSecurity.AddAuditRule(New FileSystemAuditRule(Account, Rights, AuditRule))

        ' Set the new access settings.
        File.SetAccessControl(FileName, fSecurity)

    End Sub


    ' Removes an ACL entry on the specified file for the specified account.
    Sub RemoveFileAuditRule(ByVal FileName As String, ByVal Account As String, ByVal Rights As FileSystemRights, ByVal AuditRule As AuditFlags)

        ' Get a FileSecurity object that represents the 
        ' current security settings.
        Dim fSecurity As FileSecurity = File.GetAccessControl(FileName)

        ' Add the FileSystemAuditRule to the security settings. 
        fSecurity.RemoveAuditRule(New FileSystemAuditRule(Account, Rights, AuditRule))

        ' Set the new access settings.
        File.SetAccessControl(FileName, fSecurity)

    End Sub
End Module

Hinweise

Die- FileSystemAuditRule Klasse stellt eine Abstraktion eines zugrunde liegenden Zugriffs Steuerungs Eintrags (ACE) dar, der ein Benutzerkonto, den Zugriffstyp (lesen, schreiben usw.) angibt und angibt, ob eine Überwachung durchgeführt werden soll.The FileSystemAuditRule class represents an abstraction of an underlying access control entry (ACE) that specifies a user account, the type of access to provide (read, write, and so on), and whether to perform auditing. Diese Klasse kann auch angeben, wie Überwachungsregeln von geerbt und an Objekte weitergegeben werden.This class can also specify how audit rules are inherited from and propagated to objects.

Um die Datei-und Verzeichnis Überwachung unter Windows NT oder höher zuzulassen, müssen Sie die Überwachungs Zugriffs-Sicherheitsrichtlinie auf dem Computer aktivieren.To permit file and directory auditing on Windows NT or later, you must enable Audit Access Security policy on your machine. Standardmäßig ist diese Richtlinie auf keine Überwachung festgelegt.By default, this policy is set to No Auditing.

Führen Sie die folgenden Schritte aus, um die Überwachungs Zugriffs-Sicherheitsrichtlinie zu aktivieren:To enable the Audit Access Security policy, perform the following steps:

  1. Öffnen Sie das Microsoft Management Console (MMC)-Snap-in " Lokale Sicherheitseinstellungen ", das sich im Ordner "Verwaltung" befindet.Open the Local Security Settings Microsoft Management Console (MMC) snap-in, located in the Administrative Tools folder.

  2. Erweitern Sie den Ordner Lokale Richtlinien, und klicken Sie auf den Ordner Überwachungsrichtlinie.Expand the Local Policies folder and left-click the Audit Policy folder.

  3. Doppelklicken Sie im rechten Bereich des MMC-Snap-Ins auf den Eintrag Objektzugriff überwachen, oder klicken Sie mit der rechten Maustaste, und wählen Sie Eigenschaften aus, um das Dialogfeld Eigenschaften von Objektzugriff überwachen anzuzeigen.Double-click the Audit object access entry on the right pane of the MMC snap-in, or right-click and choose Properties to display the Audit object access properties dialog box.

  4. Aktivieren Sie die Kontrollkästchen erfolgreich oder Fehler , um Erfolge oder Fehler zu protokollieren.Select the Success or Failure check boxes to log successes or failures.

Beachten Sie, dass für eine Überwachungs Regel für ein Benutzerkonto eine entsprechende Zugriffs Regel für das gleiche Benutzerkonto erforderlich ist.Note that an audit rule for a user account requires a corresponding access rule for the same user account.

Verwenden Sie die- FileSystemAuditRule Klasse, um eine neue Überwachungs Regel zu erstellen.Use the FileSystemAuditRule class to create a new audit rule. Sie können diese Regel mit der- FileSecurity Klasse oder der- DirectorySecurity Klasse beibehalten.You can persist this rule using the FileSecurity or DirectorySecurity class.

Konstruktoren

FileSystemAuditRule(IdentityReference, FileSystemRights, AuditFlags)

Initialisiert eine neue Instanz der FileSystemAuditRule-Klasse mit einem Verweis auf ein Benutzerkonto, einem Wert, der den Vorgangstyp angibt, der der Überwachungsregel zugeordnet ist sowie einem Wert, der den Zeitpunkt der Überwachung angibt.Initializes a new instance of the FileSystemAuditRule class using a reference to a user account, a value that specifies the type of operation associated with the audit rule, and a value that specifies when to perform auditing.

FileSystemAuditRule(IdentityReference, FileSystemRights, InheritanceFlags, PropagationFlags, AuditFlags)

Initialisiert eine neue Instanz der FileSystemAuditRule-Klasse mit dem Namen eines Verweises auf ein Benutzerkonto, einem Wert, der den der Überwachungsregel zugeordneten Vorgangstyp angibt, einem Wert, der die Vererbung von Berechtigungen angibt, einem Wert, der die Weitergabe von Berechtigungen festlegt, sowie einem Wert, der angibt, zu welchem Zeitpunkt die Überwachung erfolgt.Initializes a new instance of the FileSystemAuditRule class using the name of a reference to a user account, a value that specifies the type of operation associated with the audit rule, a value that determines how rights are inherited, a value that determines how rights are propagated, and a value that specifies when to perform auditing.

FileSystemAuditRule(String, FileSystemRights, AuditFlags)

Initialisiert eine neue Instanz der FileSystemAuditRule-Klasse mithilfe eines Benutzerkontonamens, eines Werts, der den der Überwachungsregel zugeordneten Vorgangstyp angibt, sowie eines Werts, der den Zeitpunkt der Überwachung angibt.Initializes a new instance of the FileSystemAuditRule class using a user account name, a value that specifies the type of operation associated with the audit rule, and a value that specifies when to perform auditing.

FileSystemAuditRule(String, FileSystemRights, InheritanceFlags, PropagationFlags, AuditFlags)

Initialisiert eine neue Instanz der FileSystemAuditRule-Klasse mithilfe des Namens eines Benutzerkontos, eines Werts, der den der Überwachungsregel zugeordneten Vorgangstyp angibt, eines Werts, der die Vererbung von Berechtigungen angibt, eines Werts, der die Weitergabe von Berechtigungen angibt, sowie eines Werts, der angibt, zu welchem Zeitpunkt die Überwachung erfolgt.Initializes a new instance of the FileSystemAuditRule class using the name of a user account, a value that specifies the type of operation associated with the audit rule, a value that determines how rights are inherited, a value that determines how rights are propagated, and a value that specifies when to perform auditing.

Eigenschaften

AccessMask

Ruft die Zugriffsmaske für diese Regel ab.Gets the access mask for this rule.

(Geerbt von AuthorizationRule)
AuditFlags

Ruft die Überwachungsflags für diese Überwachungsregel ab.Gets the audit flags for this audit rule.

(Geerbt von AuditRule)
FileSystemRights

Ruft die FileSystemRights-Flags ab, die dem aktuellen FileSystemAuditRule-Objekt zugeordnet sind.Gets the FileSystemRights flags associated with the current FileSystemAuditRule object.

IdentityReference

Ruft den IdentityReference ab, für den diese Regel gilt.Gets the IdentityReference to which this rule applies.

(Geerbt von AuthorizationRule)
InheritanceFlags

Ruft den Wert von Flags ab, die bestimmen, wie diese Regel von untergeordneten Objekten geerbt wird.Gets the value of flags that determine how this rule is inherited by child objects.

(Geerbt von AuthorizationRule)
IsInherited

Ruft einen Wert ab, der angibt, ob diese Regel explizit festgelegt oder von einem übergeordneten Containerobjekt geerbt wird.Gets a value indicating whether this rule is explicitly set or is inherited from a parent container object.

(Geerbt von AuthorizationRule)
PropagationFlags

Ruft den Wert der Weitergabeflags ab, die bestimmen, wie die Vererbung dieser Regel an untergeordnete Objekte weitergegeben wird.Gets the value of the propagation flags, which determine how inheritance of this rule is propagated to child objects. Diese Eigenschaft ist nur dann wesentlich, wenn der Wert der InheritanceFlags-Enumeration nicht None ist.This property is significant only when the value of the InheritanceFlags enumeration is not None.

(Geerbt von AuthorizationRule)

Methoden

Equals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.Determines whether the specified object is equal to the current object.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.Serves as the default hash function.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Geerbt von Object)

Gilt für: