アクセス制御リスト (ACL: Access Control List) の反映規則

フォルダーなどのコンテナー オブジェクトのアクセス制御エントリ (ACE: Access Control Entry) を作成または変更するときは、コンテナー内のオブジェクトに ACE を反映する方法を指定できます。たとえば、ACE をすべてのサブフォルダーに反映させ、これらのサブフォルダー内にあるファイルには反映させない、などのように指定できます。

ACE の反映規則は、InheritanceFlags 列挙体および PropagationFlags 列挙体のさまざまな組み合わせによって制御されます。両方の列挙体を FileSystemAuditRule クラスまたは FileSystemAccessRule クラスのコンストラクターに渡すことができます。

次の表では、2 つの列挙体のすべての組み合わせを示し、各組み合わせが反映規則に与える影響について説明します。

フラグの組み合わせ

反映規則

フラグなし

対象となるフォルダー。

ObjectInherit

対象となるフォルダー、子オブジェクト (ファイル)、孫オブジェクト (ファイル)。

ObjectInherit および NoPropagateInherit

対象となるフォルダー、子オブジェクト (ファイル)。

ObjectInherit および InheritOnly

子オブジェクト (ファイル)、孫オブジェクト (ファイル)。

ObjectInheritInheritOnly、および NoPropagateInherit

子オブジェクト (ファイル)。

ContainerInherit

対象となるフォルダー、子フォルダー、孫フォルダー。

ContainerInherit および NoPropagateInherit

対象となるフォルダー、子フォルダー。

ContainerInherit および InheritOnly

子フォルダー、孫フォルダー。

ContainerInheritInheritOnly、および NoPropagateInherit

子フォルダー。

ContainerInherit および ObjectInherit

対象となるフォルダー、子フォルダー、子オブジェクト (ファイル)、孫フォルダー、孫オブジェクト (ファイル)。

ContainerInheritObjectInherit、および NoPropagateInherit

対象となるフォルダー、子フォルダー、子オブジェクト (ファイル)。

ContainerInheritObjectInherit、および InheritOnly

子フォルダー、子オブジェクト (ファイル)、孫フォルダー、孫オブジェクト (ファイル)。

ContainerInherit, ObjectInherit, NoPropagateInherit, InheritOnly

子フォルダー、子オブジェクト (ファイル)。

メモ   特定の子ファイルまたは子フォルダーのみのアクセス規則を変更するには、操作をいくつかの異なる呼び出しに分ける必要があります。

参照

その他の技術情報

アクセス制御リスト (ACL: Access Control List) 技術の概要

.NET Framework におけるセキュリティ