FileSystemAuditRule Clase

Definición

Representa una abstracción de una entrada de control de acceso (ACE) que define una regla de auditoría para un archivo o directorio. Esta clase no puede heredarse.

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
Herencia
FileSystemAuditRule
Atributos

Ejemplos

En el ejemplo de código siguiente se usa la FileSystemAuditRule clase para agregar y, a continuación, quitar una regla de auditoría de un archivo. Para ejecutar este ejemplo, debe proporcionar una cuenta de usuario o grupo válida.

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

Comentarios

La FileSystemAuditRule clase representa una abstracción de una entrada de control de acceso subyacente (ACE) que especifica una cuenta de usuario, el tipo de acceso que se va a proporcionar (lectura, escritura, etc.) y si se va a realizar la auditoría. Esta clase también puede especificar cómo se heredan y propagan las reglas de auditoría a objetos.

Para permitir la auditoría de archivos y directorios en Windows NT o posterior, debe habilitar la directiva auditar seguridad de acceso en el equipo. De forma predeterminada, esta directiva se establece en Sin auditoría.

Para habilitar la directiva auditar seguridad de acceso, realice los pasos siguientes:

  1. Abra el complemento Seguridad local Configuración Microsoft Management Console (MMC), que se encuentra en la carpeta Herramientas administrativas.

  2. Expanda la carpeta Directivas locales y haga clic con el botón izquierdo en la carpeta Directiva de auditoría.

  3. Haga doble clic en la entrada Auditar acceso a objetos en el panel derecho del complemento MMC o haga clic con el botón derecho y elija Propiedades para mostrar el cuadro de diálogo Auditar propiedades de acceso a objetos .

  4. Active las casillas Correcto o Error para registrar éxitos o errores.

Tenga en cuenta que una regla de auditoría para una cuenta de usuario requiere una regla de acceso correspondiente para la misma cuenta de usuario.

Use la FileSystemAuditRule clase para crear una nueva regla de auditoría. Puede conservar esta regla mediante la FileSecurity clase o DirectorySecurity .

Constructores

FileSystemAuditRule(IdentityReference, FileSystemRights, AuditFlags)

Inicializa una nueva instancia de la clase FileSystemAuditRule utilizando una referencia a una cuenta de usuario, un valor que especifica el tipo de operación asociado a la regla de auditoría y un valor que especifica cuándo realizar la auditoría.

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

Inicializa una nueva instancia de la clase FileSystemAuditRule utilizando el nombre de una referencia a una cuenta de usuario, un valor que especifica el tipo de operación asociado a la regla de auditoría, un valor que determina cómo se heredan los derechos, un valor que determina cómo se propagan los derechos y un valor que especifica cuándo realizar la auditoría.

FileSystemAuditRule(String, FileSystemRights, AuditFlags)

Inicializa una nueva instancia de la clase FileSystemAuditRule utilizando un nombre de cuenta de usuario, un valor que especifica el tipo de operación asociado a la regla de auditoría y un valor que especifica cuándo realizar la auditoría.

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

Inicializa una nueva instancia de la clase FileSystemAuditRule utilizando el nombre de una cuenta de usuario, un valor que especifica el tipo de operación asociado a la regla de auditoría, un valor que determina cómo se heredan los derechos, un valor que determina cómo se propagan los derechos y un valor que especifica cuándo realizar la auditoría.

Propiedades

AccessMask

Obtiene la máscara de acceso de esta regla.

(Heredado de AuthorizationRule)
AuditFlags

Obtiene los marcadores de auditoría para esta regla de auditoría.

(Heredado de AuditRule)
FileSystemRights

Obtiene los marcadores FileSystemRights asociados al objeto FileSystemAuditRule actual.

IdentityReference

Obtiene el IdentityReference al que se aplica esta regla.

(Heredado de AuthorizationRule)
InheritanceFlags

Obtiene el valor de los indicadores que determinan cómo heredan esta regla los objetos secundarios.

(Heredado de AuthorizationRule)
IsInherited

Obtiene un valor que indica si esta regla se establece explícitamente o se hereda de un objeto contenedor primario.

(Heredado de AuthorizationRule)
PropagationFlags

Obtiene el valor de las marcas de propagación que determinan cómo se propaga la herencia de esta regla a los objetos secundarios. Esta propiedad es importante solo cuando el valor de la enumeración InheritanceFlags no es None.

(Heredado de AuthorizationRule)

Métodos

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Se aplica a