Share via


RegistrySecurity Kelas

Definisi

Mewakili keamanan kontrol akses Windows untuk kunci registri. Kelas ini tidak dapat diwariskan.

public ref class RegistrySecurity sealed : System::Security::AccessControl::NativeObjectSecurity
public sealed class RegistrySecurity : System.Security.AccessControl.NativeObjectSecurity
[System.Security.SecurityCritical]
public sealed class RegistrySecurity : System.Security.AccessControl.NativeObjectSecurity
type RegistrySecurity = class
    inherit NativeObjectSecurity
[<System.Security.SecurityCritical>]
type RegistrySecurity = class
    inherit NativeObjectSecurity
Public NotInheritable Class RegistrySecurity
Inherits NativeObjectSecurity
Warisan
Atribut

Contoh

Bagian ini berisi dua contoh kode. Contoh pertama menunjukkan bagaimana aturan yang kompatibel bergabung saat ditambahkan dan dihapus, dan yang kedua menunjukkan bagaimana bendera pewarisan dan penyebaran memengaruhi penambahan dan penghapusan aturan.

Contoh 1

Contoh kode berikut menunjukkan bagaimana RemoveAccessRule metode menghapus hak dari aturan yang kompatibel, dan bagaimana AddAccessRule metode menggabungkan hak dengan aturan yang kompatibel.

Contoh membuat RegistrySecurity objek dan menambahkan aturan yang memungkinkan hak pengguna RegistryRights.ReadKey saat ini. Contoh kemudian membuat aturan yang memberi pengguna RegistryRights.SetValue, dengan hak warisan dan penyebaran yang sama dengan aturan pertama, dan menggunakan RemoveAccessRule metode untuk menghapus aturan baru ini dari RegistrySecurity objek. SetValue adalah konstituen dari ReadKey, sehingga dihapus dari aturan yang kompatibel. Aturan dalam RegistrySecurity objek ditampilkan, menunjukkan sisa konstituen dari ReadKey.

Kode contoh kemudian memanggil AddAccessRule metode untuk menggabungkan kembali kanan SetValue ke dalam aturan dalam RegistrySecurity objek .

Catatan

Contoh ini tidak melampirkan objek keamanan ke RegistryKey objek. Contoh kedua di bagian ini melampirkan objek keamanan, dan begitu juga contoh di RegistryKey.GetAccessControl dan RegistryKey.SetAccessControl.


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
 */
Option Explicit
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
'

Contoh 2

Contoh kode berikut menunjukkan aturan akses dengan pewarisan dan penyebaran. Contoh membuat RegistrySecurity objek, lalu membuat dan menambahkan dua aturan yang memiliki ContainerInherit bendera . Aturan pertama tidak memiliki bendera propagasi, sementara yang kedua memiliki NoPropagateInherit dan InheritOnly.

Program menampilkan aturan dalam RegistrySecurity objek, lalu menggunakan RegistrySecurity objek untuk membuat subkunci. Program ini membuat subkunci anak dan subkunci cucu, lalu menampilkan keamanan untuk setiap subkunci. Akhirnya, program menghapus kunci pengujian.


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
 */
Option Explicit
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

Keterangan

Objek RegistrySecurity menentukan hak akses untuk kunci registri, dan juga menentukan bagaimana upaya akses diaudit. Hak akses ke kunci registri dinyatakan sebagai aturan, dengan setiap aturan akses diwakili oleh RegistryAccessRule objek. Setiap aturan audit diwakili oleh RegistryAuditRule objek.

Ini mencerminkan sistem keamanan Windows yang mendasarinya, di mana setiap objek yang dapat diamankan memiliki paling banyak satu daftar kontrol akses diskresi (DACL) yang mengontrol akses ke objek aman, dan paling banyak satu daftar kontrol akses sistem (SACL) yang menentukan upaya akses mana yang diaudit. DACL dan SACL adalah daftar entri kontrol akses (ACE) yang diurutkan yang menentukan akses dan audit untuk pengguna dan grup. Objek RegistryAccessRule atau RegistryAuditRule mungkin mewakili lebih dari satu ACE.

Catatan

