FileSystemAuditRule Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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. La classe non può essere ereditata.
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à
- Attributi
Esempio
Nell'esempio di codice seguente viene usata la FileSystemAuditRule classe per aggiungere e quindi rimuovere una regola di controllo da un file. È necessario specificare un utente valido o un account di gruppo per eseguire questo esempio.
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 sottostante (ACE) che specifica un account utente, il tipo di accesso da fornire (lettura, scrittura e così via) e se eseguire il controllo. Questa classe può anche specificare il modo in cui le regole di controllo vengono ereditate da e propagate agli oggetti.
Per consentire il controllo dei file e della directory in Windows NT o versioni successive, è necessario abilitare i criteri audit access Security nel computer. Per impostazione predefinita, questo criterio è impostato su Nessun controllo.
Per abilitare i criteri Di sicurezza di accesso di controllo, seguire questa procedura:
Aprire lo snap-in Microsoft Management Console (MMC) Impostazioni sicurezza locali , disponibile nella cartella Strumenti di amministrazione.
Espandere la cartella Criteri locali e fare clic con il pulsante sinistro sulla cartella Criteri di controllo.
Fare doppio clic sulla voce Controllo accesso all'oggetto 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 Proprietà di accesso agli oggetti di controllo .
Selezionare le caselle di controllo Operazione riuscita o Errore per registrare errori o errori.
Si noti che una regola di controllo per un account utente richiede una regola di accesso corrispondente per lo stesso account utente.
Usare la FileSystemAuditRule classe per creare una nuova regola di controllo. È possibile rendere persistente questa regola usando la FileSecurity classe o DirectorySecurity .
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. |
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. |
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. |
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. |
Proprietà
AccessMask |
Ottiene la maschera di accesso per questa regola. (Ereditato da AuthorizationRule) |
AuditFlags |
Ottiene i flag di controllo per la regola di controllo. (Ereditato da AuditRule) |
FileSystemRights |
Ottiene i flag FileSystemRights associati all'oggetto FileSystemAuditRule corrente. |
IdentityReference |
Ottiene l'oggetto IdentityReference a cui si applica questa regola. (Ereditato da AuthorizationRule) |
InheritanceFlags |
Ottiene il valore dei flag che determinano come questa regola viene ereditata dagli oggetti figlio. (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. (Ereditato da AuthorizationRule) |
PropagationFlags |
Ottiene il valore dei flag di propagazione, che determinano come l'ereditarietà di questa regola viene propagata agli oggetti figlio. Questa proprietà è significativa solo quando il valore dell'enumerazione InheritanceFlags non è None. (Ereditato da AuthorizationRule) |
Metodi
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |