SECURITY_DESCRIPTOR_CONTROL

Le type de données SECURITY_DESCRIPTOR_CONTROL est un ensemble d’indicateurs de bits qui qualifient la signification d’un descripteur de sécurité ou de ses composants. Chaque descripteur de sécurité a un membre Control qui stocke les bits SECURITY_DESCRIPTOR_CONTROL .

typedef WORD SECURITY_DESCRIPTOR_CONTROL, *PSECURITY_DESCRIPTOR_CONTROL;

Notes

Pour obtenir les bits de contrôle d’un descripteur de sécurité, appelez la fonction GetSecurityDescriptorControl . Pour définir les bits de contrôle d’un descripteur de sécurité, utilisez les fonctions pour modifier les descripteurs de sécurité. Pour obtenir la liste de ces fonctions, consultez la section Voir aussi.

Les applications peuvent utiliser la fonction SetSecurityDescriptorControl pour définir les bits de contrôle liés à l’héritage automatique des ACL.

La valeur de contrôle récupérée par la fonction GetSecurityDescriptorControl peut inclure une combinaison des indicateurs de bits SECURITY_DESCRIPTOR_CONTROL suivants.

Valeur Signification
SE_DACL_AUTO_INHERIT_REQ
0x0100
Indique un descripteur de sécurité requis dans lequel la liste de contrôle d’accès discrétionnaire (DACL) est configurée pour prendre en charge la propagation automatique des entrées de contrôle d’accès héritantes (ACL) vers des objets enfants existants.
Pour les listes de contrôle d’accès (ACL) qui prennent en charge l’héritage automatique, ce bit est toujours défini. Les serveurs protégés peuvent appeler la fonction ConvertToAutoInheritPrivateObjectSecurity pour convertir un descripteur de sécurité et définir cet indicateur.
SE_DACL_AUTO_INHERITED
0x0400
Indique un descripteur de sécurité dans lequel la liste de contrôle d’accès discrétionnaire (DACL) est configurée pour prendre en charge la propagation automatique des entrées de contrôle d’accès héritantes vers des objets enfants existants.
Pour les listes de contrôle d’accès (ACL) qui prennent en charge l’héritage automatique, ce bit est toujours défini. Les serveurs protégés peuvent appeler la fonction ConvertToAutoInheritPrivateObjectSecurity pour convertir un descripteur de sécurité et définir cet indicateur.
SE_DACL_DEFAULTED
0x0008
Indique un descripteur de sécurité avec une liste de contrôle d’accès par défaut. Par exemple, si le créateur d’un objet ne spécifie pas de liste de contrôle d’accès, l’objet reçoit la liste DACL par défaut du jeton d’accès du créateur. Cet indicateur peut affecter la façon dont le système traite la liste de contrôle d’accès en fonction de l’héritage ACE. Le système ignore cet indicateur si l’indicateur SE_DACL_PRESENT n’est pas défini.
Cet indicateur est utilisé pour déterminer la façon dont la liste daCL finale de l’objet doit être calculée et n’est pas stockée physiquement dans le contrôle de descripteur de sécurité de l’objet sécurisable.
Pour définir cet indicateur, utilisez la fonction SetSecurityDescriptorDacl .
SE_DACL_PRESENT
0x0004
Indique un descripteur de sécurité qui a une liste de contrôle d’accès Si cet indicateur n’est pas défini ou si cet indicateur est défini et que la liste de contrôle d’accès est NULL, le descripteur de sécurité autorise l’accès total à tout le monde.
Cet indicateur est utilisé pour contenir les informations de sécurité spécifiées par un appelant jusqu’à ce que le descripteur de sécurité soit associé à un objet sécurisable. Une fois que le descripteur de sécurité est associé à un objet sécurisable, l’indicateur SE_DACL_PRESENT est toujours défini dans le contrôle de descripteur de sécurité.
Pour définir cet indicateur, utilisez la fonction SetSecurityDescriptorDacl .
SE_DACL_PROTECTED
0x1000
Empêche la liste dacl du descripteur de sécurité d’être modifiée par les ACL héritantes. Pour définir cet indicateur, utilisez la fonction SetSecurityDescriptorControl .
SE_GROUP_DEFAULTED
0x0002
Indique que l’identificateur de sécurité (SID) du groupe de descripteur de sécurité a été fourni par un mécanisme par défaut. Cet indicateur peut être utilisé par un gestionnaire de ressources pour identifier les objets dont le groupe de descripteur de sécurité a été défini par un mécanisme par défaut. Pour définir cet indicateur, utilisez la fonction SetSecurityDescriptorGroup .
SE_OWNER_DEFAULTED
0x0001
Indique que le SID du propriétaire du descripteur de sécurité a été fourni par un mécanisme par défaut. Cet indicateur peut être utilisé par un gestionnaire de ressources pour identifier les objets dont le propriétaire a été défini par un mécanisme par défaut. Pour définir cet indicateur, utilisez la fonction SetSecurityDescriptorOwner .
SE_RM_CONTROL_VALID
0x4000
Indique que le contrôle Resource Manager est valide.
SE_SACL_AUTO_INHERIT_REQ
0x0200
Indique un descripteur de sécurité requis dans lequel la liste de contrôle d’accès système (SACL) est configurée pour prendre en charge la propagation automatique des AE héritantes vers des objets enfants existants.
Le système définit ce bit lorsqu’il exécute l’algorithme d’héritage automatique pour l’objet et ses objets enfants existants. Pour convertir un descripteur de sécurité et définir cet indicateur, les serveurs protégés peuvent appeler la fonction ConvertToAutoInheritPrivateObjectSecurity .
SE_SACL_AUTO_INHERITED
0x0800
Indique un descripteur de sécurité dans lequel la liste de contrôle d’accès système (SACL) est configurée pour prendre en charge la propagation automatique des AE héritantes vers des objets enfants existants.
Le système définit ce bit lorsqu’il exécute l’algorithme d’héritage automatique pour l’objet et ses objets enfants existants. Pour convertir un descripteur de sécurité et définir cet indicateur, les serveurs protégés peuvent appeler la fonction ConvertToAutoInheritPrivateObjectSecurity .
SE_SACL_DEFAULTED
0x0008
Un mécanisme par défaut, plutôt que le fournisseur d’origine du descripteur de sécurité, a fourni la liste de contrôle d’accès partagé. Cet indicateur peut affecter la façon dont le système traite la liste de contrôle d’accès partagé, par rapport à l’héritage ACE. Le système ignore cet indicateur si l’indicateur SE_SACL_PRESENT n’est pas défini. Pour définir cet indicateur, utilisez la fonction SetSecurityDescriptorSacl .
SE_SACL_PRESENT
0x0010
Indique un descripteur de sécurité qui a une liste de contrôle d’accès partagé. Pour définir cet indicateur, utilisez la fonction SetSecurityDescriptorSacl .
SE_SACL_PROTECTED
0x2000
Empêche la sacl du descripteur de sécurité d’être modifiée par les ACL héritantes. Pour définir cet indicateur, utilisez la fonction SetSecurityDescriptorControl .
SE_SELF_RELATIVE
0x8000
Indique un descripteur de sécurité auto-relatif. Si cet indicateur n’est pas défini, le descripteur de sécurité est au format absolu. Pour plus d’informations, consultez Les descripteurs de sécurité Absolute et Self-Relative.

Configuration requise

Condition requise Valeur
Client minimal pris en charge
Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge
Windows Server 2003 [applications de bureau uniquement]
En-tête
Winnt.h (inclure Windows.h)

Voir aussi

Access Control de bas niveau

Structures de Access Control de base

ConvertToAutoInheritPrivateObjectSecurity

GetSecurityDescriptorControl

GetSecurityDescriptorDacl

GetSecurityDescriptorGroup

GetSecurityDescriptorOwner

GetSecurityDescriptorSacl

SetSecurityDescriptorControl

SetSecurityDescriptorDacl

SetSecurityDescriptorGroup

SetSecurityDescriptorOwner

SetSecurityDescriptorSacl