Structure ACL (wdm.h)
La structure ACL est l’en-tête d’une liste de contrôle d’accès (ACL). Une liste de contrôle d’accès complète se compose d’une structure ACL suivie d’une liste ordonnée de zéro ou plusieurs entrées de contrôle d’accès (ACE).
Syntaxe
typedef struct _ACL {
UCHAR AclRevision;
UCHAR Sbz1;
USHORT AclSize;
USHORT AceCount;
USHORT Sbz2;
} ACL;
Membres
AclRevision
Niveau de révision de la liste de contrôle d’accès.
Microsoft Windows NT 4.0 et versions antérieures : Cette valeur doit être ACL_REVISION.
Microsoft Windows 2000 et versions ultérieures : Cette valeur peut être ACL_REVISION ou ACL_REVISION_DS. Elle doit être ACL_REVISION_DS si l’ACL contient un ACE spécifique à un objet.
Sbz1
Zéro octet de remplissage qui aligne le membre AclRevision sur une limite 16 bits.
AclSize
Taille, en octets, de la liste de contrôle d’accès. Cette valeur inclut à la fois la structure ACL et tous les AE.
AceCount
Nombre d’AE stockées dans la liste de contrôle d’accès.
Sbz2
Deux octets de remplissage zéro qui alignent la structure ACL sur une limite 32 bits.
Remarques
Une liste de contrôle d’accès comprend une liste séquentielle de zéro ou plusieurs AE. Les points d’accès individuels d’une liste de contrôle d’accès sont numérotés de 0 à n, où n+1 correspond au nombre d’AES dans la liste de contrôle d’accès. Lors de la modification d’une liste de contrôle d’accès, un pilote fait référence à un ACE dans la liste de contrôle d’accès par son index.
Il existe deux types de liste de contrôle d’accès : discrétionnaire et système.
Une liste de contrôle d’accès discrétionnaire (DACL) est contrôlée par le propriétaire d’un objet ou toute personne autorisée WRITE_DAC accès à l’objet. Il spécifie l’accès d’utilisateurs et de groupes particuliers à un objet. Par exemple, le propriétaire d’un fichier peut utiliser une liste dacl pour contrôler les utilisateurs et les groupes qui peuvent et ne peuvent pas avoir accès au fichier.
Un objet peut également avoir des informations de sécurité au niveau du système, sous la forme d’une liste de contrôle d’accès système (SACL) contrôlée par un administrateur système. Une liste de contrôle d’accès partagé peut permettre à l’administrateur système d’auditer toutes les tentatives d’accès à un objet.
Trois structures ACE sont actuellement définies :
Attribut | Description |
---|---|
ACCESS_ALLOWED_ACE | Octroie des droits spécifiés à un utilisateur ou un groupe. Cette ACE est stockée dans une liste de contrôle d’accès dacl. |
ACCESS_DENIED_ACE | Refuse les droits spécifiés à un utilisateur ou à un groupe. Cette ACE est stockée dans une liste de contrôle d’accès dacl. |
SYSTEM_AUDIT_ACE | Spécifie les types d’accès qui entraîneront des audits au niveau du système. Cette ACE est stockée dans une liste de contrôle d’accès sa. |
Une quatrième structure ACE, SYSTEM_ALARM_ACE, n’est actuellement pas prise en charge.
La structure ACL doit être traitée comme si elle était opaque et les pilotes ne doivent pas essayer de travailler directement avec ses membres. Pour s’assurer que les listes de contrôle d’accès sont sémantiquement correctes, les pilotes peuvent utiliser les fonctions répertoriées dans la section Voir aussi pour créer et manipuler des listes de contrôle d’accès.
Les structures ACL et ACE doivent être alignées sur les limites 32 bits.
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | wdm.h (inclure Wdm.h) |