FileSystemAuditRule FileSystemAuditRule FileSystemAuditRule FileSystemAuditRule Class

定義

ファイルまたはディレクトリの監査規則を定義するアクセス制御エントリ (ACE: Access Control Entry) の抽象化を表します。Represents an abstraction of an access control entry (ACE) that defines an audit rule for a file or directory. このクラスは継承できません。This class cannot be inherited.

public ref class FileSystemAuditRule sealed : System::Security::AccessControl::AuditRule
[System.Security.SecurityCritical]
public sealed class FileSystemAuditRule : System.Security.AccessControl.AuditRule
type FileSystemAuditRule = class
    inherit AuditRule
Public NotInheritable Class FileSystemAuditRule
Inherits AuditRule
継承
属性

次のコード例ではFileSystemAuditRule 、クラスを使用して、ファイルから監査規則を追加してから削除します。The following code example uses the FileSystemAuditRule class to add and then remove an audit rule from a file. この例を実行するには、有効なユーザーまたはグループ アカウントを指定する必要があります。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

注釈

クラスFileSystemAuditRuleは、ユーザーアカウント、提供するアクセスの種類 (読み取り、書き込みなど)、および監査を実行するかどうかを指定する、基になるアクセス制御エントリ (ACE: access control entry) の抽象化を表します。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. このクラスでは、監査規則をどのように継承し、オブジェクトに反映するかを指定することもできます。This class can also specify how audit rules are inherited from and propagated to objects.

Windows NT 以降でファイルとディレクトリの監査を許可するには、コンピューターで監査アクセスセキュリティポリシーを有効にする必要があります。To permit file and directory auditing on Windows NT or later, you must enable Audit Access Security policy on your machine. 既定では、このポリシーは [監査なし] に設定されています。By default, this policy is set to No Auditing.

監査アクセスセキュリティポリシーを有効にするには、次の手順を実行します。To enable the Audit Access Security policy, perform the following steps:

  1. 管理ツール フォルダーにある ローカルセキュリティの設定 Microsoft 管理コンソール (MMC) スナップインを開きます。Open the Local Security Settings Microsoft Management Console (MMC) snap-in, located in the Administrative Tools folder.

  2. [ローカルポリシー] フォルダーを展開し、[監査ポリシー] フォルダーを左クリックします。Expand the Local Policies folder and left-click the Audit Policy folder.

  3. MMC スナップインの右側のウィンドウで [オブジェクトアクセスの監査] エントリをダブルクリックするか、右クリックして プロパティ を選択し、[オブジェクトアクセスの監査のプロパティ] ダイアログボックスを表示します。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. 成功または失敗をログに記録するには、[成功] または [失敗] チェックボックスをオンにします。Select the Success or Failure check boxes to log successes or failures.

ユーザーアカウントの監査規則には、同じユーザーアカウントに対応するアクセス規則が必要であることに注意してください。Note that an audit rule for a user account requires a corresponding access rule for the same user account.

クラスをFileSystemAuditRule使用して、新しい監査規則を作成します。Use the FileSystemAuditRule class to create a new audit rule. この規則は、 FileSecurityクラスまたはDirectorySecurityクラスを使用して保持できます。You can persist this rule using the FileSecurity or DirectorySecurity class.

コンストラクター

FileSystemAuditRule(IdentityReference, FileSystemRights, AuditFlags) FileSystemAuditRule(IdentityReference, FileSystemRights, AuditFlags) FileSystemAuditRule(IdentityReference, FileSystemRights, AuditFlags) FileSystemAuditRule(IdentityReference, FileSystemRights, AuditFlags)

ユーザー アカウントへの参照、監査規則に関連付けられた操作の種類を指定する値、およびいつ監査を実行するのかを指定する値を使用して、FileSystemAuditRule クラスの新しいインスタンスを初期化します。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) FileSystemAuditRule(IdentityReference, FileSystemRights, InheritanceFlags, PropagationFlags, AuditFlags) FileSystemAuditRule(IdentityReference, FileSystemRights, InheritanceFlags, PropagationFlags, AuditFlags) FileSystemAuditRule(IdentityReference, FileSystemRights, InheritanceFlags, PropagationFlags, AuditFlags)

ユーザー アカウントへの参照の名前、監査規則に関連付けられた操作の種類を指定する値、権限の継承方法を決定する値、権限の反映方法を決定する値、およびいつ監査を実行するのかを指定する値を使用して、FileSystemAuditRule クラスの新しいインスタンスを初期化します。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) FileSystemAuditRule(String, FileSystemRights, AuditFlags) FileSystemAuditRule(String, FileSystemRights, AuditFlags) FileSystemAuditRule(String, FileSystemRights, AuditFlags)

ユーザー アカウント名、監査規則に関連付けられた操作の種類を指定する値、およびいつ監査を実行するのかを指定する値を使用して、FileSystemAuditRule クラスの新しいインスタンスを初期化します。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) FileSystemAuditRule(String, FileSystemRights, InheritanceFlags, PropagationFlags, AuditFlags) FileSystemAuditRule(String, FileSystemRights, InheritanceFlags, PropagationFlags, AuditFlags) FileSystemAuditRule(String, FileSystemRights, InheritanceFlags, PropagationFlags, AuditFlags)

ユーザー アカウント名、監査規則に関連付けられた操作の種類を指定する値、権限の継承方法を決定する値、権限の反映方法を決定する値、およびいつ監査を実行するのかを指定する値を使用して、FileSystemAuditRule クラスの新しいインスタンスを初期化します。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.

プロパティ

AccessMask AccessMask AccessMask AccessMask

この規則のアクセス マスクを取得します。Gets the access mask for this rule.

(Inherited from AuthorizationRule)
AuditFlags AuditFlags AuditFlags AuditFlags

この監査規則の監査フラグを取得します。Gets the audit flags for this audit rule.

(Inherited from AuditRule)
FileSystemRights FileSystemRights FileSystemRights FileSystemRights

現在の FileSystemRights オブジェクトに関連付けられている FileSystemAuditRule フラグを取得します。Gets the FileSystemRights flags associated with the current FileSystemAuditRule object.

IdentityReference IdentityReference IdentityReference IdentityReference

この規則を適用する IdentityReference を取得します。Gets the IdentityReference to which this rule applies.

(Inherited from AuthorizationRule)
InheritanceFlags InheritanceFlags InheritanceFlags InheritanceFlags

この規則を子オブジェクトが継承する方法を決定するフラグの値を取得します。Gets the value of flags that determine how this rule is inherited by child objects.

(Inherited from AuthorizationRule)
IsInherited IsInherited IsInherited IsInherited

この規則を明示的に設定するか、または親コンテナー オブジェクトから継承するかを指定する値を取得します。Gets a value indicating whether this rule is explicitly set or is inherited from a parent container object.

(Inherited from AuthorizationRule)
PropagationFlags PropagationFlags PropagationFlags PropagationFlags

反映フラグの値を取得します。このフラグから、この規則を子オブジェクトに反映させる方法を判断します。Gets the value of the propagation flags, which determine how inheritance of this rule is propagated to child objects. このプロパティは、InheritanceFlags 列挙体の値が None でない場合にのみ重要です。This property is significant only when the value of the InheritanceFlags enumeration is not None.

(Inherited from AuthorizationRule)

メソッド

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(Inherited from Object)

適用対象