Struttura ACL (winnt.h)

La struttura ACL è l'intestazione di un elenco di controllo di accesso (ACL). Un elenco di controllo di accesso completo è costituito da una struttura ACL seguita da un elenco ordinato di zero o più voci di controllo di accesso (ACL).

Sintassi

typedef struct _ACL {
  BYTE AclRevision;
  BYTE Sbz1;
  WORD AclSize;
  WORD AceCount;
  WORD Sbz2;
} ACL;

Members

AclRevision

Specifica il livello di revisione dell'ACL. Questo valore deve essere ACL_REVISION, a meno che l'ACL non contenga un ace specifico dell'oggetto, nel qual caso questo valore deve essere ACL_REVISION_DS. Tutti gli ACL in un elenco di controllo di accesso devono essere allo stesso livello di revisione.

Sbz1

Specifica un byte zero di spaziatura interna che allinea il membro AclRevision su un limite a 16 bit.

AclSize

Specifica le dimensioni, in byte, dell'ACL. Questo valore include la struttura ACL , tutti gli ACL e la potenziale memoria inutilizzata.

AceCount

Specifica il numero di ACL archiviati nell'elenco di controllo di accesso.

Sbz2

Specifica due byte di spaziatura interna che allineano la struttura ACL su un limite a 32 bit.

Commenti

Un elenco di controllo di accesso include un elenco sequenziale di zero o più ACL. I singoli ACL in un elenco di controllo di accesso sono numerati da 0 a n, dove n+1 è il numero di ACL. Quando si modifica un elenco di controllo di accesso, un'applicazione fa riferimento a un ace all'interno dell'elenco di controllo di accesso in base all'indice ace.

Esistono due tipi di ACL: discrezionale e di sistema.

Un elenco di controllo di accesso discrezionale (DACL) è controllato dal proprietario di un oggetto o da chiunque abbia concesso WRITE_DAC l'accesso all'oggetto. Specifica che gli utenti e i gruppi di accesso specifici possono avere a un oggetto . Ad esempio, il proprietario di un file può usare un DACL per controllare quali utenti e gruppi possono e non possono avere accesso al file.

A un oggetto possono essere associate anche informazioni di sicurezza a livello di sistema, sotto forma di elenco di controllo di accesso di sistema (SACL) controllato da un amministratore di sistema. Un sacl consente all'amministratore di sistema di controllare eventuali tentativi di ottenere l'accesso a un oggetto.

Per un elenco delle strutture ACE attualmente definite, vedere ACE.

Una quarta struttura ACE, SYSTEM_ALARM_ACE, non è attualmente supportata.

La struttura ACL deve essere considerata come se fosse opaca e le applicazioni non tentano di lavorare direttamente con i relativi membri. Per assicurarsi che gli elenchi di controllo di accesso siano semanticamente corretti, le applicazioni possono usare le funzioni elencate nella sezione Vedere anche per creare e modificare gli elenchi di controllo di accesso.

Ogni ACL e la struttura ACE iniziano su un limite DWORD .

Le dimensioni massime per un elenco di controllo di accesso, inclusi gli ACL, sono pari a 64 KB.

Requisiti

Requisito Valore
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Intestazione winnt.h (include Windows.h)

Vedi anche

AddAce

DeleteAce

GetAclInformation

GetSecurityDescriptorDacl

GetSecurityDescriptorSacl

InitializeAcl

IsValidAcl

SetAclInformation

SetSecurityDescriptorDacl

SetSecurityDescriptorSacl