FileSystemAuditRule Klasse

Definition

Stellt eine Abstraktion des Zugriffssteuerungseintrags (ACE) dar, der eine Überwachungsregel für eine Datei oder ein Verzeichnis definiert. Diese Klasse kann nicht vererbt werden.

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 verwendet, um eine Überwachungsregel hinzuzufügen und dann aus einer Datei zu entfernen. Sie müssen ein gültiges Benutzer- oder Gruppenkonto angeben, um dieses Beispiel auszuführen.

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 Zugriffssteuerungseintrags (ACE) dar, der ein Benutzerkonto, den Typ des bereitzustellenden Zugriffs (Lesen, Schreiben usw.) angibt und ob eine Überwachung durchgeführt werden soll. Diese Klasse kann auch angeben, wie Überwachungsregeln von Objekten geerbt und an Objekte weitergegeben werden.

Um die Datei- und Verzeichnisüberwachung unter Windows NT oder höher zuzulassen, müssen Sie die Überwachungsrichtlinie für die Zugriffssicherheit auf Ihrem Computer aktivieren. Standardmäßig ist diese Richtlinie auf Keine Überwachung festgelegt.

Führen Sie die folgenden Schritte aus, um die Richtlinie Zugriffssicherheit überwachen zu aktivieren:

  1. Öffnen Sie das Microsoft Management Console (MMC)-Snap-In Lokale Sicherheitseinstellungen , das sich im Ordner Verwaltung befindet.

  2. Erweitern Sie den Ordner Lokale Richtlinien, und klicken Sie mit der linken Maustaste auf den Ordner Überwachungsrichtlinie.

  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 des Objektzugriffs überwachen anzuzeigen.

  4. Aktivieren Sie die Kontrollkästchen Erfolg oder Fehler , um Erfolge oder Fehler zu protokollieren.

Beachten Sie, dass eine Überwachungsregel für ein Benutzerkonto eine entsprechende Zugriffsregel für dasselbe Benutzerkonto erfordert.

Verwenden Sie die FileSystemAuditRule -Klasse, um eine neue Überwachungsregel zu erstellen. Sie können diese Regel mit der - oder DirectorySecurity -FileSecurityKlasse beibehalten.

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.

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.

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.

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.

Eigenschaften

AccessMask

Ruft die Zugriffsmaske für diese Regel ab.

(Geerbt von AuthorizationRule)
AuditFlags

Ruft die Überwachungsflags für diese Überwachungsregel ab.

(Geerbt von AuditRule)
FileSystemRights

Ruft die FileSystemRights-Flags ab, die dem aktuellen FileSystemAuditRule-Objekt zugeordnet sind.

IdentityReference

Ruft den IdentityReference ab, für den diese Regel gilt.

(Geerbt von AuthorizationRule)
InheritanceFlags

Ruft den Wert von Flags ab, die bestimmen, wie diese Regel von untergeordneten Objekten geerbt wird.

(Geerbt von AuthorizationRule)
IsInherited

Ruft einen Wert ab, der angibt, ob diese Regel explizit festgelegt oder von einem übergeordneten Containerobjekt geerbt wird.

(Geerbt von AuthorizationRule)
PropagationFlags

Ruft den Wert der Weitergabeflags ab, die bestimmen, wie die Vererbung dieser Regel an untergeordnete Objekte weitergegeben wird. Diese Eigenschaft ist nur dann wesentlich, wenn der Wert der InheritanceFlags-Enumeration nicht None ist.

(Geerbt von AuthorizationRule)

Methoden

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Gilt für: