Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

RegistrySecurity-Klasse

 

Veröffentlicht: Oktober 2016

Stellt die Windows-zugriffssteuerungssicherheit für einen Registrierungsschlüssel. Diese Klasse kann nicht vererbt werden.

Namespace:   System.Security.AccessControl
Assembly:  mscorlib (in mscorlib.dll)


public ref class RegistrySecurity sealed : NativeObjectSecurity

NameBeschreibung
System_CAPS_pubmethodRegistrySecurity()

Initialisiert eine neue Instanz der RegistrySecurity-Klasse mit Standardwerten.

NameBeschreibung
System_CAPS_pubpropertyAccessRightType

Ruft den Enumerationstyp ab, die die RegistrySecurity -Klasse Zugriffsrechte darstellt.(Überschreibt ObjectSecurity::AccessRightType.)

System_CAPS_pubpropertyAccessRuleType

Ruft den Typ ab, die die RegistrySecurity -Klasse Zugriffsregeln darstellt.(Überschreibt ObjectSecurity::AccessRuleType.)

System_CAPS_pubpropertyAreAccessRulesCanonical

Ruft einen booleschen Wert ab, der angibt, ob sich die Zugriffsregeln, die diesem ObjectSecurity-Objekt zugeordnet sind, in kanonischer Reihenfolge befinden.(Geerbt von „ObjectSecurity“.)

System_CAPS_pubpropertyAreAccessRulesProtected

Ruft einen booleschen Wert ab, der angibt, ob die freigegebene Zugriffssteuerungsliste (Discretionary Access Control List, DACL), die diesem ObjectSecurity-Objekt zugeordnet ist, geschützt ist.(Geerbt von „ObjectSecurity“.)

System_CAPS_pubpropertyAreAuditRulesCanonical

Ruft einen booleschen Wert ab, der angibt, ob sich die Überwachungsregeln, die diesem ObjectSecurity-Objekt zugeordnet sind, in kanonischer Reihenfolge befinden.(Geerbt von „ObjectSecurity“.)

System_CAPS_pubpropertyAreAuditRulesProtected

Ruft einen booleschen Wert ab, der angibt, ob die Systemzugriffssteuerungsliste (System Access Control List, SACL), die diesem ObjectSecurity-Objekt zugeordnet ist, geschützt ist.(Geerbt von „ObjectSecurity“.)

System_CAPS_pubpropertyAuditRuleType

Ruft den Typ ab, die die RegistrySecurity -Klasse Überwachungsregeln darstellt.(Überschreibt ObjectSecurity::AuditRuleType.)

NameBeschreibung
System_CAPS_pubmethodAccessRuleFactory(IdentityReference^, Int32, Boolean, InheritanceFlags, PropagationFlags, AccessControlType)

Erstellt eine neue Zugriffsregel für den angegebenen Benutzer mit den angegebenen Zugriffsrechten Zugriffskontrolle und Flags.(Überschreibt ObjectSecurity::AccessRuleFactory(IdentityReference^, Int32, Boolean, InheritanceFlags, PropagationFlags, AccessControlType).)

System_CAPS_pubmethodAddAccessRule(RegistryAccessRule^)

Sucht nach einer übereinstimmenden Zugriffskontrolle, die mit dem die neue Regel zusammengeführt werden kann. Wenn keine gefunden wird, fügt die neue Regel hinzu.

System_CAPS_pubmethodAddAuditRule(RegistryAuditRule^)

Sucht nach einer Überwachungsregel, mit der die neue Regel zusammengeführt werden kann. Wenn keine gefunden wird, fügt die neue Regel hinzu.

System_CAPS_pubmethodAuditRuleFactory(IdentityReference^, Int32, Boolean, InheritanceFlags, PropagationFlags, AuditFlags)

Erstellt eine neue Überwachungsregel, die angeben, den Benutzer, den die Regel, die Zugriffsrechte für die Überwachung, die Vererbung und Weitergabe der Regel gilt, und das Ergebnis, das die Regel ausgelöst.(Überschreibt ObjectSecurity::AuditRuleFactory(IdentityReference^, Int32, Boolean, InheritanceFlags, PropagationFlags, AuditFlags).)

System_CAPS_pubmethodEquals(Object^)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.(Geerbt von „Object“.)

System_CAPS_pubmethodGetAccessRules(Boolean, Boolean, Type^)

Ruft eine Auflistung der Zugriffsregeln, die der angegebenen Sicherheits-ID zugeordnet.(Geerbt von „CommonObjectSecurity“.)

System_CAPS_pubmethodGetAuditRules(Boolean, Boolean, Type^)

Ruft eine Auflistung der Überwachungsregeln, die der angegebenen Sicherheits-ID zugeordnet.(Geerbt von „CommonObjectSecurity“.)

System_CAPS_pubmethodGetGroup(Type^)

Ruft die dem angegebenen Besitzer zugeordnete primäre Gruppe ab.(Geerbt von „ObjectSecurity“.)

System_CAPS_pubmethodGetHashCode()

Fungiert als die Standardhashfunktion.(Geerbt von „Object“.)

System_CAPS_pubmethodGetOwner(Type^)

Ruft den der angegebenen primären Gruppe zugeordneten Besitzer ab.(Geerbt von „ObjectSecurity“.)

System_CAPS_pubmethodGetSecurityDescriptorBinaryForm()

Gibt ein Array von Bytewerten zurück, das die Sicherheitsbeschreibungsinformationen für dieses ObjectSecurity-Objekt darstellt.(Geerbt von „ObjectSecurity“.)

System_CAPS_pubmethodGetSecurityDescriptorSddlForm(AccessControlSections)

Gibt die SDDL-Darstellung (Security Descriptor Definition Language) der angegebenen Abschnitte der diesem ObjectSecurity-Objekt zugeordneten Sicherheitsbeschreibung zurück.(Geerbt von „ObjectSecurity“.)

System_CAPS_pubmethodGetType()

Ruft den Type der aktuellen Instanz ab.(Geerbt von „Object“.)

System_CAPS_pubmethodModifyAccessRule(AccessControlModification, AccessRule^, Boolean%)

Wendet die angegebene Änderung auf die freigegebene Zugriffssteuerungsliste (Discretionary Access Control List, DACL) an, die diesem ObjectSecurity-Objekt zugeordnet ist.(Geerbt von „ObjectSecurity“.)

System_CAPS_pubmethodModifyAuditRule(AccessControlModification, AuditRule^, Boolean%)

Wendet die angegebene Änderung auf die System-Zugriffssteuerungsliste (System Access Control List, SACL) an, die diesem ObjectSecurity-Objekt zugeordnet ist.(Geerbt von „ObjectSecurity“.)

System_CAPS_pubmethodPurgeAccessRules(IdentityReference^)

Entfernt alle Zugriffsregeln, die dem angegebenen IdentityReference zugeordnet sind.(Geerbt von „ObjectSecurity“.)

System_CAPS_pubmethodPurgeAuditRules(IdentityReference^)

Entfernt alle Überwachungsregeln, die dem angegebenen IdentityReference zugeordnet sind.(Geerbt von „ObjectSecurity“.)

System_CAPS_pubmethodRemoveAccessRule(RegistryAccessRule^)

Sucht nach einer Zugriffssteuerungsregel mit demselben Benutzer und AccessControlType (zulassen oder verweigern) als die angegebene Regel, und mit kompatiblen Weitergabeflags für Vererbung und; wenn eine solche Regel gefunden wird, die Rechte in der angegebenen Zugriffsregel aus entfernt es.

System_CAPS_pubmethodRemoveAccessRuleAll(RegistryAccessRule^)

Sucht nach allen Zugriffssteuerungsregeln mit demselben Benutzer und AccessControlType (zulassen oder verweigern) wie die angegebene Regel und, sofern gefunden, entfernt werden.

System_CAPS_pubmethodRemoveAccessRuleSpecific(RegistryAccessRule^)

Sucht nach einer Zugriffssteuerungsregel, die mit dem angegebenen übereinstimmt Regel und, sofern gefunden, entfernt es.

System_CAPS_pubmethodRemoveAuditRule(RegistryAuditRule^)

Sucht eine-Steuerelement Überwachungsregel mit denselben Benutzer wie die angegebene Regel und mit kompatiblen Weitergabeflags für Vererbung und; Wenn eine kompatible Regel gefunden wird, werden die in der angegebenen Regel enthaltenen Rechte daraus entfernt.

System_CAPS_pubmethodRemoveAuditRuleAll(RegistryAuditRule^)

Durchsucht, für die alle Überwachungsregeln mit demselben Benutzer wie die angegebene Regel gefunden wird, entfernt sie.

System_CAPS_pubmethodRemoveAuditRuleSpecific(RegistryAuditRule^)

Sucht nach einer Überwachungsregel, die genau dem angegebenen übereinstimmt Regel und, sofern gefunden, entfernt es.

System_CAPS_pubmethodResetAccessRule(RegistryAccessRule^)

Entfernt alle Zugriffssteuerungsregeln mit demselben Benutzer wie die angegebene Regel unabhängig von AccessControlType, und fügt anschließend die angegebene Regel hinzu.

System_CAPS_pubmethodSetAccessRule(RegistryAccessRule^)

Entfernt alle Zugriffssteuerungsregeln mit demselben Benutzer und AccessControlType (zulassen oder verweigern) wie die angegebene Regel und fügt anschließend die angegebene Regel hinzu.

System_CAPS_pubmethodSetAccessRuleProtection(Boolean, Boolean)

Legt den Schutz der Zugriffsregeln fest, die diesem ObjectSecurity-Objekt zugeordnet sind, oder entfernt diesen Schutz. Geschützte Zugriffsregeln können von übergeordneten Objekten nicht durch Vererbung geändert werden.(Geerbt von „ObjectSecurity“.)

System_CAPS_pubmethodSetAuditRule(RegistryAuditRule^)

Entfernt alle, die denselben Benutzer wie die angegebene Regel unabhängig von Überwachungsregeln der AuditFlags -Wert, und fügt dann die angegebene Regel.

System_CAPS_pubmethodSetAuditRuleProtection(Boolean, Boolean)

Legt den Schutz der Überwachungsregeln fest, die diesem ObjectSecurity-Objekt zugeordnet sind, oder entfernt diesen Schutz. Geschützte Überwachungsregeln können von übergeordneten Objekten nicht durch Vererbung geändert werden.(Geerbt von „ObjectSecurity“.)

System_CAPS_pubmethodSetGroup(IdentityReference^)

Legt die primäre Gruppe für die Sicherheitsbeschreibung fest, die diesem ObjectSecurity-Objekt zugeordnet ist.(Geerbt von „ObjectSecurity“.)

System_CAPS_pubmethodSetOwner(IdentityReference^)

Legt den Besitzer der Sicherheitsbeschreibung fest, die diesem ObjectSecurity-Objekt zugeordnet ist.(Geerbt von „ObjectSecurity“.)

System_CAPS_pubmethodSetSecurityDescriptorBinaryForm(array<Byte>^)

Legt die Sicherheitsbeschreibung für dieses ObjectSecurity-Objekt aus dem angegebenen Array von Bytewerten fest.(Geerbt von „ObjectSecurity“.)

System_CAPS_pubmethodSetSecurityDescriptorBinaryForm(array<Byte>^, AccessControlSections)

Legt die angegebenen Abschnitte der Sicherheitsbeschreibung für dieses ObjectSecurity-Objekt aus dem angegebenen Array von Bytewerten fest.(Geerbt von „ObjectSecurity“.)

System_CAPS_pubmethodSetSecurityDescriptorSddlForm(String^)

Legt die Sicherheitsbeschreibung für dieses ObjectSecurity-Objekt aus der angegebenen SDDL-Zeichenfolge (Security Descriptor Definition Language) fest.(Geerbt von „ObjectSecurity“.)

System_CAPS_pubmethodSetSecurityDescriptorSddlForm(String^, AccessControlSections)

Legt die angegebenen Abschnitte der Sicherheitsbeschreibung für dieses ObjectSecurity-Objekt aus der angegebenen SDDL-Zeichenfolge (Security Descriptor Definition Language) fest.(Geerbt von „ObjectSecurity“.)

System_CAPS_pubmethodToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.(Geerbt von „Object“.)

Ein RegistrySecurity -Objekt gibt Zugriffsrechte für einen Registrierungsschlüssel, und gibt außerdem an, wie Zugriffsversuche überwacht werden. Zugriffsrechte für den Registrierungsschlüssel werden als Regeln ausgedrückt, mit jeder Zugriffsregel durch ein RegistryAccessRule Objekt. Jede Überwachungsregel wird durch dargestellt ein RegistryAuditRule Objekt.

Dies spiegelt den zugrunde liegenden Windows-Sicherheitssystem, in dem jedes sicherungsfähige Objekt verfügt über höchstens eine Zugriffssteuerungsliste (DACL), steuert den Zugriff auf das gesicherte Objekt und höchstens eine Systemzugriffssteuerungsliste (SACL), der angibt, welche Zugriffsversuche überwacht werden. Die DACL und SACL werden von Zugriffssteuerungseinträgen (ACE) sortiert, die Zugriff und die Überwachung für Benutzer und Gruppen angeben. Ein RegistryAccessRule oder RegistryAuditRule Objekt kann mehrere ACES darstellen.

System_CAPS_noteHinweis

Windows-zugriffssteuerungssicherheit kann nur auf Registrierungsschlüssel angewendet werden. Es kann nicht auf einzelne Schlüssel-Wert-Paaren, die in einem Schlüssel gespeicherte angewendet werden.

Die RegistrySecurity, RegistryAccessRule, und RegistryAuditRule Klassen blenden die Implementierungsdetails von ACLs und ACEs. Sie können Sie die siebzehn verschiedenen ACE-Typen und der Komplexität der ordnungsgemäßen Verwaltung der Vererbung und Weitergabe von Zugriffsrechten ignorieren. Diese Objekte dienen auch die folgenden häufigen Zugriffssteuerungsfehler verhindern:

  • Beim Erstellen einer Sicherheitsbeschreibung mit einem null-DACL. Ein null-Verweis auf eine DACL kann alle Benutzer auf ein Objekt einen Denial-of-Service-Angriff Zugriffsregeln hinzufügen. Ein neues RegistrySecurity -Objekt beginnt immer mit einer leeren DACL, wodurch allen Benutzern der Zugriff verweigert wird.

  • Verletzung der die kanonische Reihenfolge der ACEs. Wenn die ACE-Liste in der DACL nicht kanonische Reihenfolge beibehalten wird, können Benutzer versehentlich Zugriff auf das gesicherte Objekt erhalten. Zum Beispiel müssen verweigerte Zugriffsrechte immer vor zulässigen Zugriffsrechten angezeigt. RegistrySecurity -Objekte behalten intern die richtige Reihenfolge.

  • Bearbeiten von Security Descriptor Flags, die nur Ressourcen-Manager-gesteuert werden soll.

  • Das Erstellen ungültiger Kombinationen von ACE-Flags.

  • Bearbeiten von geerbten ACEs. Vererbung und Weitergabe erfolgt von der Ressourcen-Manager als Reaktion auf Änderungen, die Sie an Zugriffs-und Überwachungsregeln.

  • Einfügen von bedeutungslosen ACEs in ACLs.

Die nur Funktionen, die von den .NET Security-Objekten nicht unterstützt werden gefährliche Aktivitäten, die von der Mehrheit der Entwickler, wie z. B. die folgenden vermieden werden sollten:

  • Low-Level-Aufgaben, die normalerweise von den Ressourcen-Manager ausgeführt werden.

  • Hinzufügen oder Entfernen von Zugriffssteuerungseinträgen in Methoden, die die kanonische Reihenfolge nicht beibehalten.

Um Windows-zugriffssteuerungssicherheit für einen Registrierungsschlüssel zu ändern, verwenden Sie die RegistryKey::GetAccessControl Methode zum Abrufen der RegistrySecurity Objekt. Ändern Sie das Sicherheitsobjekt durch Hinzufügen und Entfernen von Regeln, und verwenden Sie dann die RegistryKey::SetAccessControl -Methode erneut an.

System_CAPS_importantWichtig

Änderungen an einer RegistrySecurity Objekt haben keinen Einfluss auf die Zugriffsebenen des Registrierungsschlüssels erst nach dem Aufruf der RegistryKey::SetAccessControl Methode, um den Registrierungsschlüssel das geänderte Objekt zuweisen.

Zur Steuerung des Zugriffs aus einem Registrierungsschlüssel in einen anderen zu kopieren, verwenden die RegistryKey::GetAccessControl Methode zum Abrufen einer RegistrySecurity Objekt, das die Regeln für Zugriffs- und Überwachungsregeln für den ersten Registrierungsschlüssel darstellt, und verwenden Sie dann die RegistryKey::SetAccessControl Methode, um die Regeln für den zweiten Registrierungsschlüssel zuweisen. Sie können auch die Regeln zuweisen, um einen zweiten Registrierungsschlüssel mit einer RegistryKey::OpenSubKey oder RegistryKey::CreateSubKey Methode, die eine RegistrySecurity -Objektparameter.

Benutzer, die Security Descriptor Definition Language (SDDL) können die SetSecurityDescriptorSddlForm -Methode Zugriffsregeln für einen Registrierungsschlüssel festlegen und die GetSecurityDescriptorSddlForm Methode, um eine Zeichenfolge abzurufen, die die Zugriffsregeln im SDDL-Format darstellt. Dies wird nicht für Neuentwicklungen empfohlen.

Dieser Abschnitt enthält zwei Codebeispiele. Das erste Beispiel zeigt, wie kompatible Regeln zusammenführen, wenn hinzugefügt und entfernt, und der zweite zeigt wie Flags für Vererbung und Weitergabe das Hinzufügen und Löschen von Regeln auswirken.

Beispiel 1

Im folgenden Codebeispiel wird veranschaulicht wie die RemoveAccessRule -Methode Rechte aus einer kompatiblen Regel entfernt und wie die AddAccessRule -Methode Rechte mit kompatiblen Regeln zusammenführt.

Das Beispiel erstellt ein RegistrySecurity -Objekt und fügt eine zulässt, dass den aktuellen Benutzer RegistryRights::ReadKey Rechte. Das Beispiel erstellt dann eine Regel, die dem Benutzer gewährt RegistryRights::SetValue, mit dem gleichen Vererbung und Weitergabe Rechte wie die erste Regel, und verwendet die RemoveAccessRule -Methode zum Entfernen dieser neuen Regel aus der RegistrySecurity Objekt. SetValue wird diese ReadKey, sodass es aus der kompatiblen Regel entfernt wird. Die Regeln in der RegistrySecurity Objekt werden angezeigt und zeigen die übrigen Bestandteile von ReadKey.

Der Beispielcode ruft dann die AddAccessRule Methode zum Zusammenführen der SetValue mit der rechten Maustaste in der Regel in der RegistrySecurity Objekt.

System_CAPS_noteHinweis

In diesem Beispiel wird das Sicherheitsobjekt nicht angefügt ein RegistryKey Objekt. Im zweite Beispiel in diesem Abschnitt wird ein Sicherheitsobjekt angefügt, und führen Sie die Beispiele so in RegistryKey::GetAccessControl und RegistryKey::SetAccessControl.

Derzeit ist kein Code Beispiel verfügbar, oder die Sprache wird nicht unterstützt.

Beispiel 2

Das folgende Codebeispiel veranschaulicht die Zugriffsregeln mit Vererbung und Weitergabe. Das Beispiel erstellt eine RegistrySecurity Objekt, erstellt und zwei Regeln hinzugefügt, die über die ContainerInherit Flag. Die erste Regel hat keine Weitergabeflags, die zweite NoPropagateInherit und InheritOnly.

Das Programm zeigt die Regeln in der RegistrySecurity -Objekt und verwendet dann die RegistrySecurity Objekt einen Unterschlüssel. Das Programm erstellt einen untergeordneten Unterschlüssel sowie einen untergeordneten Unterschlüssel und zeigt dann die Sicherheit für jeden Unterschlüssel. Schließlich löscht das Programm die Testschlüssel.

Derzeit ist kein Code Beispiel verfügbar, oder die Sprache wird nicht unterstützt.

.NET Framework
Verfügbar seit 2.0

Alle öffentlichen statischen Member ( Shared in Visual Basic) dieses Typs sind threadsicher. Die Threadsicherheit für Instanzmember ist nicht garantiert.

Zurück zum Anfang
Anzeigen: