RegistrySecurityとは? わかりやすく解説

RegistrySecurity クラス

メモ : このクラスは、.NET Framework version 2.0新しく追加されたものです。

レジストリ キーWindows アクセス制御セキュリティ表します。このクラス継承できません。

名前空間: System.Security.AccessControl
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

Public NotInheritable Class
 RegistrySecurity
    Inherits NativeObjectSecurity
Dim instance As RegistrySecurity
public sealed class RegistrySecurity : NativeObjectSecurity
public ref class RegistrySecurity sealed :
 public NativeObjectSecurity
public final class RegistrySecurity extends
 NativeObjectSecurity
public final class RegistrySecurity extends
 NativeObjectSecurity
解説解説

RegistrySecurity オブジェクトは、レジストリ キーへのアクセス権、およびアクセス試行監査方法示しますレジストリ キーへのアクセス権規則として表現します。各アクセス規則は RegistryAccessRule オブジェクト表されます。監査規則は RegistryAuditRule オブジェクト表されます。

このオブジェクトには基になる Windows セキュリティ システム反映されています。Windows セキュリティ システムでは、セキュリティ設定できるオブジェクトごとに、セキュリティ保護されオブジェクトへのアクセス制御する随意アクセス制御リスト (DACL: Discretionary Access Control List) と監査対象アクセス試行指定するシステム アクセス制御リスト (SACL: System Access Control List) をそれぞれ最大 1 つずつ指定できます。DACL と SACL は、ユーザーとグループアクセス監査指定するアクセス制御エントリ (ACE: Access Control Entry) を順序付けして示したリストです。RegistryAccessRule オブジェクトまたは RegistryAuditRule オブジェクトは、複数ACE を表す場合あります

メモメモ

Windowsアクセス制御セキュリティは、レジストリ キーだけに適用できますキー格納されている個別キー/値ペア適用することはできません。

RegistrySecurityRegistryAccessRule、およびRegistryAuditRule の各クラスは、ACLACE実装の詳細隠します。これらのクラス使用すると、ACE17 種類の型を気にせずに、アクセス権継承反映正しく維持する複雑な操作簡単に行うことができますまた、これらのオブジェクトは、次の一般的なアクセス制御エラー防止するようにデザインされています。

.NET セキュリティ オブジェクトサポートされないのは、多くアプリケーション開発者が避け必要がある次のような危険なアクティビティだけです。

レジストリ キーWindows アクセス制御セキュリティ変更するには、RegistryKey.GetAccessControl メソッド使用して RegistrySecurity オブジェクト取得します規則追加および削除してセキュリティ オブジェクト変更し、RegistryKey.SetAccessControl メソッド使用して再度割り当てます

レジストリ キー間でアクセス制御セキュリティコピーするには、RegistryKey.GetAccessControl メソッド使用して最初レジストリ キーアクセス規則監査規則を表す RegistrySecurity オブジェクト取得し次に RegistryKey.SetAccessControl メソッド使用するか、または RegistrySecurity オブジェクト受け入れコンストラクタ使用して、これらの規則2 番目のレジストリ キー割り当てます

SDDL (Security Descriptor Definition Language) を既に使用しているユーザーは、SetSecurityDescriptorSddlForm メソッド使用してレジストリ キーアクセス規則設定し次に GetSecurityDescriptorSddlForm メソッド使用して SDDL 形式アクセス規則を表す文字列を取得できます。ただし、新規開発にはこの方法を使用しないことをお勧めます。

使用例使用例

このセクションには、2 つコード例含まれています。最初の例は、互換性のある規則追加および削除するときにこれらの規則どのようにマージされるかを示してます。2 つ目の例は、継承フラグ反映フラグ規則追加削除どのように影響するかを示してます。

例 1

RemoveAccessRule メソッド互換性のある規則から権限削除する方法と、AddAccessRule メソッド互換性のある規則権限マージする方法表したコード例次に示します

この例では、RegistrySecurity オブジェクト作成し現在のユーザーに RegistryRights.ReadKey 権限許可する規則追加します。さらに、この例では、最初規則と同じ継承権限反映権限使用してユーザーに RegistryRights.SetValue を許可する規則作成しRemoveAccessRule メソッド使用してこの新し規則RegistrySecurity オブジェクトから削除しますSetValue は、ReadKey構成要素です。そのため、互換性のある規則から削除されます。RegistrySecurity オブジェクト内の規則表示されReadKey残り構成要素表示されます。

次に、このプログラム例では、AddAccessRule メソッド呼び出して SetValue 権限RegistrySecurity オブジェクト内の規則マージして戻します

メモメモ

この例では、セキュリティ オブジェクトが RegistryKey オブジェクト割り当てられません。このセクション2 つ目の例では、セキュリティ オブジェクト割り当てます。Microsoft.Win32.RegistryKey.GetAccessControl および RegistryKey.SetAccessControl 内の例も同様です

