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 l'elenco di accesso daCL dell'oggetto, cercando gli ACL che si applicano agli ID utente e di gruppo dal token di accesso del thread. Il sistema controlla ogni ACE fino a quando l'accesso non viene concesso o negato o fino a quando non sono presenti più ACL da controllare. Un elenco di controlli 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 un ACE concede l'accesso in lettura a un gruppo e un altro ACE concede l'accesso in scrittura a un utente membro del gruppo, l'utente può avere sia l'accesso in lettura che in scrittura all'oggetto.
Nella figura seguente viene illustrata la relazione tra questi blocchi di informazioni di sicurezza: