Voce di controllo di accesso

Una voce di controllo di accesso (ACE) descrive i diritti di accesso associati a un PARTICOLARE SID. La voce di controllo di accesso viene valutata dal sistema operativo 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.

Pertanto, 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 determina quindi il comportamento del sottosistema di sicurezza.

Nella figura seguente viene illustrata la voce di controllo di accesso.

diagramma che illustra la voce di controllo di accesso.

Esistono cinque tipi di ACL usati dal sottosistema di sicurezza. Il membro Type della struttura ACE controlla l'interpretazione dell'ACE. I tipi definiti sono:

  • ACCESS_ALLOWED_ACE_TYPE: questo tipo indica che ace specifica i diritti di accesso che verranno concessi al SID specifico.

  • ACCESS_DENIED_ACE_TYPE: questo tipo indica che ace specifica i diritti di accesso che devono essere negati al SID specifico.

  • SYSTEM_AUDIT_ACE_TYPE: questo tipo indica che ace specifica il comportamento di controllo.

  • SYSTEM_ALARM_ACE_TYPE: questo tipo indica che ace specifica il comportamento dell'allarme.

  • ACCESS_ALLOWED_COMPOUND_ACE_TYPE: questo tipo indica che l'ace è associato a un determinato server e all'entità che rappresenta.

Di conseguenza, tre dei tipi vengono usati per controllare l'accesso a livello di codice a un oggetto, mentre gli altri due vengono usati per controllare il comportamento di controllo e allarme del sottosistema di sicurezza quando si accede all'oggetto. Si noti che 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 una voce di controllo di accesso 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.