Zugriffssteuerungseintrag
Ein Zugriffssteuerungseintrag (Access Control Entry , ACE) beschreibt Zugriffsrechte, die einem bestimmten Sicherheitsbezeichner (SECURITY Identifier, SID) zugeordnet sind. Das Betriebssystem wertet ACEs aus, um den effektiven Zugriff auf ein bestimmtes Programm basierend auf seinen Anmeldeinformationen zu berechnen. Wenn sich beispielsweise ein Benutzer beim Computer anmeldet und dann ein Programm ausführt, verwendet das Programm die Anmeldeinformationen, die dem Konto dieses bestimmten Benutzers zugeordnet sind.
Wenn ein Programm versucht, ein Objekt zu öffnen, vergleicht Windows die Anmeldeinformationen, die dem Programm zugeordnet sind, mit den Sicherheitssteuerelementen, die dem Objekt zugeordnet sind. Der Sicherheitsreferenzmonitor verwendet dann die ACE-Informationen, um festzustellen, ob das Programm den Zugriff auf das angegebene Objekt erlaubt oder verweigert werden soll. Es ist die ACE, die das Verhalten des Sicherheitssubsystems bestimmt.
Die folgende Abbildung zeigt den Zugriffssteuerungseintrag.
Das Sicherheitssubsystem verwendet verschiedene Arten von ACES, einschließlich der folgenden Typen. Das Element Typ der ACE-Struktur steuert die Interpretation des ACE. Die definierten Typen sind:
ACCESS_ALLOWED_ACE_TYPE – dieser Typ gibt an, dass die ACE Zugriffsrechte angibt, die der spezifischen SID gewährt wurden.
ACCESS_DENIED_ACE_TYPE gibt an, dass die ACE Zugriffsrechte angibt, die der spezifischen SID verweigert werden sollen.
SYSTEM_AUDIT_ACE_TYPE gibt an, dass die ACE das Überwachungsverhalten angibt.
SYSTEM_ALARM_ACE_TYPE gibt an, dass die ACE das Alarmverhalten angibt.
ACCESS_ALLOWED_COMPOUND_ACE_TYPE gibt an, dass die ACE an einen bestimmten Server und die Entität gebunden ist, die sie als Identität angibt.
Die ACCESS_XXX-Typen werden verwendet, um den programmgesteuerten Zugriff auf ein Objekt zu steuern. Die SYSTEM_XXX-Typen werden verwendet, um das Überwachungs- und Alarmverhalten des Sicherheitssubsystems zu steuern, wenn auf das Objekt zugegriffen wird. Das tatsächliche Verhalten des Sicherheitssubsystems wird berechnet, indem die Informationen für einige oder alle ACEs kombiniert werden, die dem Objekt zugeordnet sind.
Ein Treiber kann mit der Routine ACCESS_ALLOWED_ACE_TYPE einen ACE vom Typ RtlAddAccessAllowedAce erstellen. Um die anderen Arten von ACE-Einträgen hinzuzufügen, müssen Treiberautoren ihre eigenen Funktionen erstellen, da WDK keine anderen Supportroutinen bereitstellt.