Struttura ACL (wdm.h)
La struttura ACL è l'intestazione di un elenco di controllo di accesso. Un ACL completo è costituito da una struttura ACL seguita da un elenco ordinato di voci di zero o più controlli di accesso (ACE).
Sintassi
typedef struct _ACL {
UCHAR AclRevision;
UCHAR Sbz1;
USHORT AclSize;
USHORT AceCount;
USHORT Sbz2;
} ACL;
Members
AclRevision
Livello di revisione dell'ACL.
Microsoft Windows NT 4.0 e versioni precedenti: Questo valore deve essere ACL_REVISION.
Microsoft Windows 2000 e versioni successive: Questo valore può essere ACL_REVISION o ACL_REVISION_DS. Deve essere ACL_REVISION_DS se l'ACL contiene un ACE specifico dell'oggetto.
Sbz1
Un byte zero di riempimento che allinea il membro AclRevision in un limite a 16 bit.
AclSize
Dimensioni, in byte, dell'ACL. Questo valore include sia la struttura ACL che tutti gli ACL.
AceCount
Numero di ACL archiviati nell'ACL.
Sbz2
Due byte di spaziatura interna che allineano la struttura ACL su un limite a 32 bit.
Commenti
Un ACL include un elenco sequenziale di zero o più ACL. I singoli ACL in un ACL vengono numerati da 0 a n, dove n+1 è il numero di ACL. Quando si modifica un ACL, un driver fa riferimento a un ACE all'interno dell'ACL in base al relativo indice.
Esistono due tipi di ACL: discrezionale e sistema.
Un controllo ACL (DACL) discrezionale è controllato dal proprietario di un oggetto o da chiunque abbia concesso WRITE_DAC l'accesso all'oggetto. Specifica l'accesso a utenti e gruppi specifici per un oggetto. Ad esempio, il proprietario di un file può usare un elenco dati per controllare quali utenti e gruppi possono e non possono avere accesso al file.
Un oggetto può avere anche informazioni di sicurezza a livello di sistema associate a esso, sotto forma di un ACL di sistema controllato da un amministratore di sistema. Un SACL può consentire all'amministratore di sistema di controllare eventuali tentativi di accesso a un oggetto.
Sono attualmente definite tre strutture ACE:
Attributo | Descrizione |
---|---|
ACCESS_ALLOWED_ACE | Concede diritti specificati a un utente o a un gruppo. Questo ACE viene archiviato in un'elenco dati. |
ACCESS_DENIED_ACE | Nega i diritti specificati a un utente o a un gruppo. Questo ACE viene archiviato in un'elenco dati. |
SYSTEM_AUDIT_ACE | Specifica i tipi di accesso che causano controlli a livello di sistema. Questo ACE viene archiviato in un SACL. |
Una quarta struttura ACE, SYSTEM_ALARM_ACE, non è attualmente supportata.
La struttura ACL deve essere considerata come se fosse opaca e i driver non dovrebbero tentare di lavorare direttamente con i suoi membri. Per assicurarsi che gli elenchi di controllo di accesso siano semanticamente corretti, i driver possono usare le funzioni elencate nella sezione Vedere anche per creare e modificare gli elenchi di controllo di accesso.
Le strutture ACL e ACE devono essere allineate ai limiti a 32 bit.
Requisiti
Requisito | Valore |
---|---|
Intestazione | wdm.h (include Wdm.h) |