FileSystemAuditRule Classe

Definição

Representa uma abstração de uma entrada de controlo de acesso (ACE) que define uma regra de auditoria para um ficheiro ou diretório. Esta classe não pode ser herdada.

public ref class FileSystemAuditRule sealed : System::Security::AccessControl::AuditRule
public sealed class FileSystemAuditRule : System.Security.AccessControl.AuditRule
type FileSystemAuditRule = class
    inherit AuditRule
Public NotInheritable Class FileSystemAuditRule
Inherits AuditRule
Herança
FileSystemAuditRule

Exemplos

O seguinte exemplo de código usa a FileSystemAuditRule classe para adicionar e depois remover uma regra de auditoria de um ficheiro. Deve fornecer uma conta de utilizador ou grupo válida para executar este exemplo.

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

Observações

A FileSystemAuditRule classe representa uma abstração de uma entrada subjacente de controlo de acesso (ACE) que especifica uma conta de utilizador, o tipo de acesso a fornecer (leitura, escrita, etc.) e se deve realizar auditoria. Esta classe também pode especificar como as regras de auditoria são herdadas e propagadas para os objetos.

Para permitir auditoria de ficheiros e diretórios no Windows NT ou versões posteriores, deve ativar a política de Segurança de Acesso de Auditoria na sua máquina. Por defeito, esta política está definida como Sem Auditoria.

Para ativar a política de Auditoria de Segurança de Acesso, execute os seguintes passos:

  1. Abra o snap-in Definições de Segurança Locais Consola de Gestão da Microsoft (MMC), localizado na pasta Ferramentas Administrativas.

  2. Expanda a pasta Políticas Locais e clique com o botão esquerdo na pasta Políticas de Auditoria.

  3. Clique duas vezes na entrada Auditar acesso ao objeto no painel direito do snap-in MMC, ou clique com o botão direito e escolha Propriedades para mostrar a caixa de diálogo Propriedades de Auditoria ao objeto.

  4. Selecione as caixas de Sucesso ou Fracasso para registar sucessos ou fracassos.

Note que uma regra de auditoria para uma conta de utilizador requer uma regra de acesso correspondente para a mesma conta de utilizador.

Usa a FileSystemAuditRule disciplina para criar uma nova regra de auditoria. Podes persistir nesta regra usando a FileSecurity classe ou.DirectorySecurity

Construtores

Name Description
FileSystemAuditRule(IdentityReference, FileSystemRights, AuditFlags)

Inicializa uma nova instância da FileSystemAuditRule classe usando uma referência a uma conta de utilizador, um valor que especifica o tipo de operação associada à regra de auditoria e um valor que especifica quando realizar a auditoria.

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

Inicializa uma nova instância da FileSystemAuditRule classe usando o nome de uma referência a uma conta de utilizador, um valor que especifica o tipo de operação associada à regra de auditoria, um valor que determina como os direitos são herdados, um valor que determina como os direitos são propagados e um valor que especifica quando realizar auditoria.

FileSystemAuditRule(String, FileSystemRights, AuditFlags)

Inicializa uma nova instância da FileSystemAuditRule classe usando um nome de conta de utilizador, um valor que especifica o tipo de operação associada à regra de auditoria, e um valor que especifica quando realizar a auditoria.

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

Inicializa uma nova instância da FileSystemAuditRule classe usando o nome de uma conta de utilizador, um valor que especifica o tipo de operação associada à regra de auditoria, um valor que determina como os direitos são herdados, um valor que determina como os direitos são propagados e um valor que especifica quando realizar a auditoria.

Propriedades

Name Description
AccessMask

Recebe a máscara de acesso por causa desta regra.

(Herdado de AuthorizationRule)
AuditFlags

Recebe as bandeiras de auditoria para esta regra de auditoria.

(Herdado de AuditRule)
FileSystemRights

Obtém as FileSystemRights flags associadas ao objeto atual FileSystemAuditRule .

IdentityReference

Percebe a IdentityReference que esta regra se aplica.

(Herdado de AuthorizationRule)
InheritanceFlags

Obtém o valor dos flags que determinam como esta regra é herdada pelos objetos filhos.

(Herdado de AuthorizationRule)
IsInherited

Recebe um valor que indica se esta regra está explicitamente definida ou é herdada de um objeto contentor pai.

(Herdado de AuthorizationRule)
PropagationFlags

Obtém o valor dos flags de propagação, que determinam como a herança desta regra é propagada para objetos filhos. Esta propriedade é significativa apenas quando o valor da InheritanceFlags enumeração não Noneé .

(Herdado de AuthorizationRule)

Métodos

Name Description
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

Aplica-se a