KTM-Sicherheits- und Zugriffsrechte

Mit dem Windows-Sicherheitsmodell können Aufrufer von Kernel Transaction Manager (KTM) den Zugriff auf Transaktions-, Transaktions-Manager-, Ressourcen-Manager- und Eintragsobjekte steuern. Weitere Informationen finden Sie unter Access-Control-Modell. Für Anwendungen, die sich nicht um die Sicherheit kümmern, können Transaktionen mit zulässigen Zugriffssteuerungslisten (Access Control Lists, ACLs) erstellt werden, die es jedem Ressourcen-Manager ermöglichen, sich für eine Transaktion zu registrieren.

Transaktionen

Wenn ein Client die OpenTransaction-Funktion verwendet, überprüft das System die angeforderten Zugriffsrechte mit dem Sicherheitsdeskriptor für das Transaktionsobjekt.

Die gültigen Zugriffsrechte für Transaktionsobjekte umfassen die Möglichkeit zum Abfragen und Festlegen von Informationen, zum Eintragen und verschiedenen Transaktionsvorgängen sowie Standardzugriffsrechte. Transaktionszugriffsmasken listen die spezifischen Zugriffsrechte für eine Transaktion auf.

Da Transaktionen einen dauerhaften Zustand haben, ist es wichtig, dass RMs und TMs, die mit der KTM interagieren, ihre Verpflichtungen in Bezug auf die Wiederherstellung erfüllen. Die Nichteinhaltung dieser Verpflichtungen kann zu Ressourcenlecks führen, die selbst durch einen Systemneustart nicht bereinigt werden. Berücksichtigen Sie die Auswirkungen eines persistenten Leaks oder bösartigen Codes, der dazu führte, dass die KTM Kernelressourcen nutzte, bis sie zu einem Systemfehler führte. Nach dem resultierenden Neustart liest die KTM ihr Protokoll und erstellt alle persistenten Objekte neu, was möglicherweise zu einem erneuten Auftreten desselben Systemfehlers führte. Durch die kontingentbasierte Drosselung wird verhindert, dass ein nicht autorisierter oder schlecht verhaltender RM dauerhaft ausgehungert wird. Schließlich müssen verwaltungstechnische Mechanismen geschaffen werden, die die Erkennung und Korrektur solcher persistenter Lecks ermöglichen.

Transaktions-Manager

Wenn ein Client die OpenTransactionManager-Funktion verwendet, überprüft das System die angeforderten Zugriffsrechte mit dem Sicherheitsdeskriptor für das Resource Manager-Objekt.

Die gültigen Zugriffsrechte für Transaktions-Manager-Objekte umfassen die Möglichkeit, Informationen abzufragen und festzulegen, RMs zu erstellen und Vorgänge wiederherzustellen und umzubenennen, sowie Standardzugriffsrechte. Transaktions-Manager-Zugriffsmasken listet die spezifischen Zugriffsrechte für einen Transaktions-Manager auf.

Ein Ressourcen-Manager kann eigene Transaktions-Manager-Objekte mit restriktiven ACLs erstellen, um einzuschränken, welche Ressourcen-Manager an Transaktionen teilnehmen können, die das Protokoll dieses Transaktions-Managers verwenden.

Ressourcen-Manager

Wenn ein Client die OpenResourceManager-Funktion verwendet, überprüft das System die angeforderten Zugriffsrechte mit dem Sicherheitsdeskriptor für das Resource Manager-Objekt.

Zu den gültigen Zugriffsrechten für Resource Manager-Objekte gehören die Möglichkeit, Informationen abzufragen und festzulegen, wiederherzustellen, zu registrieren, Registrierungsvorgänge und Weitergabe- und Wiederherstellungsvorgänge sowie Standardzugriffsrechte. Resource Manager Zugriffsmasken listet die spezifischen Zugriffsrechte für einen Ressourcen-Manager auf.

Ein Ressourcen-Manager kann eigene Resource Manager-Objekte mit restriktiven ACLs erstellen, wenn er verhindern möchte, dass bösartiger Code Benachrichtigungen abfängt oder bestimmte Transaktionsergebnisse erzwingt.

Eintragungen

Wenn ein Client die OpenEnlistment-Funktion verwendet, überprüft das System die angeforderten Zugriffsrechte mit dem Sicherheitsdeskriptor für das Eintragsobjekt.

Zu den gültigen Zugriffsrechten für Enlistment-Objekte gehören die Möglichkeit, Informationen abzufragen und festzulegen, Wiederherstellungsvorgänge sowie Standardzugriffsrechte. Enlistment Access Masks listet die spezifischen Zugriffsrechte für eine Registrierung auf.