RegistryAuditRule クラス
アセンブリ: mscorlib (mscorlib.dll 内)


RegistryAuditRule クラスは、レジストリ キーに関する Windows のアクセス制御セキュリティを管理するために .NET Framework で提供されるクラスのセットに含まれています。これらのクラスの概要、および基になる Windows のアクセス制御構造との関係については、RegistrySecurity に関するトピックを参照してください。
![]() |
---|
Windows のアクセス制御セキュリティは、レジストリ キーだけに適用できます。キーに格納されている個別のキーと値ペアに適用することはできません。 |
レジストリ キーに現在適用されている監査規則の一覧を取得するには、RegistryKey.GetAccessControl メソッドを使用して RegistrySecurity オブジェクトを取得し、その GetAuditRules メソッドを使用して RegistryAuditRule オブジェクトのコレクションを取得します。
RegistryAuditRule オブジェクトは、基になる随意アクセス制御リスト (DACL: Discretionary Access Control List) のアクセス制御エントリと一対一には対応していません。レジストリ キーに関するすべての監査規則のセットを取得する場合、このセットには、すべてのアクセス制御エントリを表すために現在必要な最低限の数の規則だけが含まれます。
![]() |
---|
規則を適用したり削除したりすると、基になるアクセス制御エントリが変化します。規則の情報は、アクセス制御エントリの数を最小限に維持するため、可能な限りマージされます。したがって、現在の規則一覧を読み込んだ場合、追加したすべての規則の一覧とまったく同じ体裁になるとは限りません。 |
RegistryAuditRule オブジェクトを使用して、ユーザーまたはグループについて監査するアクセス権を指定します。レジストリ キーに規則を適用するには、RegistryKey.GetAccessControl メソッドを使用して RegistrySecurity オブジェクトを取得します。規則を追加するメソッドを使用して RegistrySecurity オブジェクトを変更し、RegistryKey.SetAccessControl メソッドを使用してセキュリティ オブジェクトを再度割り当てます。
![]() |
---|
RegistrySecurity オブジェクトに加えた変更は、RegistryKey.SetAccessControl メソッドを呼び出して、変更したセキュリティ オブジェクトをレジストリ キーに割り当てるまで、レジストリ キーのアクセス レベルに影響しません。 |
RegistryAuditRule オブジェクトは変更不可です。レジストリ キーのセキュリティは、規則を追加または削除する RegistrySecurity クラスのメソッドを使用して変更します。この操作によって、基になるアクセス制御エントリが変更されます。

System.Security.AccessControl.AuthorizationRule
System.Security.AccessControl.AuditRule
System.Security.AccessControl.RegistryAuditRule


Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


RegistryAuditRule コンストラクタ (IdentityReference, RegistryRights, InheritanceFlags, PropagationFlags, AuditFlags)
アセンブリ: mscorlib (mscorlib.dll 内)

Public Sub New ( _ identity As IdentityReference, _ registryRights As RegistryRights, _ inheritanceFlags As InheritanceFlags, _ propagationFlags As PropagationFlags, _ flags As AuditFlags _ )
Dim identity As IdentityReference Dim registryRights As RegistryRights Dim inheritanceFlags As InheritanceFlags Dim propagationFlags As PropagationFlags Dim flags As AuditFlags Dim instance As New RegistryAuditRule(identity, registryRights, inheritanceFlags, propagationFlags, flags)
public RegistryAuditRule ( IdentityReference identity, RegistryRights registryRights, InheritanceFlags inheritanceFlags, PropagationFlags propagationFlags, AuditFlags flags )
public: RegistryAuditRule ( IdentityReference^ identity, RegistryRights registryRights, InheritanceFlags inheritanceFlags, PropagationFlags propagationFlags, AuditFlags flags )
public RegistryAuditRule ( IdentityReference identity, RegistryRights registryRights, InheritanceFlags inheritanceFlags, PropagationFlags propagationFlags, AuditFlags flags )
public function RegistryAuditRule ( identity : IdentityReference, registryRights : RegistryRights, inheritanceFlags : InheritanceFlags, propagationFlags : PropagationFlags, flags : AuditFlags )
- identity
規則の適用対象となるユーザーまたはグループ。SecurityIdentifier 型にするか、または SecurityIdentifier 型に変換できる NTAccount などの型にする必要があります。

例外の種類 | 条件 |
---|---|
ArgumentOutOfRangeException | または または inheritanceFlags に無効な値が指定されています。 または |
ArgumentNullException | identity が null 参照 (Visual Basic では Nothing) です。 または registryRights が 0 です。 |
ArgumentException | identity が SecurityIdentifier 型ではなく、SecurityIdentifier 型に変換できる NTAccount などの型でもありません。 |

すべてのレジストリ キーはコンテナなので、レジストリ キーにとって意味がある継承フラグは、InheritanceFlags.ContainerInherit フラグだけです。このフラグを指定しないと、反映フラグは無視され、直接のキーだけが影響を受けます。このフラグが存在する場合、次の表に示すように、規則が反映されます。この表では、サブキー S が存在し、このサブキー S に子サブキー CS と孫サブキー GS が含まれていることを前提にしています。そのため、孫サブキーへのパスは、S\CS\GS になります。
孫サブキーのパターンは、孫サブキーによって格納されるすべてのサブキーに適用されます。
たとえば、inheritanceFlags に対して ContainerInherit フラグを指定し、propagationFlags に対して InheritOnly 反映フラグを指定すると、この規則は、直接のサブキーには適用されず、すべての直接の子サブキーと子サブキーに格納されるすべてのサブキーに適用されます。
![]() |
---|
inheritanceFlags に InheritanceFlags.ObjectInherit フラグを指定することもできますが、意味がありません。アクセス制御という目的上、サブキー内の名前と値のペアは別個のオブジェクトにはなっていません。名前と値のペアに対するアクセス権は、サブキーの権限によって制御されます。さらに、すべてのサブキーがコンテナであり、他のサブキーを含めることができるため、ObjectInherit フラグの影響を受けません。また、ObjectInherit フラグを指定すると、互換性がある規則の通常の組み合わせに干渉するため、規則の管理が必要以上に複雑になります。 |

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


RegistryAuditRule コンストラクタ (String, RegistryRights, InheritanceFlags, PropagationFlags, AuditFlags)
アセンブリ: mscorlib (mscorlib.dll 内)

Public Sub New ( _ identity As String, _ registryRights As RegistryRights, _ inheritanceFlags As InheritanceFlags, _ propagationFlags As PropagationFlags, _ flags As AuditFlags _ )
Dim identity As String Dim registryRights As RegistryRights Dim inheritanceFlags As InheritanceFlags Dim propagationFlags As PropagationFlags Dim flags As AuditFlags Dim instance As New RegistryAuditRule(identity, registryRights, inheritanceFlags, propagationFlags, flags)
public RegistryAuditRule ( string identity, RegistryRights registryRights, InheritanceFlags inheritanceFlags, PropagationFlags propagationFlags, AuditFlags flags )
public: RegistryAuditRule ( String^ identity, RegistryRights registryRights, InheritanceFlags inheritanceFlags, PropagationFlags propagationFlags, AuditFlags flags )
public RegistryAuditRule ( String identity, RegistryRights registryRights, InheritanceFlags inheritanceFlags, PropagationFlags propagationFlags, AuditFlags flags )
public function RegistryAuditRule ( identity : String, registryRights : RegistryRights, inheritanceFlags : InheritanceFlags, propagationFlags : PropagationFlags, flags : AuditFlags )


