Interaktion zwischen Threads und sicherungsfähigen Objekten
Wenn ein Thread versucht, ein sicherungsfähiges Objekt zu verwenden, führt das System eine Zugriffsüberprüfung durch, bevor der Thread fortfahren kann. Bei einer Zugriffsprüfung vergleicht das System die Sicherheitsinformationen im Zugriffstoken des Threads mit den Sicherheitsinformationen im Sicherheitsdeskriptor des Objekts.
- Das Zugriffstoken enthält Sicherheitsbezeichner (SIDs), die den dem Thread zugeordneten Benutzer identifizieren.
- Die Sicherheitsbeschreibung identifiziert den Besitzer des Objekts und enthält eine diskretionäre Zugriffssteuerungsliste (DACL). Die DACL enthält Zugriffssteuerungseinträge (Access Control Entries , ACEs), die jeweils die Zugriffsrechte angeben, die einem bestimmten Benutzer oder einer bestimmten Gruppe erlaubt oder verweigert werden.
Das System überprüft die DACL des Objekts und sucht nach ACEs, die auf den Benutzer und die Gruppen-SIDs aus dem Zugriffstoken des Threads angewendet werden. Das System überprüft jeden ACE, bis der Zugriff gewährt oder verweigert wird oder bis keine acEs mehr zu überprüfen sind. Denkbar ist, dass eine Zugriffssteuerungsliste (Access Control List , ACL) über mehrere ACEs verfügen könnte, die auf die SIDs des Tokens angewendet werden. Und wenn dies der Fall ist, akkumulieren sich die von den einzelnen ACE gewährten Zugriffsrechte. Wenn beispielsweise ein ACE einer Gruppe Lesezugriff gewährt und ein anderer ACE einem Benutzer, der Mitglied der Gruppe ist, Schreibzugriff gewährt, kann der Benutzer sowohl Lese- als auch Schreibzugriff auf das Objekt haben.
Die folgende Abbildung zeigt die Beziehung zwischen diesen Sicherheitsinformationsblöcken: