Annexe A : SDDL pour les étiquettes obligatoires
Le SDDL est un moyen pratique de représenter les autorisations d’accès dans un format de chaîne. SDDL définit des chaînes ACE et des chaînes SID pour représenter des champs d’entrées de contrôle d’accès. Vous pouvez utiliser les fonctions ConvertSecurityDescriptorToStringSecurityDescriptor et ConvertStringSecurityDescriptorToSecurityDescriptor pour convertir l’ace d’étiquette obligatoire à partir d’un format binaire en format chaîne et de retour.
Les définitions des chaînes SDDL se trouvent dans le fichier d’en-tête, sddl.h.
La chaîne SDDL d’une étiquette ACE obligatoire est définie comme suit :
#define SDDL_MANDATORY_LABEL TEXT("ML") // Integrity label
The SDDL strings for the mandatory label policy flags, which are in the access mask, are the following:
#define SDDL_NO_WRITE_UP TEXT("NW")
#define SDDL_NO_READ_UP TEXT("NR")
#define SDDL_NO_EXECUTE_UP TEXT("NX")
The SDDL SID strings for the integrity levels are the following:
#define SDDL_ML_LOW TEXT("LW")
#define SDDL_ML_MEDIUM TEXT("ME")
#define SDDL_ML_HIGH TEXT("HI")
#define SDDL_ML_SYSTEM TEXT("SI")
Un exemple de SDDL pour une étiquette ACE obligatoire dans une liste SACL qui spécifie NO_WRITE_UP stratégie pour un niveau d’intégrité faible est le suivant : S:(ML;; ; NW;;; LW).
Vous pouvez utiliser des chaînes SDDL avec la fonction ConvertStringSecurityDescriptorToSecurityDescriptor pour initialiser un descripteur de sécurité avec une étiquette obligatoire explicite qui peut être utilisée comme paramètre d’attributs de sécurité lors de la création d’un objet, tel qu’un fichier, à l’aide de CreateFile.
Notes
Lorsque vous utilisez ConvertSecurityDescriptorToStringSecurityDescriptor, spécifiez le nouvel indicateur d’informations de sécurité, LABEL_SECURITY_INFORMATION, afin de convertir une étiquette obligatoire explicite en chaîne SDDL équivalente. Sans l’indicateur LABEL_SECURITY_INFORMATION, une étiquette obligatoire, si elle existe, n’apparaît pas dans la partie SACL de la chaîne.