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ştirmesini AddAccessRule göstermektedir.
Örnek bir RegistrySecurity nesne oluşturur ve geçerli kullanıcı RegistryRights.ReadKey haklarına izin veren bir kural ekler. Örnek daha sonra kullanıcıya RegistryRights.SetValueilk kuralla aynı devralma ve yayma hakları veren bir kural oluşturur ve bu yeni kuralı nesneden RemoveAccessRule kaldırmak için yöntemini kullanırRegistrySecurity. SetValue , öğesinin ReadKeybir parçası olduğundan uyumlu kuraldan kaldırılır. Nesnedeki RegistrySecurity kurallar, öğesinin kalan bileşenlerini ReadKeygöstererek görüntülenir.
Örnek kod daha sonra sağını AddAccessRule nesnedeki kuralla SetValue birleştirmek RegistrySecurity için yöntemini çağırır.
Note
Bu örnek, güvenlik nesnesini bir RegistryKey nesneye eklemez. Bu bölümdeki ikinci örnek bir güvenlik nesnesi ekler ve ve RegistryKey.GetAccessControliçindeki RegistryKey.SetAccessControl örnekler de eklenir.
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 nesne oluşturur, ardından bayrağı olan ContainerInherit iki kural oluşturur ve ekler. İlk kuralda yayma bayrağı olmazken, ikinci kuralda ve NoPropagateInheritbulunurInheritOnly.
Program nesnesindeki RegistrySecurity kuralları görüntüler ve ardından nesnesini kullanarak RegistrySecurity bir alt anahtar oluşturur. Program bir alt alt anahtar ve bir alt alt anahtar oluşturur ve ardından her alt anahtar için güvenlik 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
Nesne RegistrySecurity , bir kayıt defteri anahtarı için erişim haklarını ve ayrıca erişim girişimlerinin nasıl denetlenip denetlenemini belirtir. Kayıt defteri anahtarına erişim hakları, her erişim kuralı bir RegistryAccessRule nesne tarafından temsil edilen kurallar olarak ifade 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 girişimlerinin denetlendiğini belirten en fazla bir sistem erişim denetimi 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 denetim belirten erişim denetimi girdilerinin (ACE) sıralı listeleridir. Bir RegistryAccessRule veya RegistryAuditRule nesnesi birden fazla ACE'i temsil edebilir.
Note
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 RegistryAuditRule sınıfları, ACL'lerin 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 bir şekilde korumanın karmaşıklığını yoksaymanıza olanak sağlar. Bu nesneler ayrıca aşağıdaki yaygın erişim denetimi hatalarını önlemek için tasarlanmıştır:
Null DACL ile 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 bu da hizmet reddi saldırısı oluşturabilir. Yeni RegistrySecurity bir nesne her zaman boş bir DACL ile başlar ve bu da tüm kullanıcılar için tüm erişimi reddeder.
AE'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 resource manager denetimi altında olması gereken güvenlik tanımlayıcısı bayraklarını düzenleme.
ACE bayraklarının geçersiz birleş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 RegistryKey.GetAccessControl yöntemini kullanarak RegistrySecurity nesnesini alın. Kuralları ekleyerek ve kaldırarak güvenlik nesnesini değiştirin ve ardından yöntemini kullanarak RegistryKey.SetAccessControl yeniden ekleyin.
Important
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 nesne alın ve ardından bu kuralları ikinci kayıt defteri anahtarına atamak için yöntemini kullanın RegistryKey.SetAccessControl . Ayrıca, nesne parametresini alan bir veya RegistryKey.OpenSubKey yöntemiyle RegistryKey.CreateSubKey kuralları ikinci bir kayıt defteri anahtarına RegistrySecurity atayabilirsiniz.
Güvenlik tanımlayıcısı tanım diline (SDDL) yatırımları olan kullanıcılar, bir kayıt defteri anahtarına erişim kuralları ayarlamak için yöntemini ve SetSecurityDescriptorSddlForm SDDL biçiminde erişim kurallarını temsil eden bir dize elde etmek için yöntemini kullanabilirGetSecurityDescriptorSddlForm. Bu, yeni geliştirme için önerilmez.
Oluşturucular
| Name | Description |
|---|---|
| RegistrySecurity() |
Sınıfın RegistrySecurity yeni bir örneğini varsayılan değerlerle başlatır. |
Özellikler
| Name | Description |
|---|---|
| AccessRightType |
Sınıfı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ı Erişim Denetim 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şkilendirilmiş Sistem Erişim Denetim 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ın denetim kurallarını temsil etmek için kullandığı türü RegistrySecurity 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 hale getirilebilir 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
| Name | Description |
|---|---|
| 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şkilendirilmiş İsteğe Bağlı Erişim Denetim 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şkilendirilmiş Sistem Erişim Denetim 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şkilendirilmiş 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() |
Geçerli örneğin Type alır. (Devralındığı yer: Object) |
| MemberwiseClone() |
Geçerli Objectbasit 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ı Erişim Denetim 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ı Erişim Denetim Listesi'ne (DACL) uygular. (Devralındığı yer: ObjectSecurity) |
| ModifyAudit(AccessControlModification, AuditRule, Boolean) |
Belirtilen değişikliği bu CommonObjectSecurity nesneyle ilişkilendirilmiş Sistem Erişim Denetim Listesi'ne (SACL) uygular. (Devralındığı yer: CommonObjectSecurity) |
| ModifyAuditRule(AccessControlModification, AuditRule, Boolean) |
Belirtilen değişikliği bu ObjectSecurity nesneyle ilişkilendirilmiş Sistem Erişim Denetim 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, 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(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(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 |
| 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 |
| 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ı Erişim Denetim 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ı ve AccessControlType (izin ver veya reddet) ve uyumlu devralma ve yayma bayraklarıyla 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) |
Bu CommonObjectSecurity nesneyle ilişkilendirilmiş İsteğe Bağlı Erişim Denetim Listesi'nden (DACL) belirtilen erişim kuralıyla aynı güvenlik tanımlayıcısı olan tüm erişim kurallarını 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ı Erişim Denetim 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 bunu 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şkilendirilmiş Sistem Erişim Denetim 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 Erişim Denetim 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) |
Bu CommonObjectSecurity nesneyle ilişkilendirilmiş Sistem Erişim Denetim Listesi'nden (SACL) belirtilen denetim kuralıyla tam olarak eşleşen tüm denetim kurallarını kaldırır. (Devralındığı yer: CommonObjectSecurity) |
| RemoveAuditRuleSpecific(RegistryAuditRule) |
Belirtilen kuralla tam olarak eşleşen bir denetim kuralı arar ve bulunursa bunu kaldırır. |
| ResetAccessRule(AccessRule) |
Bu CommonObjectSecurity nesneyle ilişkili İsteğe Bağlı Erişim Denetim 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) |
, ne olursa olsun AccessControlType, belirtilen kuralla aynı kullanıcıyla tüm erişim denetimi kurallarını kaldırır ve sonra belirtilen kuralı ekler. |
| SetAccessRule(AccessRule) |
Bu CommonObjectSecurity nesneyle ilişkilendirilmiş İsteğe Bağlı Erişim Denetim 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ı üst nesneler tarafından devralma yoluyla değiştirilemez. (Devralındığı yer: ObjectSecurity) |
| SetAuditRule(AuditRule) |
Bu CommonObjectSecurity nesneyle ilişkili Sistem Erişim Denetim 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ıyla 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ı üst nesneler tarafından devralma yoluyla 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[], AccessControlSections) |
Bu ObjectSecurity nesne için güvenlik tanımlayıcısının belirtilen bölümlerini belirtilen bayt değerleri dizisinden 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) |
| 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) |
| 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) |
| ToString() |
Geçerli nesneyi temsil eden bir dize 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) |