FileSystemAuditRule Klasse

Definition

Stellt eine Abstraktion eines Zugriffssteuerungseintrags (Access Control Entry, 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 aus einer Datei hinzuzufügen und dann 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 (Access Control Entry, ACE) dar, der ein Benutzerkonto, den Typ des bereitzustellenden Zugriffs (Lesen, Schreiben usw.) angibt und ob die Überwachung ausgeführt werden soll. Diese Klasse kann auch angeben, wie Überwachungsregeln von Objekten geerbt und an Objekte weitergegeben werden.

Um die Datei- und Verzeichnisüberwachung auf Windows NT oder höher zuzulassen, müssen Sie die Richtlinie "Zugriffssicherheit überwachen" auf Ihrem Computer aktivieren. Diese Richtlinie ist standardmäßig auf "Keine Überwachung" festgelegt.

Führen Sie die folgenden Schritte aus, um die Überwachungszugriffssicherheitsrichtlinie zu aktivieren:

  1. Öffnen Sie das Snap-In Local Security Settings Microsoft Management Console (MMC), das sich im Ordner "Verwaltungstools" 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 Überwachungsobjektzugriffs " 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 mithilfe der Klasse oder FileSecurity der DirectorySecurity Klasse beibehalten.

Konstruktoren

Name Beschreibung
FileSystemAuditRule(IdentityReference, FileSystemRights, AuditFlags)

Initialisiert eine neue Instanz der FileSystemAuditRule Klasse mithilfe eines Verweises auf ein Benutzerkonto, einen Wert, der den Typ des Vorgangs angibt, der der Überwachungsregel zugeordnet ist, und einen Wert, der angibt, wann die Überwachung ausgeführt werden soll.

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

Initialisiert eine neue Instanz der FileSystemAuditRule Klasse mithilfe des Namens eines Verweises auf ein Benutzerkonto, einen Wert, der den Typ des Vorgangs angibt, der mit der Überwachungsregel verknüpft ist, einen Wert, der bestimmt, wie Rechte geerbt werden, ein Wert, der bestimmt, wie Rechte weitergegeben werden, und einen Wert, der angibt, wann die Überwachung durchgeführt werden soll.

FileSystemAuditRule(String, FileSystemRights, AuditFlags)

Initialisiert eine neue Instanz der FileSystemAuditRule Klasse mit einem Benutzerkontonamen, einem Wert, der den Typ des Vorgangs angibt, der der Überwachungsregel zugeordnet ist, und einen Wert, der angibt, wann die Überwachung ausgeführt werden soll.

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

Initialisiert eine neue Instanz der FileSystemAuditRule Klasse mit dem Namen eines Benutzerkontos, einem Wert, der den Typ des Vorgangs angibt, der der Überwachungsregel zugeordnet ist, einen Wert, der bestimmt, wie Rechte geerbt werden, ein Wert, der bestimmt, wie Rechte weitergegeben werden, und einen Wert, der angibt, wann die Überwachung durchgeführt werden soll.

Eigenschaften

Name Beschreibung
AccessMask

Ruft die Zugriffsmaske für diese Regel ab.

(Geerbt von AuthorizationRule)
AuditFlags

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

(Geerbt von AuditRule)
FileSystemRights

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

IdentityReference

Ruft ab IdentityReference , auf die diese Regel angewendet wird.

(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 Verteilungskennzeichnungen ab, die bestimmen, wie die Vererbung dieser Regel an untergeordnete Objekte weitergegeben wird. Diese Eigenschaft ist nur dann wichtig, wenn der Wert der InheritanceFlags Enumeration nicht Noneist.

(Geerbt von AuthorizationRule)

Methoden

Name Beschreibung
Equals(Object)

Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht.

(Geerbt von Object)
GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
ToString()

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

(Geerbt von Object)

Gilt für: