FileSystemAuditRule Classe

Definizione

Rappresenta un'astrazione di una voce di controllo di accesso (ACE, Access Control Entry) che definisce una regola di controllo per un file o una directory.Represents an abstraction of an access control entry (ACE) that defines an audit rule for a file or directory. La classe non può essere ereditata.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
Ereditarietà
FileSystemAuditRule
Attributi

Esempio

Nell'esempio di codice seguente viene usata la FileSystemAuditRule classe per aggiungere e quindi rimuovere una regola di controllo da un file.The following code example uses the FileSystemAuditRule class to add and then remove an audit rule from a file. È necessario specificare un utente valido o un account di gruppo per eseguire questo esempio.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

Commenti

La FileSystemAuditRule classe rappresenta un'astrazione di una voce di controllo di accesso (ACE) sottostante che specifica un account utente, il tipo di accesso da fornire (lettura, scrittura e così via) e se eseguire il controllo.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. Questa classe può inoltre specificare il modo in cui le regole di controllo vengono ereditate e propagate agli oggetti.This class can also specify how audit rules are inherited from and propagated to objects.

Per consentire il controllo di file e directory in Windows NT o versione successiva, è necessario abilitare i criteri di sicurezza dell'accesso di controllo nel computer.To permit file and directory auditing on Windows NT or later, you must enable Audit Access Security policy on your machine. Per impostazione predefinita, questo criterio è impostato su nessun controllo.By default, this policy is set to No Auditing.

Per abilitare i criteri di sicurezza dell'accesso di controllo, seguire questa procedura:To enable the Audit Access Security policy, perform the following steps:

  1. Aprire lo snap-in impostazioni di protezione locali di Microsoft Management Console (MMC), che si trova nella cartella strumenti di amministrazione.Open the Local Security Settings Microsoft Management Console (MMC) snap-in, located in the Administrative Tools folder.

  2. Espandere la cartella Criteri locali e fare clic sulla cartella criteri di controllo.Expand the Local Policies folder and left-click the Audit Policy folder.

  3. Fare doppio clic sulla voce Controlla accesso agli oggetti nel riquadro destro dello snap-in MMC oppure fare clic con il pulsante destro del mouse e scegliere Proprietà per visualizzare la finestra di dialogo Controlla proprietà di accesso agli oggetti .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. Selezionare le caselle di controllo esito positivo o negativo per registrare gli errori o le operazioni riuscite.Select the Success or Failure check boxes to log successes or failures.

Si noti che una regola di controllo per un account utente richiede una regola di accesso corrispondente per lo stesso account utente.Note that an audit rule for a user account requires a corresponding access rule for the same user account.

Utilizzare la FileSystemAuditRule classe per creare una nuova regola di controllo.Use the FileSystemAuditRule class to create a new audit rule. Questa regola può essere resa permanente usando FileSecurity la DirectorySecurity classe o.You can persist this rule using the FileSecurity or DirectorySecurity class.

Costruttori

FileSystemAuditRule(IdentityReference, FileSystemRights, AuditFlags)

Inizializza una nuova istanza della classe FileSystemAuditRule utilizzando un riferimento a un account utente, un valore che specifica il tipo di operazione associata alla regola di controllo e un valore che specifica quando eseguire il controllo.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)

Inizializza una nuova istanza della classe FileSystemAuditRule utilizzando il nome di un riferimento a un account utente, un valore che specifica il tipo di operazione associata alla regola di controllo, un valore che determina come vengono ereditati i diritti, un valore che determina come vengono propagati i diritti e un valore che specifica quando eseguire il controllo.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)

Inizializza una nuova istanza della classe FileSystemAuditRule utilizzando un nome di account utente, un valore che specifica il tipo di operazione associata alla regola di controllo e un valore che specifica quando eseguire il controllo.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)

Inizializza una nuova istanza della classe FileSystemAuditRule utilizzando il nome di un account utente, un valore che specifica il tipo di operazione associata alla regola di controllo, un valore che determina come vengono ereditati i diritti, un valore che determina come vengono propagati i diritti e un valore che specifica quando eseguire il controllo.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.

Proprietà

AccessMask

Ottiene la maschera di accesso per questa regola.Gets the access mask for this rule.

(Ereditato da AuthorizationRule)
AuditFlags

Ottiene i flag di controllo per la regola di controllo.Gets the audit flags for this audit rule.

(Ereditato da AuditRule)
FileSystemRights

Ottiene i flag FileSystemRights associati all'oggetto FileSystemAuditRule corrente.Gets the FileSystemRights flags associated with the current FileSystemAuditRule object.

IdentityReference

Ottiene l'oggetto IdentityReference a cui si applica questa regola.Gets the IdentityReference to which this rule applies.

(Ereditato da AuthorizationRule)
InheritanceFlags

Ottiene il valore dei flag che determinano come questa regola viene ereditata dagli oggetti figlio.Gets the value of flags that determine how this rule is inherited by child objects.

(Ereditato da AuthorizationRule)
IsInherited

Ottiene un valore che indica se la regola viene impostata in modo esplicito oppure se è ereditata da un oggetto contenitore padre.Gets a value indicating whether this rule is explicitly set or is inherited from a parent container object.

(Ereditato da AuthorizationRule)
PropagationFlags

Ottiene il valore dei flag di propagazione, che determinano come l'ereditarietà di questa regola viene propagata agli oggetti figlio.Gets the value of the propagation flags, which determine how inheritance of this rule is propagated to child objects. Questa proprietà è significativa solo quando il valore dell'enumerazione InheritanceFlags non è None.This property is significant only when the value of the InheritanceFlags enumeration is not None.

(Ereditato da AuthorizationRule)

Metodi

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Ereditato da Object)

Si applica a