Keamanan kontrol akses Windows hanya dapat diterapkan ke kunci registri. Ini tidak dapat diterapkan ke pasangan kunci/nilai individual yang disimpan dalam kunci.

Kelas RegistrySecurity, RegistryAccessRule, dan RegistryAuditRule menyembunyikan detail implementasi ACL dan ACL. Ini memungkinkan Anda untuk mengabaikan tujuh belas jenis ACE yang berbeda dan kompleksitas mempertahankan warisan dan penyebaran hak akses dengan benar. Objek ini juga dirancang untuk mencegah kesalahan kontrol akses umum berikut:

  • Membuat deskriptor keamanan dengan DACL null. Referensi null ke DACL memungkinkan pengguna untuk menambahkan aturan akses ke objek, yang berpotensi membuat serangan penolakan layanan. Objek baru RegistrySecurity selalu dimulai dengan DACL kosong, yang menolak semua akses untuk semua pengguna.

  • Melanggar urutan aCE kanonis. Jika daftar ACE dalam DACL tidak disimpan dalam urutan kanonis, pengguna mungkin secara tidak sengaja diberikan akses ke objek aman. Misalnya, hak akses yang ditolak harus selalu muncul sebelum hak akses yang diizinkan. RegistrySecurity objek mempertahankan urutan yang benar secara internal.

  • Memanipulasi bendera deskriptor keamanan, yang seharusnya hanya berada di bawah kontrol resource manager.

  • Membuat kombinasi bendera ACE yang tidak valid.

  • Memanipulasi ACE yang diwariskan. Pewarisan dan penyebaran ditangani oleh manajer sumber daya, sebagai respons terhadap perubahan yang Anda buat untuk mengakses dan mengaudit aturan.

  • Memasukkan ACE yang tidak berarti ke dalam ACL.

Satu-satunya kemampuan yang tidak didukung oleh objek keamanan .NET adalah aktivitas berbahaya yang harus dihindari oleh sebagian besar pengembang aplikasi, seperti berikut ini:

  • Tugas tingkat rendah yang biasanya dilakukan oleh manajer sumber daya.

  • Menambahkan atau menghapus entri kontrol akses dengan cara yang tidak mempertahankan urutan kanonis.

Untuk mengubah keamanan kontrol akses Windows untuk kunci registri, gunakan RegistryKey.GetAccessControl metode untuk mendapatkan RegistrySecurity objek . Ubah objek keamanan dengan menambahkan dan menghapus aturan, lalu gunakan RegistryKey.SetAccessControl metode untuk memasangnya kembali.

Penting

Perubahan yang RegistrySecurity Anda buat pada objek tidak memengaruhi tingkat akses kunci registri hingga Anda memanggil RegistryKey.SetAccessControl metode untuk menetapkan objek keamanan yang diubah ke kunci registri.

Untuk menyalin keamanan kontrol akses dari satu kunci registri ke kunci registri lainnya, gunakan RegistryKey.GetAccessControl metode untuk mendapatkan objek yang RegistrySecurity mewakili aturan akses dan audit untuk kunci registri pertama, lalu gunakan RegistryKey.SetAccessControl metode untuk menetapkan aturan tersebut ke kunci registri kedua. Anda juga dapat menetapkan aturan ke kunci registri kedua dengan RegistryKey.OpenSubKey metode atau RegistryKey.CreateSubKey yang mengambil RegistrySecurity parameter objek.

Pengguna dengan investasi dalam bahasa definisi deskriptor keamanan (SDDL) dapat menggunakan SetSecurityDescriptorSddlForm metode untuk menetapkan aturan akses untuk kunci registri, dan GetSecurityDescriptorSddlForm metode untuk mendapatkan string yang mewakili aturan akses dalam format SDDL. Ini tidak disarankan untuk pengembangan baru.

Konstruktor

RegistrySecurity()

Menginisialisasi instans RegistrySecurity baru kelas dengan nilai default.

Properti

AccessRightType

Mendapatkan jenis enumerasi yang RegistrySecurity digunakan kelas untuk mewakili hak akses.

AccessRulesModified

Mendapatkan atau menetapkan nilai Boolean yang menentukan apakah aturan akses yang terkait dengan objek ini ObjectSecurity telah dimodifikasi.

(Diperoleh dari ObjectSecurity)
AccessRuleType

Mendapatkan jenis yang RegistrySecurity digunakan kelas untuk mewakili aturan akses.

AreAccessRulesCanonical

Mendapatkan nilai Boolean yang menentukan apakah aturan akses yang terkait dengan objek ini ObjectSecurity berada dalam urutan kanonis.

(Diperoleh dari ObjectSecurity)
AreAccessRulesProtected

Mendapatkan nilai Boolean yang menentukan apakah Discretionary Access Control List (DACL) yang terkait dengan objek ini ObjectSecurity dilindungi.

(Diperoleh dari ObjectSecurity)
AreAuditRulesCanonical

Mendapatkan nilai Boolean yang menentukan apakah aturan audit yang terkait dengan objek ini ObjectSecurity berada dalam urutan kanonis.

(Diperoleh dari ObjectSecurity)
AreAuditRulesProtected

Mendapatkan nilai Boolean yang menentukan apakah System Access Control List (SACL) yang terkait dengan objek ini ObjectSecurity dilindungi.

(Diperoleh dari ObjectSecurity)
AuditRulesModified

Mendapatkan atau menetapkan nilai Boolean yang menentukan apakah aturan audit yang terkait dengan objek ini ObjectSecurity telah dimodifikasi.

(Diperoleh dari ObjectSecurity)
AuditRuleType

Mendapatkan jenis yang RegistrySecurity digunakan kelas untuk mewakili aturan audit.

GroupModified

Mendapatkan atau menetapkan nilai Boolean yang menentukan apakah grup yang terkait dengan objek yang dapat diamankan telah dimodifikasi.

(Diperoleh dari ObjectSecurity)
IsContainer

Mendapatkan nilai Boolean yang menentukan apakah objek ini ObjectSecurity adalah objek kontainer.

(Diperoleh dari ObjectSecurity)
IsDS

Mendapatkan nilai Boolean yang menentukan apakah objek ini ObjectSecurity adalah objek direktori.

(Diperoleh dari ObjectSecurity)
OwnerModified

Mendapatkan atau menetapkan nilai Boolean yang menentukan apakah pemilik objek yang dapat diamankan telah dimodifikasi.

(Diperoleh dari ObjectSecurity)
SecurityDescriptor

Mendapatkan deskriptor keamanan untuk instans ini.

(Diperoleh dari ObjectSecurity)

Metode

AccessRuleFactory(IdentityReference, Int32, Boolean, InheritanceFlags, PropagationFlags, AccessControlType)

Membuat aturan kontrol akses baru untuk pengguna yang ditentukan, dengan hak akses, kontrol akses, dan bendera yang ditentukan.

AddAccessRule(AccessRule)

Menambahkan aturan akses yang ditentukan ke Daftar Access Control Diskresi (DACL) yang terkait dengan objek iniCommonObjectSecurity.

(Diperoleh dari CommonObjectSecurity)
AddAccessRule(RegistryAccessRule)

Mencari kontrol akses yang cocok dengan aturan baru yang dapat digabungkan. Jika tidak ada yang ditemukan, tambahkan aturan baru.

AddAuditRule(AuditRule)

Menambahkan aturan audit yang ditentukan ke Daftar Access Control Sistem (SACL) yang terkait dengan objek iniCommonObjectSecurity.

(Diperoleh dari CommonObjectSecurity)
AddAuditRule(RegistryAuditRule)

Mencari aturan audit yang aturan barunya dapat digabungkan. Jika tidak ada yang ditemukan, tambahkan aturan baru.

AuditRuleFactory(IdentityReference, Int32, Boolean, InheritanceFlags, PropagationFlags, AuditFlags)

Membuat aturan audit baru, menentukan pengguna yang berlaku untuk aturan, hak akses untuk audit, pewarisan dan penyebaran aturan, dan hasil yang memicu aturan.

Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GetAccessRules(Boolean, Boolean, Type)

Mendapatkan kumpulan aturan akses yang terkait dengan pengidentifikasi keamanan yang ditentukan.

(Diperoleh dari CommonObjectSecurity)
GetAuditRules(Boolean, Boolean, Type)

Mendapatkan kumpulan aturan audit yang terkait dengan pengidentifikasi keamanan yang ditentukan.

(Diperoleh dari CommonObjectSecurity)
GetGroup(Type)

Mendapatkan grup utama yang terkait dengan pemilik yang ditentukan.

(Diperoleh dari ObjectSecurity)
GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetOwner(Type)

Mendapatkan pemilik yang terkait dengan grup utama yang ditentukan.

(Diperoleh dari ObjectSecurity)
GetSecurityDescriptorBinaryForm()

Mengembalikan array nilai byte yang mewakili informasi deskriptor keamanan untuk objek ini ObjectSecurity .

(Diperoleh dari ObjectSecurity)
GetSecurityDescriptorSddlForm(AccessControlSections)

Mengembalikan representasi Security Descriptor Definition Language (SDDL) dari bagian yang ditentukan dari deskriptor keamanan yang terkait dengan objek ini ObjectSecurity .

(Diperoleh dari ObjectSecurity)
GetType()

Mendapatkan dari instans Type saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari saat ini Object.

(Diperoleh dari Object)
ModifyAccess(AccessControlModification, AccessRule, Boolean)

Menerapkan modifikasi yang ditentukan ke Daftar Access Control Diskresi (DACL) yang terkait dengan objek iniCommonObjectSecurity.

(Diperoleh dari CommonObjectSecurity)
ModifyAccessRule(AccessControlModification, AccessRule, Boolean)

Menerapkan modifikasi yang ditentukan ke Daftar Access Control Diskresi (DACL) yang terkait dengan objek iniObjectSecurity.

(Diperoleh dari ObjectSecurity)
ModifyAudit(AccessControlModification, AuditRule, Boolean)

Menerapkan modifikasi yang ditentukan ke Daftar Access Control Sistem (SACL) yang terkait dengan objek iniCommonObjectSecurity.

(Diperoleh dari CommonObjectSecurity)
ModifyAuditRule(AccessControlModification, AuditRule, Boolean)

Menerapkan modifikasi yang ditentukan ke Daftar Access Control Sistem (SACL) yang terkait dengan objek iniObjectSecurity.

(Diperoleh dari ObjectSecurity)
Persist(Boolean, String, AccessControlSections)

Menyimpan bagian yang ditentukan dari deskriptor keamanan yang terkait dengan objek ini ObjectSecurity ke penyimpanan permanen. Kami menyarankan agar nilai includeSections parameter yang diteruskan ke konstruktor dan metode persisten identik.

(Diperoleh dari ObjectSecurity)
Persist(SafeHandle, AccessControlSections)

Menyimpan bagian yang ditentukan dari deskriptor keamanan yang terkait dengan objek ini NativeObjectSecurity ke penyimpanan permanen. Kami recommend.persist bahwa nilai includeSections parameter yang diteruskan ke konstruktor dan metode persisten identik.

(Diperoleh dari NativeObjectSecurity)
Persist(SafeHandle, AccessControlSections, Object)

Menyimpan bagian yang ditentukan dari deskriptor keamanan yang terkait dengan objek ini NativeObjectSecurity ke penyimpanan permanen. Kami menyarankan agar nilai includeSections parameter yang diteruskan ke konstruktor dan metode persisten identik.

(Diperoleh dari NativeObjectSecurity)
Persist(String, AccessControlSections)

Menyimpan bagian yang ditentukan dari deskriptor keamanan yang terkait dengan objek ini NativeObjectSecurity ke penyimpanan permanen. Kami menyarankan agar nilai includeSections parameter yang diteruskan ke konstruktor dan metode persisten identik.

(Diperoleh dari NativeObjectSecurity)
Persist(String, AccessControlSections, Object)

Menyimpan bagian yang ditentukan dari deskriptor keamanan yang terkait dengan objek ini NativeObjectSecurity ke penyimpanan permanen. Kami menyarankan agar nilai includeSections parameter yang diteruskan ke konstruktor dan metode persisten identik.

(Diperoleh dari NativeObjectSecurity)
PurgeAccessRules(IdentityReference)

Menghapus semua aturan akses yang terkait dengan yang ditentukan IdentityReference.

(Diperoleh dari ObjectSecurity)
PurgeAuditRules(IdentityReference)

Menghapus semua aturan audit yang terkait dengan yang ditentukan IdentityReference.

(Diperoleh dari ObjectSecurity)
ReadLock()

Mengunci objek ini ObjectSecurity untuk akses baca.

(Diperoleh dari ObjectSecurity)
ReadUnlock()

Membuka kunci objek ini ObjectSecurity untuk akses baca.

(Diperoleh dari ObjectSecurity)
RemoveAccessRule(AccessRule)

Menghapus aturan akses yang berisi pengidentifikasi keamanan dan masker akses yang sama dengan aturan akses yang ditentukan dari Daftar Access Control Diskresi (DACL) yang terkait dengan objek iniCommonObjectSecurity.

(Diperoleh dari CommonObjectSecurity)
RemoveAccessRule(RegistryAccessRule)

Mencari aturan kontrol akses dengan pengguna yang sama dan AccessControlType (izinkan atau tolak) sebagai aturan akses yang ditentukan, dan dengan bendera pewarisan dan penyebaran yang kompatibel; jika aturan tersebut ditemukan, hak yang terkandung dalam aturan akses yang ditentukan dihapus darinya.

RemoveAccessRuleAll(AccessRule)

Menghapus semua aturan akses yang memiliki pengidentifikasi keamanan yang sama dengan aturan akses yang ditentukan dari Daftar Access Control Diskresi (DACL) yang terkait dengan objek iniCommonObjectSecurity.

(Diperoleh dari CommonObjectSecurity)
RemoveAccessRuleAll(RegistryAccessRule)

Mencari semua aturan kontrol akses dengan pengguna yang sama dan AccessControlType (izinkan atau tolak) sebagai aturan yang ditentukan dan, jika ditemukan, akan menghapusnya.

RemoveAccessRuleSpecific(AccessRule)

Menghapus semua aturan akses yang sama persis dengan aturan akses yang ditentukan dari Daftar Access Control Diskresi (DACL) yang terkait dengan objek iniCommonObjectSecurity.

(Diperoleh dari CommonObjectSecurity)
RemoveAccessRuleSpecific(RegistryAccessRule)

Mencari aturan kontrol akses yang sama persis dengan aturan yang ditentukan dan, jika ditemukan, akan menghapusnya.

RemoveAuditRule(AuditRule)

Menghapus aturan audit yang berisi pengidentifikasi keamanan dan masker akses yang sama dengan aturan audit yang ditentukan dari Daftar Access Control Sistem (SACL) yang terkait dengan objek iniCommonObjectSecurity.

(Diperoleh dari CommonObjectSecurity)
RemoveAuditRule(RegistryAuditRule)

Mencari aturan kontrol audit dengan pengguna yang sama dengan aturan yang ditentukan, dan dengan bendera pewarisan dan penyebaran yang kompatibel; jika aturan yang kompatibel ditemukan, hak yang terkandung dalam aturan yang ditentukan akan dihapus dari aturan tersebut.

RemoveAuditRuleAll(AuditRule)

Menghapus semua aturan audit yang memiliki pengidentifikasi keamanan yang sama dengan aturan audit yang ditentukan dari Daftar Access Control Sistem (SACL) yang terkait dengan objek iniCommonObjectSecurity.

(Diperoleh dari CommonObjectSecurity)
RemoveAuditRuleAll(RegistryAuditRule)

Mencari semua aturan audit dengan pengguna yang sama dengan aturan yang ditentukan dan, jika ditemukan, akan menghapusnya.

RemoveAuditRuleSpecific(AuditRule)

Menghapus semua aturan audit yang sama persis dengan aturan audit yang ditentukan dari Daftar Access Control Sistem (SACL) yang terkait dengan objek iniCommonObjectSecurity.

(Diperoleh dari CommonObjectSecurity)
RemoveAuditRuleSpecific(RegistryAuditRule)

Mencari aturan audit yang sama persis dengan aturan yang ditentukan dan, jika ditemukan, akan menghapusnya.