Option Explicit
Imports System
Imports System.Security.AccessControl
Imports System.Security.Principal
Imports System.Security
Imports Microsoft.Win32

Public Class Example

    Public Shared Sub Main()

        Dim user As String
 = Environment.UserDomainName _ 
            & "\" & Environment.UserName

        ' Create a security object that grants no access.
        Dim mSec As New
 RegistrySecurity()

        ' Add a rule that grants the current user ReadKey
        ' rights. ReadKey is a combination of four other 
        ' rights. The rule is inherited by all 
        ' contained subkeys.
        Dim rule As New
 RegistryAccessRule(user, _
            RegistryRights.ReadKey, _
            InheritanceFlags.ContainerInherit, _
            PropagationFlags.None, _
            AccessControlType.Allow)
        mSec.AddAccessRule(rule)

        ' Create a rule that allows the current user only the 
        ' right to query the key/value pairs of a key, using  
        ' the same inheritance and propagation flags as the
        ' first rule. QueryValues is a constituent of 
        ' ReadKey, so when this rule is removed, using the 
        ' RemoveAccessRule method, ReadKey is broken into
        ' its constituent parts.
        rule = New RegistryAccessRule(user, _
            RegistryRights.QueryValues, _
            InheritanceFlags.ContainerInherit, _
            PropagationFlags.None, _
            AccessControlType.Allow)
        mSec.RemoveAccessRule(rule)

        ' Display the rules in the security object.
        ShowSecurity(mSec)

        ' Add the second rule back. It merges with the 
        ' existing rule, so that the rule is now displayed
        ' as ReadKey.
        mSec.AddAccessRule(rule)

        ' Display the rules in the security object.
        ShowSecurity(mSec)

    End Sub 

    Private Shared Sub ShowSecurity(ByVal
 security As RegistrySecurity)
        Console.WriteLine(vbCrLf & "Current access rules:"
 & vbCrLf)

        For Each ar As RegistryAccessRule
 In _
            security.GetAccessRules(True, True,
 GetType(NTAccount))

            Console.WriteLine("        User: {0}",
 ar.IdentityReference)
            Console.WriteLine("        Type: {0}",
 ar.AccessControlType)
            Console.WriteLine("      Rights: {0}",
 ar.RegistryRights)
            Console.WriteLine(" Inheritance: {0}",
 ar.InheritanceFlags)
            Console.WriteLine(" Propagation: {0}",
 ar.PropagationFlags)
            Console.WriteLine("   Inherited? {0}",
 ar.IsInherited)
            Console.WriteLine()
        Next

    End Sub
End Class 

'This code example produces output similar to following:
'
'Current access rules:
'
'        User: TestDomain\TestUser
'        Type: Allow
'      Rights: EnumerateSubKeys, Notify, ReadPermissions
' Inheritance: ContainerInherit
' Propagation: None
'   Inherited? False
'
'
'Current access rules:
'
'        User: TestDomain\TestUser
'        Type: Allow
'      Rights: ReadKey
' Inheritance: ContainerInherit
' Propagation: None
'   Inherited? False
'
using System;
using System.Security.AccessControl;
using System.Security.Principal;
using System.Security;
using Microsoft.Win32;

public class Example
{

    public static void Main()
    {

        string user = Environment.UserDomainName + "\\"
            + Environment.UserName;

        // Create a security object that grants no access.
        RegistrySecurity mSec = new RegistrySecurity();

        // Add a rule that grants the current user ReadKey
        // rights. ReadKey is a combination of four other 
        // rights. The rule is inherited by all 
        // contained subkeys.
        RegistryAccessRule rule = new RegistryAccessRule(user,
 
            RegistryRights.ReadKey, 
            InheritanceFlags.ContainerInherit, 
            PropagationFlags.None, 
            AccessControlType.Allow);
        mSec.AddAccessRule(rule);

        // Create a rule that allows the current user only the 
        // right to query the key/value pairs of a key, using  
        // the same inheritance and propagation flags as the
        // first rule. QueryValues is a constituent of 
        // ReadKey, so when this rule is removed, using the 
        // RemoveAccessRule method, ReadKey is broken into
        // its constituent parts.
        rule = new RegistryAccessRule(user, 
            RegistryRights.QueryValues, 
            InheritanceFlags.ContainerInherit, 
            PropagationFlags.None, 
            AccessControlType.Allow);
        mSec.RemoveAccessRule(rule);

        // Display the rules in the security object.
        ShowSecurity(mSec);

        // Add the second rule back. It merges with the 
        // existing rule, so that the rule is now displayed
        // as ReadKey.
        mSec.AddAccessRule(rule);

        // Display the rules in the security object.
        ShowSecurity(mSec);
    }

