Interazione tra thread e oggetti a protezione diretta
Quando un thread tenta di usare un oggetto a protezione diretta , il sistema esegue un controllo di accesso prima di consentire al thread di procedere. In un controllo di accesso, il sistema confronta le informazioni di sicurezza nel token di accesso del thread rispetto alle informazioni di sicurezza nel descrittore di sicurezza dell'oggetto .
- Il token di accesso contiene identificatori di sicurezza (SID) che identificano l'utente associato al thread.
- Il descrittore di sicurezza identifica il proprietario dell'oggetto e contiene un elenco di controllo di accesso discrezionale (DACL). L'elenco di controllo di accesso contiene voci di controllo di accesso (ACL), ognuna delle quali specifica i diritti di accesso consentiti o negati a un utente o a un gruppo specifico.
Il sistema controlla il DACL dell'oggetto, cercando gli ACL che si applicano ai SID utente e di gruppo dal token di accesso del thread. Il sistema controlla ogni ACE fino a quando non viene concesso o negato l'accesso o fino a quando non sono presenti altri ACL da controllare. Un elenco di controllo di accesso (ACL) potrebbe avere diversi ACL che si applicano ai SID del token. E, se ciò si verifica, i diritti di accesso concessi da ogni ACE si accumulano. Ad esempio, se una ACE concede l'accesso in lettura a un gruppo e un'altra ACE concede l'accesso in scrittura a un utente membro del gruppo, l'utente può avere accesso in lettura e scrittura all'oggetto.
La figura seguente illustra la relazione tra questi blocchi di informazioni di sicurezza: