RegistrySecurity Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Kayıt defteri anahtarı için Windows erişim denetimi güvenliğini temsil eder. Bu sınıf devralınamaz.
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
- Devralma
- Öznitelikler
Örnekler
Bu bölüm iki kod örneği içerir. İlk örnekte uyumlu kuralların eklenip kaldırıldığında nasıl birleştiği, ikinci örnekte ise devralma ve yayma bayraklarının kuralların eklenmesini ve silinmesini nasıl etkilediği gösterilmektedir.
Örnek 1
Aşağıdaki kod örneği, yönteminin RemoveAccessRule uyumlu bir kuraldan hakları nasıl kaldırıyor ve yöntemin hakları uyumlu kurallarla nasıl birleştirip birleştiremeyi AddAccessRule gösterir.
Örnek bir RegistrySecurity nesnesi oluşturur ve geçerli kullanıcı RegistryRights.ReadKey haklarına izin veren bir kural ekler. Örnek daha sonra ilk kuralla aynı devralma ve yayma haklarıyla kullanıcıya RegistryRights.SetValueveren bir kural oluşturur ve bu yeni kuralı nesneden RegistrySecurity kaldırmak için yöntemini kullanırRemoveAccessRule. SetValue , öğesinin ReadKeybir parçası olduğundan uyumlu kuraldan kaldırılır. nesnesindeki RegistrySecurity kurallar görüntülenir ve öğesinin kalan bileşenlerini ReadKeygösterir.
Örnek kod daha sonra sağını AddAccessRule nesnedeki SetValue kuralla RegistrySecurity birleştirmek için yöntemini çağırır.
Not
Bu örnek, güvenlik nesnesini bir RegistryKey nesneye eklemez. Bu bölümdeki ikinci örnekte bir güvenlik nesnesi ekleniyor ve ve RegistryKey.SetAccessControliçindeki RegistryKey.GetAccessControl örnekler de ekleniyor.
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
'
Örnek 2
Aşağıdaki kod örneği, devralma ve yayma ile erişim kurallarını gösterir. Örnek bir RegistrySecurity nesnesi oluşturur, ardından bayrağına ContainerInherit sahip iki kural oluşturur ve ekler. İlk kuralda yayma bayrağı olmazken, ikinci kuralda ve InheritOnlybulunurNoPropagateInherit.
Program nesnesindeki RegistrySecurity kuralları görüntüler ve sonra bir alt anahtar oluşturmak için nesnesini kullanır RegistrySecurity . Program bir alt alt anahtar ve alt alt anahtar oluşturur, ardından her alt anahtarın güvenliğini görüntüler. Son olarak, program test anahtarlarını siler.
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
Açıklamalar
RegistrySecurity Nesne, kayıt defteri anahtarı için erişim haklarını belirtir ve ayrıca erişim girişimlerinin nasıl denetleniyor olduğunu belirtir. Kayıt defteri anahtarına erişim hakları kural olarak ifade edilir ve her erişim kuralı bir RegistryAccessRule nesne tarafından temsil edilir. Her denetim kuralı bir RegistryAuditRule nesneyle temsil edilir.
Bu, güvenliği sağlanabilir her nesnenin güvenli nesneye erişimi denetleyen en fazla bir isteğe bağlı erişim denetim listesine (DACL) ve hangi erişim denemelerinin denetlendiğini belirten en fazla bir sistem erişim denetim listesine (SACL) sahip olduğu temel Windows güvenlik sistemini yansıtır. DACL ve SACL, kullanıcılar ve gruplar için erişim ve denetimi belirten erişim denetimi girdilerinin (ACE) sıralı listeleridir. Bir RegistryAccessRule veya RegistryAuditRule nesnesi birden fazla ACE'i temsil edebilir.
Not
Windows erişim denetimi güvenliği yalnızca kayıt defteri anahtarlarına uygulanabilir. Bir anahtarda depolanan tek tek anahtar/değer çiftlerine uygulanamaz.
RegistrySecurity, RegistryAccessRuleve sınıfları, ACL'lerin RegistryAuditRule ve ACL'lerin uygulama ayrıntılarını gizler. On yedi farklı ACE türünü ve devralmayı ve erişim haklarının yayılmasını doğru şekilde korumanın karmaşıklığını yoksaymanıza olanak sağlar. Bu nesneler, aşağıdaki yaygın erişim denetimi hatalarını önlemek için de tasarlanmıştır:
Null DACL ile bir güvenlik tanımlayıcısı oluşturma. DACL'ye null başvuru, herhangi bir kullanıcının bir nesneye erişim kuralları eklemesine olanak tanır ve potansiyel olarak bir hizmet reddi saldırısı oluşturur. Yeni RegistrySecurity bir nesne her zaman tüm kullanıcılar için tüm erişimi reddeden boş bir DACL ile başlar.
ACL'lerin kurallı sıralamasını ihlal etme. DACL'deki ACE listesi kurallı sırada tutulmazsa, kullanıcılara yanlışlıkla güvenli nesneye erişim verilebilir. Örneğin, reddedilen erişim hakları her zaman izin verilen erişim hakları öncesinde görünmelidir. RegistrySecurity nesneleri dahili olarak doğru sırayı korur.
Yalnızca kaynak yöneticisi denetimi altında olması gereken güvenlik tanımlayıcısı bayraklarını düzenleme.
ACE bayraklarının geçersiz bileşimleri oluşturuluyor.
Devralınan ACL'leri düzenleme. Devralma ve yayma, erişim ve denetim kurallarında yaptığınız değişikliklere yanıt olarak kaynak yöneticisi tarafından işlenir.
ACL'lere anlamsız ACL'ler ekleme.
.NET güvenlik nesneleri tarafından desteklenmeyen tek özellikler, uygulama geliştiricilerinin çoğunluğu tarafından kaçınılması gereken tehlikeli etkinliklerdir, örneğin:
Normalde kaynak yöneticisi tarafından gerçekleştirilen düşük düzeyli görevler.
Kurallı sıralamayı korumayan yollarla erişim denetimi girdileri ekleme veya kaldırma.
Kayıt defteri anahtarının Windows erişim denetimi güvenliğini değiştirmek için nesnesini almak RegistrySecurity için yöntemini kullanınRegistryKey.GetAccessControl. Kuralları ekleyip kaldırarak güvenlik nesnesini değiştirin ve ardından yöntemini kullanarak RegistryKey.SetAccessControl yeniden ekleyin.
Önemli
Bir RegistrySecurity nesnede yaptığınız değişiklikler, değiştirilen güvenlik nesnesini kayıt defteri anahtarına atamak için yöntemini çağırana RegistryKey.SetAccessControl kadar kayıt defteri anahtarının erişim düzeylerini etkilemez.
Erişim denetimi güvenliğini bir kayıt defteri anahtarından diğerine kopyalamak için yöntemini kullanarak RegistryKey.GetAccessControl ilk kayıt defteri anahtarının erişim ve denetim kurallarını temsil eden bir RegistrySecurity nesneyi alın ve ardından yöntemini kullanarak RegistryKey.SetAccessControl bu kuralları ikinci kayıt defteri anahtarına atayın. Ayrıca, bir nesne parametresini alan veya RegistryKey.CreateSubKey yöntemiyle kuralları ikinci bir RegistryKey.OpenSubKeyRegistrySecurity kayıt defteri anahtarına atayabilirsiniz.
Güvenlik tanımlayıcısı tanım diline (SDDL) yatırımları olan kullanıcılar, kayıt defteri anahtarına erişim kuralları ayarlamak için yöntemini ve GetSecurityDescriptorSddlForm SDDL biçiminde erişim kurallarını temsil eden bir dize elde etmek için yöntemini kullanabilirSetSecurityDescriptorSddlForm. Bu, yeni geliştirme için önerilmez.
Oluşturucular
RegistrySecurity() |
RegistrySecurity sınıfının yeni bir örneğini varsayılan değerlerle başlatır. |
Özellikler
AccessRightType |
Sınıfının erişim haklarını temsil etmek için kullandığı numaralandırma türünü RegistrySecurity alır. |
AccessRulesModified |
Bu ObjectSecurity nesneyle ilişkili erişim kurallarının değiştirilip değiştirilmediğini belirten bir Boole değeri alır veya ayarlar. (Devralındığı yer: ObjectSecurity) |
AccessRuleType |
Sınıfının erişim kurallarını temsil etmek için kullandığı türü RegistrySecurity alır. |
AreAccessRulesCanonical |
Bu ObjectSecurity nesneyle ilişkili erişim kurallarının kurallı sırada olup olmadığını belirten bir Boole değeri alır. (Devralındığı yer: ObjectSecurity) |
AreAccessRulesProtected |
Bu ObjectSecurity nesneyle ilişkili İsteğe Bağlı Access Control Listesi'nin (DACL) korunup korunmadığını belirten bir Boole değeri alır. (Devralındığı yer: ObjectSecurity) |
AreAuditRulesCanonical |
Bu ObjectSecurity nesneyle ilişkili denetim kurallarının kurallı sırada olup olmadığını belirten bir Boole değeri alır. (Devralındığı yer: ObjectSecurity) |
AreAuditRulesProtected |
Bu ObjectSecurity nesneyle ilişkili Sistem Access Control Listesi'nin (SACL) korunup korunmadığını belirten bir Boole değeri alır. (Devralındığı yer: ObjectSecurity) |
AuditRulesModified |
Bu ObjectSecurity nesneyle ilişkili denetim kurallarının değiştirilip değiştirilmediğini belirten bir Boole değeri alır veya ayarlar. (Devralındığı yer: ObjectSecurity) |
AuditRuleType |
Sınıfın RegistrySecurity denetim kurallarını temsil etmek için kullandığı türü alır. |
GroupModified |
Güvenli hale getirilebilir nesneyle ilişkili grubun değiştirilip değiştirilmediğini belirten bir Boole değeri alır veya ayarlar. (Devralındığı yer: ObjectSecurity) |
IsContainer |
Bu ObjectSecurity nesnenin bir kapsayıcı nesnesi olup olmadığını belirten bir Boole değeri alır. (Devralındığı yer: ObjectSecurity) |
IsDS |
Bu ObjectSecurity nesnenin bir dizin nesnesi olup olmadığını belirten bir Boole değeri alır. (Devralındığı yer: ObjectSecurity) |
OwnerModified |
Güvenliği sağlanabilir nesnenin sahibinin değiştirilip değiştirilmediğini belirten bir Boole değeri alır veya ayarlar. (Devralındığı yer: ObjectSecurity) |
SecurityDescriptor |
Bu örnek için güvenlik tanımlayıcısını alır. (Devralındığı yer: ObjectSecurity) |
Yöntemler
AccessRuleFactory(IdentityReference, Int32, Boolean, InheritanceFlags, PropagationFlags, AccessControlType) |
Belirtilen kullanıcı için, belirtilen erişim hakları, erişim denetimi ve bayraklarla yeni bir erişim denetimi kuralı oluşturur. |
AddAccessRule(AccessRule) |
Belirtilen erişim kuralını bu CommonObjectSecurity nesneyle ilişkili İsteğe Bağlı Access Control Listesi'ne (DACL) ekler. (Devralındığı yer: CommonObjectSecurity) |
AddAccessRule(RegistryAccessRule) |
Yeni kuralın birleştirilebileceği eşleşen bir erişim denetimi arar. Hiçbir kural bulunmazsa yeni kuralı ekler. |
AddAuditRule(AuditRule) |
Belirtilen denetim kuralını bu CommonObjectSecurity nesneyle ilişkili Sistem Access Control Listesi'ne (SACL) ekler. (Devralındığı yer: CommonObjectSecurity) |
AddAuditRule(RegistryAuditRule) |
Yeni kuralın birleştirilebileceği bir denetim kuralı arar. Hiçbir kural bulunmazsa yeni kuralı ekler. |
AuditRuleFactory(IdentityReference, Int32, Boolean, InheritanceFlags, PropagationFlags, AuditFlags) |
Kuralın uygulandığı kullanıcıyı, denetim erişim haklarını, kuralı devralma ve yaymayı ve kuralı tetikleyen sonucu belirterek yeni bir denetim kuralı oluşturur. |
Equals(Object) |
Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler. (Devralındığı yer: Object) |
GetAccessRules(Boolean, Boolean, Type) |
Belirtilen güvenlik tanımlayıcısıyla ilişkili erişim kuralları koleksiyonunu alır. (Devralındığı yer: CommonObjectSecurity) |
GetAuditRules(Boolean, Boolean, Type) |
Belirtilen güvenlik tanımlayıcısıyla ilişkili denetim kuralları koleksiyonunu alır. (Devralındığı yer: CommonObjectSecurity) |
GetGroup(Type) |
Belirtilen sahiple ilişkili birincil grubu alır. (Devralındığı yer: ObjectSecurity) |
GetHashCode() |
Varsayılan karma işlevi işlevi görür. (Devralındığı yer: Object) |
GetOwner(Type) |
Belirtilen birincil grupla ilişkili sahibi alır. (Devralındığı yer: ObjectSecurity) |
GetSecurityDescriptorBinaryForm() |
Bu ObjectSecurity nesnenin güvenlik tanımlayıcı bilgilerini temsil eden bayt değerleri dizisi döndürür. (Devralındığı yer: ObjectSecurity) |
GetSecurityDescriptorSddlForm(AccessControlSections) |
Bu ObjectSecurity nesneyle ilişkili güvenlik tanımlayıcısının belirtilen bölümlerinin Güvenlik Tanımlayıcısı Tanım Dili (SDDL) gösterimini döndürür. (Devralındığı yer: ObjectSecurity) |
GetType() |
Type Geçerli örneğini alır. (Devralındığı yer: Object) |
MemberwiseClone() |
Geçerli Objectöğesinin sığ bir kopyasını oluşturur. (Devralındığı yer: Object) |
ModifyAccess(AccessControlModification, AccessRule, Boolean) |
Belirtilen değişikliği bu CommonObjectSecurity nesneyle ilişkili İsteğe Bağlı Access Control Listesi'ne (DACL) uygular. (Devralındığı yer: CommonObjectSecurity) |
ModifyAccessRule(AccessControlModification, AccessRule, Boolean) |
Belirtilen değişikliği bu ObjectSecurity nesneyle ilişkili İsteğe Bağlı Access Control Listesi'ne (DACL) uygular. (Devralındığı yer: ObjectSecurity) |
ModifyAudit(AccessControlModification, AuditRule, Boolean) |
Belirtilen değişikliği bu CommonObjectSecurity nesneyle ilişkili Sistem Access Control Listesi'ne (SACL) uygular. (Devralındığı yer: CommonObjectSecurity) |
ModifyAuditRule(AccessControlModification, AuditRule, Boolean) |
Belirtilen değişikliği bu ObjectSecurity nesneyle ilişkili Sistem Access Control Listesi'ne (SACL) uygular. (Devralındığı yer: ObjectSecurity) |
Persist(Boolean, String, AccessControlSections) |
Bu ObjectSecurity nesneyle ilişkili güvenlik tanımlayıcısının belirtilen bölümlerini kalıcı depolama alanına kaydeder. Oluşturucu ve kalıcı yöntemlere geçirilen parametrelerin değerlerinin |
Persist(SafeHandle, AccessControlSections) |
Bu NativeObjectSecurity nesneyle ilişkili güvenlik tanımlayıcısının belirtilen bölümlerini kalıcı depolama alanına kaydeder. Oluşturucuya geçirilen parametrelerin değerlerinin |
Persist(SafeHandle, AccessControlSections, Object) |
Bu NativeObjectSecurity nesneyle ilişkili güvenlik tanımlayıcısının belirtilen bölümlerini kalıcı depolama alanına kaydeder. Oluşturucu ve kalıcı yöntemlere geçirilen parametrelerin değerlerinin |
Persist(String, AccessControlSections) |
Bu NativeObjectSecurity nesneyle ilişkili güvenlik tanımlayıcısının belirtilen bölümlerini kalıcı depolama alanına kaydeder. Oluşturucu ve kalıcı yöntemlere geçirilen parametrelerin değerlerinin |
Persist(String, AccessControlSections, Object) |
Bu NativeObjectSecurity nesneyle ilişkili güvenlik tanımlayıcısının belirtilen bölümlerini kalıcı depolama alanına kaydeder. Oluşturucu ve kalıcı yöntemlere geçirilen parametrelerin değerlerinin |
PurgeAccessRules(IdentityReference) |
Belirtilen IdentityReferenceile ilişkili tüm erişim kurallarını kaldırır. (Devralındığı yer: ObjectSecurity) |
PurgeAuditRules(IdentityReference) |
Belirtilen IdentityReferenceile ilişkili tüm denetim kurallarını kaldırır. (Devralındığı yer: ObjectSecurity) |
ReadLock() |
Bu ObjectSecurity nesneyi okuma erişimi için kilitler. (Devralındığı yer: ObjectSecurity) |
ReadUnlock() |
Okuma erişimi için bu ObjectSecurity nesnenin kilidini açar. (Devralındığı yer: ObjectSecurity) |
RemoveAccessRule(AccessRule) |
Bu CommonObjectSecurity nesneyle ilişkilendirilmiş İsteğe Bağlı Access Control Listesi'nden (DACL) belirtilen erişim kuralıyla aynı güvenlik tanımlayıcısını ve erişim maskesini içeren erişim kurallarını kaldırır. (Devralındığı yer: CommonObjectSecurity) |
RemoveAccessRule(RegistryAccessRule) |
Belirtilen erişim kuralıyla aynı kullanıcıya ve AccessControlType (izin ver veya reddet) ve uyumlu devralma ve yayma bayraklarına sahip bir erişim denetimi kuralı arar; böyle bir kural bulunursa, belirtilen erişim kuralında yer alan haklar bu kuraldan kaldırılır. |
RemoveAccessRuleAll(AccessRule) |
Belirtilen erişim kuralıyla aynı güvenlik tanımlayıcısı olan tüm erişim kurallarını bu CommonObjectSecurity nesneyle ilişkilendirilmiş İsteğe Bağlı Access Control Listesi'nden (DACL) kaldırır. (Devralındığı yer: CommonObjectSecurity) |
RemoveAccessRuleAll(RegistryAccessRule) |
Belirtilen kuralla aynı kullanıcı ve AccessControlType (izin ver veya reddet) ile tüm erişim denetimi kurallarını arar ve bulunursa bunları kaldırır. |
RemoveAccessRuleSpecific(AccessRule) |
Bu CommonObjectSecurity nesneyle ilişkilendirilmiş İsteğe Bağlı Access Control Listesi'nden (DACL) belirtilen erişim kuralıyla tam olarak eşleşen tüm erişim kurallarını kaldırır. (Devralındığı yer: CommonObjectSecurity) |
RemoveAccessRuleSpecific(RegistryAccessRule) |
Belirtilen kuralla tam olarak eşleşen bir erişim denetimi kuralı arar ve bulunursa kuralı kaldırır. |
RemoveAuditRule(AuditRule) |
Belirtilen denetim kuralıyla aynı güvenlik tanımlayıcısını ve erişim maskesini içeren denetim kurallarını bu CommonObjectSecurity nesneyle ilişkili Sistem Access Control Listesi'nden (SACL) kaldırır. (Devralındığı yer: CommonObjectSecurity) |
RemoveAuditRule(RegistryAuditRule) |
Belirtilen kuralla aynı kullanıcıya ve uyumlu devralma ve yayma bayraklarına sahip bir denetim denetimi kuralı arar; uyumlu bir kural bulunursa, belirtilen kuralda yer alan haklar bu kuraldan kaldırılır. |
RemoveAuditRuleAll(AuditRule) |
Belirtilen denetim kuralıyla aynı güvenlik tanımlayıcısına sahip tüm denetim kurallarını bu CommonObjectSecurity nesneyle ilişkilendirilmiş Sistem Access Control Listesi'nden (SACL) kaldırır. (Devralındığı yer: CommonObjectSecurity) |
RemoveAuditRuleAll(RegistryAuditRule) |
Belirtilen kuralla aynı kullanıcıyla tüm denetim kurallarını arar ve bulunursa bunları kaldırır. |
RemoveAuditRuleSpecific(AuditRule) |
Belirtilen denetim kuralıyla tam olarak eşleşen tüm denetim kurallarını bu CommonObjectSecurity nesneyle ilişkili Sistem Access Control Listesi'nden (SACL) kaldırır. (Devralındığı yer: CommonObjectSecurity) |
RemoveAuditRuleSpecific(RegistryAuditRule) |
Belirtilen kuralla tam olarak eşleşen bir denetim kuralı arar ve bulunursa kuralı kaldırır. |
ResetAccessRule(AccessRule) |
Bu CommonObjectSecurity nesneyle ilişkili İsteğe Bağlı Access Control Listesi'ndeki (DACL) tüm erişim kurallarını kaldırır ve ardından belirtilen erişim kuralını ekler. (Devralındığı yer: CommonObjectSecurity) |
ResetAccessRule(RegistryAccessRule) |
bağımsız olarak, AccessControlTypebelirtilen kuralla aynı kullanıcıyla tüm erişim denetimi kurallarını kaldırır ve ardından belirtilen kuralı ekler. |
SetAccessRule(AccessRule) |
Bu CommonObjectSecurity nesneyle ilişkili İsteğe Bağlı Access Control Listesi'nde (DACL) belirtilen erişim kuralıyla aynı güvenlik tanımlayıcısını ve niteleyiciyi içeren tüm erişim kurallarını kaldırır ve ardından belirtilen erişim kuralını ekler. (Devralındığı yer: CommonObjectSecurity) |
SetAccessRule(RegistryAccessRule) |
Belirtilen kuralla aynı kullanıcı ve AccessControlType (izin ver veya reddet) ile tüm erişim denetimi kurallarını kaldırır ve ardından belirtilen kuralı ekler. |
SetAccessRuleProtection(Boolean, Boolean) |
Bu ObjectSecurity nesneyle ilişkili erişim kurallarının korumasını ayarlar veya kaldırır. Korumalı erişim kuralları, devralma yoluyla üst nesneler tarafından değiştirilemez. (Devralındığı yer: ObjectSecurity) |
SetAuditRule(AuditRule) |
Bu CommonObjectSecurity nesneyle ilişkili Sistem Access Control Listesi'nde (SACL) belirtilen denetim kuralıyla aynı güvenlik tanımlayıcısını ve niteleyiciyi içeren tüm denetim kurallarını kaldırır ve ardından belirtilen denetim kuralını ekler. (Devralındığı yer: CommonObjectSecurity) |
SetAuditRule(RegistryAuditRule) |
Değerden bağımsız AuditFlags olarak, belirtilen kuralla aynı kullanıcıya sahip tüm denetim kurallarını kaldırır ve ardından belirtilen kuralı ekler. |
SetAuditRuleProtection(Boolean, Boolean) |
Bu ObjectSecurity nesneyle ilişkili denetim kurallarının korumasını ayarlar veya kaldırır. Korumalı denetim kuralları, devralma yoluyla üst nesneler tarafından değiştirilemez. (Devralındığı yer: ObjectSecurity) |
SetGroup(IdentityReference) |
Bu ObjectSecurity nesneyle ilişkili güvenlik tanımlayıcısı için birincil grubu ayarlar. (Devralındığı yer: ObjectSecurity) |
SetOwner(IdentityReference) |
Bu ObjectSecurity nesneyle ilişkili güvenlik tanımlayıcısının sahibini ayarlar. (Devralındığı yer: ObjectSecurity) |
SetSecurityDescriptorBinaryForm(Byte[]) |
Belirtilen bayt değerleri dizisinden bu ObjectSecurity nesne için güvenlik tanımlayıcısını ayarlar. (Devralındığı yer: ObjectSecurity) |
SetSecurityDescriptorBinaryForm(Byte[], AccessControlSections) |
Belirtilen bayt değerleri dizisinden bu ObjectSecurity nesne için güvenlik tanımlayıcısının belirtilen bölümlerini ayarlar. (Devralındığı yer: ObjectSecurity) |
SetSecurityDescriptorSddlForm(String) |
Belirtilen Güvenlik Tanımlayıcısı Tanım Dili (SDDL) dizesinden bu ObjectSecurity nesne için güvenlik tanımlayıcısını ayarlar. (Devralındığı yer: ObjectSecurity) |
SetSecurityDescriptorSddlForm(String, AccessControlSections) |
Belirtilen Güvenlik Tanımlayıcısı Tanım Dili (SDDL) dizesinden bu ObjectSecurity nesne için güvenlik tanımlayıcısının belirtilen bölümlerini ayarlar. (Devralındığı yer: ObjectSecurity) |
ToString() |
Geçerli nesneyi temsil eden dizeyi döndürür. (Devralındığı yer: Object) |
WriteLock() |
Bu ObjectSecurity nesneyi yazma erişimi için kilitler. (Devralındığı yer: ObjectSecurity) |
WriteUnlock() |
Yazma erişimi için bu ObjectSecurity nesnenin kilidini açar. (Devralındığı yer: ObjectSecurity) |