Access Control Eintrag

Ein Zugriffssteuerungseintrag (Access Control Entry, ACE) beschreibt Zugriffsrechte, die einer bestimmten SID zugeordnet sind. Der Zugriffssteuerungseintrag wird vom Betriebssystem ausgewertet, 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 also ein Programm versucht, ein Objekt zu öffnen, vergleicht Windows die dem Programm zugeordneten Anmeldeinformationen mit den Sicherheitskontrollen, die dem Objekt zugeordnet sind. Der Sicherheitsreferenzmonitor verwendet dann die ACE-Informationen, um zu bestimmen, ob dem Programm der Zugriff auf das angegebene Objekt erlaubt oder verweigert werden soll. Daher bestimmt der ACE das Verhalten des Sicherheitssubsystems.

Die folgende Abbildung veranschaulicht den Zugriffssteuerungseintrag.

Diagramm zur Veranschaulichung des Zugriffssteuerungseintrags.

Es gibt fünf Typen von ACEs, die vom Sicherheitssubsystem verwendet werden. Der Type-Member der ACE-Struktur steuert die Interpretation des ACE. Die definierten Typen sind:

  • ACCESS_ALLOWED_ACE_TYPE: Dieser Typ gibt an, dass der ACE Zugriffsrechte angibt, die der spezifischen SID gewährt werden.

  • ACCESS_DENIED_ACE_TYPE : Dieser Typ gibt an, dass der ACE Zugriffsrechte angibt, die der spezifischen SID verweigert werden sollen.

  • SYSTEM_AUDIT_ACE_TYPE: Dieser Typ gibt an, dass der ACE das Überwachungsverhalten angibt.

  • SYSTEM_ALARM_ACE_TYPE: Dieser Typ gibt an, dass der ACE das Alarmverhalten angibt.

  • ACCESS_ALLOWED_COMPOUND_ACE_TYPE : Dieser Typ gibt an, dass der ACE an einen bestimmten Server und die Entität gebunden ist, die er imitiert.

Daher werden drei der Typen verwendet, um den programmgesteuerten Zugriff auf ein Objekt zu steuern, während die anderen beiden verwendet werden, um das Überwachungs- und Alarmverhalten des Sicherheitssubsystems zu steuern, wenn auf das Objekt zugegriffen wird. Beachten Sie, dass das tatsächliche Verhalten des Sicherheitssubsystems berechnet wird, indem die Informationen für einige oder alle acEs kombiniert werden, die dem -Objekt zugeordnet sind.

Ein Treiber kann mithilfe der Routine "RtlAddAccessAllowedAce" einen Zugriffssteuerungseintrag von ACCESS_ALLOWED_ACE_TYPE erstellen. Um die anderen Arten von ACE-Einträgen hinzuzufügen, müssen Treiberautoren eigene Funktionen erstellen, da der WDK keine anderen Supportroutinen bereitstellt.