Controllo di accesso voce
Una voce di controllo di accesso (ACE) descrive i diritti di accesso associati a un particolare identificatore di sicurezza (SID). Il sistema operativo valuta gli ACL per calcolare l'accesso effettivo concesso a un determinato programma in base alle credenziali. Ad esempio, quando un utente accede al computer e quindi esegue un programma, il programma usa le credenziali associate all'account dell'utente specifico.
Quando un programma tenta di aprire un oggetto, Windows confronta le credenziali associate al programma con i controlli di sicurezza associati all'oggetto . Il monitoraggio dei riferimenti di sicurezza usa quindi le informazioni ACE per determinare se il programma deve essere consentito o negato l'accesso all'oggetto specificato. È l'ACE che determina il comportamento del sottosistema di sicurezza.
Nella figura seguente viene illustrata la voce di controllo di accesso.
Il sottosistema di sicurezza usa diversi tipi di ACES, inclusi i tipi seguenti. Il membro Type della struttura ACE controlla l'interpretazione dell'ace. I tipi definiti sono:
ACCESS_ALLOWED_ACE_TYPE: questo tipo indica che l'ace specifica i diritti di accesso concessi al SID specifico.
ACCESS_DENIED_ACE_TYPE indica che ace specifica i diritti di accesso che devono essere negati al SID specifico.
SYSTEM_AUDIT_ACE_TYPE indica che ace specifica il comportamento di controllo.
SYSTEM_ALARM_ACE_TYPE indica che ace specifica il comportamento dell'allarme.
ACCESS_ALLOWED_COMPOUND_ACE_TYPE indica che l'ace è associato a un determinato server e all'entità che rappresenta.
I tipi ACCESS_XXX vengono usati per controllare l'accesso a livello di codice a un oggetto . I tipi SYSTEM_XXX vengono usati per controllare il comportamento di controllo e allarme del sottosistema di sicurezza quando si accede all'oggetto. Il comportamento effettivo del sottosistema di sicurezza viene calcolato combinando le informazioni per alcuni o tutti gli ACL associati all'oggetto.
Un driver può costruire un ace di ACCESS_ALLOWED_ACE_TYPE usando la routine RtlAddAccessAllowedAce. Per aggiungere gli altri tipi di voci ACE, i writer di driver devono costruire le proprie funzioni perché WDK non fornisce altre routine di supporto.