SECURITY_DESCRIPTOR_CONTROL

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

typedef USHORT SECURITY_DESCRIPTOR_CONTROL, *PSECURITY_DESCRIPTOR_CONTROL;

La valeur de contrôle peut inclure une combinaison des indicateurs de bits SECURITY_DESCRIPTOR_CONTROL suivants :

Valeur Signification
SE_OWNER_DEFAULTED (0x0001) Un mécanisme par défaut, plutôt que le fournisseur d’origine du descripteur de sécurité, a fourni l’identificateur de sécurité du propriétaire (SID) du descripteur de sécurité. Pour définir cet indicateur, utilisez RtlSetOwnerSecurityDescriptor.
SE_GROUP_DEFAULTED (0x0002) Un mécanisme par défaut, plutôt que le fournisseur d’origine du descripteur de sécurité, a fourni le SID de groupe du descripteur de sécurité.
SE_DACL_PRESENT (0x0004) Indique un descripteur de sécurité qui a un DACL. Si cet indicateur n’est pas défini, ou si cet indicateur est défini et que la liste DACL a la valeur NULL, le descripteur de sécurité autorise un accès complet à tout le monde. Cet indicateur permet de conserver 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 RtlSetDaclSecurityDescriptor.
SE_DACL_DEFAULTED (0x0008) Indique un descripteur de sécurité avec un DACL par défaut. Par exemple, si le créateur d’un objet ne spécifie pas de DACL, l’objet reçoit le dacl par défaut du jeton d’accès du créateur. Cet indicateur peut affecter la façon dont le système traite le DACL, en ce qui concerne 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 comment la liste DACL finale sur 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 RtlSetDaclSecurityDescriptor.
SE_SACL_PRESENT (0x0010) Indique un descripteur de sécurité qui a une SACL.
SE_SACL_DEFAULTED (0x0020) Un mécanisme par défaut, plutôt que le fournisseur d’origine du descripteur de sécurité, a fourni la SACL. Cet indicateur peut affecter la façon dont le système traite la SACL, en ce qui concerne l’héritage ACE. Le système ignore cet indicateur si l’indicateur SE_SACL_PRESENT n’est pas défini.
SE_DACL_UNTRUSTED (0x0040) Indique que la liste de contrôle d’accès vers laquelle pointe le dacl du descripteur de sécurité a été fournie par une source non approuvée. Si cet indicateur est défini et qu’un ACE composé est rencontré, le système remplace les SID valides connus par les SID de serveur dans les ACE.
SE_SERVER_SECURITY (0x0080) Demande au fournisseur de l’objet protégé par le descripteur de sécurité dont l’ACL doit être une liste de contrôle d’accès de serveur basée sur la liste de contrôle d’accès d’entrée, quelle que soit sa source (explicite ou par défaut). Pour ce faire, remplacez toutes les acees GRANT par des AE composées accordant le serveur actuel. Cet indicateur n’est significatif que si le sujet emprunte l’identité.
SE_DACL_AUTO_INHERIT_REQ (0x0100) Demande que le fournisseur de l’objet protégé par le descripteur de sécurité propage automatiquement la liste DACL aux objets enfants existants. Si le fournisseur prend en charge l’héritage automatique, il propage la liste DACL à tous les objets enfants existants et définit le bit SE_DACL_AUTO_INHERITED dans les descripteurs de sécurité de l’objet et de ses objets enfants.
SE_SACL_AUTO_INHERIT_REQ (0x0200) Demande que le fournisseur de l’objet protégé par le descripteur de sécurité propage automatiquement la SACL aux objets enfants existants. Si le fournisseur prend en charge l’héritage automatique, il propage la SACL à tous les objets enfants existants et définit le bit SE_SACL_AUTO_INHERITED dans les descripteurs de sécurité de l’objet et de ses objets enfants.
SE_DACL_AUTO_INHERITED (0x0400) À compter de Windows 2000, indique un descripteur de sécurité dans lequel la liste DACL prend en charge la propagation automatique des AE hérités vers des objets enfants existants. Pour les listes de contrôle d’accès Windows 2000 qui prennent en charge l’inhéritance automatique, ce bit est toujours défini. Il est utilisé pour distinguer ces listes de contrôle d’accès des listes de contrôle d’accès Windows NT 4.0 qui ne prennent pas en charge l’itériitance automatique. Ce bit n’est pas défini dans les descripteurs de sécurité pour Windows NT 4.0 et versions antérieures, qui ne prennent pas en charge la propagation automatique des AE hérités.
SE_SACL_AUTO_INHERITED (0x0800) Indique un descripteur de sécurité dans lequel la liste SACL prend en charge la propagation automatique d’AE pouvant être héritées vers des objets enfants existants. Ce bit est défini uniquement si l’algorithme d’héritage automatique a été effectué pour l’objet et ses objets enfants existants. Ce bit n’est pas défini dans les descripteurs de sécurité pour Windows NT 4.0 et versions antérieures, qui ne prenaient pas en charge la propagation automatique des AE hérités.
SE_DACL_PROTECTED (0x1000) Protège la liste dacl du descripteur de sécurité contre la modification par les AE hérités.
SE_SACL_PROTECTED (0x2000) Protège la SACL du descripteur de sécurité contre la modification par des AE pouvant être héritées.
SE_RM_CONTROL_VALID (0x4000) Indique que les bits du gestionnaire de contrôle des ressources dans le descripteur de sécurité sont valides. Les bits de contrôle Resource Manager sont huit bits dans le membre Sbz1 de la structure SECURITY_DESCRIPTOR qui contient des informations spécifiques à l’Resource Manager l’accès à la structure. Pour plus d’informations, consultez le Kit de développement logiciel (SDK) Windows.
SE_SELF_RELATIVE (0x8000) Indique un descripteur de sécurité au format auto-relatif avec toutes les informations de sécurité dans un bloc de mémoire contigu. Si cet indicateur n’est pas défini, le descripteur de sécurité est au format absolu. Pour plus d’informations, consultez la documentation du SDK Windows.

Configuration requise

ntifs.h (include ntifs.h)

ACE

ACL

RtlSetDaclSecurityDescriptor

RtlSetOwnerSecurityDescriptor

SECURITY_DESCRIPTOR