Condividi tramite


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.

Diagramma che illustra 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.