    private static void
 ShowSecurity(RegistrySecurity security)
    {
        Console.WriteLine("\r\nCurrent access rules:\r\n");

        foreach( RegistryAccessRule ar in security.GetAccessRules(true,
 true, typeof(NTAccount)) )
        {
            Console.WriteLine("        User: {0}", ar.IdentityReference);
            Console.WriteLine("        Type: {0}", ar.AccessControlType);
            Console.WriteLine("      Rights: {0}", ar.RegistryRights);
            Console.WriteLine(" Inheritance: {0}", ar.InheritanceFlags);
            Console.WriteLine(" Propagation: {0}", ar.PropagationFlags);
            Console.WriteLine("   Inherited? {0}", ar.IsInherited);
            Console.WriteLine();
        }
    }
}

/* This code example produces output similar to following:

Current access rules:

        User: TestDomain\TestUser
        Type: Allow
      Rights: EnumerateSubKeys, Notify, ReadPermissions
 Inheritance: ContainerInherit
 Propagation: None
   Inherited? False


Current access rules:

        User: TestDomain\TestUser
        Type: Allow
      Rights: ReadKey
 Inheritance: ContainerInherit
 Propagation: None
   Inherited? False
 */

例 2

継承反映を行うアクセス規則コード例次に示します。この例では、RegistrySecurity オブジェクト作成し、ContainerInherit フラグを持つ 2 つ規則作成して追加します最初規則には、反映フラグがありません。2 番目の規則には、NoPropagateInherit と InheritOnly が存在します

このプログラムでは、RegistrySecurity オブジェクト内の規則表示しRegistrySecurity オブジェクト使用してサブキーを作成します。さらに、子サブキーと孫サブキーを作成し、各サブキーのセキュリティ表示します最後にテスト キー削除します

Option Explicit
Imports System
Imports System.Security.AccessControl
Imports System.Security.Principal
Imports System.Security
Imports Microsoft.Win32

Public Class Example

    Public Shared Sub Main()

        Const TestKey As String
 = "TestKey3927"
        Dim cu As RegistryKey = Registry.CurrentUser

        Dim user As String
 = Environment.UserDomainName _ 
            & "\" & Environment.UserName

        ' Create a security object that grants no access.
        Dim mSec As New
 RegistrySecurity()

        ' Add a rule that grants the current user the right
        ' to read and enumerate the name/value pairs in a key, 
        ' to read its access and audit rules, to enumerate
        ' its subkeys, to create subkeys, and to delete the key. 
        ' The rule is inherited by all contained subkeys.
        '
        Dim rule As New
 RegistryAccessRule(user, _
            RegistryRights.ReadKey Or RegistryRights.WriteKey
 _
                Or RegistryRights.Delete, _
            InheritanceFlags.ContainerInherit, _
            PropagationFlags.None, _
            AccessControlType.Allow)
        mSec.AddAccessRule(rule)

        ' Add a rule that allows the current user the right
        ' right to set the name/value pairs in a key. 
        ' This rule is inherited by contained subkeys, but
        ' propagation flags limit it to immediate child 
        ' subkeys.
        rule = New RegistryAccessRule(user, _
            RegistryRights.ChangePermissions, _
            InheritanceFlags.ContainerInherit, _
            PropagationFlags.InheritOnly Or PropagationFlags.NoPropagateInherit,
 _
            AccessControlType.Allow)
        mSec.AddAccessRule(rule)

        ' Display the rules in the security object.
        ShowSecurity(mSec)

        ' Create the test key using the security object.
        '
        Dim rk As RegistryKey = cu.CreateSubKey(TestKey,
 _
            RegistryKeyPermissionCheck.ReadWriteSubTree, _
            mSec)

        ' Create a child subkey and a grandchild subkey, 
        ' without security.
        Dim rkChild As RegistryKey= rk.CreateSubKey("ChildKey",
 _
            RegistryKeyPermissionCheck.ReadWriteSubTree)
        Dim rkGrandChild As RegistryKey = _
            rkChild.CreateSubKey("GrandChildKey",
 _
                RegistryKeyPermissionCheck.ReadWriteSubTree)

        Show(rk)
        Show(rkChild)
        Show(rkGrandChild)

        rkGrandChild.Close()
        rkChild.Close()
        rk.Close()

        cu.DeleteSubKeyTree(TestKey)
    End Sub 

    Private Shared Sub Show(ByVal
 rk As RegistryKey)
        Console.WriteLine(rk.Name)            
        ShowSecurity(rk.GetAccessControl())
    End Sub

    Private Shared Sub ShowSecurity(ByVal
 security As RegistrySecurity)
        Console.WriteLine(vbCrLf & "Current access rules:"
 & vbCrLf)

        For Each ar As RegistryAccessRule
 In _
            security.GetAccessRules(True, True,
 GetType(NTAccount))

            Console.WriteLine("        User: {0}",
 ar.IdentityReference)
            Console.WriteLine("        Type: {0}",
 ar.AccessControlType)
            Console.WriteLine("      Rights: {0}",
 ar.RegistryRights)
            Console.WriteLine(" Inheritance: {0}",
 ar.InheritanceFlags)
            Console.WriteLine(" Propagation: {0}",
 ar.PropagationFlags)
            Console.WriteLine("   Inherited? {0}",
 ar.IsInherited)
            Console.WriteLine()
        Next

    End Sub
End Class 

'This code example produces output similar to following:
'
'Current access rules:
'
'        User: TestDomain\TestUser
'        Type: Allow
'      Rights: SetValue, CreateSubKey, Delete, ReadKey
' Inheritance: ContainerInherit
' Propagation: None
'   Inherited? False
'
'        User: TestDomain\TestUser
'        Type: Allow
'      Rights: ChangePermissions
' Inheritance: ContainerInherit
' Propagation: NoPropagateInherit, InheritOnly
'   Inherited? False
'
'HKEY_CURRENT_USER\TestKey3927
'
'Current access rules:
'
'        User: TestDomain\TestUser
'        Type: Allow
'      Rights: SetValue, CreateSubKey, Delete, ReadKey
' Inheritance: ContainerInherit
' Propagation: None
'   Inherited? False
'
'        User: TestDomain\TestUser
'        Type: Allow
'      Rights: ChangePermissions
' Inheritance: ContainerInherit
' Propagation: NoPropagateInherit, InheritOnly
'   Inherited? False
'
'HKEY_CURRENT_USER\TestKey3927\ChildKey
'
'Current access rules:
'
'        User: TestDomain\TestUser
'        Type: Allow
'      Rights: SetValue, CreateSubKey, Delete, ReadKey
' Inheritance: ContainerInherit
' Propagation: None
'   Inherited? True
'
'        User: TestDomain\TestUser
'        Type: Allow
'      Rights: ChangePermissions
' Inheritance: None
' Propagation: None
'   Inherited? True
'
'HKEY_CURRENT_USER\TestKey3927\ChildKey\GrandChildKey
'
'Current access rules:
'
'        User: TestDomain\TestUser
'        Type: Allow
'      Rights: SetValue, CreateSubKey, Delete, ReadKey
' Inheritance: ContainerInherit
' Propagation: None
'   Inherited? True
using System;
using System.Security.AccessControl;
using System.Security.Principal;
using System.Security;
using Microsoft.Win32;

public class Example
{
    public static void Main()
    {
        const string TestKey = "TestKey3927";
        RegistryKey cu = Registry.CurrentUser;

        string user = Environment.UserDomainName + 
            "\\" + Environment.UserName;

        // Create a security object that grants no access.
        RegistrySecurity mSec = new RegistrySecurity();

        // Add a rule that grants the current user the right
        // to read and enumerate the name/value pairs in a key, 
        // to read its access and audit rules, to enumerate
        // its subkeys, to create subkeys, and to delete the key. 
        // The rule is inherited by all contained subkeys.
        //
        RegistryAccessRule rule = new RegistryAccessRule(user,
 
           RegistryRights.ReadKey | RegistryRights.WriteKey 
               | RegistryRights.Delete, 
           InheritanceFlags.ContainerInherit, 
           PropagationFlags.None, 
           AccessControlType.Allow
        );
        mSec.AddAccessRule(rule);

        // Add a rule that allows the current user the right
        // right to set the name/value pairs in a key. 
        // This rule is inherited by contained subkeys, but
        // propagation flags limit it to immediate child 
        // subkeys.
        rule = new RegistryAccessRule(user, 
            RegistryRights.ChangePermissions, 
            InheritanceFlags.ContainerInherit, 
            PropagationFlags.InheritOnly | 
                PropagationFlags.NoPropagateInherit, 
            AccessControlType.Allow);
        mSec.AddAccessRule(rule);

        // Display the rules in the security object.
        ShowSecurity(mSec);

        // Create the test key using the security object.
        //
        RegistryKey rk = cu.CreateSubKey(TestKey, 
            RegistryKeyPermissionCheck.ReadWriteSubTree, mSec);

        // Create a child subkey and a grandchild subkey, 
        // without security.
        RegistryKey rkChild = rk.CreateSubKey("ChildKey", 
            RegistryKeyPermissionCheck.ReadWriteSubTree);
        RegistryKey rkGrandChild = 
            rkChild.CreateSubKey("GrandChildKey", 
                RegistryKeyPermissionCheck.ReadWriteSubTree);

        Show(rk);
        Show(rkChild);
        Show(rkGrandChild);

        rkGrandChild.Close();
        rkChild.Close();
        rk.Close();

        cu.DeleteSubKeyTree(TestKey);
    }

    private static void
 Show(RegistryKey rk)
    {
        Console.WriteLine(rk.Name);
        ShowSecurity(rk.GetAccessControl());
    }

    private static void
 ShowSecurity(RegistrySecurity security)
    {
        Console.WriteLine("\r\nCurrent access rules:\r\n");

        foreach( RegistryAccessRule ar in security.GetAccessRules(true,
 true, typeof(NTAccount)) )
        {

            Console.WriteLine("        User: {0}", ar.IdentityReference);
            Console.WriteLine("        Type: {0}", ar.AccessControlType);
            Console.WriteLine("      Rights: {0}", ar.RegistryRights);
            Console.WriteLine(" Inheritance: {0}", ar.InheritanceFlags);
            Console.WriteLine(" Propagation: {0}", ar.PropagationFlags);
            Console.WriteLine("   Inherited? {0}", ar.IsInherited);
            Console.WriteLine();
        }

    }
}

/* This code example produces output similar to following:

Current access rules:

        User: TestDomain\TestUser
        Type: Allow
      Rights: SetValue, CreateSubKey, Delete, ReadKey
 Inheritance: ContainerInherit
 Propagation: None
   Inherited? False

        User: TestDomain\TestUser
        Type: Allow
      Rights: ChangePermissions
 Inheritance: ContainerInherit
 Propagation: NoPropagateInherit, InheritOnly
   Inherited? False

HKEY_CURRENT_USER\TestKey3927

Current access rules:

        User: TestDomain\TestUser
        Type: Allow
      Rights: SetValue, CreateSubKey, Delete, ReadKey
 Inheritance: ContainerInherit
 Propagation: None
   Inherited? False

        User: TestDomain\TestUser
        Type: Allow
      Rights: ChangePermissions
 Inheritance: ContainerInherit
 Propagation: NoPropagateInherit, InheritOnly
   Inherited? False

HKEY_CURRENT_USER\TestKey3927\ChildKey

Current access rules:

        User: TestDomain\TestUser
        Type: Allow
      Rights: SetValue, CreateSubKey, Delete, ReadKey
 Inheritance: ContainerInherit
 Propagation: None
   Inherited? True

        User: TestDomain\TestUser
        Type: Allow
      Rights: ChangePermissions
 Inheritance: None
 Propagation: None
   Inherited? True

HKEY_CURRENT_USER\TestKey3927\ChildKey\GrandChildKey

Current access rules:

        User: TestDomain\TestUser
        Type: Allow
      Rights: SetValue, CreateSubKey, Delete, ReadKey
 Inheritance: ContainerInherit
 Propagation: None
   Inherited? True
 */
継承階層継承階層
System.Object
   System.Security.AccessControl.ObjectSecurity
     System.Security.AccessControl.CommonObjectSecurity
       System.Security.AccessControl.NativeObjectSecurity
        System.Security.AccessControl.RegistrySecurity
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
RegistrySecurity メンバ
System.Security.AccessControl 名前空間

RegistrySecurity コンストラクタ


RegistrySecurity プロパティ


パブリック プロパティパブリック プロパティ

  名前 説明
パブリック プロパティ AccessRightType オーバーライドされます。 RegistrySecurity クラスアクセス権を表すために使用する列挙型取得します
パブリック プロパティ AccessRuleType オーバーライドされますRegistrySecurity クラスアクセス規則を表すために使用する型取得します
パブリック プロパティ AreAccessRulesCanonical  この ObjectSecurity オブジェクト関連付けられたアクセス規則順序標準であるかどうか指定するブール値を取得します。 ( ObjectSecurity から継承されます。)
パブリック プロパティ AreAccessRulesProtected  この ObjectSecurity オブジェクト関連付けられた随意アクセス制御リスト (DACL: Discretionary Access Control List) が保護されているかどうか指定するブール値を取得します。 ( ObjectSecurity から継承されます。)
パブリック プロパティ AreAuditRulesCanonical  この ObjectSecurity オブジェクト関連付けられた監査規則順序標準であるかどうか指定するブール値を取得します。 ( ObjectSecurity から継承されます。)
パブリック プロパティ AreAuditRulesProtected  この ObjectSecurity オブジェクト関連付けられたシステム アクセス制御リスト (SACL: System Access Control List) が保護されているかどうか指定するブール値を取得します。 ( ObjectSecurity から継承されます。)
パブリック プロパティ AuditRuleType オーバーライドされますRegistrySecurity クラス監査規則を表すために使用する型取得します
参照参照

関連項目

RegistrySecurity クラス
System.Security.AccessControl 名前空間

RegistrySecurity メソッド


パブリック メソッドパブリック メソッド

  名前 説明
パブリック メソッド AccessRuleFactory オーバーライドされますアクセス権アクセス制御、およびフラグ指定して指定したユーザーに対して新しアクセス制御規則作成します
パブリック メソッド AddAccessRule 新し規則マージできる、一致するアクセス制御検索します見つからなかった場合は、新し規則追加されます。
パブリック メソッド AddAuditRule 新し規則マージできる監査規則検索します見つからなかった場合は、新し規則追加されます。
パブリック メソッド AuditRuleFactory オーバーライドされます規則適用対象となるユーザー監査するアクセス権規則継承反映、および規則発生させる結果指定して新し監査規則作成します
パブリック メソッド Equals  オーバーロードされます2 つObject インスタンス等しかどうか判断します。 ( Object から継承されます。)
パブリック メソッド GetAccessRules  指定したセキュリティ識別子関連付けられたアクセス規則コレクション取得します。 ( CommonObjectSecurity から継承されます。)
パブリック メソッド GetAuditRules  指定したセキュリティ識別子関連付けられた監査規則コレクション取得します。 ( CommonObjectSecurity から継承されます。)
パブリック メソッド GetGroup  指定した所有者関連付けられているプライマリ グループ取得します。 ( ObjectSecurity から継承されます。)
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用適してます。 ( Object から継承されます。)
パブリック メソッド GetOwner  指定したプライマリ グループ関連付けられている所有者取得します。 ( ObjectSecurity から継承されます。)
パブリック メソッド GetSecurityDescriptorBinaryForm  この ObjectSecurity オブジェクトセキュリティ記述子情報を表すバイト値の配列返します。 ( ObjectSecurity から継承されます。)
パブリック メソッド GetSecurityDescriptorSddlForm  この ObjectSecurity オブジェクト関連付けられたセキュリティ記述子指定したセクションの SDDL (Security Descriptor Definition Language) 形式返します。 ( ObjectSecurity から継承されます。)
パブリック メソッド GetType  現在のインスタンスType取得します。 ( Object から継承されます。)
パブリック メソッド IsSddlConversionSupported  この ObjectSecurity オブジェクト関連付けられたセキュリティ記述子を SDDL (Security Descriptor Definition Language) 形式変換できるかどうかを示すブール値を返します。 ( ObjectSecurity から継承されます。)
パブリック メソッド ModifyAccessRule  指定した変更を、この ObjectSecurity オブジェクト関連付けられた随意アクセス制御リスト (DACL: Discretionary Access Control List) に適用します。 ( ObjectSecurity から継承されます。)
パブリック メソッド ModifyAuditRule  指定した変更を、この ObjectSecurity オブジェクト関連付けられたシステム アクセス制御リスト (SACL: System Access Control List) に適用します。 ( ObjectSecurity から継承されます。)
パブリック メソッド PurgeAccessRules  指定した IdentityReference に関連付けられたすべてのアクセス規則削除します。 ( ObjectSecurity から継承されます。)
パブリック メソッド PurgeAuditRules  指定した IdentityReference関連付けられたすべての監査規則削除します。 ( ObjectSecurity から継承されます。)
パブリック メソッド ReferenceEquals  指定した複数Object インスタンス同一かどうか判断します。 ( Object から継承されます。)
パブリック メソッド RemoveAccessRule 指定したアクセス規則と同じユーザーと AccessControlType (許可または拒否)、および互換性のある継承フラグ反映フラグ指定されアクセス制御規則検索されます。このような規則が見つかると、指定したアクセス規則含まれる権限がその規則から削除されます。
パブリック メソッド RemoveAccessRuleAll 指定した規則と同じユーザーおよび同じ AccessControlType (許可または拒否) が指定されアクセス制御規則をすべて検索し一致する規則見つかった場合は、その規則削除します
パブリック メソッド RemoveAccessRuleSpecific 指定した規則正確に一致するアクセス制御規則検索し見つかった場合は、その規則削除します
パブリック メソッド RemoveAuditRule 指定した規則と同じユーザー、および互換性のある継承フラグ反映フラグ指定され監査制御規則検索されます。互換性のある規則が見つかると、指定した規則含まれる権限がその規則から削除されます。
パブリック メソッド RemoveAuditRuleAll 指定した規則と同じユーザー指定され監査規則をすべて検索し一致する規則見つかった場合は、その規則削除します
パブリック メソッド RemoveAuditRuleSpecific 指定した規則正確に一致する監査規則検索し見つかった場合は、その規則削除します
パブリック メソッド ResetAccessRule AccessControlType に関係なく、指定した規則と同じユーザー指定されすべてのアクセス制御規則削除し指定した規則追加します
パブリック メソッド SetAccessRule 指定した規則と同じユーザーおよび同じ AccessControlType (許可または拒否) が指定されすべてのアクセス制御規則削除し指定した規則追加します
パブリック メソッド SetAccessRuleProtection  この ObjectSecurity オブジェクト関連付けられたアクセス規則保護設定または削除します保護されアクセス規則を親オブジェクトから継承通じて変更することはできません。 ( ObjectSecurity から継承されます。)
パブリック メソッド SetAuditRule AuditFlags 値に関係なく、指定した規則と同じユーザー指定されすべての監査規則削除し指定した規則追加します
パブリック メソッド SetAuditRuleProtection  この ObjectSecurity オブジェクト関連付けられた監査規則保護設定または削除します保護され監査規則を親オブジェクトから継承通じて変更することはできません。 ( ObjectSecurity から継承されます。)
パブリック メソッド SetGroup  この ObjectSecurity オブジェクト関連付けられたセキュリティ記述子プライマリ グループ設定します。 ( ObjectSecurity から継承されます。)
パブリック メソッド SetOwner  この ObjectSecurity オブジェクト関連付けられたセキュリティ記述子所有者設定します。 ( ObjectSecurity から継承されます。)
パブリック メソッド SetSecurityDescriptorBinaryForm  オーバーロードされます指定したバイナリ データからこの ObjectSecurity オブジェクトセキュリティ記述子設定します。 ( ObjectSecurity から継承されます。)
パブリック メソッド SetSecurityDescriptorSddlForm  オーバーロードされます指定した SDDL (Security Descriptor Definition Language) 文字列からこの ObjectSecurity オブジェクトセキュリティ記述子設定します。 ( ObjectSecurity から継承されます。)
パブリック メソッド ToString  現在の Object を表す String返します。 ( Object から継承されます。)
参照参照

