RegistrySecurity Osztály

Definíció

Egy beállításkulcs Windows hozzáférés-vezérlési biztonságát jelöli. Ez az osztály nem örökölhető.

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
Öröklődés
Attribútumok

Példák

Ez a szakasz két példakódot tartalmaz. Az első példa bemutatja, hogy a kompatibilis szabályok hogyan egyesülnek a hozzáadáskor és eltávolításakor, a második pedig azt mutatja be, hogy az öröklési és propagálási jelzők hogyan befolyásolják a szabályok hozzáadását és törlését.

1. példa

Az alábbi példakód bemutatja, hogyan távolítja el a metódus a RemoveAccessRule jogosultságokat egy kompatibilis szabályból, és hogyan egyesítheti a AddAccessRule jogosultságokat a kompatibilis szabályokkal.

A példa létrehoz egy RegistrySecurity objektumot, és hozzáad egy szabályt, amely lehetővé teszi az aktuális felhasználói RegistryRights.ReadKey jogosultságokat. A példa ezután létrehoz egy szabályt, amely az első szabályhoz hasonló öröklési és propagálási jogosultságokkal biztosítja a felhasználót RegistryRights.SetValue, és ezzel a RemoveAccessRule módszerrel távolítja el ezt az új szabályt az RegistrySecurity objektumból. SetValue az összetevő, ReadKeyezért a rendszer eltávolítja a kompatibilis szabályból. Megjelenik az objektumban lévő RegistrySecurity szabályok, amelyek a többi összetevőt is megjelenítik ReadKey.

A példakód ezután meghívja a metódust, AddAccessRule hogy a SetValue jobb oldali részt visszafésülje az objektum szabályába RegistrySecurity .

Note

Ez a példa nem csatolja a biztonsági objektumot egy RegistryKey objektumhoz. Az ebben a szakaszban szereplő második példa egy biztonsági objektumot csatol, és így a példákat RegistryKey.GetAccessControlRegistryKey.SetAccessControlés a .


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
'

2. példa

Az alábbi példakód bemutatja az örökléssel és propagálással rendelkező hozzáférési szabályokat. A példa létrehoz egy RegistrySecurity objektumot, majd létrehoz és hozzáad két szabályt, amelyek rendelkeznek a ContainerInherit jelölővel. Az első szabály nem rendelkezik propagálási jelzőkkel, míg a második és NoPropagateInheritInheritOnlya .

A program megjeleníti az objektumban lévő RegistrySecurity szabályokat, majd az RegistrySecurity objektum használatával létrehoz egy alkulcsot. A program létrehoz egy gyermek alkulcsot és egy unoka alkulcsot, majd megjeleníti az egyes alkulcsok biztonságát. Végül a program törli a tesztkulcsokat.


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

Megjegyzések

Az RegistrySecurity objektum hozzáférési jogosultságokat ad meg egy beállításkulcshoz, és meghatározza a hozzáférési kísérletek naplózásának módját is. A beállításkulcs hozzáférési jogosultságai szabályokként vannak kifejezve, és minden hozzáférési szabályt egy RegistryAccessRule objektum jelöl. Minden naplózási szabályt egy RegistryAuditRule objektum jelöl.

Ez tükrözi a mögöttes Windows biztonsági rendszert, amelyben az egyes biztonságos objektumok legfeljebb egy, a védett objektumhoz való hozzáférést szabályozó belátás szerinti hozzáférés-vezérlési listával (DACL) rendelkeznek, és legfeljebb egy rendszerhozzáférési vezérlőlistát (SACL), amely meghatározza, hogy mely hozzáférési kísérletek naplózása történik. A DACL és a SACL a hozzáférés-vezérlési bejegyzések (ACE) rendezett listája, amelyek a felhasználók és csoportok hozzáférését és naplózását határozzák meg. Egy RegistryAccessRule vagy RegistryAuditRule objektum több ACE-t is jelölhet.

Note

Windows hozzáférés-vezérlés biztonsága csak a beállításkulcsokra alkalmazható. A kulcsban tárolt egyes kulcs-/értékpárokra nem alkalmazható.

A RegistrySecurity, RegistryAccessRuleés RegistryAuditRule az osztályok elrejtik az ACL-ek és ACL-ek implementálási részleteit. Lehetővé teszik a tizenhét különböző ACE-típus figyelmen kívül hagyását, valamint a hozzáférési jogok öröklésének és propagálásának megfelelő fenntartásának összetettségét. Ezeket az objektumokat úgy is tervezték, hogy megakadályozzák a következő gyakori hozzáférés-vezérlési hibákat:

  • Biztonsági leíró létrehozása null DACL-vel. A DACL null értékű hivatkozásával bármely felhasználó hozzáférési szabályokat adhat hozzá egy objektumhoz, ami szolgáltatásmegtagadásos támadást eredményezhet. Az új RegistrySecurity objektumok mindig üres DACL-vel kezdődnek, amely minden felhasználó számára letiltja a hozzáférést.

  • Az ACE-k vesszőrendeletének megsértése. Ha a DACL ACE-listája nem a canonical sorrendben van tárolva, előfordulhat, hogy a felhasználók véletlenül hozzáférést kapnak a védett objektumhoz. A megtagadott hozzáférési jogosultságoknak például mindig meg kell jelenniük az engedélyezett hozzáférési jogosultságok előtt. RegistrySecurity az objektumok belsőleg megtartják a megfelelő sorrendet.

  • A biztonsági leíró jelzők manipulálása, amelyeknek csak Resource Manager-vezérlés alatt kell lenniük.

  • Ace-jelölők érvénytelen kombinációinak létrehozása.

  • Örökölt ACE-k manipulálása. Az öröklést és a propagálást az erőforrás-kezelő kezeli a hozzáférési és naplózási szabályok módosításainak megfelelően.

  • Értelmetlen ACL-ek beszúrása az ACL-be.

Az .NET biztonsági objektumok csak olyan veszélyes tevékenységeket támogatnak, amelyeket az alkalmazásfejlesztők többségének el kell kerülnie, például a következőket:

  • Alacsony szintű feladatok, amelyeket általában az erőforrás-kezelő végez.

  • Hozzáférés-vezérlési bejegyzéseket adhat hozzá vagy távolíthat el oly módon, hogy ne tartsa karban a canonical orderinget.

A beállításkulcs Windows hozzáférés-vezérlési biztonságának módosításához használja a RegistryKey.GetAccessControl metódust a RegistrySecurity objektum lekéréséhez. Módosítsa a biztonsági objektumot szabályok hozzáadásával és eltávolításával, majd a RegistryKey.SetAccessControl metódussal próbálkozzon újra.

Important

Az objektumon RegistrySecurity végzett módosítások nem befolyásolják a beállításkulcs hozzáférési szintjét, amíg meg nem hívja a RegistryKey.SetAccessControl módosított biztonsági objektum beállításkulcshoz való hozzárendelésének metódusát.

A hozzáférés-vezérlés biztonságának egyik beállításkulcsból a másikba való másolásához a metódussal RegistryKey.GetAccessControl szerezze be RegistrySecurity az első beállításkulcs hozzáférési és naplózási szabályait képviselő objektumot, majd a RegistryKey.SetAccessControl metódussal rendelje hozzá ezeket a szabályokat a második beállításkulcshoz. A szabályokat egy második beállításkulcshoz is hozzárendelheti egy objektumparamétert RegistryKey.OpenSubKeyRegistryKey.CreateSubKey használó vagy RegistrySecurity metódussal.

A biztonsági leíró definíciós nyelvbe (SDDL) befektetéssel rendelkező felhasználók a SetSecurityDescriptorSddlForm beállításkulcs hozzáférési szabályainak beállítására, a GetSecurityDescriptorSddlForm hozzáférési szabályokat SDDL formátumban képviselő sztring beszerzésére pedig a metódus használatával állíthatják be a metódust. Ez nem ajánlott új fejlesztéshez.

Konstruktorok

Name Description
RegistrySecurity()

Inicializálja az osztály új példányát alapértelmezett RegistrySecurity értékekkel.

Tulajdonságok

Name Description
AccessRightType

Lekéri azt az enumerálási típust, amelyet az RegistrySecurity osztály a hozzáférési jogosultságok megjelenítésére használ.

AccessRulesModified

Lekéri vagy beállít egy logikai értéket, amely meghatározza, hogy az objektumhoz ObjectSecurity társított hozzáférési szabályok módosultak-e.

(Öröklődés forrása ObjectSecurity)
AccessRuleType

Lekéri az osztály által a RegistrySecurity hozzáférési szabályok megjelenítéséhez használt típust.

AreAccessRulesCanonical

Logikai értéket kap, amely meghatározza, hogy az objektumhoz ObjectSecurity társított hozzáférési szabályok kánonikus sorrendben vannak-e.

(Öröklődés forrása ObjectSecurity)
AreAccessRulesProtected

Logikai értéket kap, amely meghatározza, hogy a ObjectSecurity objektumhoz társított diszkrecionális Access Control lista (DACL) védett-e.

(Öröklődés forrása ObjectSecurity)
AreAuditRulesCanonical

Logikai értéket kap, amely meghatározza, hogy az objektumhoz ObjectSecurity társított naplózási szabályok canonikus sorrendben vannak-e.

(Öröklődés forrása ObjectSecurity)
AreAuditRulesProtected

Logikai értéket kap, amely meghatározza, hogy a ObjectSecurity objektumhoz társított Rendszer Access Control lista (SACL) védett-e.

(Öröklődés forrása ObjectSecurity)
AuditRulesModified

Lekéri vagy beállít egy logikai értéket, amely meghatározza, hogy az objektumhoz ObjectSecurity társított naplózási szabályok módosultak-e.

(Öröklődés forrása ObjectSecurity)
AuditRuleType

Lekéri az osztály által a RegistrySecurity naplózási szabályok megjelenítésére használt típust.

GroupModified

Lekéri vagy beállít egy logikai értéket, amely meghatározza, hogy a biztonságos objektumhoz társított csoport módosult-e.

(Öröklődés forrása ObjectSecurity)
IsContainer

Logikai értéket kap, amely meghatározza, hogy ez ObjectSecurity az objektum tárolóobjektum-e.

(Öröklődés forrása ObjectSecurity)
IsDS

Logikai értéket kap, amely meghatározza, hogy ez ObjectSecurity az objektum címtárobjektum-e.

(Öröklődés forrása ObjectSecurity)
OwnerModified

Lekéri vagy beállít egy logikai értéket, amely meghatározza, hogy a biztonságos objektum tulajdonosa módosult-e.

(Öröklődés forrása ObjectSecurity)
SecurityDescriptor

Lekéri a példányhoz tartozó biztonsági leírót.

(Öröklődés forrása ObjectSecurity)

Metódusok

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

Létrehoz egy új hozzáférés-vezérlési szabályt a megadott felhasználó számára a megadott hozzáférési jogosultságokkal, hozzáférés-vezérléssel és jelzőkkel.

AddAccessRule(AccessRule)

Hozzáadja a megadott hozzáférési szabályt a CommonObjectSecurity objektumhoz társított diszkréciós Access Control listához (DACL).

(Öröklődés forrása CommonObjectSecurity)
AddAccessRule(RegistryAccessRule)

Megkeresi a megfelelő hozzáférés-vezérlést, amellyel az új szabály egyesíthető. Ha egyik sem található, hozzáadja az új szabályt.

AddAuditRule(AuditRule)

Hozzáadja a megadott naplózási szabályt a CommonObjectSecurity objektumhoz társított System Access Control List (SACL) listához.

(Öröklődés forrása CommonObjectSecurity)
AddAuditRule(RegistryAuditRule)

Olyan naplózási szabályt keres, amellyel az új szabály egyesíthető. Ha egyik sem található, hozzáadja az új szabályt.

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

Létrehoz egy új naplózási szabályt, amely meghatározza a felhasználót, akire a szabály vonatkozik, a naplózáshoz való hozzáférési jogosultságokat, a szabály öröklését és propagálását, valamint a szabályt kiváltó eredményt.

Equals(Object)

Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal.

(Öröklődés forrása Object)
GetAccessRules(Boolean, Boolean, Type)

Lekéri a megadott biztonsági azonosítóhoz társított hozzáférési szabályok gyűjteményét.

(Öröklődés forrása CommonObjectSecurity)
GetAuditRules(Boolean, Boolean, Type)

Lekéri a megadott biztonsági azonosítóhoz társított naplózási szabályok gyűjteményét.

(Öröklődés forrása CommonObjectSecurity)
GetGroup(Type)

Lekéri a megadott tulajdonoshoz társított elsődleges csoportot.

(Öröklődés forrása ObjectSecurity)
GetHashCode()

Ez az alapértelmezett kivonatoló függvény.

(Öröklődés forrása Object)
GetOwner(Type)

Lekéri a megadott elsődleges csoporthoz társított tulajdonost.

(Öröklődés forrása ObjectSecurity)
GetSecurityDescriptorBinaryForm()

Bájtértékeket tartalmazó tömböt ad vissza, amely az objektum biztonsági leíró adatait ObjectSecurity jelöli.

(Öröklődés forrása ObjectSecurity)
GetSecurityDescriptorSddlForm(AccessControlSections)

Az objektumhoz ObjectSecurity társított biztonsági leíró megadott szakaszainak biztonsági leíró definíciós nyelvét (SDDL) adja vissza.

(Öröklődés forrása ObjectSecurity)
GetType()

Lekéri az Type aktuális példányt.

(Öröklődés forrása Object)
MemberwiseClone()

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
ModifyAccess(AccessControlModification, AccessRule, Boolean)

Alkalmazza a megadott módosítást a CommonObjectSecurity objektumhoz társított diszkrecionális Access Control listára (DACL).

(Öröklődés forrása CommonObjectSecurity)
ModifyAccessRule(AccessControlModification, AccessRule, Boolean)

Alkalmazza a megadott módosítást a ObjectSecurity objektumhoz társított diszkrecionális Access Control listára (DACL).

(Öröklődés forrása ObjectSecurity)
ModifyAudit(AccessControlModification, AuditRule, Boolean)

Alkalmazza a megadott módosítást a CommonObjectSecurity objektumhoz társított System Access Control listára (SACL).

(Öröklődés forrása CommonObjectSecurity)
ModifyAuditRule(AccessControlModification, AuditRule, Boolean)

Alkalmazza a megadott módosítást a ObjectSecurity objektumhoz társított System Access Control listára (SACL).

(Öröklődés forrása ObjectSecurity)
Persist(Boolean, String, AccessControlSections)

Menti az objektumhoz ObjectSecurity társított biztonsági leíró megadott szakaszait állandó tárolóba. Javasoljuk, hogy a konstruktornak átadott paraméterek és a megőrző metódusok értékei includeSections azonosak legyenek.

(Öröklődés forrása ObjectSecurity)
Persist(SafeHandle, AccessControlSections, Object)

Menti az objektumhoz NativeObjectSecurity társított biztonsági leíró megadott szakaszait állandó tárolóba. Javasoljuk, hogy a konstruktornak átadott paraméterek és a megőrző metódusok értékei includeSections azonosak legyenek.

(Öröklődés forrása NativeObjectSecurity)
Persist(SafeHandle, AccessControlSections)

Menti az objektumhoz NativeObjectSecurity társított biztonsági leíró megadott szakaszait állandó tárolóba. Javasoljuk,hogy őrizze meg, hogy a includeSections konstruktornak átadott paraméterek és a megőrző metódusok értékei azonosak legyenek.

(Öröklődés forrása NativeObjectSecurity)
Persist(String, AccessControlSections, Object)

Menti az objektumhoz NativeObjectSecurity társított biztonsági leíró megadott szakaszait állandó tárolóba. Javasoljuk, hogy a konstruktornak átadott paraméterek és a megőrző metódusok értékei includeSections azonosak legyenek.

(Öröklődés forrása NativeObjectSecurity)
Persist(String, AccessControlSections)

Menti az objektumhoz NativeObjectSecurity társított biztonsági leíró megadott szakaszait állandó tárolóba. Javasoljuk, hogy a konstruktornak átadott paraméterek és a megőrző metódusok értékei includeSections azonosak legyenek.

(Öröklődés forrása NativeObjectSecurity)
PurgeAccessRules(IdentityReference)

Eltávolítja a megadotthoz IdentityReferencetársított összes hozzáférési szabályt.

(Öröklődés forrása ObjectSecurity)
PurgeAuditRules(IdentityReference)

Eltávolítja a megadotthoz IdentityReferencetársított összes naplózási szabályt.

(Öröklődés forrása ObjectSecurity)
ReadLock()

Zárolja ezt az ObjectSecurity objektumot olvasási hozzáféréshez.

(Öröklődés forrása ObjectSecurity)
ReadUnlock()

Az objektum zárolásának feloldása ObjectSecurity olvasási hozzáféréshez.

(Öröklődés forrása ObjectSecurity)
RemoveAccessRule(AccessRule)

Eltávolítja azokat a hozzáférési szabályokat, amelyek ugyanazt a biztonsági azonosítót és hozzáférési maszkot tartalmazzák, mint a megadott hozzáférési szabály a CommonObjectSecurity objektumhoz társított Diszkréciós Access Control Listából (DACL).

(Öröklődés forrása CommonObjectSecurity)
RemoveAccessRule(RegistryAccessRule)

Olyan hozzáférés-vezérlési szabályt keres, amely ugyanazzal a felhasználóval és AccessControlType (engedélyezéssel vagy megtagadással) rendelkezik, mint a megadott hozzáférési szabály, és kompatibilis öröklési és propagálási jelzőkkel rendelkezik; ha ilyen szabály található, a megadott hozzáférési szabályban foglalt jogosultságok törlődnek belőle.

RemoveAccessRuleAll(AccessRule)

Eltávolít minden olyan hozzáférési szabályt, amely ugyanazzal a biztonsági azonosítóval rendelkezik, mint a megadott hozzáférési szabály a CommonObjectSecurity objektumhoz társított Diszkréciós Access Control listából (DACL).

(Öröklődés forrása CommonObjectSecurity)
RemoveAccessRuleAll(RegistryAccessRule)

Megkeresi az összes hozzáférés-vezérlési szabályt ugyanazzal a felhasználóval és AccessControlType (engedélyezéssel vagy megtagadással) a megadott szabállyal, és ha megtalálható, eltávolítja őket.

RemoveAccessRuleSpecific(AccessRule)

Eltávolít minden olyan hozzáférési szabályt, amely pontosan megfelel a megadott hozzáférési szabálynak a CommonObjectSecurity objektumhoz társított Diszkrecionális Access Control listából (DACL).

(Öröklődés forrása CommonObjectSecurity)
RemoveAccessRuleSpecific(RegistryAccessRule)

Olyan hozzáférés-vezérlési szabályt keres, amely pontosan megfelel a megadott szabálynak, és ha megtalálható, eltávolítja azt.

RemoveAuditRule(AuditRule)

Eltávolítja azokat a naplózási szabályokat, amelyek ugyanazt a biztonsági azonosítót és hozzáférési maszkot tartalmazzák, mint a megadott naplózási szabály a CommonObjectSecurity objektumhoz társított System Access Control Listából (SACL).

(Öröklődés forrása CommonObjectSecurity)
RemoveAuditRule(RegistryAuditRule)

Olyan naplózási vezérlőszabályt keres, amely ugyanazzal a felhasználóval rendelkezik, mint a megadott szabály, valamint kompatibilis öröklési és propagálási jelzőkkel; ha kompatibilis szabályt talál, a megadott szabályban található jogosultságok törlődnek belőle.

RemoveAuditRuleAll(AuditRule)

Eltávolít minden olyan naplózási szabályt, amely ugyanazzal a biztonsági azonosítóval rendelkezik, mint a megadott naplózási szabály a CommonObjectSecurity objektumhoz társított System Access Control Listából (SACL).

(Öröklődés forrása CommonObjectSecurity)
RemoveAuditRuleAll(RegistryAuditRule)

Megkeresi az összes olyan naplózási szabályt, amely ugyanazzal a felhasználóval rendelkezik, mint a megadott szabály, és ha megtalálható, eltávolítja őket.

RemoveAuditRuleSpecific(AuditRule)

Eltávolítja az összes olyan naplózási szabályt, amely pontosan megfelel a megadott naplózási szabálynak a CommonObjectSecurity objektumhoz társított System Access Control Listából (SACL).

(Öröklődés forrása CommonObjectSecurity)
RemoveAuditRuleSpecific(RegistryAuditRule)

Olyan naplózási szabályt keres, amely pontosan megfelel a megadott szabálynak, és ha megtalálható, eltávolítja azt.

ResetAccessRule(AccessRule)

Eltávolítja a CommonObjectSecurity objektumhoz társított Diszkrecionális Access Control listában (DACL) szereplő összes hozzáférési szabályt, majd hozzáadja a megadott hozzáférési szabályt.

(Öröklődés forrása CommonObjectSecurity)
ResetAccessRule(RegistryAccessRule)

Eltávolítja az összes olyan hozzáférés-vezérlési szabályt, amely ugyanazzal a felhasználóval rendelkezik, mint a megadott szabály, függetlenül attól AccessControlType, majd hozzáadja a megadott szabályt.

SetAccessRule(AccessRule)

Eltávolít minden olyan hozzáférési szabályt, amely ugyanazt a biztonsági azonosítót és minősítőt tartalmazza, mint a CommonObjectSecurity objektumhoz társított Diszkréciós Access Control listában (DACL), majd hozzáadja a megadott hozzáférési szabályt.

(Öröklődés forrása CommonObjectSecurity)
SetAccessRule(RegistryAccessRule)

Eltávolítja az összes olyan hozzáférés-vezérlési szabályt, amely ugyanazzal a felhasználóval és AccessControlType (engedélyezéssel vagy megtagadással) rendelkezik, mint a megadott szabály, majd hozzáadja a megadott szabályt.

SetAccessRuleProtection(Boolean, Boolean)

Beállítja vagy eltávolítja az objektumhoz ObjectSecurity társított hozzáférési szabályok védelmét. A védett hozzáférési szabályokat a szülőobjektumok nem módosíthatják örökléssel.

(Öröklődés forrása ObjectSecurity)
SetAuditRule(AuditRule)

Eltávolít minden olyan naplózási szabályt, amely ugyanazt a biztonsági azonosítót és minősítőt tartalmazza, mint a CommonObjectSecurity objektumhoz társított System Access Control List (SACL) megadott naplózási szabálya, majd hozzáadja a megadott naplózási szabályt.

(Öröklődés forrása CommonObjectSecurity)
SetAuditRule(RegistryAuditRule)

Eltávolítja az összes olyan naplózási szabályt, amely ugyanazzal a felhasználóval rendelkezik, mint a megadott szabály, függetlenül az AuditFlags értéktől, majd hozzáadja a megadott szabályt.

SetAuditRuleProtection(Boolean, Boolean)

Beállítja vagy eltávolítja az objektumhoz ObjectSecurity társított naplózási szabályok védelmét. A védett naplózási szabályokat a szülőobjektumok nem módosíthatják örökléssel.

(Öröklődés forrása ObjectSecurity)
SetGroup(IdentityReference)

Beállítja az objektumhoz társított ObjectSecurity biztonsági leíró elsődleges csoportját.

(Öröklődés forrása ObjectSecurity)
SetOwner(IdentityReference)

Beállítja az objektumhoz társított biztonsági leíró tulajdonosát ObjectSecurity .

(Öröklődés forrása ObjectSecurity)
SetSecurityDescriptorBinaryForm(Byte[], AccessControlSections)

Az objektum biztonsági leírójának ObjectSecurity megadott szakaszait a megadott bájtértékekből állítja be.

(Öröklődés forrása ObjectSecurity)
SetSecurityDescriptorBinaryForm(Byte[])

Az objektum biztonsági leíróját ObjectSecurity a megadott bájtértékekből állítja be.

(Öröklődés forrása ObjectSecurity)
SetSecurityDescriptorSddlForm(String, AccessControlSections)

Az objektum biztonsági leírójának ObjectSecurity megadott szakaszait a megadott Biztonsági leíró definíciós nyelv (SDDL) sztringből állítja be.

(Öröklődés forrása ObjectSecurity)
SetSecurityDescriptorSddlForm(String)

Az objektum biztonsági leíróját ObjectSecurity a megadott Biztonsági leíró definíciós nyelv (SDDL) sztringből állítja be.

(Öröklődés forrása ObjectSecurity)
ToString()

Az aktuális objektumot jelképező sztringet ad vissza.

(Öröklődés forrása Object)
WriteLock()

Zárolja ezt az ObjectSecurity objektumot írási hozzáféréshez.

(Öröklődés forrása ObjectSecurity)
WriteUnlock()

Az objektum zárolásának feloldása ObjectSecurity írási hozzáféréshez.

(Öröklődés forrása ObjectSecurity)

A következőre érvényes: