Appendice A: SDDL per le etichette obbligatorie
L'SDDL è un modo pratico per rappresentare le autorizzazioni di accesso in un formato stringa. SDDL definisce stringhe ACE e stringhe SID per rappresentare i campi delle voci di controllo di accesso. È possibile usare le funzioni ConvertSecurityDescriptorToStringSecurityDescriptor e ConvertStringSecurityDescriptorToSecurityDescriptor per convertire l'etichetta obbligatoria ACE da un file binario a un formato stringa e indietro.
Le definizioni per le stringhe SDDL si trovano nel file di intestazione sddl.h.
La stringa SDDL per un'etichetta ACE obbligatoria è definita come segue:
#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 esempio di SDDL per un'etichetta obbligatoria ACE in un SACL che specifica NO_WRITE_UP criterio per un livello di integrità basso è il seguente: S:(ML;; NW;;; LW).
È possibile usare stringhe SDDL con la funzione ConvertStringSecurityDescriptorToSecurityDescriptor per inizializzare un descrittore di sicurezza con un'etichetta obbligatoria esplicita che può essere usata come parametro degli attributi di sicurezza durante la creazione di un nuovo oggetto, ad esempio un file, tramite CreateFile.
Nota
Quando si usa ConvertSecurityDescriptorToStringSecurityDescriptor, specificare il nuovo flag di informazioni di sicurezza, LABEL_SECURITY_INFORMATION, per convertire un'etichetta esplicita obbligatoria nell'equivalente della stringa SDDL. Senza il flag LABEL_SECURITY_INFORMATION, un'etichetta obbligatoria, se presente, non verrà visualizzata nella parte SACL della stringa.