すべてのレジストリ キーはコンテナなので、レジストリ キーにとって意味がある継承フラグは、InheritanceFlags.ContainerInherit フラグだけです。このフラグを指定しないと、反映フラグは無視され、直接のキーだけが影響を受けます。このフラグが存在する場合、次の表に示すように、規則が反映されます。この表では、サブキー S が存在し、このサブキー S に子サブキー CS と孫サブキー GS が含まれていることを前提にしています。そのため、孫サブキーへのパスは、S\CS\GS になります。
孫サブキーのパターンは、孫サブキーによって格納されるすべてのサブキーに適用されます。
たとえば、inheritanceFlags に対して ContainerInherit フラグを指定し、propagationFlags に対して InheritOnly 反映フラグを指定すると、この規則は、直接のサブキーには適用されず、すべての直接の子サブキーと子サブキーに格納されるすべてのサブキーに適用されます。
![]() |
---|
inheritanceFlags に InheritanceFlags.ObjectInherit フラグを指定することもできますが、意味がありません。アクセス制御という目的上、サブキー内の名前と値のペアは別個のオブジェクトにはなっていません。名前と値のペアに対するアクセス権は、サブキーの権限によって制御されます。さらに、すべてのサブキーがコンテナであり、他のサブキーを含めることができるため、ObjectInherit フラグの影響を受けません。また、ObjectInherit フラグを指定すると、互換性がある規則の通常の組み合わせに干渉するため、規則の管理が必要以上に複雑になります。 |
このコンストラクタは、identity を System.Security.Principal.NTAccount(String) コンストラクタに渡し、新しく作成した NTAccount オブジェクトを RegistryAuditRule(IdentityReference,RegistryRights,InheritanceFlags,PropagationFlags,AuditFlags) コンストラクタに渡して、NTAccount オブジェクトを作成するのと同じ働きをします。

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


RegistryAuditRule コンストラクタ

名前 | 説明 |
---|---|
RegistryAuditRule (IdentityReference, RegistryRights, InheritanceFlags, PropagationFlags, AuditFlags) | 監査するユーザーまたはグループ、監査する権限、継承を考慮するかどうか、成功、失敗、またはその両方のいずれを監査するかを指定して、RegistryAuditRule クラスの新しいインスタンスを初期化します。 |
RegistryAuditRule (String, RegistryRights, InheritanceFlags, PropagationFlags, AuditFlags) | 監査するユーザーまたはグループの名前、監査する権限、継承を考慮するかどうか、成功、失敗、またはその両方のいずれを監査するかを指定して、RegistryAuditRule クラスの新しいインスタンスを初期化します。 |

RegistryAuditRule プロパティ

名前 | 説明 | |
---|---|---|
![]() | AuditFlags | この監査規則の監査フラグを取得します。 ( AuditRule から継承されます。) |
![]() | IdentityReference | この規則を適用する IdentityReference を取得します。 ( AuthorizationRule から継承されます。) |
![]() | InheritanceFlags | この規則を子オブジェクトが継承する方法を決定するフラグの値を取得します。 ( AuthorizationRule から継承されます。) |
![]() | IsInherited | この規則を明示的に設定するか、または親コンテナ オブジェクトから継承するかを指定する値を取得します。 ( AuthorizationRule から継承されます。) |
![]() | PropagationFlags | 反映フラグの値を取得します。このフラグから、この規則を子オブジェクトに反映させる方法を判断します。このプロパティが重要なのは、InheritanceFlags 列挙体の値が None でない場合だけです。 ( AuthorizationRule から継承されます。) |
![]() | RegistryRights | 監査規則の影響を受けるアクセス権を取得します。 |

RegistryAuditRule メソッド

名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 ( Object から継承されます。) |

RegistryAuditRule メンバ
ユーザーまたはグループについて監査するアクセス権セットを表します。このクラスは継承できません。
RegistryAuditRule データ型で公開されるメンバを以下の表に示します。


名前 | 説明 | |
---|---|---|
![]() | AuditFlags | この監査規則の監査フラグを取得します。(AuditRule から継承されます。) |
![]() | IdentityReference | この規則を適用する IdentityReference を取得します。(AuthorizationRule から継承されます。) |
![]() | InheritanceFlags | この規則を子オブジェクトが継承する方法を決定するフラグの値を取得します。(AuthorizationRule から継承されます。) |
![]() | IsInherited | この規則を明示的に設定するか、または親コンテナ オブジェクトから継承するかを指定する値を取得します。(AuthorizationRule から継承されます。) |
![]() | PropagationFlags | 反映フラグの値を取得します。このフラグから、この規則を子オブジェクトに反映させる方法を判断します。このプロパティが重要なのは、InheritanceFlags 列挙体の値が None でない場合だけです。(AuthorizationRule から継承されます。) |
![]() | RegistryRights | 監査規則の影響を受けるアクセス権を取得します。 |

名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 (Object から継承されます。) |

- RegistryAuditRuleのページへのリンク