ResetAccessRule(AccessRule)

Menghapus semua aturan akses dalam Daftar Access Control Diskresi (DACL) yang terkait dengan objek ini CommonObjectSecurity lalu menambahkan aturan akses yang ditentukan.

(Diperoleh dari CommonObjectSecurity)
ResetAccessRule(RegistryAccessRule)

Menghapus semua aturan kontrol akses dengan pengguna yang sama dengan aturan yang ditentukan, terlepas dari AccessControlType, lalu menambahkan aturan yang ditentukan.

SetAccessRule(AccessRule)

Menghapus semua aturan akses yang berisi pengidentifikasi dan kualifikasi keamanan yang sama dengan aturan akses yang ditentukan dalam Daftar Access Control Diskresi (DACL) yang terkait dengan objek ini CommonObjectSecurity lalu menambahkan aturan akses yang ditentukan.

(Diperoleh dari CommonObjectSecurity)
SetAccessRule(RegistryAccessRule)

Menghapus semua aturan kontrol akses dengan pengguna yang sama dan AccessControlType (izinkan atau tolak) sebagai aturan yang ditentukan, lalu menambahkan aturan yang ditentukan.

SetAccessRuleProtection(Boolean, Boolean)

Menyetel atau menghapus proteksi aturan akses yang terkait dengan objek ini ObjectSecurity . Aturan akses terproteksi tidak dapat dimodifikasi oleh objek induk melalui pewarisan.

(Diperoleh dari ObjectSecurity)
SetAuditRule(AuditRule)

Menghapus semua aturan audit yang berisi pengidentifikasi dan kualifikasi keamanan yang sama dengan aturan audit yang ditentukan dalam Daftar Access Control Sistem (SACL) yang terkait dengan objek ini CommonObjectSecurity lalu menambahkan aturan audit yang ditentukan.

(Diperoleh dari CommonObjectSecurity)
SetAuditRule(RegistryAuditRule)

Menghapus semua aturan audit dengan pengguna yang sama dengan aturan yang ditentukan, terlepas dari nilainya AuditFlags , lalu menambahkan aturan yang ditentukan.

SetAuditRuleProtection(Boolean, Boolean)

Mengatur atau menghapus perlindungan aturan audit yang terkait dengan objek ini ObjectSecurity . Aturan audit yang dilindungi tidak dapat dimodifikasi oleh objek induk melalui pewarisan.

(Diperoleh dari ObjectSecurity)
SetGroup(IdentityReference)

Menyetel grup utama untuk deskriptor keamanan yang terkait dengan objek ini ObjectSecurity .

(Diperoleh dari ObjectSecurity)
SetOwner(IdentityReference)

Menyetel pemilik untuk deskriptor keamanan yang terkait dengan objek ini ObjectSecurity .

(Diperoleh dari ObjectSecurity)
SetSecurityDescriptorBinaryForm(Byte[])

Mengatur deskriptor keamanan untuk objek ini ObjectSecurity dari array nilai byte yang ditentukan.

(Diperoleh dari ObjectSecurity)
SetSecurityDescriptorBinaryForm(Byte[], AccessControlSections)

Mengatur bagian yang ditentukan dari deskriptor keamanan untuk objek ini ObjectSecurity dari array nilai byte yang ditentukan.

(Diperoleh dari ObjectSecurity)
SetSecurityDescriptorSddlForm(String)

Mengatur deskriptor keamanan untuk objek ini ObjectSecurity dari string Security Descriptor Definition Language (SDDL) yang ditentukan.

(Diperoleh dari ObjectSecurity)
SetSecurityDescriptorSddlForm(String, AccessControlSections)

Mengatur bagian yang ditentukan dari deskriptor keamanan untuk objek ini ObjectSecurity dari string Security Descriptor Definition Language (SDDL) yang ditentukan.

(Diperoleh dari ObjectSecurity)
ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)
WriteLock()

Mengunci objek ini ObjectSecurity untuk akses tulis.

(Diperoleh dari ObjectSecurity)
WriteUnlock()

Membuka kunci objek ini ObjectSecurity untuk akses tulis.

(Diperoleh dari ObjectSecurity)

Berlaku untuk