Compartir a través de


Apéndice A: SDDL para etiquetas obligatorias

SdDL es una manera cómoda de representar permisos de acceso en un formato de cadena. SDDL define cadenas ACE y cadenas SID para representar campos de entradas de control de acceso. Puede usar las funciones ConvertSecurityDescriptorToStringSecurityDescriptor y ConvertStringSecurityDescriptorToSecurityDescriptor para convertir la etiqueta obligatoria ACE de un binario a un formato de cadena y atrás.

Las definiciones de las cadenas SDDL se encuentran en el archivo de encabezado sddl.h.

La cadena SDDL para una ace de etiqueta obligatoria se define de la siguiente manera:

#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 ejemplo del SDDL para una etiqueta obligatoria ACE en una SACL que especifica NO_WRITE_UP directiva para un nivel de integridad bajo es el siguiente: S:(ML;; NW;;; LW).

Puede usar cadenas SDDL con la función ConvertStringSecurityDescriptorToSecurityDescriptor para inicializar un descriptor de seguridad con una etiqueta obligatoria explícita que se puede usar como parámetro de atributos de seguridad al crear un nuevo objeto, como un archivo, mediante CreateFile.

Nota:

Al usar ConvertSecurityDescriptorToStringSecurityDescriptor, especifique la nueva marca de información de seguridad, LABEL_SECURITY_INFORMATION, para convertir una etiqueta obligatoria explícita en la cadena SDDL equivalente. Sin la marca LABEL_SECURITY_INFORMATION, una etiqueta obligatoria, si existe, no se mostrará en la parte SACL de la cadena.