関連項目

RegistrySecurity クラス
System.Security.AccessControl 名前空間

RegistrySecurity メンバ

レジストリ キーWindows アクセス制御セキュリティ表します。このクラス継承できません。

RegistrySecurity データ型公開されるメンバを以下の表に示します


パブリック コンストラクタパブリック コンストラクタ
  名前 説明
パブリック メソッド RegistrySecurity RegistrySecurity クラス新しインスタンス既定値初期化します。
パブリック プロパティパブリック プロパティ
  名前 説明
パブリック プロパティ AccessRightType オーバーライドされますRegistrySecurity クラスアクセス権を表すために使用する列挙型取得します
パブリック プロパティ AccessRuleType オーバーライドされますRegistrySecurity クラスアクセス規則を表すために使用する型取得します
パブリック プロパティ AreAccessRulesCanonical  この ObjectSecurity オブジェクト関連付けられたアクセス規則順序標準であるかどうか指定するブール値を取得します。(ObjectSecurity から継承されます。)
パブリック プロパティ AreAccessRulesProtected  この ObjectSecurity オブジェクト関連付けられた随意アクセス制御リスト (DACL: Discretionary Access Control List) が保護されているかどうか指定するブール値を取得します。(ObjectSecurity から継承されます。)
パブリック プロパティ AreAuditRulesCanonical  この ObjectSecurity オブジェクト関連付けられた監査規則順序標準であるかどうか指定するブール値を取得します。(ObjectSecurity から継承されます。)
パブリック プロパティ AreAuditRulesProtected  この ObjectSecurity オブジェクト関連付けられたシステム アクセス制御リスト (SACL: System Access Control List) が保護されているかどうか指定するブール値を取得します。(ObjectSecurity から継承されます。)
パブリック プロパティ AuditRuleType オーバーライドされますRegistrySecurity クラス監査規則を表すために使用する型取得します
パブリック メソッドパブリック メソッド
  名前 説明
パブリック メソッド AccessRuleFactory オーバーライドされますアクセス権アクセス制御、およびフラグ指定して指定したユーザーに対して新しアクセス制御規則作成します
パブリック メソッド AddAccessRule 新し規則マージできる、一致するアクセス制御検索します見つからなかった場合は、新し規則追加されます。
パブリック メソッド AddAuditRule 新し規則マージできる監査規則検索します見つからなかった場合は、新し規則追加されます。
パブリック メソッド AuditRuleFactory オーバーライドされます規則適用対象となるユーザー監査するアクセス権規則継承反映、および規則発生させる結果指定して新し監査規則作成します
パブリック メソッド Equals  オーバーロードされます2 つObject インスタンス等しかどうか判断します。 (Object から継承されます。)
パブリック メソッド GetAccessRules  指定したセキュリティ識別子関連付けられたアクセス規則コレクション取得します。 (CommonObjectSecurity から継承されます。)
パブリック メソッド GetAuditRules  指定したセキュリティ識別子関連付けられた監査規則コレクション取得します。 (CommonObjectSecurity から継承されます。)
パブリック メソッド GetGroup  指定した所有者関連付けられているプライマリ グループ取得します。 (ObjectSecurity から継承されます。)
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用適してます。 (Object から継承されます。)
パブリック メソッド GetOwner  指定したプライマリ グループ関連付けられている所有者取得します。 (ObjectSecurity から継承されます。)
パブリック メソッド GetSecurityDescriptorBinaryForm  この ObjectSecurity オブジェクトセキュリティ記述子情報を表すバイト値の配列返します。 (ObjectSecurity から継承されます。)
パブリック メソッド GetSecurityDescriptorSddlForm  この ObjectSecurity オブジェクト関連付けられたセキュリティ記述子指定したセクションの SDDL (Security Descriptor Definition Language) 形式返します。 (ObjectSecurity から継承されます。)
パブリック メソッド GetType  現在のインスタンスType取得します。 (Object から継承されます。)
パブリック メソッド IsSddlConversionSupported  この ObjectSecurity オブジェクト関連付けられたセキュリティ記述子を SDDL (Security Descriptor Definition Language) 形式変換できるかどうかを示すブール値を返します。 (ObjectSecurity から継承されます。)
パブリック メソッド ModifyAccessRule  指定した変更を、この ObjectSecurity オブジェクト関連付けられた随意アクセス制御リスト (DACL: Discretionary Access Control List) に適用します。 (ObjectSecurity から継承されます。)
パブリック メソッド ModifyAuditRule  指定した変更を、この ObjectSecurity オブジェクト関連付けられたシステム アクセス制御リスト (SACL: System Access Control List) に適用します。 (ObjectSecurity から継承されます。)
パブリック メソッド PurgeAccessRules  指定した IdentityReference に関連付けられたすべてのアクセス規則削除します。 (ObjectSecurity から継承されます。)
パブリック メソッド PurgeAuditRules  指定した IdentityReference関連付けられたすべての監査規則削除します。 (ObjectSecurity から継承されます。)
パブリック メソッド ReferenceEquals  指定した複数Object インスタンス同一かどうか判断します。 (Object から継承されます。)
パブリック メソッド RemoveAccessRule 指定したアクセス規則と同じユーザーと AccessControlType (許可または拒否)、および互換性のある継承フラグ反映フラグ指定されアクセス制御規則検索されます。このような規則が見つかると、指定したアクセス規則含まれる権限がその規則から削除されます。
パブリック メソッド RemoveAccessRuleAll 指定した規則と同じユーザーおよび同じ AccessControlType (許可または拒否) が指定されアクセス制御規則をすべて検索し一致する規則見つかった場合は、その規則削除します
パブリック メソッド RemoveAccessRuleSpecific 指定した規則正確に一致するアクセス制御規則検索し見つかった場合は、その規則削除します
パブリック メソッド RemoveAuditRule 指定した規則と同じユーザー、および互換性のある継承フラグ反映フラグ指定され監査制御規則検索されます。互換性のある規則が見つかると、指定した規則含まれる権限がその規則から削除されます。
パブリック メソッド RemoveAuditRuleAll 指定した規則と同じユーザー指定され監査規則をすべて検索し一致する規則見つかった場合は、その規則削除します
パブリック メソッド RemoveAuditRuleSpecific 指定した規則正確に一致する監査規則検索し見つかった場合は、その規則削除します
パブリック メソッド ResetAccessRule AccessControlType に関係なく、指定した規則と同じユーザー指定されすべてのアクセス制御規則削除し指定した規則追加します
パブリック メソッド SetAccessRule 指定した規則と同じユーザーおよび同じ AccessControlType (許可または拒否) が指定されすべてのアクセス制御規則削除し指定した規則追加します
パブリック メソッド SetAccessRuleProtection  この ObjectSecurity オブジェクト関連付けられたアクセス規則保護設定または削除します保護されアクセス規則を親オブジェクトから継承通じて変更することはできません。 (ObjectSecurity から継承されます。)
パブリック メソッド SetAuditRule AuditFlags 値に関係なく、指定した規則と同じユーザー指定されすべての監査規則削除し指定した規則追加します
パブリック メソッド SetAuditRuleProtection  この ObjectSecurity オブジェクト関連付けられた監査規則保護設定または削除します保護され監査規則を親オブジェクトから継承通じて変更することはできません。 (ObjectSecurity から継承されます。)
パブリック メソッド SetGroup  この ObjectSecurity オブジェクト関連付けられたセキュリティ記述子プライマリ グループ設定します。 (ObjectSecurity から継承されます。)
パブリック メソッド SetOwner  この ObjectSecurity オブジェクト関連付けられたセキュリティ記述子所有者設定します。 (ObjectSecurity から継承されます。)
パブリック メソッド SetSecurityDescriptorBinaryForm  オーバーロードされます指定したバイナリ データからこの ObjectSecurity オブジェクトセキュリティ記述子設定します。 (ObjectSecurity から継承されます。)
パブリック メソッド SetSecurityDescriptorSddlForm  オーバーロードされます指定した SDDL (Security Descriptor Definition Language) 文字列からこの ObjectSecurity オブジェクトセキュリティ記述子設定します。 (ObjectSecurity から継承されます。)
パブリック メソッド ToString  現在の Object を表す String返します。 (Object から継承されます。)
参照参照

関連項目

RegistrySecurity クラス
System.Security.AccessControl 名前空間



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「RegistrySecurity」の関連用語

RegistrySecurityのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



RegistrySecurityのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS